You are on page 1of 13

CHNG V: L THUYT THIT K C S D LIU C s d liu (CSDL) l ni lu tr lu di cc d liu ca h thng b nh ngoi.

. CSDL ny phi c t chc tt theo hai tiu ch: 1. Hp l, ngha l phi , khng d tha. 2. Tin li khi truy nhp, ngha l thao tc tm kim, cp nht, b sung v loi b cc thng tin phi din ra mt cch nhanh chng, thun tin. Ni dung ca chng ny l gii thiu mt s cng c thng dng trong qu trnh xy dng CSDL. I. PH THUC HM Khi nim v ph thuc hm (trong mt qun h) l mt khi nim c tm quan trng ht sc ln i vi vic thit k cc m hnh d liu. bit c ph thuc hm l g ta xt v d sau: V d: SOXE LOAIXE XEMAY= CHUSH 92N95501 92N95502 92N95504 92N95501 DREAMII WAVE@ DREAMII @ NAM HOA MY NAM

Bt hp l a ra rang buc nu 2 b d liu bng nhau trn SOXE th bng nhau trn LOAIXE v bng nhau CHUSH Rng buc nh vy ta gi l ph thuc hm. Nh vy: Ph thuc hm l mt loi rng buc d liu nhm m bo cc b d liu nu bng nhau trn tp thuc tnh ny th bng nhau trn tp thuc tnh khc. I.1.Mt s nh ngha nh ngha 1: Cho mt quan h r nh nghatn lc quan h R. X,Y R ta ni ph thuc hm X xc nhu hm Y hay Y thuc hm vo X, k hiu: X Y ng trn r nu trong r khng tn ti bt k 2 b d liu t1, t2 m: + t1[X] = t2[X] + t1[Y] t2[Y] Nhn xt: Nu ph thuc hm X xc nh hm Y ng trn r th ta ni r tha X Y. Cho quan h r (R), F l mt tp cc ph thuc hm c nh ngha nh sau: F= { / , R} Ta ni r tha F ( hay ng trn R) nu r tha tt c cc ph thuc hm trong F.

Cho lc quan R, F l mt tp ph thuc hm trn R. Mt quan h tng ng vi R ch c gi l th hin ca R nu quan h tha F. nh ngha: Cho mt quan h r nh ngha trn lc quan h R: X, Y R. Xt quan h r, gi s tha thuc hm XY v nu khng tn ti mt tp con tht s X ca X sao cho r cng tha ph thuc hm XY th ta ni Y ph thuc hm y vo X trong r. Ngi ta dng k hiu FD (Functional Dependency) ch ph thuc hm v FFD (Functinoal Dependency) ch ph thuc hm y . nh l 2.1: Cho mt quan h r nh ngha trn lc quan h R. X,Y R, ta c: - X Y l ph thuc hm trn r khi v ch khi X l kha ca quan h r(XY). - X Y l ph thuc hm y trn r khi v ch khi X l kha ti thiu ca quan h r(XY). II.2. H tin cho ph thuc hm H tin Armstrong Gi r(R) l lc quan h vi R={A1, A2,....,An} l tp cc thuc tnh; gi s X, Y, Z R, h tin Armstrong bao gm: A1: Tnh phn x: Nu Y X th X Y A2: Tnh tng trng: Nu Z R, X Y th ZX ZY, trong ZX = Z X. A3: Tnh bc cu: Nu XY v Y Z th X Z. V d: Xt mt s v d p dng: Cho AB C, CA. Chng minh: BCABC Chng minh: Theo gi thit: C A suy ra BC AB (1) (Tnh tng trng) Mt khc ta c: AB C (gi thit) Suy ra: AB ABC (2) (tnh tng trng) T (1) v (2) suy ra B ABC (tnh bc cu). a. B 1 H tin Armstrong l y , c ngha l nu F l tp ph thuc hm ng trn quan h r v f: X Y l mt ph thuc hm c suy dn t F nh h tin Armstrong th f ng trn r. b. B 2: A4: Tnh hp: Nu X Y v X Z th X Y Z. A5: Tnh t bc cu: Nu X Y v WY Z th XWZ. A6: Tnh tch: Nu XY v ZY th XZ. c. Bao ng ca tp thuc tnh: nh ngha: Cho lc quan h R, tp thuc tnh hm F trn R . X R, bao ng ca X theo F l mt tp cc thuc tnh c nh nh sau: X+F ={A/A R, F |= XA}
A

