CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

30
1 CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU 1. Ñaët vaán ñeà 2. Daïng chuaån 1 3. Daïng chuaån 2 4. Daïng chuaån 3 5. Daïng chuaån Boyce-Codd 6. Chuaån hoùa löôïc ñoà CSDL baèng phöông phaùp phaân raõ

description

CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU. 1. Ñaët vaán ñeà 2. Daïng chuaån 1 3. Daïng chuaån 2 4. Daïng chuaån 3 5. Daïng chuaån Boyce-Codd 6. Chuaån hoùa löôïc ñoà CSDL baèng phöông phaùp phaân raõ. 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 ). - PowerPoint PPT Presentation

Transcript of CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

Page 1: 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õ

Page 2: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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

Page 3: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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

Page 4: CHUAÅN HOÙA CÔ SÔÛ 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

Page 5: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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

Page 6: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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

Page 7: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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

Page 8: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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

Page 9: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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

Page 10: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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 )

Page 11: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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

Page 12: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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 }

Page 13: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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.

Page 14: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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

Page 15: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄ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

Page 16: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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æ }

Page 17: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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

Page 18: CHUAÅN HOÙA 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

Page 19: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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

Page 20: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

20

Vi duPCGD(Malop, Mamon, MAGV)F={Malop, Mamon->MAGV; MAGV-

>Mamon} Phân raPCGD(Malop, MAGV)GV(MAGV, Mamon)

Page 21: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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.

Page 22: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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

Page 23: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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] … ►◄ …

Page 24: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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

Page 25: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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:

Page 26: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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;

Page 27: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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õ

Page 28: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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}

Page 29: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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á

Page 30: CHUAÅN HOÙA CÔ SÔÛ DÖÕ LIEÄU

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)