You are on page 1of 15

KHOA CNG NGH THNG TIN

B MN CNG NGH PHN MM

Bin son :
- Nguyn Minh Qu

Ti liu lu hnh ni b

Bi tp L thuyt CSDL quan h

Bin son: B mn Cng ngh phn mm

MC LC
CHNG I ...................................................................................................... 3
TM BAO NG CA TP THUC TNH ....................................................... 3
1. nh ngha bao ng ................................................................................ 3
2. Thut ton tm bao ng ca tp thuc tnh ............................................. 3
Thut ton 1 ................................................................................................. 3
Bi tp p dng: ........................................................................................... 3
CHNG II ..................................................................................................... 6
TM PH TI THIU CA TP PH THUC HM ........................................ 6
nh ngha ph thuc hm d tha:............................................................. 6
nh ngha ph tng ng:...................................................................... 6
nh ngha ph ti thiu: .............................................................................. 6
Phng php tm ph ti thiu: .................................................................... 6
nh ngha ph thuc hm d tha:............................................................. 7
Bi tp p dng ............................................................................................ 8
CHNG III .................................................................................................. 12
TM KHO TI THIU CA LC QUAN H ....................................... 12
1. nh ngha kho ti thiu: ...................................................................... 12
2. Pht biu bi ton tm kho ti thiu: ..................................................... 12
Bi tp p dng .......................................................................................... 12

Version 1.0 10/2005 UTE Hng Yn

Bi tp L thuyt CSDL quan h

Bin son: B mn Cng ngh phn mm

CHNG I
TM BAO NG CA TP THUC TNH
1. nh ngha bao ng : Cho lc quan h R=(U, F). Bao ng ca
tp thuc tnh X (X U), k hiu X+ l tp tt hp c cc thuc tnh m c
th suy din logic t X.

Nhn xt: Bao ng ca tp thuc tnh X thc cht l tp tt c cc thuc


tnh m ta c th vi ti (hay suy ra) n t tp thuc tnh X ban u.
Vic tnh ton bao ng l c s cho vic tm kho, tm tp kho, kim tra
mt ph thuc hm no c tn ti trong quan h hay khng...

2. Thut ton tm bao ng ca tp thuc tnh


u vo: Tp thuc tnh X cn tnh bao ng trn lc quan h R=(U,F).
u ra: Tp thuc tnh X+
+

Phng php:
Kim tra ln lt tng ph thuc hm fi = , nu X+ th kt np v
phi (tc ) vo vo X+: X+ := X+ .
Lp li cho n khi no X+ = Const.

Thut ton 1
CnThayi := True;
X+ := X;
While Cn_Thay_i Do
Begin
Cn_Thay_i := False;
For mi fi = Do
Begin
If X+ Then
Begin
X+ := X+ ;
Cn_Thay_i := True;
End;
End;
End;
*** Lu : Vic ci t chi tit thut ton xin xem trong ph lc
Bi tp p dng:
Bi tp 1:
Cho lc quan h R = (U, F)
U= {A,B,C,D,E,G,H}
F= {ABC, DEG, ACDB, CA, BEC, CEAG, BCD, CGBD, G H}

a) Tnh (D)+
b) Tnh (DE)+
c) Tnh (BE)+
d) Tnh (CG)+

Version 1.0 10/2005 UTE Hng Yn

Bi tp L thuyt CSDL quan h

Bin son: B mn Cng ngh phn mm

