Bab 8 Penormalan
Anda akan mempelajari : Apa itu penormalan & peranannya dalam rekabentuk rek abentuk pangkalan data Bentuk penormalan UNF,1NF, 2NF, 3NF, dan BNF Bagaimana penormalan bia!a ditukar dari bentuk normal renda" ke tinggi Ba"a#a penormalan dan permodelan $% digunakan !erentak utnuk meng"a!ilkan rekabentuk rek abentuk pangkalan data yang baik B"# !itua!i tertentu tert entu memerlukan ketaknormalan utk menjana maklumat !e'ara 'ekap
Anda akan mempelajari : Apa itu penormalan & peranannya dalam rekabentuk rek abentuk pangkalan data Bentuk penormalan UNF,1NF, 2NF, 3NF, dan BNF Bagaimana penormalan bia!a ditukar dari bentuk normal renda" ke tinggi Ba"a#a penormalan dan permodelan $% digunakan !erentak utnuk meng"a!ilkan rekabentuk rek abentuk pangkalan data yang baik B"# !itua!i tertentu tert entu memerlukan ketaknormalan utk menjana maklumat !e'ara 'ekap
(adual Pangk Pangkalan alan data & Penormalan (adual adala" blok a!a! di dalam rekabentuk pangkalan data Penormalan adala" pro!e! untuk menentukan atribut kepada entiti
)engurangkan pertindi"an data )engurangkan )embantu meng"apu!kan anomali data )eng"a!ilkan )eng"a!ilk an ka#alan pertindi"an ter"adap jadual yang !aling ber"ubung
(adual Pangkalan data & Penormalan Para! penormalan
UNF * Unnormali+e orm 1NF % Fir!t normal orm 2NF % -e'ond normal orm 3NF % ."ird normal orm /NF % Fourt" normal orm
Perlukan penormalan
Pemer"atian aja" /01 P(NU) di'adangkan menjadi kun'i utama ema!ukan data ke dalam jadual menyebabkan ke#ujudan data yang tidak kon!i!ten (adual menunjukkan anomali data
.ukar4ema!kini
.amba"
)enguba" (B5A-Pekerja baru perlu diberikan projek
6apu!
(ika pekerja di"apu!kan, data lain yang ber"ubung dengannya akan "ilang
-andaran Fung!ian Penormalan bera!a!kan anali!i! !andaran ung!ian (ika A dan B adala" atribut4!et atribut utk "ubungan , maka B ber!andaran ung!ian kpd A, jika !etiap nilai A dlm menentukan dgn unik nilai B dlm 0 7A, B A → B A iala" penentu 7!ebela" kiri7tentukan !atu nilai !bl" kanan A menentukan B atau B ber!andar ung!ian ke ata! A0 onto": !1 : NoP → Nama, Alamat, .5a"ir !2 : 9-BN
→
.ajuk, Penuli!
-andaran Fung!ian !1 : NoP → Nama, Alamat, .5a"ir P$NUNA No23P Nama A lamat .25a"ir sf1
!2 : 9-BN → .ajuk, Penuli! BUU 9-BN .ajuk Penuli! sf2
-andaran Fung!ian
-andaran ung!ian ke ata! ; 1 atribut penentu bole" terdiri dpd ; 1 atribut0 onto": nopekerja, noprojek → ma!apekerjaprojek
-andaran ung!ian penu" tidak ada atribut yg tak berkenaan0 t": Pekerja7nopekerja, namapekerja, tarik"la"ir (ika nopekerja → tarik"la"ir
5angka" Penormalan BENTUK TIDAK NORMAL Buang kumpulan berulang
BENTUK PENORMALAN PERTAMA Buang sandaran separa
BENTUK PENORMALAN KEDUA Buang sandaran transitif
BENTUK PENORMALAN KETIGA Buang sandaran dpd sandaran fungsian
BENTUK PENORMALAN BOYCE CODD
Bentuk .idak Normal 7UNF
(adual tidak memenu"i !yarat "ubungan jadual mempunyai kumpulan berulang sf1 N$%Pee!"#
Pee!"#
No2Pekerja
NamaP
→
N#P '#(#)#* K+!s+s
(abatan
3ur!u!
sf1 Pee!"# N$%Pee!"# N#P
'#(#)#* K+!s+s
T#!,-
123
Y+s+f
TR
456 678
'+*#,, TK M#!#& T M#,s#!#-
01.11.99 12.06.99 22.06.00 03.08.00 01.11.99
C '#/# COBOL $P!$
.arik"
.ukar UNF ke 1NF Buang kumpulan berulang 7penu"kan !el ko!ong .amba" kun'i utama dalam kumpulan Pee!"# berulang
N$%Pee!"# 123 123 456 678 223 223
N#P Y+s+f Y+s+f '+*#,, M#!#& M#,s#!#M#,s#!#-
'#(#)#* TR TR TK T T T
K+!s+s C '#/# COBOL $P!$ C P#s#
2
T#!,01.11.99 12.06.99 22.06.00 03.08.00 21.08.00 15.10.00
Bentuk Penormalan Pertama 71NF (adual penu"i !yarat "ubungan -emua atribut atomik
6a!il 1NF Pee!"# N$%Pee!"# 123 123 456 678 223 223
N#P Y+s+f Y+s+f '+*#,, M#!#& M#,s#!#M#,s#!#-
'#(#)#* TR TR TK T T T
K+!s+s C '#/# COBOL $P!$ C P#s#
T#!,01.11.99 12.06.99 22.06.00 03.08.00 21.08.00 15.10.00
Bentuk Penormalan edua 72NF Berada dlm 1NF -etiap atribut bia!a ber!andar penu" pada ke!eluru"an kun'i utama sf1 N$%Pee!"# K+!s+s → T#!,kumpulan sf2 itu0 N$%Pee!"# → N#P '#(#)#* NoPekerja ur!u! NamaP (abatan .arik" Pekerja sf1 sf2 sf2 &e!+##* s#*#!#* se#!# :A)!,(+) (,#s# (e!s#*#! see*+-*#
Bentuk Penormalan edua 72NF Pee!"# N$%Pee!"# 123 123 456 678 223 223
K+!s+s C '#/# COBOL $P!$ C P#s#
N#P Y+s+f Y+s+f '+*#,, M#!#& M#,s#!#M#,s#!#-
'#(#)#* TR TR TK T T T
T#!,01.11.99 12.06.99 22.06.00 03.08.00 21.08.00 15.10.00
Anomali:
Penukaran !atu nilai dpd !atu lajur melibatkan beberapa bari! Ada 2 kun'i0 edua2 nilai diperlukan utk tamba" rekod0 Apaka" nilai utk NoPekerja jika kur!u! baru dita#arkan tetapi belum mendapat tempa"an lagi>
.ukar 1NF ke 2NF 5etakkan atribut bia!a ber!ama kun'i utama 2
yg berkaitan mengikut !andaran ung!ian Pee!"#2
No2Pekerja
sf1 N$%Pee!"# K+!s+s → T#!,sf2 N$%Pee!"# → N#P '#(#)#*
3ur!u! NamaP
(abatan .arik"
sf1 sf2
Pee!"#2
Pe*$!#* 2 K+!s+s%Pee!"#
No2Pekerja 3ur!u! .arik"
6a!il 2NF K+!s+s%Pee!"# =#s, sf1
No2Pekerja 3ur!u! .arik"
Pee!"# =#s, sf2
NoPekerja NamaP (abatan
Bentuk Penormalan etiga 73NF Berada dlm 2NF .idak mempunyai !andaran tran!iti 7atribut bia!a ber!andar kpd atribut bia!a yg lain
Bentuk Penormalan etiga Pe#*>>#* 73NF *$e#*>>#* *#e #>e* #?#s#* 8091 1563 4563 5233 6696
Pe#*>>#*
A, A- A(+ A@,@ A&,!
sf2
U)#!# e#)#* U)#!# T,&+! B#!#)
sf1 *$e#*>>#* → *#e #>e* #?#s#* sf2 #>e* → #?#s#*
nopelanggan namapel sf1
#eR#-* #e# M$-
agen
ka#a!an
Bentuk Penormalan etiga Pe#*>>#* 73NF *$e#*>>#* *#e#*>>#* #>e* #?#s#* 8091 1563 4563 5233 6696
A, A- A(+ A@,@ A&,!
#eR#-* #e# M$-
U)#!# e#)#* U)#!# T,&+! B#!#)
Anomali:
jika agen -alle" ditukar ke ka#0 -elatan, beberapa rangkap me!ti ditukar0 Agen baru utk ka#a!an tara tidak bole" dima!ukkan !e"ingga pelanggan diberikan agen itu0 (ika nopelanggan ?233 di"apu!kan, maklumat agen
.ukar 2NF ke 3NF Pinda"kan atribut bia!a yg ber!andar kpd atribut bia!a yg lain dan letakkan dlm jadual baru degan atribut penentu !ebagai kun'i sf1 *$e#*>>#* *#e #>e* #?#s#* utama0 Pe#*>>#* →
sf2 #>e* → #?#s#*
nopelanggan namapel
agen
ka#a!an
sf1 sf2 Pe#*>>#*
nopelanggan namapel
Pe*$!#* 3N A>e*
agen
agen
ka#a!an
6a!il 3NF Pe#*>>#* *$e#*>>#* 8091 1563 4563 5233 6696
A>e* *#e#*>>#* A, A- A(+ A@,@ A&,!
#>e* #eR#-* #e# M$-
#>e* #eR#-* # M$-
#?#s#* U)#!# e#)#* T,&+! B#!#)
=#s, sf2 =#s, sf1
7BNF Berada pada 3NF -etiap penentu adala" 'alon kun'i sf1 *$)!, "$! → e*>#"#! >!e sf2 e*>#"#! → "$!
PELA'AR%PENGA'AR *$)!, A100 A100 A200 A300 A400
"$! ,@, M+@, K$&+)e! M+@, ,@,
Pe*>#"#! ,), M< N#s,! P#s# R#,-#* ,),
G!e A C B C B
Pe#"#!%Pe*>#"#!
nomatrik
sf1
major
pengajar
gred
e*>#"#! e*e*)+ )e)#, (+#* #$* +*,
Bentuk Penormalan Boy'e odd 7BNF Anomali:
atakan dlm Fi+ik, pengajar -iti diganti ole" $in!tein0 Penukaran me!ti dibuat dlm 2 7atau lebi" bari! 7anomali kema!kini atakan kita "endak tamba" !atu bari! dgn maklumat Pi'a!!o mengajar 5uki!an0 9ni tidak bole" dilakukan !e"ingga ada pelajar yg mendatar diba#a"nya0 7anomali tamba" (ika pelajar bernombor A3@@ dibuang unier!iti, kita ke"ilangan maklumat ai"an mengajar mu+ik0 7anomali "apu!
.ukar 3NF ke BNF Ba"agikan "ubungan kepada dua Atribut yang menjadi penentu diletakkan dalam jadual baru dan menjadi kun'i utama jadual ter!ebut0 sf1 *$)!, "$! → e*>#"#! >!e Pe#"#!%Pe*>#"#!
nomatrik major
sf2 e*>#"#!
pengajar
→
"$!
gred
sf1 sf2 Pe*$!#* BCN Pe*>#"#!
Pe#"#!
nomatrik pengajar
gred
pengajar major
6a!il BNF PELA'AR
=#s, sf1
*$)!, A100 A100 A200 A300 A400
e*>#"#! ,), M< N#s,! P#s# R#,-#* ,),
PENGA'AR
=#s, sf2
e*>#"#!
"$!
,),
,@,
M< N#s,!
M+@,
P#s#
K$&+)e!
R#,-#*
M+@,
>!e A C B C B
N.6 (adual P($. berada pada ta"ap 1NF
sf1 PRO'%NUM EMP%NUM → PRO'%NAME EMP%NAME 'OB%CLA C=G%=OUR =OUR sf2 EMP%NUM → EMP%NAME 'OB%CLA C=G%=OUR
andungan (adual P($. dlm 1NF
Figure 4.3
6A-95 1NF ke 2NF Figure 4.5
2NF
Figure 4.6
(adual P($. 3NF tetapi bukan dlm BNF
Figure 4.7
.ukar 3NF ke BNF