CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU
description
Transcript of CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU
1
CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU1. Ñaët vaán ñeà2. Daïng chuaån 13. Daïng chuaån 24. Daïng chuaån 35. Daïng chuaån Boyce-Codd6. Chuaån hoùa löôïc ñoà CSDL baèng
phöông phaùp phaân raõ
2
1. ÑAËT VAÁN ÑEÀXeùt quan heä ÑAËT_HAØNG (SoáÑH,
NgaøyÑH, MaõKH, MaõHH, SoáLöôïng )SoáÑ
HNgaøyÑ
HMaõKH MaõHH SoáLöôïn
gDH01 5/1/99 KH01 H01 50DH02 13/2/99 KH05 H02 30DH02 13/2/99 KH05 H03 40
Vôùi taäp Pth F = { SoáÑH NgaøyÑH, MaõKH ; SoáÑH, MaõHH SoáLöôïng }
=> Coù Truøng laép thoâng tin
3
1. ÑAËT VAÁN ÑEÀSöï truøng laép thoâng tin daãn ñeán:
Taêng chí phí löu tröõ Taêng chi phí kieåm tra RBTV Thieáu nhaát quaùn Vi phaïm tính toaøn veïn cuûa döõ lieäu
4
1. ÑAËT VAÁN ÑEÀToå chöùc laïi thaønh 2 quan heä nhö sau:ÑAËT_HAØNG ( SoáÑH, NgaøyÑH, MaõKH )
Vôùi F1 = { SoáÑH NgaøyÑH, MaõKH }CHITIEÁT_ÑH (SoáÑH, MaõHH, SoáLöôïng )
Vôùi F2 = { SoáÑH, MaõHH SoáLöôïng }
=> Khoâng coøn xaûy ra tình traïng truøng laép thoâng tin
5
1. ÑAËT VAÁN ÑEÀÑeå coù theå ñaùnh giaù moät caùch cuï theå
chaát löôïng thieát keá cuûa moät löôïc ñoà CSDL, luùc ñaàu E.F.Codd (taùc giaû cuûa moâ hình döõ lieäu quan heä) ñöa ra 3 daïng chuaån vaø sau ñoù R.F.Boyce vaø E.F.Codd caûi tieán daïng chuaån 3 goïi laø daïng chuaån Boyce-Codd (BC)
Caùc daïng chuaån ñöôïc ñònh nghóa döïa treân khaùi nieäm phuï thuoäc haøm
6
1. ÑAËT VAÁN ÑEÀMuïc ñích cuûa quaù trình chuaån hoùa
Ñeå bieåu dieãn ñöôïc moïi quan heä trong CSDL
Traùnh sai soùt khi theâm, xoùa, söûa döõ lieäu
Traùnh phaûi xaây döïng laïi caáu truùc cuûa caùc quan heä khi caàn ñeán caùc kieåu döõ lieäu môùi
7
2. DAÏNG CHUAÅN 1Thuoäc tính ñôn: Giaû söû coù löôïc ñoà
quan heä Q. Moät thuoäc tính A cuûa Q goïi laø thuoäc tính ñôn neáu noù khoâng phaûi laø moät söï tích hôïp cuûa nhieàu thuoäc tính khaùc
Ví duï 1: Moân khoâng laø thuoäc tính ñônCHUYEÂN_MOÂN (MAÕGV, MOÂN )
MAGV MOÂNGV01 PASC, CTDLGV02 CSDL, PTTKHT
8
2. DAÏNG CHUAÅN 1Ñònh nghóa: Moät löôïc ñoà quan heä Q ñöôïc goïi laø ôû
daïng chuaån 1 neáu moïi thuoäc tính cuûa Q ñeàu laø thuoäc tính ñôn
Moät löôïc ñoà CSDL ñöôïc goïi laø ôû daïng chuaån 1 neáu moïi löôïc ñoà quan heä con Qi cuûa noù ñeàu ôû daïng chuaån 1
9
2. DAÏNG CHUAÅN 1Ví duï:Quan heä CHUYEÂN_MOÂN khoâng ñaït daïng
chuaån 1Khaéc phuïc CHUYEÂN_MOÂN (MAÕGV, MOÂN )
MAGV MOÂNGV01 PASCGV01 CTDLGV02 CSDLGV02 PTTKHT
10
3. DAÏNG CHUAÅN 2Phuï thuoäc ñaày ñuû:Giaû söû coù 1 löôïc ñoà quan heä Q vaø taäp
phuï thuoäc haøm F. Thuoäc tính A ñöôïc goïi laø phuï thuoäc ñaày ñuû vaøo 1 taäp thuoäc tính X neáu:
a) A X+F
b) X A laø phuï thuoäc haøm nguyeân toá
( khoâng toàn taïi X’ X, maø X’ A )
11
3. DAÏNG CHUAÅN 2Ñònh nghóa: Moät löôïc ñoà quan heä Q ñöôïc goïi laø ôû
daïng chuaån 2 neáu Q ôû daïng chuaån 1 Moïi thuoäc tính khoâng khoùa cuûa Q
ñeàu phuï thuoäc ñaày ñuû vaøo caùc khoùa cuûa Q
Moät löôïc ñoà CSDL ñöôïc goïi laø ôû daïng chuaån 2 neáu moïi löôïc ñoà quan heä con Qi cuûa noù ñeàu ôû daïng chuaån 2
12
3. DAÏNG CHUAÅN 2Ví duï: Quan heä ÑAËT_HAØNG (SoáÑH, MaõHH,
NgaøyÑH, MaõKH, SoáLöôïng )Vôùi taäp Pth F = { SoáÑH NgaøyÑH,
MaõKH ; SoáÑH, MaõHH SoáLöôïng } Khoâng ñaït daïng chuaån 2
Khaéc phuïc: Taùch thaønh 2 quan heä:ÑAËT_HAØNG ( SoáÑH, NgaøyÑH, MaõKH )
Vôùi F1 = { SoáÑH NgaøyÑH, MaõKH }CHITIEÁT_ÑH (SoáÑH, MaõHH, SoáLöôïng )
Vôùi F2 = { SoáÑH, MaõHH SoáLöôïng }
13
3. DAÏNG CHUAÅN 2Nhaän xeùt Neáu löôïc ñoà quan heä Q chæ coù 1
khoùa K vaø K chæ coù 1 thuoäc tính thì Q ôû daïng chuaån 2
Moät löôïc ñoà quan heä Q ôû daïng chuaån 2 vaãn coù theå chöùa ñöïng söï truøng laép thoâng tin.
14
4. DAÏNG CHUAÅN 3Phuï thuoäc baéc caàu:Thuoäc tính A Q+ ñöôïc goïi laø phuï thuoäc
baéc caàu vaøo taäp thuoäc tính X neáu YQ+ :1) X Y F+ vaø Y A F+ 2) Y X F+
3) A (X Y)Khi ñoù X A ñöôïc goïi laø phuï thuoäc
haøm baéc caàu
15
4. DAÏNG CHUAÅN 3Ñònh nghóa: Moät löôïc ñoà quan heä Q ñöôïc goïi laø ôû
daïng chuaån 3 neáu Q ôû daïng chuaån 2 Moïi thuoäc tính khoâng khoùa cuûa
Q ñeàu khoâng phuï thuoäc baéc caàu vaøo moät khoùa naøo cuûa Q
Moät löôïc ñoà CSDL ñöôïc goïi laø ôû daïng chuaån 3 neáu moïi löôïc ñoà quan heä con Qi cuûa noù ñeàu ôû daïng chuaån 3
16
4. DAÏNG CHUAÅN 3Ví duï: Quan heä GIAÛNG_DAÏY(MaõLôùp,
MaõsoáGV, TeânGV, Ñòachæ )Vôùi taäp Pth F = { Maõlôùp MaõsoáGV;
MaõSoáGV TeânGV, Ñòachæ } Khoâng ñaït daïng chuaån 3
Khaéc phuïc: Taùch thaønh 2 quan heä:GIAÛNG_DAÏY(MaõLôùp, MaõsoáGV)Vôùi taäp Pth F1 = { Maõlôùp MaõsoáGV}GIAÙO_VIEÂN(MaõsoáGV, TeânGV, Ñòachæ )Vôùi taäp Pth F2 = {MaõSoáGV TeânGV,
Ñòachæ }
17
4. DAÏNG CHUAÅN 3Nhaän xeùt Chính phuï thuoäc haøm baéc caàu laø
nguyeân nhaân daãn ñeán tình traïng truøng laép thoâng tin
Daïng chuaån 3 laø tieâu chuaån toái thieåu trong thieát keá cô sôû döõ lieäu
18
5. DAÏNG CHUAÅN BOYCE-CODDÑònh nghóa: Moät löôïc ñoà quan heä Q ñöôïc goïi laø ôû
daïng chuaån Boyce-Codd (BC) neáu moïi phuï thuoäc haøm khoâng hieån nhieân cuûa F ñeàu coù veá traùi laø khoùa
Moät löôïc ñoà CSDL ñöôïc goïi laø ôû daïng chuaån BC neáu moïi löôïc ñoà quan heä con Qi cuûa noù ñeàu ôû daïng chuaån BC
19
5. DAÏNG CHUAÅN BOYCE-CODDNhaän xeùt: Neáu 1 löôïc ñoà quan heä Q ôû daïng
chuaån BC thì cuõng ôû daïng chuaån 3 Trong 1 löôïc ñoà quan heä Q ôû daïng
chuaån BC, vieäc kieåm tra phuï thuoäc haøm chuû yeáu laø kieåm tra khoùa noäi
20
Vi duPCGD(Malop, Mamon, MAGV)F={Malop, Mamon->MAGV; MAGV-
>Mamon} Phân raPCGD(Malop, MAGV)GV(MAGV, Mamon)
21
5. DAÏNG CHUAÅN BOYCE-CODDVí duï:ÑAËT_HAØNG ( SoáÑH, NgaøyÑH, MaõKH )
Vôùi F1 = { SoáÑH NgaøyÑH, MaõKH }CHITIEÁT_ÑH (SoáÑH, MaõHH, SoáLöôïng )
Vôùi F2 = { SoáÑH, MaõHH SoáLöôïng }
=> 2 quan heä ñeàu ñaït daïng chuaån Boyce-Codd.
22
6. CHUAÅN HOÙA LÖÔÏC ÑOÀ CSDL BAÈNG PHÖÔNG PHAÙP PHAÂN RAÕ Quaù trình chuaån hoùa 1 löôïc ñoà CSDL
nhaèm muïc ñích naâng cao chaát löôïng thieát keá hay cuï theå hôn laø ñöa caùc löôïc ñoà quan heä con töø daïng chuaån thaáp leân daïng chuaån cao hôn maø toái thieåu phaûi laø daïng chuaån 3.
Phöông phaùp phaân raõ laø 1 phöông phaùp duøng ñeå chuaån hoùa 1 löôïc ñoà CSDL
23
6. CHUAÅN HOÙA LÖÔÏC ÑOÀ CSDL BAÈNG PHÖÔNG PHAÙP PHAÂN RAÕSöï baûo toaøn thoâng tin Vieäc chuaån hoùa 1 löôïc ñoà quan heä
hay 1 löôïc ñoà CSDL phaûi baûo ñaûm 1 yeâu caàu: baûo toaøn thoâng tin
Pheùp phaân raõ Q thaønh Q1, Q2, … ñöôïc goïi laø baûo toaøn thoâng tin neáu:
TQ: TQ = TQ [Q1] ►◄ TQ [Q2] … ►◄ …
24
6. CHUAÅN HOÙA LÖÔÏC ÑOÀ CSDL BAÈNG PHÖÔNG PHAÙP PHAÂN RAÕÑònh lyù DelobelCho löôïc ñoà quan heä Q(XYZ) vaø taäp phuï
thuoäc haøm FNeáu X Y F+ thì pheùp phaân raõ Q
thaønh 2 löôïc ñoà quan heä con: Q1(XY) vaø Q2(XZ) laø baûo toaøn thoâng tin
25
6. CHUAÅN HOÙA LÖÔÏC ÑOÀ CSDL BAÈNG PHÖÔNG PHAÙP PHAÂN RAÕPhöông phaùp phaân raõ:BeginF+ = F \ { f F+ / VT(f) VP(f) Q+ }IF (F+ ) Then
BeginB1.Choïn 1 f0: X Y F+
B2.Taïo caùc löôïc ñoà quan heä con Q1 vaø Q2:
26
6. CHUAÅN HOÙA LÖÔÏC ÑOÀ CSDL BAÈNG PHÖÔNG PHAÙP PHAÂN RAÕQ1 = X Y
F1 ={ f F+ / VT(f) VP(f) Q1+ }
Q2 = Q+ \ YF2 = { f F+ / VT(f) VP(f) Q2
+ }B3.Phaân raõ ñeä quy Q1 vaø Q2
End;End;
27
6. CHUAÅN HOÙA LÖÔÏC ÑOÀ CSDL BAÈNG PHÖÔNG PHAÙP PHAÂN RAÕVí duï:Cho löôïc ñoà quan heä Q(ABCDEG) vaø taäp
pth F = { AE C (f1), CG A (f2), BD G (f3), GA E (f4) }
Khoùa cuûa Q laø {BDA}, {BDC} BD G : khoâng ñaït daïng chuaån 2=> Söû duïng phöông phaùp phaân raõ
28
6. CHUAÅN HOÙA LÖÔÏC ÑOÀ CSDL BAÈNG PHÖÔNG PHAÙP PHAÂN RAÕVí duï:
Q(ABCDEG)f3
Q1(BDG) Q2(BDACE)F1={BD G} F2 = {AE C}
Q21(AEC) Q22(BDAE)F21={AE C} F22={BDA E}
29
6. CHUAÅN HOÙA LÖÔÏC ÑOÀ CSDL BAÈNG PHÖÔNG PHAÙP PHAÂN RAÕNhaän xeùt: Thuaät toaùn phaân raõ nhö treân laø baûo
toaøn thoâng tin (ñònh lyù Delobel) Caùc löôïc ñoà quan heä con cuoái cuøng
(nuùt laù trong caây phaân raõ) ñeàu ít nhaát laø daïng chuaån 3
Thuaät toaùn phaân raõ coù theå taïo ra nhöõng löôïc ñoà quan heä con khoâng coù nhieàu ngöõ nghóa trong thöïc teá
30
6. CHUAÅN HOÙA LÖÔÏC ÑOÀ CSDL BAÈNG PHÖÔNG PHAÙP PHAÂN RAÕNhaän xeùt: Chaát löôïng cuûa CSDL keát quaû coù phuï
thuoäc vaøo vieäc choïn pth f0 ôû töøng böôùc phaân raõ
Thoâng thöôøng pth ñöôïc choïn laø pth gaây ra chaát löôïng xaáu cuûa löôïc ñoà quan heä. (pth khoâng ñaày ñuû, pth baéc caàu)