Gii:
a) Tnh (D)+
X0 = D
1) X1 = DEG (p dng DEG)
2) X2 = DEGH (p dng GH) (= Constant)
Vy (D)+ = DEGH
b) Tnh (DE) +
X0 = DE
1) X1 = DEG (p dng DEG)
2) X2 = DEGH (p dng GH) (= Constant)
Vy (DE)+ = DEGH
c) Tnh (BE)+
X0 = BE
1) X1 = BEC (p dng BEC)
2) X2 = BECAG (p dng CEAG)
3) X3 = BECAGD (p dng BCD)
4) X4 = BECAGDH (p dng GH) (= Constant)
Vy (BE)+ = ABCDEGH
d) Tnh (CG)+
X0 = CG
1) X1 = CGA (p dng CA)
2) X2 = CGABD (p dng CGBD)
3) X3 = CGABDH (p dng GH)
4) X4 = CGABDHE (p dng DEG) (= Constant)
Vy (CG)+ = ABCDEGH
Bi tp 2: Cho lc quan h R = (U, F)
U = {A,B,C,D,E,G}
F = {CG, BG CD, AEG BC, CG AE, B CG }
a) Tnh C+
b) Tnh (B)+
c) Tnh (AEG)+
Gii:
a) Tnh C +
X0 = C
1) X1 = CG (p dng CG)
2) X2 = CGAE (p dng CGAE)
3) X3 = CGAEB (p dng AEGBC)
4) X4 = CGAEBD (p dng BGCD) (= Constant)
Vy (C)+ = ABCDEG
b) Tnh (B)+
X0 = B
1) X1 = BCG (p dng BCG)
Version 1.0 10/2005 UTE Hng Yn

Bi tp L thuyt CSDL quan h

Bin son: B mn Cng ngh phn mm

2) X2 = BCGD (p dng BGCD)


3) X3 = BCGDAE (p dng CGAE) (= Constant)
Vy (B)+ = ABCDEG
c) Tnh (AEG)+
X0 = AEG
1) X1 = AEGBC (p dng AEGBC)
2) X2 = AEGBCD (p dng BGCD) (= Constant)
Vy (AEG)+ = ABCDEG
** Ch : Tng t nh bao ng ca tp thuc tnh, ngi ta cng nh
ngha bao ng ca tp ph thuc hm. Tuy nhin vic tnh bao ng ca tp
ph thuc hm ni chung l phc tp, n thuc loi bi ton NP Kh. Hn
na vic tnh bao ng ca tp ph thuc hm t c ng dng do vy xin
khng cp trong ti liu ny.
Mt v d v tnh bao ng ca tp ph thuc hm.
Tnh (BG CD)+ vi R cho bi tp 2.
X0 = BG CD
X1 = (BGC, BG D) (Theo lut tch trong h tin Amstrong)
X2 = (BG C, BG D, BG B, BG G) (Theo lut phn x)
X3 = (BG B, BG G, BG C, BG D, BG CG) (Lut hp)
X4 = (BG B, BG G, BG C, BG D, BG CG, CG AE) ..

Version 1.0 10/2005 UTE Hng Yn

Bi tp L thuyt CSDL quan h

Bin son: B mn Cng ngh phn mm

