Minggu, 14 April 2013

Pengertian DCL pada SQL

Postingan kali ini masih berhubungan dengan Database dan sistem basis data, cuma kali ini akan membahas tentang pengertian dan penjelasan DCL (Data Control Language), bagaimana teknik normalisasi, pengertian dan penjelasan teknik normalisasi, contoh perintah perintah pada DCL (Data Control Language), contoh kasus pada teknik normalisasi. berikut akan dijelaskan dari pembahasan diatas :

Perintah perintah pada DCL

Sebelum kita mengenal apa saja perintah perintah pada DCL, sebaiknya kita mengenal dulu tentang pengertian dan penjelasan DCL. DCL adalah perintah-perintah yang digunakan untuk membantu mengontrol keamanan setiap database atau sebagian isi dari database dengan membuat hak – hak akses tertentu bagi setiap user.
Perintah tersebut adalah :  
a. Grant
b. Revoke

Penjelasan tentang Grant 

- GRANT : Digunakan untuk memberikan hak akses oleh administrator (pemilik utama) server kepada user (pengguna biasa). Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapus (DELETE), mengubah (UPDATE), dan hak khusus berkenaan dengan sistem databasenya.
- Grant berfungsi juga untuk membuat user baru dan memberikan hak istimewa.
- Grant digunakan untuk  memberikan privilege kepada tabel yang didefinisikan kepada pemakai lain.

- Privilege untuk pemakai dalam perintah grant didefinisikan dengan  menggunakan nama-nama privilege. Nama privilege memudahkan admin untuk dapat memberikan privilege tanpa harus tahu apa  nama field dan tabel yang harus diisi.
- Perintah grant secara otomatis akan menambah data pemakai apabila  data nama pemakai yang disertakan pada perintah tersebut belum ada  dalam tabel user. Perintah grant memudahkan administrator untuk tidak  perlu melakukan perintah pendefinisian privilege dengan menggunakan  sql.  Karena dengan menggunakan sql, kita harus hafal nama tabel yang  harus diisi, field apa saja yang harus diisi, jumlah field yang harus diisi.

Sintak Umum :  GRANT hak_akses ON nama_tabel TO pemakai;
  GRANT ALL PRIVILEGES ON database_name.* TO ‘myuser’
IDENTIFIED BY ‘mypassword’;
Contoh Penggunaan :
1. GRANT SELECT ON Point_Of_Sales.jenis TO Febe;
2. GRANT SELECT ON Point_Of_Sales.jenisTO Winda;
3. GRANT SELECT ON Point_Of_Sales.item TO Elfrida;
4. GRANT ALL PRIVILEGES ON Point_Of_Sales.User TO Admin;
5. GRANT ALL ON Point_Of_Sales.jualDetail TO Admin
6. SHOW GRANTS FOR root@localhost;
7. SHOW GRANTS FOR Admin;
8. GRANT SELECT,INSERT ON Point_Of_Sales.jualDetail TO kasir;
9. GRANT SELECT(Kode,Nama) ON Point_Of_Sales.jenis TO Elfrida;
10. GRANT UPDATE (kodeItem,NmItem,kategori,Harga) ON Point_Of_Sales.item TO Elfrida;

Penjelasan tentang Revoke

REVOKE : Perintah ini memiliki kegunaan terbalik dengan GRANT, yaitu untuk menghilangkan hak akses yang telah diberikan kepada user oleh administrator atau mencabut hak-hak dari seorang user terhadap database tertentu atau sebagian isi dari database.

Sintak Umum Revoke : 

REVOKE hak_akses ON nama_tabel FROM                     namaAccount@namaHost;

Menghapus batasan hak akses utk database & tabel :

REVOKE hak_akses ON nama_database.nama_tabel
FROM user;

Menghapus batasan hak akses untuk kolom tertentu :

REVOKE hak_akses(field1,field2, field3,…) ON 
nama_database.nama_tabel FROM user
Penulisan perintah revoke :

- Hak akses(field) : kita harus memberikan sedikitnya satu hak akses.  Untuk setiap hak akses yang diberikan, dapat juga diberikan daftar field  yang diletakkan dalam kurung, dan dipisahkan dengan tanda koma. Contoh : REVOKE select (nim, nama), update, insert(nim), …
- NamaTabel : merupakan nama tabel yang dikenal hak akses tersebut, harus ada sedikitnya satu nama tabel. Dan dapat menggunakan simbol asterik (*) untuk mewakili semua tabel pada database aktif. Penulisan namaTabel dapat juga diikuti oleh nama database diikuti nama tabel yang dipisahkan dengan tanda titik. Menggunakan simbol *.* berarti semua  database dan semua tabel yang dikenai hak akses tersebut.

