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)