CHNG II
TM PH TI THIU CA TP PH THUC HM
Vi mi tp ph thuc hm F cho, rt c th c nhiu ph thuc hm l d
tha, tc l ta c th suy dn ra cc ph thuc hm ny thng qua tp ph
thuc hm cn li trong F. Vn t ra l phi lm sao thu gn s ph thuc
hm F thnh ti thiu (gi l G) sao cho G vn tng ng vi F.
V d v ph thuc hm d tha:
F = {A B, B C, A C. y ph thuc hm A C l d tha bi v ta
c th d dng c c ph thuc hm ny thng qua A B, B C
Nh vy tp ph thuc hm tng ng vi F l G = { A B, B C }
nh ngha ph thuc hm d tha:
Cho lc R = {U, F}, mt ph thuc hm trong F c dng c gi l
d tha nu nh bao ng ca trong tp ph thuc hm F { } c
cha . Tc l : ()+(F {}) .
nh ngha ph tng ng:
Mt tp ph thuc hm G c gi l tng ng vi tp ph thuc hm F
ca lc R nu nh : F+ = G+. Khi ta ni F ph G hay G ph F.
nh ngha ph ti thiu:
Mt ph ti thiu ca tp ph thuc hm F l mt tp ph thuc hm G, Trong
:
+
G tng ng vi F (tc l G+ = F+)
+
Tt c cc ph thuc hm trong G u c dng X A Trong A l mt
thuc tnh.
+
Khng th lm cho G nh hn c na. (Tc l khng th xo thm bt k
ph thuc hm no trong G hay xo i bt k mt thuc tnh no bn pha
phi, pha tri ca mi ph thuc hm m G vn tng ng vi F).
Lu : Cc ph thuc hm hay cc thuc tnh xo c theo cch trn m
vn m bo G tng ng vi F th ta gi l ph thuc hm hay thuc
tnh d tha.
Phng php tm ph ti thiu:
Bc 1: Tch mi ph thuc hm trong F c dng X A1A2A3An thnh cc
ph thuc hm m v phi (RH Right Hand) ch c mt thuc tnh:
X A1
X A2

X An
Bc 2: Loi b cc thuc tnh d tha bn pha tri ca mi ph thuc hm.
Bc 3: Duyt tng ph thuc hm v kim tra xem c d tha khng, nu
d tha th th xo i.
Lu : Trnh t bc 2 v 3 l KHNG TH thay i !!!
Version 1.0 10/2005 UTE Hng Yn

Bi tp L thuyt CSDL quan h

Bin son: B mn Cng ngh phn mm

y ta cn gii thch r th no thuc tnh d tha, ph thuc hm d


tha ?
nh ngha 1: Mt ph thuc hm c dng A , vi A l mt thuc tnh n
l. Ta ni A l thuc tnh d tha nu c th suy dn ra t , Tc l +.
V d: Cho F = {AC B, C B, ABDE GH, A E, A D}
Xt ph thuc hm AC B:
R rng thuc tnh A trong AC B l d tha v C+ = (CB) B.
+

Xt ph thuc hm ABDE GH
- Thuc tnh A : Khng d tha v (BDE)+ = BDE khng cha GH
- Thuc tnh B : Khng d tha v (ADE)+ = ADE khng cha GH
- Thuc tnh D: D tha v (ABE)+ = ABDE c cha ABDE

( Loi thuc tnh D khi ph thuc hm ABDE GH ta c ABE GH


+

Xt ph thuc hm ABE GH
- Thuc tnh E: D tha v (AB)+ = ABDE ABE

Cc thuc tnh trong cc ph thuc hm cn li u khng d tha.

Cui cng ta c tp ph thuc hm khng c thuc tnh d tha gm:


F = {C B, AB GH, A E, A D}
nh ngha ph thuc hm d tha: Mt ph thuc hm c dng ,
c gi l d tha nu nh xo b n khi tp F th ta vn c : ()+ (tc
l vn suy dn ra t , mc d xo b ph thuc hm khi F).
V d: Cho F = {A B, B C, A C, B DE, A E, A D}
Kim tra xem A B c d tha hay khng bng cch : Th loi ph thuc
hm ny khi F sau tnh A+, Nu A+ B th n l d tha, tri li l khng
d tha.
+

Sau khi loi A B ta c F = {B C, A C, B DE, A E, A D}


R rng A+ = {AED} nn B A+, chng t A B l khng d tha.
Vy ph thuc hm ny khng th loi khi F.
F vn l: {A B, B C, A C, B DE, A E, A D}
Kim tra B C c d tha ?
- Loi BC khi F, ta c F = {AB, AC, BDE, AE, AD}
- B+ = {BDE} khng cha C, chng t BC l khng d tha.
F vn l: {AB, BC, AC, BDE, AE, AD}
+

Kim tra AC c d tha ?


- Loi AC khi F ta c F = {AB, BC, BDE, AE, AD}
- A+ = {ABCDE} c cha C, chng t AC l d tha
+

Version 1.0 10/2005 UTE Hng Yn

Bi tp L thuyt CSDL quan h

Bin son: B mn Cng ngh phn mm

F by gi l: F = {AB, BC, BDE, AE, AD}


Kim tra BDE c d tha ?
- Loi BDE khi F, ta c F = {AB, BC, AE, AD}
- B+ = {BC} khng cha DE, chng t BDE khng d tha
F vn l {AB, BC, BDE, AE, AD}
+

Kim tra AE c d tha ?


- Loi AE khi F, ta c F = {A B, BC, BDE, AD}
- A+ = {ABCDE} cha E, chng t ph thuc hm ny d tha
F by gi l: {AB, BC, BDE, AD}
+

Kim tra AD c d tha ?


- Loi AD khi F, ta c F = {AB, BC, BDE}
- A+ = {ABCDE} cha D, chng t ph thuc hm AD l d tha.
F by gi l {AB, BC, BDE}.
+

Duyt li cc ph thuc hm ta thy khng c ph thuc hm no b loi thm


na (Tc l F = Const). Do vy tp ph thuc hm cui cng sau khi loi cc
ph thuc d tha l:
F = {A B, B C, B DE}
Vi phng php loi b thuc tnh v ph thuc hm d tha cp
trn, sau y ta ly v d thc hin vic tm ph ti thiu ca tp ph thuc
hm F.
Bi tp p dng
V d 2: Tm ph ti thiu ca tp ph thuc hm T sau y :
T = {ABH CK, A D, C E, BGH F, F AD, E F, BH E}
Bc 1: Chuyn v phi ca mi ph thuc hm thnh cc thuc tnh n
l, ta c:
ABH C
ABH K
AD
BGH F
FA
FD
EF
BH E
Bc 2: Loi b cc thuc tnh d tha bn pha tri ca mi ph thuc hm
(S dng phng php loi ging nh v d 1).
+

Xt ph thuc hm ABHC
- A d tha v (BH)+ = {BHEFDAKC} c cha C.
- B Khng d tha v (AH)+ = {AHD} khng cha C
- H khng d tha v (AB)+ = {ABD} khng cha C
Version 1.0 10/2005 UTE Hng Yn

Bi tp L thuyt CSDL quan h

Bin son: B mn Cng ngh phn mm

Kt qu sau ln th nht:
T = {BH C, ABH K, A D, BGH F, F A, F D, E F, BH E}
+

Tng t: A d tha trong ABHK v (BH)+ = {BHCEFDAK} cha K v G


d tha trong BGHF v (BH)+ = {BHEFDAKC} c cha F.
Kt qu cui cng:
T = {BH C, BH K, A D, BH F, F A, F D, E F, BH E}
n y ta khng th loi thm c thuc tnh no na.
Bc 3: Loi b cc ph thuc hm d tha
Hin ti T = {BHC, BHK, AD, BHF, FA, FD, EF, BHE}
+

Th loi BH C, Ta c (BH)+ = {BHFADEK} khng cha C => khng d

tha.
+

Th loi BHK, Ta c (BH)+ = {BHCFADE} khng cha K => khng d

tha.
+

Th loi A D, Ta c (A)+ = {A} khng cha D => khng d tha.

Th loi BH F, Ta c (BH)+ = {BHCKEFAD} c cha F => lut ny d


tha, loi ra khi T, ta c: T = {BHC, BHK, AD, FA, FD, EF,
BHE}

Th loi F A, Ta c F+ = {FD} khng cha A => khng d tha

Th loi F D, ta c F+ = {FAD} c cha D nn lut ny d tha. Loi khi

T ta c : T = {BHC, BHK, AD, FA, EF, BHE}


+
+

Th loi EF, ta c E+ = {E} khng cha F => Khng d tha.


Th loi BHE, ta c (BH)+ = {BHCK} khng cha E nn khng d tha.

n y ta th xong tt c cc ph thuc hm trong lc . Kt qu cui


cng ta c ph ti thiu T = {BHC, BH K, AD, FA, EF, BHE}.
V d 2: Tm ph ti thiu ca lc cho di y:
R = <U, F>, Vi:
U = {ABCDEGH}
F = {A BC, BE G, E D, D G, A B, AG BC}
Bc 1 Tch v phi thnh 1 thuc tnh:
AB
AC
BEG
ED
DG
AB
Version 1.0 10/2005 UTE Hng Yn

Bi tp L thuyt CSDL quan h

Bin son: B mn Cng ngh phn mm

AGB
AGC

Bc 2 Xo thuc tnh d tha


B d tha trong BEG. V (E)+ = {DEG} cha G
G d tha trong AGB. V (A)+ = {ABC} cha B
G d tha trong AGC. V (A)+ = {ABC} cha C
Bc 3 Xo ph thuc hm d tha:
AB d tha. V nu xo khi F, ta vn c (A)+ = {ABC} Cha B
AC d tha. V nu xo khi F, ta vn c (A)+ = {ABC} Cha C
AB d tha. V nu xo khi F, ta vn c (A)+ = {ABC} Cha B
EG d tha. V nu xo khi F, ta vn c (E)+ = {DEG} Cha G
Ph ti thiu ca F l :
1) AB
2) AC
3) DG
4) ED
V d 3: Tm ph ti thiu ca lc cho di y:
R = <U, F>
U = (ABCDEGHIJ)
F = {A BDE, DE G, H J, J HI, E DG, BC GH, HGJ, EG}
Bc 1 Tch v phi thnh 1 thuc tnh:
AB
AD
AE
DEG
HJ
JH
JI
ED
EG
BCG
BCH
HGJ
EG
Bc 2 Xo thuc tnh d tha
D d tha trong DEG. V (E)+ = {DEG} cha G
G d tha trong HGJ. V (H)+ = {HIJ} cha J
Bc 3 Xo ph thuc hm d tha:
AD d tha. V nu xo khi F, ta vn c (A)+ = {ABDEG} Cha D
EG d tha. V nu xo khi F, ta vn c (E)+ = {DEG} Cha G
HJ d tha. V nu xo khi F, ta vn c (H)+ = {HIJ} Cha J
Version 1.0 10/2005 UTE Hng Yn

