Sabtu, 31 Januari 2009

Perancangan Database (Normalisasi)

Normalisasi bisa juga disebut Well Structure Relation atau proses pengelompokan atribut2 dari suatu relasi.

Ada beberapa bentuk dlm normalisasi, yaitu Unnormalized Form, First Normal Form(1NF), Second Normal Form(2NF), Third Normal Form(3NF) dan Boyce-Codd Normal Form(BNF). Disini saya akan memberi contoh bentuk2 normalisasi pada suatu tabel.

Bentuk Unnormalized Form


  • Value pada atribut kd_matkul lebih dari 1, itulah mengapa masih disebut Unnormalized Form

Bentuk 1NF


  • Value pada masing2 atribut hanya satu

Bentuk 2NF

Memiliki ketergantungan fungsional

a.Tabel mhs1

b.Tabel mhs2

c.Tabel mhs3

  • Pada bentuk 1NF,masih terdapat ketidaktergantungan thd beberapa atribut(misal: ttl tidak bergantung pada kd_matkul), sehingga tabel di pecah menjadi 3 bagian agar tabel2 tsb dpt memiliki ketergantungan thd atribut2nya(misal: npm bergantung pada nama_mhs, ttl).

Bentuk 3NF

Tabel mhs1 dan mhs2 sudah memenuhi kriteria bentuk 3NF, namun tidak untuk tabel mhs3. Karena bila kita ingin merubah value bobot dari nilai, maka kita akan melakukan perubahan pada banyak record/baris yang lainnya. Sehingga pada bentuk 3NF, tabel mhs3 dapat dipecah lagi menjadi 2 tabel agar memenuhi kriteria bentuk 3NF.

a. Tabel mhs3a

b. Tabel mhs3b

Bentuk Boyce-Codd Normal Form

Dalam kasus ini,sebenarnya pada bentuk 3nf pun sudah memenuhi kriteria sebagai tabel relasional yang dapat diimplementasikan pada RDBMS, tidak harus dalam bentuk BNF. Jadi bentuk BNF pun tidak mutlak dijadikan sebagai bentuk dalam RDBMS.

Bentuk BNF memiliki syarat harus memenuhi syarat Ketergantungan Fungsional dan Ketergantungan Transitif

Tidak ada komentar: