Berikut adalah table yang akan kita gunakan
Ini adalah unormalized table data yang akan kita normalkan, langkah-langkahnya adalah sebagai berikut:
1st Normal Form (1NF)
• Merubah dari bentuk tabel tidak normal (unnormalized table) menjadi bentuk normal pertama (1NF).
• Suatu relation R disebut 1st NF jika dan hanya jika semua attribute value-nya simple/atomic(tidak boleh ada attribute yang composit & multivalue)
• Tujuan 1NF adalah:
– Membuang adanya pengulangan (Redudansi) data,
– Menghindari adanya pencatatan Null Value, dan
– Menjaga setiap entry data dr relasi (perpotongan bariskolom) memiliki maksimal satu nilai tunggal.
• Beberapa table dapat mengandung partial dependency
Pada table data kursus ini, untuk 1NF, kita menghilangkan adanya pencatatan null value serta membuang adanya pengulangan
2st Normal Form (2NF)
• Sudah dalam bentuk / lolos 1NF.
• Dibuat berdasarkan FULL FUNCTIONAL DEPENDENCY (ketergantungan fungsional penuh)
• Normalisasi 2NF: jika tabel berada dalam bentuk normal pertama (1NF) dan setiap atribut bukan kunci (bukan PK) bergantung penuh (FULL DEPENDENT) pada kunci primer (PK).
• Sehingga tidak ada atribut bukan kunci yang bergantung pada sebagian (parsial) kunci primer.
Pada tahap 2NF kita mencari ketergantungan fungsional dari table data kursus
IDSiswa -> NamaSiswa, Telephone, TanggalLahir (table siswa)
KursusID -> Kursus, SKS (table pelajaran)
IDsiswa,Kursus-> Nilai, bobot (table nilai)
Maka dari itu kita membuat 3 tabel sesuai ketergantungan dependensinya yaitu table siswa, table pelajaran, dan table nilai
3rd Normal Form (3NF)
• Suatu relasi R disebut normal ke tiga (3rd NF) jika sudah memenuhi dalam bentuk normal ke dua (2nd NF) dan tidak dijumpai adanya ketergantungan TRANSITIF (Transitive Dependency).
• Kebergantungan transitif (transitive dependency) adalah ketergantungan fungsional antara 2 (atau lebih) atribut bukan key (kunci/PK).
Syarat 3NF:
• Harus berada dalam bentuk normal ke dua (2NF).
• Ketergantungan field-field yang bukan PK adalah harus secara mutlak (full-dependent). Artinya harus tidak ada transitive dependency (ketergantungan secara transitif).
Pada tahap 2NF kita masih menjumpai masalah yaitu
Nilai->bobot
Maka table nilai harus di bagi dua menjadi table nilai dan table bobot.
Sekian postingan saya kali ini semoga bermanfaat