Professional Documents
Culture Documents
S(B1,B2,Bn)
(R) hoc
S
(R) hoc
(B1,B2,Bn)
(R)
trong k hiu c dng k hiu php ton t li tn, S l tn quan
h mi, B
1
,B
2
,B
n
l cc tn thuc tnh mi. Biu thc th nht t li tn quan h
v cc thuc tnh ca n. Nu cc thuc tnh ca R l A
1
,A
2
, ...A
n
th sau khi t li
tn, quan h c tn mi l S cn cc thuc tnh c tn mi l B
1
, B
2
, , B
n
. Biu
thc th hai ch t li tn quan h, ngha l sau php t li tn, quan h c tn
mi l S, cn cc thuc tnh vn mang tn c. Biu thc th ba ch t li tn cc
thuc tnh, nu cc thuc tnh ca R l A
1
,A
2
, ...A
n
th sau khi t li tn chng c
tn l B
1
, B
2
, ...B
n
.
III.2.4- Cc php ton l thuyt tp hp
Nhm tip theo ca cc php ton i s quan h l cc php ton ton hc
thng thng trn cc tp hp. l cc php ton hp, giao v tr tp hp. Cc
php ton ny l cc php ton hai ngi, ngha l mi php ton c p dng cho
hai tp hp. Khi p dng cc php ton ny cho c s d liu quan h, hai quan h
tham gia vo mt trong cc php ton trn phi c kiu ca cc b nh nhau, hay
ni cch khc, chng phi c cng mt cu trc. iu kin ny c gi l tng
68
thch ng nht. Hai quan h R(A
1
,A
2
,, A
n
) v S(B
1
, B
2
, ,B
n
) c gi l
tng thch ng nht nu chng c cng cp n v dom(Ai) = dom(Bi) vi 1<= i
<= n. iu c ngha l hai quan h c cng s cc thuc tnh v mi cp thuc
tnh tng ng c cng min gi tr.
Cc php ton c nh ngha nh sau:
. Php hp: Hp ca hai quan h R v S, c k hiu l R S, cho kt qu l
mt quan h cha tt c cc b c trong R hoc trong S hoc trong c hai. Cc
b trng lp b loi b.
. Php giao: Giao ca hai quan h R v S , c k hiu l R S , cho kt qu
l mt quan h cha tt cc cc b c trong c hai quan h R v S.
. Php tr quan h: Php tr quan h R v S , c k hiu l R - S, cho kt
qu l mt quan h cha tt c cc b c trong R nhng khng c trong S.
V d, xt hai quan h:
R Htn Tui Giitnh S Htn Tui Giitnh
AA 20 Nam BB 18 N
BB 18 N EE 20 Nam
CC 21 Nam DD 25 N
DD 25 N FF 21 Nam
RS Htn Tui Giitnh RS Htn Tui Giitnh
AA 20 Nam BB 18 N
BB 18 N DD 25 N
CC 21 Nam
DD 25 N R - S Htn Tui Giitnh
EE 20 Nam AA 20 Nam
FF 21 Nam CC 21 Nam
Hnh III-7. Kt qu ca cc php ton tp hp
69
Ch rng cc php ton hp v giao l cc php ton giao hon, ngha l:
R S = S R v R S = S R
Cc php ton trn cng c tnh cht kt hp, ngha l
R (S T) = (R S) T v R (S T) = (RS) T
Php ton tr tp hp khng c tnh cht giao hon.
R - S = S - R
Ngoi cc php ton trn, cn c mt php ton gi l tch cc. Tch
cc cn gi l tch hn hp (cross product) hoc l ni hn hp (cross join), c
k hiu l . cng l mt php ton hai ngi nhng nhng quan h m n p
dng trn khng phi l tng thch ng nht. Php ton ny c s dng
ni cc b ca hai quan h vo mt kiu kt hp. Kt qu ca
R(A
1
, A
2
, .. , A
n
) S(B
1
, B
2
, ,B
m
)
l mt quan h Q vi n+m thuc tnh Q(A
1
, A
2
,, A
n
, B
1
, B
2
,,B
m
). Quan h
kt qu Q c cc b c to thnh do s kt hp mt b ca R v mt b ca S.
V d, xt hai quan h R v S nh sau:
R A1 A2 A3 S B1 B2 B3
aa bb cc dd da db
ab ba ac cd cb ac
R S A1 A2 A3 B1 B2 B3
aa bb cc dd da db
aa bb cc cd cb ac
ab ba ac dd da db
ab ba ac cd cb ac
Hnh III-8. Tch cc ca hai quan h R v S.
70
Nh vy, nu R c n
R
b v S c n
S
b th R S c n
R
*n
S
b. Php ton ny
nu p dng mt mnh th khng c ngha my. N ch c li khi tip theo bng
mt php chn cc gi tr tng thch ca cc thuc tnh xut pht t cc quan h
thnh phn. Tch cc kt hp vi mt php chn cho ta mt php ni.
III.2.5- Php ni (JOIN)
Php ni c k hiu l v c dng kt hp cc b c lin h vi
nhau t hai quan h thnh mt b. Php ton ny rt quan trng i vi c s d
liu quan h c nhiu bng bi v n cho php ta x l cc mi lin kt gia cc
quan h. Dng tng qut ca php ni trn hai quan h R(A
1
, A
2
,,A
n
) v
S(B
1
,B
2
,, B
m
) l
R S
< iu kin ni>
Kt qu ca php ni l mt quan h Q(A
1
,A
2
,,A
n
,B
1
,B
2
,,B
m
) c n+m
thuc tnh. Mi b ca Q l mt s kt ni gia mt b ca R v mt b ca S khi
chng tho mn iu kin ni. S khc nhau gia tch cc v php ni l ch
trong php ni, ch c cc b tho mn iu kin ni mi xut hin trong kt qu,
trong khi trong tch cc mi t hp ca cc b u c trong kt qu. iu
kin ni c ch ra trn cc thuc tnh ca hai quan h R v S v c tnh ton
cho mi t hp cc b. Mi t hp b m iu kin ni l ng c cha trong
quan h kt qu Q nh l mt b n. Mt iu kin ni tng qut c dng
<iu kin> AND <iu kin> AND AND <iu kin>
trong mi iu kin c dng A
i
u B
j
, A
i
l mt thuc tnh ca R, B
j
l mt
thuc tnh ca S, A
i
v B
j
c cng min v u l mt trong cc du php ton so snh
{<, <=, =, >=, >, =}. Mt php ton ni vi iu kin tng qut nh vy gi l mt
php ni t-ta. Cc b c cc thuc tnh ni l null khng xut hin trong kt qu.
Theo ngha , php ton khng nht thit phi x l mi thng tin trong cc quan
h tham gia. V d :
Gi s ta c hai quan h R v S nh sau:
R A1 A2 A3 S B1 B2 B3
Aa Ca Ba Ba Aaa Bbb
Ab Cb Bb Bb Ccc Ddd
71
Ac Ca Ba
Ad Cc Null
Ae Cd Bb
Khi kt qu ca php ni t-ta R v S vi iu kin A3 = B1 s cho kt qu
l:
R S A1 A2 A3 B1 B2 B3
<A3 = B1> Aa Ca Ba Ba Aaa Bbb
Ab Cb Bb Bb Ccc Ddd
Ac Ca Ba Ba Aaa Bbb
Ae Cd Bb Bb Ccc Ddd
Hnh III-9. Php ni t-ta hai quan h
Phn ln cc php ni ch cho php cc iu kin ni vi cc so snh bng.
Nhng php ni ch s dng php so snh bng c gi l ni bng (equi join). V
d trong hnh III-8 l mt php ni bng. Ch rng trong kt qu ca php ni
bng chng ta thy lun lun c mt hoc nhiu cp thuc tnh c cc gi tr nh
nhau trong mi b. Vic c cc cp thuc tnh c gi tr nh nhau l tha, v vy
ngi ta ngh mt php ni mi gi l ni t nhin, k hiu l *. Php ni t
nhin nhm loi b thuc tnh th hai (thuc tnh tha) trong iu kin ni bng.
nh ngha chun ca ni t nhin i hi hai thuc tnh ni (hoc mi cp thuc
tnh ni) phi c tn nh nhau trong c hai quan h. Nu cc thuc tnh khng
cng tn th trc khi ni phi p dng php ton t li tn. V d, ta cn ni t
nhin hai quan h R(A1,A2,A3) v S(B1,B2,B3) nh trong v d trn. c th
thc hin c php ni t nhin vi iu kin so snh bng, ta phi i tn thuc
tnh B1 thnh A3, ngha l ta phi vit:
R *
(A3, B2,B3)
(S)
Php ni s c kt qu nh sau:
R * S A1 A2 A3 B2 B3
Aa Ca Ba Aaa Bbb
72
Ab Cb Bb Ccc Ddd
Ac Ca Ba Aaa Bbb
Ae Cd Bb Ccc Ddd
Hnh III-10. Php ni t nhin hai quan h
Nu cc thuc tnh m trn ni t nhin c ch ra c tn nh nhau th
vic t li tn l khng cn thit.
Ch rng nu khng c mt t hp cc b no tho mn iu kin ni th kt
qu ca mt php ni l mt quan h rng khng cha b no. Ni chung, nu R c
n
R
b v S c n
S
b th kt qu ca php ni R vi S s c s cc b ln hn 0 v
nh hn n
R
.n
S
. C ca mt kt qu ni chia cho c cc i n
R
.n
S
to nn mt t l
gi l chn la ni, l mt tnh cht ca mi iu kin ni. Nu khng c iu
kin ni, mi t hp cc b s c chn v php ni tr thnh mt tch cc.
Php ni c s dng kt hp cc d liu t nhiu quan h sao cho cc
thng tin c lin h vi nhau c th c biu din trong mt bng. i khi php
ni c p dng ni mt bng vi chnh n. Chng ta c th p dng php ni t
nhin v ni bng ni nhiu bng vi nhau. Nu ta ni n bng vi nhau th phi
ch ra n-1 iu kin ni.
III.2.6- Tp hp y cc php ton quan h
Ngi ta ch rng tp hp cc php ton i s quan h {o, t, , , } l
mt tp y , ngha l mi php ton i s quan h khc c th c biu din
thng qua cc php ton ca tp hp ny. V d, php giao c th c biu din
bng cch s dng cc php hp v tr tp hp nh sau:
R S = (R S) ((R- S) (S R))
Nh vy, ni mt cch chnh xc l khng cn phi c php giao. Mi khi cn
thc hin mt php giao, ta ch cn a ra biu thc phc tp ny l .
Mt v d khc, mt php ni c th c ch ra nh mt tch cc v sau
l mt php chn:
R S = o
< iu kin chn>
(R S)
< iu kin ni>
73
Mt cch tng t, ta c th thay th php ni t nhin bng mt tch cc
i sau mt php t li tn v sau l cc php ton chn v chiu. Nh vy cc
php ton ni cng khng cn thit. Tuy nhin cc php ton rt quan trng bi
v chng tin dng v rt thng xuyn c p dng trong cc c s d liu. Cc
php ton c a vo trong i s quan h l do tin dng hn l do cn thit.
Mt php ton khc cng c a vo, l php chia.
III.2.7- Php chia
Php chia c li cho mt loi truy vn c bit i khi c cc ng dng trong
c s d liu. Php chia c p dng cho hai quan h R(Z) v S(X) v c k
hiu l R(Z) S(X), trong X c Z . Gi s Y = Z - X (nh vy Z = X Y). Kt
qu ca php chia l quan h T(Y) cha mt b t nu cc b t
R
xut hin trong R
vi t
R
[Y] = t v vi t
R
[X] = t
S
vi mi b t
S
trong S. iu c ngha l mt b t
xut hin trong kt qu T ca php chia, cc gi tr trong t phi xut hin trong R
trong s kt ni vi mi b ca S.
V d: Xt php chia quan h R(A,B) cho quan h S(A) nh hnh v di y.
Ta thy ch c cc thuc tnh B1 v B4 l kt ni vi tt c cc b ca S trong R.
V vy kt qu nhn c l mt quan h T(B) vi hai gi tr ca B l B1 v B4.
Php chia c th c biu din thng qua cc php ton t, , nh sau:
T
1
t
Y
( R ) ; T
2
t
Y
((S T
1
) R ) ; T T
1
T
2
R A B S B
A1 B1 A1
A2 B1 A2
A3 B1 A3
A4 B1
A1 B2
A3 B2
A2 B3 T A
A3 B3 B1
A4 B3 B4
74
A1 B4
A2 B4
A3 B4
Hnh III-11. Php chia T(B) = R(A,B) S(B).
III.3- Cc php ton quan h b sung
C nhiu truy vn c s d liu khng th thc hin c bng cc php ton
i s c bn trnh by trn. Trong phn ny chng ta s trnh by cc php ton
b sung biu din cc truy vn . Cc php ton ny lm tng cng sc mnh
ca i s quan h.
III.3.1- Cc hm nhm v cc php nhm
Kiu cu hi u tin khng th biu din c trong i s quan h c s l
ch ra cc hm nhm ton hc trn cc tp hp gi tr ca cc c s d liu. Cc v
d v cc hm nh vy c th l a ra lng trung bnh hoc tng lng ca tt c
nhn vin, hoc cho bit s cc b ca bng nhn vin. Cc hm hay p dng
thu thp cc gi tr s l hm Tng (SUM), Trungbnh (AVERAGE), Tnh gi tr
ln nht (MAX), Gi tr b nht (MIN). Hm m (COUNT) c s dng m
cc b gi tr.
Mt kiu cu hi hay dng khc l i hi nhm cc b trong mt quan h
theo mt gi tr ca mt s cc thuc tnh ca chng v sau p dng cc hm
nhm mt cch c lp cho tng nhm. V d, nhm cc b ca quan h
NHNVIN theo MsV. Nh vy, mi nhm bao gm cc nhn vin cng lm
vic trong mt n v. Sau chng ta c th a ra mi gi tr ca MsV cng
vi lng trung bnh ca cc nhn vin trong n v.
Chng ta c th nh ngha mt php ton nhm nh sau:
< cc thuc tnh nhm>
< danh sch cc hm>
(R)
trong l k hiu php ton hm nhm, <cc thuc tnh nhm> l mt
danh sch cc thuc tnh ca quan h c ch ra trong R, <danh sch hm> l
danh sch cc cp (<hm><thuc tnh)>). Trong cc cp nh vy, <hm> l mt
trong cc hm cho php nh SUM, AVERAGE, MAX, MIN, COUNT, v <thuc
tnh> l mt thuc tnh ca quan h c ch ra trong R. Quan h kt qu c cc
75
thuc tnh nhm cng vi mt thuc tnh cho mi phn t trong danh sch hm. V
d, ly ra theo MsV cc nhn vin v lng trung bnh ca cc nhn vin
theo tng n v, ta c th vit:
MsDV
COUNT ( ), AVERAGE(Lng)
( NHNVIN)
Kt qu c minh ho hnh III-10.
MsV COUNT() AVERAGE(Lng)
1 1 5500
4 3 3100
5 4 3325
Hnh 3.10 Minh ho php ton nhm
Nu khng ch ra thuc tnh nhm th cc hm c p dng cho cc gi tr
thuc tnh ca tt c cc b trong quan h, v vy quan h kt qu ch c mt b.
Cn ch rng, ni chung, cc trng lp khng c loi b khi hm nhm c
p dng. Kt qu ca vic p dng mt hm nhm l mt quan h ch khng phi
l mt i lng v hng, thm ch nu n ch c mt gi tr.
III.3.2- Cc php ton khp kn quy
Mt kiu php ton khc, ni chung, khng ch ra c trong cc php ton
i s quan h c s l php ton khp kn quy. Php ton ny c p dng
cho mi lin kt quy gia cc b cng kiu.Vi cc php ton ny chng ta phi
s dng k thut lp.
III.3.3- Cc php ton ni ngoi (outer join), hp ngoi (outer union)
Trong phn ny chng ta tho lun mt vi m rng ca php ton ni v hp.
Cc php ton ni m t trn lin kt cc b tho mn iu kin ni. Nh vy, cc
b khng c b lin kt s b loi khi kt qu ni. Cc b vi gi tr null trong cc
thuc tnh ni cng b loi. Mt tp hp cc php ton gi l ni ngoi c th c
s dng khi chng ta mun gi cc b trong R hoc S hoc trong c hai quan h
trong kt qu ca php ni d chng c nhng b lin kt trong quan h kia hay
khng. C ba php ni ngoi gi l ni ngoi tri (left outer join), ni ngoi phi
(right outer join) v ni ngoi y (full outer join), c k hiu tng ng l:
76
Ni ngoi tri
Ni ngoi phi
Ni ngoi y
Php ni ngoi tri gi li mi b trong quan h bn tri R trong php ni.
Nu khng c b lin kt no c tm thy trong S th cc thuc tnh ca S trong
kt qu php ni c lm y bng cc gi tr null.
Tng t nh vy i vi cc php ni ngoi phi v cc php ni ngoi y
.
Php ton hp ngoi c m rng ly hp ca cc b t cc quan h nu
cc b khng tng thch ng nht. Php ton ny ch ly hp ca cc quan h m
chng ch tng thch b phn, ngha l ch mt vi thuc tnh ca chng l tng
thch php hp. iu phi tn trng l danh sch cc thuc tnh tng thch phi
cha mt kho cho c hai quan h. Cc b t cc quan h thnh phn vi cng mt
kho ch c biu din mt ln trong kt qu v c gi tr cho tt c cc thuc tnh
trong kt qu. Cc thuc tnh khng tng thch php hp t bt k quan h no
cng c gi trong kt qu v cc b khng c gi tr cho cc thuc tnh ny cng
c lp y bng nhng gi tr null.
III.4- Mt s v d v truy vn trong i s quan h
Trong phn ny, chng ta xt mt s v d minh ha vic s dng cc php
ton i s quan h. Cc v d y thc hin trn c s d liu CNG TY
mc II.3 chng III. Ni chung, mt truy vn c th c thc hin bng nhiu
cch, s dng cc php ton khc nhau. Trong cc v d sau, chng ta xt mt cch
thc hin, cc bn c c th t a ra cc cch thc hin khc.
Truy vn 1: a ra H m, Tn v a ch ca tt c cc nhn vin lm vic
cho n v c tn l Nghin cu: (Cc quan h TG1, TG2 l cc kt qu trung
gian)
TG1 o
TnV = Nghincu
(NV)
TG2 (TG1 - NHNVIN)
KETQUA t
Hm, Tn, ach
(TG2)
Theo cch thc hin ny, quan h TG1 cha thng tin v n v c tn
Nghin cu, quan h TG2 cha thng tin v cc nhn vin lm vic cho n v
Nghin cu v quan h KTQU cha cc thng tin theo yu cu ca truy vn.
77
Trong cc bng ca chng ta, cc thuc tnh ni c tn nh nhau nn c th dng
php ni t nhin.
Truy vn 2: Vi mi d n t ti H ni, hy lit k MsDA, TnV, Tn,
ach, Ngysinh ca ngi qun l n v.
TG1 o
DiadiemDA=Hanoi
(DN)
TG2 (TG1 - NV)
TG3 (TG2 * NHNVIN)
KTQU t
MsDA, MsV, Hm,ach, Ngysinh
(TG3)
Truyvn 3: Hy tm tn ca cc nhn vin lm vic trn tt c cc d n do
n v c m s = 5 kim sot.
TG1 t
MsDA
(o
M sDV = 5
(DN))
TG2 t
MsNV, MsDA
(NHNVIN_DN)
TG3 TG2 TG1
KETQUA t
Hm, Tn
(TG3 * NHNVIN)
IV- Chuyn i m hnh ER thnh m hnh quan h
Nh tho lun chng II, bc tip theo sau vic xy dng m hnh d
liu mc khi nim, ta phi chuyn i m hnh thnh mt m hnh d liu
lgic. Trong phn ny chng ta s tho lun v thut ton chuyn i mt m hnh
ER thnh ra m hnh quan h.
IV.1- Cc quy tc chuyn i
Thut ton chuyn i c thc hin theo cc bc sau (da trn CSDL
CNG TY):
Bc 1 : Vi mi kiu thc th thng thng E trong lc ER, hy to mt
quan h R cha mi thuc tnh n ca E. Vi cc thuc tnh phc hp, ch ly cc
thuc tnh thnh phn n ca n. Chn mt trong cc thuc tnh kho ca E lm
kho chnh cho R. Nu kho c chn ca E l phc hp (gm nhiu thuc tnh)
th tp cc thuc tnh n s cng nhau to nn kho chnh ca R.
78
V d: Gi s ta c kiu thc th NV vi cc thuc tnh l MsV,
TnV, aimV trong cc thuc tnh kho l MsV, TnV (do mi
n v c mt tn duy nht), v aimV l mt thuc tnh a tr (do mi n v
c nhiu a im). Khi kiu thc th NV c chuyn thnh quan h
NVI vi cc thuc tnh MsV, TnV. Kho chnh ca quan h l MsV
(chn mt trong hai thuc tnh kho ca kiu thc th).
Bc 2: Vi mi kiu th th yu W trong lc ER cng vi kiu thc th
ch E, hy to mt quan h R cha tt cc cc thnh phn n (hoc cc thnh phn
n ca cc thuc tnh phc hp) ca W nh l cc thuc tnh ca R. a cc
thuc tnh kho chnh ca cc quan h tng ng vi kiu thc th ch lm kho
ngoi ca R. Cc thuc tnh ny s xc nh kiu lin kt ca W. Kho chnh ca R
l mt t hp ca kho chnh ca cc quan h tng ng vi kiu thc th ch v
kho b phn ca kiu thc th yu W nu c.
V d: Gi s ta c kiu lin kt NHNVIN <c> CON trong
NHNVIN l kiu thc th ch vi cc thuc tnh MsNV, Hm, Tn,
Ngysinh, Giitnh. Thuc tnh kho ca NHNVIN l MsNV. CON l kiu
thc th ph thuc (vo thc th NHNVIN) vi cc thuc tnh l Htncon,
Ngysinh, Giitnh. Kiu thc th ny khng c thuc tnh kho. Khi kiu thc
th NHNVIN c chuyn thnh quan h NHNVIN vi cc thuc tnh nh
trn. Kiu thc th CON c chuyn thnh quan h CON vi cc thuc tnh
MsNV, Htncon, Ngysinh, Giitnh. Quan h ny c kho ngoi l MsNV,
kho chnh l M sNV, Htncon.
Bc 3: Vi mi kiu lin kt 1:1 R trong lc ER, hy xc nh cc quan
h S v T tng ng vi cc kiu thc th tham gia trong R. Hy chn mt trong
cc quan h, chng hn S, v a kho chnh ca T vo lm kho ngoi trong S.
Tt nht l chn S l mt kiu thc th tham gia ton b vo R. a tt cc cc
thuc tnh n (hoc cc thnh phn n ca cc thuc tnh phc hp) ca kiu lin
kt 1:1 R vo lm cc thuc tnh ca S.
Ch : C mt cch chuyn i mi lin kt 1:1 na l nhp hai kiu thc th
v mi lin kt thnh mt quan h. Cch ny thng c p dng khi c hai kiu
thc th u tham gia ton b vo lin kt.
V d: Gi s ta c kiu lin kt NHNVIN <qun l> NV, vi cc
thuc tnh ca cc kiu thc th ging nh trn. Kiu lin kt <qun l> l mt
79
kiu lin kt 1:1, ng thi s tham gia ca NHNVIN vo kiu lin kt l b
phn (khng phi nhn vin no cng qun l n v), s tham gia ca NV l
y (mt n v lun lun phi c mt ngi qun l). Khi , kiu thc th
NHNVIN s c chuyn thnh quan h NHNVIN vi cc thuc tnh ca
n, cn kiu thc th NV s c chuyn thnh quan h NV vi cc thuc
tnh ca kiu thc th NV cng thm vi thuc tnh MsNV v thuc tnh ca
kiu lin kt <qun l>, nu c. Thuc tnh MsNV s l kho ngoi cho quan h
NV. lm r vai tr ngi qun l, khi chuyn sang quan h NV, ngi
ta i tn thuc tnh MsNV thnh MsNQL (M s ngi qun l). Ngoi ra,
kiu lin kt <qun l> c mt thuc tnh l Ngybtu, thuc tnh ny cng c
a vo quan h NV.
Bc 4: Vi mi kiu lin kt hai ngi R kiu 1:N, hy xc nh quan h S
biu din kiu thc th tham gia pha N ca kiu lin kt. a kho chnh ca
quan h T biu din kiu thc th tham gia vo R pha 1 vo lm kho ngoi
trong S. Lm nh vy l v mi thc th c th ca pha N c lin kt vi nhiu
nht l mt thc th c th ca pha 1 ca kiu lin kt. a cc thuc tnh n
(hoc cc thnh phn n ca cc thuc tnh phc hp) ca kiu lin kt 1:N vo
lm cc thuc tnh ca S.
V d: Gi s ta c kiu lin kt NHNVIN <lm vic cho> NV, trong
cc kiu thc th NHNVIN, NV l cc kiu thc th trn. Kiu lin
kt <lm vic cho> l kiu lin kt N:1 (mt nhn vin ch lm vic cho mt n v
v mi n v c nhiu nhn vin lm vic cho). Khi , Kiu thc th NV s
c chuyn thnh quan h NV vi cc thuc tnh ca kiu thc th NV
cn kiu thc th NHNVIN s c chuyn thnh quan h NHNVIN vi cc
thuc tnh ca kiu thc th NHNVIN cng thm vi thuc tnh MsV (l
kho chnh ca quan h NV). Thuc tnh MsV s l thuc tnh kho ngoi
ca quan h NHNVIN.
Bc 5: Vi mi kiu lin kt N:M hai ngi R, hy to ra mt quan h mi S
biu din R. a cc kho chnh ca cc quan h biu din cc kiu thc th
tham gia vo lm kho ngoi ca S. T hp cc kho chnh s to nn kho
chnh ca S. a tt c cc thuc tnh n (hoc cc thnh phn n ca cc thuc
tnh phc hp) ca kiu lin kt N:M vo lm cc thuc tnh ca S. Ch rng ta
khng th biu din mt kiu lin kt N:M bng mt thuc tnh kho ngoi n
80
gin trong mt trong cc quan h tham gia (nh lm vi cc kiu lin kt 1:1 v
1:N) v t s lc lng N:M.
V d: Gi s ta c kiu lin kt NHNVIN <lm vic vi> DN. Kiu
thc th NHNVIN c cc thuc tnh nh trn vi thuc tnh kho l MsNV.
Kiu thc th DN c cc thuc tnh l MsDA, TnDA, aimDA trong
thuc tnh kho l MsDA. Kiu lin kt < lm vic vi> l mt kiu lin kt N:M
(mt nhn vin c th lm vic vi nhiu d n v mi d n c nhiu nhn vin
lm vic vi). Kiu lin kt ny c mt thuc tnh l Sgi lu s gi m mi
nhn vin lm vic cho mt d n. Khi kiu lin kt <lm vic vi> s c
chuyn thnh mt quan h c tn l NHNVIN_D N vi cc thuc tnh
MsNV, MsDA, Sgi trong hai thuc tnh MsNV, MsDA to thnh
kho chnh (phc hp) cho quan h.
Bc 6: Vi mi thuc tnh a tr A, hy to ra mt quan h mi R. Quan h R
ny s cha mt thuc tnh tng ng vi A cng vi thuc tnh kho K ca quan
h biu din kiu thc th hoc kiu lin kt c thuc tnh l A lm kho ngoi ca
R. Kho chnh ca R l mt t hp ca A v K. Nu thuc tnh a tr l phc hp
th chng ta ch a vo R cc thnh phn n ca n.
V d: Xt kiu thc th NV trn. Thuc tnh aimV l mt thuc
tnh a tr. Khi chuyn thnh m hnh quan h n s c chuyn thnh mt quan
h c kho chnh l MsV, a im v c th c thm mt s thuc tnh khc
lu thng tin v a im.
Bc 7: Vi mi kiu lin kt n ngi R, trong n > 2, hy to ra mt quan h
S biu din R. a cc kho chnh ca cc quan h biu din cc kiu thc th
tham gia vo lm kho ngoi ca S. a tt c cc thuc tnh n (hoc cc thnh
phn n ca cc thuc tnh phc hp) ca kiu lin kt n-ngi vo lm thuc tnh
ca S. Kho chnh ca S thng l mt t hp cc kho chnh ca cc quan h biu
din cc kiu thc th tham gia. Tuy nhin, nu rng buc lc lng trn mt kiu
thc th E no tham gia vo R l 1 th kho chnh ca S khng c cha thuc
tnh kho ngoi tham chiu n quan h E tng ng vi kiu thc th E.
V d: Gi s chng ta c kiu lin kt IL <cung cp> VTT <cho>
DN. y l mt kiu lin kt cp ba. Gi s rng kiu thc th IL c thuc
tnh kho l MsL, kiu thc th VTT c thuc tnh kho l MsVT, kiu
thc th DN c thuc tnh kho l MsDA cn kiu lin kt <cung cp> c
81
thuc tnh l Slng lu s lng vt t m mt ai l cung cp cho mt d n.
Khi kiu lin kt <cung cp> s c chuyn thnh mt quan h c tn l
CUNGCP vi cc thuc tnh MsL, MsVT , MsDA, Slng v kho
chnh gm ba thuc tnh MsL, MsVT , MsDA.
IV.2- Chuyn i m hnh c th
Trong chng 2 chng ta phn tch v thit k m hnh ER cho bi ton
CNGTY. p dng cc bc ca thut ton trn, chng ta c m hnh quan h
cho bi ton CNGTY nh sau:
NHNVIN(Hm,Tn, MsNV, Ngysinh, ach, Giitnh, Lng,
MsNGS, MsV)
NV(TnV, MsV, MsNQL, Ngybtu)
NV_AIM(MsV, aimV)
DN(TnDA, MsDA, aimDA, MsV)
NHNVIN_DN(MsNV, MsDA, Sgi)
PHTHUC(MsNV, Tncon, Giitnh, Ngysinh)
Hnh III-12. Lc c s d liu CNGTY
V- Tng kt chng v cu hi n tp
V.1- Tng kt chng
Trong chng ny chng ta trnh by cc khi nim c bn ca m hnh d
liu quan h. Chng ta cng tho lun v i s quan h v cc php ton b
sung c s dng thao tc cc quan h. Chng ny bt du bng vic gii
thiu cc khi nim min, thuc tnh v b gi tr. Lc quan h c nh
ngha nh mt danh sch cc thuc tnh m t cu trc ca mt quan h. Mt quan
h (hoc trng thi quan h) l mt tp hp cc b gi tr ph hp vi lc .
C nhiu c trng lm phn bit cc quan h v cc bng hoc cc tp thng
thng. Trc tin, cc b trong mt quan h l khng c th t. c trng th hai
lin quan n th t ca ca cc thuc tnh trong mt lc quan h v th t
tng ng ca cc gi tr bn trong mt b. Mc d ta a ra mt nh ngha
quan h khc chng minh rng hai th t ny l khng cn thit, tuy nhin,
thun tin ta vn i hi cc thuc tnh v cc gi tr trong b l c th t. Chng ta
82
cng tho lun v cc gi tr trong cc b v gii thiu cc gi tr null biu
din thng tin b thiu hoc khng bit.
Tip theo, chng ta tho lun v cc rng buc m hnh quan h. l cc
rng buc min, rng buc kha, cc khi nim v siu kha, kha d tuyn, kha
chnh v rng buc NOT NULL trn cc thuc tnh. Sau , chng ta nh ngha
c s d liu v lc c s d liu quan h. Cc rng buc ton vn thc th v
ton vn tham chiu cng c nh ngha v phn tch. Ton vn thc th ngn
cm vic kha chnh c gi tr null. Ton vn tham chiu c s dng duy tr
s nht qun ca vic tham chiu trong cc b t cc quan h khc nhau.
Cc php cp nht trn m hnh quan h gm Insert, Delete, Update. Mi mt
php ton c th vi phm cc kiu rng buc nht nh. Mi khi mt php ton
uc p dng, trng thi c s d liu sau khi php ton c thc hin phi c
kim tra m bo rng khng c mt rng buc no b vi phm.
Tip theo chng ta m t i s quan h c s, l mt tp hp cc php
ton thao tc quan h v c th c s dng a ra cc truy vn. Chng ta
nh ngha v phn tch cch s dng cc php ton nh chiu, chn, tch cc,
ni, php t li tn. Cc php ton tp hp nh giao, hp, tr cng c nh
ngha v phn tch.
Tip theo, chng ta tho lun v cc kiu truy vn quan trng khng th s
dng c cc php ton i s quan h c s. Chng ta gii thiu php ton
hm nhm lm vic vi cc kiu yu cu nhm. Cc kiu truy vn quy cng
c tho lun v gii thiu cch ch ra mt s kiu truy vn quy. Cc php ni
ngoi, hp ngoi, m rng ca php ni v php hp cng c tho lun cui
chng.
Cui cng, chng ta lm quen vi thut ton chuyn i t m hnh ER sang
m hnh quan h. M hnh ER cho CNGTY c xy dng chng II
c chuyn i thnh lc c s d liu quan h.
V.2- Cu hi n tp
1) nh ngha cc thut ng sau: min, thuc tnh, n-b, lc quan h, trng
thi quan h, cp ca quan h, lc c s d liu, trng thi c s d liu.
2) V sao cc b trong mt quan h l khng c th t.
83
3) V sao khng cho php cc b trng lp trong mt quan h.
4) Siu kha v kha khc nhau ch no.
5) V sao phi ch nh mt trong cc kha d tuyn lm kha chnh.
6) Nu nhng c trng lm cho cc quan h khc vi cc bng hoc cc tp
thng thng.
7) Nu cc l do v vic tn ti cc gi tr khng xc nh trong cc quan h.
8) Hy gii thch v rng buc ton vn thc th v rng buc ton vn tham
chiu. V sao cc rng buc ny l quan trng?
9) nh ngha kha ngoi. Khi nim ny dng lm g? Cc kha ngoi ng
vai tr nh th no trong php ni?
10) Hy gii thch cc php ton cp nht trn cc quan h v cc kiu rng buc
ton vn phi c kim tra i vi mi php ton cp nht.
11) Lit k cc php ton i s quan h v mc ch ca tng php ton.
12) Tng thch hp l g? V sao cc php ton hp, giao, tr i hi cc quan h
tham gia vo php ton phi tng thch hp?
13) Hy gii thch cc kiu truy vn cn c vic t li tn cc thuc tnh ch ra
truy vn mt cch r rng.
14) Hy nu cc kiu php ton ni khc nhau.
15) Php ton hm l g? N c dng v mc ch no?
16) Cc php ni ngoi khc vi cc php ni trong nh th no? Php hp ngoi
khc vi php hp nh th no?
V.3- Bi tp
1) Chuyn i cc lc ER ca cc bi tp 1, 2 chng II thnh lc c
s d liu quan h.
2) Cho lc c s d liu Thvin:
SACH(Msch, Tnsch, TnNXB)
SACH_TACGIA(Masach, TnTG)
84
NHAXUATBAN(TnNXB, ach, inthoi)
SACH_BANSAO(Msch, Mnhnh, Slngbnsao)
NHANH_THUVIEN(Mnhanh, Tnnhnh, ach)
SACH_MUON(Msch, Mnhnh, Sth, Ngymn, Ngytr)
NGUOIMUON(Sth, Tn, ach, inthoi)
Hy vit cc biu thc quan h cho cc truy vn sau y trn c s d liu
Thvin:
1. C bao nhiu bn sao ca cun sch The Lost Tribe c trong nhnh th
vin c tn l Shapstown.
2. C bao nhiu bn sao ca cun sch The Lost Tribe c trong mi nhnh
th vin.
3. a ra tn ca tt c ngi mun cha mn cun sch no.
4. Vi mi cun sch c mn ra t nhnh th vin Shapstown c ngy
tr l ngy hm nay, hy a ra Tn sch, Tn ngi mn v a ch
ngi mn.
5. Vi mi th vin nhnh, hy a ra tn nhnh th vin v tng s sch
c mn ra t nhnh ny.
6. a ra tn, a ch v s cc sch do ngi ny mn vi nhng ngi
mn nhiu hn 5 cun sch.
7. Vi mi cun sch c tc gi (hoc ng tc gi) l Stephen King, hy
a ra tn sch v s lng cc bn sao c ti nhnh th vin c tn l
Central.
3) Cho c s d liu CNGTY gm cc lc :
NHNVIN(M sNV, Hm, Tn, Ngysinh, Giitnh, ach, Lng,
MsNGS, M sV)
NV(MsV, TnV, MsNQL, Ngybtu)
DN(MsDA, TnDA, aimDA, MsV)
PHTHUC(MsNV, TnPT, Ngy sinh, Giitnh, Quanh)
85
NHNVIN_DN(MsNV, MsDA, Sgi)
NV_AIM(MsV, aim)
Hy vit cc biu thc quan h thc hin cc truy vn sau:
a) Vi mi d n c a im ti H ni, hy lit k m s d n, m s ca
n v kim sot, Tn, a ch v ngy sinh ca ngi qun l n v
b) a ra tn v a ch ca tt c cc nhn vin lm vic cho n v nghin
cu.
c) Tm tn ca cc nhn vin lm vic trn tt c cc d n do n v c m
s 5 kim sot.
d) To ra mt danh sch cc m s d n i vi cc d n c mt nhn vin
hoc mt ngi qun l n v kim sot d n c tn l Nam.
e) a ra tn ca tt c cc nhn vin c nhiu hn hoc bng 2 ngi ph
thuc.
f) a ra cc nhn vin khng c ngi ph thuc.
g) a ra tn ca nhng ngi qun l c t nht l mt ngi ph thuc.
86
Chng IV- PH THUC HM V CHUN HA C S
D LIU QUAN H, CC THUT TON
THIT K C S D LIU QUAN H
Trong chng ny chng ta s tho lun v mt s vn l thuyt c
pht trin nhm mc ch chn c lc quan h tt, ngha l o c mt
cch hnh thc v sao tp hp cc thuc tnh ny nhm vo trong cc lc quan
h th tt hn nhm kia. Chng ta c th ni n tnh tt ca cc lc quan h
hai mc: mc th nht l mc lgic, mc th hai l mc ci t. Mc th nht
lin quan n vic cc ngi s dng th hin cc lc quan h v ngha ca
cc thuc tnh ca chng nh th no. Mc th hai lin quan n vic cc b trong
mt quan h c s c lu tr v cp nht nh th no.
Vic thit k c s d liu c th c thc hin bng cch s dng hai gii
php: di ln (bottom-up) hoc trn xung (top-down). Phng php thit k di
ln xem cc mi lin kt c bn gia cc thuc tnh ring r nh l im xut pht
v s dng chng xy dng nn cc quan h. Gii php ny cn c tn gi l
thit k bng tng hp (design by synthesis). Ngc li, phng php thit k trn
xung, cn gi l thit k bng phn tch (design by analyse) bt u t mt s cc
nhm thuc tnh trong cc quan h nhn c t thit k quan nim v cc hot
ng chuyn i. Sau vic thit k bng phn tch c p dng i vi cc
quan h mt cch ring r v tp th dn n vic tch cc quan h cho n khi t
c tnh cht mong mun.
I- Cc nguyn tc thit k lc quan h
I.1- Ng ngha ca cc thuc tnh quan h
Khi chng ta nhm cc thuc tnh to nn mt lc quan h, ta gi thit
rng c mt ngha no gn vi cc thuc tnh. ngha ny, cn gi l ng
ngha, ch ra vic hiu cc gi tr thuc tnh lu gi trong cc b ca mt quan h
nh th no. Ni cch khc, cc gi tr thuc tnh trong mt b lin h vi nhau nh
th no. Nu vic thit k khi nim c lm mt cch cn thn, sau l mt
chuyn i sang cc quan h th hu ht ng ngha c gii thch v thit k kt
qu c mt ngha r rng. Ni chung, vic gii thch ng ngha ca quan h cng
87
d dng th vic thit k lc quan h cng tt. Mt v d v thit k lc
quan h tt l lc c s d liu CNG TY. Trong lc , cc thuc tnh
u c ngha r rng, khng c tnh mp m. Nguyn tc sau s h tr cho vic
thit k lc quan h.
Nguyn tc 1: Thit k mt lc quan h sao cho d gii thch ngha ca
n. ng t hp cc thuc tnh t nhiu kiu thc th v kiu lin kt vo mt quan
h n. Mt cch trc quan, nu mt lc quan h tng ng vi mt kiu thc
th hoc mt kiu lin kt th ngha tr nn r rng. Ngc li, mt quan h
tng ng vi mt hn hp cc thc th v lin kt th ngha tr nn khng r
rng.
I.2- Thng tin d tha trong cc b v s d thng cp nht
Mt mc tiu ca thit k lc l lm ti thiu khng gian lu tr cc quan
h c s. Cc thuc tnh c nhm vo trong cc lc quan h c mt nh
hng ng k n khng gian lu tr. Nu cng mt thng tin c lu gi nhiu
ln trong c s d liu th ta gi l d tha thng tin v iu s lm lng ph
khng gian nh. V d, gi s ta c bng c s sau y:
NHNVIN_NV
MsNV Hm Tn Ngy sinh ach MsV TnV MsNQL
NV001 L Vn 12/02/79 H ni 5 Nghincu NV002
NV002 Trn c Nam 14/02/66 H ni 5 Nghincu NV002
NV010 Hong Thanh 05/08/79 Ngh an 4 Hnhchnh NV014
NV014 Phm Bng 26/06/52 Bc ninh 4 Hnhchnh NV014
NV016 Nguyn Sn 14/08/73 H nam 5 Nghincu NV002
NV018 V Hng Giang 26/03/83 Nam nh 5 Nghincu NV002
NV025 Trn L Hoa 15/03/80 Ph th 4 Hnhchnh NV014
NV061 Hong Gip 02/05/47 H tnh 1 Lnho NV061
y c s d tha thng tin. Nu mt n v c nhiu nhn vin lm vic th
thng tin v n v (M s, Tn n v, M s ngi qun l) c lu gi nhiu
88
ln trong bng. So vi vic dng hai bng NHNVIN v NV ring r nh
trong lc CNG TY, vic s dng bng ny lm lng ph khng gian nh.
Ngoi vic lng ph khng gian nh n cn dn n mt vn nghim trng
l s d thng cp nht. D thng cp nht bao gm: D thng Chn, d thng
Xo, d thng Sa i. Nhng d thng cp nht ny s a vo c s d liu
nhng thng tin l v lm cho c s d liu mt tnh ng n.
D thng Chn: Gy ra kh khn khi chn cc b gi tr vo bng hoc dn
n vi phm rng buc. V d:
chn mt b gi tr cho mt nhn vin mi vo bng
NHNVIN_NV ngoi cc thng tin v nhn vin, ta phi a vo cc thng
tin v n v m anh ta lm vic hoc cc gi tr null (nu nhn vin khng lm
vic cho n v no c). Cc thng tin v n v phi c a vo mt cch ng
n, ph hp vi cc thng tin ca n v trong cc b khc. Trong lc , vi
lc c s d liu CNGTY chng ta khng phi lo lng g, v cc thng tin
v mt n v ch c lu tr mt ln.
Rt kh chn mt n v mi vo quan h NHNVIN_NV nu n v
khng c nhn vin no lm vic. Cch gii quyt duy nht l in cc gi tr
null vo cc thuc tnh ca nhn vin. iu lm ny sinh vn v rng buc
bi v MsNV l kha chnh ca quan h.
D thng Xa: Gy ra vic mt thng tin khi xa. V d khi ta xa mt b gi
tr trong bng NHNVIN_NV. Nu nhn vin tng ng vi b gi tr l
ngi cui cng lm vic cho n v th php xa s ko theo vic lm mt thng
tin v n v.
D thng Sa i: Gy ra vic sa i hng lot khi ta mun sa i mt gi
tr trong mt b no . V d, ta mun sa gi tr ca thuc tnh MsNQL ca
n v 5. iu ko theo ta phi sa gi tr ca thuc tnh ny trong tt c cc b
ng vi n v 5. Da trn cc d thng trn, chng ta c th pht biu nguyn
tc sau:
Nguyn tc 2: Thit k cc lc quan h c s sao cho khng sinh ra
nhng d thng cp nht trong cc quan h. Nu c xut hin nhng d thng cp
nht th phi ghi chp li mt cch r rng v phi m bo rng cc chng trnh
cp nht d liu s thc hin mt cch ng n.
89
I.3- Cc gi tr khng xc nh trong cc b
Trong mt s thit k lc , chng ta c th nhm nhiu thuc tnh vi nhau
vo mt quan h bo. Nu nhiu thuc tnh khng thch hp cho mi b trong
mt quan h, chng ta s kt thc vi nhiu gi tr null trong cc b . iu c
th lm tng khng gian mc lu tr v c th dn n vn v hiu ngha
ca cc thuc tnh. Vic ch ra cc php ni mc lgic cng s gp kh khn. Mt
vn na vi cc gi tr null l cc hm nhm nh COUNT, SUM khng m
c i vi chng. Hn na, cc gi tr null c th nhiu cch gii thch, chng
hn nh thuc tnh khng p dng c cho b ny, gi tr ca thuc tnh cho b
ny l khng c hoc gi tr cho thuc tnh l c nhng vng mt. Tm li, cc gi
tr null c nhiu ngha khc nhau .
Nguyn tc 3: Trnh cng xa cng tt vic t vo trong cc quan h c s
nhng thuc tnh m cc gi tr ca chng thng xuyn l null. Nu khng th
trnh c cc gi tr null th phi m bo rng chng ch p dng trong cc
trng hp c bit v khng p dng cho mt s ln cc b trong quan h.
I.4- Sinh ra cc b gi
Nhiu khi chng ta a vo c s d liu nhng quan h khng ng, vic p
dng cc php ton (nht l cc php ni) s sinh ra cc b gi tr khng ng, gi
l cc b gi. V d, xt hai lc quan h:
NV_ (Tn, aimDA)
NV_DA1(M sNV, M sDA, Sgi, TnDA, aimDA)
NV_ Tn aimDA
Vn Hni
Vn Namnh
Sn Bcninh
Giang Hni
NV_DA1 MsNV MsDA Sgi TnDA aimDA
NV001 1 32 DA01 Hni
90
NV001 2 7 DA02 Namnh
NV016 3 40 DA03 Bcninh
NV018 1 20 DA01 Hni
By gi ta ni hai quan h trn vi nhau, ta c quan h
MsNV MsDA Sgi TnDA aim Tn
NV001 1 32 DA01 Hni Vn
*
NV001 1 32 DA01 Hni Giang
NV001 2 7 DA02 Namnh Vn
NV016 3 40 DA03 Bcninh Sn
*
NV018 1 20 DA01 Hni Vn
NV018 1 20 DA01 Hni Giang
Ta thy cc dng nh du * l cc b gi. y l cc b gi tr khng c
trn thc t.
Nguyn tc 4: Thit k cc lc quan h sao cho chng c th c ni vi
iu kin bng trn cc thuc tnh l kho chnh hoc kho ngoi theo cch m
bo khng sinh ra cc b gi. ng c cc quan h cha cc thuc tnh ni khc
vi cc t hp kho chnh-kho ngoi. Nu khng trnh c nhng quan h nh
vy th ng ni chng trn cc thuc tnh , bi v cc php ni c th sinh ra cc
b gi.
II- Cc ph thuc hm
Khi nim c bn nht trong thit k lc quan h l khi nim ph thuc
hm. Trong phn ny chng ta s nh ngha hnh thc khi nim ny v cch s
dng n nh ngha cc dng chun cho cc lc quan h.
II.1- nh ngha ph thuc hm
Mt ph thuc hm l mt rng buc gia hai nhm thuc tnh ca mt c s
d liu. Gi s rng lc c s d liu ca ta c n thuc tnh A
1
,A
2
,,A
n
v ta
91
hy ngh rng ton b c s d liu c m t bng mt lc quan h chung
R={A
1
, A
2
,., A
n
}. ng nn ngh rng c s d liu ca chng ta s c lu tr
trong mt bng chung, chng ta ch s dng khi nim ny pht trin l thuyt
hnh thc v s ph thuc d liu. Gi s X v Y l hai tp con ca R.
Mt ph thuc hm, k hiu l X Y, gia hai tp thuc tnh X v Y ch ra
mt rng buc trn cc b c th c to nn mt trng thi quan h r ca R. Rng
buc l: vi hai b bt k t
1
v t
2
trong r , nu c t
1
[X] = t
2
[X] th cng phi c
t
1
[Y] = t
2
[Y]. iu c ngha l cc gi tr ca thnh phn Y ca mt b trong R
ph thuc vo, hoc c xc nh bi, cc gi tr ca thnh phn X. Ni cch
khc, cc gi tr ca thnh phn X ca mt b xc nh mt cch duy nht cc gi
tr ca thnh phn Y. Chng ta cng ni rng c mt ph thuc hm t X vo Y
hoc Y ph thuc hm vo X. Ph thuc hm c vit tt l FD (functional
dependency). Tp thuc tnh X c gi l v tri ca FD, tp thuc tnh Y c
gi l v phi ca FD.
Nh vy, X xc nh hm Y trong lc quan h R khi v ch khi nu hai b
ca r(R) bng nhau trn cc gi tr ca X th chng nht thit phi bng nhau trn
cc gi tr ca Y. Ta c cc nhn xt sau:
- Nu c mt rng buc trn cc trng thi ca R l ch c mt b gi tr duy
nht ca X trong mi th hin quan h r(R) th iu ko theo X Y vi
mi tp con cc thuc tnh Y ca R.
- Nu X Y th khng th ni g v Y X.
Mt ph thuc hm l mt tnh cht ng ngha ca cc thuc tnh. Nhng
ngi thit k c s d liu s dng hiu bit ca h v ngha ca cc thuc tnh
ca R ch ra cc ph thuc hm c th c trn mi trng thi quan h ca r(R)
ca R. Khi ng ngha ca hai tp thuc tnh trong R ch ra rng c th c mt ph
thuc hm, chng ta s c t ph thuc hm nh mt rng buc. Cc trng thi
quan h r(R) tho mn cc rng buc ph thuc hm c gi l cc trng thi hp
php ca R, bi v chng tun theo cc rng buc ph thuc hm. Nh vy, vic s
dng ch yu ca cc ph thuc hm l dng m t mt lc quan h R bng
vic ch ra cc rng buc trn cc thuc tnh phi tho mn mi thi im.
Mt ph thuc hm l mt tnh cht ca lc quan h R ch khng phi l
tnh cht ca mt trng thi hp php r ca R. V vy, mt ph thuc hm khng
92
th c pht hin mt cch t ng t mt trng thi r m phi do mt ngi hiu
bit ng ngha ca cc thuc tnh xc nh mt cch r rng. V d, ta c quan h
sau
DY Giovin Mnhc Tiliu
AA Mnhc1 XX
AA Mnhc2 YY
BB Mnhc3 ZZ
CC Mnhc4 TT
Mi nhn qua, chng ta c th ni c mt ph thuc hm Tiliu Mnhc,
tuy nhin chng ta khng th khng nh c v iu ch ng vi trng thi
quan h ny, bit u trong trng thi quan h khc c th c hai mn hc khc
nhau s dng cng mt ti liu tham kho. Vi mt trng thi c th, chng ta ch
c th khng nh l khng c mt ph thuc hm gia nhm thuc tnh ny v
nhm thuc tnh khc. lm iu chng ta ch cn a ra mt phn v d.
Chng hn, trong quan h trn chng ta c th khng nh rng khng c ph
thuc hm gia Giovin v Mnhc bng cch ch ra v d l AA dy hai mn hc
Mnhc1 v Mnhc2 vy Gio vin khng th xc nh duy nht Mn hc.
biu din cc ph thuc hm trong mt lc quan h, chng ta s dng
khi nim s ph thuc hm. Mi FD c biu din bng mt ng nm
ngang. Cc thuc tnh v tri ca FD c ni vi ng biu din FD bng cc
ng thng ng, cc thuc tnh v phi ca FD c ni vi ng biu din
FD bng mi tn ch n cc thuc tnh.
V d: Ta c lc quan h
MN(Sth, Mssch, Tnngimn, Tnsch, Ngymn)
Vi cc ph thuc hm:
Sth Tnngimn
Mssch Tnsch
Sth, Mssch Ngymn
C s ph thuc hm nh sau:
93
MN
II.2- Cc quy tc suy din i vi cc ph thuc hm
Chng ta k hiu F l tp cc ph thuc hm c xc nh trn mt lc
quan h R. Mt ph thuc hm X Y c gi l suy din c t mt tp cc
ph thuc hm F c xc nh trn R nu X Y ng trong mi trng thi quan
h r l m rng hp php ca R, ngha l mi khi r lm tho mn mi ph thuc
hm trong F, X Y cng ng trong r. Tp hp tt c cc ph thuc hm suy din
c t F c gi l bao ng ca F v c k hiu l F
+
. xc nh mt cch
suy din cc ph thuc hm c h thng, chng ta phi pht hin mt tp hp cc
quy tc suy din. Tp quy tc ny s c s dng suy din cc ph thuc hm
mi t mt tp cc ph thuc hm cho trc. Ta s dng k hiu F |= X Y k
hiu ph thuc hm X Y c suy din t tp cc ph thuc hm F. cho tin,
ta vit tt ph thuc hm c dng {X,Y} Z thnh XY Z ( ngha l ta ni cc
bin v b du ngoc nhn i). C 6 quy tc suy din i vi cc ph thuc hm:
QT1 (quy tc phn x) : Nu X Y th X Y
QT2 (quy tc tng) : { X Y } |= XZ YZ
QT3 (quy tc bc cu) : { X Y, Y Z } |= X Y
QT4 (quy tc chiu) : { X YZ } |= X Y v X Z
QT5 (quy tc hp) : { X Y , X Z } |= X YZ
QT6 (quy tc ta bc cu) : { X Y, WY Z } |= WX Z
Quy tc phn x pht biu rng mt tp hp cc thuc tnh lun lun xc nh
chnh n hoc mt tp con bt k ca n. V QT1 to ra cc ph thuc lun lun
ng, nhng ph thuc nh vy c gi l tm thng. Mt cch hnh thc, mt
ph thuc hm X Y l tm thng nu X Y, ngc li, n c gi l khng
tm thng. Quy tc tng ni rng vic thm cng mt tp thuc tnh vo c hai v
Sth M s
sch
Tn ngi
mn
Tn sch Ngymn
94
ca mt ph thuc hm s to ra mt ph thuc hm ng n. Theo quy tc 3, cc
ph thuc hm l bc cu. Quy tc chiu (QT4) ni rng chng ta c th b bt cc
thuc tnh ra khi v phi ca ph thuc hm. Vic p dng nhiu ln quy tc ny
c th tch ph thuc hm X {A
1
, A
2
,, A
n
} thnh mt tp hp ph thuc hm
{ X A
1
, X A
2
, ..., X A
n
}. Quy tc hp cho php chng ta lm ngc li, ta
c th gp cc ph thuc hm { X A
1
, XA
2
, ..., X A
n
} thnh mt ph thuc
hm n X {A
1
, A
2
, ..., A
n
}.
C th chng minh cc quy tc suy din trn mt cch trc tip hoc bng
phn chng da trn nh ngha ca ph thuc hm. chng minh phn chng, ta
gi thit mt quy tc l khng ng v ch ra rng iu l khng th. Sau y l
chng minh cc quy tc.
Quy tc 1:
Gi s rng X Y v hai b t
1
v t
2
trong mt th hin quan h r ca R sao
cho t
1
[X] = t
2
[X]. Khi t
1
[Y] = t
2
[Y] bi v X Y, nh vy X Y phi xy ra
trong r.
Quy tc 2: (chng minh phn chng)
Gi s rng XY ng trong mt th hin quan h r ca R nhng XZ YZ
khng ng. Khi phi c hai b t
1
v t
2
trong r sao cho:
(1) t
1
[X] = t
2
[X],
(2) t
1
[Y] = t
2
[Y],
(3) t
1
[XZ] = t
2
[XZ] v
(4) t
1
[YZ] = t
2
[YZ]. iu l khng th bi v t (1) v (3) chng ta suy ra
(5) t
1
[Z] = t
2
[Z], v t (2) v (5) ta suy ra t
1
[YZ] = t
2
[YZ], mu thun vi (4).
Quy tc 3: Gi s rng
(1) X Y v (2) Y Z c hai ng trong mt quan h r. Khi vi mi b t
1
v t
2
trong r sao cho t
1
[X] = t
2
[X] ta phi c (3) t
1
[Y] = t
2
[Y] theo gi thit (1). Nh
vy chng ta cng phi c (4) t
1
[Z] = t
2
[Z] theo (3) v gi thit (2). Vy X Z phi
ng trong r.
95
Chng ta c th chng minh cc quy tc t quy tc 4 n quy tc 6 theo
phng php trn. Tuy nhin ta c th li dng cc quy tc c chng minh l
ng chng minh chng. Sau y ta chng minh theo cch .
Quy tc 4:
1. X YZ (cho trc)
2. YZ Y (s dng QT1 v YZ Y)
3. X Y (s dng QT3 trn 1. v 2.)
Quy tc 5:
1. X Y (cho trc)
2. X Z (cho trc)
3. X YX (s dng QT2 trn 1. bng cch thm vo c hai v X, v XX=X)
4. YX YZ (s dng QT2 trn 2. bng cch thm vo c hai v Y)
5. XYZ (s dng QT3 trn 3. v 4.)
Quy tc 6:
1. XY (cho trc )
2. WYZ (cho trc)
3. WXWY (s dng QT2 trn 1. bng cch thm vo c hai v W)
4. WX Y (s dng QT3 trn 3. v 2.)
Amstrong chng minh rng cc quy tc suy din t QT1 n QT3 l ng
v y . ng c ngha l cho trc mt tp cc ph thuc hm F trn mt lc
quan h R , bt k mt ph thuc hm no suy din c bng cch p dng cc
quy tc t QT1 n QT3 cng ng trong mi trng thi quan h r ca R tho mn
cc ph thuc hm trong F. y c ngha l vic s dng cc quy tc t QT1
n QT3 lp li nhiu ln suy din cc ph thuc hm cho n khi khng cn
suy din c na s cho kt qu l mt tp hp y cc ph thuc hm c th
c suy din t F. Ni cch khc, tp hp cc ph thuc hm F
+
(bao ng ca F)
c th xc nh c t F bng cch p dng cc quy tc suy din t QT1 n QT3.
Cc quy tc t QT1 n QT3 c gi l cc quy tc suy din Amstrong.
96
Thng thng, nhng ngi thit k c s d liu u tin ch ra mt tp cc
ph thuc hm d xc nh c nh ng ngha ca cc thuc tnh ca R. Sau ,
s dng cc quy tc Amstrong suy din cc ph thuc hm b sung. Mt cch
c h thng, xc nh tt c cc ph thuc hm b sung l u tin hy xc nh
mi tp thuc tnh X xut hin v tri ca mt ph thuc hm no y trong F v
sau xc nh tp hp tt c cc thuc tnh ph thuc vo X. Nh vy, vi mi
tp thuc tnh X, chng ta xc nh tp X
+
cc thuc tnh ph thuc hm vo X da
trn F. X
+
c gi l bao ng ca X di F. Thut ton xc nh X
+
nh sau:
Thut ton 4.1: ( xc nh X
+
, bao ng ca X di F)
X
+
= X;
Repeat
Old X
+
= X
+
;
vi mi ph thuc hm Y Z trong F thc hin
nu X
+
Y th X
+
= X
+
Z;
until ( X
+
= Old X
+
);
V d: Xt lc quan h
R = {MsNV, HtnNV, MsDA, TnDA, aimDA, Sgi}
v tp ph thuc hm F = {MsNV HtnNV,
MsDA TnDA, aimDA,
{MsNV, MsDA} S gi}
p dng thut ton 4.1 ta c:
{MsNV}
+
= { MsNV, HtnNV}
{MsDA }
+
= { MsDA, TnDA, aimDA}
{MsNV, MsDA}
+
= {MsNV, HtnNV, MsDA, TnDA, Sgi}
Bao ng v kha: rng nu X
+
l l tp tt c cc thuc tnh ca quan
h th c ngha l X xc nh hm cc thuc tnh cn li, hay ni cch khc X l
mt siu kha. Chng ta c th kim tra xem mt tp thuc tnh X c phi l kha
ca mt quan h bng cch trc tin xem X
+
c cha tt c cc thuc tnh ca
quan h hay khng sau kim tra khng c mt tp con S no c lp t X bng
97
cch loi b mt thuc tnh ca X tha mn S
+
cha tt c cc thuc tnh ca quan
h (ngha l X l siu kha ti thiu). V d:
Xt lc quan h R( A,B,C,D,E,F) v tp ph thuc hm
F ={ A,B F ; A C,D; B E }
Ta c {A,B}
+
= {A,B,C,D,E,F}, A
+
= {A,C,D}, B
+
= {B,E} , vy AB l kha
ca quan h.
II.3- S tng ng ca cc tp ph thuc hm
Trong phn ny chng ta tho lun v s tng ng ca hai tp ph thuc
hm. Mt tp hp cc ph thuc hm E c ph bi mt tp cc ph thuc hm F
- hoc F ph E - nu mi mt ph thuc hm trong E u trong F
+
,iu c
ngha l mi ph thuc hm trong E c th suy din c t F. Hai tp ph thuc
hm E v F l tng ng nu E
+
= F
+
. Nh vy tng ng c ngha l mi
ph thuc hm trong E c th suy din c t F v mi ph thuc hm trong F c
th suy din c t E.
Chng ta c th xc nh xem F c ph E hay khng bng cch tnh X
+
i vi
F i vi mi thuc hm XY trong E v sau kim tra xem X
+
ny c cc
thuc tnh trong Y hay khng (ngha l X
+
Y). Nu iu xy ra vi mi ph
thuc hm trong E, th F ph E. Chng ta xc nh xem E v F c tng ng hay
khng bng cch kim tra E ph F v F ph E.
V d : Xt hai tp ph thuc hm
F = {A C, AC D, EAD, E H }
E = { A CD, E AH }
Ta chng minh F ph E:
Tm bao ng ca cc v tri ca cc ph thuc hm trong E theo F. p dng
thut ton 4.1 trn, ta c:
{A}
+
= { A, C, D };
{E}
+
= {E, A,D, H}
ta thy cc bao ng ny cha cc v phi tng ng. T suy ra F ph E.
Ta chng minh E ph F:
Tm bao ng ca cc v tri ca cc ph thuc hm trong F theo E. Ta c
98
{A}
+
={A,C,D},
{AC}+ = { A,C,D},
{E}+ = {E,A,H}, ta thy cc bao ng ny cha cc v phi tng
ng. T suy ra E ph F.
Tm li E tng ng vi F.
II.4- Cc tp ph thuc hm ti thiu
Mt tp ph thuc hm l ti thiu nu n tho mn cc iu kin sau y:
1. V phi ca cc ph thuc hm trong F ch c mt thuc tnh.
2. Chng ta khng th thay th bt k mt ph thuc hm X A trong F bng
ph thuc hm YA, trong Y l tp con ng ca X m vn cn l mt tp ph
thuc hm tng ng vi F.
3. Chng ta khng th b i bt k ph thuc hm no ra khi F m vn c
mt tp ph thuc hm tng ng vi F.
Chng ta c th ngh v tp ti thiu cc ph thuc hm nh l mt tp hp
dng chun khng c s d tha. iu kin 1 m bo rng mi ph thuc hm l
dng chnh tc vi mt thuc tnh v phi. iu kin 2 v 3 m bo rng
khng c s d tha trong cc ph thuc hoc do c cc thuc tnh d tha v
tri ca ph thuc, hoc do c mt ph thuc c th c suy din t cc ph thuc
khc trong F.
Mt ph ti thiu ca mt tp ph thuc hm F l mt tp ti thiu cc ph
thuc hm F
min
tng ng vi F. Thng c rt nhiu cc ph ti thiu cho mt
tp cc ph thuc hm. Chng ta lun lun c th tm c t nht l mt ph ti
thiu G cho mt tp cc ph thuc hm F bt k theo thut ton 4.2 sau y:
Thut ton 4.2: ( Tm ph ti thiu G cho F)
1. t G := F;
2. Thay th mi ph thuc hm X {A
1
, A
2
, ..., A
n
} trong G bng n ph
thuc hm X A
1
, X A
2
, , X A
n
.
3. Vi mi ph thuc hm X A trong G,
vi mi thuc tnh B l mt phn t ca X
99
nu ((G (X A) ((X {B}) A) l tng ng vi G
th thay th XA bng (X {B})A trong G
4. Vi mi ph thuc hm XA cn li trong G
nu (G {X A}) l tng ng vi G
th loi b X A ra khi G
V d p dng : Tm ph ti thiu cho tp ph thuc hm:
{A B, A C, B A, B C, C A, C B}
p dng thut ton trn, chng ta c th tm c cc ph ti thiu sau:
1) Do AB v BC nn AC l tha. Do CB v BA nn CA l tha.
B nhng ph thuc hm tha i, ta c {AB, BA, BC, CB} l mt
ph ti thiu.
2) Do AB v BC nn AC l tha. Do c BC v CA nn BA l tha.
Do c CA v AB nn CB l tha. B nhng ph thuc hm tha i, ta
nhn c mt ph ti thiu khc l {AB, BC, CA}
III- Cc dng chun da trn kha chnh
Sau khi nghin cu cc ph thuc hm v mt s tnh cht ca chng, by
gi chng ta s s dng chng nh thng tin v ng ngha ca cc lc quan h.
Ta gi s rng mi mt quan h c cho trc mt tp cc ph thuc hm v mi
quan h c mt kho chnh. Trong phn ny chng ta s nghin cu cc dng chun
v qu trnh chun ho cc lc quan h.
III.1- Nhp mn v chun ho
Qu trnh chun ho (do Codd ngh 1972) ly mt lc quan h v thc
hin mt lot cc kim tra xc nhn n c tho mn mt dng chun no hay
khng. Qu trnh ny c thc hin theo phng php trn xung bng vic nh
gi mi quan h vi tiu chun ca cc dng chun v tch cc quan h nu cn.
Qu trnh ny c th xem nh l vic thit k quan h bng phn tch. Lc u,
Codd ngh ba dng chun gi l dng chun 1, dng chun 2 v dng chun 3.
Mt nh ngha mnh hn cho dng chun 3 gi l dng chun Boyce-Codd do
Boyce v Codd ngh mun hn. Tt c cc dng chun ny da trn cc ph
100
thuc hm gia cc thuc tnh ca mt quan h. Sau , dng chun 4 (4NF) v
dng chun 5 (5NF) c ngh da trn cc ph thuc hm a tr v cc ph
thuc hm ni.
Chun ho d liu c th c xem nh mt qu trnh phn tch cc lc
quan h cho trc da trn cc ph thuc hm v cc kho chnh ca chng t
n cc tnh cht mong mun:
(1) Cc tiu s d tha v
(2) Cc tiu cc php cp nht bt thng.
Cc lc quan h khng tho mn cc kim tra dng chun s c tch ra
thnh cc lc quan h nh hn tho mn cc kim tra v c cc tnh cht mong
mun. Nh vy, th tc chun ho cung cp cho nhng ngi thit k c s d
liu:
- Mt c cu hnh thc phn tch cc lc quan h da trn cc kho ca
n v cc ph thuc hm gia cc thuc tnh ca n.
- Mt lot cc kim tra dng chun c th thc hin trn cc lc quan h
ring r sao cho c s d liu quan h c th c chun ho n mt mc
cn thit.
Dng chun ca mt quan h lin quan n iu kin dng chun cao nht m
n tho mn. Cc dng chun khi c xem xt c lp vi cc s kin khc khng
m bo mt thit k c s d liu tt. Ni chung, vic xc minh ring bit tng
lc quan h dng chun ny dng chun n l cha . Tt hn l qu trnh
chun ho thng qua php tch phi khng nh mt vi tnh cht h tr m tt c
cc lc quan h phi c. Chng gm hai tnh cht sau:
- Tnh cht ni khng mt mt (hoc ni khng ph thm), n m bo rng vn
to ra cc b gi khng xut hin i vi cc lc quan h c to ra
sau khi tch.
- Tnh cht bo ton s ph thuc, n m bo rng tng ph thuc hm s
c biu hin trong cc quan h ring r nhn c sau khi tch.
Tnh cht ni khng mt mt l rt quan trng, phi t c bng mi gi,
cn tnh cht bo ton ph thuc th cng rt mong mun nhng i khi c th hy
sinh.
101
Trc khi nh ngha cc dng chun chng ta xem li nh ngha cc kha
ca mt quan h. Mt siu kha (superkey) ca mt lc quan h R = {A
1
, A
2
,
.., A
n
} l mt tp con S cc thuc tnh ca R, S _ R, c tnh cht l khng c hai b
t
1
, t
2
trong mt trng thi quan h hp php r no ca R m t
1
[S] = t
2
[S]. Mt kha
K l mt siu kha c tnh cht l nu b i bt k thuc tnh no ra khi K th K
khng cn l siu kha na. iu c ngha l kha l mt siu kha ti thiu.
Nu mt lc quan h c nhiu hn mt kha th cc kha c gi l cc
kha d tuyn. Mt trong nhng kha d tuyn s c ch nh lm kha chnh v
cc kha cn li c gi l cc kha ph (secondary key). Mt lc quan h
phi c mt kha chnh. Mt thuc tnh ca mt lc quan h R c gi l mt
thuc tnh kha ca R nu n l mt thnh phn ca kha chnh ca R. Mt thuc
tnh c gi l thuc tnh khng kha nu n khng phi l mt thuc tnh kha.
III.2- Dng chun 1
Mt quan h c gi l dng chun 1 (1NF) nu min gi tr ca mt thuc
tnh ch cha cc gi tr nguyn t (n, khng phn chia c) v gi tr ca mi
thuc tnh trong mt b phi l mt gi tr n ly t min gi tr ca thuc tnh .
Nh vy, 1NF khng cho php quan h c cc thuc tnh a tr hoc c cc nhm
thuc tnh lp (quan h trong quan h). N ch cho php cc gi tr ca cc thuc
tnh l nguyn t.
V d, xt cc quan h NV v NHNVIN_DN nh hnh v di
y. Cc quan h ny khng tha mn iu kin 1NF. Quan h NV cha thuc
tnh a tr aim, quan h NHNVIN_DN cha nhm cc thuc tnh lp
(Tnnhnvin, Sgi).
NV MsV TnV M sNQL aim
5 Nghincu NV002 Namnh, Hni,Bcninh
4 Hnhchnh NV014 Hni
1 Lnho NV061 Hni
NHNVIN_DN MsDA TnDA Tnnhnvin Sgi
1 DA01 Vn 15
102
Nam 20
2 DA02 Nam
Thanh
Bng
10
12
28
3 DA03 Thanh 20
t n dng chun 1 i vi cc quan h trn chng ta dng phng
php sau:
Loi b cc thuc tnh vi phm dng chun 1 v t chng vo mt bng ring
cng vi kho chnh ca quan h ban u. Kho chnh ca bng ny l mt t hp
ca kho chnh ca quan h ban u v thuc tnh a tr hoc kho b phn ca
nhm lp.
Cc thuc tnh cn li lp thnh mt quan h vi kha chnh l kha chnh ban
u.
p dng : Lc quan h NV trn s c tch thnh hai:
NV (M sV, TnV, M sNQL)
NV_AIM ( MsV, aim)
Lc quan h NHNVIN_DN cng c tch thnh hai:
DN (MsDA, TnDA)
NHNVIN_DN(MsDA, Tnnhnvin, Sgi)
III.3- Dng chun 2
Dng chun 2 (2NF) da trn khi nim ph thuc hm y . Mt ph
thuc hm X Y l mt ph thuc hm y nu loi b bt k thuc tnh A
no ra khi X th ph thuc hm khng cn ng na. iu c ngha l, vi
thuc tnh A bt k, A e X, (X {A}) khng xc nh Y. Mt ph thuc hm X
Y l ph thuc b phn nu c th b mt thuc tnh Ae X, ra khi X ph thuc
hm vn ng, iu c ngha l vi Ae X, (X {A}) Y.
V d, xt lc quan h
NHNVIN_DN(MsNV, MsDA, Sgi, HtnNV, TnDA, aimDA)
103
MsNV, MsDA Sgi l ph thuc hm y
MsNV, MsDA HtnNV l ph thuc hm b phn, bi v c ph
thuc hm
MsNV HtnNV
Vic kim tra i vi 2NF bao gm vic kim tra i vi cc ph thuc hm
c cc thuc tnh v tri ca n l mt b phn ca kho chnh. Nu kho chnh
cha mt thuc tnh n th khng cn phi kim tra. Mt lc quan h R l
dng chun 2 nu n tha mn dng chun 1 v mi thuc tnh khng kho A
trong R l ph thuc hm y vo kho chnh ca R.
Nu mt quan h khng tho mn iu kin 2NF ta c th chun ho n c
cc quan h 2NF nh sau: Loi b cc thuc tnh khng kho ph thuc vo mt b
phn kho chnh v tch thnh ra mt bng ring, kho chnh ca bng l b phn
kho m chng ph thuc vo. Cc thuc tnh cn li lp thnh mt quan h, kha
chnh ca n l kha chnh ban u.
V d, xt lc quan h:
NHNVIN_DN(MsNV, MsDA, Sgi, HtnNV, TnDA, aimDA)
vi cc ph thuc hm:
MsNV, MsDA Sgi
MsNV HtnNV
MsDATnDA, aimDA
Ta thy y c nhng thuc tnh khng kho ph thuc vo mt b phn ca
kho chnh, nh vy n khng tho mn iu kin 2NF.
p dng phng php chun ho trn, lc c tch thnh cc lc
nh sau:
N_D1(MsDA, TnDA, aimDA)
N_D2(MsNV , HtnNV)
N_D3(MsNV, MsDA, Sgi)
104
III.4- Dng chun 3
Dng chun 3 (3NF) da trn khi nim ph thuc bc cu. Mt ph thuc
hm X Y trong mt lc quan h R l mt ph thuc hm bc cu nu c
mt tp hp thuc tnh Z khng phi l mt kho d tuyn cng khng phi l mt
tp con ca mt kho no v c hai X Z v Z Y u ng. Theo nh ngha
nguyn thu ca Codd, mt lc quan h R l 3NF nu n tho mn 2NF v
khng c thuc tnh khng kho no ca R l ph thuc bc cu vo kho chnh.
Nu mt lc quan h khng tho mn iu kin 3NF, ta c th chun ho
n c c cc lc 3NF nh sau: Loi b cc thuc tnh ph thuc bc cu
ra khi quan h v tch chng thnh mt quan h ring c kho chnh l thuc tnh
bc cu. Cc thuc tnh cn li lp thnh mt quan h c kha chnh l quan h ban
u.
V d: Xt lc quan h
NHNVIN_NV(HtnNV, MsNV, Ngysinh, ach, MsV, TnV,
MsNQL)
Vi cc ph thuc hm:
MsNV HtnNV, Ngy sinh, ach, MsV, TnV, MsNQL
MsDV TnV, M sNQL
Cc thuc tnh TnV, MsNQL ph thuc bc cu vo kho chnh, lc
quan h khng tho mn iu kin 3NF.
p dng phng php chun ho trn, lc c tch ra nh sau:
NV_DV1(HtnNV, MsNV, Ngysinh, ach, MsV)
NV_DV2(MsV, TnV, MsNQL)
III.5- Dng chun Boyce-Codd
Mt lc quan h R c gi l dng chun Boyce-Codd (BCNF) nu n
l dng chun 3NF v khng c cc thuc tnh kha ph thuc hm v thuc tnh
khng kha.
V d: Lc
R (A
1
,A
2
,A
3
,A
4
,A
5
)
105
Vi cc ph thuc hm:
A1,A
2
A
3
,A
4
,A
5
A
4
A
2
Quan h ny vi phm dng chun BCNF bi v c thuc tnh kha (A
2
) ph
thuc hm vo thuc tnh khng kha (A
4
).
Nu mt lc quan h khng tho mn iu kin BCNF, ta c th chun
ho n c c cc lc BCNF nh: Loi b cc thuc tnh kha ph thuc
hm vo thuc tnh khng kha ra khi quan h v tch chng thnh mt quan h
ring c kho chnh l thuc tnh khng kha gy ra ph thuc.
p dng phng php chun ha trn, lc c tch ra nh sau:
R1( A
4
, A
2
)
R2(A
1
, A
4
, A
3
, A
5
)
V d p dng:
Cho lc quan h R = {A,B,C,D,E,F,G,H,I,J} c kha chnh l A,B
Vi tp cc ph thuc hm :
A,B C,D,E,F,G,H,I,J
A E,F,G,H,I,J
F I, J
D B
Do c c ph thuc hm A E,F,G,H,I,J m A l mt b phn ca kha chnh
nn quan h R l vi phm 2NF. Ta tch R thnh R
1
(A,E,F,G,H,I,J) v R
2
(A,B,C,D).
Trong R
1
, do c ph thuc hm F I, J, nn ta c I,J ph thuc bc cu vo kha
chnh, R
1
l quan h vi phm 3NF. Trong R
2
ta c ph thuc hm D B trong
B l mt thuc tnh kha, R
2
vi phm BCNF. Tch R
1
v R
2
ta c:
R
11
( F,I,J) , R
12
( A,E,F,G,H), R
21
(D,B), R
22
( A,D,C)
106
IV- Cc thut ton thit k c s d liu quan h v cc dng chun
cao hn
Nh chng ta tho lun trong u chng IV, c hai cch chnh thit k
c s d liu quan h. Cch th nht l thit k trn-xung (top-down design). y
l cch hay c s dng nht trong thit k ng dng c s d liu thng mi.
N bao gm vic thit k mt lc quan nim trong mt m hnh d liu bc
cao, chng hn nh m hnh EER, sau nh x lc quan nim vo mt tp
quan h s dng cc th tc nh x nh ni n trong chng III. Sau , mi
mt quan h c phn tch da trn cc ph thuc hm v cc kha chnh c
ch nh bng cch p dng cc th tc chun ha nh ni n trong phn III
chng ny loi b cc ph thuc hm b phn v cc ph thuc hm bc cu.
Vic phn tch cc ph thuc khng mong mun cng c th c thc hin trong
qu trnh thit k quan nim bng cch phn tch cc ph thuc hm gia cc thuc
tnh bn trong cc kiu thc th v cc kiu lin kt ngn nga s cn thit c s
chun ha ph thm sau khi vic nh x c thc hin.
Cch th hai l thit k di-ln (bottom-up design), mt k thut tip cn v
nhn nhn vic thit k lc c s d liu quan h mt cch cht ch trn c s
cc ph thuc hm c ch ra trn cc thuc tnh ca c s d liu. Sau khi ngi
thit k ch ra cc ph thuc, ngi ta p dng mt thut ton chun ha tng
hp cc lc quan h. Mi mt lc quan h ring r dng chun 3NF hoc
BCNF hoc dng chun cao hn.
Trong phn ny chng ta ch yu trnh by cch tip cn th hai. Trc tin
chng ta s nh ngha li cc dng chun mt cch tng qut, sau trnh by cc
thut ton chun ha v cc kiu ph thuc khc. Chng ta cng s trnh by chi
tit hn v hai tnh cht cn c l ni khng ph thm (mt mt) v bo ton ph
thuc. Cc thut ton chun ha thng bt u bng vic tng hp mt lc
quan h rt ln, gi l quan h ph qut (universal relation), cha tt c cc thuc
tnh ca c s d liu. Sau chng ta thc hin lp i lp li vic tch
(decomposition) da trn cc ph thuc hm v cc ph thuc khc do ngi thit
k c s d liu ch ra cho n khi khng cn tch c na hoc khng mun tch
na.
107
IV.1- nh ngha tng qut cc dng chun
Ni chung, chng ta mun thit k cc lc ca chng ta sao cho chng
khng cn cc ph thuc b phn v cc ph thuc bc cu bi v cc kiu ph
thuc ny gy ra cc sa i bt thng. Cc bc chun ha thnh 3NF, BCNF
c trnh by trong phn trc loi b cc ph thuc b phn v bc cu da
trn kha chnh. Cc nh ngha ny khng tnh n cc kha d tuyn ca quan h.
Trong phn ny chng ta s a ra cc nh ngha v cc dng chun tng qut hn,
c tnh n tt c cc kha d tuyn. C th, thuc tnh kha c nh ngha li l
mt b phn ca mt kha d tuyn. Cc ph thuc hm b phn, y , bc cu
by gi s c nh ngha i vi tt c cc kha d tuyn ca quan h.
nh ngha dng chun 1: Mt lc quan h R l dng chun 1 (1NF)
nu min gi tr ca cc thuc tnh ca n ch cha cc gi tr nguyn t (n,
khng phn chia c) v gi tr ca mt thuc tnh bt k trong mt b gi tr phi
l mt gi tr n thuc min gi tr ca thuc tnh .
nh ngha dng chun 2: Mt lc quan h R l dng chun 2 (2NF)
nu mi thuc tnh khng kha A trong R khng ph thuc b phn vo mt kha
bt k ca R.
V d: Xt lc quan h
R={A,B,C,D,E,F}
Vi cc ph thuc hm A B,C,D,E,F; B,C A,D,E,F; B F; D E.
Lc trn c hai kha d tuyn l A v {B,C}. Ta chn A lm kha chnh.
Do c ph thuc hm B F nn F ph thuc b phn vo kha {B,C}, lc vi
phm chun 2NF (ch rng, trong nh ngha dng chun da trn kha chnh,
lc ny khng vi phm 2NF).
nh ngha dng chun 3: Mt lc quan h R l dng chun 3 (3NF)
nu khi mt ph thuc hm X A tha mn trong R, th:
1) Hoc X l mt siu kha ca R.
2) Hoc A l mt thuc tnh kha ca R.
V d: Xt lc quan h R v d trn. Gi s n c tch thnh hai lc
:
R1 = {A,B,C,D,E}
108
R2 = {B, F}.
Do c ph thuc hm D E trong D khng phi thuc tnh kha, E cng
khng phi l thuc tnh kha, nn R1 vi phm chun 3NF
nh ngha dng chun Boyce- Codd: Mt lc quan h l dng chun
Boyce-Codd (BCNF) nu khi mt ph thuc hm X A tha mn trong R th X l
mt siu kha ca R.
V d: Xt lc R = {A, B, C, D} c A l kha chnh v {B,C} l kha d
tuyn. Nu c tn ti mt ph thuc hm D B th lc ny vi phm BCNF v
B l mt thuc tnh kha (ch rng trong trng hp nh ngha dng chun da
trn kha chnh, lc ny khng vi phm BCNF).
IV.2- Cc thut ton thit k lc c s d liu quan h
IV.2.1- Tch quan h v tnh khng y ca cc dng chun
Tch quan h: Cc thut ton thit k c s d liu quan h c trnh by
trong phn ny bt u t mt lc quan h v tr n R = {A
1
, A
2
, , A
n
}
cha tt c cc thuc tnh ca c s d liu. Vi gi thit quan h v tr, tn ca
mi thuc tnh l duy nht. Tp hp F cc ph thuc hm tha mn trn cc thuc
tnh ca R do nhng ngi thit k c s d liu ch ra s c cc thut ton s
dng. S dng cc ph thuc hm, cc thut ton s tch lc quan h v tr R
thnh mt tp hp cc lc quan h D = {R
1
, R
2
, , R
m
}, tp hp s l lc
c s d liu quan h. D c gi l mt php tch (decomposition) ca R.
Chng ta phi m bo rng mi thuc tnh trong R s xut hin trong t nht l
mt lc quan h R
i
trong php tch n khi b mt . Mt cch hnh thc,
ta c iu kin bo ton thuc tnh sau y:
R
i
= R
Tnh khng y ca cc dng chun: Mc ch ca chng ta l mi quan h
ring r R
i
trong php tch D l dng chun BCNF hoc 3NF. Tuy nhin, iu
khng m bo mt thit k c s d liu tt. Bn cnh vic xem xt tng
quan h ring r, chng ta cn xem xt ton b php tch. V d, xt hai quan h:
NV_(Tn, aimDA)
NV_DA1(M sNV, M sDA, Sgi, TnDA, aimDA)
109
phn I.4 chng ny, ta thy rng d quan h NV_ l mt quan h dng
BCNF nhng khi chng ta em ni t nhin vi quan h NV_DA1 th chng ta
nhn c mt quan h c cha cc b gi. iu xy ra l do ng ngha khng
r rng ca quan h NV_. l mt lc quan h c thit k ti. Chng
ta cn phi c tiu chun khc cng vi cc iu kin 3NF v BCNF ngn nga
cc thit k ti nh vy. Trong cc phn tip theo chng ta s ni n cc iu kin
ph thm phi tha mn trn php tch D.
IV.2.2- Php tch v s bo ton ph thuc
Vic mi ph thuc hm X Y trong F hoc c xut hin trc tip trong
mt trong cc lc quan h R
i
trong php tch D hoc c th c suy din t
cc ph thuc hm c trong R
i
l rt c li. Ta gi l iu kin bo ton ph
thuc. Chng ta mun bo ton ph thuc bi v mi ph thuc trong F biu th
mt rng buc trong c s d liu. Nu nh mt trong cc ph thuc khng c
th hin trong mt quan h ring r R
i
no ca php tch, chng ta khng th p
buc rng buc ny i vi quan h ring r, thay vo , chng ta ni hai hoc
nhiu quan h trong php tch v sau kim tra rng ph thuc hm tha mn
trong kt qu ca php ni. R rng l mt th tc khng hiu qu v khng
thc tin.
Vic cc ph thuc chnh xc c ch ra trong F xut hin trong cc quan
h ring r ca php tch D l khng cn thit. Ch cn hp ca cc ph thuc tha
mn trn cc quan h ring r trong D l tng ng vi F l . By gi chng ta
nh ngha cc khi nim ny mt cch hnh thc.
Cho trc mt tp hp cc ph thuc F trn R, php chiu ca F trn R
i
, k
hiu l t
Ri
(F) trong R
i
l mt tp con ca R, l mt tp hp cc ph thuc hm
XY trong F
+
sao cho cc thuc tnh trong X Y u c cha trong R
i
. Nh
vy, php chiu ca F trn mi lc quan h R
i
trong php tch D l tp hp cc
ph thuc hm trong F
+
, bao ng ca F, sao cho cc thuc tnh v tri v v phi
ca chng u trong R
i
. Ta ni rng php tch D = {R1, R2, , Rm} ca R bo
ton ph thuc i vi F nu hp ca cc php chiu ca F trn mi R
i
trong D l
tng ng vi F. iu c ngha l:
( (t
R1
(F)) (t
R2
(F)) (t
Rm
(F)))
+
= F
+
110
Nu mt php tch l khng bo ton ph thuc, mt vi ph thuc s b mt
trong php tch. kim tra xem mt ph thuc hm X B, trong X l tp
thuc tnh thuc v R
i
, B l mt thuc tnh thuc R
i
c tha mn trong R
i
hay
khng ta lm nh sau: Trc ht tnh X
+
, sau vi mi thuc tnh B sao cho
1. B l mt thuc tnh ca R
i
2. B l trong X
+
3. B khng trong X
Khi ph thuc hm X B tha mn trong R
i
.
Mt v d v php tch khng bo ton ph thuc. Xt lc quan h:
R = { A,B,C,D} vi cc ph thuc hm:
A BCD; BC DA; D B
Lc ny c hai kha d tuyn l A v BC. Lc ny vi phm BCNF.
N c tch thnh:
R1 = {D,B}, lc ny cha ph thuc hm D B
R2 = {A,C,D}, lc ny cha ph thuc hm A CD
R rng sau khi tch, ph thuc hm BC DA b mt.
nh l: Lun lun tm c mt php tch bo ton ph thuc D i vi F
sao cho mi quan h R
i
trong D l 3NF. Php tch D c thc hin theo thut
ton sau y:
Thut ton 5.1: To mt php tch bo ton ph thuc D = {R
1
,R
2
, ,R
m
}
ca mt quan h v tr R da trn mt tp ph thuc hm F sao cho mi R
i
trong D
l 3NF. Thut ton ny ch m bo tnh cht bo ton ph thuc, khng m bo
tnh cht ni khng mt mt.
Input: Mt quan h v tr R v mt tp ph thuc hm F trn cc thuc tnh
ca R.
1) Tm ph ti thiu G ca F.
2) Vi mi v tri X ca mt ph thuc hm xut hin trong G, hy to mt
lc trong D vi cc thuc tnh {X {A
1
} {A
2
} {A
k
}} trong
111
XA
1
, XA
2
,, XA
k
ch l cc ph thuc hm trong G vi X l
v tri (X l kha ca quan h ny).
3) t cc thuc tnh cn li (nhng thuc tnh cha c t vo quan h
no) vo mt quan h n m bo tnh cht bo ton thuc tnh.
V d p dng:
Xt lc : R = { A,B,C,D} , vi cc ph thuc hm:
F = {A BCD; BC DA; D B}
Lc ny c hai kha d tuyn l A v BC.
Ta thc hin thut ton nh sau: Trc tin ta tm G l ph ti thiu ca F.
Theo thut ton tm ph ti thiu, u tin ta lm cho cc v phi trong G ch cha
mt thuc tnh, ta c:
G = {A B; A C; A D; BC D; BC A; D B}
Sau ta b i cc ph thuc hm tha (l cc ph thuc hm c th suy din
c t cc ph thuc hm khc). Ta thy A B l tha v c A D, D B. Vy
G cn li l:
G = {A C; A D; BC D; BC A; D B}. Lc R s c tch
thnh:
R
1
( A,C,D); R2(B,C,D,A); R3(D,B) vi cc kha chnh c gch di.
R rng rng tt c cc ph thuc hm trong G u c thut ton bo ton
bi v mi ph thuc xut hin trong mt trong cc quan h ca php tch D. Bi v
G tng ng vi F, tt c cc ph thuc ca F cng c bo ton hoc trc tip
bng thut ton hoc c suy din t nhng ph thuc hm trong cc quan h kt
qu, nh vy tnh cht bo ton ph thuc c m bo.
IV.2.3- Php tch v kt ni khng mt mt
Php tch D phi c mt tnh cht na l ni khng mt mt (hoc tnh cht
ni khng ph thm), n m bo rng khng c cc b gi c to ra khi p dng
mt php ni t nhin vo cc quan h trong php tch. Chng ta a ra v d v
php tch khng c tnh cht ni khng mt thng tin phn I.4 chng ny.
Trong php tch , khi ta thc hin php ni t nhin trn cc quan h ca php
tch, rt nhiu cc b gi sinh ra.
112
Mt cch hnh thc, ta ni rng mt php tch D = { R
1
, R
2
,,R
m
} ca R c
tnh cht ni khng mt mt (khng ph thm) i vi mt tp hp ph thuc hm
F trn R nu vi mi trng thi quan h r ca R tha mn F th
* ( t
R1
(r) , t
R1
(r) , t
R1
(r) ) = r
trong * l php ni t nhin ca cc quan h trong D.
Nu mt php tch khng c tnh cht ni khng mt mt thng tin th chng
ta c th nhn c cc b ph thm (cc b gi) sau khi p dng cc php chiu v
ni t nhin. Ngha ca t mt mt y l mt mt thng tin cha khng phi mt
cc b gi tr. V vy, vi tnh cht ny ta nn gi chnh xc hn l tnh cht ni
khng ph thm.
Chng ta c thut ton kim tra mt php tch c tnh cht ni khng mt
mt thng tin hay khng nh sau:
Thut ton 5.2: Kim tra tnh cht ni khng mt mt
Input: Mt quan h v tr R(A
1
,A
2
,A
n
), mt php tch D = {R
1
, R
2
, , R
m
}
ca R v mt tp F cc ph thuc hm.
1) To mt ma trn S c m hng, n ct. Mi ct ca ma trn ng vi mt
thuc tnh, mi hng ng vi mi quan h R
i
2) t S(i,j) = 1 nu thuc tnh A
j
thuc v quan h R
i
v
bng 0 trong trng
hp ngc li.
3) Lp li vng lp sau y cho n khi no vic thc hin vng lp khng
lm thay i S: Vi mi ph thuc hm X Y trong F, xc nh cc
hng trong S c cc k hiu 1 nh nhau trong cc ct ng vi cc thuc
tnh trong X. Nu c mt hng trong s cha 1 trong cc ct ng vi
thuc tnh Y th hy lm cho cc lm cho cc ct tng ng ca cc hng
khc cng cha 1.
4) Nu c mt hng cha ton k hiu 1 th php tch c tnh cht ni
khng mt mt, ngc li, php tch khng c tnh cht .
Cho trc mt quan h R c tch thnh mt s quan h R
1
, R
2
, ..,R
m
. Thut
ton 5.2 bt u bng vic to ra mt trng thi quan h r trong ma trn S. Hng i
trong S biu din mt b t
i
(tng ng vi quan h R
i
). Hng ny c cc k hiu
1 trong cc ct tng ng vi cc thuc tnh ca R
i
v cc k hiu 0 trong cc
113
ct cn li. Sau thut ton bin i cc hng ca ma trn ny (trong vng lp ca
bc 3) sao cho chng biu din cc b tha mn tt c cc ph thuc hm trong F.
cui vng lp p dng cc ph thuc hm, hai hng bt k trong S chng biu
din hai b trong r c cc gi tr ging nhau i vi cc thuc tnh ca X v tri
ca ph thuc hm X Y trong F s cng c cc gi tr ging nhau i vi cc
thuc tnh ca v phi Y. C th ch ra rng sau khi p dng vng lp ca bc 3,
nu mt hng bt k trong S kt thc vi ton k hiu 1 th D c tnh cht ni
khng mt mt i vi F. Mt khc, nu khng c hng no kt thc bng tt c k
hiu 1 th D khng tha mn tnh cht ni khng mt mt. Trong trng hp sau,
trng thi quan h r c biu din bng S cui thut ton s l mt v d v mt
trng thi quan h r ca R tha mn cc ph thuc trong F nhng khng tha mn
iu kin ni khng mt mt . Nh vy, quan h ny c dng nh mt phn v
d chng minh rng D khng c tnh cht ni khng mt mt i vi F. Ch rng
cc k hiu 1 v 0 khng c ngha c bit g cui thut ton.
V d p dng 1:
R = ( MsNV, TnNV, MsDA, TnDA, aimDA, Sgi)
R1= ( TnNV, aimDA)
R2 = ( MsNV, MsDA, Sgi, TnDA, aimDA )
F= { M sNV TnNV, MsDA {TnDA, aimDA}, {MsNV,
M sDA} Sgi}
MsNV TnNV M sDA TnDA aimDA Sgi
R1 0 1 0 0 1 0
R2 1 0 1 1 1 1
Xt ln lt ph thuc hm MsNV TnNV, MsDA {TnDA,
aimDA}, {MsNV, M sDA} Sgi. Ta thy khng c trng hp no
cc thuc tnh tng ng vi cc v tri u c gi tr bng 1, v vy ta khng th
lm g bin i ma trn. Ma trn khng cha mt hng gm ton k hiu 1.
Php tch l mt mt.
V d p dng 2:
R = (MsNV, TnNV, MsDA, TnDA, aimDA, Sgi)
114
R1= (MsNV, TnNV)
R2 = (MsDA, TnDA, aimDA)
R3 = (MsNV, MsDA, Sgi)
F= {M sNV TnNV, MsDA {TnDA, aimDA}, {MsNV,
MsDA} Sgi}
MsNV TnNV M sDA TnDA aimDA Sgi
R1 1 1 0 0 0 0
R2 0 0 1 1 1 0
R3 1 0 1 1 1 0
(Gi tr ban u ca ma trn S)
MsNV TnNV M sDA TnDA aimDA Sgi
R1 1 1 0 0 0 0
R2 0 0 1 1 1 0
R3 1 0 1 1 0 1 0 1 1
(Ma trn S sau khi p dng hai ph thuc hm u tin dng cui cng ko cha
ton k hiu a). Ma trn cha mt hng gm ton k hiu 1. Php tch ny l
khng mt mt.
Hnh IV-1. Thut ton kim tra ni khng mt mt
Thut ton 5.2 cho php chng ta kim tra xem mt php tch D c th c
tun theo tnh cht ni khng mt mt hay khng. Cu hi tip theo l liu c mt
thut ton tch mt lc quan h v tr R = {A
1
, A
2
, , A
n
} thnh mt php
tch D = {R
1
, R
2
, ,R
m
} sao cho mi R
i
l BCNF v php tch D c tnh cht ni
khng mt mt i vi F hay khng? Cu tr li l c. Trc khi trnh by thut
ton, ta xem mt s tnh cht ca cc php tch ni khng mt mt ni chung.
Tnh cht 1: Mt php tch D = {R
1
,R
2
} ca R c tnh cht ni khng mt mt
i vi mt tp ph thuc hm F trn R khi v ch khi
- Hoc ph thuc hm ((R
1
R
2
) (R
1
R
2
)) trong F
+
.
115
- Hoc ph thuc hm ((R
1
R
2
) (R
2
R
1
)) trong F
+
.
Vi tnh cht ny, chng ta c th kim tra li cc php tch chun ha trong
4.3 v s thy rng cc php tch l tha mn tnh cht ni khng mt mt.
Tnh cht 2: Nu mt php tch D = {R
1
, R
2
, , R
m
} ca R c tnh cht ni
khng mt mt i vi mt tp ph thuc hm F trn R v nu mt php tch D
1
=
{Q
1
, Q
2
, ,Q
k
} ca R
i
c tnh cht ni khng mt mt i vi php chiu ca F
trn R
i
th php tch D2 = { R
1
, R
2
,, R
i-1
, Q
1
, Q
2
,,Q
k
, R
i+1
,, R
m
} ca R c tnh
cht ni khng mt mt i vi F.
Tnh cht ny ni rng nu mt php tch D c tnh cht ni khng mt mt
i vi mt tp F v chng ta tip tc tch mt trong cc quan h R
i
trong D thnh
php tch khc D
1
(l = 1,2,..k) c tnh cht ni khng mt mt i vi t
Ri
(F) th
vic thay R
i
trong D bng D
1
(l = 1,2,..k) cng to ra mt php tch c tnh cht ni
khng mt mt i vi F.
Thut ton 5.3 sau y s dng hai tnh cht trn to ra mt php tch D =
{R
1
, R
2
, , R
m
} ca mt quan h v tr R da trn mt tp cc ph thuc hm F
sao cho mi R
i
l BCNF.
Thut ton 5.3: Tch quan h thnh cc quan h BCNF vi tnh cht ni
khng mt mt.
Input: Mt quan h v tr R v mt tp hp cc ph thuc hm F trn cc
thuc tnh ca R.
1. t D := {R} ;
2. Khi c mt lc quan h Q trong D khng phi BCNF, thc hin vng
lp: Vi mi mt lc quan h Q trong D khng BCNF hy tm mt ph
thuc hm X Y trong Q vi phm BCNF v thay th Q trong D bng hai
lc quan h (Q-Y) v (XY). Qu trnh lp dng khi khng cn quan h
no trong D vi phm BCNF.
Mi ln i vo vng lp trong thut ton 5.3, chng ta tch mt quan h Q
khng phi BCNF thnh hai lc quan h. Theo cc tnh cht 1 v 2, php tch
D c tnh cht ni khng mt mt. Kt thc thut ton, tt c cc quan h trong D s
BCNF.
116
Trong bc 2 ca thut ton 5.3, cn xc nh xem mt lc quan h Q c
BCNF hay khng. Mt phng php lm iu l kim tra. Vi mi ph
thuc hm X Y trong Q, ta tnh X
+
. Nu X
+
khng cha tt c cc thuc tnh
trong Q th X Y vi phm BCNF bi v X khng phi l mt siu kha.
Mt k thut na da trn quan st rng khi mt lc quan h Q vi phm
BCNF th c tn ti mt cp thuc tnh A,B trong Q sao cho {Q {A,B}} A.
Bng vic tnh bao ng {Q {A,B}}
+
cho mi cp thuc tnh {A,B} ca Q v
kim tra xem bao ng c cha A (hoc B) hay khng, chng ta c th xc nh
c Q c BCNF hay khng.
V d p dng: Xt lc quan h
R = { A, B, C, D, E, F)
Vi cc ph thuc hm:
A BCDEF, BC ADEF, B F, D E, D B
Lc quan h ny c hai kha d tuyn l A v BC.
Ta c B F vi phm BCNF v B khng phi l siu kha, R c tch thnh:
R1(B,F) vi ph thuc hm B F
R2(A,B,C,D,E) vi cc ph thuc hm ASCDE, BCADF, DE, DB
Do D E vi phm BCNF ( D l mt thuc tnh khng kha ), R2 c tch
thnh:
R21(D,E) vi ph thuc hm D E
R22(ABCD) vi cc ph thuc hm A BCD, BC AD, D B
Do D B vi phm BCNF (Dkhng phi l thuc tnh kha), R22 c tch
thnh:
R221(D,B)
R222(A,B,D) vi ph thuc hm A BD (ph thuc hm BC AD b mt)
Tm li, ta c php tch D = {R1, R21, R221, R222}. Php tch ny c tnh
cht ni khng mt thng tin nhng khng bo ton ph thuc.
117
Nu chng ta mun c mt php tch c tnh cht ni khng mt mt v bo
ton ph thuc th ta phi hi lng vi cc lc quan h dng 3NF. Thut ton
sau y l ci tin ca thut ton 5.1, to ra mt php tch tha mn :
- Bo ton ph thuc.
- C tnh cht ni khng mt mt.
- Mi lc quan h kt qu l dng 3NF.
Thut ton 5.4: Thut ton tng hp quan h vi tnh cht bo ton ph thuc
v ni khng mt mt.
Input: Mt quan h v tr R v mt tp cc ph thuc hm F trn cc thuc
tnh ca R.
1) Tm ph ti thiu G cho F.
2) Vi mi v tri X ca mt ph thuc hm xut hin trong G hy to ra mt
lc quan h trong D vi cc thuc tnh {X{A
1
}{A
2
} {A
k
}},
trong X A
1
, XA
2
,, X A
k
ch l cc ph thuc hm trong G vi
X l v tri (X l kha ca quan h ny).
3) Nu khng c lc quan h no trong D cha mt kha ca R th hy to
ra thm mt lc quan h trong D cha cc thuc tnh to nn mt kha
ca R.
Bc 3 ca thut ton 5.4 i hi phi xc nh mt kha K ca R. xc
nh mt kha K ca R, ta s dng thut ton sau
Thut ton xc nh kha: Tm mt kha K ca R da trn tp F cc ph
thuc hm.
1) t K := R;
2) Vi mi thuc tnh A trong K
{tnh (K-A)
+
i vi F;
Nu (K-A)
+
cha tt c cc thuc tnh trong R th t K := K-{A}};
*Ch : Chng ta c nhn xt sau: Nu quan h c kha th cc thuc tnh
kha ca quan h phi l cc tp con ca tp hp cc thuc tnh v phi cc ph
thuc hm trong F. V vy, tm c cc kha nhanh hn, trc tin chng ta
tnh R
F
l hp ca cc thuc tnh cc v tri ca cc ph thuc hm trong F, sau
118
i tnh bao ng ca tt c cc tp con ca R
F
. Nu bao ng ca tp con no
cha tt c cc thuc tnh ca R th tp l mt siu kha. kim tra n l mt
kha ta thc hin nh bc 2) ca thut ton trn.
Khng phi lc no cng c kh nng tm c mt php tch thnh cc lc
quan h bo ton ph thuc v mi lc trong php tch l BCNF. Cc
lc quan h trong php tch theo thut ton trn thng l 3NF. c cc
lc BCNF, chng ta c th kim tra cc lc quan h 3NF trong php tch
mt cch ring r xem n c tha mn BCNF khng. Nu c lc quan h R
i
khng BCNF th ta c th tch tip hoc nguyn n l 3NF.
IV.3- Cc ph thuc hm a tr v dng chun 4
Trong phn ny chng ta tho lun khi nim ph thuc hm a tr v nh
ngha dng chun 4. Cc ph thuc a tr h qu ca dng chun 1 khng cho php
mt thuc tnh ca mt b c mt tp gi tr (ngha l cc thuc tnh a tr). Nu
chng ta c hai hoc nhiu hn cc thuc tnh c lp v a tr trong cng mt lc
quan h th chng ta phi lp li mi mt gi tr ca mt trong cc thuc tnh vi
mi gi tr ca thuc tnh khc gi cho trng thi quan h nht qun v duy tr
tnh c lp gia cc thuc tnh. Rng buc c ch ra bng mt ph thuc a
tr.
IV.3.1- nh ngha ph thuc a tr
Gi thit c mt lc quan h R, X v Y l hai tp con ca R. Mt ph
thuc a tr (MVD), k hiu l X Y , ch ra rng buc sau y trn mt trng
thi quan h bt k ca R: Nu hai b t
1
v t
2
tn ti trong R sao cho t
1
[X] = t
2
[X]
th hai b t
3
v t
4
cng tn ti trong R vi cc tnh cht sau:
. t
3
[X] = t
4
[X] = t
1
[X] = t
2
[X]
. t
3
[Y] = t
1
[Y] v t
4
[Y] = t
2
[Y]
. t
3
[Z] = t
2
[Z] v t
4
[Z] = t
1
[Z] vi Z = (R- (X Y))
Khi XY tha mn, ta ni rng X a xc nh Y. Bi v tnh i xng
trong nh ngha, khi X Y tha mn trong R, XZ cng tha mn trong R.
Nh vy XY ko theo XZ v v th i khi n c vit l XY|Z
nh ngha hnh thc ch ra rng, cho trc mt gi tr c th ca X, tp hp
cc gi tr ca Y c xc nh bi gi tr ny ca X l c xc nh hon ton bi
119
mt mnh X v khng ph thuc vo cc gi tr ca cc thuc tnh cn li Z ca R.
Nh vy, mi khi hai b tn ti c cc gi tr khc nhau ca Y nhng cng mt gi
tr X th cc gi tr ny ca Y phi c lp li trong cc b ring r vi mi gi tr
khc nhau ca Z c mt vi cng gi tr ca X. iu tng ng mt cch khng
hnh thc vi Y l mt thuc tnh a tr ca cc thc th c biu din bng cc
b trong R.
V d v ph thuc a tr:
NHNVIN TnNV TnDA TnconNV
Nam DA01 Lan
Nam DA02 Hoa
Nam DA01 Hoa
Nam DA02 Lan
Trong bng trn c hai ph thuc a tr l:
TnNVTnDA, TnNVTnconNV
Mt MVD XY c gi ph thuc a tr tm thng nu:
a) Y l mt tp con ca X
b) hoc X Y = R
Mt MVD khng tha mn a) hoc b) c gi l mt MVD khng tm
thng. Nu chng ta c mt ph thuc a tr khng tm thng trong mt quan
h, chng ta c th phi lp cc gi tr mt cch d tha trong cc b. Trong quan
h NHNVIN v d trn, cc gi tr DA01, DA02 ca TnDA c lp li
vi mi gi tr ca TnconNV (mt cch i xng, cc gi tr Lan, Hoa c lp
li vi mi gi tr ca TnDA). R rng ta khng mong mun c s d tha .
Tuy nhin, lc quan h trn l BCNF bi v khng c ph thuc hm no
tha mn trong quan h . V vy, chng ta phi nh ngha mt dng chun th t
mnh hn BCNF v ngn cm cc lc quan h nh quan h NHNVIN.
120
IV.3.2- Cc quy tc suy din i vi cc ph thuc hm v ph thuc
a tr
Cc quy tc t Qt1 n Qt8 sau y to nn mt tp hp ng n v y
cho vic suy din cc ph thuc hm v ph thuc a tr t mt tp cc ph thuc
cho trc. Gi thit rng tt c cc thuc tnh c cha trong mt lc quan h
v tr R = {A
1
, A
2
, ,A
n
} v X, Y, Z, W l cc tp con ca R.
Qt1) (quy tc phn x cho FD): Nu X _ Y th X Y
Qt2) (quy tc tng cho FD): {X Y} |= XZ YZ
Qt3) (quy tc bc cu cho FD): { X Y, Y Z } |= X Z
Qt4) (quy tc b cho MVD): {X Y } |= {X (R-(X Y))}
Qt5) (quy tc tng cho MVD): Nu X Y v W _ Z th WX YZ
Qt6) (quy tc bc cu cho MVD): {X Y, Y Z } |= X (Z Y)
Qt7) (quy tc ti to cho FD v MVD): {X Y} |= X Y
Qt8) (quy tc lin hp cho FD v MVD): Nu X Y v c tn ti W vi
cc tnh cht a) W Y = , b) W Z v c) Y _ Z th X Z.
Qt1 n Qt3 l cc quy tc suy din Amstrong i vi cc ph thuc hm. Qt4
n Qt6 l cc quy tc suy din ch lin quan n cc ph thuc a tr. Qt7 v Qt8
lin kt cc ph thuc hm v cc ph thuc a tr. c bit, Qt7 ni rng mt ph
thuc hm l mt trng hp c bit ca mt ph thuc a tr. iu c ngha l
mi ph thuc hm cng l mt ph thuc a tr bi v n tha mn nh ngha hnh
thc ca ph thuc a tr. V c bn, mt ph thuc hm X Y l mt ph thuc
a tr X Y vi mt hn ch ph rng c nhiu nht l mt gi tr ca Y c
kt hp vi mi gi tr ca X. Cho trc mt tp hp cc ph thuc hm v ph
thuc a tr ch ra trn R = {A1, A2, , An}, chng ta c th s dng cc quy tc
t Qt1 n Qt8 suy ra tp hp y cc ph thuc (hm v a tr) F
+
ng
trong mi trng thi quan h r ca R tha mn F. Chng ta li gi F
+
l bao ng
ca F.
121
IV.3.3- Dng chun 4
nh ngha: Mt lc quan h R l dng chun 4 (4NF) i vi mt tp
hp cc ph thuc F (gm cc ph thuc hm v ph thuc a tr) nu vi mi ph
thuc a tr khng tm thng XY trong F
+
, X l mt siu kha ca R.
Nh vy, mt lc quan h vi phm 4NF nu n cha cc ph thuc hm
a tr khng mong mun. V d, lc quan h NHNVIN v d trn l vi
phm 4NF bi v trong cc ph thuc hm a tr TnNVTnDA v
TnNV Tncon, TnNV khng phi l mt siu kha .
Gi s chng ta tch bng NHNVIN thnh hai bng nh sau:
NV_DA TnNV TnDA NV_CON TnNV TnconNV
Nam DA01 Nam Lan
Nam DA02 Nam Hoa
Hai bng ny l 4NF bi v cc ph thuc a tr TnNVTnDA v
TnNVTnconNV l cc ph thuc a tr tm thng. Trong hai bng ny
khng c cc ph thuc a tr khng tm thng cng nh khng c cc ph thuc
hm.
IV.3.4- Tch c tnh cht ni khng mt mt thnh cc quan h 4NF
Khi chng ta tch mt lc quan h R thnh R
1
= (XY) v R
2
= (R-Y)
da trn ph thuc hm a tr XY ng trong R, php tch c tnh cht ni
khng mt mt. cng l iu kin cn v cho mt php tch mt lc
thnh hai lc c tnh cht ni khng mt mt. Ta c tnh cht sau:
Tnh cht 1: Cc lc quan h R
1
v R
2
to thnh mt php tch c tnh
cht ni khng mt mt ca R khi v ch khi (R
1
R
2
) (R
1
R
2
) (hoc (R
1
R
2
)
(R
1
R
2
)).
p dng tnh cht trn chng ta c thut ton to mt php tch c tnh cht
ni khng mt mt thnh cc lc quan h dng 4NF.
Thut ton 5.5: Tch quan h thnh cc quan h 4NF vi tnh cht ni khng
mt mt.
Input: Mt quan h v tr R v mt tp ph thuc hm v ph thuc a tr F.
122
1. t D := {R};
2. Khi c mt lc quan h Q trong D khng 4NF, thc hin:
{Chn mt lc quan h Q trong D khng 4NF;
Tm mt ph thuc a tr khng tm thng XY trong Q vi phm 4NF;
Thay th Q trong D bng hai lc quan h (Q Y) v (X Y)};
V d p dng:
Xt lc NHNVIN(TnNV, TnDA, TnconNV). Ta c ph thuc hm
a tr TnNVTnDA trong TnNV khng phi l mt siu kha, vy n vi
phm 4NF. Ta tch thnh NV_DA(TnNV, TnDA), NV_CON(TnNV,
TnconNV).
IV.4- Cc ph thuc ni v dng chun 5
Nh chng ta thy, cc tnh cht 1 v tnh cht 1 cho iu kin mt
lc quan h R c tch thnh hai lc quan h R1 v R2 v php tch c
tnh cht ni khng mt mt. Tuy nhin, trong mt s trng hp, c th khng c
php tch c tnh cht ni khng mt mt ca R thnh hai lc quan h nhng
c th c php tch c tnh cht ni khng mt mt thnh nhiu hn hai quan h.
Hn na, c th khng c ph thuc hm no trong R cc chun cho n BCNF v
c th khng c ph thuc a tr no c trong R vi phm 4NF. Khi chng ta phi
s dng n mt ph thuc khc gi l ph thuc ni v nu c ph thuc ni th
thc hin mt php tch a chiu thnh dng chun 5 (5NF).
Mt ph thuc ni (JD), k hiu l JD(R
1
, R
2
, , R
n
) trn lc quan h R
ch ra mt rng buc trn cc trng thi r ca R. Rng buc tuyn b rng mi
trng thi hp php r ca R phi c php tch c tnh cht ni khng mt mt
thnh R1, R2, , Rn. iu ngha l:
*( t
R1
(r), t
R2
(r), , t
Rn
(r)) = r
Mt ph thuc ni JD(R
1
, R
2
, , R
n
) l mt ph thuc ni tm thng nu
mt trong cc lc quan h R
i
trong JD(R
1
, R
2
, , R
n
) l bng R.
Mt lc quan h R l dng chun 5 (5NF) (hoc dng chun ni chiu
PJNF Project-Join normal form) i vi mt tp F cc ph thuc hm, ph thuc
123
a tr v ph thuc ni nu vi mi ph thuc ni khng tm thng JD(R
1
, R
2
, ,
R
n
) trong F
+
, mi
R
i
l mt siu kha ca R.
V d: Xt quan h CUNGCP gm ton cc thuc tnh kha
CUNGCP Tnnhcungcp Tnhng TnDn
Ncc1 Bulong Dn1
Ncc1 aic Dn2
Ncc2 Bulong Dn2
Ncc3 aic Dn3
Ncc2 inh Dn1
Ncc2 Bulong Dn1
Ncc1 Bulong Dn2
Gi thit rng rng buc ph thm sau y lun ng: Khi mt nh cung cp S
cung cp hng P V mt d n J s dng hng P V nh cung cp S cung cp t
nht l mt hng cho d n J TH nh cung cp S cng s cung cp hng P cho d
n J. Rng buc ny ch ra mt ph thuc ni JD(R
1
,R
2
,R
3
) gia ba php chiu
R
1
(Tnnhcungcp,Tnhng), R
2
(Tnnhcungcp,Tndn),R
3
(Tnhng,TnDn)
ca quan h CUNGCP. Quan h CUNGCP c tch thnh ba quan h R
1
, R
2
,
R
3
dng chun 5. Ch rng nu ta p dng php ni t nhin cho tng i quan
h mt th s sinh ra cc b gi, nhng nu p dng php ni t nhin cho c ba
quan h th khng sinh ra cc b gi.
R1
R2
R3
Tnnhcungcp Tnhng Tnnhcungcp Tndn Tnhng Tndn
Ncc1 Bulong Ncc1 Dn1 Bulong Dn1
Ncc1 aic Ncc1 Dn2 aic Dn2
Ncc2 Bulong Ncc2 Dn2 Bulong Dn2
Ncc3 aic Ncc3 Dn3 aic Dn3
Ncc2 inh Ncc2 Dn1 inh Dn1
124
Vic pht hin cc ph thuc ni trong cc c s d liu thc t vi hng trm
thuc tnh l mt iu rt kh khn. V vy, thc tin thit k c s d liu hin nay
thng khng ch n n.
Ni chung, trong thc t thit k c s d liu, ngi ta ch chun ha cc
bng n 3NF, BCNF l
V- Tng kt chng v cu hi n tp
V.1- Tng kt chng
Trong chng ny chng ta ni n cc nguy him c th xy ra trong vic
thit k c s d liu, xc nh mt cch khng hnh thc mt s chun mc ch
ra mt lc quan h l tt hay ti v a ra mt s nguyn tc khng hnh
thc cho mt thit k tt. Sau chng ta trnh by mt vi khi nim cho php
ta thit k quan h theo cch trn-xung bng cch phn tch cc quan h mt cch
ring r. Chng ta nh ngha qu trnh thit k ny bng phn tch v tch bng
cch gii thiu qu trnh chun ha.
Nhng vn v cc bt thng cp nht xy ra khi c s d tha xy ra
trong cc quan h cng c cp n. Cc chun mc khng hnh thc ca
cc lc quan h tt bao gm ng ngha ca thuc tnh r rng v n gin, t
gi tr null trong cc m rng ca quan h. Mt php tch tt phi trnh c vic
sinh ra cc b gi khi thc hin php ni.
Chng ta nh ngha khi nim ph thuc hm v tho lun mt s tnh cht
ca n. Cc ph thuc hm l cc ngun thng tin ng ngha c bn v cc thuc
tnh ca lc quan h. Chng ta ch ra cch suy din cc ph thuc ph thm
da trn mt tp cc ph thuc hm cho trc v mt tp cc quy tc suy din.
Chng ta nh ngha cc khi nim bao ng v ph ti thiu ca mt tp ph
thuc hm v cung cp thut ton tnh ph ti thiu. Ta cng ch ra lm th no
kim tra xem hai tp ph thuc hm c tng ng nhau hay khng.
Tip theo, chng ta m t qu trnh chun ha t n cc thit k tt
bng cch kim tra cc quan h i vi cc kiu ph thuc hm khng mong mun.
Chng ta cung cp cch chun ha lin tip da trn kha chnh c nh ngha
trc trong mi quan h v sau gim nh i hi ny v a ra cc nh ngha
tng qut ca cc dng chun c tnh n tt c cc kha d tuyn ca mt quan h.
125
Trong phn IV chng ta trnh by nhiu thut ton chun ha. l thut
ton tng hp quan h to ra cc quan h 3NF t mt lc quan h v tr da
trn mt tp cc ph thuc hm do ngi thit k c s d liu xc nh. Cc thut
ton to ra cc quan h BCNF (hoc 4NF) bng cch tch khng mt mt lin tip
cc quan h khng chun ha thnh hai quan h thnh phn ti mt thi im.
Chng ta tho lun v hai tnh cht quan trng ca php tch: tnh cht ni
khng mt mt (hoc khng ph thm) v tnh cht bo ton ph thuc. Mt thut
ton kim tra php tch khng mt mt v mt thut ton kim tra tnh khng mt
mt ca mt php tch thnh hai quan h cng c trnh by. Chng ta cng
thy rng vic tng hp cc quan h dng 3NF m bo c hai tnh cht trn l c
kh nng cn vic tng hp cc quan h BCNF ch c kh nng m bo tnh
khng mt mt, khng th m bo tnh bo ton ph thuc.
Cui cng, chng ta nghin cu cc loi ph thuc khc: ph thuc a tr
v ph thuc ni, a ra nh ngha cc dng chun 4, dng chun 5 v thut ton
tch cc quan h vi phm thnh quan h 4NF, 5NF. Vic pht hin cc ph thuc
ni rt kh khn nn trong thit k thc tin ngi ta thng b qua n.
V.2- Cu hi n tp
1) Hy gii thch ng ngha ca thuc tnh nh l mt o khng hnh thc v
tnh tt i vi mt lc quan h.
2) Hy tho lun v cc bt thng chn, xa v sa i. V sao chng c xem
l khng tt? Hy minh ha bng v d.
3) Hy trnh by vn cc b gi v lm th no ngn nga chng?
4) Trnh by cc nguyn tc i vi vic thit k lc quan h. Hy minh ha
vic vi phm cc nguyn tc s c hi nh th no?
5) Ph thuc hm l g? Ai l ngi ch ra cc ph thuc hm gia cc thuc tnh
ca mt lc quan h?
6) V sao chng ta khng th suy ra mt ph thuc hm t mt trng thi quan h
c th?
7) V sao cc quy tc suy din ca Amstrong (Qt1 n Qt3) l quan trng?
8) Tnh y v tnh ng n ca cc quy tc suy din Amstrong l g?
9) Bao ng ca mt tp ph thuc hm l g?
126
10) Khi no th hai tp ph thuc hm l tng ng? Lm th no kim tra
tnh tng ng ca chng?
11) Tp ti thiu cc ph thuc hm l g? C phi mi tp ti thiu ph thuc hm
c mt tp ti thiu tng ng hay khng?
12) Thut ng quan h khng chun ha m ch ci g?
13) nh ngha cc dng chun 1NF, 2NF, 3NF, BCNF da trn kha chnh v cc
dng chun di dng tng qut. S khc nhau ca hai nh ngha l g?
14) Ph thuc hm no cn trnh khi mt quan h l 3NF?
15) nh ngha dng chun Boyce-Codd. N khc g vi 3NF? V sao n c xem
l mnh hn 3NF?
16) iu kin bo ton thuc tnh trn mt php tch l g?
17) V sao cc dng chun t n l cha nh l mt iu kin cho mt thit k
lc tt?
18) Tnh cht bo ton ph thuc i vi mt php tch l g? V sao n l quan
trng?
19) V sao chng ta khng th m bo rng mt php tch cc lc quan h
khng BCNF thnh BCNF l bo ton ph thuc? Hy cho mt phn v d.
20) Tnh cht ni khng mt mt (khng ph thm) ca mt php tch l g? V sao
n l quan trng?
21) Gia cc tnh cht bo ton ph thuc v ni khng mt mt ci no l nht
thit phi tha mn? V sao? Ph thuc hm a tr l g? N ch ra rng buc
g? Khi no n sinh ra?
22) Hy minh ha qu trnh to ra cc quan h dng chun 1? Lm th no c
dng chun 1 mt cch ng n, trnh c ph thuc a tr?
23) nh ngha dng chun 4. N c li g?
24) nh ngha ph thuc ni v dng chun 5.
V.3- Bi tp
1) Hy kim tra cc quy tc suy din i vi cc ph thuc hm sau y l ng
hay sai:
127
a) {W Y, X Z} |= {WX Y}
b) {X Y} v Y _Z |= {X Z}
c) {X Y , X W, WY Z} |= {X Z}
d) {XY Z, Y W} |= {XW Z}
e) {X Z, Y Z} |= {X Y}
f) {X Y, Z W} |= {XZ YW}
g) {XY Z , Z X} |= {Z Y}
h) {X Y, Y Z} |= {X YZ}
i) {XY Z, Z W} |= {X W}
2) Cho lc quan h R(A,B,C,D,E,F,G,H,I,J) v tp ph thuc hm sau y:
F1 = {AB C, A DE, B F, F GH, D IJ}
a) Kha ca quan h l g? Hy tch quan h thnh 2NF, sau thnh 3NF.
b) Lm li cu a) vi tp ph thuc hm sau:
G1= { AB C, BD EF, AD GH, A I , H J }
3) Xt quan h R(A,B,C,D,E) v cc ph thuc hm sau:
AB C, CD E, DE B.
AB c phi l kha d tuyn ca quan h khng? V sao? Hy tm mt kha ca
n.
4) Cho quan h sau:
A B C BID
10 b1 c1 #1
10 b2 c2 #2
11 b4 c1 #3
12 b3 c4 #4
13 b1 c1 #5
14 b3 c4 #6
128
Nhng ph thuc hm no sau y l ng: A B , B C, C B, B A,
C A. Nu c nhng ph thuc hm sai, hy gii thch v sao.