V d: Cho R = (A, B, C, D ) F = {AC, CD B, BDE} Tnh bao ng: AD, AB AD+F = ADCBE AB+F = ABC Thut ton tm bao ng ca tp thuc tnh trong lc quan h: - Cho tp ph thuc hm F trn tp thuc tnh R v mt tp con cc thuc tnh X, X+ ta xut pht t thuc tp X v b sung dn cho X cc thuc tnh v phi P ca cc phthuc hm T P F tha iu kin T X. Thut ton s dng khi khng th b sung thm thuc tnh no cho X. Thut ton : u vo: - LQH p = (R, F ) - Tp thuc tnh X R A u ra: X+F = {A /A R , F |= X A } Phng php: Y := X ; Repeat Z := Y; For each FD TP in F do If T Y then Y:= Y P Until Y := Z; X+F = Y

V d: Cho quan h r trn lc quan h R(A, B, C, E, F ) v F l tp ph thuc hm: F = { A E , DC B , FC,AD }. Tm bao ng ca A v AF . A+ = AED Ta c : AF+ = AFECDB. d. B XY c th suy dn t F nh h Armstrong khi v ch khi Y X+ Chng minh ( ) Nu F |= X Y th Y X+ t Y = A1,A2, An Ai Y ta c F |= XAi (lut tch)
+ + Ai X Y X

( ) Y X+ th F |= XY Gi Y = A1,A2,, An.

+ Ai ( i=1,,n), Ai X F |= X Ai ( i= 1,,n)

F |= XY

(hp).

e. Dng bao ng ca tp thuc tnh xc nh kha mt lc quan h nh l Cho R l mt tp cc thuc tnh, F l tp ph thuc hm trn R v X R. K l kha ca R di F khi v ch khi K+= R Ta c thut tan tm kha ca lc nh sau : Xut pht t mt siu kha K , lai dn cc thuc tnh trong K, bo tan bbt bin K+=R Thut ton: u vo: LQH p = (R,F) u ra: kha K R tha mn: - K+ =R. - "A R: (K\A)+ R. Phng php: := R {K l kha} or mi A R do F (K\A)+ V d: Cho quan h r trn lc quan h R=(A,B,C,D) v tp ph thuc hm F: F= {AB C, C A, B D}. Tm kha ca lc quan h R. Ta c: + gi s K l kha, ta c: K= ABCD + Loi A trong K ta c K = BCD (1), nu loi C trong K ta c K = ABD (2) + Loi D trong K (1) ta c K = BC l kha + Loi D trong K (2) ta c K = AB l kha. +Vy kha ca lc quan h: K ={BC, AB} Nhc im: +Bt u tp khoa vi s lng thuc tnh ln +Xt tt c thuc tnhtrong R(A X).

Nhn xt: +Nhng thuc tnh no xut hin duy nht pha phi tp ph thuc hm th tham gia vo kha. +Nhng thuc tnh xut hin duy nht pha tri th chc chn tham gia vo kha. +Nhng thuc tnh khng xut hin trong cc ph thuc hm chc chn phi tham gia vo kha +Nhng thuc tnh vu nm v phi l thuc tnh c kh nng tham gia vo kha hoc khng tham gia vo kha.

T nhn xt trn ta c: Cho <R,F> Gi T= X (Tp nhng thuc tnh xut hin v tri trong trong PTH F) X Y F P = Y (tp nhng thuc tnhut hin v tritong PTH F). XY F Nu k l kha th: (R\P) K (R\P) (T P) a) Ci tin: T:= X XY F P := X Y F
Y