10

Bi tp L thuyt CSDL quan h

Bin son: B mn Cng ngh phn mm

EG d tha. V nu xo khi F, ta vn c (E)+ = {DEG} Cha G


Ph ti thiu ca F l :
AB
BCH
AE
BCG
HJ
JH
JI
ED
EG

Version 1.0 10/2005 UTE Hng Yn

11

Bi tp L thuyt CSDL quan h

Bin son: B mn Cng ngh phn mm

CHNG III
TM KHO TI THIU CA LC QUAN H
1. nh ngha kho ti thiu:
Cho lc R = <U,F>, trong U l tp thuc tnh, F l tp ph thuc hm.
K c gi l kho ti thiu ca R nu nh s thuc tnh trong K l t nht
nhng vn tho mn K+ =U .
2. Pht biu bi ton tm kho ti thiu:
Cho lc quan h R = <U, F>
Hy tm mt kho (ti thiu) ca quan h R.
3. Thut ton tm kho ti thiu (Lu , t nay nu khng c s nhm ln th
ta gi tt kho ti thiu l Kho).
*** Chi tit ci t xin xem trong phn ph lc.
Bi tp p dng
V d 1:
Cho lc R = <U, F> :
U = {ABCDE}
F = {AB, BC, BDE, AE, AD}
Hy tm mt kho ti thiu K ca lc R ?
Hng dn:
Bc 1: t
T = {AB} (T l tp cc thuc tnh xut hin pha tri)
P = {BCDE} (P l tp cc thuc tnh xut hin pha phi)
K = U\P = {A}
Bc 2: Tnh th K+
Ta c K+ = {ABCDE}
V K+ = U, nn K = {A} l mt kho ca R.
V d 2: Cho lc quan h R = <U, F>, Trong :
U = {ABCDE}
F = {ABDE, EAD, DC}
Hy tm mt kho ti thiu K ca lc R
Hng dn :
Bc 1: t
T = {ABED}
P = {DEAC}
K = U\P = {B}
Version 1.0 10/2005 UTE Hng Yn

