Selasa, 27 Maret 2012

Normalisasi pada database sederhana

     Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data, teknik pengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi). Normalisasi memiliki beberapa tahapan, antara lain :
  • Normalisasi Pertama atau 1st Normal memiliki beberapa aturan,yaitu mendefinisikan atribut kunci, tidak adanya group berulang, dan semua atribut bukan kunci tergantung pada atribut kunci 
  • Normalisasi Kedua atau 2nd Normal Form memiliki beberapa aturan, antara lain harus sudah memenuhi dalam bentuk normal kesatu, sudah tidak ada ketergantungan parsial, dan seluruh field hanya tergantung pada sebagian field kunci. 
  •  Normalisasi Ketiga (3rd Normal Form) memiliki beberapa aturan, yaitu harus sudah berada dalam bentuk normal kedua, sudah tidak adanya ketergantungan transitif (dimana field bukan kunci tergantung pada field bukan kunci lainnya), dan bentuk Normal seharusnya berada dalam bentuk normal tertinggi dan bergerak dari bentuk normal satu dan seterusnya untuk setiap kali membatasi hanya satu jenis redudansi. Keseluruhannya cuma ada lima bentuk normal. Tiga bentuk normal pertama menekankan redudansi yang muncul dari Function Dependencies sedangkan bentuk keempat dan kelima menekankan redudansi yang muncul dari kasus Multi Valued Dependencies. 
     Disini saya akan menampilkan salah satu contoh database yang akan dinormalisasi yaitu database rental mobil dan dapat dilihat dibawah ini :






 


Tabel tersebut akan dinormalisasi dengan tiga bentuk seperti yang sudah dijelaskan diatas :
1.  Normalisasi pertama
     Solusi dalam tabel ini adalah dengan menghilangkan duplikasi dan menjadikan field-field menjadi tergantung pada satu atau beberapa field, tetapi bukan seluruhnya. Disini field yang akan dijadikan primary key antara lain Id Penyewa dan Id Merk yang ditandai dengan model huruf italic










Dan kita dapat dari tabel diatas adalah adanya bebarapa kesalahan pada kolom merk mobil yang disewa karena memungkinkan adanya redudansi (pengulangan data)

2.  Normalisasi kedua 
     Field - field yang tergantung pada satu field haruslah dipisah dengan tepat dan harus berelasi, misalnya  Id Penyewa menjelaskan Nama penyewa, Id merk, tingkatan harga, dan Harga Sewa per Hari. Lalu Id Merk menjelaskan Merk Mobil yang disewa dan Merk Mobil yang disewa menjelaskan Nama Mobil yang disewa dan Tingkatan harga. 
  Dan Kita dapat bahwa tabel tersebut masih belum sempurna dikarenakan masih ada anomali data


3.  Normalisasi Ketiga
     Pada normalisasi ini kita mencari solusi dengan cara mencari hubungan transitif dimana tabel non-key harus berhungan dengan tabel non-key lainnya. maka didapat :
     Dan kita dapat bahwa tabel ini sudah dapat digunakan dan diimplementasikan karena semua tabel sudah tersusun dan terelasi dengan baik.
     Ini adalah salah satu contoh normalisasi dengan tiga tahap, Sebenarnya masih ada lagi bentuk normalisasi yang lain, yi Normalisasi Boyce-Codd dan normalisasi keempat, hanya sj sangat jarang dipakai. Pada kebanyakan kasus, normalisasi hanya sampai ketiga. 

5 komentar: