Senin, 26 November 2012

Normalisasi



•      Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.
•      Tahap Normalisasi dimulai dari tahap paling ringan (1NF) hingga paling ketat (5NF)
•      Biasanya hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik. 

Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 4 kriteria sbb:
  1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya  harus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis.
  2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
  3. Tidak melanggar Boyce-Code Normal Form (BCNF) (-akan dijelaskan kemudian-)
  4. Jika tidak terpenuhi BCNF, minmal tidak melanggar Normal Tahap Tiga.
    Tabel 
     
    Functional Dependency 

    Ø  Notasi: A -> B                                                   
    A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama.
    Ø  Notasi: A ->  B atau  A   ->  B
    Adalah kebalikan dari notasi sebelumnya.

    Contoh Tabel Nilai 


    Functional Dependency dari Tabel Nilai 

    Ø  Nrp -> namaMhs
    Karena untuk setiap nilai pada Nrp yang sama, maka nilai pada namaMhs juga sama.
    Ø  {Namakul, Nrp} -> NiHuruf
    Karena attribut Nihuruf tergantung pada Namakul dan Nrp secara bersama-sama. Dalam arti lain untuk Namakul dan Nrp yang sama, maka NiHuruf juga sama, karena Namakul dan nrp merupakan key (bersifat unik).
    Ø  NamaKul     ->    NIM         
    Ø  NIM   ->   NiHuruf

     
    Tahap - Tahap Normalisasi

    •      Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal.
    •      Bentuk normal adalah suatu aturan yang dikenakan pada satu atau lebih tabel/relasi dalam basis data dan harus dipenuhi oleh tabel/relasi tersebut pada level-level normalisasi.
    •      Tahapannya;
    •      Un-Normalized Form
    •      First Normalized Form
    •      Seconds Normalized Form
    •      Thirds Normalized Form
    •      Boice-Code Normalized Form à BCNF
    •      MultiValued Dependency dan Forth Normalized Form
    •      Join Dependency dan Fifth Normalized Form à 5NF atau PJ/NF
    •      OverNormalisasi


    Bentuk - Bentuk Normal

    1. Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)
    2. Bentuk Normal Tahap Kedua (2nd Normal Form / 2NF)
    3. Bentuk Normal Tahap (3rd Normal Form / 3NF)
    4. Boyce-Code Normal Form (BCNF)
    5. Bentuk Normal Tahap (4th Normal Form / 4NF)
    6. Bentuk Normal Tahap (5th Normal Form / 5NF)