12

Bi tp L thuyt CSDL quan h

Bin son: B mn Cng ngh phn mm

Bc 2: Tnh th K+
Ta c K+ = {B} U, nn tip tc bc 3
Bc 3 : Tnh K = K (T P)
Ta c K = K (T P) = {ABDE}
Bc 4 : Th xo tng thuc tnh trong T P= {AED} khi K
Th loi b {A} khi K, Ta c:
K = {BED} v K+ = {BEDAC} vn bng U, nn ta loi c A
Th loi b {E} khi K, Ta c:
K = {BD} v K+ = {BDC}
Do K+ U nn khng loi c {E}. K vn l {BDE}
Th loi b {D} khi K, Ta c:
K = {BE} v K+ = {BEADC} = U.
n y ta th ht. Vy kho ti thiu tm c l : K = {BE}
V d 3
Cho lc quan h R = <U, F>, Trong :
U = {ABCDEG}
F = {ABC, CA, BCD, ACDB, DEG, BEC, CGBD,
CEAG}
Hy tm mt kho ti thiu K ca lc R.
Hng dn :
Bc 1: t
T = {ABCDEG}
P = {ABCDEG} (P l tp cc thuc tnh xut hin pha phi)
K = U\P = {}
Bc 2: Tnh th K+
Ta c K+ = { } U, nn tip tc bc 3
Bc 3 : Tnh K = K (T P)
Ta c K = K (T P) = {ABCDEG}
Bc 4 : Th xo tng thuc tnh trong T P = {ABCDEG} khi K
Th loi b {A} khi K, Ta c:
K = {BCDEG} v K+ = {BCDEGA} vn bng U, nn ta loi c A
Th loi b {B} khi K, Ta c:
K = {CDEG} v K+ = {CDEGAB} vn bng U, nn ta loi c B
Version 1.0 10/2005 UTE Hng Yn