K:=(R\P) (T P) For mi thuc tnhA T Pdo If (K\A)+=R then K=K\A Return k; Nh vy trong c 2 phng php trn ta c kt lun. Bt u vi mt siu khathid ta c th tn c kha + Nu (R\P)+ =R th c quan h R ch c duy nht mt khka + Nu T P= th trn lc quan h Rch c duy nht 1 khal R f. Dng th ca tp ph thuc hm xc nh kha ca mt lc quan h 1. th ca mt tp ph thuc hm Ta c th biu din mt ph thuc hm bng mt th nh sau:

- Ph thuc h m A B

A - Ph thuc hm AB C B A B

-Ph thuc hm ABC D

C B A C th ca mt tp ph thuc hm:Cho mt tp ph thuc hm F,ta c th biu din thnh mt thvi qui tc: Mi mt thuc tnh l mt nh trong th. V d: Cho mt tp ph thuc hm F={A B, AB C, BD,CDE} ta biu din thnh th sau: A C E B D Trong th, ta nh ngha : nh gc: l nh m ch c im i ca mi tn. V d: nh A ca th trn nh ngn: l nh ch c im n ca mi tn. Vi d: nh E ca th trn nh trung gian: l nh va c im n, va c im i ca mi tn. V d: nh B, C, D ca th trn. 2. Dng th ca mt tp ph thuc hm xc nh kha ca lc quan h: Cho lc quan h r (R) v tp ph thuc hm F trn R. Thut gii dng th tm ph thuc hm F trn R - Cc nh gc ca th tm kha lc quan h. - Cc nh gc ca th l kha ca lc - K l tp cc nh gc: Nu K+F= R th K l kha. Ngc li, ta thm ln lt vo K mt s thuc tnh l nh trung gian cho n khi K+F = R. Trong th ca v d trn, A l kha ca R. g. Ph ca tp ph thuc hm Cho tp ph thuc hm F v G trn tp thuc tnh R. nh ngha 1 - Ta ni F suy ra G, k hiu F|= G, nu v ch nu G+ F+. - Ta ni F v G tng ng, k hiu F G, nu v ch nu F|=G v G|=F, khi ta ni G l mt ph ca F v ngc li. nh ngha 2 Tp ph thuc hm F gi l ti thiu nu: 1. "f F X A (v phi ch c 1 thuc tnh)

- Hm ph thuc A BC

