PERTEMUAN KE-12 NORMALISASI (II)
LANGKAH - LANGKAH PEMBENTUKAN NORMALISASI: BENTUK TIDAK NORMAL UNNORMALIZED FIRST NORMAL FORM (INF) SECOND NORMAL FORM (2NF) THIRD NORMAL FORM (3NF) FOURTH NORMAL FORM (4NF) BOYCE-CODD NORMAL FORM (BCNF) FIFTH NORMAL FORM (5NF) MENGHILANGKAN ELEMEN DATA BERULANG Menentukan Fungsional Dependency MENGHILANGKAN KETERGANTUNGAN TRANSITIF Menghilangkan kunci kandidat yg bkn merupakan determinan Menghilangkan ketergantungan multi value yg bkn merup. Ketergantungan fungsional Menghilangkan ketergantungan join yg bkn merupakan kunci kandidat
Normalisasi 1. Bentuk tidak normal (Unnormalized Form): Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu. Dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan saat menginput. Contoh data : Tabel SUPPLIER P Status Kota B Qty P1 20 Yogya B1 300 B2 200 B3 400 B4 B5 100 B6 P2 10 Medan P3 P4 Ket : P# : kode supplier Status : kode status kota Kota : nama kota B# : barang yang dipasok Qty : jumlah barang yang di pasok
Normalisasi 2. Bentuk Normal Kesatu (1 NF) a. Suatu relasi 1NF jika dan hanya jika sifat dari setiap relasi atributnya bersifat atomik. b. Tentukan key-nya Tabel SUPPLIER Relasi sudah bersifat atomik dan sudah Ditentukan key-nya. Namun masih mengandung data berulang. Perulangan menyebabkan update anomalies (Insert, Delete, Update)…...? P# Status Kota B# Qty P1 20 Yogya B1 300 B2 200 B3 400 B4 B5 100 B6 P2 10 Medan P3 P4
Normalisasi 3. Bentuk Normal Kedua (2 NF) Sebuah tabel relasional berada pada bentuk normal kedua jika dia berada pada 1NF dan setiap kolom bukan kunci yang sepenuhnya tergantung pada kunci utama. Ini berati bahwa setiap atribut yang bukan kunci harus tergantung pada atribut kunci utama, jika tidak maka atribut harus dipisah dan buat tabel yang lain. Tabel SUPPLIER2 Tabel BARANG P# Status Kota P1 20 Yogya P2 10 Medan P3 P4 P5 30 Bandung P# B# Qty P1 B1 300 B2 200 B3 400 B4 B5 100 B6 P2 P3 P4 Cat : P# kota, status Kota status (P#, B#) Qty Tabel masih mengandung anomali (Insert, Delete)….? Contohnya SUPPLIER2
Normalisasi 4. Bentuk Normal Ketiga (3 NF) Untuk menjadi bentuk normal ketiga maka relasi haruslah dalam bentuk normal kedua dan semua atribute bukan primer tidak punya hubungan yg transitif. Dengan kata lain,setiap atribute bukan kunci haruslah bergantung hanya pada primary key dan pada primary key secara menyeluruh. Perubahan ke 3NF menghasilkan tiga tabel dan dapat dinyatakan dalam “pseudoSQL” sbb : BARANG (P#, B#,Qty) Kunci Utama (P#, B#) Foreign Key (P#) PEMASOK_KOTA (P#, Kota) Kunci utama (P#) Foreign Key (Kota) KOTA_STATUS (kota, status) Kunci utama (kota) PEMASOK_KOTA KOTA_STATUS P# Kota P1 Yogya P2 Medan P3 P4 P5 Bandung Status Kota 10 Medan 20 Yogya 30 Bandung 40 Semarang
Normalisasi 5. Bentuk Normal Boyce-Code (BCNF) BCNF mempunyai paksaan yg lebih kuat dari bentuk normal ketiga. Untuk menjadi BCNF, relasi harus dalam bentuk normal kesatu dan setiap atribute harus bergantung fungsi pada atribute superkey. Pada contoh di bawah ini terdapat relasi seminar dengan ketentuan sbb : kunci primer adalah no_siswa+seminar. Siswa boleh mengambil satu atau dua seminar. Setiap siswa dibimbing oleh salah satu diantara 2 instruktur seminar tsb. Setiap instruktur boleh hanya mengambil satu seminar saja. Pada contoh ini no_siswa dan seminar menunjuk seorang instruktur :
Normalisasi Tabel Seminar No_Siswa Seminar Instruktur 22890100 2281 Ana 22890101 Ina 22890102 2291 Budi 22890109 Bentuk relasi seminar adalah bentuk normal ketiga, tetapi tidak BCNF karena nomor seminar masih bergantung fungsi pada instruktur, jika setiap instruktur dapat mengajar hanya pada satu seminar. Seminar bergantung fungsi pada satu atribute bukan superkey seperti yg disyaratkan oleh BCNF. Maka relasi seminar haruslah dipecah menjadi dua yaitu : No_Siswa Instruktur 22890100 Ana 22890101 Ina 22890102 Budi 22890109 Instruktur Seminar Ana 2281 Ina 2291 Budi
Normalisasi 6. Bentuk Normal Keempat (4NF) Relasi R adalah bentuk 4 NF jika dan hanya jika relasi tersebut juga termasuk BCNF dan semua ketergantungan multivalue adalah juga ketergantungan fungsional 7. Bentuk Normal Kelima (5NF) Sebuah tabel berada pada bentuk normal kelima (5NF) jika dia tidak dapat mempunyai dekomposisi losless menjadi sejumlah tabel lebih kecil. Empat bentuk normal pertama berdasarkan pada konsep ketergantungan fungsional, sedangkan bentuk normal kelima berdasarkan pada konsep ketergantungan gabungan (join dependence). Ketergantungan gabungan berarti bahwa sebuah tabel, setelah didekomposisi menjadi tiga atau lebih tabel yang lebih kecil, harus dapat digabung kembali untuk membentuk tabel asal.