DCL dan Normalisasi

27 Mar 2012

Hai,, haiii,,, apa kabar,, bosan dan jenuh dengan tugas kuliah yang sangat - sangat menumpuk, sebaiknya kita blogging, biar fresh lagi,, hehe,, okee,, kali ini gw bakalam posting.. hmmm temannya gak jauh jauh dari basis data lagi,, ya basis data, kali ini kita akan berkonsentrasi kepada DCL (Data Control Language) dan Normalisasi basis data. okeehh deehh dari pada kita lama - lama berbasa basi,, mending kita langsung ke pembahasan.

Data Control Language

Data Control Language atau disingkat DCL adalah sebuah perintah atau sintak yang digunakan atau dipergunakan untuk mengontrol hak akses (privillage) atas sebuah database, dimana Administrator dapat memberikan akses kepada user - user dan membatasinya, atau bahkan mencabut hak - hak tersebut. Ada dua perintah utama dalam penanganan hak akses, yaitu : Grant dan Revoke.

  • Grant

    Adalah perintah yang digunakan untuk memberikan hak akses terhadap User (Pengguna). Hak akses ini diberikan oleh Administrator, Hak akses yang diberikan meliputi hak membuat (CREATE), mengambil / request (SELECT), memanipulasi dan mengupdate (UPDATE), dan menghapus (DELETE). Selain hal itu Grant juga bisa digunakan untuk menambah user baru dan memberikan hak aksesnya terhadap suatu database. Sintak umum yang digunakan adalah sebagai berikut.


    GRANT hak_akses ON tabel TO user IDENTIFIED BY password;

  • Revoke

    Kebalikan dari GRANT, REVOKE digunakan untuk mencabut atau menghilangkan hak akses dari user atas suatu database, baik keseluruhan atau sebagian dari database tersebut. Berikut adalah sintak umum dari Revoke.



    REVOKE hak_akses ON tabel FROM account@host;

    atau,

    REVOKE hak_akses ON database.tabel FROM user;

    atau,

    REVOKE hak_akses(field1,field2, field3,) ON database.tabel FROM user;

Selain dari dua perintah diatas, masih ada dua perintah lagi yang termasuk kedalam DCL, yaitu Commit dan Rollback., Perintah Commit merupakan perintah yang digunakan memindahkan transaksi dalam pemrosesan ke dalam database dan menyimpannya secara permanent dalam komputer, sedangankan Rollback, merupakan perintah yang digunakan untuk membantalkan transaksi yang belum di commit, atau membatalkan perubahan yang akan dilakukan.

Teknik Normalisasi

Okehhh sekarang kita masuk kedalam tahap normalisasi. Jadi dalam pembangunan database yang baik dan benar haruslah memiliki data yang terstruktur rapih dan lebih jelas, dimana data dikelompokan dari bagian yang paling kecil hingga terbesar, dan terdapat satu data yang menjadi pembeda atau unique untuk dijadikan acuan data lainnya yang disebut primary key, dimana data itu tidak boleh sama satu sama lainnya.

Normalisasi adalah sebuah teknik dalam Logical Design basis data. Teknik ini mengelompokan atribut dari suatu relasi data yang tidak terstruktur menjadi relasi yang tertata rapih dan terstruktur, dan tidak terjadinya redudansi (perulangan data). Nahh berikut kita akan mencoba melakukan teknik Normalisasi dari data berikut.









Id Dosen
Dosen
Matkul
Id Matkul
NIM
Mahasiswa
A01
Pak Mauldy
Komp Grafis
1101
43102
Amri Hidayatulloh
43126
Dian Novita Addila
Program Logic
1102
43120
Dwi Ayu Nurani
43002
Amri Hidayatulloh
A02
Pak Bachris
Basis Data
1103
43122
Abed Nego Pradipta
43101
Afiqah Arief Rahman
A03
Pak Cheirul
Fund Linux
1104
43111
Rahman Mukhlis
Operating System
1105
43126
Dian Novita Addila

