Normalisasi Tabel 1NF, 2NF, 3NF dan BCNF
Pengertian normalisasi:
Normalisasi adalah Teknik atau pendekatan yang digunakan dalam membangun
disain database relasional melalui himpunan data dengan tingkat ketergantungan
fungsional dan keterkaitan yang tinggi sehingga menghasilkan struktur tabel yang
normal.
Tujuan normalisasi:
Minimalisasi redundansi (pengulangan data)
Memudahkan identifikasi entitas
Mencegah terjadinya anomali
Beberapa bentuk normal:
1. 1NF, 2NF, 3NF, BCNF
1NF Suatu relasi dikatakan bentuk normal pertama, jika dan hanya jika setiapatribut
bernilai tunggal untuk setiap baris. Tiap field hanya satu pengertian,
bukanmerupakan kumpulan kata yang mempunyai arti mendua, hanya satu arti saja
dan juga bukanlah pecahan kata kata sehingga artinya lain. Tidak ada set atribut
yangberulang-ulang atau atribut bernilai ganda.
2NF Memenuhi bentuk 1 NF (normal pertama), Atribut bukan kunci haruslah
bergantung secara fungsi pada kunci utama /primary key
3NF Memenuhi bentuk 2 NF (normal kedua), Atribut bukan kunci tidak memiliki
dependensi transitif terhadap kunci utama / primarykey.
BCNF Memenuhi bentuk 3 NF (normal ketiga), Semua penentu (determinan) adalah
kunci kandidat (atribut yang bersifat unik) serta Setiap atribut harus bergantung
fungsi pada atribut superkey.
2. 4NF, 5NF
Contoh:
1. First Normal Form (1NF)
Suatu relasi disebut memenuhi bentuk normal pertama (1NF) jika dan hanya jika
setiap atribut dari relasi tersebut hanya memiliki tunggal dan tidak ada pengulangan
grup atribut dalam baris.
Bentuk 1NF tidak boleh mengandung grup atribut yang berulang.
Tujuan membentuk 1NF :
Semantik tabel menjadi lebih eksplisit (say anything once).
Semua operator aljabar relasional dapat diaplikasikan pada tabel.
Kasus yang Di Buat:
v Pekerjaan
v Sales
v Mahasiswa
5. Berikut adalah contoh data-data yang belum ternormalisasi:
NIP Nama Jabatan Keahlian Lama
001 Man Analisis Acces 6 tahun
Oracle 3 tahun
002 Rizal Analisis MySQL 2 tahun
Oracle 4 tahun
003 Hanif Programer C 4 tahun
VB 5 tahun
Java 8 tahun
Pada tabel di atas, contoh data belum ternormalisasi sehingga
dapat diubah ke dalam bentuk 1NF dengan cara membuat setiap baris
berisi kolom dengan jumlah yang sama dan setiap kolom hanya mengandung satu
nilai.
NIP Nama Jabatan Keahlian Lama
001 Man Analisis Acces 6 tahun
001 Man Analisis Oracle 3 tahun
002 Rizal Analisis MySQL 2 tahun
002 Rizal Analisis Oracle 4 tahun
003 Hanif Programer C 4 tahun
003 Hanif Programer VB 5 tahun
003 Hanif Programer Java 8 tahun
Relasi Pekerjaan tersebut merupakan bentuk 1 NF, karena tidak ada atribut yang
bernilai ganda, dan tiap atribut satu pengertian yang bernilai tunggal.
6. Berikut adalah contoh data-data yang belum ternormalisasi:
Id_Sales Nama_Sales Telepon
S001 Ria 3513214, 3541245
S002 Anti 6548143, 5825143, 7563249
S003 Ani 085337732666
S004 Maya 6836592
S005 Wulan 6823928, 081234321454
Pada data tabel di atas, contoh data belum ternormalisasi sehingga
dapat diubah ke dalam bentuk 1NF dengan cara membuat setiap baris
berisi kolom dengan jumlah yang sama dan setiap kolom hanya mengandung satu
nilai.
Id_Sales Nama_Sales Telepon
S001 Ria 3513214
S001 Ria 3541245
S002 Anti 6548143
S002 Anti 5825143
S002 Anti 7563249
S003 Ani 085337732666
S004 Maya 6836592
S005 Wulan 6823928
S005 Wulan 081234321454
Relasi Sales tersebut merupakan bentuk 1 NF, karena tidak ada atribut yang bernilai
ganda, dan tiap atribut satu pengertian yang bernilai tunggal.
7. Berikut adalah contoh data-data yang belum ternormalisasi:
NIM Nama Kode_Matkul
201010241 Siti 001, 004, 008
201010242 Beti 002, 005
201010243 Eli 005, 008
201010244 Rosi 003, 006
201010245 Eci 001, 007, 009
Pada data tabel di atas, contoh data belum ternormalisasi sehingga
dapat diubah ke dalam bentuk 1NF dengan cara membuat setiap baris
berisi kolom dengan jumlah yang sama dan setiap kolom hanya mengandung satu
nilai.
NIM Nama Kode_Matkul
201010241 Siti 001
201010241 Siti 004
201010241 Siti 008
201010242 Beti 002
201010242 Beti 005
201010243 Eli 005
201010243 Eli 008
201010244 Rosi 003
201010244 Rosi 006
201010245 Eci 001
201010245 Eci 007
201010245 Eci 009
Relasi Mahasiswa tersebut merupakan bentuk 1 NF, karena tidak ada atribut yang
bernilai ganda, dan tiap atribut satu pengertian yang bernilai tunggal.
8. 2NF
Memenuhi bentuk 1 NF (normal pertama).
Atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama atau
primary key.
Contoh:
Diketahui tabel R=(A,B,C,D,E) ; A,B kunci utama (primary key)
dengan FD : A,B & C,D,E maka tabel R memenuhi 2NF sebab :
A,B & C,D,E berarti :
A,B & C,
A,B & D dan
A,B & E
Jadi semua atribut bukan kunci utama tergantung penuh pada (A,B).
Bagaimana bila R = (A,B,C,D,E) tetapi dengan FD :
(A,B) & (C,D) dan B & E. Apakah memenuhhi 2NF ?
Jelas bahwa R bukan 2NF karena ada atribut E yang bergantung
hanya pada atribut B saja dan bukan terhadap (A,B).
Dari FD : (A,B) (C,D) juga mencerminkan bahwa hanya C dan D saja yang
bergantung secara fungsional terhadap (A,B), tidak untuk E.
Jadi bukan 2NF.
Untuk mengubah menjadi 2NF, lakukan dekomposisi menjadi :
R1 = (A,B,C,D) dan R2 = (B,E). Tampak R1 dan R2 memenuhi 2NF.
11. Untuk membentuk normal, kedua tiap tabel atau file haruslah ditentukan kunci-kunci
atributnya. Kunci atribut harus unik dan dapat mewakili atribut lain yang menjadi
anggotanya. Pada contoh tabel Pekerjaan yang memenuhi normal pertama (1 NF) ,
terlihat bahwa NIP merupakan Primery Key (PK).
NIP Nama dan Jabatan: Artinya atribut Nama dan Jabatan bergantung pada
NIP.
Tetapi NIP Keahlian dan Lama: Artinya bahwa atribut Lama tidak
tergantungpada NIP.
Belum Normal
NIP Nama Jabatan Keahlian Lama
001 Man Analisis Acces 6 tahun
Oracle 3 tahun
002 Rizal Analisis MySQL 2 tahun
Oracle 4 tahun
003 Hanif Programer C 4 tahun
VB 5 tahun
Java 8 tahun
Normal 1NF
NIP Nama Jabatan Keahlian Lama
001 Man Analisis Acces 6 tahun
001 Man Analisis Oracle 3 tahun
002 Rizal Analisis MySQL 2 tahun
002 Rizal Analisis Oracle 4 tahun
003 Hanif Programer C 4 tahun
003 Hanif Programer VB 5 tahun
003 Hanif Programer Java 8 tahun
Normal 2NF
NIP Nama Jabatan
001 Man Analisis
002 Rizal Analisis
003 Hanif Programer
NIP Keahlian Lama
001 Acces 6 tahun
001 Oracle 3 tahun
002 MySQL 2 tahun
002 Oracle 4 tahun
003 C 4 tahun
003 VB 5 tahun
003 Java 8 tahun
12. Untuk membentuk normal, kedua tiap tabel atau file haruslah ditentukan kunci-kunci
atributnya. Kunci atribut harus unik dan dapat mewakili atribut lain yang menjadi
anggotanya. Pada contoh tabel Pekerjaan yang memenuhi normal pertama (1 NF) ,
terlihat bahwa Id_Sales merupakan Primery Key (PK).
Id_Sales Nama_Sales: Artinya atribut Nama_Sales bergantung pada Id_Sales.
Tetapi Id_Sales Telepon: Artinya bahwa atribut Telepon tidak tergantung pada
Id_Sales.
Belum Normal
Id_Sales Nama_Sales Telepon
S001 Ria 3513214, 3541245
S002 Anti 6548143, 5825143, 7563249
S003 Ani 085337732666
S004 Maya 6836592
S005 Wulan 6823928, 081234321454
Normal 1NF
Id_Sales Nama_Sales Telepon
S001 Ria 3513214
S001 Ria 3541245
S002 Anti 6548143
S002 Anti 5825143
S002 Anti 7563249
S003 Ani 085337732666
S004 Maya 6836592
S005 Wulan 6823928
S005 Wulan 081234321454
Normal 2NF
Id_Sales Nama_Sales
S001 Ria
S002 Anti
S003 Ani
S004 Maya
S005 Wulan
Id_Sales Telepon
S001 3513214
S001 3541245
S002 6548143
S002 5825143
S002 7563249
S003 085337732666
S004 6836592
S005 6823928
S005 081234321454
13. Untuk membentuk normal, kedua tiap tabel atau file haruslah ditentukan kunci-kunci
atributnya. Kunci atribut harus unik dan dapat mewakili atribut lain yang menjadi
anggotanya. Pada contoh tabel Pekerjaan yang memenuhi normal pertama (1 NF) ,
terlihat bahwa NIM merupakan Primery Key (PK).
NIM Nama: Artinya atribut Nama bergantung pada NIM.
MatkulTetapi NIM Kode_Matkul: Artinya bahwa atribut Kode_m tidak
tergantung pada NIM.
Belum Normal
NIM Nama Kode_Matkul
201010241 Siti 001, 004, 008
201010242 Beti 002, 005
201010243 Eli 005, 008
201010244 Rosi 003, 006
201010245 Eci 001, 007, 009
Normal 1NF
NIM Nama Kode_Matkul
201010241 Siti 001
201010241 Siti 004
201010241 Siti 008
201010242 Beti 002
201010242 Beti 005
201010243 Eli 005
201010243 Eli 008
201010244 Rosi 003
201010244 Rosi 006
201010245 Eci 001
201010245 Eci 007
201010245 Eci 009
Normal 2NF
NIM Nama
201010241 Siti
201010242 Beti
201010243 Eli
201010244 Rosi
201010245 Eci
NIM Kode_Matkul
201010241 001
201010241 004
201010241 008
201010242 002
201010242 005
201010243 005
201010243 008
201010244 003
201010244 006
201010245 001
201010245 007
201010245 009
14. 3NF
Suatu relasi disebut memenuhi bentuk normal ketiga (3NF) jika dan hanya jika :
Memenuhi 2NF
Setiap atribut yang bukan kunci tidak tergantung secara fungsional terhadap atribut
bukan kunci yang lain dalam relasi tsb (tidak terdapat ketergantungan transitif pada
atribut bukan kunci).
Jika dan hanya jika setiap FD nontrivial : X & A, dimana X dan A atribut (atau
kompositnya), memenuhi salah satu kondisi :
1. X adalah superkey
2. A merupakan anggota candidate key (A disebut prime attribute)
Jika suatu relasi sudah memenuhi 2NF tapi tidak memenuhi 3 NF, maka untuk
normalisasi ke bentuk 3NF, tabel 2NF didekomposisi menjadi beberapa tabel hingga
masing-masing memenuhi 3NF.
Tujuan membentuk 3NF :
Semantik tabel 3NF menjadi lebih eksplisit (fully FD hanya pada primary key).
Menghindari update anomali yang masih mungkin terjadi pada 2NF.
Jika suatu relasi memenuhi 2NF dan hanya memiliki tepat satu atribut yang bukan
kunci utama maka relasi tersebut memenuhi 3NF
Contoh :
Diketahui tabel R=(A,B,C,D,E) ; A,B kunci utama (primary key)
dengan FD : A,B & C,D,E dan C & D,E maka R bukan 3NF sebab :
Atribut D dan E (bukan kunci utama) bergantung secara fungsional
pada C (yang juga bukan kunci utama).
Melalui FD :
Diketahui A,B & C,D,E. Karena sifat refleksif maka A,B & A,B. Sehingga A,B &
A,B,C,D,E (A,B) : Superkey.
Diketahui C & D,E. Karena sifat refleksif maka C & C. Sehingga C & C,D,E. Karena
C> A,B,C,D,E maka C bukan superkey.
Tidak memenuhi definisi 3NF. Jadi R bukan 3NF. Agar R memenuhi 3NF maka
didekomposisi menjadi :
R1=(A,B,C) dan R2=(C,D,E) sehingga R1 dan R2 memenuhi 3NF.
3. Tabel Pekerjaan
Belum Normal:
NIP Nama Jabatan Keahlian Lama
001 Man Analisis Acces 6 tahun
Oracle 3 tahun
002 Rizal Analisis MySQL 2 tahun
Oracle 4 tahun
003 Hanif Programer C 4 tahun
VB 5 tahun
Java 8 tahun
Normal 2NF
NIP Nama Jabatan
001 Man Analisis
002 Rizal Analisis
003 Hanif Programer
NIP Keahlian Lama
001 Acces 6 tahun
001 Oracle 3 tahun
002 MySQL 2 tahun
002 Oracle 4 tahun
003 C 4 tahun
003 VB 5 tahun
003 Java 8 tahun
Normal 3NF
NIP Nama Jabatan
001 Man Analisis
001 Man Analisis
002 Rizal Analisis
002 Rizal Analisis
003 Hanif Programer
003 Hanif Programer
003 Hanif Programer
Jabatan Lama
Analisis 6 tahun
Analisis 3 tahun
Analisis 2 tahun
Analisis 4 tahun
Programer 4 tahun
Programer 5 tahun
Programer 8 tahun
NIP Jabatan Keahlian
001 Analisis Acces
001 Analisis Oracle
002 Analisis MySQL
002 Analisis Oracle
003 Programer C
003 Programer VB
003 Programer Java
4. Tabel Sales
Belum Normal
Id_Sales Nama_Sales Telepon
S001 Ria 3513214, 3541245
S002 Anti 6548143, 5825143, 7563249
S003 Ani 085337732666
S004 Maya 6836592
S005 Wulan 6823928, 081234321454
Normal 2NF
Id_Sales Nama_Sales
S001 Ria
S002 Anti
S003 Ani
S004 Maya
S005 Wulan
Id_Sales Telepon
S001 3513214
S001 3541245
S002 6548143
S002 5825143
S002 7563249
S003 085337732666
S004 6836592
S005 6823928
S005 081234321454
Normal 3NF
Id_Sales Nama_Sales
S001 Ria
S002 Anti
S003 Ani
S004 Maya
Nama_Sales Telepon
S001 3513214
S001 3541245
S002 6548143
S002 5825143
S002 7563249
S003 085337732666
S004 6836592
S005 6823928
S005 081234321454
Id_Sales Nama_Sales Telepon
S001 Ria 3513214
S001 Ria 3541245
S002 Anti 6548143
S002 Anti 5825143
S002 Anti 7563249
S003 Ani 085337732666
S004 Maya 6836592
S005 Wulan 6823928
S005 Wulan 081234321454
5. Tabel Mahasiswa
Belum Normal
NIM Nama Kode_Matkul
201010241 Siti 001, 004, 008
201010242 Beti 002, 005
201010243 Eli 005, 008
201010244 Rosi 003, 006
201010245 Eci 001, 007, 009
Normal 2NF
NIM Nama
201010241 Siti
201010242 Beti
201010243 Eli
201010244 Rosi
201010245 Eci
NIM Kode_Matkul
201010241 001
201010241 004
201010241 008
201010242 002
201010242 005
201010243 005
201010243 008
201010244 003
201010244 006
201010245 001
201010245 007
201010245 009
3NF
NIM Nama
201010241 Siti
201010242 Beti
201010243 Eli
201010244 Rosi
201010245 Eci
Nama Kode_Matkul
Siti 001
Siti 004
Siti 008
Beti 002
Beti 005
Eli 005
Eli 008
Rosi 003
Rosi 006
Eci 001
Eci 007
Eci 009
NIM Nama Kode_Matkul
201010241 Siti 001
201010241 Siti 004
201010241 Siti 008
201010242 Beti 002
201010242 Beti 005
201010243 Eli 005
201010243 Eli 008
201010244 Rosi 003
201010244 Rosi 006
201010245 Eci 001
201010245 Eci 007
201010245 Eci 009
6. BCNF
Suatu relasi disebut memenuhi BCNF jika dan hanya jika setiap determinan yang
ada pada relasi tersebut adalah candidate key.
Definisi yang lain : Suatu relasi disebut memenuhi BCNF jika untuk setiap FD
nontrivial : X A atribut X adalah superkey.
Untuk normalisasi ke bentuk BCNF, maka tabel 3NF didekomposisi menjadi
beberapa tabel yang masing-masing memenuhi BCNF.
Tujuan membentuk BCNF : multiple candidate key menjadi lebih eksplisit (FD hanya
pada candidate key). Menghindari update anomali yang masih mungkin terjadi pada
3NF.
Dari definisi 3NF dan BCNF, maka apabila suatu relasi memenuhi BCNF pasti
memenuhi 3NF, tetapi belum tentu sebaliknya.
Contoh :
Diketahui tabel R=(A,B,C) dengan FD : A & B dan B & C maka R bukan BCNF,
sebab :
v A Superkey ?
AB (diketahui)
AB dan B & C maka A & C (transitif)
AA (refleksif)
Sehingga A & (A,B,C) atau A & R. Jadi A superkey.
v B Superkey ?
B & C (diketahui)
B&B (refleksif)
Tapi BA. Sehingga B & A,B,C atau B bukan superkey. Agar R memenuhi BCNF
maka didekomposisi menjadi :
R1=(A,B) ; FD : A & B dan
R2=(B,C) ; FD : B & C. Sehingga R1 dan R2 masing-masing memenuhi
BCNF. Sebab A dan B dua-duanya sekarang menjadi superkey.
4. Tabel Pekerjaan
Belum Normal
NIP Nama Jabatan Keahlian Lama
001 Man Analisis Acces 6 tahun
Oracle 3 tahun
002 Rizal Analisis MySQL 2 tahun
Oracle 4 tahun
003 Hanif Programer C 4 tahun
VB 5 tahun
Normal BCNF
NIP Nama Jabatan Keahlian
001 Man Analisis
002 Rizal Analisis
003 Hanif Programer
Nama Lama
Man 6 tahun
Man 3 tahun
Rizal 2 tahun
Rizal 4 tahun
Hanif 4 tahun
Hanif 5 tahun
Hanif 8 tahun
5. Tabel Sales
Belum Normal
Id_Sales Nama_Sales Telepon
S001 Ria 3513214, 3541245
S002 Anti 6548143, 5825143, 7563249
S003 Ani 085337732666
S004 Maya 6836592
S005 Wulan 6823928, 081234321454
Normal BCNF
Id_Sales Nama_Sales
S001 Ria
S002 Anti
S003 Ani
S004 Maya
S005 Wulan
Nama_Sales Telepon
S001 3513214
S001 3541245
S002 6548143
S002 5825143
S002 7563249
S003 085337732666
S004 6836592
S005 6823928
S005 081234321454
6. Table Mahasiswa
Belum Normal
NIM Nama Kode_Matkul
201010241 Siti 001, 004, 008
201010242 Beti 002, 005
201010243 Eli 005, 008
201010244 Rosi 003, 006
201010245 Eci 001, 007, 009
Normal BCNF
NIM Nama
201010241 Siti
201010242 Beti
201010243 Eli
201010244 Rosi
201010245 Eci
Nama Kode_Matkul
Siti 001
Siti 004
Siti 008
Beti 002
Beti 005
Eli 005
Eli 008
Rosi 003
Rosi 006
Eci 001
Eci 007
Eci 009
Normalisasi 1nf, 2nf, 3nf
BENTUK NORMAL PERTAMA (1NF)
Berikut adalah contoh data-data yang belum ternormalisasi:
Pada data tabel di atas, contoh data belum ternormalisasi sehingga
dapat diubah ke dalam bentuk 1NF dengan cara membuat setiap baris
berisi kolom dengan jumlah yang sama dan setiap kolom hanya mengandung satu
nilai.
BENTUK NORMALISASI KEDUA (2NF)
Berikut ini adalah contoh data pada tabel mahasiswa yang belum memenuhi
bentuk 1NF.
Bentuk 1NF-nya:
Bentuk 2NF-nya didapat dengan teknik berikut ini:
Pada bentuk 1NF-nya, terlihat bahwa kolom NIM merupakan PrimaryKey.
NIM -> Nama, Dosen Wali. Artinya adalah bahwa atribut Nama dan Dosen Wali
bergantung pada NIM.
Tetapi NIM <> Kode MataKuliah. Artinya adalah bahwa atribut Kode_MataKuliah tidak
tergantung pada NIM.
Sehingga, bentuk 2NF-nya terbagi atas 2 table:
Table1
Table2
BENTUK NORMALISASI KETIGA (3NF)
Berikut ini adalah contoh tabel Mahasiswa yang sudah dalam bentuk 1NF:
Bentuk 2NF-nya:
Table1
Table2
Table3
Namun, di Table1, atribut nonkey(Nilai dan Bobot) masih memiliki ketergantungan
fungsional. Maka, untuk memenuhi bentuk 3NF, Table1 harus dipecah lagi menjadi:
Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)
Bentuk normal 1NF terpenuhi :
Jika sebuah tabel tidak memiliki atribut bernilai banyak (multivalued
attribute). harus bernilai tunggal
Jika sebuah tabel tidak memiliki atribut composite atau kombinasinya
dalam domain data yang sama. Setiap atribut dalam tabel tersebut harus
bernilai atomic(tidak dapat dibagi-bagi lagi) sederhana
Jika sebuah tabel tidak memiliki atribut turunan/derivatied value
Jika sebuah tabel tidak memiliki record yang bernilai ganda/ redundancy
atribut composite atau kombinasinya dalam domain data yang sama.
Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat
dibagi-bagi lagi).
Contoh 1 :
Misal data mahasiswa sbb:
dekomposisi menjadi :
3. Bentuk Normal Tahap Kedua (2nd Normal Form)
Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi
bentuk 1NF, dan semua atribut selain primary key, secara utuh memiliki
Functional Dependency pada primary key
Sebuah tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungannya
(Functional Dependency) hanya bersifat parsial saja (hanya tergantung pada
sebagian dari primary key)
Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary
key, maka atribut tersebut harus dipindah atau dihilangkan
Contoh :
Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:
Tidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yang dianggap sebagai
primary key sedangkan:
{Mhs_nrp, mk_kode} mhs_nama
{Mhs_nrp, mk_kode} mhs_alamat
{Mhs_nrp, mk_kode} mk_nama
{Mhs_nrp, mk_kode} mk_sks
{Mhs_nrp, mk_kode} nilaihuruf
4. Bentuk Normal Tahap Ketiga (3rd Normal Form /3NF)
Bentuk normal 3NF terpenuhi jika telah memenuhi bentuk 2NF, dan jika
tidak ada atribut non primary key (biasa) yang memiliki ketergantungan
terhadap atribut non primary key (biasa) yang lainnya.
Untuk setiap Functional Dependency dengan notasi X A, maka:
- X harus menjadi superkey pada tabel tsb.
- Atau A merupakan bagian dari primary key pada tabel tsb.
Contoh :
Tabel yang belum memenuhi 3NF
dekomposisi menjadi :
Karena alm_jalan dan alm_kota non primary key sehingga membutuhkan primary
key yaitu alm_kodepos.
5. Boyce-Code Normal Form (BCNF)
Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional
dependency terhadap setiap atribut atau gabungan atribut dalam bentuk: X
Y maka X adalah super key
tabel tersebut harus di-dekomposisi berdasarkan functional dependency
yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi
Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum
tentu termasuk BCNF . Perbedaannya, untuk functional dependency X
A, BCNF tidak membolehkan A sebagai bagian dari primary key.
Pada dasarnya normalisasi boleh cukup sampai tahap 3NF aja tapi suatu saat akan
menemui tabel yang perlu di normalisasi sampai tahap BCNF atau tahap 5NF
6. Fourth Normal Form (4NF)
Dilakukan jika terdapat anomali pada (3NF)
7. Fifth Normal Form (5NF)
Langkah ini untuk memecah relasi menjadi dua sehingga relasi tersebut tidak
digabungkan kembali manjadi satu dan jika terdapat anomali pada (5NF)
Nah itu dia penjelasan sekilas tentang Normalisasi, sudah mulai pusing beroowww
:D wah sama dong bro (asyik ada temennya :D). Okelah kita bakalan pusing
bersama :). Langsung yaa guys, tapi kalo kalian ada yang punya pendapat lain
silahkan loo share disini yaak :D
B. Hasil Praktikum
untuk ngerjain kedua soal tersebut kita nggak pake Postgre atau Xampp yaa..kita
pake Microsoft Excel, hah kok Excel?? udah deh guys nurut aja yak :D
a. Rental Buku "PUSTAKA ILMU"
Sebenernya soal yang pertama ini nggak disuruh ngerjain jadinya jawabanku
belum dikoreksi, untuk itu buat kalian mungkin ada yang ngerti mohon
koreksinya yaa :D *bigthank's
1. UNF
Pada tahap ini masukin semua data menjadi 1 tabel.
2. 1NF
3. 2NF
Nah tahap ini mulai deh kita pisahin tabelnya berdasarkan primary key :)
4. 3NF
Tahap ini mulai terdapat foreign key dan relasi
b. Toko "SERBA ADA"
1. UNF
2. 1NF
3. 2NF
4. 3NF
Mustofa, Aziz.2014.Praktikum DBD Bab6
Modul 1.5 Basis Data
http://fana.dosen.narotama.ac.id/files/2013/06/NORMALISASI-DATA.ppt