Perintah-perintah lain yang termasuk dalam data control language adalah :
a. Commit
Merupakan perintah yang digunakan untuk memindahkan transaksi dari memory pemrosesan ke database atau menyimpan secara permanen perubahan-perubahan kedalam database.
b. Rollback
Merupakan perintah yang digunakan untuk membatalkan transaksi yang belum di commit atau membatalkan perubahan-perubahan terakhir dari perintah commit/rollback terakhir.

Contoh normalisasi pada kasus lain

Sebelum mengetahui contoh normalisasi pada kasus kasus yang nyata, baiknya kita harus mengetahui dahulu pengertian dan penjelasan teknik normalisasi itu.

Teknik Normalisasi merupakan sebuah cara untuk membuat database dengan terstruktur dan terorganisasi supaya data terisimpan dalam tabel dengan baik dan efisien tanpa adanya pengulangan data(redudansi data).
Istilah normalisasi dapat disederhanakan menjadi memecah relasi menjadi beberapa tabel untuk mendapat database yang optimal

Contoh Normalisasi Pada Kasus Lainnya,

Memiliki field dengan banyak data / tidak tunggal

no_id tanggal nama_mahasiswa buku
1 06/03/2012 Achmad program, desain, animasi
2 06/03/2012 Aloy blog, program, musik
3 06/03/2012 Budi animasi, program, video
4 06/03/2012 Charlie website, audio

Contoh teknik normalisasi sampai ketiga


Teknik Normalisasi Pertama :
Membuat dan menentukan primary key pada tablenya, supaya setiap data atau field field lainya tergantung hanya pada satu field yaitu yang dijadikan primary key. pada kasus ini field nim yang akan dijadikan primary key bukan id_buku atau id_penerbit.
Keterangan : field yang dicetak miring yaitu primary key

tbl_peminjaman
nim nama_mahasiswa id_buku judul_buku id_penerbit penerbit
4311122006 Malik Aslam 1221 program C++ 35 Alex W
4311122007 M. fadli 1322 membuat animasi 55 Dian Sastro
4311122025 Muharam 1422 belajar program 23 Wiji S
4311122008 Nabila 1321 audio video 55 Dian Sastro
4311122014 Tiara Rahmawati 1221 program C++ 35 Alex W

Teknik Normalisasi Kedua :
lalu pada teknik yang kedua, field field yang tergantung pada satu field harus dipisahkan, seperti pada contoh field judul_buku tergantung pada field id_buku dan penerbit tergantung dengan field id_penerbit, maka dari itu field tersebut di pisahkan dengan tabel peminjaman, sehingga harus dibuat tabel yang terpisah.

tbl_peminjaman
nim nama_mahasiswa id_buku id_penerbit
4311122006 Malik Aslam 1221 35
4311122007 M. fadli 1322 55
4311122025 Muharam 1422 23
4311122008 Nabila 1321 55
4311122014 Tiara Rahmawati 1221 35

tbl_buku
id_buku judul_buku
1221 program C++
1322 membuat animasi
1422 belajar program
1321 audio video
1221 belajar program

tbl_penerbit
id_penerbit penerbit
35 Alex W
55 Dian Sastro
23 Wiji S
55 Dian Sastro
35 Alex W

Teknik Normalisasi Ketiga :
selanjutnya teknik normalisasi ketiga, setelah field field dipisah sehingga dibuat table yang baru, maka waktunya pembenahan data. Diketahui sebelumnya pada tabel buku record kelima terdapat keganjilan data yang tidak sesuai dengan field id_bukunya dan pada tabel penerbit pun terdapat redudansi data atau pengulangan data, maka dari itu tabel buku dan tabel penerbit harus diperbaiki dan diubah sehingga tidak terjadinya kesalahan dalam penyimpanan data, seperti pada contoh di bawah ini :

tbl_buku
id_buku judul_buku
1221 program C++
1322 membuat animasi
1422 belajar program
1321 audio video

tbl_penerbit
id_penerbit penerbit
35 Alex W
55 Dian Sastro
23 Wiji S

kurang lebih seperti itu cara teknik normalisasi sampai ketiga pada database, sebenarnya masih banyak lagi contoh teknik normalisasi pada database, seperti normalisasi Boyce-Codd, normalisasi keempat dan lain lain, hanya yang lainnya itu jarang di gunakan, dan yang digunakan hanya normalisasi sampai ketiga saja.

Tidak ada komentar:

Posting Komentar