13

Bi tp L thuyt CSDL quan h

Bin son: B mn Cng ngh phn mm

Th loi b {C} khi K, Ta c:


K = {DEG} v K+ = {DEG}
Do K+ U nn khng loi c {C}. K vn l {DEGC}
Th loi b {D} khi K, Ta c:
K = {EGC} v K+ = {EGCABD} vn bng U, nn ta loi c D
Th loi b {E} khi K, Ta c:
K = {GC} v K+ = {GCABDE} vn bng U, nn ta loi c E
Th loi b {G} khi K, Ta c:
K = {C} v K+ = {CA}
Do K+ = U nn khng loi c {G}. K vn l {CG} th ht !
n y ta th ht. Vy kho ti thiu tm c l : K = {CG}
V d 4
Cho lc quan h R = <U, F>, Trong :
U = {ABCDEGH}
F = {AC, ABC, CDG, CDG, ECABEG,C, HC}
Hy tm mt kho ti thiu K ca lc R
Hng dn :
Bc 1: t
T = {ABCDEH}
P = {ABCDEG}
K = U\P = {H}
Bc 2: Tnh th K+
Ta c K+ = {HCDG} U, nn tip tc bc 3
Bc 3 : Tnh K = K (T P)
Ta c K = K (T P) = {HABCDE}
Bc 4 : Th xo tng thuc tnh trong T P= {ABCDE} khi K
Th loi b {A} khi K, Ta c:
K = {HBCDE} v K+ = {HBCDEGA}
Do K+ U nn khng loi c {A}. K vn l {HBCDEA}
Th loi b {B} khi K, Ta c:
K = {HCDEA} v K+ = {HCDEAGB}
Do K+ U nn khng loi c {B}. K vn l {HCDEAB}
Th loi b {C} khi K, Ta c:
K = {HDEAB} v K+ = {HDEABCG}
Do K+ U nn khng loi c {C}. K vn l {HDEABC}
Version 1.0 10/2005 UTE Hng Yn

14

Bi tp L thuyt CSDL quan h

Bin son: B mn Cng ngh phn mm

Th loi b {D} khi K, Ta c:


K = {HEABC} v K+ = {HEABCDG}
Do K+ U nn khng loi c {D}. K vn l {HEABCD}
Th loi b {E} khi K, Ta c:
K = {HABCD} v K+ = {HABCDG}
Do K+ U nn khng loi c {E}. K vn l {HABCDE}.
n y ta th ht. Vy kho ti thiu tm c l : K = {HABCDE}
V d 5:
Cho lc quan h R = <U, F>, Trong :
U = {ABC}
F = {AB, BA, CB}
Hy tm mt kho ti thiu K ca lc R
Hng dn :
Bc 1: t
T = {ABC}
P = {AB}
K = U\P = {C}
Bc 2: Tnh th K+
Ta c K+ = {CBA} = U
V K+ = U, nn K = {C} l mt kho ca R.

Version 1.0 10/2005 UTE Hng Yn

15

You might also like