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.
Nama
Man
Jabatan
Analisis
002
Rizal
Analisis
003
Hanif
Programer
Keahlian
Acces
Oracle
MySQL
Oracle
C
VB
Java
Lama
6 tahun
3 tahun
2 tahun
4 tahun
4 tahun
5 tahun
8 tahun
NIP
001
001
002
002
003
003
003
Nama
Man
Man
Rizal
Rizal
Hanif
Hanif
Hanif
Jabatan
Analisis
Analisis
Analisis
Analisis
Programer
Programer
Programer
Keahlian
Acces
Oracle
MySQL
Oracle
C
VB
Java
Lama
6 tahun
3 tahun
2 tahun
4 tahun
4 tahun
5 tahun
8 tahun
Relasi Pekerjaan tersebut merupakan bentuk 1 NF, karena tidak ada atribut yang bernilai
ganda, dan tiap atribut satu pengertian yang bernilai tunggal.
Nama_Sales
Ria
Telepon
3513214, 3541245
S002
S003
S004
S005
Anti
Ani
Maya
Wulan
Nama_Sales
Ria
Ria
Anti
Anti
Anti
Ani
Maya
Wulan
Wulan
Telepon
3513214
3541245
6548143
5825143
7563249
085337732666
6836592
6823928
081234321454
Relasi Sales tersebut merupakan bentuk 1 NF, karena tidak ada atribut yang bernilai
ganda, dan tiap atribut satu pengertian yang bernilai tunggal.
Nama
Siti
Beti
Eli
Rosi
Eci
Kode_Matkul
001, 004, 008
002, 005
005, 008
003, 006
001, 007, 009
berisi kolom dengan jumlah yang sama dan setiap kolom hanya mengandung satu
nilai.
NIM
201010241
201010241
201010241
201010242
201010242
201010243
201010243
201010244
201010244
201010245
201010245
201010245
Nama
Siti
Siti
Siti
Beti
Beti
Eli
Eli
Rosi
Rosi
Eci
Eci
Eci
Kode_Matkul
001
004
008
002
005
005
008
003
006
001
007
009
Relasi Mahasiswa tersebut merupakan bentuk 1 NF, karena tidak ada atribut yang bernilai
ganda, dan tiap atribut satu pengertian yang bernilai tunggal.
4. 2NF
o
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).
1. Untuk membentuk normal, kedua tiap tabel atau file haruslah ditentukan kuncikunci 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
NIP.
Belum Normal
NIP
001
Nama
Man
Jabatan
Analisis
002
Rizal
Analisis
003
Hanif
Programer
Keahlian
Acces
Oracle
MySQL
Oracle
C
VB
Java
Lama
6 tahun
3 tahun
2 tahun
4 tahun
4 tahun
5 tahun
8 tahun
Normal 1NF
NIP
001
001
002
002
003
003
003
Nama
Man
Man
Rizal
Rizal
Hanif
Hanif
Hanif
Jabatan
Analisis
Analisis
Analisis
Analisis
Programer
Programer
Programer
Keahlian
Acces
Oracle
MySQL
Oracle
C
VB
Java
Lama
6 tahun
3 tahun
2 tahun
4 tahun
4 tahun
5 tahun
8 tahun
Normal 2NF
NIP
001
002
003
Nama
Man
Rizal
Hanif
NIP
001
001
002
002
003
003
003
Keahlian
Acces
Oracle
MySQL
Oracle
C
VB
Java
Jabatan
Analisis
Analisis
Programer
Lama
6 tahun
3 tahun
2 tahun
4 tahun
4 tahun
5 tahun
8 tahun
2. Untuk membentuk normal, kedua tiap tabel atau file haruslah ditentukan kuncikunci 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
Tetapi Id_Sales
Id_Sales.
Belum Normal
Id_Sales
S001
S002
S003
S004
S005
Nama_Sales
Ria
Anti
Ani
Maya
Wulan
Telepon
3513214, 3541245
6548143, 5825143, 7563249
085337732666
6836592
6823928, 081234321454
Nama_Sales
Ria
Ria
Anti
Anti
Anti
Ani
Maya
Wulan
Wulan
Telepon
3513214
3541245
6548143
5825143
7563249
085337732666
6836592
6823928
081234321454
Normal 1NF
Id_Sales
S001
S001
S002
S002
S002
S003
S004
S005
S005
Normal 2NF
Id_Sales
S001
S002
S003
S004
S005
Nama_Sales
Ria
Anti
Ani
Maya
Wulan
Id_Sales
S001
S001
S002
S002
S002
S003
S004
S005
S005
Telepon
3513214
3541245
6548143
5825143
7563249
085337732666
6836592
6823928
081234321454
3. Untuk membentuk normal, kedua tiap tabel atau file haruslah ditentukan kuncikunci 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
MatkulTetapi NIM
pada NIM.
Belum Normal
NIM
201010241
201010242
201010243
201010244
201010245
Nama
Siti
Beti
Eli
Rosi
Eci
Kode_Matkul
001, 004, 008
002, 005
005, 008
003, 006
001, 007, 009
Nama
Siti
Siti
Kode_Matkul
001
004
Normal 1NF
NIM
201010241
201010241
201010241
201010242
201010242
201010243
201010243
201010244
201010244
201010245
201010245
201010245
Siti
Beti
Beti
Eli
Eli
Rosi
Rosi
Eci
Eci
Eci
Normal 2NF
NIM
201010241
201010242
201010243
201010244
201010245
Nama
Siti
Beti
Eli
Rosi
Eci
NIM
201010241
201010241
201010241
201010242
201010242
201010243
201010243
201010244
201010244
201010245
201010245
201010245
Kode_Matkul
001
004
008
002
005
005
008
003
006
001
007
009
008
002
005
005
008
003
006
001
007
009
4. 3NF
Suatu relasi disebut memenuhi bentuk normal ketiga (3NF) jika dan hanya jika :
o
o
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.
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.
2. Tabel Pekerjaan
Belum Normal:
NIP
001
Nama
Man
Jabatan
Analisis
002
Rizal
Analisis
003
Hanif
Programer
Normal 2NF
NIP
001
002
003
Nama
Man
Rizal
Hanif
NIP
001
001
002
002
Keahlian
Acces
Oracle
MySQL
Oracle
Jabatan
Analisis
Analisis
Programer
Lama
6 tahun
3 tahun
2 tahun
4 tahun
Keahlian
Acces
Oracle
MySQL
Oracle
C
VB
Java
Lama
6 tahun
3 tahun
2 tahun
4 tahun
4 tahun
5 tahun
8 tahun
003
003
003
C
VB
Java
4 tahun
5 tahun
8 tahun
Normal 3NF
NIP
001
001
002
002
003
003
003
Nama
Man
Man
Rizal
Rizal
Hanif
Hanif
Hanif
Jabatan
Analisis
Analisis
Analisis
Analisis
Programer
Programer
Programer
NIP
001
001
002
002
003
003
003
Jabatan
Analisis
Analisis
Analisis
Analisis
Programer
Programer
Programer
Lama
6 tahun
3 tahun
2 tahun
4 tahun
4 tahun
5 tahun
8 tahun
Jabatan
Analisis
Analisis
Analisis
Analisis
Programer
Programer
Programer
Keahlian
Acces
Oracle
MySQL
Oracle
C
VB
Java
2. Tabel Sales
Belum Normal
Id_Sales
S001
S002
S003
S004
S005
Nama_Sales
Ria
Anti
Ani
Maya
Wulan
Normal 2NF
Id_Sales
S001
S002
S003
S004
S005
Nama_Sales
Ria
Anti
Ani
Maya
Wulan
Id_Sales
S001
S001
S002
S002
S002
S003
S004
S005
S005
Telepon
3513214
3541245
6548143
5825143
7563249
085337732666
6836592
6823928
081234321454
Normal 3NF
Id_Sales
Nama_Sales
Telepon
3513214, 3541245
6548143, 5825143, 7563249
085337732666
6836592
6823928, 081234321454
S001
S002
S003
S004
Nama_Sales
S001
S001
S002
S002
S002
S003
S004
S005
S005
Id_Sales
S001
S001
S002
S002
S002
S003
S004
S005
S005
Ria
Anti
Ani
Maya
Telepon
3513214
3541245
6548143
5825143
7563249
085337732666
6836592
6823928
081234321454
Nama_Sales
Ria
Ria
Anti
Anti
Anti
Ani
Maya
Wulan
Wulan
Telepon
3513214
3541245
6548143
5825143
7563249
085337732666
6836592
6823928
081234321454
2. Tabel Mahasiswa
Belum Normal
NIM
201010241
201010242
201010243
201010244
Nama
Siti
Beti
Eli
Rosi
Kode_Matkul
001, 004, 008
002, 005
005, 008
003, 006
201010245
Eci
Normal 2NF
NIM
201010241
201010242
201010243
201010244
201010245
Nama
Siti
Beti
Eli
Rosi
Eci
NIM
201010241
201010241
201010241
201010242
201010242
201010243
201010243
201010244
201010244
201010245
201010245
201010245
Kode_Matkul
001
004
008
002
005
005
008
003
006
001
007
009
3NF
NIM
201010241
201010242
201010243
201010244
201010245
Nama
Siti
Beti
Eli
Rosi
Eci
Nama
Siti
Siti
Siti
Beti
Beti
Eli
Eli
Rosi
Rosi
Eci
Eci
Eci
Kode_Matkul
001
004
008
002
005
005
008
003
006
001
007
009
NIM
201010241
201010241
201010241
201010242
201010242
201010243
201010243
201010244
201010244
201010245
201010245
201010245
Nama
Siti
Siti
Siti
Beti
Beti
Eli
Eli
Rosi
Rosi
Eci
Eci
Eci
Kode_Matkul
001
004
008
002
005
005
008
003
006
001
007
009
2. BCNF
o
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.
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.
0.
Tabel Pekerjaan
Belum Normal
NIP
001
Nama
Man
Jabatan
Analisis
002
Rizal
Analisis
003
Hanif
Programer
Keahlian
Acces
Oracle
MySQL
Oracle
C
VB
Lama
6 tahun
3 tahun
2 tahun
4 tahun
4 tahun
5 tahun
Normal BCNF
NIP
001
002
003
Nama
Man
Rizal
Hanif
Jabatan
Analisis
Analisis
Programer
Nama
Man
Man
Rizal
Rizal
Hanif
Hanif
Hanif
1.
Keahlian
Lama
6 tahun
3 tahun
2 tahun
4 tahun
4 tahun
5 tahun
8 tahun
Tabel Sales
Belum Normal
Id_Sales
S001
S002
S003
S004
S005
Nama_Sales
Ria
Anti
Ani
Maya
Wulan
Telepon
3513214, 3541245
6548143, 5825143, 7563249
085337732666
6836592
6823928, 081234321454
Normal BCNF
Id_Sales
S001
S002
S003
S004
S005
Nama_Sales
Ria
Anti
Ani
Maya
Wulan
Nama_Sales
S001
S001
S002
S002
S002
S003
S004
S005
S005
Telepon
3513214
3541245
6548143
5825143
7563249
085337732666
6836592
6823928
081234321454
2.
Table Mahasiswa
Belum Normal
NIM
201010241
201010242
201010243
201010244
201010245
Nama
Siti
Beti
Eli
Rosi
Eci
Kode_Matkul
001, 004, 008
002, 005
005, 008
003, 006
001, 007, 009
Normal BCNF
NIM
201010241
201010242
201010243
201010244
201010245
Nama
Siti
Beti
Eli
Rosi
Eci
Nama
Siti
Siti
Siti
Beti
Beti
Eli
Eli
Rosi
Rosi
Eci
Eci
Eci
Kode_Matkul
001
004
008
002
005
005
008
003
006
001
007
009