BCNF BoyceCodd Normal Form BCNF BCNF ditemukan oleh
BCNF
Boyce-Codd Normal Form (BCNF) • BCNF ditemukan oleh: R. F. Boyce dan E. F. Codd • Suatu relasi R dikatakan dalam bentuk BCNF: jika dan hanya jika setiap Atribut Kunci (Key) pada suatu relasi adalah Kunci Kandidat • Kunci Kandidat adalah atribut-atribut dari entitas yang mungkin dapat digunakan sebagai kunci (key) atribut. • BCNF hampir sama dengan 3 NF, dengan kata lain setiap BCNF adalah 3 NF.
Contoh BCNF • Normal II (2 NF) : • Normal III (3 NF) atau BCNF
Boyce-Codd Normal Form (BCNF) Books Students sid name age bid title year 53666 Jones 18 B 001 My. SQL 2002 53668 Smith 18 B 002 Algorithm 2003 53669 Melissa 17 B 003 Visual Foxpro 6. 0 2003 53670 Hilden 19 B 004 Visual basic 6. 0 2005 Students=(sid, name, age) FD : sid name, age • BCNF, sebab sid superkey Pinjam idpinjam sid bid date P-01 53666 B 002 10/11/2005 P-02 53668 B 001 10/11/2005 P-03 53668 B 004 11/12/2005 P-04 53670 B 002 14/11/2005 Books=(bid, title, year) FD : bid title, year • BCNF, sebab bid superkey Pinjam=(idpinjam, sid, bid, date) FD : idpinjam bid, date • Bukan BCNF, sebab idpinjam bukan superkey idpinjam sid
Boyce-Codd Normal Form (BCNF) Pinjam idpinjam sid bid date P-01 53666 B 002 10/11/2005 P-02 53668 B 001 10/11/2005 P-03 53668 B 004 11/12/2005 P-04 53670 B 002 14/11/2005 Didekomposisi menjadi : Pinjam 1 Pinjam 2 idpinjam sid idpinjam bid date P-01 53666 P-01 B 002 10/11/2005 P-02 53668 P-02 B 001 10/11/2005 P-03 53668 P-03 B 004 11/12/2005 P-04 53670 P-04 B 002 14/11/2005 FD trivial BCNF idpinjam bid, date idpinjam superkey BCNF
Boyce-Codd Normal Form (BCNF) Comparison of BCNF And 3 NF o Contoh kasus redundansi pada 3 NF Jadwal = (Nim, Modul, Dosen) FD = {Dosen Modul} Relasi ini memenuhi 3 NF, karena tidak ada ketergantungan transitif. Tetapi tidak memenuhi BCNF karena dari Dosen Modul, maka Dosen bukan candidate key. Alternatif yang dilakukan adalah dekomposisi tabel menjadi : NIM Modul Dosen NIM Dosen Modul P 11. 2004. 0129 VB. Net Ajib P 11. 2004. 0129 Ajib VB. Net P 11. 2004. 0130 Prolog Aris P 11. 2004. 0130 Aris Prolog P 11. 2004. 0129 VB Net Ajib P 11. 2004. 0129 Ajib Jono Prolog P 11. 2004. 0201 VB Net Budi P 11. 2004. 0201 Budi VB. Net P 11. 2004. 0250 Prolog Jono P 11. 2004. 0250 Jono P 11. 2004. 0260 VB. Net Budi P 11. 2004. 0260 Budi NOT BCNF
BENTUK NORMAL KEEMPAT (4 NF) • Bentuk normal 4 NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute • Untuk setiap multivalued dependencies merupakan functional dependencies (MVD) juga harus
Contoh Misal, tabel berikut tidak memenuhi 4 NF: Setiap employee dapat bekerja di lebih dari 1 project dan dapat memiliki lebih dari satu skill. Untuk kasus seperti ini tabel tersebut harus di-dekomposisi menjadi: (Employee, Project) (Employee, Skill)
BENTUK NORMAL KELIMA (5 NF) • Bentuk normal 5 NF terpenuhi jika tidak dapat memiliki sebuah loss less decomposition menjadi tabel-tabel yg lebih kecil. • Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5 NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula
Unnormalisasi • Langkah pertama dalam melakukan normalisasi data adalah dengan membentuk contoh data tersebut diatas dengan membentuk unnormalisasi data. unnormalisai
Normal Pertama (1 NF) • Bentuklah menjadi bentuk normal pertama dengan memisahkan data pada atribut yang tepat dan bernilai atomik, juga seluruh record / baris harus lengkap adanya. • Bentuk relasi adalah flat file. Dengan normal pertama kita dapat membuat satu tabel yang terdiri dari 11 Atribut yaitu (No_Faktur, Kode_Supp, Nama_Supp, Kode_Brg, Nama_Brg, Tanggal, Jatuh_Tempo, Qty, Harga, Jumlah, Total ).
Normal Pertama (1 NF) Pada normal pertama tersebut masih terjadi banyak kelemahan, terutama pada proses ANOMALI insert, update dan delete berikut ini: a). Inserting / Penyisipan Kita tidak dapat memasukkan kode dan nama supplier saja tanpa adanya transaksi pembelian, sehingga supplier baru bisa dimasukkan kalau ada transaksi pembelian. b). Deleting / Penghapusan Bila satu record / baris di atas dihapus, misal nomor faktur 779, maka berakibat pada penghapusan data supplier S 02 (Waras Sejati) padahal data tersebut masih diperlukan. c). Updating / Pengubahan Kode dan nama supplier terlihat ditulis berkali-kali, bila nama supplier berubah, maka di setiap baris yang ada harus dirubah, bila tidak menjadi tidak konsisten. Atribut jumlah seharusnya tidak perlu, karena setiap harga dikali kuantitas akan menghasilkan jumlah, sehingga hasilnya akan menjadi lebih konsisten. A 02
Normal Kedua (2 NF) • Normal kedua: melakukan dekomposisi relasi diatas menjadi beberapa relasi dan mencari kunci primer dari tiap-tiap relasi tersebut dan atribut kunci haruslah unik. • Melihat faktur di atas, maka dapat diambil beberapa kunci kandidat : ( No_Faktur, Kode_Supp, dan Kode_Brg ). • Kunci kandidat tersebut nantinya bisa menjadi kunci primer pada relasi hasil dekomposisi.
Normal Kedua (2 NF) Relasi Supplier Relasi Barang Kode_Supp Nama_Supp Kode_Brg Nama_Brg Harga S 02 Waras Sejati R 01 Mixagripi 5000 G 01 Medika jaya G 01 Medika Jaya A 01 Sanaflux 5000 A 02 Bodrexno 6000 Relasi Faktur No_Faktur Kode_Brg Kode_Supp Tanggal Jatuh Tempo Qty 779 R 01 S 02 02/02/2001 09/03/2001 10 998 A 01 G 01 07/02/2001 09/03/2001 10 998 A 02 G 01 07/02/2001 09/03/2001 10
Normal Kedua (2 NF) Pada bentuk normal kedua tersebut masih terjadi permasalahan yaitu pada relasi Faktur, yaitu : 1. Atribut Qty pada relasi Faktur, tidak tergantung pada kunci utama, atribut tersebut bergantung fungsi pada Kode Brg dan no_faktur, hal ini dinamakan ketergatungan transitif dan maka harus di pecah menjadi dua relasi. 2. Masih terdapat pengulangan, yaitu setiap kali satu faktur yang terdiri dari 2 macam barang maka 2 kali juga dituliskan no_faktur, tanggal, dan jatuh_tempo. Hal ini harus dipisahkan bila terjadi penggandaan tulisan berulang-ulang.
4. Bentuk Normal Ketiga (3 NF) • Syarat : setiap relasi tidak mempunyai atribut yang bergantung transitif, harus bergantung penuh pada kunci utama dan harus memenuhi bentuk normal kedua (2 NF). • Untuk memenuhi bentuk normal ketiga (3 NF), maka pada relasi faktur harus didekomposisi lagi menjadi dua relasi yaitu relasi faktur dan relasi transaksi barang, sehingga hasilnya adalah sebagai berikut ini:
Relasi Supplier Relasi Barang Kode_Supp Nama_Supp Kode_Brg Nama_Brg Harga S 02 Waras Sejati R 01 Mixagripi 5000 G 01 Medika jaya A 01 Sanaflux 5000 A 02 Bodrexno 6000 Relasi Faktur No_Faktur Tanggal Jatuh Tempo Kode_Supp 779 02/02/2001 09/03/2001 S 02 998 07/02/2001 09/03/2001 G 01 Relasi Transaksi No_Faktur Kode_Brg Qty 779 R 01 10 998 A 02 10
unnormal
1 NF Tabel 1
Tips And Trik • Gambarkan ketergantungan Fungsionalnya
2 NF Sudah memenuhi 1 NF tetapi belum memenuhi 2 NF karena atribut Bukan kunci belum sepenuhnya tergantung pada primary key • {No-pem, Kode-Kota } kota • No-pem Kota • No-Pem, No-bar Jumlah
2 NF Tabel 1 didekomposisi menjadi dua tabel yaitu tabel 2 dan tabel 3, sehingga atribut non primary key bergantung penuh pada primary key dan terpenuhi 2 NF Tabel 1 • No-pem, No-bar Jumlah Tabel 2 • No-pem Kode-Kota • No-pem Kota • Kode-Kota
3 NF Ada ketergantungan transitif di tabel 3, maka perlu di pisah menjadi tabel lebih kecil Tabel 3 • No-pem Kode-Kota • Kode-Kota Ketergantungan transitif
3 NF Tabel 4 • No-pem Kode-kota • Kode-ota Kota
Contoh 1. Bentuk Tidak Normal ( Unnormalized Form) • Merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi. • Data dikumpulkan apa adanya tanpa format tertentu. Data dapat tidak lengkap atau terduplikasi • Tabel Perpustakaan ini masih bersifat universal Perpustakaan No Nama Alamat No Buku 1 Judul Buku 1 Pengarang 1 A 001 Rahayu Msword Ahmad A 002 Iwan Kemuning B 001 117 Kamboja 29 B 001 A 003 Tuti Nangka 20 B 002 Foxpro A 004 Riyanto Kenanga 21 B 001 Msword Ahmad A 005 Kiki Merdeka 10 B 002 Foxpro Msword Ahmad No Buku 2 Judul Buku 2 B 002 Pengarang 2 No Buku 3 Foxpro Pramono B 005 Pramono B 006 Judul Buku 3 Pengara Jml Pjm Tgl Pinjam ng 3 Acces Anton 1 26/1/2000 3 1/2/2000 1 7/2/2000 Acces Anton 2 11/2/2000 Ws Pramono 2 11/2/2000 Atribut Bernilai Ganda / Berulang
• Bentuk Normal Kesatu ( 1 NF / First Normal Form ) • Setiap data dibentuk dalam flat file( file datar / rata ) • Data dibentuk dalam satu record demi record dan nilai field adalah atomic value • Tidak ada set atribut yang berulang 2 / bernilai ganda ) Perpustakaan No A 001 A 002 A 003 A 004 Nama Rahayu Iwan Tuti Riyanto Alamat Kemuning 117 Kamboja 29 Nangka 20 Kenanga 21 No Buku B 001 B 002 B 005 B 002 B 001 Judul Buku Msword Foxpro Acces Foxpro Msword Pengarang Ahmad Pramono Anton Pramono Ahmad Jml Pinjam 1 3 3 3 1 2 Tgl Pinjam 26/1/2000 1/2/2000 7/2/2000 11/2/2000 A 004 Riyanto Kenanga 21 B 005 Acces Anton 2 11/2/2000 A 005 Kiki Merdeka 10 B 002 B 006 Foxpro WS Pramono 2 2 11/2/2000 Perpustakaan No anggota Nama Alamat No. Buku Judul. Buku Pengarang Jumlah. Pinjam Tgl. Pinjam Data Duplikat belum ada field kunci yang unik
• Bentuk Kedua ( 2 NF / Second Normal Form ) • Telah Menenuhi kriteria Bentuk Normal 1 NF • Atribut Bukan Kunci Haruslah Bergantung Secara Fungsi Pada Primary Key • Primary Key Harus Sudah Ditentukan Dan Bersifat Unik, Serta Dapat Mewakili Atribut Lain Yang Menjadi Anggotanya Anggota Noanggota A 001 A 002 A 003 A 004 A 005 Nama Rahayu Iwan Tuti Riyanto Kiki Alamat Kemuning 117 Kamboja 29 Nangka 20 Kenanga 21 Merdeka 10 Pinjam No anggota A 001 A 002 A 003 A 004 A 005 Nobuku B 001 B 002 B 001 B 005 B 002 B 006 Jumlahpinjam 1 3 3 3 1 2 2 tglpinjam 26/1/2000 1/2/2000 7/2/2000 11/2/2000 Buku Nobuku B 001 B 002 B 005 B 006 Judulbuku Msword Foxpro Acces Ws Pengarang Ahmad Pramono Anton pramono Data Duplikat belum ada field kunci yang unik
Bentuk Normal Kedua ( 3 NF / Third Normal Form ) • Telah Memenuhi kriteria Bentuk 2 NF • Semau Atribut Bukan Primer Tidak Mempunyai Hubungan / Ketergantungan Transitif • Atribut bukan kunci harus bergantung hanya pada primary key Anggota Noanggota A 001 A 002 A 003 A 004 A 005 Nama Rahayu Iwan Tuti Riyanto Kiki Pinjam Noanggota A 001 A 002 A 003 A 004 A 005 Nobuku B 001 B 002 B 005 B 002 B 001 B 005 B 002 B 006 Alamat Kemuning 117 Kamboja 29 Nangka 20 Kenanga 21 Merdeka 10 Buku Nobuku B 001 B 002 B 005 B 006 Judulbuku Msword Foxpro Acces Ws Pengarang Ahmad Pramono Anton Pramono Peminjaman Noanggota A 001 A 002 A 003 A 004 A 005 Jumlahpinjam 1 3 1 2 2 Tglpinjam 26/1/2000 1/2/2000 7/2/2000 11/2/2000
- Slides: 29