2. Khng tn ti f= X A F v Z X tha F+= (F\{F} {Z A})+ 3. Khng tn ti f = X A F sao cho F+ = (F\{f}+ nh ngha 3: Tp ph thuc hm F, tp ph thuc hm G gi l ph ti thiu ca F khi v ch khi G l mt ph ca F v G l ti thiu. V d: Xt lc quan h R(A,B,C,D,E) v tp ph thuc hm: F={AB C, C A, CB DE, AB DE} Ta thy CB DE l tha. Xt F ={ABC, C A, AB DE} F F/ F |= CB DE (v CB+F = CBADE) Mi tp ph thuc hm u tng ng vi mt tp thuc hm m v phi ca cc ph thuc hm ch c duy nht mt thuc tnh. Hin nhin nhn xt trn l ng: Nu trong F c mt ph thuc hm X A1A2....An thay bi X A1, X A2, X An. Cho 1 tp ph thuc hm F, ph thuc hm X A F l tha nu: + Mt tp ph thuc hm c gi l khng d tha nu khng c bt c mt ph thuc hm no l tha. + Cho mt tp hp thuc hm F, X "A F. X A l tha A X+F\{A A} Phng php loi cc thuc tnh d tha trong F: For mi X A F do IF A X+F\{A A} then F:=F\{X"A}; RETURN F. Cho mt tp ph thuc hm F, X A F, B X, B c gi l tha nu: F\ {A A} {X\B A} F V d : Xt tp ph thuc hm F F={AB"C, A"D, D"B} Xt AB C B l tha Do F= {A C, A D, D B} F Cho tp ph thuc hm F, X A F, B X l tha A (A|B)+ Phng php loi cc ph thuc hm d tha: For mi X A F do For mi B X do IF A(X\B)+F then F=F\{X A} {X\B A} Mt tp ph thuc hm c gi l cc tiu nu tha mn cc iu kin sau: (1) Mi mt ph thuc hm ch c duy nht 1 thuc tnh v phi . (2) Khng tn ti bt c 1 ph thuc hm no m v tri c nhng thuc tnh tha.

(3) Khng tn ti bt c 1 ph thuc hm no tha. Cho mt tp ph thuc hm F nu G l tp ph thuc hm tng ng vi F. M G l cc tiu th ta ni G l ph cc tiu ca F. Phng php tm ph cc tiiu ca R. Bc 1: Lm cho F tha mn iu kin (1) Bc 2: Lm cho F tha mn iu kin (2) Bc 3: Lm cho F tha mn iu kin (3) II. TCH MT QUAN H Nh ta bit m hnh quan h do cold xut nm 1970, c nhng u im vt tri so vi cc m hnh d liu trc : - n gin: cc d liu c biu din di dang duy nht, l cc bng gi tr, kh t nhin v d hiu i vimi ngi s dng. - Cht ch: Cc khi nim c hnh thc ha cao ,cho php s dng cc cng c Ton hc,cc thut ton. - Tru tng ha cao: m hnh ch mc quan nim, ngha l c lp vi cc mc vt l, vi s ci t, vi thit b. Nh m lm tng thm tnh c lp gia d liu v chng trnh. - Cung cp cc ngn ng truy cp d liu mc cao (nh SQL,.): nh d s dng v tr thnh chun. Tuy vy, khi cn thit k mt d liu quan h thng i hi phi cc lt quan h. Vic chn tp cc lc ny c th tt hn hay xu hn tp cc lc khc da trn mt s tiu chun no . Trng tm ca vic thit k cc lc c s d liu l ta t chc bao nhiu lc v mi lc c nhng thuc tnh no m bo cc tinh cht sau : Khng trng lp d liu liu: Trong mt quan h, gi tr ca mt thuc tnh no chim dung lng b nh ln khng c lp li nhiu ln. II.1.Tch mt lc quan h Php tch mt lc quan h R=A1, A2,.An l vic thay th lc quan h R bng mt tp lc R1,R2,Rn trong Ri R,i=1n. R1 R2 R3 Rn v Ri RJ vi i j. V d: Vi lc quan h :r (M_HANG,MAKH,TENKH,DCKH,SOLUONG,DONGIA)tac ph thuchm : r1(M_HANG,MAKH,SOLUONG,DONGIA),r2(MAKH,TENKH,DCKH) Vic phn r mt lc ph thuc hm xc nh trn lc y . a. Php tc bo ton thng tin nh ngha 1: Cho mt lc quan h Rv tp ph thuc hm F trnR .Php tch ca lc quan h R l vic thay bi mt tp cc lc R1, R2, ..., Rk sao cho R1 ... Rk = R

K hiu: r(R1,R2, R3,....,Rk) nh ngha 2: Cho quan h r trn lc quan h R v F l tp ph thuc hm xc nh trn R, r(R1,R2, R3,....,Rk). Ta ni rng r l mt php tch bo ton thng tin nu " quan h r(R) ta c: r= PR1(r) wv PR2(r) wv .....wv PRk(r) K hiu: mr(r) Ta c: mr(r) r. b. Kim tra php tch bo ton thng tin: Liu mt php tnh lt r thnh cc lc con r1,r2,.rn da trnbo ton thng tin hay khng, c kim tra qua phng php sau ay gi l tableau. Thut ton: Kim tra php tch bo ton thong tin . Vo: R, F, r =(R1,R2,.Rk);R=A1,A2,.,An Ra : Kt lun r c bo tyan thng tin (theo F). Phng Php Bc 1: Xy dng bng c k dng v ct - Mi mt dng tng ng vi mt lt tch. - Mi mt ct tng ng vi 1 thuc tnh ca R. A1 R1 R2
. .

A2

...........

An

Tin hnh khi to gi tr cc : aj nu Aj Ri ti v tr (dng i,ct j)= bjj nu Aj Ri Bc 2: Bin i bng (lp ) Xt ln lt tng ph thuc hm XY F, tm trong bng tng cp hai dng bao gm bng nhau trn X. Nu tn ti hai dng nh vy th bin i cc gi tr pha Y sao cho 2 dng ny cng bng nhau Y theo nguyn tc sau: + Nu 1 trong 2 nhn gi tr l a th cn li bng a. + Nu trong trng hp c 2 nhn gi tr l b th cho ny bng kia. iu kin dng: Qa trnh ny lp i lp li cho n khi trong bng xut hin 1 dong ton l a sau khi xt ht 1 lt ph thuc hm m khng c s thay i trn bng. Kt lun: + Nu trong bng c mt dng ton l a th ta ni php tch bo ton thng tin

v ngc li ta ni php tch khng bo ton thng tin . V d: Cho lc quan h R(A,B,C,D,E,F,G) tha mn ph thuc hm: F={A BC, AD EF, D G} 1) Kim tra php tch r ={ABC, AEF, ADG} c bo ton thng tin khng ? Ta c: A B C D E F G a1 a2 a3 b14 b15 b16 b17 ABC b22 b23 b24 a5 a6 b27 a1 AEF b32 b33 a4 b35 b36 a7 a1 ADG Xt A BC (2,2) = a2 (3,2) = a2 (2,3) = a3 (3,3) = a3 Ta c bng sau: A a1 ABC a1 AEF a1 ADG

