Normalisasi Perancangan Basis Data

 Normalisasi Perancangan Basis Data

Normalisasi adalah sebuah teknik dalam logical desain sebuah basis data yang mengelompokkan atribut dari suatu relasi sehingga membentuk suatu relasi yang baik.

Tujuan Normalisasi

  • Untuk menghilangkan kerangkapan data
  • Untuk mengurangi kompleksitas
  • Untuk mempermudah pemodifikasian data

Tahapan Normalisasi

dimulai dari tahap yang paling ringan (1NF) hingga paling ketat (5NF).Biasanya hanya sampai tingkat (3NF) atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik.

Urutannya : 1NF,2NF,3NF,BCNF,4NF,5NF


Jika kriteria ketinga BCNF tidak dapat terpenuhi,maka paling tidak tabel tersebut tidak melanggar bentuk normal tahap ketiga 3NF.


Tabel Universal

Sebuah tabel yang merangkum semua kelompok data yang saling berhubungan,bukan merupakan tabel yang baik


Bentuk-bentuk Normalisasi

  • Bentuk normal tahap pertama (1NF)
  • Bentuk normal tahap kedua (2NF)
  • Bentuk normal tahap ketiga (3NF)
  • Boycode normal form (BCNF)
  • Bentuk normal tahap keempat (4NF)
  • Bentuk normal tahap kelima (5NF)

Bentuk normal tahap pertama

Aturan :

  • Tidak adanya atribut multivalue,komposit dan kombinasi lainnya
  • Mendefinisikan atribut kunci
  • Setiap atribut dalam tabel tersebut harus bernilai atomic

Bentuk normal tahap kedua

Aturan :

  • Sudah memenuhi dalam bentuk normal kesatu (1NF) 
  • Semua atribut bukan kunci hanya boleh tergantung pada atribut kunci
  • Jika ada ketergantungan parsial maka atribut tersebut harus dipisah pada tabel yang lain 
  • Perlu ada tabel penghubung ataupun kehadiran foreign key bagi atribut-atribut yang telah dipisah tadi

Bentuk normal tahap ketiga

Aturan :

  • Sudah berada dalam bentuk normal kedua (2NF) 
  • Tidak ada ketergantungan transitif (dimana atribut bukan kunci tergantung pada atribut bukan kunci Iainnya).

Boycode normal form

Aturan :

  • Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap setiap atribut atau gabungan atribut dalam bentuk: X Y maka X adalah super key 
  • tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi 
  • Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF . Perbedaannya, untuk functional dependency X A, BCNF tidak membolehkan A sebagai bagian dari primary key.

Bentuk normal tahap keempat

Aturan :

  • Bentuk normal tahap keempat terpenuhi dalam sebuah tabel jika telah memenuhi  bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalue atribut
  • Untuk setiap multivalue depedencies juga harus functional depedencies.

Bentuk normal tahap kelima

Aturan :

  • Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yg lebih kecil. 
  • Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula

Studi kasus normalisasi data

Untuk mendapatkan hasil yang paling normal, maka proses normalisasi dimulai dari normal pertama. Field-field tabel di atas yang merupakan group berulang : NoPegawai, NamaPegawai, Golongan, BesarGaji.

Normalisasi pertama

Solusinya hilangkan duplikasi dengan mencari ketergantungan parsial. menjadikan field-field menjadi tergantung pada satu atau beberapa field. Karena yang dapat dijadikan kunci adalah NoProyek dan NoPegawai, maka langkah kemudian dicari field-field mana yang tergantung pada NoProyek dan mana yang tergantung pada NoPegawai.

Normalisasi kedua

Field-field yang tergantung pada satu field haruslah dipisah dengan tepat, misalnya NoProyek menjelaskan NamaProyek dan NoPegawai menjelaskan NamaPegawai, Golongan dan BesarGaji

Normalisasi ketiga

Pada tabel diatas masih terdapat masalah, bahwa BesarGaji tergantung kepada Golongan nya. Padahal disini Golongan bukan merupakan field kunci.
Artinya kita harus memisahkan field non-kunci Golongan dan BesarGaji yang tadinya tergantung secara parsial kepada field kunci NoPegawai, untuk menghilangkan ketergantungan transitif.


Komentar

Postingan populer dari blog ini

Cara Tethering Hotspot Http Injector tanpa menggunakan proxy (Android ke PC)

Mengenal apa itu Sistem Informasi

Pengertian Sistem Informasi dan Teknologi Informasi