Teknik normalisasi dibagi menjadi tiga tahap, yaitu Normalisasi Pertama hingga ketiga, kita akan melakukan tiga tahap tersebut menggunakan tabel data yang ada diatas. So lets beginnnn !

Normalisasi Pertama

Normalisasi tahap ini yaitu kita harus mendefinisikan Primary key, dan atribut lainnya mengikuti atribut Primary key yang telah ditentukan, pada kasus ini, Nim kita gunakan sebagai atribut kunci / primary key dari tahap ini. Jadi sebagai berikut :









NIM
Mahasiswa
Id Matkul
Matkul
Id Dosen
Dosen
43102
Amri Hidayatulloh
1101
Komp Grafis
A01
Pak Mauldy
43102
Amri Hidayatulloh
1102
Program Logic
A01
Pak Mauldy
43126
Dian Novita Addila
1101
Komp Grafis
A01
Pak Mauldy
43126
Dian Novita Addila
1105
Operating System
A03
Pak Chaerul
43120
Dwi Ayu Nurani
1102
Program Logic
A01
Pak Mauldy
43122
Abed Nego Pradipta
1103
Basis Data
A02
Pak Bachris
43101
Afiqah Arief Rahman
1103
Basis Data
A02
Pak Bachris
43111
Rahman Mukhlis
1104
Fund Linux
A03
Pak Chaerul

Normalisasi Kedua

Setelah selesai dengan tahap sebelumnya. sekarang kita akan pisah atribut - atribut kedalam tabel yang berbeda agar tidak terjadi ketergantungan parsial, dan terjadinya redudansi, dan semua tergantuk terhadap field kunci masing - masing. Sebagai berikut









NIM
Mahasiswa
Id Matkul
43102
Amri Hidayatulloh
1101
43102
Amri Hidayatulloh
1102
43126
Dian Novita Addila
1101
43126
Dian Novita Addila
1105
43120
Dwi Ayu Nurani
1102
43122
Abed Nego Pradipta
1103
43101
Afiqah Arief Rahman
1103
43111
Rahman Mukhlis
1104










Id Matkul
Matkul
Id Dosen
1101
Komp Grafis
A01
1102
Program Logic
A01
1101
Komp Grafis
A01
1105
Operating System
A03
1102
Program Logic
A01
1103
Basis Data
A02
1103
Basis Data
A02
1104
Fund Linux
A03










Id Dosen
Dosen
A01
Pak Mauldy
A01
Pak Mauldy
A01
Pak Mauldy
A03
Pak Chaerul
A01
Pak Mauldy
A02
Pak Bachris
A02
Pak Bachris
A03
Pak Chaerul

Normalisasi Ketiga

Nahhh sekarang adalah normalisasi tahap akhir, dimana sudah tidak tergantung secara parsial kedalam satu bentuk, dan sekarang kita akan menekan kembali redudansi yang tidak perlu, jadi sebagai berikut









NIM
Mahasiswa
Id Matkul
43102
Amri Hidayatulloh
1101
43102
Amri Hidayatulloh
1102
43126
Dian Novita Addila
1101
43126
Dian Novita Addila
1105
43120
Dwi Ayu Nurani
1102
43122
Abed Nego Pradipta
1103
43101
Afiqah Arief Rahman
1103
43111
Rahman Mukhlis
1104






Id Matkul
Matkul
Id Dosen
1101
Komp Grafis
A01
1102
Program Logic
A01
1103
Basis Data
A02
1104
Fund Linux
A03
1105
Operating System
A03





Id Dosen
Dosen
A01
Pak Mauldy
A02
Pak Bachris
A03
Pak Chaerul

Okeehhh udah cukup sampe sini aja, nahh moga - moga bermanfaat, doain biar postingan gw dapet nilai bagu hehee,, oke dehh keep on writting guys :D


TAGS mysql mysql command line teknik normalisasi normalisasi basis data normalisasi database dcl data control language


-

Author

Follow Me