B a2 a2 a2

C a3 a3 a3

D b14 b24 a4

E b15 a5 b35

F b16 a6 b36

G b17 b27 a7

Xt AD EF (khng thay i) D F(khng thay i) A BC (khng thay i) AD EF (khng thay i) D G (khng thay i) 2) Kim tra php tch r ={ABCE, ADEF,DG} c bo ton thng tin khng? Ta c: ABCE ADEF DG Xt A BC (2,2) = a2 , (2,3)= a3 AD EF (khng thay i) DG (2,7) = a7 Ta c bng sau: A a1 a1 b31 B a2 b22 b32 C a3 b23 b33 D b14 a4 a4 E a5 a5 b35 F b16 a6 b36 G b17 b27 a7

A B C D E a1 a2 a3 b14 a5 ABCE a1 a2 a3 a4 a5 ADEF b31 b32 b33 a4 b35 DG Vy php tch bo ton thng tin. nh l: Cho <R,F>php tch (R1,R2)ca R l bo ton khi F|= (R1 R2)R1\R2. V d: R(A,B,C,D,E) F= {A B, ACDE r= (AB, ACDE) AB ACDE AB\ ACDE

F b16 a6 b36

G b17 a7 a7

thng tin khi v ch

II.2 CHUN HA LC QUAN H Khi thit k lc quan h phi tun theo mt s nguyn tc khi thao tc trn d liu khng dn n s d thng d liu,Cng vic thit k d liu theo mt dng chun no gi l chun ha d liu. L thuyt c s d liu nay a ra nhiu dng chun,tuy nhin xt thy rngd liu trong thc t khng n ni qu phc tp,trong qu trnh ny chng ti ch a raba dng chun nht l dng1, dng2, dangj 3,ngoi ra cn c dang chun Boyce codd(BCCF). a.Cc dng chun trong lc quan h Do vic cp nht d liu (qua php chn,loi b , sa i)gy nn nhng d thng, cho nn cc quan h nht thit phi c ph bin i thnh dng ph hp,qu trnh gi l qu trnh chun ha.Quan h c chun hal quan h trong mi min ca mt thuc tnh ch cha nhng gi tr trong quan h cng nguyn t. Quan h c cha cc min tr l nhng nguyn t gi l quan h khng chun ha.Mt quan h c chun ha c th tch thnh mt hoc nhiu quan h chun ha khc v khng lm mt thng tin .Gii hn trong vic xem xt cc lc quan h vi cc ph thuchm,ta nh ngha di y cc dng chun 1NF,2NF,3NF. b. Mt s nh ngha Thuc tnh kha:Mt thuc tnh trong lc quan h r(R)c gi l thuc tnh kha nu n l mt thnh phn ca kha no ca r.Ngc li c gi l thc tnh khng kha. Ph thuc hm y : Cho lc quan h r(R), R l tp thuc tnh, X v Y l hai tp con khc nhau ca R, Y l ph thuc hm y vo X nu Y l ph thuc hm vo X nhng khng ph thuc hm vo bt k tp hp con thc s no ca X.

Ph thuc bc cu: Cho lc quan h r(R), R l tp thuc tnh, X l tp con ca R, A l mt thuc tnh thuc R, A c gi l ph thuc hm bc cu vo X trn r nu tn ti mt tp con Y ca R sao cho X Y, Y A nhng Y X vi A XY. c. Dng chun 1 (Frist Normal Form 1NF) Mt lc quan h 1NF nu mi thuc tnh ca lc l nguyn t. V d: Kiu record khng nguyn t. + Cho lc quan h R(B,O,I, S, Q,D) v tp ph thuc hm: F={S D, I B, IS Q, B O} Dng chun 1 c xem nh l mt qui c trn lc quan h v tc nhin ta tha nhn lc lun c dng chun 1. d. Dng chun 2 (Second Normal Form 3 NF) Lc quan h R c gi l 2 NF nu X A trn R(A X) th + Hoc l A l thuc tnh kha. + Hoc X khng l phi l tp con tht s ca kha. V d: Cho lc quan h R(A,B, C, D) tha mn ph thuc hm: F={A BCD, C D} e. Dng chun 3 (Third Normal Form 3NF) Lc quan h R c gi l 3NF nu X A trn R (A X) th + Hoc A l thuc tnh kha + Hoc X l siu kha V d: Cho lc quan h A(A,B,C,D) tha mn ph thuc hm F={AB CD, D A} f. Dng chun BCNF (BOYCE- CODD) Lc quan h R c gi l BCNF nu X A trn R (A X) th + X l siu kha V d: Cho lc quan h R(A, B,C, D) tha mn ph thuc hm F={ AB C, BC A} g. Dng chun mt lc c s d liu: Mt lc c s d liu (mt tp hp nhiu lc quan h) gi l dng chun i ( i= 1,2,3..) nu mi lc con ca n u dng chun i. h. Chun ha mt lc c s d liu Trong nhng tit trc ta ng ngha php tch mt lc quan h thanh nhiu lc con bo ton thng tin .Sau y ,ta xt mt cch tch mtlc quan h thnh nhiu lc con bo ton ph thuc hm dng chun 3NF. Thut ton: Php tch bo ton ph thuc hm thnh 3NF Vo: R,F Ra: = {R1, R 2,...., RK }RI l 3 NT l bo ton ph thuc hm Phng php: Bc 1: - Tm ph cc tiu G ca F - =

Bc2: -Nu trong R c thuc tnh khng xut hin trong PTH th a cc thuc tinh ny thnh 1 lc trong , loi cc thuc tnh ny khi R Bc3: Nu tn ti mt ph thuc lin quan n tt c cc thuc tnh th: = {R }, kt thc Ngc li qua bc 4; Bc 4: Vi mi cc ph thuc hm X A, X A2,....., X Ak th to thnh 1 lc XA1A2.....Ak. Bc 5: Nu tn ti Ri, Rj r m Ri Rj th loi Ri khi r V d: R(A, B,C, D,E,F,G), F={AB C, AB D, C B, CD E} - F: l ph cc tiu - F,G khng c trong PTH r= (F,G) Xt R(A,B,C,D,E) r = (ABCD, CB, CDE). Vy r = (FG, ABCD, CDE) Php tch tm c theo phng php trn lun bo ton PTH tuy nhin c th khng bo ton thng tin. Trong trng hp ny ta b sung thm vo php tch lc mt kha K, vi K l mt kha bt k ca lc quan h R. Vy r= r {k}

You might also like