You are on page 1of 223

HC VIN CNG NGH BU CHNH VIN THNG

C S D LIU
(Dng cho sinh vin h o to i hc t xa)
Lu hnh ni b










H NI - 2006



HC VIN CNG NGH BU CHNH VIN THNG






C S D LIU

Bin son : Ts. PHM TH QU




LI NI U


Ti liu C s d liu l sch hng dn hc tp dng cho sinh vin h o to t xa
ngnh cng ngh thng tin v ngnh k thut vin thng.
Ni dung ca ti liu bao gm:
Chng I gii thiu s cn thit t chc d liu theo m hnh h c s d liu, mc tiu v
tnh c lp ca d liu. Kin trc m hnh tng qut 3 lp v tnh n nh trong m hnh
quan nim. Cc m hnh truy xut thng dng hin nay.
Chng II gii thiu tng qut v cc m hnh c s d liu kinh in v truyn thng.
l cc khi nim c bn v m hnh d liu mng, m hnh phn cp, m hnh quan h v
m hnh thc th lin h. Mt m hnh CSDL phi c kh nng biu din thc th v lin
kt gia cc thc th, l cch nhn v cch biu din cc lin kt ca ngi s dng.
Chng III trnh by nhng khi nim c bn v l thuyt c s d liu quan h do E.F
Codd xut. M hnh c s d liu quan h c xy dng trn c s ton hc cht ch
v logic, c tnh c lp d liu cao v c cu trc biu din n gin.
Chng IV gii thiu qu trnh chun ho d liu, l qu trnh tch khng tn tht thng tin
cc quan h cha chun ho v cc quan h c dng chun 3NF v Boye Codd theo ngha
cc quan h gc c khi phc chnh xc t cc php kt ni t nhin cc quan h chiu,
vi gi thit cc ph thuc d liu l cc ph thuc hm.
Chng V cp n cc ngn ng con thao tc d liu: ngn ng con d liu da trn i
s quan h, ngn ng c cu trc SQL truy vn d liu.
Chng VI cp ti mt s phng php ti u ho cu hi, sao cho tng tc thc hin
v ti u ho b nh.
Cui cng l chng VII, ni dung ca chng ny trnh by s cn thit phi bo v an
ton c s d liu. An ton d liu ngha l cc h c s d liu cn phi c bo v
chng truy nhp tri php sa i hay ph hoi d liu. Cc h thng d liu cn thit phi
bo m tnh ton vn v an ton d liu.

1

Ti liuC s d liu khng ch cp n nhng vn c s l thuyt m cn trnh
by mt s k nng cn thit thit k v ci t cc h c s d liu c th. Hy vng s
c ch cho sinh vin v nhng ngi mun xy dng cc h thng tin hc ng dng phc v
cho sn xut, qun l trong cc doanh nghip. C th cn nhiu thiu st trong bin son,
ti vn mnh dn gii thiu ti liu ny v mong nhn c s gp ca bn c.

Tc gi



2

1
KHI NIM C BN V
CC H C S D LIU


Trong chng ny trnh by nhng khi nim c bn v cc h c s d liu do E.F Codd
xut. Nhng khi nim ny bao gm mc tiu ca mt h c s d liu. S cn thit phi
t chc d liu di dng c s d liu. Tnh c lp ca d liu th hin m hnh hnh
kin trc 3 mc. V vy c th ni c s d liu phn nh tnh trung thc, khch quan ca
th gii d liu. Khng d tha thng tin v cng khng thiu thng tin. Ni dung ca
chng bao gm cc phn:
C s d liu l g
S cn thit ca cc h c s d liu
M hnh kin trc 3 mc c s d liu
Mc tiu ca cc h c s d liu
H qun tr CSDL & ngi qun tr CSDL
T chc lu tr d liu
Cc m hnh truy xut
1.1 C s d liu l g
C s d liu l mt b su tp rt ln v cc loi d liu tc nghip, bao gm cc loi d
liu m thanh, ting ni, ch vit, vn bn, ho, hnh nh tnh hay hnh nh ng....c
m ho di dng cc chui bit v c lu tr di dng File d liu trong cc b nh ca
my tnh. Cu trc lu tr d liu tun theo cc quy tc da trn l thuyt ton hc. C s
d liu phn nh trung thc th gii d liu hin thc khch quan.
C s d liu l ti nguyn thng tin dng chung cho nhiu ngi: C s d liu (CSDL) l
ti nguyn thng tin chung cho nhiu ngi cng s dng. Bt k ngi s dng no trn
mng my tnh, ti cc thit b u cui, v nguyn tc c quyn truy nhp khai thc ton
b hay mt phn d liu theo ch trc tuyn hay tng tc m khng ph thuc vo v
tr a l ca ngi s dng vi cc ti nguyn .
C s d liu c cc h ng dng khai thc bng ngn ng con d liu hoc bng cc
chng trnh ng dng x l, tm kim, tra c, sa i, b sung hay loi b d liu.
Tm kim v tra cu thng tin l mt trong nhng chc nng qua trng v ph bin nht ca
cc dch v c s d liu. H qun tr CSDL HQTCSDL (DataBase Management System
- DBMS) l phn mm iu khin cc chin lc truy nhp CSDL. Khi ngi s dng a
ra yu cu truy nhp bng mt ngn ng con d liu no , HQTCSDL tip nhn v thc
hin cc thao tc trn CSDL lu tr.
i tng nghin cu ca CSDL l cc thc th v mi quan h gia cc thc th. Thc th
v mi quan h gia cc thc th l hai i tng khc nhau v cn bn. Mi quan h gia
cc thc th cng l mt loi thc th c bit. Trong cch tip cn CSDL quan h, ngi ta
Chng I: Khi nim c bn v cc h c s d liu

da trn c s l thuyt i s quan h xy dng cc quan h chun, khi kt ni khng
tn tht thng tin v khi biu din d liu l duy nht. D liu c lu tr trong b nh
ca my tnh khng nhng phi tnh n yu t v ti u khng gian lu tr, m phi m
bo tnh khch quan, trung thc ca d liu hin thc. Ngha l phi m bo tnh nht qun
ca d liu v gi c s ton vn ca d liu.
1.2 S cn thit ca cc h c s d liu
T chc lu tr d liu theo l thuyt c s d liu c nhng u im:
Gim bt d tha d liu trong lu tr: Trong cc ng dng lp trnh truyn thng, phng
php t chc lu tr d liu va tn km, lng ph b nh v cc thit b lu tr, va d
tha thng tin lu tr. Nhiu chng trnh ng dng khc nhau cng x l trn cc d liu
nh nhau, dn n s d tha ng k v d liu. V d trong cc bi ton nghip v qun
l "Cc thu bao in thoi" v "Doanh thu & sn lng ", tng ng vi mi mt chng
trnh l mt hay nhiu tp d liu c lu tr ring bit, c lp vi nhau. Trong c 2
chng trnh cng x l mt s thuc tnh ca mt cuc m thoi nh s my gi i, s
my gi n, hng cuc gi, thi gian bt u v thi gian kt thc ....Nhiu thuc
tnh c m t v lu tr nhiu ln c lp vi nhau. Nu t chc lu tr theo l thuyt
CSDL th c th hp nht cc tp lu tr ca cc bi ton trn, cc chng trnh ng dng
c th cng chia s ti nguyn trn cng mt h CSDL.
T chc lu tr d liu theo l thuyt CSDL s trnh c s khng nht qun trong lu
tr d liu v bo m c tnh ton vn ca d liu: Nu mt thuc tnh c m t
trong nhiu tp d liu khc nhau v lp li nhiu ln trong cc bn ghi, khi thc hin vic
cp nht, sa i, b sung s khng sa ht ni dung cc mc . Nu d liu cng nhiu
th s sai st khi cp nht, b sung cng ln. Kh nng xut hin mu thun, khng nht
qun thng tin cng nhiu, dn n khng nht qun d liu trong lu tr. Tt yu ko theo
s d thng thng tin, tha, thiu v mu thun thng tin.
Thng thng, trong mt thc th, gia cc thuc tnh c mi quan h rng buc ln nhau,
tc ng nh hng ln nhau. Cc ca mt cuc m thoi ph thuc vo khong cch v
thi gian cuc gi, tc l ph thuc hm vo cc thuc tnh my gi i, my gi n, thi
gian bt u v thi gian kt thc cuc gi. Cc trnh ng dng khc nhau cng x l cc
m thoi trn cc thc th lu tr tng ng khc nhau cha hn cho cng mt kt qu v
sn lng pht v doanh thu. iu ny l gii ti sao trong mt doanh nghip, cng x l
trn cc ch tiu qun l m s liu bo co ca cc phng ban, cc cng ty con li cho cc
kt qu khc nhau, thm ch cn tri ngc nhau. Nh vy, c th khng nh, nu d liu
khng t chc theo l thuyt c s d liu, tt yu khng th phn nh th gii hin thc d
liu, khng phn nh ng bn cht vn ng ca d liu.
S khng nht qun d liu trong lu tr lm cho d liu mt i tnh ton vn cu n.
Tnh ton vn d liu m bo cho s lu tr d liu lun lun ng. Khng th c m
vng ngoi quy nh ca c quan qun l, hoc ngy sinh ca mt nhn vin khng th xy
ra sau ngy tt nghip ra trng ca nhn vin ...

3

Chng I: Khi nim c bn v cc h c s d liu

T chc lu tr d liu theo l thuyt CSDL c th trin khai ng thi nhiu ng dng trn
cng mt CSDL: iu ny c ngha l cc ng dng khng ch chia s chung ti nguyn d
liu m cn trn cng mt CSDL c th trin khai ng thi nhiu ng dng khc nhau ti
cc thit b u cui khc nhau.
T chc d liu theo l thuyt c s d liu s thng nht cc tiu chun, th tc v cc
bin php bo v, an ton d liu: Cc h CSDL s c qun l tp trung bi mt ngi
hay mt nhm ngi qun tr CSDL, bng cc h qun tr CSDL. Ngi qun tr CSDL c
th p dng thng nht cc tiu chun, quy nh, th tc chung nh quy nh thng nht v
mu biu bo co, thi gian b sung, cp nht d liu. iu ny lm d dng cho cng vic
bo tr d liu. Ngi qun tr CSDL c th bo m vic truy nhp ti CSDL, c th kim
tra, kim sot cc quyn truy nhp ca ngi s dng. Ngn chn cc truy nhp tri php,
sai quy nh t trong ra hoc t ngoi vo...
1.3 M hnh kin trc tng qut c s d liu 3 mc
M hnh kin trc 3 mc ca h CSDL gm: Mc trong, mc m hnh d liu (Mc quan
nim) v mc ngoi. Gia cc mc tn ti cc nh x quan nim trong v nh x quan nim
ngoi. Trung tm ca h thng l mc quan nim, tc l mc m hnh d liu. Ngoi ra cn
c khi nim ngi s dng, h qun tr CSDL v ngi qun tr CSDL.
Ngi s dng: L nhng ngi ti thit b u cui truy nhp vo cc h CSDL theo ch
trc tuyn hay tng tc bng cc chng trnh ng dng hay bng cc ngn ng con d
liu. Thng l cc chuyn vin k thut tin hc, c trnh thnh tho bit lp trnh v
bit s dng ngn ng con thao tc d liu (SQL Server, Oracle... ). Ngi s dng c th
truy nhp ton b hay mt phn CSDL m h quan tm, ph thuc vo quyn truy nhp ca
h. Cch nhn CSDLca ngi s dng ni chung l tru tng. H nhn CSDL bng m
hnh ngoi, gi l m hnh con d liu. Chng hn ngi s dng l mt nhn vin ca
phng k ton ti chnh, ch nhn thy tp cc xut hin kiu bn ghi ngoi v doanh thu,
sn lng trong thng, khng th nhn thy cc xut hin kiu bn ghi lu tr v cc ch
tiu k thut cu ng thng, mng li...
M hnh ngoi: M hnh ngoi l ni dung thng tin ca CSDL di cch nhn ca ngi
s dng. L ni dung thng tin ca mt phn d liu tc nghip c mt ngi hoc mt
nhm ngi s dng quan tm. Ni cch khc, m hnh ngoi m t cch nhn d liu ca
ngi s dng v mi ngi s dng c cch nhn d liu khc nhau. Nhiu m hnh ngoi
khc nhau c th cng tn ti trong mt h CSD, ngha l c nhiu ngi s dng chia s
chung cng mt c s d liu. Hn na, c th m hnh ngoi quan h, m hnh ngoi phn
cp hay m hnh ngoi kiu mng cng c th tn ti trong mt c s d liu. S ngoi
khng lm hin m c nhng vo trong logic mt n tc c lin quan.
M hnh ngoi gm nhiu xut hin kiu bn ghi ngoi, ngha l mi mt ngi s dng
c mt s d liu ring, mt khung nhn d liu ring. Bn ghi ngoi ca ngi s dng
c th khc vi bn ghi lu tr v bn ghi quan nim.

4

Chng I: Khi nim c bn v cc h c s d liu

M hnh ngoi c xc nh bi mt s ngoi bao gm cc m t v kiu bn ghi
ngoi nh tn cc trng, kiu d liu cc trng, rng ca trng....
Ngn ng con d liu ca ngi s dng thao tc trn cc bn ghi ngoi.
Ngi s dng khc nhau c khung nhn d liu khc nhau.
Ngi s dng u cui c th l cc ng dng hay thao tc trc tip bng ngn ng thao
tc, truy vn d liu.
M hnh d liu (m hnh quan nim): M hnh quan nim l cch nhn d liu mt cch
tng qut ca ngi s dng. Ngha l c rt nhiu cch nhn d liu m hnh ngoi,
nhng ch c duy nht mt cch nhn d liu mc quan nim. Biu din ton b thng tin
trong CSDL l duy nht.
M hnh d liu gm nhiu xut hin ca nhiu kiu bn ghi d liu. V d kiu xut hin
bn ghi v nhn s, kiu xut hin bn ghi v doanh thu, sn lng, kiu xut hin bn ghi
v cc m thoi...
M hnh d liu c xc nh bi mt s d liu m t ca nhiu kiu thc th,
chng hn nh m t thc th tuyn cp, cc loi cp, thy gio, hc sinh... S d liu
bao gm cc nh ngha v cc kiu bn ghi, l cc rng buc cho quyn v tnh ton vn
thch hp. Nhng rng buc ny chnh l cc tnh cht ca d liu, tnh lin kt cc thuc
tnh cng mt kiu d liu. Cc nh ngha ny khng bao hm v cu trc lu tr, cng
nh v chin lc truy nhp, chng ch l cc nh ngha v ni dung thng tin, v tnh c
lp ca d liu trong m hnh quan nim.
S quan nim lun lun n nh, ngha l nu m t thm mt kiu thc th c bit
st nhp vo s d liu, khng c lm thay i s d liu c. Nu s d liu
khng n nh th cc ng dng v m hnh ngoi cng khng n nh. S d liu ch
c thay i khi c s iu chnh trong th gii thc, i hi iu chnh li nh ngha sao
cho n phn nh th gii hin thc khch quan hn, chn l hn.
Thit k m hnh d liu l giai on quan trng v quyt nh trong vic thit k v ci
t cc h c s d liu. Qu trnh thit k khng ph thuc qu nhiu vo cu trc lu tr
vt l v chin lc truy nhp ca d liu. Nh vy vic thit k s d liu phi c
tin hnh c lp vi vic thit k s trong v cc s ngoi lin kt, v nu khng vic
thit k s khng n nh v thng xuyn phi xem xt li tc ng thng xuyn n
nhiu thnh phn khc ca h thng.
Vi cch thit k truyn thng hin nay, ngi thit k ch cung cp mt s s trong v
mt tp cc s ngoi v h coi l s d liu, l m hnh d liu. V vy tnh khng
n nh h thng, tnh khng ph hp vi cc ng dng ny sinh sau mt thi gian hot
ng. Mu thun v d thng thng tin s xy ra. Vi phm tnh ton vn ca d liu.
Ngoi cc nh ngha v xut hin nhiu kiu bn ghi quan nim, s d liu cn cha
cc nh ngha v quyn truy nhp ca ngi s dng, cc th tc kim tra tnh ng n
ca d liu nhm bo m tnh ton vn ca CSDL. Cc lung lu chuyn thng tin, quy
nh cch thc s dng thng tin..

5

Chng I: Khi nim c bn v cc h c s d liu

Nh vy m hnh d liu l cch nhn ton b ni dung thng tin ca CSDL, s quan
nim l nh ngha ca cch nhn y. L bc i u tin , quan trng trong vic thit k v
ci t cc h c s d liu.


Hnh 1.1 Kin trc h c s d liu
nh x ngoi / quan nim
M hnh d liu
S quan nim
H
Qun tr
CSDL
M hnh ngoi
S ngoi
M hnh ngoi
S ngoi
M hnh trong - m hnh vt l
nh x trong
End User 1
Application
Programmer
End User n
Application
Programmer




























M hnh trong: M hnh trong l m hnh lu tr vt l d liu. Ch c duy nht mt v ch
mt cch biu din CSDL di dng lu tr vt l. M hnh trong l cch biu din c s
d liu tru tng mc thp nht.
M hnh trong gm nhiu xut hin ca nhiu kiu bn ghi lu tr c xc nh bi mt
s trong. Thng tin biu din trong m hnh trong l duy nht.
S trong bao gm cc nh ngha m hnh trong. Khng ch xc nh cc kiu khc
nhau ca bn ghi lu tr m cn xc nh r s tn ti ca cc ch dn, cch sp xp cc

6

Chng I: Khi nim c bn v cc h c s d liu

bn ghi theo th t no...N xc nh d liu lu tr v truy nhp nh th no thng qua
cc ng dn truy nhp ti d li
nh x quan nim trong c xc nh gia m hnh trong v m hnh d liu nhm bo
m tnh c lp ca d liu. Nu cu trc lu tr ca CSDL thay i, ngha l thay i
nh ngha v cu trc lu tr d liu th nh x ny phi cng phi thay i tng ng sao
cho s quan nim (m hnh d liu) khng thay i.
nh x quan nim-ngoi: L nh x c xc nh tng ng mt-mt gia m hnh ngoi
ca ngi s dng vi m hnh d liu.
1.4 Mc tiu ca cc h c s d liu
Ngi s dng khi thao tc trn cc c s d liu khng c lm thay i cu trc lu tr
d liu v chin lc truy nhp ti cc h c s d liu. D liu ch c biu din, m t
mt cch duy nht. Cu trc lu tr d liu v cc h chng trnh ng dng trn cc h
CSDL hon ton c lp vi nhau, khng ph thuc ln nhau. V vy bo m tnh c lp
d liu l mc tiu quan trng ca cc h c s d liu. C th nh ngha tnh c lp d
liu l Tnh bt bin cu cc h ng dng i vi s thay i trong cu trc lu tr v
chin lc truy nhp d liu.
Khi thay i cu trc lu tr v cc chin lc truy nhp d liu khng ko theo thay i
ni dung ca cc chng trnh ng dng v ngc li, khi cc chng trnh thay i cng
khng lm nh hng n cu trc lu tr v chin lc truy nhp ca d liu. Tnh c lp
ca d liu bo m cho vic biu din ni dung thng tin cho cc thc th l duy nht v
bo m tnh ton vn v nht qun d liu trong lu tr.
Trong cc m hnh d liu nh m hnh d liu quan h, m hnh d liu phn cp v m
hnh d liu mng... th m hnh d liu quan h c s dng ph bin v c nhiu
ngi quan tm nghin cu. V n c nhiu u im c bn hn so vi cc m hnh d
liu khc. D liu trong m hnh quan h c biu din cht ch, logic. M t th gii
hin thc mt cch chnh xc, khch quan, ph hp vi cch nhn v s dng ca ngi s
dng. V vy tnh c lp d liu trong cc h c s d liu quan h cao.
Trong kin trc h c s d liu (hnh 1.1) tnh c lp d liu c th hin:
C rt nhiu cch nhn d liu m hnh ngoi, ngi s dng khc nhau c cch nhn
d liu khc nhau v cc h ng dng khc nhau c nhng cch nhn d liu cng khc
nhau, nhng ch c duy nht mt cch nhn d liu mc quan nim, biu din ton b ni
thng tin trong CSDL l cch nhn d liu tng qut ca ngi s dng. V cng ch c
duy nht mt v ch mt cch biu din CSDL di dng lu tr vt l.

7
nh x trong xc nh gia m hnh trong v m hnh d liu, nhm bo m c tnh
c lp ca d liu, ngha l nu cu trc lu tr ca CSDL thay i, tc l thay i nh
ngha v cu trc lu tr d liu th nh x ny phi cng phi thay i tng ng sao cho
s quan nim (m hnh d liu) khng c thay i. Tng t nh x ngoi xc nh
tng ng gia mt m hnh ca ngi s dng no vi m hnh d liu. N chuyn i
dng biu din d liu lu tr sang dng biu din d liu m cc ng dng cn n.

Chng I: Khi nim c bn v cc h c s d liu

Cc h ng dng khc nhau c nhiu khung nhn khc nhau vi d liu nh nhau. Cc h
ng dng c lp vi cu trc lu tr v chin lc truy nhp. Gia chng khng c s
rng buc ln vi nhau. iu ny c ngha l cc h ng dng hon ton c lp vi bt c
mt cu trc lu tr v chin lc truy nhp d liu c th no. Ngc li cu trc lu tr
v chin lc truy nhp d liu khng ph thuc vo bt k h ng dng c th no.
Ngi qun tr CSDL phi c kh nng p ng vi mi s thay i v cu trc lu tr v
cc chin lc truy nhp m khng cn bit ti c nhng h ng dng no trn CSDL.
































Ngi
s dng
Lp trnh
ng dng
Nh phn
tch
Qun tr
CSDL
Giao din
ng dng
Chng trnh
ng dng
B cng c
Cu hi
B cng c
qun tr
Code
Chng trnh
ng dng
Bin dch v
Lin kt
DML
Truy vn
DDL
Din xut
nh gi
Cu hi
DML bin dich
V t chc
X l cu hi
Qun l b m Qun l File
Qun l
cp quyn v
ton vn
Qun l
Giao tc
Qun l b nh
Qun l b nh
Ch s
D liu
T in d liu
D liu thng k
Hnh 1.2 S kin trc h thng c s d liu

8

Chng I: Khi nim c bn v cc h c s d liu

1.5 H qun tr CSDL & ngi qun tr CSDL
H qun tr CSDL DBMS (DataBase Management System) l h thng phn mm iu
khin ton b cc chin lc truy nhp v cu trc lu tr c s d liu. Cc chc nng
ch yu ca mt h qun tr c s d liu: QTCSDL
- M t d liu to lp v duy tr s tn ti ca CSDL
- Cho php truy xut vo CSDL theo thm quyn c cp
- Cp nht, chn thm, loi b hay sa i d liu mc tp.
- m bo an ton, bo mt d liu v tnh ton vn d liu.
- To cu trc d liu tng ng vi m hnh d liu.
- m bo tnh c lp d liu. Tc l cu trc lu tr d liu c lp vi cc trnh
ng dng d liu.
- To mi lin kt gia cc thc th.
- Cung cp cc phng tin sao lu, phc hi (backup, recovery).
- iu khin tng tranh
Cc bc thc hin ca h qun tr CSDL c th tm tt nh sau:
- Ngi s dng a ra yu cu truy nhp bng ngn ng con d liu.
- DBMS s tip nhn v phn tch yu cu.
- DBMS xem xt s ngoi, nh x ngoi, s quan nim, nh x trong,...
- Thc hin cc thao tc trn CSDL lu tr.
Cc thnh phn ca mt h QTCSDL: Mtj h QTCSDL thng thng c cc thnh phn
chnh nh sau:
- Ngn ng nh ngha d liu (Data Definition Language).
- Ngn ng thao tc d liu (Data Manipulation Language).
- Ngn ng truy vn d liu (Query Language).
- B bo co (Report Write).
- B ho (Graphics Generator).
- B giao tip ngn ng ch (Host Language Interface).
- Ngn ng th tc (Procedure Language)
- T in d liu.
- B pht sinh ng dng.
Ngi qun tr CSDL l mt ngi hay mt nhm ngi c kh nng chuyn mn cao v
cng ngh tin hc, c trch nhim qun l v iu khin ton b hot ng ca cc h
CSDL V vy ngi qun tr CSDL cn phi t ra cc hnh thc, quy nh cho ngi s
dng nhm ngn chn vic truy nhp tri php vo cc h CSDL Ngi qun tr CSDL c
th cho php ngi s dng nhng quyn truy nhp nh ch c php c, c mt phn,
c th sa, b sung mt phn...
Ngi qun tr CSDL c mt s nhim v chnh:
- Xc nh thc th v ni dung thng tin cn lu tr. Xc nh s quan nim p
ng yu cu truy nhp ca ngi s dng.

9

Chng I: Khi nim c bn v cc h c s d liu

- Quyt nh cu trc lu tr & chin lc truy nhp: Ngi qun tr CSDL phi xc
nh cch thc biu din d liu nh m t cu trc lu tr trong, m t cu trc
lu tr vt l. Xc nh m hnh d liu, nh ngha nh x gia cu trc lu tr v
s ngoi..Thc hin cc chin lc lu tr, qun l h thng.
- Ngi qun tr CSDL phi to mi trng giao tip gia ngi s dng vi cc h
CSDL, v s ngoi cho ngi s dng l cch nhn d liu tng ng vi ngn
ng con d liu thch hp, nn ngi qun tr CSDL phi cung cp s quan
nim, cc nh x, v cu trc lu tr. Kim sot thm quyn truy nhp ca ngi
s dng v bo m quyn truy nhp ca h.
- Duy tr cc tiu chun thng nht v cc th tc lu tr v cu trc lu tr, biu
din thng tin v cc chin lc truy nhp. Kim sot v kim tra tnh ng n
ca d liu. p dng cc bin php an ton, an ninh d liu.
- Xc nh chin lc lu tr, sao chp, phc hi...trong cc trng hp h hng do
sai st, hoc trc trc k thut.
1.6 Rng buc d liu
Gia cc thc th d liu tn ti cc mi quan h, rng buc ln nhau. Cc rng buc ny
chnh l tp cc quy tc, quy nh yu cu d liu trong c s d liu phi tho mn. Mc
ch xy dng cc rng buc d liu l nhm bo m tnh c lp v tnh ton vn d liu.
D liu lu tr trong c s d liu lun lun hin thc khch quan, khng tha thiu thng
tin, khng mu thun thng tin. Cc h c s d liu cn phi c cc c ch cho vic m t
cc rng buc v qun l cc rng buc c m t.
C rt nhiu loi rng buc. Rng buc v kiu, rng buc gii tch, rng buc logic... l
cc khi nim v ph thuc hm, ph thuc a tr, ph thuc kt ni.
Rng buc kiu: Loi rng buc thp nht, m t tnh cht ca cc thuc tnh khi to lp
CSDL Ngoi tn ca thuc tnh, thuc tnh kiu g, chui k t, kiu s, kiu ngy, kiu
logic...v di l bao nhiu. V d thuc tnh S in thoi l kiu chui k t ng
bng 7 k t trong xu. H thng s khng chp nhn , nu nhp vo CSDL mt s in
thoi kiu s hoc kiu xu nhng cha hoc vt qu 7 k t . Phn ng ca h thng
hoc l a ra thng bo D liu khng hp l, hoc ct i nhng k t tha.
Rng buc gii tch: L nhng rng buc gia cc thuc tnh c biu din bng cc biu
thc ton hc. V d khi nhp s lng v n gi ca mt mt hng, h thng s t
ng tnh gi tr ca thuc tnh thnh tin theo cng thc s lng x n gi =
thnh tin. Hoc nh gi nng lc hc tp ca mt em hc sinh, khi nhp gi tr im
trung bnh ca tng em vo h thng , h thng t ng nh gi em c nng lc hc
tp l km, trung bnh, kh hay gii.
Rng buc logic: Mi quan h gia cc thuc tnh vi nhau khng phi l cc rng buc
gii tch, c gi l ph thuc hm. Thuc tnh Y ph thuc hm vo thuc tnh X , ngha
l mi mt gi tr ca X xc nh gi tr ca Y. V d nu gi tr ca s in thoi c th xc

10

Chng I: Khi nim c bn v cc h c s d liu

c th xc nh cc thng tin v thu bao c s in thoi . Nhng rng buc logic c th
l nh x mt mt hoc mt nhiu.
1.7 Cc m hnh truy xut d liu
Truy nhp v khai thc cc h c s d liu tr thnh phng thc ph bin trong cc ng
dng ca h thng tin hc, c bit trn cc mng Internet/Intranet. Chuyn ti thng tin t
cc h c s d liu ln mng di dng ngn ng nh du siu vn bn HTML
(HyperText Markup Language) hoc bng cc ngn ng khc nhm cung cp cho dch v
World Wide Web a dng v phong ph thm. Truy nhp v khai thc cc h c s d liu
i hi phi nghin cu, gii quyt mt s vn v k thut lp trnh mng, lp trnh c
s d liu ng trn cc mi trng Internet v Intranet.
1.7.1 M hnh c s d liu Client Server
Mt trong nhng mc tiu khi kt ni cc my tnh thnh mng l chia s cc ti nguyn
thng tin. Mt my ch cung cp cc loi dch v cho nhiu my khch thng qua mi
trng mng. My ch v my khch u tham gia qu trnh x l, v vy m hnh Client-
Server 2 lp tr nn ph bin. Cc my khch (Clients) chia s gnh nng x l ca my
ch trung tm. Khi my khch thc hin cc ng dng, n gi yu cu v my ch c
kt ni vi c s d liu, my ch x l v gi tr li kt qu v my khch.
Trn cc my ch, thng c ci t cc h c s d liu bao gm cc bng biu,
cc th tc lu tr... v iu khin cc tin trnh sau:
Qun l d liu.
Bo mt d liu.
Thc hin truy vn, rng buc v cc th tc lu tr.
iu khin li.
Cc tin trnh c thc hin trn my khch.
To giao din ngi s dng (User Inteface).
Tng tc c s d liu ( Database Interaction)
, sa v xo d liu. Cp nht d liu: thm
iu khin li.
T n

un l & x l ca my ch (Server ) s b

nhiu khi m ngun khc nhau c ci t trn my khch. V vy khi c s
uy hin m hnh Client/Server vn cn nhiu bt cp:
M hnh Client/Server 2 lp c hiu qu cao vi cac ng dng nh v s
lng ngi s dng hn ch. Khi nhiu my khch (Clients) kt ni truy nhp
vo c s d liu th nng lc q
gim xung, tc x l chm.
Nhiu kt ni d liu phi c duy tr.
M ngun khng c kh nng dng s dng li. Mt ng dng tn ti trong

11

Chng I: Khi nim c bn v cc h c s d liu

thay i m ngun ngi ta cn phi ci t li trn tt c my khch, iu
ny rt kh c th thc hin c.
Khng c lp trung gian iu khin s bo mt v cc giao dch gia my
khch v my ch.
Tower System

Clients
Hnh 1.3 M hnh Client-Server 2 lp
1. Trnh duyt Browser gi yu cu cho Web Server.
2. Web Server tr kt qu v cho trnh duyt
Network
Main Frame Computer
Data base










1.7.2 M hnh Client/Server nhiu lp
Trong m hnh Client/Server 3 lp (hay nhiu lp), qu trnh x l c phn tn trn 3
lp khc nhau vi cc chc nng ring bit. V vy m hnh ny rt thch hp cho vic t
chc h thng thng tin trn mng Internet v mng Intranet hay trong cc mng cc b.
Pht trin m hnh 3 lp s khc phc c mt s hn ch ca m hnh 2 lp. Cc h c s
d liu c ci t trn cc my ch Web Server v c th c truy nhp khng hn ch
cc ng dng v s lng ngi dng.
Lp khch (Clients):Chc nng ca lp ny l cung cp dch v trnh by (Presentation
Services). Thc hin vic giao tip gia ngi s dng vi lp giao dch thng qua trnh
duyt Browser hay trnh ng dng thao tc v x l d liu. Thng thng giao din
ngi s dng c cha trong cc File OCX. Lp ny c th ci t dng ng dng Web
gm nhng trang ASP s dng cc File OCX. Trong m hnh Internet (Internet model), lp
khch l trnh duyt Internet Explorer hay Netscape.
Lp giao dch (Business Tier) cung cp cc dch v qun tr, t chc v khai thc CSDL.
Cc componenet trc y c ci t trn lp khch, nay c ci t trn lp giao dch.
V d, mt ngi s dng trn my khch t mua hng, lp giao dch kim tra m hng
cn na hay khng mi quyt nh tip tc bn hay khng bn. Thnh phn ca lp giao
dch trong m hnh Internet l Web Server v COM+/MTS. Cng ngh ca Microsoft vi
Web Server l IIS (Internet Information Services) s dng ASP kt ni Client vi COM.
Web Server giao tip vi COM+/MTS component qua COM. COM+/MTS component
iu khin tt c giao tip vi lp d liu ngun thng qua ODBC hoc OLE - DB.
Lp ngun d liu (Data Source)
Lp ngun d liu cung cp cc dch v t chc v lu tr cc h c s d liu quan h.
Sn sng cung cp d liu cho lp giao dch. c trng ca lp ny l SQL Server qun l


12

Chng I: Khi nim c bn v cc h c s d liu

d liu v cc thnh phn trong c s d liu nh bng, d liu v cc th tc lu tr.
Trong m hnh Internet lp ngun d liu qun l cc hot ng ca mt lng ln Clients.
Microsoft pht trin DNA m hnh chung (Framework) xy dng cho ng dng nhiu lp.
Tm li, c trng ca m hnh tnh ton phn tn l cc ti nguyn ca mng nh thit
b phn cng, chng trnh, d liu c phn tn theo a l trn mng. Ngi s dng c
th truy nhp khai thc trc tuyn hoc v khai thc tng tc d liu t xa.
Hnh 1.4a v 1.4b, m t cc loi m hnh Client-Server 3 lp. Hnh 1.4a c s


13









Tower System


Middleware
Server

Network
Tower System

Database
Server
Network

Database
Hnh 1.4a: M hnh Client-Server 3 lp c s dng Middleware server
dng Middleware server vi mc ch qun l v iu khin cc tin trnh tng tc ca h
thng. Ngha l s dng Middleware server iu khin v quan l nhiu kt ni ng
thi truy xut CSDL ca cc trm u cui. Trong cu trc loi 3 lp nh hnh 1.4b, s
dng Application server h tr cho mt s tin trnh ng dng c th nh truy xut ghi,
cp nht c s d liu chng hn.

Tower System


Database
Server

Network
Tower System

Application
Server
Network

Database



Hnh 1.4b: M hnh Client-Server 3 lp c s dng Application server









1.7.3 K thut lp trnh c s d liu - Web ng
C s d liu phn tn ngy nay c ng dng rng ri trn mng my tnh. D liu lu
tr trn cc my tnh khc nhau ti cc v tr a l khc nhau. Vi cch nhn ca ngi s
dng l trong sut v d s dng. n gin ngi ta sao lp cc CSDL thnh nhiu bn
sao v c ci t trn nhiu v tr khc nhau. Phng php ny to ra an ton cao, p
ng c cc nhu cu truy nhp ca ngi s dng.

Chng I: Khi nim c bn v cc h c s d liu

K thut kt ni CSDL- Web h tr cho ngi s dng c to ra nhng trang Web ng tu
bin, kt ni tnh ton v truy vn c s d liu t cc my khch t xa nh cc k thut
HTML (HypeTex Markup Language), XML (eXtensible Markup Language) hoc XSL
(eXtensible Style Language). K thut kt ni CSDL Web ph bin nh:



Tower System

Database
Tower System

Middleware Server
Tower System

Application
Tower System


Network
Network
Hnh 1.5 M hnh Client-Server nhiu lp
Database
Server
Application Server









CGI (Common Gateway Interface) h tr to ra nhng trang Web tu bin theo yu
cu t my khch gi n.
ISAPI (Internet Server Application Progamming Interface) cho php lp trnh ng dng
trn my ngi s dng Web di dng mt th vin lin kt ng n (Dynamic Link
Library) c np cng lc vo b nh. Cc ng dng ca ISAPI thc hin nhanh hn
cc ng dng ca CGI.
IDC (Internet Database Connector) l mt ng dng ISAPI, h tr ca IIS (Internet
Information Server) truy nhp CSDL qua ODBC kt ni CSDL trn Internet. Vi cng
ngh ASP (Active Server Pages) cho php lp trnh theo dng kch bn to nhng ng
dng c tnh tng tc v hiu sut cao khi truy xut c s d liu trn my ch.
JDBC (Java DataBase Connectivity) h tr lp trnh mng truy xut CSDL bng ngn
ng Java. Cho php ngi s dng u cui truy nhp vo cc h CSDL bng MS SQL
Server, MS Access, Oracle, hay bng ngn ng truy vn SQL...
1.7.4 Kin trc h thng Server (Server System Architecture)
H thng kin trc Server bao gm Server giao tc (Transaction Server ) v Data Server .
Giao tc Server: Cng c gi l Query Server, cung cp giao din cho cc trm khch
(Clients) c th gi cu hi v yu cu thc hin v gi tr li kt qu. Yu cu c th biu
din bng ngn ng SQL hoc bng giao tip trong trnh ng dng.
Tin trnh Server (Serverprocess): Tin trnh nhn cc yu cu t cc my trm clients,
thc hin yu cu v tr li kt qu cho cc my trm. Cc yu cu ca my trm c

14

Chng I: Khi nim c bn v cc h c s d liu

nhn t giao tip ngi s dng hay t tin trnh ngi s dng c nhng trong SQL,
JDBC hay trong cc giao thc tng t.

Tower System

Database
User click
Hyperlink
Browser gi yu cu n Web Server
1
Web Server
yu cu x l
CGI
3
Truy xut
& x l
4
Kt qu
Truy xut
5
Tr v
trang Web
6
Web Server tr kt qu v Client
7
Hin th
kt qu
8
2

Hnh 1.6 C ch lm vic ca mt ng dng CGI
















Lock manager process: y l tin trnh kho cp quyn truy nhp c s d liu ca tin
trnh qun tr CSDL cho ngi s dng.
Database writer process: Tin trnh cho php c d liu vo b nh ph v c php
sa i, sau c php cp nht tr li CSDL.
Log writer process: Tin trnh nht k theo di qu trinh c, sa i v cp nht tr li
d liu ca tin trnh Database writer process.
Checkpoint process: Tin trnh kim sot nh k khun dng trnh by .
Process monitor process: y l tin trnh gim st cc tin trnh khc. nu pht hin mt
tin trnh no y b li, n yu cu ngt v thc hin li.
Server d liu (Data Server): Cho php Clients tng tc vi Servers bng cc thao tc c
hay cp nht d liu. V d nh File Server cung cp giao din h thng file cho cc my
trm clients c th thc hin to file, cp nht d liu, c d liu hay xo d liu






15

Chng I: Khi nim c bn v cc h c s d liu




16





















Ngi
s dng

Ngi
s dng
ODBC JDBC

Ngi
s dng
B nh chung

My
ch

My
ch
My
ch

Tin trnh
Monitor
Tin trnh

Tin trnh
Kho
quh tr
a nht k Database
Cache truy vn
Kho bng Buffer nht k

Tin trnh
Ghi
D liu

Tin trnh
Ghi
D liu

Tin trnh
Ghi
D liu
Hnh 1.7 Kin trc h thng Server
Chia s
b nh
chung
1.7.5 Cc m hnh kin trc ng dng











Network
Network
NS
Cc ng dng
Database
Applications
NSD
Cc ng dng
Database
Client
Server
a. Kin trc 2 lp b. Kin trc 3 lp
Hnh 1.8 Kin trc ng dng 2 v 3 lp

Chng I: Khi nim c bn v cc h c s d liu

Cu hi trc nghim
1. C s d liu l:
A. Mt b su tp rt ln v cc loi d liu tc nghip
B. Mt tp File d liu
C. Mt tp cc chng trnh ng dng v d liu.
D. H qun tr c s d liu.
2. C s d liu l ti nguyn thng tin... ..
A. Truy xut theo ch trc tuyn hay tng tc.
B. Chia s chung cho nhiu ngi s dng.
C. Ci t trn mng my tnh.
D. Trn cc thit b u cui.
3. i tng nghin cu ca CSDL l .....
A. Cc thc th.
B. Cc mi quan h.
C. Cc thc th v mi quan h gia cc thc th.
D. Cc mi lin kt gia cc thc th.
4. C s d liu c nhng u im:
A. Gim bt d tha d liu trong lu tr:
B. Trnh khng nht qun trong lu tr d liu
C. Bo m c tnh ton vn ca d liu
D. Khng th phn nh th gii hin thc d liu,
5. M hnh kin trc 3 mc ca h CSDL gm:
A. M hnh trong, m hnh vt l
B. M hnh d liu
C. M hnh ngoi, khung nhn ca ngi s dng.
D. Cc m hnh con d liu
6. M hnh d liu l cch nhn....
A. Ton b ni dung thng tin ca CSDL
B. Khung nhn ca ngi s dng
C. L cch t chc lu tr
D. L cch biu din c s d liu tru tng mc thp nht.
7. Mc tiu ca cc h c s d liu
A. Cu trc lu tr d liu v chin lc truy nhp ti cc h c s d liu.
B. D liu ch c biu din, m t mt cch duy nht.
C. Cu trc d liu v cc h chng trnh ng dng khng ph thuc ln nhau.
D. Cu trc lu tr d liu v cc h chng trnh ng dng ph thuc ln nhau.
8. C rt nhiu cch nhn d liu ...... ngi s dng khc nhau c cch nhn d liu
khc nhau v cc h ng dng khc nhau c nhng cch nhn d liu cng khc nhau.
A. M hnh ngoi.

17

Chng I: Khi nim c bn v cc h c s d liu

B. M hnh quan nim.
C. M hnh trong.
D. M hnh d liu
9. C duy nht mt cch nhn d liu ..........., biu din ton b ni thng tin trong
CSDL l cch nhn d liu tng qut ca ngi s dng.
A. M hnh ngoi.
B. M hnh quan nim.
C. M hnh trong.
D. M hnh d liu
10. C duy nht mt v ch mt cch biu din CSDL di dng lu tr .......
A. Logic.
B. Vt l.
C. Tng qut.
D. Ni dung thng tin
Cu hi & bi tp
1. C s d liu l g , hiu th no l mt h c s d liu tc nghip.
2. S cn thit t chc lu tr d liu theo l thuyt c s d liu.
3. Cho v d minh ho v gim bt d tha d liu trong lu tr v khng nht qun d
liu trong lu tr lm cho d liu mt i tnh ton vn
4. Trnh by tng qut kin trc m hnh h c s d liu 3 lp .
5. Trnh by v phn tch tnh n nh trong m hnh quan nim.
6. Vai tr & chc nng ca nh x quan nim trong & nh x quan nim ngoi .
7. Mc tiu ca cc h c s d liu? V d minh ho.
8. Chng minh rng kin trc m hnh c s d liu 3 lp m bo c tnh c lp
d liu v tnh n nh cao.
9. Ti sao ni, m hnh d liu l cch nhn ton b ni dung thng tin ca CSDL, s
quan nim l nh ngha ca cch nhn y. V d minh ho.
10. Hiu th no v khi nim tnh ton vn d liu v tham chiu ton vn.
11. Hiu nh th no v tnh c lp ca d liu.
12. Khi nim File c g khc vi khi nim c s d liu, v d minh ha ?.
13. T chc lu tr d liu k thut hm bm. Cho v d minh ho.
14. Chc nng & vai tr ca h qun tr CSDL & ngi qun tr CSDL.
15. Trnh by k thut t chc lu tr d liu theo B-cy cn bng Files.
16. Hiu th no v h qun tr CSDL (DataBase Management System DBMS)
17. Ngi qun tr CSDL
18. Nu mt s nhim v chnh ca ngi qun tr CSDL.
19. Nu mt s th d v rng buc kiu, rng buc gii tch v rng buc logic.
20. M hnh c s d liu Client- Server.

18


19

2
CC M HNH C S D LIU


Trong chng I gii thiu mc tiu ca cc h c s d liu l tnh c lp v tnh ton
vn ca d liu. Trong chng ny gii thiu cc phng php tip cn m hnh d liu:
m hnh c s d liu mng, phn cp, c s d liu quan h v m hnh thc th quan h.
C s so snh, nh gi mt CSDL tt a vo cc mc ch xy dng h thng, c s
d liu hng gi tr hay hng i tng, tnh d tha v gii quyt tt mi quan h
nhiu-nhiu.
M hnh d liu
M hnh CSDL phn cp
Cu trc biu din d liu phn cp
M hnh CSDL mng
Cch tip cn m hnh CSDL quan h
M hnh thc th quan h
2.1 M u
S cn thit t chc lu tr d liu theo mt cch thc xc nh v cht ch dn n s
pht trin cc m hnh d liu. T nhng m hnh mng, m hnh phn cp v m hnh d
liu quan h l nhng m hnh c s d liu kinh in, truyn thng cho n cc m hnh
c s d liu phn tn, c s d liu hng i tng...l nhng m hnh d liu hin i
c p dng nhiu trn th trng hin nay.
i tng nghin cu cc h CSDL l cc thc th v cc mi lin kt gia cc thc th.
Mt m hnh CSDL phi c kh nng biu din thc th v lin kt gia cc thc th. Cc
lin kt l mt dng c bit ca thc th. Cc cch tip cn CSDL l cc cch nhn v cc
cch biu din lin kt ca ngi s dng.
Nghin cu m hnh c s d liu da trn cc yu cu sau:
1. Mc tiu c lp d liu: Phi xc nh r rng cc kha cnh logic v kha cnh
vt l ca vic qun tr c s d liu, bao gm vic thit k cc h c s d liu, cc
thao tc v tm kim d liu bng cc cng c ngn ng con d liu.
2. Mc tiu trao i: M hnh d liu n gin v cu trc, sao cho ngi s dng c cch
nhn trong sut khi truy nhp vo cc h c s d liu v c kh nng trao i vi nhau
v c s d liu.
3. Mc tiu x l tp: Ngi s dng c th s dng ngn ng bc cao biu din cc
php ton trn trn cc mng thng tin, k thut x l theo l (batch), m khng phi x
l tun t theo tng bn ghi.
4. M hnh c xy dng trn c s l thuyt vng chc, cht ch.
2.2 M hnh d liu (Data Model)
Mt m hnh d liu l mt h thng hnh thc ton hc, bao gm:
Chng I: Khi nim c bn v cc h c s d liu


20
- H thng cc k hiu biu din d liu.
- Tp hp cc php ton thao tc trn c so d liu.
c trng ca mt m hnh d liu:
- Tnh n nh khi thit k m hnh d liu.
- Tnh n gin c ngha l d hiu v d thao tc.
- Tnh d tha cn phi kim tra k lng .
- Tnh i xng phi c bo ton v
- C c s l thuyt vng chc.
2.2.1 Phn bit gia cc m hnh d liu
T chc d liu theo m hnh no l tt nht. Thc t cha c m hnh d liu no l tt
nht. Tt nht ph thuc vo yu cu truy xut v khai thc thng tin ca n v qun l n.
N c s dng u v vo lc no l tt nht. Tuy nhin, thng ngi ta da vo cc
tiu ch sau ni rng m hnh d liu tt nht khi:
1. Mc ch: Phn ln cc m hnh d liu s dng h thng k hiu biu din d liu
v lm nn tng cho cc h ng dng v ngn ng thao tc d liu. Cc m hnh thc th
quan h khng c h thng k hiu xy dng cc php ton thao tc d liu, m s dng
thit k lc khi nim, ci t trong mt m hnh d liu vi mt h qun tr c s
d liu no .
2. Hng gi tr hay hng i tng: Cc m hnh d liu quan h v m hnh logic l cc
m hnh d liu hng gi tr. Trong cc m hnh d liu hng gi tr c tnh khai bo
(declarativeness) v c tc ng n cc ngn ng c n h tr. Cc m hnh mng, phn
cp, m hnh d liu hng i tng cung cp c tnh nhn dng i tng, nn c th
xem chng l cc m hnh hng i tng. M hnh thc th quan h cng c c c
tnh nhn dng hng i tng.
3. Tnh d tha: Tt c cc m hnh d liu u c kh nng h tr lu tr d liu vt l v
hn ch s d tha d liu. Tuy nhin cc m hnh d liu hng i tng gii quyt s
d tha tt hn, bng cch to ra s dng con tr tr n nhiu v tr khc nhau.
4. Gii quyt mi quan h nhiu nhiu: Phn ln trong cc m hnh c s d liu c cha
cc mi quan h nhiu nhiu, mt nhiu hay quan h mt mt. Mt quan h c nhiu
phn t ca cc quan h khc v ngc li. Tuy nhin trong m hnh d liu mng khng
chp nhn mi quan h nhiu nhiu
2.2.2 Cc h thng CSDL i tng v tri thc
C s d liu hng i tng v h qun tr hng i tng (Object Oriented Database
management Systems OO DBMS) m t cc kiu d liu c xy dng bng phng
php to bn ghi v to tp hp. Cc quan h c xy dng t cc b bng thao tc to
mt tp hp cc bn ghi c khun dng thng nht.
Che du d liu (Encapsulation): Ngha l khi c yu cu truy xut n cc i tng thuc
kiu c bit, phi qua cc th tc c nh ngha cho cc i tng . Chng hn
nh ngha stack nh l mt kiu v nh ngha cc thao tc PUSH, POP p dng cho stack.
Chng I: Khi nim c bn v cc h c s d liu


21
c tnh nhn dng i tng (Object Indentity) l kh nng phn bit cc i tng .
Ngha l cu trc cc kiu c bn nh nhau. Cc kiu c bn l chui k t, s.
2.3 M hnh CSDL phn cp (Hierarchy Data Model)
2.3.1 Cu trc biu din d liu phn cp
Trong m hnh CSDL phn cp, d liu c biu din bng cu trc cy. Mt CSDL phn
cp l tp cc cy (rng cy). Trong mi mt cy ch cha mt v ch mt xut hin ca bn
ghi gc, gi l bn ghi nh, v di n l tp cc xut hin ca cc bn ghi ph thuc. Cc
bn ghi ph thuc c th l tu hoc khng tn ti. Mt bn ghi gc c th c mt s bt
k cc bn ghi ph thuc v cc bn ghi ph thuc c th c mt s cc bn ghi ph thuc
mc thp hn... Hnh 2.1 biu din mt m hnh CSDL phn cp v tuyn cp v cc loi
cp. D liu c biu din bng 4 cu trc cy n gin, trong gc l xut hin kiu
bn ghi loi cp bao gm cc thng tin m cp, tn cp, s lng, m nc sn xut, tn
nc sn xut. Cc bn ghi ph thuc l kiu cc bn ghi cc tuyn cp c lp t cc loi
cp , bao gm cc thng tin v s hiu tuyn cp, tn gi tuyn cp, di v ngy hon
thnh vic xy dng tuyn cp . Nh vy cc bn ghi gc l cc kiu bn ghi v cc loi
cp c lp t v cc bn ghi ph thuc l cc bn ghi v thng tin cc tuyn cp.
Theo nh ngha, khng th c cc bn ghi ph thuc m khng tn ti bn ghi gc, ngha l
khng th tn ti cc loi cp m cha c lp t trn mt tuyn no c. Nh vy c th
c th tn ti cc loi cy va c xut hin ca bn ghi gc v cc bn ghi ph thuc, ngha
l mi mt loi cp c th c lp t trn nhiu tuyn cp khc nhau v trn mt tuyn
cp c th c nhiu loi cp khc nhau c lp t. C loi cy ch tn ti bn ghi gc
thoi ho, di n khng tn ti bn ghi ph thuc, ngha l c t nht mt loi cp cha
c a vo lp t s dung. Theo nh ngha, khng tn ti loi cy ch c cc bn ghi
ph thuc m khng c bn gc, tc l trn mi tuyn cp phi c t nht mt loi cp. iu
g s xy ra khi trn trn mt tuyn no c duy nht mt loi cp b hu b.
2.3.2 Ngn ng thao tc trn CSDL phn cp
Biu din ph thuc trong m hnh phn cp: Cc ng ni t bn ghi gc tr xung
cc bn ghi ph thuc, hay t bn ghi cha tr xung bn ghi con biu din mi quan h gia
cc bn ghi trong m hnh phn cp. V d trong bn ghi Phiu xut kho c th xc nh
c m v n gi ca cc loi cp.
Chn thm: Trong cu trc hnh cy, c mt v ch mt xut hin bn ghi gc, tc l bt
buc phi c xut hin bn ghi v cc loi cp. Nu mun lu tr thng tin v mt tuyn
cp mi vo CSDL, th iu ny khng th thc hin c, v khng th thm thng tin v
cc xut hin kiu bn ghi ph thuc (thng tin v cc tuyn cp) vo CSDL phn cp khi
cha c thng tin v cc loi cp.
Loi b: Trong mt s cu trc cy d liu, thng tin v mt vn no y c cha
trong mt xut hin kiu bn ghi ph thuc duy nht th khi loi b s lm mt thng tin v
vn trn. V d khi loi b loi cp M04 trn tuyn T03, s ko theo thng tin v tuyn
cp T03 b mt v thng tin v cp mang m hiu M04 cng b mt lun. Nh vy c th
Chng I: Khi nim c bn v cc h c s d liu


22
xy ra hin tng mt thng tin v cc tuyn cp hoc thng tin v cc loi cp khi thc
hin cc thao tc loi b.























Sa i: Nu cn phi sa i mt s thng tin trong cc xut hin kiu bn ghi ph
thuc th phi duyt ton b m hnh d liu, bng cch phi d tm trong tng xut hin.
Nh vy kh nng d tm khng ht c th xy ra, s dn n s xut hin mu thun thng
tin v khng nht qun d liu trong lu tr. V d cn thay i tn gi ca cc tuyn cp
hoc tn gi cc loi cp, nu s cc xut hin kiu bn ghi loi ny rt ln, kh nng duyt
st vn c th xy ra, ngha l mu thun thng tin, khng nht qun thng tin s xy ra.
Cc php tm kim: Cc xut hin ca cc bn ghi ph thuc ch tn ti khi v ch khi
tn ti xut hin kiu bn ghi gc.
V d Q1: Tm s hiu ca cc tuyn Q2: Tm s hiu cc loi cp
c lp t cp MC#="M02". lp t trn tuyn TC#=T02.




Vit nam M01 Loi 10 i 1 VNA
21/10/1996 T1 10
31/12/1999 T2 29
VN-HQ M04 Cp si quang 4 LDA
03/09/1999 T3 10
Hn quc M02 Loi 20 i 1.5 HAQ
15/07/1982 T1 10
15/09/1998 T2 18
01/05/1980 T4 4
Nga M03 Cp ng trc 3 NGA
20/01/1981 T1 15
27/09/2000 T4 8
Hnh 2.1 D liu biu din di dng phn cp
1. Bn ghi gc: M cp, tn cp, s lng, m nc sn xut v tn nc sn xut
2. Bn ghi ph thuc: M tuyn, di tuyn v ngy lp t cp
Bn ghi gc: MC#='M02'
Khng tm thy: Thot
In TC#
TC
Thot
Next: Khng cn bn ghi gc: Thot
Khng tm thy #='T2'
MC
Goto Next
Tm thy: In # Goto Next
t
Deleted:
Deleted:
Deleted:
Deleted:
Deleted:
Deleted:
Deleted:
Deleted:
Deleted:
Deleted:
Deleted:
Deleted:

P
P


S
S

S
P
Goto Nex

Chng I: Khi nim c bn v cc h c s d liu


23
Cc truy vn thng i xng nhau nhng kt qu ca cc php tm kim khng i xng
.V vy trong cu trc lu tr ca m hnh phn cp rt hn ch khi thc hin vic tm kim
thng tin. Nu CSDL phn cp cng ln th tnh phc tp cng cao. Gy nhiu phc tp cho
ngi s dng, nht l i vi lp trnh vin phi mt nhiu thi gian cng sc lp trnh
v bo tr, hiu chnh cc chng trnh.
Tm li thng tin t chc lu tr theo m hnh phn cp c biu din d liu trong mt
tp duy nht theo cu trc cy. Trong mi mt cy, tn ti mt v ch duy nht mt xut
hin kiu bn ghi gc v cng vi n c mt tp cc xut hin kiu bn ghi ph thuc. Khi
thao tc trn CSDL phn cp bng ngn ng thao tc d liu, c nhiu kh nng xy ra tha
hoc thiu thng tin, mu thun thng tin dn n s khng nht qun d liu trong lu
tr. Tnh ton vn ca d liu khng c m bo. Cc cu hi hi-p, tm kim khng
c tnh i xng. Tnh c lp ca d liu d b vi phm. Tnh n nh khng cao.
2.4 M hnh CSDL mng (Network Data Model)
2.4.1 Cu trc biu din d liu mng
M hnh d liu mng l m hnh thc th quan h, trong cc mi lin kt b hn ch
trong kiu mt - mt v nhiu mt. Trong m hnh CSDL mng, d liu c biu din
trong cc bn ghi lin kt vi nhau bng cc mi ni lin kt (link) to thnh mt th c
hng. CSDL mng c cu trc tng qut hn so vi cu trc CSDL phn cp. Mi mt
xut hin ca mt bn ghi c th c rt nhiu cc xut hin kiu bn ghi trn n v cc xut
hin kiu bn ghi di n. Ngoi cc kiu bn ghi biu din d liu cn c kiu bn ghi cc
phn t kt ni, biu din s kt hp gia cc biu din d liu. Cho php m hnh ho
tng ng nhiu - nhiu. Hnh 2.2 biu din mt m hnh CSDL mng v cc tuyn cp v
cc loi cp c lp t. Ngoi cc xut hin kiu bn ghi tuyn cp v cc xut hin kiu
cc bn ghi cc loi cp cn c cc xut hin kiu cc bn ghi v cc phn t kt ni l
cc phn t s lng. Cc phn t ny kt ni tuyn cp v cc loi cp l thng tin v tnh
hnh lp t. S T1> 300> M01 ch ra rng tuyn T1 c 10 cp M01, T1 > 18
> M02 c ngha l T1 c 18 cp loi c m s l M02...
Mng cha hai kiu thc th: Trong mi mt tuyn cp, c nhiu loi cp khc nhau vi
s lng khc nhau. Mi mt loi cp c th c mt trong nhiu tuyn cp khc nhau. Kiu
bn ghi s lng c chc nng lin kt hai kiu bn ghi tuyn cp v cc loi cp. Mi mt
xut hin kiu bn ghi s lng biu din mi lin kt gia cc bn ghi tuyn cp vi cc
bn ghi loi cp. Thit lp mi lin kt gia mt tuyn cp v mt loi cp sao cho mi xut
hin tng ng ca s lng u c mt trong xut hin cc tuyn cp v loi cp. V d
tuyn cp T1 v loi cp m M01 c mi lin kt vi s lng l 10. T5 v M07
khng c mi lin kt, iu ny c ngha l loi cp M07 cha c mt trong mt tuyn
no c v tuyn T5 cha c mt loi cp no c lp t.
Mng cha hn hai kiu thc th: Lin kt n kiu thc th biu din bng mt kiu bn
ghi lin kt n kiu bn ghi vi nhau. Mi xut hin ca bn ghi lin kt s l thnh vin
ca ng mt xut hin ca mt trong s n kiu bn ghi. Nh vy s biu din mi lin kt
Chng I: Khi nim c bn v cc h c s d liu

n thc th tng ng. V d thm mt kiu thc th mi - n v thi cng tuyn cp. C th
mt n v thi cng nhiu tuyn cp v trong mt tuyn cp c nhiu n v thi cng. Thm
kiu thc th ngy nhp kho (NHAP) ca ca cc loi cp trc khi a vo s dng hoc
a thm thng tin v hng sn xut....

Vit Nam M01 Loi 10 i 1 VNA

24


21/10/1996 T1
Hn Quc M02 Loi 20 i 1.5 HAQ
10
31/12/1999












T2
Nga M03 Cp ng trc 3 NGA
18
10
15
01/05/1980 T4
03/09/1999


T3
Lin Doanh M04 Cp Si 4 LDA
15
21
20
01/05/2002






T5
Lin Doanh M05 VinaSung 4 LDA
20
20
Tuyn T1 T2 T3 T4 T5
S lng 10 15 18 20 21





Mng ch cha mt kiu thc th: Tn ti c s d liu ch cha mt thc th. V d c
s d liu cha thng tin v ph tng v linh kin, trong mt linh kin t n c th l
mt ph tng v t n c th cha cc ph tng khc. Nh vy mng c sp d liu ch
cha duy nht mt kiu bn ghi ph tng. V mi mt ph tng li c th l t hp ca mt
s chi tit thnh phn, li va c th l thnh phn ca cc t hp khc. Nh vy c s d
liu mng c hai thc th, hai kiu bn ghi nhng thc cht ch l mt.
Loi cp M01 M02 M03 M04 M05
Hnh 2.2 Cch tip cn CSDL kiu mng
Chng I: Khi nim c bn v cc h c s d liu

2.4.2 Ngn ng d liu thao tc trn CSDL mng
Chn thm: Khi thm cc cc kiu bn ghi mi, c th con tr (mi ni) t tr vo n. V
d, c chn thm cc thng tin xut hin bn ghi v tuyn cp hoc xut hin kiu bn ghi
v cc loi cp m cha c trong CSDL v cha c cc bn ghi kt ni, ngha l cha c
thng tin v cc loi cp c lp t, nhng m hnh CSDL mng vn m bo c tnh
nht qun ca d liu v tnh ton vn ca d liu.
Loi b: C th loi b cc xut hin kiu bn ghi d liu v xut hin kiu bn ghi kt
ni trong m hnh CSDL mng m khng nh hng ti tnh nht qun v tnh ton vn d
liu. C th xo mt loi cp no khi khng cn s dng. V d cn xa b 8 cp M04
trong T1 bng cch xo b cc con tr gia T1 v 8; gia 8 v M04 m khng lm mt
thng tin, khng xut hin d thng thng tin.
Sa i: C th sa i ni dung d liu m khng cn duyt qua m hnh v cng
khng lm xut hin mu thun d liu.
Cc php tm kim: Cc cu hi i xng v kt qu ca php tm kim cng i xng
vi nhau nh trong m hnh CSDL quan h.
V d Q1: Tm s hiu ca cc tuyn Q2: Tm s hiu ca cc loi
cp c lp t cp MC#="M02". cp trn tuyn TC#=T02

Bn kt ni: Bn kt ni: MC#='M02' TC#='T02'

25


M hnh CSDL mng l m hnh i xng, v vy cc cu hi v kt qu cc cu hi tm
kim thng i xng vi nhau. Khi thc hin cc php lu tr nh chn thm, loi b hay
sa i d liu trong m hnh CSDL mng vn bo m c s nht qun ca d liu v
tnh ton vn ca d liu. Cch tip cn CSDL mng l phng php biu din d liu
trong cc tp theo cu trc d liu cht ch. Cc xut hin kiu bn ghi c kt ni vi
nhau bng cc xut hin kiu bn ghi lin kt. Khi thao tc cc php cp nht khng xut
hin cc d thng thng tin.. Tuy nhin cu trc d liu rt trong m hnh CSDL mng qu
phc tp v qu nhiu lin kt gia cc xut hin d liu vi nhau bng cc xut hin kt
ni. V vy vic thit k v ci t c s d liu mng thng rt kh khn, nht l xy
dng cc php ton thao tc trn n.
2.5 Cch tip cn m hnh CSDL quan h.
2.5.1 Khi nim l thuyt tp hp quan h
Khi nim ton hc l thuyt tp hp l nn tng xy dng l thuyt m hnh d liu quan
h. l tp con ca tch cc ((Descartes) ca danh sch cc min xc nh (Domain).
Min l tp cc gi tr, l kiu ca d liu. Chng hn, tp cc chui k t s c chiu di
chnh xc l 7, l min ca ca thuc tnh in thoi. Tch cc ca cc min A
1
, A
2
, ..,
A
n
c biu din:
A
1
x A
2
x..x A
n
= { (a
1
, a
2
,.., a
n
) a
i
A
i
, i = 1 n }.
Khng c kt ni: Thot
In TC# Thot
Khng c kt ni: Thot
In MC# Thot
Deleted:
Deleted:
Deleted:
Deleted:
Deleted:
Deleted:
Deleted:
Deleted:
Deleted:
P
P
S
S


S
P

Chng I: Khi nim c bn v cc h c s d liu

Quan h (Relation) l mt tp con ca tch cc ca mt hoc nhiu min. S ngm hiu
quan h l hu hn. Cc phn t ca quan h gi l b (a
1
, a
2
,.., a
n
), c n gi tr thnh
phn, hay c gi n_b.
Khi nim tp n_b khng phi l khi nim duy nht i vi l thuyt c s d liu kiu
quan h. Nu gn tn thuc tnh cho cc ct, khi th t ca cc ct l khng quan trng.
V vy c th xem cc b nh l nh x t cc thuc tnh n tp cc gi tr ca min xc
nh cc thuc tnh. nh x c nh ngha nh sau:
: = {A
1
, A
2
, .., A
n
}
Khi quan h l tp n_b: { (A
1
), (A
2
), ..., (A
n
)} = {(a
1
, a
2
,.., a
n
)}.
Nh vy, "C s d liu quan h" c th hiu l d liu c ngi s dng nhn di dng
mt quan h ton hc v cc php ton thao tc d liu c xy dng trn cc cu trc
quan h ton hc. Mt quan h l mt bng v mi bng l mt cu trc quan h ton hc.
Ni cch khc, c s d liu quan h c biu din di dng cc bng, gm cc ct l
thuc tnh v cc hng l tp n gi tr ca thc th, i tng. c cu trc. Cu trc d liu
quan h l mi lin kt gia cc b c biu din duy nht bng cc gi tr d liu trong
cc ct c rt ra t min chung. Gia cc thuc tnh c mi quan h rng buc ph thuc
ln nhau v cc ph thuc cng l cc thc th c bit.
V d Quan h v tuyn cp cc loi cp nht k lp t
TC#: M tuyn cp, TC: Tn gi tuyn cp, DAI: di tuyn cp,
NGHT: Ngy hon thnh tuyn, MC#: M cp, MC: Tn gi cp, GIA: Gi cp,
N#: M nc sn xut, NSX: Tn nc sn xut
a) Thng tin v cc loi cp lp t trn cc tuyn cp:

TC# MC# SL NG
T01 M01 10 21/10/1996

T01 M02 20 15/7/1982

T01 M03 15 20/1/1981

T02 M01 29 31/12/1999

T02 M02 18 15/9/1998

T03 M04 10 3/9/1999

T04 M02 4 1/5/1980

T04 M03 8 27/9/2000

b) Thng tin v cc tuyn cp

TC# TC DAI NGHT

T01 H Ni- Hi Phng 120 Km 1/2/1980

T02 H Ni- Qung Ninh 170 Km 31/12/1985

T03 Hi Phng-Qung Ninh 60 Km 30/6/1990

T04 H Ni- H Ty 15 Km 31/12/1979


26
Chng I: Khi nim c bn v cc h c s d liu

c) Thng tin v cc loi cp (danh mc cc loi cp):

MC# MC GIA N# NSX
M01 Loi 10 i 1,0 VNA Vit Nam
M02 Loi 20 i 1,5 HAQ Hn Quc
M03 Cp ng trc 3,0 NGA Nga
M04 Cp si quang 4,0 LDA Lin Doanh VN-HQ





Hnh 2.3 D liu biu din di dng quan h
2.5.2 Ngn ng thao tc d liu kiu quan h.
Ngn ng con d liu kiu quan h l tp cc php ton c cc cu trc quan h thao tc
trn cc d liu di dng quan h. D liu c biu din mt cch duy nht. Ngn ng
con d liu gm nhm cc cc php ton tm kim v nhm cc php ton cp nht, lu tr.
Cc php ton lu tr: l cc php chn thm, sa i v loi b, l cc ton t c xy
dng trn i s quan h. Cc php ton ny c kh nng x l tp hp theo l, cc quan h
c xem nh ton hng trong cc ton t. Khi thc hin cc php lu tr khng c kh
nng xut hin d thng thng tin v khng lm mt s nht qun d liu. Bng ngn
ng con d liu kiu quan h, thao tc trn cc quan h bo m c tnh ton vn d liu.
Cc php ton tm kim: Kt qu ca cc php tm kim d liu cng l mt quan h. V
vy vi cch tip cn quan h, ngi ta hon ton c kh nng xy dng d dng mt ngn
ng con d liu rt n gin nhng cng rt mnh mc tp hp nhm cung cp cc kh
nng thn tin cho ngi s dng. y l mt trong nhng im mnh ca cch tip cn
quan h v ngn ng i s quan h. Cc cu hi tm kim l i xng nhau.
V d Q1: Tm s hiu ca cc tuyn Q2: Tm s hiu ca cc loi
c lp t M02. cp c mt trong tuyn T02.
SELECT TC# SELECT MC#
FROM QLC FROM QLC
WHERE MC#="M02" WHERE TC#="T02"
2.5.3 Cc php ton c bn ca i s quan h.
1. Php hp (Union): Hp ca cc quan h kh hp l mt quan h gm cc b :
R S := { t t R or t S }
2. Php tr (Minus): Hiu ca hai quan h kh hp l mt quan h gm cc b ca qun
h b tr, khng thuc quan h tr.: R S := { t t R and t S }
3. Tch cc (Descartes): ca hai quan h bao gm cc b ca quan h sao cho thnh
phn u l b ca quan h th nht, cc thnh phn su thuc cc thnh phn ca
quan h th hai. R x S :={ t =<r,s>r R and s S}
4. Php chiu (Projection): T quan h ngun, loi b mt s mt s thuc tnh.

Aj1, Aj2,...,Ajk
(R) := {<a
j1
, a
j2
,..,a
jk
>


a
ji


Dom(A
ji
), j
i
= j
1
j
k
}

27
Chng I: Khi nim c bn v cc h c s d liu


28
5. Php chn (Selection): T quan h ngun, loi b mt s mt s b tha biu thc
logic F.

F
(R) := { t


t
F
= True }
Nh vy m hnh CSDL quan h bao gm cc quan h ton hc, l cc tp truyn thng
tun theo cc rng buc ca quan h ton hc. Ngn ng con thao tc d liu gm cc ton
t c cu trc quan h ton hc thao tc trn cc quan h.
2.5.4 u im cch tip cn m hnh CSDL quan h.
Tnh n gin: M hnh CSDL quan h m t c th gii hin thc d liu mt cch
chnh xc, khch quan, ph hp vi cch nhn thng thng ca ngi s dng. Cu trc d
liu c tnh n gin, bi cc thng tin v cc thc th v cc rng buc ca cc thc th
c biu din duy nht trong cc bng, trong sut vi ngi s dng.
Tnh c lp d liu: Tnh c lp d liu trong cc h c s d liu quan h cao v, th
hin c tnh c lp d liu mc vt l, tc l cu trc lu tr v chin lc truy nhp
CSDL vt l c th thay i bi ngi qun tr CSDL nhng khng lm thay i s
quan nim v ngc li. Tnh c lp d liu logc, mc quan nim, l mi quan h gia
khung nhn ca ngi s dng v CSDL quan nim khng ph thuc ln nhau.
Tnh i xng: Do cu trc biu din d liu trong cc h CSDL quan h, cc cu hi i
xng, kt qu ca cc cu hi cng i xng v biu din bng quan h.
C c s l thuyt vng chc: M hnh CSDL quan h c xy dng trn c s l thuyt
ton hc quan h cht ch, logic. Ngn ng thao tc d liu l tp cc php ton c cu trc
quan h. Tm li cc h CSDL quan h c nn tng l thuyt vng, cht ch v logic.
2.6 M hnh thc th quan h (The Entity Relationship Model)
2.6.1 Khi nim
M hnh thc th quan h cho php m t lc khi nim ca mt t chc, p dng cho
vng i ca c s d liu m khng n tnh hiu qu hoc thit k CSDL vt l nh
cch tip cn vi cc m hnh khc. N m t c th gii thc gm nhng nhng i
tng c bn dc gi l nhng thc th v nhng quan h gia thc th. nh x v nhng
tc ng qua li ca th gii thc phc tp c m t bng cc khi nim lc . N
c pht trin to thun li cho thit k c s d liu bng cch cho php nh r mt
lc phc tp, i din cho ton b cu trc logic ca c s d liu .Dng n gin ca
m hnh thc th-quan h c dng lm c s trao i mt cch hiu qu vi ngi s
dng u cui v CSDL khi nim. T s thc th quan h ngi ta c th chuyn thnh
lc khi nim m hnh quan h. M hnh thc th quan h c th c xem nh l m
hnh hng i tng. M hnh thc th - quan h c bn bao gm ba lp i tng: thc
th (Entity), mi quan h (Relationship), v thuc tnh (Attribute).
2.6.2 Thc th, mi quan h, thuc tnh
Thc th (Entity) l nhng i tng d liu c bn cha ni dung cc thng tin cn thu
thp. Thc th c th biu th cho ngi, ni chn, s vt hoc cc bin c c thng tin
ng ch . Mt xut hin c th ca mt thc th c gi l th hin thc th (Entity
Chng I: Khi nim c bn v cc h c s d liu

Instance). V d nhn vin, phng ban, k nng, v tr, th tc, chng trnh...l cc thc
th. Tn thc th c vit bn trong hnh ch nht.
Mt nhm cc thc th cng chung mt s tnh cht, mt s c trng c bn.. to ra mt
tp thc th (Entity Set). Tp tt c nhn vin trong mt c quan, tp cc bin trong mt
chng trnh, tp cc khi nim v CSDL.. l nhng tp cc thc th. Khi nim tp thc
th l khi nim mc lc .
Mi quan h (Relationship) gia mt hay nhiu thc th trong th gii thc vi nhau,
chng khng xut hin vt l hay khi nim bn ngoi cng vi cc ph thuc ca chng.
Mt xut hin c th ca mt mi quan h c gi l th hin quan h (Relationship
Instance). Cc mi quan h dc m t theo quan h (Degree), tnh kt ni
(Connectivity) v xut hin (Existence). Mi quan h c ch ra bng tnh ni kt gia
cc th hin thc th: mt-mt, mt-nhiu v nhiu-nhiu.
Quan h mt mt (One to One): Mt thc th trong A c kt hp vi ti a
mt thc th trong B, v mt thc th trong B c kt hp vi ti a mt thc th
trong A.

29


Quan h mt nhiu (One to Many). Mt thc th trong A c kt hp vi nhiu
thc th trong B, v mt thc th trong B c th c kt hp vi ti a vi mt
thc th trong A.


Quan h nhiu nhiu (Many to Many). Nhiu thc th trong A c kt hp vi
nhiu thc th trong B, v nhiu thc th trong B c kt hp vi nhiu thc th
trong A.


Trong lc quan h, cu trc d liu quan h nhiu - nhiu s c thc th ho
di dng mt - nhiu.







Thuc tnh (Attribute) l cc tnh cht c trng ca thc th, ch ra cc chi tit cn m t
v thc th. Mt xut hin c th ca mt thuc tnh trong mt thc th hoc mt mi quan
h c gi l gi tr thuc tnh (Attribute Value). Thuc tnh ca thc th nhn vin l m
Nhn vin S chng minh
1-1
Khch hng Ho n
1-N
Khch hng Ho n
N-N
Tuyn cp Loi cp
N-N
Tuyn cp Loi cp
Nht k lp t
Chng I: Khi nim c bn v cc h c s d liu

nhn vin, h v tn, a ch.... K hiu cho thuc tnh l mt hnh elip, bn trong l tn
thuc tnh, c ni vi thc th.
2.6.3 Bc ca mi quan h
Bc ca mi quan h l s lng cc thc th tham gia trong mi quan h. Cc mi quan h
hai v ba ngi th bc l 2 v 3. Tng qut mi quan h n-ngi , bc l n. Mt thc th c
th tham gia vo nhiu mi quan h v mi mi quan h c th c bc bt k. Ngoi ra,
gia hai thc th c th c nhiu mi quan h hai ngi, v tng t vi n thc th bt k.


30





2.6.4 kt ni cc mi quan h
kt ni (Connectivity) ca mt mi quan h m t mt rng buc trn nh x gia cc
xut hin thc th trong mi quan h. Gi tr ca kt ni l "mt" hoc "nhiu". Vi mt
mi quan h gia cc thc th Phng v Nhn vin, kt ni "mt" cho Phng v
"nhiu" cho Nhn vin mun ni rng c ti a "mt" xut hin thc th Phng c
lin kt vi "nhiu" xut hin ca Nhn vin.
2.6.5 Phn cp ISA
Ni rng A isa B (A l mt B) nu tp thc th B l s tng qut ha ca tp thc th A,
hoc A l loi c bit ca B. iu ny c ngha l A c th k tha cc thuc tnh ca B.
Ni cch khc, mi thc th a thuc A c quan h vi ng mt phn t b trong B v nh
vy a v b thc s ch l mt thc th. Khng cn c phn t b trong B c quan h nh th
vi hai phn t khc nhau trong A, nhng c mt vi phn t trong B c th khng c quan
h g vi mi phn t trong A. Cc thuc tnh kha ca A thc s l thuc tnh kha ca tp
B v gi tr ca nhng thuc tnh trong A c ly tng ng t cc thc th trong B.
2.6.6 S thc th quan h
Thit k CSDL logic c th thc hin bng phng php tip cn t trn xung, t di ln,
v t hp c hai. Cch tip cn truyn thng i vi cc CSDL quan h, l mt qu trnh t
di ln, tng hp cc phn t d liu ring bit vo cc quan h c chun ha sau khi
phn tch s ph thuc qua li gia cc thc th. Vic a m hnh quan h thc th vo
qu trnh thit k, l cch tip cn t trn xung, mt hnh thi t hp mi tr nn ph bin
nh c s dng cc khi nim tru tng ha. Mt c s d liu thc th quan h c th
biu din ton b cu trc logic ca n bng s . S thc th quan h thng n gin
v c c tnh r rng nn d khi qut ha. .
Mt s thc th quan h bao gm cc thnh phn chnh di y:
Hnh ch nht biu din cc tp thc th.
Cc hnh elip biu din cc thuc tnh, chng c lin kt vi tp cc thc th bng
cc cnh v hng. Cc thuc tnh l kha s c gch chn.
Gi Mn
Lp
Mn
Phng
Chng I: Khi nim c bn v cc h c s d liu

Cc hnh thoi biu din mi quan h, c lin kt vi cc tp thnh vin.
Nhng ng k kt ni nhng thuc tnh vi nhng tp hp thc th v gia
nhng tp hp thc th vi nhng tp hp mi quan h.
Xem xt s thc th quan h trong hnh 2.4, bao gm ba tp hp thc th, khch hng
thu bao, dch v v nh cung cp cc ch v c quan h thng qua mt tp hp mi
quan h nh phn khch hng- thu bao c cc nh cung cp dch v cung cp nhng dch
v g. Gm cc bc nh sau:
Bc u tin cn phi xc nh cc yu cu ca bi ton v cc thnh phn ca n.
Xc nh c th tp cc thc th, tp cc thuc tnh v mi quan h Bc ny m
bo tnh c lp v ton vn ca d liu.
Bc th 2 l m hnh ha d liu bng cc s . Biu din cc thnh phn ca bi
ton bng cc thc th v tp cc thuc tnh.
Tch hp cc yu cu li bng s . Biu din mi quan h gia cc yu cu, tc l
biu din lung thng tin lu chuyn trong h thng. Loi b cc ph thuc d tha,
thuc tnh d tha...
Chuyn i thnh cc quan h. Xc nh cu trc lu tr di dng bng.


31






















Bc I I: M hnh ha ER
Bc III: Tch hp cc yu cu
Bc I: Cc yu cu Dch v
Thu bao
Hp ng
Nh
cung cp
N
N




1 1
Cung cp
bi
Thu bao Dch v Hp ng
N
K vi
N
Nh cung

1

N

H p ng
K Thu bao
N

1 N

1
N
N
1
K Hp

K
vi
ng ao
Yu

N
Thu b
cu
Nh cung cp
Vi Thu bao
Chng I: Khi nim c bn v cc h c s d liu

Bc I V: Chuyn i sang quan h
THUEBAO

32














Hnh 2.4 Cc bc thit k mt m hnh thc th quan h
V d M hnh thc th quan h v qun l nhn s & qun l d n
Sau khi kho st qun l nhn s trong mt c quan, c cc nhn xt nh sau:
Mt phng lm vic gm nhiu nhm lm vic v qun l nhiu nhn vin
Trong mi nhm bao gm nhiu nhn vin lm vic v c mt ngi ph trch.
Mi nhn vin thuc mt nhm lm vic hoc thuc mt phng
Nhn vin l mt ngi ph trch.
















M H v tn ......

CREATE TABLE THUEBAO
(MA integer,
HOVATEN char (15),
DC char(30),
MACC char(15),
DICHVU
DICHVU integer,
MADV Dch v ......
primary key (MA),

foreign key(MACC) references NHACC,
foreign key(MA) referenes DICHVU;
NHACCDV
MACC Tn c quan a ch ......

Bc V: Chun ha d liu (3NF, BCNF, 4NF, 5NF)
Bc VI : Thit k vt l
1
1
N
1
1
1




1
Phng
Nhm
Nhn vin
m Bao g
N
m Bao g Ph trch Bao gm
Hnh 2.5 M hnh ha thc th theo quan im qun l
Chng I: Khi nim c bn v cc h c s d liu

Chc danh nhn vin: K s, k thut vin, tr l, ngi qun l...
K s c cp my tnh lm vic, tr l v k thut vin c cp my tnh bn.
Mi mt k s c th tham gia nhiu d n khc nhau.


33


N









1



Desktop
1 1 11
1 1 1 N
N



Nhn vin
Qun
l
Ngi qun l Tr l
K thut vin
K s
c
s dng
c
s dng
c
s dng
c
tham gia
D n
Hnh 2.6 M hnh ha thc th quan h theo quan im ngh nghip cng vic
Computer



K nng c th c nhiu la chn cho mt d n v ngc li.
K nng c th c nhiu nhn vin tham gia v ngc li
Mi mt d n c th c nhiu vn phng khc nhau.
Mt nhn vin c th c nhiu ni lm vic v mt ni coa th c nhiu nhn vin.












Lc ton cc: Lc ton cc l lc tch hp cc m hnh thit k theo quan
im qun l, ngh nghip v qun l nhn s...Lc ton cc l c s pht trin v
Hnh 2.7 M hnh ha thc th quan h theo quan im nhn s
N
N
N
1
N
N







K nng
D n
K nng
S dng
K nng
S dng
Nhn vin
Ni lm vic
N
Chng I: Khi nim c bn v cc h c s d liu


34
cc quan h thnh cc dng chun v cu trc lu tr vt l. Mi mt mi quan h trong
lc ton cc u da trn mt nhn nh c th xc nhn c v d liu thc ca c
quan v s phn tch cc nhn xt dn n vic bin i cu trc m hnh ER thc th
quan h thnh cc bng quan h c chun ho.
2.6.7 Cc bc trin khai m hnh thc th quan h
Phn tch yu cu: Phn tch yu cu l bc quan trng ca vng i CSDL. Ngi thit
k phi kho st, phng vn ... nhm xc nh CSDL p ng c g v cn ci. Mc tiu
c bn ca bc ny l:
Xc nh r yu cu ca tng b phn, khch quan trung thc. Phn loi thc th,
thuc tnh.
M t thng tin v cc i tng v xc nh mi quan h gia cc i tng cn
thit k. Ni dung thc th.
Xc nh cc loi giao dch trn CSDL. Tng tc gia cc giao dich.
Xc nh cc rng buc ton vn, tnh bo mt p t ln CSDL.
Xc nh phn cng h thng, iu kin ci t.
Ti liu kho st.
2. Xc nh ni dung, yu cu ca cc thc th
Tng qut ho cc thc th v nh danh cc thuc tnh ca cc thc th.
Xc nh ni dung thng tin ca cc thc th, cc thuc tnh a tr,.
c t d liu cn x l, mi quan h t nhin gia cc d liu.
Xc nh mi quan h gia cc thuc tnh.
M hnh ho thc th.
3. Tch hp cc yu cu- tch hp cc m hnh thc th.
La chn chin lc tch hp.
Xc nh cc thc th tng ng, ng ngha
Pht hin xung t cu trc: kiu, ph thuc d tha, xung t kha...
Tng qut ha qu trnh tch hp.
4. Chuyn i thnh cc bng quan h
S tin ha t nhin t m hnh thc th quan h sang lc quan h.
Quy tc bin i:
Mt bng thc th c ni dung thng tin nh thc th gc.
Mt bng cha kha ngoi lai ca thc th cha.
Mt bng cha kha ngoi lai ca tt c cc thc th trong mi quan h.
Cc bc bin i:
Bin i thc th.
Bin i cc mi quan h nhiu- nhiu.
5. Chun ho quan h
Chuyn v dng chun 1NF
Chng I: Khi nim c bn v cc h c s d liu

Chuyn v dng chun 2NF
Chuyn v dng chun 3NF
Chuyn v dng chun BCNF
Chuyn v dng chun 4NF
Chuyn v dng chun 5NF
6. Thit k vt l


35
































N
N
N
1
N
N


N
1

1
1
1
1
1
N

1
N
Desktop Computer
1
1
N

T chc
1 1
1

Hnh 2.8 Lc ton cc qun l nhn s d n
Qun l
d n
Qun l
nhn s










1
N

Gm
Phn
Nhm
C
Qun l
bi Qun l
bi
K nng
D n
K nng
S dng

Lm vic
r
Nhn vin Qun l
V t
Qun l
Tr l K s K thut
S dng S dng S dng Tham gia
D n
Chng I: Khi nim c bn v cc h c s d liu

V d M hnh thc th quan h c s d liu cuc thu bao in thoi
Mng gm nhiu tng i bao gm nhiu HOST v cc tng i v tinh.
Cc thuc tnh tng i bao gm m tng i, dung lng, mu cp.
n v qun l tng i: tn n v, a ch,...
ng vi mt mu cp l mt s in thoi cp cho thu bao.
Thu bao gm nhiu thng tin: M thu bao, a ch, tn thu bao...
M hnh bao gm tp hp cc thc th: khch hng- thu bao, cc m thoi, tp tng
i v n v qun l tng i- nh cung cp dch v. Cc tp thc th ny c lin kt
vi nhau bng mt tp hp mi quan h.nh phn: Mi mt s in thoi ca thu bao
tng ng mt - mt m s u dy gm c cc thuc tnh mu cp,... SDT (s in thoi)
l thuc tnh ca thc th thu bao vi cc thuc tnh khc: h tn thu bao, a ch thu
bao. SDT ca thu bao thc hin cuc m thoi vi s in thoi gi n trong thi gian
c th t gi bt u, kt thc...Mu cp l thuc tnh ca tng i v tng i l tng i v
tinh ca mt trm HOST thuc mt n v qun l no gm cc thuc tnh: tn c quan,
m c quan, a ch c quan.
Tp mi quan h tng i c th c thu bao. Mt thu bao c th c nhiu tn i, nhiu
nh cung cp dch v v mt tng i- nh cung cp c th cung cp cho nhiu thu bao.




36

















V d S c s d liu siu th: Gi s trong mt siu th c nhiu gian hng. Trong mi
mt gian hng c bn mt s mt hng v trong tng gian hng c nhiu nhn vin bn
hng. Trong s nhn vin c mt ngi ph trch - gian hng trng. Nhn vin v ca

Tng i
M Tn
Thuc

ISA HOST
M
Tn
Cp
s
SD
T
Tn
a ch
Mu

Dung
l

n v
Thc
hi
SD
n
T


Thu bao
m
a ch
S n Ngy
gi
T.gian
Hnh 2.9 Lc ton cc cc thu bao in thoi
Chng I: Khi nim c bn v cc h c s d liu

hng trng ch lm vic trong mt gian hng. Siu th c nhiu nh cung cp hng ho v
c cc khch mua hng. Nh vy:
Tp thc th nh cung cp (SUPPLIERS) c cc thuc tnh nh tn nh cung cp
(SNAME), a ch (SADDR). Mi nh cung cp c th cung cp mt mt hng
(ITEM), c n gi (PRICE) ca ring h.
Tp thc th mt hng vi cc thuc tnh m mt hng (ITEM#), v tn mt hng
(INAME). Mt mt hng c th c nhiu nh cung cp v nhiu nh cung cp c th
cung cp nhiu mt hng khc nhau. Nh vy mi lin kt nh cung cp mt hng
l mi quan h nhiu nhiu. Mt mt hng ch c bn trong mt gian hng.
Tp thc th nhn vin bn hng (EMPLOYEES) gm cc thuc tnh nh h v tn
(NAME), mc lng (SALARY), m nhn vin (EMP#). Nhn vin c th l
trng gian hng, ngi qun l (MANAGE), s dng ISA.
Tp thc th cc ho n mua hng (ORDERS) gm cc thuc tnh: s ho n
(O#), ngy t mua (DATE), Mi mt ho n ca khch mua hng l mt ho n
ca mt khch t mua v c th mua nhiu mt hng vi s lng tng ng h
t mua (QUANTITY).
Tp thc th khch mua hng (CUSTOMERS) gm cc thuc tnh h v tn
(CNAME), a ch (CADDR), v s d ti khon (BALANCE) ca h.

H tn Lng



Nhn vin Trng
ISA

37
















SD
T
Tn
a ch
Lnh

Phng
Thuc
o

Nh cung cp
C Tn
Gi
Cung
Cp
Mt hng
Nh
Tn MH MH#

Ho n
M
Ngy
Gi tr
Gm
SL Tn
T.kho

Ca Khch hng
p
Hnh 2.10 Lc ton cc c s d liu siu th
a ch
Chng I: Khi nim c bn v cc h c s d liu


38
Cu hi trc nghim
1. Nghin cu m hnh c s d liu da trn cc yu cu....
A. Mc tiu c lp d liu v trao i
B. Phi xc nh r rng cc kha cnh logic v kha cnh
C. Qun tr c s d liu
D. Mc tiu x l tp
E. M hnh c xy dng trn c s l thuyt vng chc, cht ch.
2. c trng ca mt m hnh d liu......
A. Tnh n nh v tnh n gin
B. Tnh d tha cn phi kim tra .
C. Tnh i xng
D. C c s l thuyt vng chc.
3. Mt m hnh CSDL l tt nht nu:
A. Ci t trong mt m hnh d liu vi mt h qun tr c s d liu no .
B. c tnh nhn dng hng i tng.
C. Tnh d tha
D. Gii quyt mi quan h nhiu nhiu
4. Cu trc CSDL phn cp biu din d liu bng...
A. Cu trc quan h.
B. Cu trc cy
C. Cu trc bng
D. Cu trc mng
5. Trong cu trc lu tr ca m hnh phn cp rt hn ch khi thc hin vic ........
A. Tm kim thng tin.
B. X l thng tin.
C. T chc lu tr thng tin
D. Tnh n nh thng tin
6. M hnh d liu mng l m hnh
A. Thc th quan h
B. Mt - mt v nhiu mt.
C. Quan h.
D. Nhiu - nhiu.
7. M hnh CSDL mng l m hnh .....
A. i xng.
B. Khng i xng
C. Khng m bo s nht qun ca d liu v tnh ton vn ca d liu.
D. Cc bn ghi c kt ni vi nhau bng cc xut hin kiu bn ghi lin kt.
8. M hnh CSDL quan h l m hnh .....
A. i xng.
B. Khng i xng
Chng I: Khi nim c bn v cc h c s d liu

C. Khng m bo s nht qun ca d liu v tnh ton vn ca d liu.
D. Cc bn ghi c kt ni vi nhau bng cc xut hin kiu bn ghi lin kt.
9. Hy chn t/cm t tng ng hon thin khng nh sau: C s d liu quan h c
th hiu l d liu c ngi s dng nhn di dng mt .......quan h ton hc v
cc php ton thao tc d liu c xy dng trn cc cu trc quan h ton hc.
A. Quan h.
B. Biu thc i s.
C. Biu thc.
D. Ph thuc
10. Hy chn t/cm t tng ng hon thin khng nh sau: Ngn ng con d liu
kiu quan h l tp cc php ton c cc .......thao tc trn cc d liu di dng quan
h. D liu c biu din mt cch duy nht. Ngn ng con d liu gm nhm cc
cc php ton tm kim v nhm cc php ton cp nht, lu tr.
A. Cu trc quan h.
B. Cu trc d liu.
C. Biu thc quan h.
D. Quan h
11. Hy so khp thng tin 2 phn di y vi nhau:
Phn 1 Phn 2
1 Mt quan h l mt bng v mi bng..... A. ph thuc ln nhau v cc ph thuc
cng l cc thc th c bi
2 C s d liu quan h c .......... B. l mi lin kt gia cc b c biu
din duy nht bng cc gi tr d liu .
3 Cu trc d liu quan h...... C. biu din di dng cc bng
D. l mt cu trc quan h ton hc. 4 Gia cc thuc tnh c mi quan h rng
buc......
a. 1- D; 2- C ; 3 B ; 4 A .
b. 1- C; 2- B; 3 A; 4 D
c. 1- A; 2- B; 3 C; 4 D.
d. 1- D; 2- B; 3 A; 4 C.
12. Hy so khp thng tin 2 phn di y vi nhau:
Phn 1 Phn 2
1 Kt qu ca cc php tm kim trong
CSDL quan h d liu .....
A. l i xng nhau.
2 Cc cu hi tm kim trong c s d liu
..........
B. cng l mt quan h.
3 Cc php ton lu tr trong CSDL quan h
c kh nng ......
C. xy dng trn i s quan h.


39
Chng I: Khi nim c bn v cc h c s d liu

4 Cc php ton lu tr trong CSDL quan h
c ......
D. x l theo l. Cc quan h c xem
nh ton hng. .
a. 1- D; 2- C ; 3 B ; 4 A .
b. 1- B ; 2- A; 3 D ; 4 C
c. 1- A; 2- B; 3 C; 4 D.
d. 1- D; 2- B; 3 A; 4 C.

Cu hi v bi tp
1. Gi s trong nghip v qun l pht hnh bo ch, thng tin gm c:
a. Thng tin v khch hng t mua bo (tp ch) :
M khch hng t mua, 5 k t, kiu character.
H v tn khch hng, 21 k t, kiu character.
a ch khch hng, 21 k t, kiu character.
S in thoi , 7 k t, kiu character.
a im giao nhn bo(tp ch) hng ngy, 25 k t, kiu character.
b. .Thng tin v cc loi bo (tp ch) bao gm:
M bo khch t mua., 3 k t, kiu character.
Tn bo (tp ch), 15 k t, kiu character.
Gi bo, 5 s.
K pht hnh bo ( bo ngy, bo tun, bo thng...). 3 k t ch
c. Thng tin v phiu t bo gm
Ngy khch t bo, ch.
M hiu khch hng t mua bo.
M bo khch t mua.
S lng bo, ch khch t mua .
Thnh tin tng loi bo.
a) Hy pht ho m hnh CSDL quan h vi cc d liu trn.
b) Hy pht ho m hnh CSDL mng .
c) Hy pht ho m hnh CSDL phn cp.
2.
a) Khi thc hin cc php lu tr (chn thm, loi b v sa i) trn cc d liu c
biu din trong cc m hnh CSDLquan h, mng v phn cp th d thng thng tin
c xy ra khng ? V sao.

40
b) Chng t rng m hnh CSDL mng vi cc d liu trn l m hnh d liu phc tp
nht, v sao ?
3. Ti sao ni vic xy dng ngn ng d liu thao tc trn CSDL mng li kh khn,
phc tp hn nhiu so vi m hnh c s d liu quan h. Hy cho th d v tm kim d
liu trn c s d liu mng.
4. ng vi cc m hnh d liu trn, hy nhn xt kt qu cc php tm kim:
Chng I: Khi nim c bn v cc h c s d liu


41
a) Thng tin v tt c khch hng t mua bo NDA (Nhn Dn) trong qu I/2000.
b) Thng tin v cc loi bo m khch hng t mua trong qu I/2000.
5. Hy thc hin cc php tm kim trn CSDL quan h:
a) Tng s lng v tin cc loi bo (tp ch) khch t mua trong thng nm 1999.
b) Thng tin v tt c khch hng t mua tt c cc loi bo c trong danh mc.
c) Lp bng k tnh tng tin cc loi bo m khch t mua trong tng thng?
d) Thng tin v cc loi bo khch t mua c s lng v tin cao hn s lng v
tin khch t mua bo VHT vn ho & th thao?
5. Hy s dng m hnh thc th quan h m t d liu v Hc vin (bao gm v m
hnh t chc, cc phng ban, cc khoa, qun l sinh vin qun l o to, hc bng, cc
danh hiu thi ua...).
6. Hy v s mmo hnh thc th quan h v mi quan h trong gia nh: b m, v
chng, con ci... v chuyn v cc m hnh:
a) M hnh quan h.
b) M hnh phn cp.
c) M hnh mng.
6. Gi s c s d liu qun l sinh vin gm cc thc th sinh vin (students), kho hc
(courses) v im hc tp (grade) ca sinh vin trong mi kho hc. Thc th sinh vin
bao gm cc thuc tnh nh h v tn, a ch, ngy sinh, qu qun...Thng tin v cc
kho hc bao gm tn kho hc, khoa no t chc, thi gian, s tit, ni hc, thy dy...
C th biu din lc quan h trn bng nhiu m hnh khc nhau. Tuy nhin c th
c mt s s c mt s c im khng mong mun. V d nh:
a) Cho trc mt SV, khng th xc nh nhng kho hc m sinh vin hc
qua m khng cn phi duyt nhiu phn ca CSDL.
b) Khng th xc nh nhng ng k mt lp hc m khng cn phi duyt
nhiu phn ca CSDL.
c) Khng th xc nh im ca mt SV trong mt kho hc.
d) To d tha: kho hc lp li nhiu ln, tn lp li.....
Hy ch ra cc hn ch khi chuyn i CSDL trn v :
a) Quan h
b) Phn cp
c) Mng







C S D LIU QUAN H

42

3

Edgar F.Codd l ngi u tin nghin cu m hnh c s d liu quan h. Codd c
nhiu ng gp cho s pht trin i s quan h, cc php ton quan h v s chun ha
quan h. Trong chng ny s trnh by nhng khi nim c bn nht v l thuyt c s d
liu quan h do E.F Codd xut, l cc khi nim v quan h, v kha ca lc
quan h. Nhng khi nim ny c vai tr quan trng trong vic thit k v ci t cc h c
s d liu quan h v cc h qun tr c s d liu. Ni dung ca chng bao gm:
nh ngha quan h
Lc quan h
Kha ca lc quan h
Mt s tnh cht ca kho trong lc quan h
Cc thut ton xc nh kho ca lc quan h
Cc php ton trn c s d liu quan h
3.1 Quan h
3.1.1 nh ngha quan h
Cho := {A
1
, A
2
,.. , A
n
}

mt tp hu hn cc thuc tnh, khc rng v cc phn t khng
nht thit phn bit nhau. Mi mt thuc tnh A
i
, i =1n c mt min gi tr xc nh,
(Domain), k hiu D(A
i
) = Dom(A
i
). V d, tp cc k t s c chiu di chnh xc l 7,
l min ca ca thuc tnh s in thoi. Tch cc ca cc min Dom(A
1
), Dom(A
2
)..
Dom(A
n
) c biu din nh sau:
Dom(A
1
) x Dom(A
2
) x ..x Dom(A
n
) : = { (a
1
, a
2
,.., a
n
) a
i
A
i
, i = 1 n }.
Ni rng R l mt quan h trn tp khi v ch khi n l mt tp con ca tch cc
ca: D(a
1
) x D(a
2
) x... x D(a
n
). K hiu R() = R(A
1
, A
2
, .. , A
n
). Tc l
R() D(a
1
) x D(a
2
) x...x D(a
n
).
Nh vy quan h R() trn tp l tp cc cc hm:
R() := { rr : D(A), A }
Mi mt hm trong quan h c gi l mt dng ca quan h. V vy trong cch tip cn
m hnh CSDL quan h, ngi ta thng biu din mt quan h trn tp cc thuc tnh
bng mt bng 2 chiu. Cc thuc tnh (Attributes) ca quan h l cc ct A
1
, A
2
,.. , A
n
,
khng nht thit phn bit nhau v cc hng ca quan h c gi l cc b (tuple), hay cn
c gi l cc bn ghi ca quan h, k hiu l r R(). Gi tr ca mi mt b gm n
thnh phn gi tr r = (d
1
, d
2
,.., d
n
) c rt ra gi tr t cc min xc nh tng ng, tc l
r(A
1
) = d
1
D(A
1
), r(A
2
) = d
2
D(A
2
), ... , r(A
n
) = d
n
D(A
n
), trong cc k hiu
D(A
i
) := Dom(A
i
) l min xc nh ca A
i
, i = 1 n.
Chng I: Khi nim c bn v cc h c s d liu

C th nh ngha quan h R() cch khc nh sau :
R() = {(d
1
, d
2
,.., d
n
)d
i
D(A
i
) , A
i
, i =1 n }.







A
1
A
2
............
A
n
r
1
r
1
(A
1
) r
1
(A
2
) ........... r
1
(A
n
)
r
2
r
2
(A
1
) r
2
(A
2
) ........... r
2
(A
n
)
.............. ............... ................ ................
r
n
r
n
(A
1
) r
n
(A
2
) ................ r
n
(A
n
)
Hnh 3.1 Quan h biu din thnh bng
3.1.2 K hiu
Bc ca quan h: S thuc tnh ca quan h R().
S n_b ca quan h gi l lc lng ca quan h. K hiu l R.
n_ b : (d
1
, d
2
,.., d
n
) l mt bn ghi, thng c biu din bng cc ch La tinh
nh, v d r: = (d
1
, d
2
,.., d
n
) R().
X l mt tp con cc thuc tnh, k hiu X , khi v ch khi A X, suy ra
A . Ngha l cc thuc tnh ca X cng l thuc tnh ca . Tng qut X Y
khi v ch khi vi mi thuc tnh ca X cng l thuc tnh ca Y.
Nu X v r R(). Khi php chiu X trn b r c hiu nh sau:
Nu r: = (d
1
, d
2
,.., d
n
) khi r[X] := r(X) := (di
1
, di
2
, ...,di
k
), tc l r[X] l cc gi
tr ca b r cha gi tr ca thuc tnh X.
Cho hai b r
1
, r
2
R(), r
1
= (d
1
, d
2
,.., d
n
) v r
2
= (h
1
, h
2
,.., h
n
).
Khi ni rng r
1
trng r
2
c hiu l : r
1
r
2
d
i
= h
i
, i = 1... n.
r
1
khc r
2
: r
1
r
2
i {1,2... ,n} sao cho d
i
= h
i
.
V d 1: Quan h v khch hng t mua bo: KHACHHANG (M#,TK,DC,SDT).
Trong : M# k hiu l m khch t mua bo, TK l tn khch, DC a ch khch hng
v SDT l s in thoi cu khch. Min gi tr ca M# l tp hp (M01, M02, M13, M13),
min gi tr ca TK l h v tn ca khch t mua bo, .... Quan h KHACHHANG l mt
bng 2 chiu, cc ct l cc thuc tnh M#, TK, DC v SDT, cc hng ca bng l thng tin
v cc khch hng t mua bo. Quan h l tp cc bn ghi gm cc thnh phn m khch,
h tn khch, a ch khch v s in thoi khch. V d (M01, Nguyn Ngc An, 24
Nguyn Biu, 822134) ....


43




M# TK DC SDT
M01 Nguyn Ngc An 24 Nguyn Biu 8222134
M02 H Ngc H 174 Tn c Thng
M12 T Ngc Long 54 Trng Thi 5241234

M13 Phan ng Cu 134 i Cn 8345123

Chng I: Khi nim c bn v cc h c s d liu

Quan h BAO (MB#,TBAO,GIA,KY,NXB) l bng thng tin v ccloi bo:
MB# M bo , TBAO Tn khch hng, GIA Gi bo.
KY K pht hnh, NXB Nh in, xut bn.

MB# TBAO GIA KY NXB

A01 Nhn Dn 1.000 NGAY Nhn Dn

A02 Qun i Nhn Dn 1.000 NGAY Qun i

B01 H Ni Mi 600 NGAY Tin B
Quan h DAT_MUA l bng biu din thng tin v cc phiu t mua bo, tp ch ca
khch hng: DAT_MUA (M#,MB#,NG,SL)
M# M Khch MB# M bo,
NG Ngy t mua SL S lng

M# MB# NG SL
M01 A01 1/2/2000 100
M01 A02 4/2/2000 150
M02 A01 1/3/2000 300
M02 A02 1/4/2000 120
M12 A01 1/6/2000 230
M12 A03 1/5/2000 50
M12 B01 1/4/2000 90
M13 A02 1/4/2000 150
Hnh 3.2 V d cc quan h qun l pht hnh bo ch










3.2 Ph thuc hm
Ph thuc hm c tm quan trng i vi ngi qun tr c s d liu trong vic thit k v
ci t cc m hnh c s d liu quan h. C s l thuyt v chun ho d liu da trn
cc khi nim ph thuc hm v kho ca quan h. Ph thuc hm l khi nim c xy
dng m t cc rng buc trong c s d liu. Ni rng m mt hng xc nh s lng,
n gi, ngy nhp kho... ca mt mt hng. Ni cch khc, mi mt gi tr ca thuc tnh
m mt hng xc nh duy nht gi tr ca thuc tnh s lng, n gi ... ca mt hng.
Rng buc ny s t chi khi chn thm thng tin v mt mt hng mi m cha c xc
nh m mt hng, v s mu thun, khng nht qun trong t chc lu tr d liu.
C 2 loi ph thuc hm:
1. Rng buc gii tch: Gia mt s thuc tnh c s rng buc bng cc biu thc ton
hc. im trung bnh di 5 l hc sinh c hc lc km, t 5 n 6,9 c hc lc
trung bnh , t 7 n 8,9 hc lc kh v trn 8 l hc lc gii.
2. Rng buc logic l cc mi quan h gia cc thuc tnh vi nhau, nhng khng phi l
cc rng buc gii tch, c gi l ph thuc hm.

44

Chng I: Khi nim c bn v cc h c s d liu

nh ngha: Cho R l mt quan h trn tp v cho X v Y l 2 tp con bt k ca .
Ni rng X xc nh Y hay Y ph thuc hm vo X, k hiu f : X Y, khi v ch khi
nu 2 b bt k r v s ca quan h R: ( r, s R ) (r(X) = s(X)) th suy ra r(Y) = s(Y),
Hay ( r, s R ) ((a X) (r(a) = s(a)) th suy ra (b Y) (r(b) = s(b))).
Ni cch khc, khi i s trng nhau th hm c cng gi tr. Mt gi tr ca Y c xc
nh bi mt gi tr ca X.
K hiu F:= {f : Lj Rj Lj, Rj } l tp cc ph thuc hm trn cc thuc tnh .
3.3 H tin cc ph thuc hm v cc php suy dn logic
H y cc ph thuc hm theo nh ngha F:= {f: Lj Rj Lj, Rj } ch mi
tha trn mt quan h R(). Cu hi t ra, liu cc ph thuc ca F c tha trong mi
quan h trn hay khng? Nm 1974 Armstrong a ra 4 tin c trng cho tp cc
ph thuc hm ca File d liu.
3.3.1 H tin Armstrong cho cc ph thuc hm
Cho := {A
1
, A
2
,.. , A
n
} l tp khc rng. Gi F l tp cc ph thuc hm tha trn cc
quan h R trn tp cc thuc tnh . K hiu Y:= {(A, B) | A, B , A B F}. Hin
nhin Y l mt h f. Khi nu A, B, C, D :
A1: Phn x: Nu vi mi B A A B. Quy tc A1 a ra nhng ph thuc
khng tm thng, l nhng ph thuc m v phi c cha trong v tri. Nhng
ph thuc loi ny lun lun ng trong mi quan h, ph thuc vo , khng ph
thuc vo tp cc ph thuc hm F.
A2: Gia tng: Nu A B AC B , AC BC. Quy tc ny ch ra rng c th
m rng v tri hoc c hai v ph thuc hm cng mt thuc tnh. Ch khng cho
php thm vo v phi. Trong AC = A C.
A3: Bc cu: Nu A B v B C th suy ra A C. Nu mt thuc tnh xc nh
thuc tnh th hai, v n xc nh thuc tnh th ba, khi thuc tnh th nht xc
nh thuc tnh th 3.
A4: Gi bc cu: Nu A B v BC Z AC Z. p dng A2 v A3 c th suy
ra A4: A B AC BC (A2), BC Z AC Z (A3).
A5: Hp: Nu A B v A C A BC. p dng A2: A B AA AB v A
C AB BC. p dng A3: AA C, tc l A BC.
A6: Tch: Nu A BC A B v A C. Ngha l nu v phi bao gm nhiu thuc
tnh, khi thuc tnh v tri s xc nh cc thnh phn trong v phi. Tin c
suy dn t cc tin d A1, A2 v A3 nh sau: A BC AA ABC A
ABC, p dng quy tc A1: ABC B v ABC C A B v A C.
3.3.2 ngha h tin Armstrong
1. C th nhn thy rng nu F

:= {Lj Rj Lj, Rj } l tp cc ph thuc hm
tha trn quan h R th n cng tha trn mi quan h trn tp cc thuc tnh .

45

Chng I: Khi nim c bn v cc h c s d liu

2. V ngc li vi mt tp Y h f cc ph thuc hm, khi tn ti mt quan h R
trn tp cc thuc tnh sao cho cc ph thuc hm tha trn n. Tc l
F := {(A,B) A,B & A B}. iu ny c ngha l cc h tin Armstrong l
ng v y . Ni cch khccc tin l c trng cc h ph thuc hm.
3. Nh vy ph thuc hm khng ph thuc vo quan h c th. V vy c th s dng
cc cng c ton hc lm sng t cu trc logic ca m hnh d liu quan h.
4. C nhiu quan h khc nhau nhng h y cc ph thuc hm l nh nhau.
K hiu:
F := {Lj Rj Lj, Rj } tp cc ph thuc hm.
K hiu s = <, F > l lc quan h,
Trong = { a
1
, a
2
,.. , a
n
} l tp cc thuc tnh v
F = { Lj Rj Lj, Rj } tp cc ph thuc hm.
Quan h R s := <, F > c biu din l mt th hin (Instance) ca lc
quan h s := <, F >, l tp tt c cc b tho tt c ccph thuc hm F.
3.3.3 Cc tnh cht ca ph thuc hm
1. A1. Tnh phn x: Nu B A khi A B.
2. A2. Tnh gia tng: Nu A B v C khi AC BC.
3. A3. Tnh bc cu: Nu A B v B C khi A C.
4. A4. Quy tc hp: Nu A B v A C khi A BC.
5. A5. Quy tc tch: Nu A B v C B khi A C.
3.3.4 Cc php suy dn ph thuc hm
Cc ph thuc hm c th c suy dn bng 2 cch:
1. Suy dn theo nh ngha: Cho R () l mt quan h trn v tp cc ph thuc hm F
:= {f : Lj Rj Lj, Rj }. Ni rng ph thuc hm A B , A, B c suy dn
t tp cc ph thuc hm F theo quan h R , nu:
a) A B tha trn quan h R tc l nu 2 b bt k trng nhau trn A th cng
trng nhau trn B.
b) Nu cc phn t ca F tha trn mi quan h R ca lc th A B cng tha
mn trn cc quan h .
2. Suy dn logic: Cho lc s = <, F>. Ni rng A B c suy dn logic t F
bng cch p dng lin tip cc tin Armstrong. Tc l, nu F tha trn mi quan h
trn lc s = <, F> th A B cng tha trn cc quan h y. y l php suy dn
trc tip bng cch p dng lin tip cc h tin v cc tnh cht ca ph thuc hm.
Nh vy h cc ph thuc hm khng ph thuc vo mt quan h c th no, c th nhn
c bng cch suy dn t nh ngha hay suy dn theo quan h, hoc suy dn logic t cc
tin hay theo cc tnh cht ph thuc hm.

46

Chng I: Khi nim c bn v cc h c s d liu

3.3.5 Bao ng v tnh cht bao ng cc ph thuc hm
nh ngha bao ng ph thuc hm: Cho s = <, F> l mt lc quan h, trong
l tp cc thuc tnh v F l tp cc ph thuc hm, khi k hiu:
F
+
:= {X Y X,Y v X Y c suy dn logic t F }
c gi l tp bao ng (Closure) ca tp cc ph thuc hm. Nh vy bao ng ca tp
cc ph thuc hm bao gm cc ph thuc c suy dn bng cch p dng lin tip cc h
tin Armstrong. Lc lng ca tp ny rt ln, kh c th tnh ton v lit k c.
Trong phn sau s lm quen vi khi nim tp tng ng.
V d 2:
1. Cho F

= {A B, B C, A D, B D }.
Khi A C F
+
, B DC F
+
v A BC F
+
.
p dng quy tc bc cu, t A B, B C, suy ra. A C F
+
.


V B C v B D, suy ra B DC F
+
.
V A B v A C F
+
, suy ra A BC F
+
.
2. Cho F

= {A B, C X, BX Z}. Khi AC Z F
+
?.


V A B AX BX.
T AX BX , kt hp BX Z, suy ra AX Z.
T C X AC AX.
p dng tnh cht bc cu, AC AX v AX Z suy ra
AC Z F
+
.


3. Cho F

= {A B, C D}, C B, chng t rng A D F
+
?.


V C B, p dng tnh cht phn x, suy ra B C .
T A B v B C suy ra A C.
T A C v C D suy ra A D F
+
.
Mt s tnh cht bao ng ph thuc hm:

Tnh phn x: F F
+

Tnh n iu: nu F G F
+
G
+

Tnh ly ng: F
+
= F
++

3.3.6 Ph thuc hm y v khng y
Gi F l tp cc ph thuc hm trn tp cc thuc tnh . Ph thuc X Y F c
gi l mt ph thuc hm y , khi v ch khi vi mi tp con thc s ca A: A' A
suy ra A' B F
+
, iu ny c ngha ngha l A' B l ph thuc khng th suy dn
logic t tp F. Ni cch khc, nu X Y F l mt ph thuc hm y , khi v ch
khi tt c cc tp con thc s ca tp cc thuc tnh v tri khng xc nh c cc thuc
tnh cha trong v phi.

47

Chng I: Khi nim c bn v cc h c s d liu

Ngc li, ph thuc X Y F c gi l ph thuc hm khng y khi v ch khi
tn ti mt tp con thc s ca A: A' A , khi , ph thuc A' B c suy dn
logic t F, tc l A' B F
+
.
V d 3 : Quan h qun l mng cp.
(TC#, TTC, MC#, DAI, NG, GT, SL, DV), trong
TC # M tuyn cp, MC# M cp
TTC Tn tuyn cp, DAI di tuyn cp
NG Ngy lp t cp DV n v lp t.
GT Gi tr cp SL S lng cp
Khi :
Cc ph thuc hm y :
(TC#, MC#) SL , (TC#, MC# ) GT,
TC# TTC , (TC#, MC#) NG ,
(C#, MC#) DV, TC# DAI ,
NG DV , TC# TTC .
Cc ph thuc hm khng y :
{TC#, MC# } TTC, {TC#, MC##} DAI.


48








TC#
MC#
GT
NG
TTC
DAI
SL
DV
Hnh 3.3 Cc ph thuc hm trong quan h qun l mng cp

3.4 Bao ng & thut ton xc nh bao ng cc thuc tnh
3.4.1 Bao ng tp cc thuc tnh (Closure of a set attributes)
Nh trong cc phn trc nghin cu, lc lng ca F
+
tp cc ph thuc hm c suy
dn logic t F bng cch p dng cc h tin Armstrongs l qu ln, trong khi c th
lc lng ca F rt nh. Tp F ch l tp con ca F
+
. R rng vic tnh ton to ra tp
ng F
+
tn rt kh nhiu thi gian v chi ph qu cao. V d ph thuc hm m v phi
gm nhiu thuc tnh {X A
2
,.., X A
n
}, khi cc phn t ca F
+
cha tt c cc ph
thuc X Y, trong Y {A
1
A
2
.. A
n
}. Nh vy c th c 2
n
tp Y, s lng cc ph
thuc ca F
+
s rt ln, khng hy vng c th lit k ht c cc phn t ca tp F
+
.

Chng I: Khi nim c bn v cc h c s d liu

Cu hi c t ra l, mt ph thuc hm bt k cho trc X Y c thuc vo tp F
+
hay khng. Ni cch khc, ph thuc hm X Y c th c suy dn logic t tp F
+
hay
khng ?. Khi nim bao ng tp thuc tnh s gip tr li cu hi trn.
nh ngha: Cho F l tp cc ph thuc hm trn tp cc thuc tnh v tp con bt k
X . Khi bao ng ca X ng vi tp F c nh ngha nh sau:
To mt chui X
0
, X
1
, X
2
, ..... , X
n
, X
n+1
, X
n+2
.... sao cho
X
0
:= X
X
1
:= X
0
{B A B F
+
, A X
0
, B X
0
}.
............................................................................
X
j+1
:= X
J
{B A B F
+
, A X
J
, B X
J
}.
.............................................................................
Hin nhin X
0
X
1
X
2
..... X
n
X
n+1


X
n+2


.... V tp F l mt tp
hu hn, s tn ti mt s k nguyn dng sao cho X
k-1
X
k
=

X
n+1
=

X
n+2
.....
Khi k hiu X
+
:= X
k
=

X
n+1
v
c
gi l bao ng ca thuc tnh X.
3.4.2 Cc tnh cht bao ng thuc tnh
Cho X , Y
1. X X
+
2. X Y X
+
Y
+
3. X
+
= X
+ +

4. (X Y )
+
X
+
Y
+
5. (X Y)
+
= ( X
+
Y)
+
= ( X Y
+
)
+
6. X Y

Y X
+

7. X Y

Y
+
X
+

8. X X
+
v X
+
X
9. X
+
= Y
+
X Y v Y X
3.4.3 Thut ton xc nh bao ng
Thut ton 3.1: Xc nh bao ng tp thuc tnh
Gi s tp cc ph thuc hm F = {Lj Rj Lj, Rj } tho trn cc quan h ca lc
quan h s = <, F>. Cho X , tnh bao ng X
+
.
Thit lp chui T
1

, T
2
, T
3
, T
4
,.. , T
k
, .. .. sao cho
T
1

, T
2
T
3
T
4
.. T
k
. ..
Bc 1: G: = F .
Bc 2: Gn T
1
= X.
Bc 3: Kim tra ph thuc A B G .
Nu A T
i

Nu B T
i
khi T
i
= T
i-1
B, i = 2,3.....,
Ngc li B T
i
, T
i
khng thay i.

49

Chng I: Khi nim c bn v cc h c s d liu

G:= G {A B}.
Lp li bc 3.
Thut ton dng kim tra nu G = hoc khng tn ti A B G, sao
cho A T
i
. Nu B Ti , khi A B l ph thuc d tha.
Bc 4: Tn ti ch s k sao cho: T
i
= T
i+1
= T
i+2
= X
+
.

X
+
= Y End
f
Z:= Z B
Y
START
Y:=X
Y
N
Y:= Y Z
Z=
N
B Y
A Y
N
Y














Hnh 3.4 S tht ton xc nh bao ng thuc tnh
M t bng ngn ng t nhin:
Input : s = <, F> l mt lc quan h
l tp cc thuc tnh .
F = {A BA,B } tp cc ph thuc hm.
X



tp thuc tnh bt k.


Output : Tnh X
+
bao ng thuc tnh X.
M t phng php
Begin
T: = X
G := F
Repeat

50

Chng I: Khi nim c bn v cc h c s d liu

For each A B in G do
If (A T and B T ) then T:= T B
G:= G {A B}.
Until G = or khng tn ti A B G
X
+
= T
End.
Trong thut ton xc nh bao ng ca tp thuc tnh X ng vi tp ph thuc hm F,
tn ti s k nguyn dng b nht sao:
X = T
1

T
2

.. ..... T
k-2

T
k-1
T
k
= T
k+1

= T
k+2
3.4.4 V d bao ng ca tp thuc tnh
V d 4 = {A, B, C, D, E, G}
F = {AB C , D EG, C A , BE C, BC D ,
CG BD, ACD B, CE AG}
Tnh X
+
vi X = {BD}
1) G = F , T
1
= BD
2) Xt AB C G : AB T
1
= BD.
3) Xt D EG G : D T
1
= BD, EG T
1
.
T
2
=T
1
EG = BDEG.
G = G {D EG} = {AB C , C A , BE C, BC D ,
CG BD, ACD B, CE AG}
4) Xt C A G : D T
2
= BDEG, A T
2
.
T
3
=T
2
A = ABDEG.
G = G {C A} = {AB C, BE C, BC D,
CG BD, ACD B, CE AG}
5) Xt BE C G : BE T
3
= ABDEG, C T
3
.
T
4
=T
3
C = ABCDEG.
G = G {BE C} = {AB C, BC D, CG BD
ACD B, CE AG}
6) Xt BC D G : BC T
4
= ABCDEG, D T
4
.
T
5
=T
4
= ABCDEG.
G = G {BC D} = {AB C, CG BD , ACD B, CE AG}
7) Xt CG BD G : CG T
5
= ABCDEG, BD T
5
.
T
6
=T
5
= ABCDEG.
G = G {CG BD} = {AB C, ACD B, CE AG}
8) Xt ACD B G : ACD T
6
= ABCDEG, B T
6
.
T
7
=T
6
= ABCDEG.

51
G = G {ACD B} = {AB C, CE AG}

Chng I: Khi nim c bn v cc h c s d liu

9) Xt CE AG G : CE T
7
= ABCDEG, AG T
7
.
T
8
=T
7
= ABCDEG.
G = G {CE AG} = {AB C}
Nh vy T
8
= X
+
= ABCDEG.
V d 5 Cho tp F = {A B , B C, BC D , DA B}.
Tnh bao ng X = {A}

v chng t rng A AD F
+
:
1) G = F , T
1
= A
2) Xt A B G : A T
1
= A, B T
1
.
T
2
=T
1
B = AB.
G = G {A B} = {B C , BC D , AD B}.
3) Xt B C G : B T
2
= AB, C T
2
.
T
3
= T
2
C = ABC.
G = G {B C} = {BC D , AD B}
4) Xt BC D G : BC T
3
= ABC, D T
3
.
T
4
= T
3
D = ABCD.
G = G {BC D} = {AD B}
5) Xt AD B G : AD T
4
= ABCD, B T
3
.
T
5
= T
4
= ABCD.
G = G {AD B} =
Nh vy T
5
= X
+
= ABCD.
Vi kt qu ny chng t rng cc thuc tnh n hay t hp cha trong X
+
ph thuc
hm vo thuc tnh X = A.
Ph thuc A AD F
+
: V
1. Theo gi thit A B v B C, suy ra A C.
2. Theo gi thit A B v B C D suy ra AC D.
3. Theo (1) v (2): A C v AC D suy ra A D.
3. A A v A D (3) suy ra A AD.
3.4.5 Thut ton xc nh ph thuc hm suy dn t F
S dng thut ton xc nh bao ng ca mt tp cc thuc tnh xc nh mt ph thuc
hm bt k c c suy dn logic t tp cc ph thuc hm F hay khng. Thut ton s
dng tnh cht X Y F
+
Y X
+
. Ngha l cn kim tra thuc tnh v phi ca
ph thuc hm c phi l mt thnh phn ca bao ng v tri hay khng.
Input : F = {A BA,B } tp cc ph thuc hm.
X Y


Output : Khng nh XY F


Begin

52

Chng I: Khi nim c bn v cc h c s d liu

T: = X
Repeat
For each A B in F do
If (A T and B T ) then T:= T B
If Y T then XY F , EXIT
Until G = or khng tn ti A B G
XY F
End.
V d 6: Cho F = {A B, C X, BX Z.
Kim tra AC Z c thuc F
+
, hay c c suy dn logic t F
+
?.
I: Tnh (AC)
+

1) G = F , T
1
= AC
2) Xt A B G : A T
1
, B T
1
T
2
=T
1
B = ABC.
G = G {A B} = {C X, BX Z}.
3) Xt C X G : C T
2
, X T
1
.
T
3
=T
2
X = ABCX.
G = G {C X} = { BX Z}.
3) Xt BX Z G : BX T
3
, Z T
3
T
4
=T
3
Z = ABCXZ.
G =
Nh vy T
4
= (AC)
+
= ABCXZ.
II: AC Z F
+
Z ABCXZ.
V d 7: Cho F = {A B, C D}, C B
Xc nh A D F
+
?
I: Tnh (A)
+

1) C B B C
2) G = F ={A B, C D, B C }, T
1
= A
3) Xt A B G : A T
1
, B T
1
T
2
=T
1
B = AB.
G = G {A B} = {C D, B C}.
4) Xt C D G : C T
2
.
5) Xt B C G : B T
2
, C T
2
T
3
=T
2
C = ABC.
G = G {B C} = {C D}.
6) Xt C D G : C T
3
, D T
3
.

53

Chng I: Khi nim c bn v cc h c s d liu

T
4
=T
3
D = ABCD.
G = G {C D} = .
Nh vy T
4
= (A)
+
= ABCD.
II: A D F
+
D ABCD.
3.5 Ph thuc d tha, tp cc ph thuc tng ng
3.5.1 Tp cc ph thuc tng ng
Cho 2 tp cc ph thuc hm F v G cng tho trn mt lc s = <, F>. Ni rng
F v G tng ng, k hiu F G , khi v ch khi F
+
G
+
, tc l cc ph thuc ca
F c suy dn logic t G v cc ph thuc ca G c suy dn logic t F.
3.5.2 Ph thuc d tha
nh ngha: Cho F = {Lj Rj Lj, Rj } l tp cc ph thuc hm tho trn lc
quan h s = <, F>. Ph thuc X Y F l ph thuc d tha, khi v ch khi X Y
c suy dn logic t G := F {X Y}, ngc li ph thuc X Y c gi l ph
thuc khng d tha. K hiu tp G l tp tt c cc ph thuc khng d tha ca tp F.
Mt tp cc ph thuc hm cho trc b i nhng ph thuc d tha, tp cn li s tng
ng vi tp u tin.
Thut ton 3.2: Xc nh tp cc ph thuc khng d tha
Cho F ={Lj Rj Lj, Rj } tho trn lc quan h s = <, F>. Thut ton cho
php kim tra mt ph thuc bt k A B thuc F c l ph thuc d tha hay khng.
Bc 1: G:= F {A B}.
Nu G tip tc thc hin bc 2.
Ngc li, nu G = khi A B l ph thuc khng d tha.
Bc 2: Gn T
1
= {A}.
Bc 3: For X Y G , sao cho X T
1
.
T
i
= T
i-1
{Y} . i = 2,3.....,
Nu B T
i
, khi G := G {X Y}.
Nu G , lp bc 3.
Nu G = , khi A B l ph thuc khng d tha.
Nu B T
i
, khi A B l ph thuc d tha.
V d 8: Cho tp ph thuc hm F = { X YW, XW Z, Z Y, XY Z}.
XY Z l ph thuc d tha ca F ?
1) G:= F {XY Z} = {X YW, XW Z, Z Y}.
2) T
1
= {XY}
Kho st: X YW: X T
1
= {XY} v Z T
1

T
2
= T
1
{YW} = {XY} {XYW }.
G:= G {X YW} = {XW Z, Z Y}

54

Chng I: Khi nim c bn v cc h c s d liu

Kho st: XW Z: XW T
2
= {XYW} v Z T
2

T
3
= T
2
{YW} = {XYW} {Z}= {XYWZ}.
G:= G {XW Z} = {Z Y}
Kho st: Z Y: Z T
3
= {XYWZ} v Z T
3

Nh vy XY Z l ph thuc d tha ca F.
C th kim tra bng suy dn logic nh sau:
X YW X Y v X W .
X W X XW v XW Z (gt) X Z .
X Z XY Z .
3.5.3 Thuc tnh d tha
Cho tp cc ph thuc hm F = {Lj Rj Lj, Rj }. Cho ph thuc hm thuc F c
dng A
1
A
2
B. Tng qut, v tri ca ph thuc hm gm nhiu thuc tnh. Ni rng
thuc tnh A
1
d tha v tri khi v ch khi G
+
:= F {A
1
A
2
B} {A
2
B} F
+
.
Ni cch khc thuc tnh A
1
trong v tri ca ph thuc A
1
A
2
B l d tha, nu thay
A
1
A
2
B bng A
2
B th bao ng F
+
khng thay i.
Thut ton 3.3: Loi b cc thuc tnh d tha v tri
Bc 1: G := F
Bc 2: Kim tra tt c ph thuc c dng A
1
A
2
A
3
...A
n
B G
Bc 3: Loi b tm thi A
i
, i=1 n trong

A
1
A
2
...A
n
B
Kim tra A
1
A
2
...A
i-1
A
i+1
...A
n
B l phn t ca G
+
hay khng, bng
cch p dng thut ton xc nh bao ng ca tp thuc tnh v p dng
tnh cht X Y Y X
+
.
Nu tho, A
i
l thuc tnh d tha.
Ngc li, tip tc thuc tnh tip theo A
i +1
.
Tip tc kho st cc ph thuc c v tri gm nhiu thuc tnh.
V d 9: Cho F = {X Z, XY WP, XY ZWQ, XZ R}.
Loi b cc thuc tnh v tri d tha
1) G := F = {X Z, XY WP, XY ZWQ, XZ R}
2) Kho st XY WP
Loi b X: (Y)
+
= Y v WP Y. Suy ra X khng d tha.
Loi b Y: (X)
+
= XZR v WP XZR. Suy ra Y khng d tha.
Nh vy v tri ca XY WP khng cha thuc tnh d tha.
3) Kho st XZ R
Loi b X: (Z)
+
= Z v R Z. Suy ra X khng d tha.
Loi b Z: (X)
+
= XZR v R XZR. Suy ra Z d tha.
Nh vy v tri ca X R G
4) G := {X Z, XY WP, XY ZWQ, X R} F

55

Chng I: Khi nim c bn v cc h c s d liu

3.5.4 Tp cc ph thuc ph ti tiu
Thng thng, tp cc ph thuc hm F cha cc ph thuc d tha v cc ph thuc c
cc thuc tnh v tri d tha, nh hng rt nhiu n hiu qu khi tch khng tn tht
thng tin v xc nh kha ca lc quan h. Khi nim ph ti tiu cc ph thuc hm
s h tr cho cc qu trnh thc hin cc thut ton nhanh v chnh xc hn, hiu qu hn.
nh ngha: Cho F l mt tp ph thuc hm ca s = <, F>. Ni rng G l tp ph
thuc ph ti tiu (Minimal cover) ca F nu G tho cc iu kin sau:
1. V phi ca tt c ph thuc hm ca G cha duy nht mt thuc tnh (thuc tnh n).
V d X ABC khi X A, X B v X C .
2. Khng tn ti ph thuc sao cho c cha thuc tnh v tri d tha. Ngha l khng tn
ti X A G sao cho vi mi tp con thc s Z X ca X th ph thuc Z A
khng c suy dn logic t G {X A} {Z A}.
3. Khng tn ti ph thuc d tha X A G sao cho G {X A} tng ng vi G.
V theo iu kin (1), trong tt c cc ph thuc hm, v phi khng c cha cc thuc
tnh d tha bng cch p dng cc quy tc tch v hp cc ph thuc. iu kin (2) m
bo khng c ph thuc hm no m v tri ca n cha thuc tnh d tha, ngha l khng
tn ti cc ph thuc hm khng y trong tp G. Thuc tnh B d tha trong X ca ph
thuc hm X A khi v ch khi A (X - B)
+
, B X v iu kin (3) m bo cho tp
cc ph thuc G khng cha cc ph thuc d tha, bng cch xc nh bao ng X
+
ng vi tp cc ph thuc cn li trong G { X A}.
C th khng nh tp cc ph thuc hm F ng ng vi tp ph thuc hm G trong
cc v phi khng cha qu mt thuc tnh v mi mt tp cc ph thuc hm F c
cha mt ph ti tiu.
V d 10 : Cho F = {AB C , D EG, C A , BE C, BC D ,
CG BD, ACD B , CE AG }
1. Tch cc v phi ch cha mt thuc tnh:
AB C D E CG B
C A D G CG D
BC D BE C CE A
ACD B CE G
2. Xa cc ph thuc d tha:
CE A v c suy dn t C A.
CG B v c suy dn t CG D, C A, ACD B.
3. Thuc tnh d tha v tri:
Thay ACD B bng CD B, v C A, ACD B
c th suy ra CD B.
Kt qu:

56

Chng I: Khi nim c bn v cc h c s d liu

AB C D E CE G
C A D G CD B
BC D BE C CG D
3.5.5 Thut ton 3.4 xc nh tp ph ti tiu
Input : s = <, F> l mt lc quan h
l tp cc thuc tnh .
F = { A BA,B }.
Output : Xc nh tp ph ti tiu G t F
M t phng php
1. Tch v phi ca tt c cc ph thuc hm sao cho ch cha duy nht mt thuc
tnh. p dng b 4.2.
2. Loi b nhng ph thuc d tha dng X A F ra khi tp ph thuc F
nu ph thuc ny c suy dn logic t F { X A}.
3. Xo cc thuc tnh d tha trong v tri ca ph thuc X A F sao cho nu
Z X th G = F {X A} {Z A} tng ng vi F.
V d 11: Cho F = {X Z, XY WP, XY ZWQ, XZ R}.
Xc nh tp ph ti tiu t tp F.
1. Tch cc v phi ca cc ph thuc sao cho ch cha duy nht mt thuc tnh,
p dng tnh cht hp/tch:
G: = {XZ, XYW, XY P, XYZ, XY W, XY Q, XZ R}.
2. Loi b cc ph thuc d tha:
G: = {XZ, XY W, XY P, XYZ, XY Q, X R}
3. Loi b cc thuc tnh v tri d tha:
G: = {XZ, XY W, XY P, XY Q, X R}.
3.6 Kha ca lc quan h
Trong mt lc quan h lun lun tn ti mt thuc tnh hay mt tp cc thuc tnh c
kh nng biu din duy nht cc thuc tnh cn li. Ni cch khc gi tr ca mt hay nhiu
thuc tnh c th xc nh duy nht gi tr cc thuc tnh khc. S chng minh th s xc
nh c tt c thng tin v ngi mang chng minh th . Ngy gi, thi gian bt u,
thi gian kt thc, s my gi i, s my gi n xc nh duy nht thng tin v cc m
thoi, s thu bao in thoi...Tp thuc tnh c tnh cht nh trn c gi l kho ca
lc quan h. Thng thng trong mt lc quan h c th tn ti nhiu kho. Trong
s s chn mt kho lm kho chnh sao cho n gin v khng nhp nhng thng tin.
3.6.1 nh ngha
Cho s = < , F > l mt lc quan h , l tp cc thuc tnh khc rng v tp cc
ph thuc hm (tp ph ti tiu) F := {A B A, B }. Cho tp con bt k X .
Ni rng X l kho (Key) ca lc quan h s khi v ch khi:

57

Chng I: Khi nim c bn v cc h c s d liu

a) ( X ) F
+
b) Khng tn ti Z X sao cho (Z ) F
+
Nu X tho iu kin (a) v khng tha Iu kin (b) c gi l siu kho ca lc
quan h (Supperkey) s = <, F>. iu kin (a) v (b) khng nh cc thuc tnh khng
kho ph thuc y vo kha. T nh ngha trn c th suy ra rng X l kha ca lc
quan h khi v ch khi X
+
= v (X A)
+
, A X. iu ny c ngha l
mi mt gi tr ca kho xc nh duy nht gi tr ca cc thuc tnh khng kho. Gi tr
kho khc nhau th gi tr cc b c cha gi tr kho cng khc nhau. Nu loi b mt phn
thng tin v kha th thng tin ca cc thuc tnh cn li khng th xc nh c. Nh vy
kho l tp cc thuc tnh sao cho bao ng ca n l nh nht. Ngha l nu thm hoc loi
b cc phn t ca kho s l d tha hay thiu thng tin.
C th nh ngha kha trong mt quan h nh sau: nu 2 b bt k trng nhau trn cc
thnh phn ca kha th cng trng nhau trn cc thnh phn khng kha v nu trng nhau
trn mt s thnh phn ca kha khng th trng nhau trn cc thnh phn khng kha.
Gi tr cc thnh phn ca kho khng th nhn gi tr null hay cc gi tr khng xc nh.
Mi siu kha u cha t nht mt kha. T siu kha c th xc nh mt kha bng cch
bt dn cc thuc tnh v kim tra bao ng ca cc thuc tnh cn li. Cc thuc tnh l cc
phn t ca kha gi l cc thuc tnh kha, ngc li, cc thuc tnh khng cha trong
kha gi l cc thuc tnh khng kha.
K hiu K l tp kha ca lc quan h s = < , F >.
V d 12: Cho = {A, B, C, D, E, G} v
F := {AB C, D EG, C A, BE C, BC D, CG BD, ACD B, CE AG}
Khi tp kha ca lc quan h l : K = {AB, CG, CD, EB, CE, BC}
K
1
= AB v (AB)
+
= ABCDEG K
2
= EB v (EB)
+
= ABCDEG
K
3
= CG v (CG)
+
= ABCDEG K
4
= CE v (CE)
+
= ABCDEG
K
5
= CD v (CD)
+
= ABCDEG K
6
= BC v (BC)
+
= ABCDEG .
V d.13: Cho lc quan h qun l mng cp, bao gm tp cc thuc tnh (TC#, MC#,
MC, GIA, SL, GTR). Trong :

TC# M tuyn cp MC# M cp
MC Tn gi cp GIA n gi cp
SL S lng GTR Gi tr

Bit rng:
Trong mi tuyn cp TC# c th lp t nhiu loi cp khc nhau
ng vi mt m cp MC# ch c mt v ch mt tn gi loi cp MC.
Mi loi cp MC# , trong mt tuyn cp TC# xc nh mt gi tr cp GTR
T hp cc thuc tnh (MC#, TC#) l kho ca lc quan h. Trn mt tuyn cp c th,
vi mt loi cp c th c lp t, s xc nh duy nht cc thng tin v cc loi cp

58

Chng I: Khi nim c bn v cc h c s d liu

c lp t. Thuc tnh MC# ch xc nh c cc thng tin v loi cp nh tn gi MC,
n gi GIA v nc sn xut loi cp . N khng th xc nh s lng SLv gi tr
GTR cp ca loi cp c th, nu gi tr ca TC# khng c xc nh. Trong trng hp
ny c th hiu cp vn cn trong cc kho, cha c a ra s dng. Tng t, thuc tnh
TC# ch xc nh thng tin v cc tuyn cp nh chiu di tuyn, tn gi tuyn, cp chn
hay cp treo...m khng th xc nh cc thng tin v s lng v gi tr cc loi cp c
p t trn n. S sau biu din mi quan h gia cc thuc tnh kho v khng kho.

.5 Cc ph thuc hm trong quan h qun l cp
n ti kho d b. Kho chnh
ng thng tin hn so vi t hp cc
c mt trong cc thnh phn ca kho.
K tp kho}
GTR = (NG,MH#,TMH,SL,GIA,NB),
thuc y .
a lc quan h. c bit i vi cc bi ton t
rng tp tt
c kha ca lc quan h cng l mt h Sperner trn tp cc thuc tnh .
l

MC#
TC#

59





GIA
GIA
SL
MC
Hnh 3
3.6.2 Kho d b
Trong mt lc quan h, nu tn ti mt thuc tnh hay mt t hp cc thuc tnh c tnh
cht xc nh nh kho chnh, khi ni rng trong lc t
c th tu chn trong s cc kho d b ca lc quan h.
Trong quan h qun l mng cp, gi s ng vi mt m cp MC# ch c mt v ch mt
tn gi MC. Ngha l ngoi t hp kho (MC#, TC#), t hp (MC,TC#) cng c tnh cht
tng t nh kho. V thng ngi ta chn t hp (MC#,TC#) lm kho chnh, v
(MC#, TC#) m bo tnh nht qun v nhp nh
thuc tnh tn cp v m tuyn cp (MC,TC#).
Cc thuc tnh khng kho l cc thuc tnh khng
Tc l: := {A A K & K
3.6.3 nh thuc (Determinant)
Cho lc quan h s = <, F>. Gi X l mt nh thuc (Determinant) ca lc
s khi v ch khi tn ti thuc tnh Y sao cho X Y F
+
l ph thuc hm y
. Tc l trong X khng tn ti cc thuc tnh d tha. (MC#,TC#) l mt nh thuc ca
lc quan h qun l mng cp, v tn ti
(MH#,NG) GTR l mt ph
3.6.4 Phn kho (Antikey)
Phn kha c vai tr quan trng trong qu trnh nghin cu cu trc logic ca h cc ph
thuc hm, kha v cc dng chun c
hp trong m hnh d liu quan h.
a) H Sperner: Cho l tp cc thuc tnh, P P() := {A A } 2

c gi l
h Sperner trn nu vi A, B P, A B ( B A) . D dng nhn thy

Chng I: Khi nim c bn v cc h c s d liu

b) Phn kha: Gi s K = {K
1
, K
2
, ..., K
n
} l tp cc kha ca lc quan h. .Hin
nhin tp K l mt h Sperner trn tp . Mt tp con ca c gi l phn kho ca
lc quan h s, k hiu l K
-1
nu:
1. K K
-1
vi K K
2. X v K
-1
X suy ra K K sao cho K X.
T nh ngha trn c th hiu l phn kha khng cha kha v nu ni rng phn kha s
cha kha. K hiu K
-1
tp tt c phn kho ca lc quan h .
3.6.5 Lc thu gn
nh ngha: Cho s = <, F > l lc quan h, l tp cc thuc tnh v F tp cc
ph thuc hm v K l tp kho ca lc quan h. Lc s
1
:= <
1
, F
1
> c gi
l lc thu gn:

60

F
1
= {(Lj \ G ) (Rj \ G )( Lj Rj ) F }
Mt s khng nh sau
Nu K
1

S
l tp phn kha ca s = <, F >
Khi K
1

S1
= {K
-1
\ G K
-1
K
1

S
} l phn kha ca s
1
:= <
1
, F
1
>.
Nu K
1

S1
l tp phn kha ca s
1
:= <
1
, F
1
>.
Khi K
1

S
= { K
-1
G K
-1
K
1
S1
} l tp phn kha ca <, F >.


Nhn bit phn kho)
= K , G :=
1
\
1
K K
K = \ K
-1
K K K
-1
K
1
Nu X l phn kho khi v ch khi:
1. X
+
= X
2. Nu Y sao cho X Y v Y
+
= Y th Y = v
X
+

V d.14: Trong quan h R (TC#, TTC, MC#, MC, DAI, NG, GTR, SL)

TC# M tuyn cp TTC Tn gi tuyn cp
MC# M cp MC Tn gi loi cp
DAI di tuyn cp NG Ngy lp t cp trn tuyn
GTR Gi tr mt loi cp trn tuyn cp SL S lng cp trn tuyn

Mi mt gi tr ca TC# xc nh duy nht mt gi tr ca tn tuyn cp TTC v
mi mt gi tr ca TTC xc nh duy nht mt gi tr ca TC.
Mt gi tr ca m cp MC# xc nh duy nht mt gi tr ca tn cp MC, ngc
li, mi mt gi tr ca MC xc nh duy nht mt gi tr ca MC#.

Chng I: Khi nim c bn v cc h c s d liu

Kho d b: (TC#, TTC#) , (TC, TTC), (TC#, TTC) , (TC, TTC#).
Kho chnh (TC#, MC#).
nh thuc (TC#, TTC#), (TC#, TTC) (TC, TTC#),(TC, TTC),
TTC, MC, TC#, MC#.
Phn kho (TC#, TTC, DAI, NG, GT, SL), (MC#, MC, DAI, NG, GT, SL)

TC#
MC#
TTC
MC
GT
DAI SL
NG







Hnh 3.6 Lc quan h qun l mng cp
3.7 Mt s tnh cht ca kho trong lc quan h
Cho s = < , F > l mt lc quan h, trong l tp cc thuc tnh v
F = { Lj Rj Lj, Rj } l tp cc ph thuc hm.
K hiu v

L = Lj
H = K v G = K
Lj Rj F
R = Rj
Lj Rj F
K K

K K
Vi K K , khi : \ R K ( \ R ) ( L R ).
Cc kho ca lc quan h s= < , F > ch khc nhau trn cc thuc tnh
ca (L R ).
Nu (L R ) = khi ( \ R ) l kho duy nht ca quan h s = <, F >.
Nu (R \ L) th tn ti kho K sao cho K l kho khng tm thng
Nu i: (Ri L Li R = )
Khi \ R l kha duy nht s = < , F >
t L R = {A1, A2,...,Ak } v K
1
: = ( \ R) (L R ).

K
(i+1)
:=
K
i
\ A
i
Nu ( K
i
\ A
i
) A
i
F
+

K
i


Nu ( K
i
\ A
i
) A
i
F
+
Vi i = 1 k



Khi K
(k+1)
l kho ca lc quan h s = < ,F >.
V d 15

={ A, B, H, G, Q, M, N, V, W }
F := { A B, B H, G Q, V W, W V }

61

Chng I: Khi nim c bn v cc h c s d liu

Khi L = {ABGVW} ,
R = {BHQWV},
L R ={BVW},
( \ R) = A G M N
( \ R K ( \ R ) (L R)
{A G M N} K {A G M N} {BVW}
Nh vy kha lc quan h ch khc nhau trn cc thuc tnh B, V v W
3.8 Cc thut ton xc nh kho ca lc quan h.
Thut ton 3.6: Xc nh mt kho lc quan h
Input: : :={ A
1
, A
2
,.. , A
n
}
F := { f : Lj Rj Lj, Rj }
L = Lj v R = Rj
Lj Rj
L R ={ A
j1
, A
j2
... A
jk
}
Output: : Xc nh mt kho K ca lc quan h
Phng php: Kho ca lc quan h s = < , F > ch khc nhau trn cc
thuc tnh ca L R , v vy ch cn kim tra v loi dn nhng phn t A L
R sao cho ( X \ a )
+
= .
Nu ( \ R )
+
= suy ra ( \ R) l kho duy nht ca lc quan h s
= < , F >.
Nu ( \ R )
+
lc quan h c kha khng tm thng.
X = ( \ R ) (L R ).
Kim tra ( X \ A
ji
)
+

Begin
X= ( \ R )
If ( \ R )
+
then
Begin
X = X (L R)
For each A (L R ) do
If ( X - A )
+
= then
X = X - A
End
X l kha ca lc quan h s = < , F >.
End.




62

Chng I: Khi nim c bn v cc h c s d liu



63

























Start X = ( \ R )
X = ( \ R ) (L R )
X = X \ A
i

X
+
=
i = i + 1
( \ R ) l kha
End
Y

X
+
=
N
i = 1
N
Y
X = X A
i
Y
N
X l kha
i > k
Hnh 3.7 S thut ton xc nh kha lc quan h

V d 16: ={A, B, C, D, E, G

}, F = {B C, C B, A GD }
L = ABC, R = BCDG , L R = BC.
( \ R) = AE khng l kha ca < , F >
v ( \ R)
+
= (AE)
+
= AEDG .
t X= ( \ R) (L R) = ABCE.
a) Theo th t L R = BC
Xt (X- B)
+
= (ACE)
+
= ABCDEG = X = ACE
(X- C)
+
= (AE)
+
= ADEG .


Chng I: Khi nim c bn v cc h c s d liu

Suy ra X = ACE l kha.
b) Theo th t L R = CB
Xt (X - C)
+
= (ABE)
+
= ABCDEG = X = ABE
(X- B)
+
= (AE)
+
= ADEG .
Vy X = ABE cng l l kha th 2 ca lc quan h.
Nh vy kha ca lc quan h trn l K
1
= ABE v K
2
= ABE.
Thut ton 3.7: Xc nh mt kho trong siu kha cho trc
Gi s K l kha c cha trong siu kha X cho trc. Hin nhin K X. Mt khc
\ R K ( \ R ) (L R ) Suy ra K ( \ R ) (X (L R)).
Nh vy nu cho trc mt siu kha X , c th xc nh mt kha c cha trong n.
Vi thut ton ny thi gian kim tra ch ph thuc vo s phn t ca X (L R), ngha
l thi gian xc nh mt kha trong Y := ( \ R ) X (L R)) nhanh hn rt
nhiu xc nh mt kha trong X.
Input: : :={ A
1
, A
2
,.. , A
n
}
F := {Lj Rj Lj, Rj }
L = Lj v R = Rj
Lj Rj
X (L R)) ={ A
1
, A
2
... A
k
}
Output: : Xc nh mt kho K trong siu kha X cho trc ca lc quan
h.
Phng php:
Nu X = ( \ R)

suy ra ( \ R) l siu kha, ng thi cng l kho duy
nht ca lc quan h s = < , F >.
t Y := ( \ R) X (L R) = {A
1
, A
2
... A
k
}.
X = X (L R) = {A
1
, A
2
... A
k
} .
Kim tra (X \ A
j
)
+

Begin
If X = ( \ R ) then
Begin
X = ( \ R ) X (L R)
For each A X (L R ) do
If ( X - A )
+
= then
X = X - A
End
X l kha ca lc quan h s = < , F >.
End.


64

Chng I: Khi nim c bn v cc h c s d liu



65




























X = ( \ R ) (X (L R ))
X (L R ) ={A
1
,A
2
,..A
k
}
X = X \ A
i

X
+
=
i = i + 1
Start
End
X l kha cha
trong siu kha
Y
N
N
Y
Y
N
Start
X = \ R
i = 1
( \ R ) l siu kha
cng l kha
i > k
X = X A
i
Hnh 3.8 S thut ton xc nh kha t siu kha cho trc



V d 16: ={A, B, C, D, E, G

}
F = {B C, C B, A GD }
L = ABC , R = BCD , ( \ R ) = AE , L R = BC
Cho trc siu kha X = ABCEG

Chng I: Khi nim c bn v cc h c s d liu

Khi X := ( \ R ) (X (L R)) = AEBC
Kim tra trn tp X (L R) = BC
a) Xt (X- B)
+
= (ACEG)
+
= ABCDEG = X = ACE
(X- C)
+
= (AE)
+
= ADEG , nh vy X= ACE l kha.
b) Xt (X - C)
+
= (ABE)
+
= ABCDEG = X = ABE
(X- B)
+
= (AE)
+
= ADEG , nh vy X= ABE l kha.
Nh vy kha ca lc quan h trn l K
1
= ABE v K
2
= ACE.
Thut ton 3.8 on nhn kha
Cho X l tp thuc tnh bt k, on nhn X c phi l kha (siu kha khng).
Input: : :={A
1
, A
2
,.. , A
n
}
F := {Lj Rj Lj, Rj }
L = Lj v R = Rj
Lj Rj
X ={ A
1
, A
2
... A
k
}
Output: : X l siu kha (kha) ca lc quan h.
Phng php:
Nu ( \ R )


X ( \ R )

(L R) khi X l siu kha.
Nu X
+
khi X khng l siu kha.
Nu X l siu kha, s dng thut ton xc nh kha t siu kha.
V d 17: Cho F = {B C, C B, A GD}.
Xc nh X = ABEG c l kho khng ?.
L = ABC , R = BCD , ( \ R ) = AE , L R = BC .
Khi AE= ( \ R )


ABEG ( \ R )

(L R ) = AEBC.
X
+
= (ABEG)
+
= ={A, B, C, D, E, G

}, l mt siu kho.
p dng thut ton xc inh kho t siu kho X = ABEG .
Nh vy kha ca lc quan h l K
1
= ABE .












66

Chng I: Khi nim c bn v cc h c s d liu


67

























X = {A
1
,A
2
,..A
k
}
Start
Q = \ R
W= ( \ R ) (L R)
Y
X
+
=
End
N
Q X W
X l kha ca quan
h s = < , F >
N
Y
Thut ton xc nh
kha t siu kha
X khng l kha ca
lc < , F >
Hnh 3.9 S thut ton on nhn kha
Cu hi trc nghim
1. R l mt quan h trn tp khi v ch khi:
A. R D(a
1
) x D(a
2
) x...x D(a
n
).
B. R = D(a
1
) x D(a
2
) x...x D(a
n
).
C. R = D(a
1
) D(a
2
) .. D(a
n
).
D. R D(a
1
) D(a
2
) .. D(a
n
).
2. f : X Y, khi v ch khi nu
A. ( r, s R ) (r(X) s(X)) th suy ra r(Y) s(Y),
B. ( r, s R ) ((a X) (r(a) s(a)) suy ra (b Y) (r(b) s(b))).
C. Khi i s trng nhau th hm c nhiu gi tr.
D. Mt gi tr ca Y c xc nh bi nhiu gi tr ca X.

Chng I: Khi nim c bn v cc h c s d liu

3. Quy tc no sau y l quy tc tch/hp?
A. Nu B A khi A B.
B. Nu A B v C khi AC BC.
C. Nu A B v B C khi A C.
D. Nu A B v A C khi A BC.
4. A B c suy dn logic t F bng cch
A. p dng lin tip cc tin Armstrong.
B. p dng cc quy tc tch/hp.
C. p dng cc quy tc phn x
D. p dng cc quy tc bc cu
5. Cc tnh cht no sau y l tnh cht bao ng thuc tnh:
A. X Y X
+
Y
+

B. X Y

Y
+
X
C. X Y

Y
+
X
+

D. X
+
= Y
+
X Y v Y X
6. X l kha ca lc quan h khi v ch khi
A. X
+
= v (X A)
+
, A X.
B. X
+
= v (X A)
+
= , A X.
C. (X A)
+
= , A X.
D. (X A)
+
, A X.
7. Hy chn t/cm t tng ng hon thin khng nh sau: Mt quan h trn tp cc
thuc tnh thng biu din bng ......... Cc thuc tnh l cc ct A1 , A2 ,.. , An
,cc hng l cc b (tuple), hay gi l cc bn ghi.
A. Mt bng 2 chiu.
B. Biu thc ton hc.
C. Ph thuc hm.
D. Mt bng n chiu
8. Hy chn t/cm t tng ng hon thin khng nh sau: Ngn ng con d liu
kiu quan h l tp cc php ton c cc .......thao tc trn cc d liu di dng quan
h. D liu c biu din mt cch duy nht. Ngn ng con d liu gm nhm cc
cc php ton tm kim v nhm cc php ton cp nht, lu tr.
A. Cu trc quan h.
B. Cu trc d liu.
C. Biu thc quan h.
D. Quan h
9. Hy chn t/cm t tng ng hon thin khng nh sau: Cho 2 tp cc ph thuc
hm F v G cng tho trn mt lc s Ni rng F v G tng ng, k hiu
F G , khi v ch khi.....

68

Chng I: Khi nim c bn v cc h c s d liu

A. F
+
G
+

B. Cc ph thuc ca F c suy dn logic t G
C. Cc ph thuc ca G c suy dn logic t F
D. F G
10. Hy chn t/cm t tng ng hon thin khng nh sau: Trong mt lc quan
h lun lun tn ti mt ..... ..c kh nng biu din duy nht cc thuc tnh cn li.
Ni cch khc gi tr ca mt hay nhiu thuc tnh c th xc nh duy nht gi tr cc
thuc tnh khc.
A. Thuc tnh hay mt tp cc thuc tnh
B. Ph thuc hm.
C. Bao ng ca tp thuc tnh
D. Ph thuc d tha
11. Hy chn t/cm t tng ng hon thin khng nh sau: Gi tr cc thnh phn
ca kho khng th nhn .......
A. Gi tr null .
B. Gi tr xc nh.
C. Gi tr ca cc ph thuc hm.
D. Gi tr ca cc thuc tnh tng ng
12. Hy chn t/cm t tng ng hon thin khng nh sau: Mi mt gi tr ca kho
xc nh....... ..ca cc thuc tnh khng kho. Gi tr kho khc nhau th gi tr cc b
c cha gi tr kho cng khc nhau. Nu loi b mt phn thng tin v kha th thng
tin ca cc thuc tnh cn li khng th xc nh c.
A. a tr.
B. Gi tr null .
C. Bao ng
D. Duy nht.gi tr
13. Hy so khp thng tin 2 phn di y vi nhau:
Phn 1 Phn 2
1 .Phn x: Nu vi mi B A... A. A C
2 Gia tng: Nu A B.......... B. A B v A C
3 Bc cu: Nu A B v B C .... C. A B.
4 Hp v tch: Nu A B v B=CD...... D. AC B , AC BC.
a. 1- D; 2- C ; 3 B ; 4 A .
b. 1- C; 2- B; 3 A; 4 D
c. 1- C; 2- D ; 3 A; 4 B .
d. 1- D; 2- B; 3 A; 4 C.


69

Chng I: Khi nim c bn v cc h c s d liu


14. Hy so khp thng tin 2 phn di y vi nhau:
Phn 1 Phn 2
1 Tp cc ph thuc hm ..... A. cc ph thuc hm l nh nhau
2 Ph thuc hm .......... B. l ng v y
3 Cc h tin Armstrong .... C. tha trn quan h R th n cng tha
trn mi quan h trn tp
4 Quan h khc nhau nhng h y ...... D. khng ph thuc vo quan h c th
a. 1- D; 2- C ; 3 B ; 4 A .
b. 1- C; 2- B; 3 A; 4 D
c. 1- A; 2- B; 3 C; 4 D.
d. 1- C ; 2- D ; 3 B ; 4 A .
15. Hy so khp thng tin 2 phn di y vi nhau:
Phn 1 Phn 2
1 X Y l ph thuc d tha khi v ch
khi X Y .....
A. tp cn li s tng ng vi tp u
tin.
2 X Y c gi l ph thuc khng d
tha khi v ch khi X Y ..........
B. tp cn li khng tng ng vi tp
u tin.
3 Mt tp cc ph thuc hm b i nhng
ph thuc d tha....
C. khng c suy dn logic t
G := F {X Y}
4 Mt tp cc ph thuc hm b i nhng D. c suy dn logic t
ph thuc bc cu.... ...... G := F {X Y}
a. 1- D; 2- C ; 3 A ; 4 B .
b. 1- C; 2- B; 3 A; 4 D
c. 1- A; 2- B; 3 C; 4 D.
d. 1- D; 2- B; 3 A; 4 C.
Cu hi v bi tp
Cu hi
1. nh ngha quan h l g, s khc bit gia quan h vi File truyn thng.
2. Hiu th no l trng nhau, khc nhau ca 2 b ca mt quan h.
3. Trnh by vai tr ca khi nim ph thuc hm trong l thuyt c s d liu ?.
4. nh ngha ph thuc hm v v d minh ho.
5. Ph thuc i ngu, ph thuc mnh, ph thuc yu.
6. Cc h tin cc ph thuc hm v cc php suy dn.
7. Chng minh rng nu F
R
:= {L
j
R
j
L
j
, R
j
} l tp cc ph thuc hm tha
trn mt quan h R trn th n cng tha trn mi quan h trn .

70

Chng I: Khi nim c bn v cc h c s d liu

8. Nu mt tp cc ph thuc hm F , tn ti mt quan h R trn tp cc thuc tnh
sao F tha trn n. Tc l Y = F
R
:= { (A,B) A,B & A B }.
9. Trnh by v chng minh mt s tnh cht ca ph thuc hm bng:
a. Suy dn theo quan h (suy dn theo nh ngha).
b. Suy dn logic t F bng cch p dng lin tip cc tin Armstrong.
10. Pht biu nh ngha bao ng v tnh cht bao ng cc ph thuc hm .
11. Pht biu nh ngha bao ng tp cc thuc tnh (Closure of a set Attributes).
12. Trnh by v chng minh mt s tnh cht bao ng thuc tnh.
13. Nu ngha ca vic nghin cu bao ng tp cc thuc tnh.
14. Thut ton xc nh bao ng
15. Lp trnh xc nh bao ng ca tp thuc tnh bt k.
16. Thut ton xc nh ph thuc hm suy dn t F.
17. Nu ngha thut ton xc nh ph thuc hm suy dn t F.
18. Trnh by khi nim v ngha ph thuc d tha.
19. Tp cc ph thuc tng ng v ngha.
20. Thut ton xc nh tp cc ph thuc khng d tha.
21. Lp trnh xc nh ph thuc d tha.
22. inh ngha thuc tnh d tha v ngha khi nghin cu thuc tnh d tha.
23. Mi quan h gia thuc tnh d tha v ph thuc khng hon ton.
24. Thut ton loi b cc thuc tnh d tha v tri.
25. Lp trnh loi b cc thuc tnh d tha v tri.
26. nh ngha tp cc tiu v ph cc tiu.
27. Chng minh rng tp cc ph thuc hm F ng ng vi tp ph thuc hm G
trong cc v phi khng cha qu mt thuc tnh.
28. Chng minh rng tp cc ph thuc hm F c cha mt ph cc tiu.
29. Thut ton xc nh ph cc tiu.
30. Lp trnh xc nh tp ph cc tiu t tp ph thuc hm F cho trc.
31. nh ngha kha ca lc quan h, siu kho v vai tr ca khi nim kho trong
l thuyt c s d liu. V d minh ho.
32. Chng minh rng mi siu kho bao gi cng cha kho.
33. Khi nim kho d b, nh thuc (Determinant), phn kho (AntiKey).
34. nh ngha lc thu gn.
35. Chng minh rng:
a. Nu K
1

S
l tp phn kha ca s = <, F > . Khi
K
1

S1
= {K
-1
\ G K
-1
K
1

S
} l phn kha ca s
1
:= <
1
, F
1
>.
b. Nu K
1

S1
l tp phn kha ca s
1
:= <
1
, F
1
>. Khi
K
1

S
= { K
-1
G K
-1
K
1
S1
} l tp phn kha ca <, F >.
36. Chng minh:
K = \ K
-1


71
K K K
-1
K
1

Chng I: Khi nim c bn v cc h c s d liu

37. M t mt cch hnh thc thut ton xc nh kho t mt siu kho cho trc.
38. Lp trnh xc nh kho t mt siu kho cho trc.
39. Thut ton xc nh mt kho lc quan h.
40. Lp trnh xc nh mt kho lc quan h.
41. Chng minh rng X siu kho X
+
= .
42. Chng minh rng nu X l kho ca lc quan h khi v ch khi X
+
= v
khng tn ti Y X sao cho Y
+
= .
43. Chng minh rng rng gi tr ca cc thnh phn ca kho khng th nhn cc gi tr
khng xc nh.
44. Hy biu din cc ph thuc hm bng s v xc ng kho ca lc quan h.
Xc nh mt s siu kho ca n.
45. Cho v d v tp cc ph thuc hm, kho, siu khoa, nh thuc v phn kho ca
lc quan h.
46. Cho lc quan h s=< , F > . Vi K K , khi :
\ R K ( \ R ) ( L R ).
47. Nu K
1
v K
2
l hai kho khc nhau ca lc quan h s= < , F >. Khi :
(K
1
\ K
2
) L R v (K
2
\ K
1
) L R.
48. Chng minh rng: Vi K K , khi :
( \ R ) b ( L,R ) K ( \ R ) ( L R ) \ a ( L,R )
49. Chng minh rng: X Y F khi X ( \ XY) l mt siu kho.
50. Cho := { a1 , a2 ,.. , an } , hy xy dng mt lc quan h s = < , F > c s
kho ti a l s phn t t hp chp [n/2] ca n phn t trn .
Bi tp
1. Chng minh tnh bng nh ngha ph thuc hm:
a. Nu A B v C khi AC BC.
b. Nu {A
1
, A
2
,..,A
n
} B khi v ch khi A
i
B , i=1,2,..,n.
c. X Y F
+
khi v ch khi Y X
+
.
2. Cho F = {AB E, AG I, E G, GI H}.
Chng minh rng AB GH F
+
?
3. Cho F = {AB C, B D, CD E, CE GH, G A }.
Chng minh rng AB E F
+
v AB G F
+
?
4. Cho F = {XY W, Y Z, WZ P, WP QR, Q X }.
Chng minh rng XY P F
+
s dng cc h tin .
5. Cho F = {XY W, Y Z, WZ P, WP QR, Q X }.
Chng minh rng XY P F
+
s dng nh ngha bao ng {XY}
+
.
6. Cho l tp cc thuc tnh v F l tp cc ph thuc hm tho trn .
Chng minh X v A X, th X A F
+
. Tc l A X Suy ra
X A F
+
.

72

Chng I: Khi nim c bn v cc h c s d liu

7. Cho = {A, B, C, D} v F = {A B, A C} tp cc ph thuc hm. Hy xc
nh cc ph thuc sau ph thuc no c suy dn logic t F :
a) A B c) BC A e) AB B
b) C D. d) A BC
8. Cho = {A, B, C, D} v F ={A B, BC D} tp cc ph thuc hm. Hy xc
nh cc ph thuc sau khng c suy dn logic t F :
a) C D c) A D e) AD C
b) BC A d) B CD
9. Cho F = {AB E, AG I, BE I, E G, GI H }. Chng minh rng
AB GH F
+
.
10. Cho F = {AB C, B D, CD E, CE GH, G A}. Chng minh rng
AB E F
+
v AB G F
+
.
11. Cho 2 tp cc thuc tnh
1
v
2
, X =
1

2
. Chng minh rng nu quan h
R trn tp cc thuc tnh
1

2
tho X
2
th
12. Cho = {TC#, TTC, MC#, DAI, NG, GT, SL, DV} tp cc thuc tnh qun l
mng cp:
R = R
R [
2
TC # M tuyn cp, MC# M cp
TTC Tn tuyn cp, DAI di tuyn cp
NG Ngy lp t cp DV n v lp t
GT Gi tr cp SL S lng cp
Hy xc nh tp cc ph thuc F
+
.
13. Cho = {A, B, C, D, E, G} v F = {AB C , D EG, C A , BE C,
BC D , CG BD, ACD B, CE AG}.
Tnh X
+
vi X = {AB}, {BC}, CD}, {ACD}, {DEG}.
14. Cho F = {AB C, B D, CD E, CE GH, G A}. Tnh bao ng ca X

vi X = {AB} v chng minh rng AB E F
+
.
15. Cho ={A, B, C, D, E, G, H} v F = {AB C, B D, CD E, CE H, G
A}. Hy xc nh cc thuc tnh X

sao cho {X}
+
= .
16. Cho = {A, B, C, D, E, G} v F = {AB C , D EG, C A , BE C,
BC D , CG BD, ACD B, CE AG}. Hy xc nh cc thuc tnh X

sao cho {X}
+
= .
17. Cho F = {AB C, B D, CD E, CE H, G A}. Hy xc nh cc thuc
tnh X

sao cho {X}
+
= X .
18. Cho F = {AB E, AG I, BE I, E G, GI H }. Hy xc nh cc
thuc tnh X

sao cho {X}
+
= X .
19. Cho tp ph thuc hm F = { X YW, XW Z, Z Y, XY Z}.
XY Z l ph thuc d tha ca F ?

73

Chng I: Khi nim c bn v cc h c s d liu

20. Cho tp ph thuc hm F = { X YW, XW Z, Z Y, XY Z}. Hy xc
nh cc ph thuc khng d tha.
21. Cho F = {AB C, B D, CD E, CE GH, G A}. Hy xc nh cc
ph thuc d tha.
22. Cho = {A, B, C, D, E, G} v F = {AB C , D EG, C A , BE C,
BC D , CG BD, ACD B, CE AG}. Hy xc nh cc ph thuc d
tha.
23. Cho F = {X Z, XY WP, XY ZWQ, XZ R}. Hy loi b cc thuc tnh
d tha trong cc v tri .
24. Cho F = {AB C , D EG, C A , BE C, BC D , CG BD, ACD
B, CE AG}. Hy xc nh cc ph thuc c v tri cha cc thuc tnh d
tha.
25. Cho F = {AB C, B D, CD E, CE GH, G A, BCD D }. Hy
xc nh cc ph thuc c v tri cha cc thuc tnh d tha.
26. Cho F = {AB E, AG I, BE I, E G, GI H }. Hy loi b cc thuc
tnh d tha trong cc v tri .
27. Cho F v G l cc tp ph thuc cng tho trn tp . K hiu X
G
+
v X
F
+
l
cc tp bao ng ng vi cc tp G v F. Chng minh rng nu F G khi X
G
+

= X
F
+
.
28. Cho F = {AB C, D EG, C A , BE C, BC D , CG BD,
ACD B , CE AG }. Hy xc nh ph cc tiu ca F.
29. Cho F = {X Z, XY WP, XY ZWQ, XZ R}. Hy xc nh ph cc tiu
ca F.
30. Cho F = {AB C , D EG, C A , BE C, BC D , CG BD, ACD
B, CE AG}. Hy xc nh ph cc tiu ca F.
31. Cho F = {AB C, B D, CD E, CE GH, G A, BCD D}. Hy xc
nh ph cc tiu ca F.
32. Cho F = {AB E, AG I, BE I, E G, GI H }. Hy xc nh ph cc
tiu ca F.
33. Cho = {TC#, TTC, MC#, DAI, NG, GT, SL, DV} tp cc thuc tnh qun l
mng cp:
TC # M tuyn cp, MC# M cp, TTC Tn tuyn cp.
DAI di tuyn cp, NG Ngy lp t cp , DV n v lp t
GT Gi tr cp , SL S lng cp.
Hy xc nh ph cc tiu ca F.
34. Cho F = {X Z, XY WP, XY ZWQ, XZ R}. Xc nh tp ph cc tiu
t tp F.
35. Cho tp cc thuc tnh = { A, B, C, D, E, G} v tp cc ph thuc hm

74

Chng I: Khi nim c bn v cc h c s d liu

F:={ABC,D EG, CA, BEC, BCD, CGBD, ACDB, CE AG}.
Xc nh tp kha ca lc quan h trn.
36. Cho lc quan h qun l mng cp, gm tp cc thuc tnh (TC#, MC#, MC,
GIA, SL, GTR). Xc nh tp kho.
37. Cho tp cc thuc tnh = { A, B, C, D, E, H} v tp cc ph thuc hm
F:={AE, C D, E DH}. Chng minh rng K={A, B, C} l kho duy nht ca
lc quan h.
38. Cho tp cc thuc tnh = { A, B, C, D} v tp cc ph thuc hm
F:={ABC, D B, C ABD}.Xc nh tp kha ca lc quan h .
39. Cho s = <, F > l mt lc quan h, trong l tp cc thuc tnh v F
tp cc ph thuc hm, K l tp cc kho ca lc .
K hiu:
M :={K-aa K, K K }
F
N
:={b K, K K } (cc thuc tnh khng kho).
L :={c
+
c M}
Chng minh rng khi cc mnh sau l tng ng:
a) Tp F khng cha cc ph thuc c v tri d tha.
b) B L th B L=
c) B L v b F
N
th (B - b)
+
= B b.
40. Cho s = <, F > l mt lc quan h, F
N
l tp cc thuc tnh khng kho v K
l tp cc kho. t G:= {B - F
N
B K
-1
} Chng minh rng cc thuc tnh
khng kho ph thuc hon ton vo kho khi v ch khi C G th C
+
= C.
41. Chng minh rng nu X l kho ca lc quan h s = <, F > khi v ch
khi X
+
= v tt c cc tp con thc s Z ca X khi Z
+
.
42. Cho tp cc thuc tnh qun l tng i- cc thu bao: TD#, TD, DL, MC#, SDT,
NSX,NG, GTR, T, TB, TB#, DC, SDTD, NGG, GB,KT, DD. Trong :
TD # M tng i , MC# Mu cp, TD Tn tng i.
NG Ngy lp t, DL Dung lng, VT V tr lp t.
GTR Gi tr tng i, NGG Ngy gi, NSX Nc sn xut.
TB Thu bao, SDT S in thoi, TB# M thu bao
SDTD S in thoi i/n , GB Gi bt u , DD i/n
KT Gi kt thc
a) Xc nh tp kho quan h
b) Xc nh ph cc tiu ca tp cc ph thuc hm.
c) Xc nh tp phn kho.
d) Dng s biu din cc ph thuc hm.



75


76

4
K THUT THIT K CC
H C S D LIU QUAN H

Chng ny s gii thiu nguyn l thit k v ci t cc h c s d liu quan h. K
thut chuyn i mt quan h cha chun ha v mt nhm cc quan h dng chun 3NF
khng b tn tht thng tin, trong mt s trng hp cc php tch vn bo ton cc ph
thuc. Ni dung ca chng bao gm:
Tch mt lc quan h
Cc dng chun ha tip d liu.
4.1 M u
Mc tiu ca l thuyt CSDL l tnh c lp ca d liu. Cu trc lu tr cc h c s d
liu phn nh tnh hin thc, khch quan v tnh ton vn d liu. V vy trong qu trnh
chun ho d liu v tm kim thng tin, cn thit phi thc hin cc php tch lc
quan h cha chun ho v tp cc lc quan h chiu c chun ho, sao cho qu
trnh tch khng lm tn tht thng tin (lossless- mt mt thng tin), theo ngha cc quan h
gc c khi phc chnh xc t php kt ni t nhin ca cc quan h chiu.
Tch - kt ni cc lc quan h c lm tn tht thng tin hay khng, c bo ton cc ph
thuc hay khng c nhiu ngi quan tm nghin cu, gii quyt. A.V. Ho , C.Beeri
& J.D. Ullman gii thiu thut ton xc nh php kt ni cc lc quan h khng c tn
tht thng tin vi gi thit cc ph thuc d liu l cc ph thuc hm. Cc ng cng
m rng vn ny cho cc trng hp ph thuc d liu l ph thuc a tr.
4.2 Php tch kt ni khng tn tht thng tin
4.2.1 Php tch
Cho s = <, F > l mt lc quan h, trong = {A
1
, A
2
,..., A
n
} l tp cc thuc
tnh v F

l tp cc ph thuc hm. Gi [
1
,
2
, .. ,
p
] l mt php tch (hay cn gi
l mt phn hoch) ca s= <, F >, nu:
a)
i
, i=1 p
b) =
1
..
p


c)

F
i
:= F
i
:=
i
(F ) := {X Y F , XY
i
} , i = 1 p.

d)

s
i
:= <
i
, F
i
>: =
i
(S), i = 1 p.
Nh vy, nu [
1
,
2
, .. ,
p
] l mt php tch ca s= <, F >, khi tp cc ph
thuc F
i
:= F
i
=
i
(F ) c gi l tp cc ph thuc chiu F trn cc tp thuc tnh
tng ng
i
. V cc lc s
i
= <
i
, F
i
>: =
i
(S)

gi l cc lc chiu trn cc tp
thuc tnh
i
vi i =1 p. Nu R l mt quan h trn tp cc thuc tnh , khi cc
quan h chiu s l R
i
: =
i
(R)

,

i =1 p, ngha l cc quan h chiu
i
(R)

ch bao
gm cc thuc tnh
i
, i =1 p.
Chng I: Khi nim c bn v cc h c s d liu

4.2.2 Tch - kt ni t nhin
Php tch [
1
,
2
, .. ,
p
] c gi l php tch - kt ni t nhin ca ca lc
quan h s= <, F >, nu:
a) [
1
,
2
, .. ,
p
] l mt php tch ca s= <, F >.
b) Kt qu ca php kt ni t nhin ca cc lc chiu
i
(S),
i = 1 p, l mt lc m

(s) trn cc thuc tnh
=
1

2
.
p
.


m

(s):=
1
(s)

><

2
(s)

><

...

><
p
(s)

= s
1
><

s
2
><.. ...... ><

s
p
.
Ngha l vi mi quan h R s= <, F >, khi m

(R ) l kt qu php kt ni t nhin
ca cc quan h chiu tng ng R
i
:= R
i
:=
i
(R),

i =1 p, c biu din nh sau:
R m

(R):=
1
(R)

><

2
(R)

><

...

><
p
(R).
T nh ngha trn c th suy ra, nu mt th hin I m

(s)khi :

77

><


p
(I) = {a
1
, a
2
,..., a
p
} Nu A
j

i
, ti v tr j ng R
i
nhn gi tr a
j
,
cc v tr khc nhn gi tr khc a
j
, i =1 p } .

4.2.3 Php tch khng tn tht thng tin
Php tch [
1
,
2
, .. ,
p
] c gi php tch khng tn tht thng tin ca lc
quan h s= <, F >, nu [
1
,
2
, .. ,
p
] l php tch kt ni t nhin v:
S= m

(s):=
1
(s)

><

2
(s)

><

...

><
p
(s)

= s
1
><

s
2
><

....

>< s
p
.
Ngha l vi mi quan h R s, khi R c khi phc chnh xc t php kt ni t
nhin ca cc quan h chiu R
i
=
i
(R ), i = 1 p.
R =
1
(R)

><


2
(R )

><

...

><
p
(R )

:

= R
1
><

R
2
><

...

><

R
p
. Thng tin ca
mt quan h R bt k c th nhn c t cc quan h chiu Ri ng vi php tch .
V d : Tch quan h khng tn tht thng tin
Lc quan h qun l pht hnh bo ch QLBC gm cc thuc tnh:
={MK#, TK, DC, MB#, TB, GIA, SL} v
F = {MK#TK,MK#DC,MB#TB,MB# GIA, (MK#,MB#) SL}.
MK#: M khch hng TK : Tn khch hng
DC : a ch khch hng MB#: M bo, tp ch
TB : Tn bo, tp ch GIA: n gi bo, tp ch
SL : S lng bo, tp ch khch t mua
Trong lc quan h QLBC, cc thng tin v tn khch (TK) , a ch (DC), tn bo
(TB) .. lp li rt nhiu ln trong cc quan h th hin, l nguyn nhn dn n s xut
hin cc bt thng, nhp nhng thng tin. Php tch c m t di y, s tch lc
QLBC thnh 3 lc chiu. Lc s
3
= <
3
, F
3
> ch cn lu tr thng tin v s
lng cc loi bo ca mi mt khch hng t mua. Lc quan h s
1
= <
1
, F
1
> lu
i =1
p

Chng I: Khi nim c bn v cc h c s d liu

tr thng tin v khch t mua bo , v tng t trong lc quan h s
2
= <
2
, F
2
> lu
tr thng tin v cc loi bo. C th kim tra php tch khng tn tht thng tin v bo
ton c cc ph thuc hm.
Php tch [
1
,
2
,
3
] :

1
={M#, TK,DC } , F
1
={MK# TK, MK# DC}.

2
={MB#, TB, GIA } , F
2
={MB# TB, MB# GIA}.

3
={M#, MB#, SL} , F
3
={(MK#,MB#) SL}.
Nh vy mc tiu ca php tch lc quan h l nhm loi b cc d thng thng tin
khi thc hin cc php lu tr nh chn thm, loi b hay sa i thng tin trong trong cc
quan h lu tr. Tuy nhin khi thc hin php tch, thng tin ca lc quan h c b tn
tht hay khng. Ni cch khc nu kt ni t nhin cc thnh phn lc quan h chiu,
liu thng tin ca lc quan h gc c tn tht thng tin hay khng, cc ph thuc hm
c c bo ton hay khng?.
V d : Th d sau m t php tch tn tht thng tin v khng tn tht thng tin:
Cho = { X, Y , Z} tp cc thuc tnh v
Gi s quan h gc: R v cc quan h tch: R1 v R2
X Y Z
x1 y1 z1
x2 y2 z2
x3 y2 z3
x4 y3 z4
X Y
x1 y1
x2 y2
x3 y2
x4 y3
Y Z
y1 Z1
y2 Z2
y2 Z3
y3 Z4
R1
R2
R




a) Php tch kt ni tn tht thng tin:


78





b) Php tch kt ni khng tn tht thng tin:
X Y Z
x1 y1 z1
x2 y2 z2
x3 y2 z3
x4 y3 z4
X Y
x1 y1
x2 y2
x3 y2
x4 y3
Y Z
y1 Z1
y2 Z2
y2 Z3
y3 Z4
X Y Z
x1 y1 z1
x2 y2 z2
x2 y2 z3
x3 y2 z2
x3 y3 z3
x4 y4 z4
R
R1
R2 R R1 x R2







X Y Z
x1 y1 z1
x2 y2 z2
x3 y2 z3
x4 y3 z4
X Y
x1 y1
x2 y2
x3 y2
x4 y3
Y Z
y1 Z1
y2 Z2
y2 Z3
y3 Z4
X Y Z
x1 y1 z1
x2 y2 z2
x2 y2 z3
x3 y2 z2
x3 y3 z3
x4 y4 z4
R
R1 R2 R = R1 x R2
Hnh 4.1 Tch kt ni tn tht thng tin v khng tn tht thng tin

Chng I: Khi nim c bn v cc h c s d liu

4.3 Thut ton kim tra tch khng tn tht thng tin
Input: s = < , F > l mt lc quan h .
= {A
1
, A
2
,.. , A
n
} tp cc thuc tnh.
F = {f : Lj Rj Lj, Rj } tp cc ph thuc hm.
[
1
,
2
, .. ,
p
] l mt php tch
Output: Mt khng nh php tch - kt ni c tn tht thng tin hay khng.
Phng php:
To mt bng gm n ct v p dng. Ct th j tng ng vi thuc tnh A
j
,
hng th i tng ng vi lc quan h chiu R
i
:
Ct : A
1
, A
2
, .. , A
n

Hng: R
i
, R
2
, ...., R
p

Cc phn t ca bng:


79

i = 1 n, j = 1 p.
(i,j) =
a
i
nu A
i

i

b
ij
nu A
i

i
p dng cc ph thuc X Y F thay i cc gi tr ca bng nh sau: tm
cc hng ging nhau trn trong cc ct thuc tnh ca X, trong cc ct thuc tnh
Y nu c gi tr l a s thay gi tr cc ct trong Y l ai , nu khng c ai ,
thay th bng bij .
Xt lp cc ph thuc trong F cho n khi khng c s thay i trong bng.
Vic duyt bng bao gm sp xp bng theo ct c tnh cc thuc tnh xut hin
v tri ca ph thuc hm. Nu c k thuc tnh nh vy th vic thc hin sp
xp cn thc hin trong n * k bc.
in cc k hiu trong cc ct c thuc tnh xut hin v phi ca ph thuc hm
nu cc hng bng nhau trn v tri. Cng vic ny cnO(k) thi gian cho mi ph
thuc. Tng tt c di v tri ca tt c cc ph thuc hm trong mt ln duyt
khng qu n, nn ton b thi gian cho mt ln duyt nhiu nht l k*n.
Khi khng cn mt k hiu no c lm bng nhau trong mt ln duyt th c th
kt thc vic lp cc bc duyt v bng thu c tho mi ph thuc.
Kim tra c tn ti mt hng Ri sao cho gi tr ca cha cc k hiu a1, a2,..., an
hay khng. Nu c, tch - kt ni khng tn tht thng tin. Ngc li, khng tn
ti dng no nh vy, ngha l cc lc quan h chiu khi kt ni b tn tht
thng tin. iu ny c th suy ra t nh ngha ca php tch kt ni t nhin.
Do thi gian tiu dng ton b cho thut ton nhiu nht l k*n2*p, Nu k n
v p n hin nhin thut ton c thi gian chi ph nhiu nht l n
4
.
V d: Cho :={A,B, C,D, E, F} tp cc thuc tnh.
Xt php tch kt ni [
1
,
2
,
3
] trong :

Chng I: Khi nim c bn v cc h c s d liu


1
:= {A , B, D, E} ,
3
:= {B, C, E, F } ,

2
:= {A , C, D, F } v F := {A B, F E}.
Bc 1: Thnh lp bng ban u gm 3 hng v 6 ct:

A B C D E F

R
1
a
1
a
2
b
13
a
4
a
5
b
16

R
2
a
1
b
22
a
3
a
4
b
25
a
6

R
3
b
31
a
2
a
3
b
34
a
5
Bc 2: p dng A B suy ra b
22
= a
2
a
6
A

B C D E F
R
1
a
1
a
2
b
13
a
4
a
5
b
16
R
2
a
1
a
2
a
3
a
4
b
25
a
6
R
3
b
31
a
2
a
3
b
34

80

Bc 3: p dng F E suy ra b
25
= a
5

a
5
a
6
A B C D E F
R
1
a
1
a
2
b
13
a
4
a
5
b
16
R
2

a
1
a
2
a
3
a
4
a
5
a
6

R
3
b
31
a
2
a
3
b
34
a
5
a
6
Nh vy tn ti hng th 2 R
2
cha cc k t {a
1
, a
2
, a
3
, a
4
, a
5
, a
6
}. Suy ra php
tch c kt ni khng tn tht thng tin.
V d: Cho :={A,B, C,D, E} tp cc thuc tnh.

1
:= {A , D} ,
2
:= {A, B}

3
:= {B, E} ,
4
:= { C, D, E}

5
:= {A, E}
F := {A C, B C , C D, E C, CE D}.
Bc 1: Bng ban u gm 6 hng v 5 ct:

A B C D E






Bc 2: p dng A C v B C suy ra b
13
= b
23
= b
53
=

b
33



R
1
a
1
b
12
b
13
a
4
b
15
R
2
a
1
a
2
b
23
b
24
b
25
R
3
b
31
a
2
b
33
b
34
a
5
R
4
b
41
b
42
a
3
a
4
a
5
R
5
a
1
b
53
b
53
b
54
a
5

Chng I: Khi nim c bn v cc h c s d liu


A B C D E


81





Bc 3:



p dng C D suy ra a
4
=

b
24
=

b
34
=

b
54










Bc 4: p dng DE C suy ra a
3
= b
13







Bc 5: p dng CE A suy ra a
1
= b
41
= b
31







Nh vy tn ti hng th 3 R
3
c cha cc k t {a
1
, a
2
, a
3
, a
4
, a
5
}. Suy ra cc php
tch - kt ni khng tn tht thng tin.
4.4 Cc dng chun ca lc quan h
Phn ny s tm hiu v nghin cu khi nim chun ho d liu quan h. c nhiu kt
qu trong lnh vc chun ho, song vn cn nhiu vn bt li khi tm kim thng tin. V
vy ngi ta cng ch mi xut cc dng sao cho tin li, n gin hn trong qu trnh
thao tc cc ngn ng con d liu.
A B C D E
R
1
a
1
b
12
b
13
a
4
b
15
R
2
a
1
a
2
b
13
a
4
b
25
R
3
b
31
a
2
b
13
a
4
a
5
R
4
b
41
b
42
a
3
a
4
a
5
R
5
a
1
b
53
b
13
a
4
a
5
R
1
a
1
b
12
b
13
a
4
b
15
R
2
a
1
a
2
b
13
b
24
b
25
R
3
b
31
a
2
b
13
b
34
a
5
R
4
b
41
b
42
a
3
a
4
a
5
R
5
a
1
b
53
b
13
b
54
a
5
A B C D E
R
1
a
1
b
12
a
3
a
4
b
15
R
2
a
1
a
2
a
3
a
4
b
25
R
3
b
31
a
2
a
3
a
4
a
5
R
4
b
41
b
42
a
3
a
4
a
5
R
5
a
1
b
53
a
3
a
4
a
5
A B C D E
R
1
a
1
b
12
a
3
a
4
b
15
R
2
a
1
a
2
a
3
a
4
b
25
R
3
a
1
a
2
a
3
a
4
a
5
R
4
a
1
b
42
a
3
a
4
a
5
R
5
a
1
b
53
a
3
a
4
a
5

Chng I: Khi nim c bn v cc h c s d liu

Trong Further Normalization of the Data base relational Model ln u tin E.F.
Codd a ra cc khi nim v chun ho quan h. ng chia cc quan h thnh 3
lp v gi chng l cc quan h dng chun th nht, dng chun th hai v dng chun
th ba. Trong Multivalued Dependencies and a New Normal Form Relational
Databaseses R. Fagin a ra khi nim dng chun th t, theo ng l dng tin li
hn so vi quan h dng chun 3. Mc ch ca chng ny l minh ho nhng u im
ca cc quan h dng chun 4 v trnh by phng php chuyn i mt quan h cha l
dng chun 4 v mt nhm tng ng cc quan h dng chun 4.
4.4.1 S cn thit chun ho d liu
Khi thc hin cc php lu tr trn cc quan h cha c chun ho thng xut hin cc
d thng thng tin. Ngha l trong d liu lu tr, s d tha, mt d liu, mu thun hay
khng nht qun d liu c th xy ra khi cp nht, b sung hay sa i d liu. D thng
thng tin l nguyn nhn gy cn tr cho vic tm kim, hi p thng tin. Mc tiu ca
chun ho d liu l trit tiu mc cao nht kh nng xut hin cc d thng thng tin khi
thc hin cc php lu tr. C nh vy mc tiu ca cc h c s mi c bo m. D
liu lu tr phn nh th gii hin thc khch quan, y hn v sinh ng hn.

Cc quan h chun ho & cha

Cc quan h chun 1NF


Cc quan h chun 2NF
Cc quan h chun
/ C
Cc quan h chun 4NF
Cc quan h chun 5NF
Cc quan h chun DKNF
Hinh 4.2 Mi quan h gia cc lp dng chun lc quan h













Khi thit k v ci t cc h CSDL, chun ho l qu trnh kho st danh sch cc thuc
tnh v p dng tp cc quy tc phn tch vo danh sch , bin i chng thnh nhiu tp
nh hn sao cho:
Ti thiu vic lp li.
Trnh d thng thng tin.
Xc nh v gii quyt c s khng r rng, nhp nhng trong suy din.
Qu trnh chun ho l qu trnh tch lc quan h v mt nhm tng ng cc lc
quan h chiu sao cho khi kt ni t nhin khng lm tn tht thng tin v bo ton c

82

Chng I: Khi nim c bn v cc h c s d liu

cc ph thuc hm. C s chun ho da trn cc khi nim v ph thuc hm, ph thuc
y , kho, cc thuc tnh khng kho... Mt m hnh c xem l m hnh chun ho
tt, l tng l m hnh mi mt thuc tnh khng kho ph thuc hm vo kho.
Quan h chun ho l nhng quan h m mi gi tr thuc tnh trong b l nhng thuc tnh
nguyn t, khng phn chia ra c. Ni cch khc, mi to ca hng v ct trong quan
h ch c ng mt gi tr ch khng phi l mt tp cc ga tr.
V d Lc quan h QLCAP( TC#,GTR,MC#,N#,NSX)
Trong : TC# : M tuyn cp GTR : Gi tr ca cp
MC# : M cp N# : M nc sn xut
NSX : Nc sn xut.
Ng ngha d liu nh sau:
Trong mt tuyn cp, gi tr ca mt loi cp c xc nh duy nht.
Mi m cp xc nh m nc sn xut cp, v
M nc xc nh tn nc sn xut
F = {(TC#,MC#) GTR, MC# NSX, MC# N#, N# NSX} tp cc ph thuc
. Cc thuc tnh kho: (TC#,MC# ) v cc thuc tnh khng kho: GTR, N#, NSX.

hm

TC#
MC#
NSX
N#
GTR
Hnh 4.3 S cc ph thuc hm trong lc quan h QLCAP






TC# GTR MC# N# NSX
T01 200 C01 HAQ Hn Quc
T01 250 C02 HAQ Hn Quc
T01 220 C03 VTN Vit Nam
T02 500 C01 HAQ Hn Quc
T02 400 C04 JAN Nht Bn
T03 100 C05 RUS Nga
T04 400 C06 CHN Trung Quc
T04 450 C03 VTN Vit Nam










4.4.2 Dng chun 1 1NF (First Normal Form)
Lc quan h s = <, F > c gi l dng chun 1 1NF, khi v ch khi cc thuc
Hnh 4.4 Mt tht hin ca lc quan h QLCAP
tnh ch cha cc gi tr nguyn t (gi tr nguyn t l gi tr khng th tch ).
Thng cc quan h chun ho l cc quan h dng chun 1NF. Tuy nhin, cu trc biu
din d liu trong cc quan h dng 1NF cn nhiu iu bt tin. V vy khi thao tc thc

83

Chng I: Khi nim c bn v cc h c s d liu

hin cc php chn thm, sa i hay b sung cp nht d liu thng xut hin d thng
thng tin, khng th chp nhn c trong qu trnh tm kim.
Theo nh ngha, quan h QLCAP l mt quan h dng chun th nht 1NF .
V d: Xt quan h S(S#,PRO), thy rng thuc tnh PRO cha cc gi tr khng nguyn
t. V vy quan h ny khng phi l quan h dng chun 1NF.

PRO
S#
P# QTY
S1 100 1
200 1
300 2
S2 100 2
200 2
S3 300 3
100 1
Hnh 4.5 Mt th d quan h khng 1NF







4.4.3 Dng chun 2 2NF (Second Normal Form)
Lc quan h s= <, F > c gi l dng chun 2NF, khi v ch khi n l dng chun
1NF v cc thuc tnh khng kho ph thuc hm y vo kho. Ni cch khc, nu
s= <, F > l dng chun 1NF v khng tn ti cc ph thuc hm X Y F
+
sao cho
X l tp con thc s ca kha v Y l thuc tnh khng kha.
Lc quan h QLCAP khng l dng chun 2NF, v cc thuc tnh khng kha N# v
NSX ph thuc hm vo MC# {TC#, MC#}, tc l MC# ph thuc khng y vo
kho {TC#, MC#}. Vi cu trc lu tr ca QLCAP, khi thc hin cc php chn thm,
loi b hay sa i d liu s xut hin d thng thng tin. Khng th chn thm thng tin
v mt loi cp mi khi cha xc nh gi tr ca tuyn cp, v TC# khng th nhn gi tr
khng xc nh. Tng t, khng th xo mt tuyn duy nht c mt loi cp duy nht, v
nh vy s mt thng tin v tuyn cp v loi cp . C th tch QLCAP thnh 2 lc
quan h TUYEN v CAP_NSX v dng chun 2NF khng tn tht thng tin. Cu trc lu
tr ca TUYEN v CAP_NSX phn nh th gii d liu khch quan hn, trung thc hn so
vi cu trc ca QLCAP.


84







TC#
MC#
GTR
MC#
NSX
N#
Hnh 4.6 TUYEN CAP_NSX

Chng I: Khi nim c bn v cc h c s d liu

V d Cho = {A, B, C, D, E, G} v
F = {ABC, D EG, C A, BE C, BC D, CGBD, ACD B, CE AG}.
Cc kho ca lc quan h gm: K
1
= {A, B}, K
2
= {B, E}, K
3
= {C, G}, K
4
= {C, E},
K
5
= {C, D}, K
6
= {B, C}. Nh vy khng tn ti cc thuc tnh khng kho, v vy lc
quan h trn dng chun 2NF.
4.4.4 Dng chun 3 - 3NF (Third Normal Form)
Lc quan h s= <, F > c gi l dng chun 3NF, khi v ch khi khng tn ti ph
thuc hm X Y F
+
sao cho X
+
, Y X v Y l thuc tnh khng kha. Ni cch
khc nu X Y F
+
, Y X th khi hoc X l kha ca lc quan h hoc Y l
mt thuc tnh ca kha.
Trong lc 2NF, cm tt c cc thuc tnh khng kho ph thuc vo cc tp con thc
s ca kho. Trong dng chun 3NF, cm cc thuc tnh khng kho ph thuc hm vo
tt c cc tp thuc tnh c bao ng khc .
Cc khng nh sau l tng ng
a) Khng tn ti ph thuc hm X Y F
+
sao cho X
+
, Y X v Y l
thuc tnh khng kha.
b) Nu X Y F
+
, Y X khi hoc X l kha ca lc quan h hoc Y l
mt thuc tnh ca kha.
c) Khng tn ti thuc tnh khng kho ph thuc bc cu vo kho.
d) Tp cc thuc tnh khng kho bng rng.
Nh vy mt lc quan h dng chun 3NF th cng l dng chun 2NF.
Lc quan h TUYEN l lc quan h dng chun 3NF. V (MC#,TC#) l cc
thuc tnh kha. Lc quan h CAP_NSX dng chun 2NF, nhng khng phi l
dng chun 3NF. V N# NSX, N# v NSX l cc thuc tnh khng kha. Hin
nhin c th kim tra c rng khi chn thm d liu, hoc loi b d liu hoc sa i gi
tr ca mt s thuc tnh trong mt quan h bt k ca lc quan h CAP_NSX s xut
hin cc bt thng khi tm kim, tra cu thng tin. C th tch CAP_NSX thnh 2 quan
h chun 3NF CAP v SX (hnh 4.7). Php tch c kt ni khng tn tht thng tin.

N# MC# NSX N#

Hnh 4.7 CAP(MC#,N#) SX(N#,NSX)
T mt lc quan h 2NF nhng khng phi 3NF c bin i thnh mt h tng
ng cc lc quan h dng 3NF. Qu trnh chuyn i l qu trnh kh nghch, do
khng lm mt thng tin trong qu trnh chuyn i. Cc lc quan h kt qu sau bin
i c gi l cc lc quan h chiu. Nhm cc lc quan h chiu tng ng
vi lc quan h ban u theo ngha l lc quan h ban u c th nhn c bng
cch thc hin cc php kt ni cc lc quan h chi tng ng. Nh vy qu trnh

85

Chng I: Khi nim c bn v cc h c s d liu

bin i s khng lm mt thng tin. Thng tin ca lc quan h ban u c th nhn
c t cc lc quan h chiu.
4.4.5 Qu trnh tch mt lc quan h 1NF v nhm tng ng 3NF.
T mt lc quan h dng chun th nht c th chuyn i v nhm cc lc quan
h chiu dng chun 3NF bng cch loi b cc ph thuc khng y vo kho v loi
b cc ph thuc bc cu vo kho. Qu trnh tch l qu trnh loi b d thng thng tin
gy nhng iu bt tin khi thao tc lu tr d liu. Php tch cc lc quan h l php
tch c kt ni khng tn tht thng tin.
Codd a ra 3 dng chun ca quan h v l trnh chuyn i nh sau:

Loi b cc thuc tnh khng nguyn t
Dng cha c chun ho
Dng chun th ba -3 NF
Dng chun th nht - 1NF
Dng chun th hai - 2 NF
Loi b cc ph thuc khng y
Loi b cc ph thuc bc cu
Hnh 4.8 Cc cp chun ho quan h














T quan h QLCAP( TC#, MC#, GTR, N#,NSX)

TC#
MC#
NSX
N#
GTR





Loi b cc ph thuc khng y vo kho

TC#
MC#
GTR
MC#
NSX
N#




TUYEN (TC#, MC#, GTR ) CAP_NSX( MC#, N#, NSX)

86

Chng I: Khi nim c bn v cc h c s d liu

Loi b cc ph thuc bc cu vo kho:

N# MC# NSX N#

CAP(MC#,N#) SX(N#,NSX)
Hnh 4.8 Qu trnh tch QLCAP v cc lc quan h 3NF
4.5 Dng chun Boyce Codd
Khi nim lc quan h dng chun 1NF v dng chun 2NF l nhng khi nim trung
gian trn chng ng i ti chun 3NF. Tuy nhin vi khi nim chun 3NF cha tho
mn cho cc trng hp lc quan h c hn mt kho, c bit cc trng hp kho
giao nhau. Heath l ngi u tin, sau Boyce Codd a ra nh ngha dng chun
Boyce Codd c th tho mn cc yu cu trn. Khi nim dng chun Boyce Codd khng
da vo cc khi nim dng chun 1NF v 2NF , tc l khng da vo cc khi nim v
ph thuc hm y v ph thuc bc cu.
4.5.1 nh ngha dng chun Boyce Codd
Lc quan h s = <, F> c gi l lc dng chun Boyce - Codd (BCNF), nu
vi mi ph thuc X Y F
+
, th khi hoc Y X (ph thuc tm thng), hoc X
l mt kho ca lc quan h. Tc l nu X Y F
+
, Y X th X
+
= . T nh
ngha trn c th suy ra rng:
a) Cc thuc tnh khng kho ph thuc hon ton vo kho.
b) Cc thuc tnh kho ph thuc hon ton vo tt c kho khc.
C th nh ngha cch khc nh sau: s = <, F > c gi l dng chun Boyce Codd, khi
v ch khi mi nh thuc l kho ca lc quan h.
Cc khng nh sau l tng ng
a) Nu X Y F
+
, Y X khi X l kha ca lc quan h.
b) Nu X Y F
+
, Y X khi X
+
= .
c) Mi nh thuc l kho ca lc quan h. (X l nh thuc khi v ch khi tn
ti Y sao cho X Y F
+
l ph thuc y ).
nh ngha dng chun 3NF v BCNF ging nhau tr mnh hoc Y l mt thuc tnh
ca kha. iu ny c ngha l nu lc quan h dng chun BCNF th cng l 3NF.
Trong nh ngha 3NF, loi tr cc thuc tnh khng kha ph thuc vo cc thuc tnh c
bao ng khc , cn trong nh ngha BCNF th loi tr tt c cc thuc tnh ph thuc
vo cc thuc tnh c bao ng khc .
Cc dng chun lc quan h lng nhau, ngha l nu lc quan h dng chun
BCNF th cng l dng chun 3NF, nu l 3NF cng l dng chun 2NF v nu 2NF
cng l dng chun 1NF. K hiu

87
BCNF 3NF 2NF 1NF.

Chng I: Khi nim c bn v cc h c s d liu

4.5.2 Nhn bit dng chun 3NF & BCNF
a) Nhn bit mt lc quan h l dng chun 3NF:
Xc nh tp cc thuc tnh khng kha Y.
Kim tra xem c tn ti ph thuc X Y F
+
, Y X v X
+
.
b) Nhn bit mt lc quan h l dng chun BCNF
Xc nh cc tp cc thuc tnh X sao cho X
+
.
Kim tra xem c tn ti ph thuc X Y F
+
, Y X.
V d
a) Cho = {A, B, C, D, E, G, H} v F = {C AB, D E, B G}.
Kho ca lc K = {H, C, D}.
Tp cc thuc tnh khng kho: NK = {A, B, E, G}.
V phi ca cc ph thuc C AB, D E v B G l cc thuc tnh khng
kho, v C
+
, D
+
v B
+
.
Lc l dng chun 3NF
b) Cho = {A, B, C, D} v F = {AB C, C ABD}.
Tp c bao ng khc : X = A, X = B, X = D, X = AD, X = BD.
Khng tn ti X Y F
+ +
,

Y X , suy ra BCNF.
c) Cho = {A, B, C, D, E, G, H} v F = {A BC, D E, H G}.
Tn ti D E F
+
, D
+
, suy ra lc khng BCNF.
Tn ti lc quan h khng l dng chun 3NF th cng khng l chun Boyce Codd.
4.6 Thut ton tch lc quan h khng tn tht thng tin
4..6.1 Php tch v cc lc dng chun 3NF c bo ton ph thuc
Input: Cho s = < , F > l mt lc quan h, trong
= {A
1
, A
2
, ..., A
n
} tp cc thuc tnh v
F = { f : Lj Rj Lj, Rj } tp cc ph thuc hm.
Khng mt tnh tng qut, gi s tp F l ph cc tiu.
Output: Mt php tch bo ton ph thuc sao cho mi mt lc quan h chiu c
dng chun 3NF tng ng vi tp ph thuc chiu ca F trn n.
Phng php:
Nu c nhng thuc tnh ca khng c mt trong cc v phi v tri ca cc ph
thuc hm, th tp cc thuc tnh ny s to ra mt lc quan h chiu. Loi b
tt c nhng thuc tnh ny ra khi trong qu trnh thc hin thut ton.
Nu tn ti ph thuc X A F sao cho v phi v tri ca n cha tt c cc
thuc tnh ca , khi kt qu php tch chnh l lc quan h s.
Ngc li,
i
={XA} l mt thnh phn ca php tch.
4.6.2 Thut ton tch bo ton ph thuc v khng tn tht thng tin v cc lc
dng chun 3NF
Input: Cho s = < , F > l mt lc quan h . Trong

88

Chng I: Khi nim c bn v cc h c s d liu

= {A
1
, A
2
, ..., A
n
} tp cc thuc tnh v
F ph cc tiu cc ph thuc hm.
K l kho ca lc quan h.
Output: Php tch [
1
,
2
, .. ,
p
] bo ton ph thuc v khng tn tht thng tin sao
cho mi mt lc quan h chiu c dng chun 3NF tng ng vi tp ph
thuc chiu ca F trn n.
Phng php:
1. Xc nh cc thuc tnh ca khng c mt trong cc v phi v tri ca cc
ph thuc hm. K hiu tp cc thuc tnh ny l A.
To ra lc quan h chiu trn tp cc thuc tnh A.
Loi b tt c nhng thuc tnh A ra khi trong qu trnh thc hin
thut ton: = - {A}.
2. Nu tn ti ph thuc X A F sao cho v phi v tri ca n cha tt c
cc thuc tnh ca , khi kt qu php tch [X,A].
3. Vi mi X A F trong thuc tnh A l thuc tnh n (F l ph cc tiu).

I
= {XA}, vi X A, i=1 p.
4. Nu c mt s ph thuc cng v tri: XA
1
F, XA
2
F, ., XA
k
F th c
th hp li thnh dng:
j
= {XA
1
A
2
...A
n
}, vi X A
i
, i=1 k.
5. Nu cc thuc tnh ca kho K khng xut hin trong cc tp
j
c tao bi
cc bc trn khi mt thnh ca php tch s c nh ngha bi kho K.
6. Php tch [
1
,
2
, .. ,
p
] bo ton ph thuc v khng tn tht thng tin.
Mi mt lc quan h chiu c dng chun 3NF tng ng vi tp ph thuc
chiu ca F trn n.
V d Cho

= {X, Y, Z, W, Q} v ph cc tiu
F = {XY, XZW, YWQ}
Xc nh mt php tch -3NF bo ton ph thuc v khng tn tht thng tin.
1. XZ l kho: (XZ)
+
=

= {X, Y, Z, W, Q}
2. Thc hin php tch:
Khng tn ti cc thuc tnh m cc thuc tnh khng xut hin trong
cc v ca ph thuc hm.
Khng tn ti ph thuc hm cha cc thuc tnh cn li ca .
XY :
1
= {XY}.
XZW :
2
= {X, Z, W}.
YWQ :
3
= {Y, W, Q}.
Kho XZ
2
= {X, Z, W}
3. Vy php tch [XY, XZW, YWQ ].
4. Kim tra tn tht thng tin:

89

Chng I: Khi nim c bn v cc h c s d liu


X Y Z W Q

1
a a b b b

2
a b a a b

3
b a b a a
X Y Z W Q

1
a a b b b

2
a a a a a

3
b a b a a




4.6.3 Thut ton tch v dng chun BCNF khng tn tht
Input: s = < , F > lc quan h.
= {A
1
, A
2
,..., A
n
} tp cc thuc tnh.
F = {Lj Rj Lj, Rj } tp cc ph thuc.
Output: Php tch [
1
,
2
, .. ,
p
] khng tn tht thng tin. Mi mt lc quan h
chiu c dng chun BCNF tng ng vi tp ph thuc chiu ca F trn n.
Phng php: Phng php ch yu ca thut ton l tch lc s = <, F > thnh 2
lc . Chn bt k X A F
+
sao cho X khng l kho v A X. Khi lc
c tp cc thuc tnh XA s c dng chun BCNF v ph thuc hm X A s tho trn
n. Lc th 2 c tp cc thuc tnh \ A. Hin nhin, khi kt ni lc c tp
thuc tnh \ A vi lc c tp thuc tnh XA khng tn tht thng tin. Tip tc tch
\ A cho n khi tho iu kin (b) ca nh l 4.11, cng l lc c dng chun
BCNF. Theo nh l 4.10, cc lc quan h chiu cng c dng BCNF v c kt ni
khng tn tht thng tin.
t
1
: = XA ,
2
: = \ A

1

2
= X

1
\

2
= A
Suy ra
1

2

1
\

2
.


Php tch [
1
,
2
] khng tn tht khi v ch khi
1

2

1
\
2
.

Tip tc cho
n khi tt c lc dng chun Boyce Codd.
S dng phng php lp lin tip. Mi bc m bo khng lm tn tht thng tin.
Bc u p dng i vi lc quan h S = <, F >.
Gi s bc th i: Lc quan h s
i
= <
i
, F
i
> cha phi l lc dng
chun Boyce Codd.
Chn X A F
i
= F
i
sao cho X khng l kho v A X.
t
i1
= XA ,
i2
= \ A
Tip tc php lp.
V d = {C, T, H, R, S, G}, trong :
C : Kho hc, T: Thy gio,
H: Gi hc R: Phng hc
S : Sinh vin G: Lp
Bit rng:

90

Chng I: Khi nim c bn v cc h c s d liu

Mi kho hc ch c mt thy dy.
Mt phng hc ti gi xc nh ch c mt kho hc.
Thy dy ti gi hc c th xc nh phng hc c th.
Kho hc vi mt sinh vin c th xc nh lp hc c th.
Mi mt sinh vin hc trong mt gi xc nh ti phng hc c th.
Khi F = {C T, HR C, HT R, CS G, HS R}.
Hin nhin, s = < , F > khng l Boyce Codd, kho ca n l thuc tnh HS .
Bc1: Xt CS G: CS khng phi l kha, c th tch s = < , F > thnh 2 lc
quan h c dng nh sau:
s
1
= <
1
, F
1
> s
2
= <
2
, F
2
>

1
= { C, S, G

}
2
= { C, T, H, S, R }
F
1
= {CS G } F
2
= {C T, HR C, HT R, HS R}.
Sau bc 1, s
1
= <
1
, F
1
> dng Boyce Codd, s
2
= <
2
, F
2
> dng 3NF nhng
vn cha dng Boyce Codd.
Bc2: Xt C T: T khng phi l thuc tnh kha, tch s
2
= <
2
, F
2
> thnh 2
lc quan h sau:
S
21
= <
21
, F
21
> S
22
= <
22
, F
22
>

21
= { C , T

}
22
= { C, H, S, R

}
F
21
= { C T } F
22
= {HR C, HS R }.
Bc 3: Xt HR C: HR khng phi l thuc tnh kha, tch s
22
= <
22
, F
22
>
thnh 2 lc quan h sau:

91



Nh vy, t lc quan h s = < , F > cha c chun ho, trong
S
221
= <
221
, F
221
> s
222
= <
222
, F
222
>

221
= { C , H, R

}
222
= { H, S, R

}
F
221
= { HR C } F
222
= { HS R },
= { C, T, H, R, S, G

},
F = {C T, HR C, HT R, CS G, HS R.
Thut ton cho mt php tch [
1
,
21
,
221
,
222
] lc quan h s = < , F > v
nhm cc lc quan h chiu s
1
= <
1
, F
1
>, s
21
= <
21
, F
21
>, s
221
= <
221
, F
221
> v
s
222
= <
222
, F
222
> dng chun BCNF khi kt ni khng tn tht thng tin.

1
= { C, S, G }, F
1
= { CS G}

21
= { C , T }, F
21
= {C T}

221
={C ,H, R, F
221
= {HR C}

Chng I: Khi nim c bn v cc h c s d liu


222
= { H, S, R

, F
222
= {HS R}
S tm tt qu trnh tch nh sau:





92




= {H, S , T, C, R, G

}
F = {C T, HR C, HT R, CS G, HS R}











Cu hi trc nghim
1. Mc tiu ca l thuyt CSDL l
A. Tnh c lp ca d liu
B. Tnh ph thuc d liu.
C. Tnh n gin trong biu din.
D. Tnh i xng trong kt qu..
2. Lc quan h s = <, F > c gi l dng chun 1 1NF, khi v ch khi
A. Bao ng cc thuc tnh l ln nht
B. Cc thuc tnh kho ph thuc bc cu vo kho.
C. Cc thuc tnh ch cha cc gi tr nguyn t
D. Cc ph thuc khng c v tri d tha
3. Lc quan h s= <, F > c gi l dng chun 2NF, khi v ch khi
A. Dng chun 1NF v tn ti X Y F + sao cho X l tp con ca kha
B. Khng tn ti cc ph thuc d tha.
C. Cc thuc tnh kho ph thuc bc cu vo kho.
D. Dng chun 1NF v cc thuc tnh khng kho ph thuc y vo kho.

1
= {C, S, G}
1
= F {CS G}.

2
= {C, T, H, R, S}
F
2
= {C T, HR C, HT R, HS R}

21
= {C , T}
F
21
= {C T}

22
= {C, H, S, R}
F
22
= {HR C, HS R

221
= {C ,H, R

}
F
221
= {HR C}

222
= {H , S, R}
F
222
= {HS R}
Hnh 4.9 Qu trnh tch- kt ni khng mt thng tin

Chng I: Khi nim c bn v cc h c s d liu

4. Lc quan h s= <, F > c gi l dng chun 3NF, khi v ch khi
A. Khng tn X Y F
+
sao cho X
+
, Y X l thuc tnh khng kha.
B. Nu X Y F
+
, Y X th khi X
C. Y l mt thuc tnh ca kha.
D. Lc 2NF v cc thuc tnh khng kho ph thuc kho.
5. X l nh thuc khi v ch khi
A. Tn ti Y sao cho X Y F+ l ph thuc y
B. Tn ti Y sao cho X Y F+ l ph thuc khng y .
C. Tn ti Y sao cho X Y F+ l ph thuc khng d tha
D. Tn ti Y sao cho X Y F+ l ph thuc d tha
6. Hy chn t/cm t tng ng hon thin khng nh sau: Trong qu trnh chun
ho d liu v tm kim thng tin phi thc hin cc .......v tp cc lc quan h
chun ho, sao cho qu trnh tch khng lm tn tht thng tin.
A. Php tch lc quan h.
B. Php lu tr.
C. Php tm kim thng tin.
D. Php chiu, chn v kt ni
7. .Hy chn t/cm t tng ng hon thin khng nh sau: Mc tiu ca php tch
lc quan h l nhm loi b ..........khi thc hin cc php lu tr nh chn thm,
loi b hay sa i thng tin trong trong cc quan h lu tr.
A. D thng thng tin
B. Khng ton vn d liu
C. Khng bo mt d liu
D. Khng nht qun d liu
8. Hy chn t/cm t tng ng hon thin khng nh sau: T mt lc quan h
dng 1NF c th chuyn i v nhm cc lc quan h chiu dng chun 3NF bng
cch........... vo kho v loi b cc ph thuc bc cu vo kho.
A. Li b cc ph thuc khng y .
B. Ph thuc bc cu.
C. Ph thuc d tha.
D. Cc thuc tnh d tha
9. = {A, B, C, D, E, G, H} v F = {C AB, D E, B G}.
A. Lc cha c chun ho
B. Lc l dng chun 3NF
C. Lc l dng chun 2NF
D. Lc l dng chun BCNF



93

Chng I: Khi nim c bn v cc h c s d liu

10. Hy so khp thng tin 2 phn di y vi nhau:
Phn 1 Phn 2
1 Khi thc hin cc php lu tr trn cc
quan h cha c chun ho ....
A. vic tm kim, hi p thng tin.
2 S d tha, mt d liu, mu thun hay
khng nht qun ..........
B. d liu c th xy ra khi cp nht, b
sung hay sa i d liu
3 D thng thng tin l nguyn nhn gy
cn tr cho........
C. kh nng xut hin cc d thng thng
tin khi thc hin cc php lu tr
4 Mc tiu ca chun ho d liu l trit
tiu......
D. thng xut hin cc d thng thng
tin.
a. 1- D; 2- C ; 3 B ; 4 A .
b. 1- C; 2- B; 3 A; 4 D
c. 1- A; 2- B; 3 C; 4 D.
d. 1- D; 2- B; 3 A; 4 C.
11. Hy so khp thng tin 2 phn di y vi nhau:
Phn 1 Phn 2
1 Cc thuc tnh khng kho .... A. ph thuc hon ton vo tt c kho
khc
2 Cc thuc tnh kho .......... B. l kha ca lc quan h.
3 Nu X Y F
+
, Y X khi X........ C. l kho ca lc quan h.
4 Mi nh thuc ..... D. ph thuc hon ton vo kho.
a. 1- D; 2- C ; 3 B ; 4 A .
b. 1- C; 2- B; 3 A; 4 D
c. 1- A; 2- B; 3 C; 4 D.
d. 1- D; 2- A; 3 B; 4 C.
Cu hi v bi tp:
Cu hi
1. S cn thit tch cc lc quan h.
2. Trnh by khi nim v nh ngha php tch.
3. Hiu nh th no v cc k hiu
i
(R ) v F
i
= F
i
.
4. nh ngha php tch - kt khng tn tht thng tin. V d minh ho.
5. Cho mt s th d v php tch- kt ni tn tht v khng tn tht thng tin.
6. Trnh by thut ton kim tra tch - kt ni khng tn tht thng tin.
7. Cho [
1
,
2
, . ,
p
] l mt php tch ca lc quan h s= <, F >. Cho
mt quan h bt k R s trn . Chng minh rng:
a) R m

(R ).
b) Nu P = m

(R ) th R
i
=
i
(P )

,

vi i = 1 p.
c) m

(m

(R )) = m

(R ) .

94

Chng I: Khi nim c bn v cc h c s d liu

8. Cho [
1
,
2
] l mt php tch ca lc quan h s = <, F > trong
l tp cc thuc tnh v F l tp cc ph thuc hm. Khi php tch - kt ni
khng tn tht thng tin khi v ch khi:

1

2

1
\
2
hoc
1

2

2
\
1
.
9. Trnh by khi nim v nh ngha php chiu bo ton cc ph thuc.
10. Thut ton kim tra bo ton tp ph thuc hm.
11. Cho Z , tp F, t Z: = Z (( Z )
+
), khi s tn ti cc thuc
tnh A sao cho (Z) A

(F).
12. Pht biu nh ngha dng chun th nht 1NF (First Normal Form)
13. Pht biu nh ngha dng chun th hai 2NF (Second Normal Form)
14. Pht biu nh ngha dng chun th 3 - 3NF (Third Normal Form)
15. Cc khng nh sau l tng ng
a) Khng tn ti ph thuc hm X Y F
+
sao cho X
+
, Y X v Y l
thuc tnh khng kha.
b) Nu X Y F
+
, Y X khi hoc X l kha ca lc quan h hoc
Y l mt thuc tnh ca kha.
c) Khng tn ti ph thuc bc cu vo kho.
16. Dng chun 3NF th cng l lc quan h chun 2NF.
17. Mt lc quan h 1NF v khng tn ti thuc tnh khng kho ph thuc bc
cu vo kho, khi lc dng chun 2NF.
18. Trnh by qu trnh tch mt lc quan h 1NF v nhm 3NF.
19. Trnh by khi nim v nh ngha dng chun Boyce Codd.
20. Cc khng nh sau l tng ng
a) Nu X Y F
+
, Y X khi X l kha ca lc quan h.
b) Nu X Y F
+
, Y X khi X
+
= .
c) Mi nh thuc l kho ca lc quan h. ( X l nh thuc khi v ch khi
tn ti Y sao cho X Y F
+
l ph thuc y ).
21. Chng minh rng BCNF 3NF 2NF 1NF.
22. Nhn bit dng chun 3NF & BCNF.
23. Cho th d 3NF nhng khng l BNCF.
24. Cho th d khng 3NF v khng l BNCF.
25. Cho mt s th d v cc dng chun lc quan h
26. Trnh by thut ton tch kt ni lc quan h khng tn tht thng tin
27. Php tch lc quan h v nhm tng ng 3NF.
28. Php tch lc quan h v dng chun Boyce Codd.
29. Chng minh rng:
a) Nu ch c 2 thuc tnh, khi lc dng chun BCNF.

95

Chng I: Khi nim c bn v cc h c s d liu

b) Nu s= <, F > khng dng chun BCNF, s tn ti A, B sao cho ( \
AB) A hoc ( \ AB) B.
30. Trnh by thut ton tch kt ni khng tn tht thng tin t mt lc quan h
s = < , F > v dng chun Boyce Codd.
Bi tp
1. Cho tp cc thuc tnh qun l tng i- cc thu bao: TD# (M tng i), TD
(Tn tng i), DL(Dung lng), MC#(Mu cp), SDT(S in thoi thu bao ),
NSX(Nc sn xut), NG(Ngy lp t tng i), GTR(Gi tr tng i), VT(Ni
t tng i), TB(Tn thu bao), TB#(M thu bao), DC(a ch thu bao) ,
SDTD(S in thoi n/i), NGG(Ngy thc hin m thoi), GB(Gi bt u
m thoi),KT(Gi kt thc m thoi), DD(i/n).
a) Hy xc nh mt php tch khng tn tht v 3NF c bo ton ph thuc.
b) Hy xc nh mt php tch kt ni khng tn tht v BCNF.
2. Cho tp cc thuc tnh qun l pht hnh bo ch QLBC gm cc thuc tnh
MK#(M khch), K(Tn khch), DC(a ch), MB#(M bo),TB(Tn bo) ,
GIA(Gi bo), SL(s lng), KY(k pht hnh).
a) Hy xc nh mt php tch kt ni khng tn tht v 3NF c bo ton ph
thuc.
b) Hy xc nh mt php tch kt ni khng tn tht v BCNF.
3. Gi s cc thuc tnh BC (Bu cc), BC#(M bu cc), MK(Khch gi), DC(a
ch khch), NH (Ngi nhn), DCN(a ch ngi nhn), ST(S tin), BCN(Bu
cc n), BCD#(M bu cc n), NG(ngy gi) HD(Ho n).
a) Hy xc nh mt php tch kt ni khng tn tht v 3NF c bo ton ph
thuc.
b) Hy xc nh mt php tch kt ni khng tn tht v BCNF.
c) C php tch kt ni khng tn tht v ng thi bo ton ph thuc v
BCNF.
4. Cho = { X, Y, Z, W,Q} v F = {XY QW, Z Q, W Z, Q X}.

1
={X,Y,Z}. Hy xc nh tp cc ph thuc chiu F trn
1
: F
1
=
i
(F).
5. Cho = { X, Y, Z, W} v F = {X Y, Z W }.
Php tch [
1
{X,Y},
2
{Z,W}]. Hy xc nh php tch bo ton ph thuc ?.
6. Cho = { A, B, C, D} v F = {AB C, A D, BD C}.
a) Tm ph cc tiu ca F.
b) Hy xc nh mt php tch thnh 2 lc dng 3NF bo ton ph thuc.
c) Xc nh cc ph thuc chiu trn cc tp thuc tnh trn.
d) Kt qu (b) c phi l tch kt ni tn tht khng. Nu c sa li nh th no
khng tn tht nhng vn bo ton ph thuc.
7. Cho = { A, B, C} v F = {AB C, A B}.

96

Chng I: Khi nim c bn v cc h c s d liu

a) Tm ph cc tiu ca F.
b) Gi s ph cc tiu ca F l G ={AB C, B C}. Chng t rng iu gi
s l sai bng cch xy dng mt lc quan h tho F nhng vi phm G.
8. Cho = {A,B,C,D} v F = {A B, B C, A D, D C}, [AB,AC,BD].
a) Tm cc ph thuc chiu trn mi tp tng ng.
b) l php tch kt ni khng tn tht thng tin.
c) bo ton cc ph thuc hay khng.
9. Cho = { A, B, C, D} , F = {A C, D C, BD A } v [AB,ACD,BCD] .
Chng minh rng php tch kt ni khng tn tht thng tin .
10. Cho = {A,B,C,D} v F = {A B, B C, D B}
a) Nu [ACD, BD] , hy xc nh cc ph thuc chiu trn mi tp tng ng.
b) Hy tip tc tch v cc lc dng chun BNCF.
11. Cho F l tp cc ph thuc hm c v phi ch cha mt thuc tnh.
a) Gi s X A F
+
nhng khng tho cc iu kin nh ngha BNCF.
Chng minh rng tn ti mt ph thuc Y B F sao cho khng tho
BNCF l kho (khng suy dn).
b) Nh (a) cho 3NF.
12. Cho = {A,B,C,D,E} v F = {AB CE, E AB, C D}. Lc quan h
thuc dng chun cao nht.
13. Cho = {A,B,C} v F = {A B, B C}. Chng minh rng lc quan h
khng l 3NF. Nu thm C B th s l 3NF ?.
14. Chng minh rng nu mt lc 3NF th cng l 2NF.
15. Chng minh rng lc quan h s = < , F > dng 3NF khi v ch khi :
a) X th X
+
= .
b) Nu A l thuc tnh khng kho th (X-A)
+
= X-a
16. Cho = { A, B, C, D, E, F} v F = {A B, CD A, BC D, AE F,
CED }. Chng minh rng php tch [AED, AB, AEF, ACE] v BCNF tn
tht thng tin.
17. Xy dng cc th d tch mt lc quan h cha chun ha v nhm cc quan
h dng chun 3NF khng tn tht thng tin. Cho v d php tch v 3NF nhng
khi kt ni t nhin tn tht thng tin ?.
18. Xy dng cc th d tch mt lc quan h cha chun ha v nhm cc quan
h dng chun BCNF khng tn tht thng tin. Cho v d php tch v BCNF
nhng khi kt ni t nhin tn tht thng tin ?.
19. Xy dng cc th d tch mt lc quan h cha chun ha v nhm cc quan
h dng chun 4NF khng tn tht thng tin. Cho v d php tch v 4NF nhng
khi kt ni t nhin tn tht thng tin ?.


97


76

4
K THUT THIT K CC
H C S D LIU QUAN H

Chng ny s gii thiu nguyn l thit k v ci t cc h c s d liu quan h. K
thut chuyn i mt quan h cha chun ha v mt nhm cc quan h dng chun 3NF
khng b tn tht thng tin, trong mt s trng hp cc php tch vn bo ton cc ph
thuc. Ni dung ca chng bao gm:
Tch mt lc quan h
Cc dng chun ha tip d liu.
4.1 M u
Mc tiu ca l thuyt CSDL l tnh c lp ca d liu. Cu trc lu tr cc h c s d
liu phn nh tnh hin thc, khch quan v tnh ton vn d liu. V vy trong qu trnh
chun ho d liu v tm kim thng tin, cn thit phi thc hin cc php tch lc
quan h cha chun ho v tp cc lc quan h chiu c chun ho, sao cho qu
trnh tch khng lm tn tht thng tin (lossless- mt mt thng tin), theo ngha cc quan h
gc c khi phc chnh xc t php kt ni t nhin ca cc quan h chiu.
Tch - kt ni cc lc quan h c lm tn tht thng tin hay khng, c bo ton cc ph
thuc hay khng c nhiu ngi quan tm nghin cu, gii quyt. A.V. Ho , C.Beeri
& J.D. Ullman gii thiu thut ton xc nh php kt ni cc lc quan h khng c tn
tht thng tin vi gi thit cc ph thuc d liu l cc ph thuc hm. Cc ng cng
m rng vn ny cho cc trng hp ph thuc d liu l ph thuc a tr.
4.2 Php tch kt ni khng tn tht thng tin
4.2.1 Php tch
Cho s = <, F > l mt lc quan h, trong = {A
1
, A
2
,..., A
n
} l tp cc thuc
tnh v F

l tp cc ph thuc hm. Gi [
1
,
2
, .. ,
p
] l mt php tch (hay cn gi
l mt phn hoch) ca s= <, F >, nu:
a)
i
, i=1 p
b) =
1
..
p


c)

F
i
:= F
i
:=
i
(F ) := {X Y F , XY
i
} , i = 1 p.

d)

s
i
:= <
i
, F
i
>: =
i
(S), i = 1 p.
Nh vy, nu [
1
,
2
, .. ,
p
] l mt php tch ca s= <, F >, khi tp cc ph
thuc F
i
:= F
i
=
i
(F ) c gi l tp cc ph thuc chiu F trn cc tp thuc tnh
tng ng
i
. V cc lc s
i
= <
i
, F
i
>: =
i
(S)

gi l cc lc chiu trn cc tp
thuc tnh
i
vi i =1 p. Nu R l mt quan h trn tp cc thuc tnh , khi cc
quan h chiu s l R
i
: =
i
(R)

,

i =1 p, ngha l cc quan h chiu
i
(R)

ch bao
gm cc thuc tnh
i
, i =1 p.
Chng I: Khi nim c bn v cc h c s d liu

4.2.2 Tch - kt ni t nhin
Php tch [
1
,
2
, .. ,
p
] c gi l php tch - kt ni t nhin ca ca lc
quan h s= <, F >, nu:
a) [
1
,
2
, .. ,
p
] l mt php tch ca s= <, F >.
b) Kt qu ca php kt ni t nhin ca cc lc chiu
i
(S),
i = 1 p, l mt lc m

(s) trn cc thuc tnh
=
1

2
.
p
.


m

(s):=
1
(s)

><

2
(s)

><

...

><
p
(s)

= s
1
><

s
2
><.. ...... ><

s
p
.
Ngha l vi mi quan h R s= <, F >, khi m

(R ) l kt qu php kt ni t nhin
ca cc quan h chiu tng ng R
i
:= R
i
:=
i
(R),

i =1 p, c biu din nh sau:
R m

(R):=
1
(R)

><

2
(R)

><

...

><
p
(R).
T nh ngha trn c th suy ra, nu mt th hin I m

(s)khi :

77

><


p
(I) = {a
1
, a
2
,..., a
p
} Nu A
j

i
, ti v tr j ng R
i
nhn gi tr a
j
,
cc v tr khc nhn gi tr khc a
j
, i =1 p } .

4.2.3 Php tch khng tn tht thng tin
Php tch [
1
,
2
, .. ,
p
] c gi php tch khng tn tht thng tin ca lc
quan h s= <, F >, nu [
1
,
2
, .. ,
p
] l php tch kt ni t nhin v:
S= m

(s):=
1
(s)

><

2
(s)

><

...

><
p
(s)

= s
1
><

s
2
><

....

>< s
p
.
Ngha l vi mi quan h R s, khi R c khi phc chnh xc t php kt ni t
nhin ca cc quan h chiu R
i
=
i
(R ), i = 1 p.
R =
1
(R)

><


2
(R )

><

...

><
p
(R )

:

= R
1
><

R
2
><

...

><

R
p
. Thng tin ca
mt quan h R bt k c th nhn c t cc quan h chiu Ri ng vi php tch .
V d : Tch quan h khng tn tht thng tin
Lc quan h qun l pht hnh bo ch QLBC gm cc thuc tnh:
={MK#, TK, DC, MB#, TB, GIA, SL} v
F = {MK#TK,MK#DC,MB#TB,MB# GIA, (MK#,MB#) SL}.
MK#: M khch hng TK : Tn khch hng
DC : a ch khch hng MB#: M bo, tp ch
TB : Tn bo, tp ch GIA: n gi bo, tp ch
SL : S lng bo, tp ch khch t mua
Trong lc quan h QLBC, cc thng tin v tn khch (TK) , a ch (DC), tn bo
(TB) .. lp li rt nhiu ln trong cc quan h th hin, l nguyn nhn dn n s xut
hin cc bt thng, nhp nhng thng tin. Php tch c m t di y, s tch lc
QLBC thnh 3 lc chiu. Lc s
3
= <
3
, F
3
> ch cn lu tr thng tin v s
lng cc loi bo ca mi mt khch hng t mua. Lc quan h s
1
= <
1
, F
1
> lu
i =1
p

Chng I: Khi nim c bn v cc h c s d liu

tr thng tin v khch t mua bo , v tng t trong lc quan h s
2
= <
2
, F
2
> lu
tr thng tin v cc loi bo. C th kim tra php tch khng tn tht thng tin v bo
ton c cc ph thuc hm.
Php tch [
1
,
2
,
3
] :

1
={M#, TK,DC } , F
1
={MK# TK, MK# DC}.

2
={MB#, TB, GIA } , F
2
={MB# TB, MB# GIA}.

3
={M#, MB#, SL} , F
3
={(MK#,MB#) SL}.
Nh vy mc tiu ca php tch lc quan h l nhm loi b cc d thng thng tin
khi thc hin cc php lu tr nh chn thm, loi b hay sa i thng tin trong trong cc
quan h lu tr. Tuy nhin khi thc hin php tch, thng tin ca lc quan h c b tn
tht hay khng. Ni cch khc nu kt ni t nhin cc thnh phn lc quan h chiu,
liu thng tin ca lc quan h gc c tn tht thng tin hay khng, cc ph thuc hm
c c bo ton hay khng?.
V d : Th d sau m t php tch tn tht thng tin v khng tn tht thng tin:
Cho = { X, Y , Z} tp cc thuc tnh v
Gi s quan h gc: R v cc quan h tch: R1 v R2
X Y Z
x1 y1 z1
x2 y2 z2
x3 y2 z3
x4 y3 z4
X Y
x1 y1
x2 y2
x3 y2
x4 y3
Y Z
y1 Z1
y2 Z2
y2 Z3
y3 Z4
R1
R2
R




a) Php tch kt ni tn tht thng tin:


78





b) Php tch kt ni khng tn tht thng tin:
X Y Z
x1 y1 z1
x2 y2 z2
x3 y2 z3
x4 y3 z4
X Y
x1 y1
x2 y2
x3 y2
x4 y3
Y Z
y1 Z1
y2 Z2
y2 Z3
y3 Z4
X Y Z
x1 y1 z1
x2 y2 z2
x2 y2 z3
x3 y2 z2
x3 y3 z3
x4 y4 z4
R
R1
R2 R R1 x R2







X Y Z
x1 y1 z1
x2 y2 z2
x3 y2 z3
x4 y3 z4
X Y
x1 y1
x2 y2
x3 y2
x4 y3
Y Z
y1 Z1
y2 Z2
y2 Z3
y3 Z4
X Y Z
x1 y1 z1
x2 y2 z2
x2 y2 z3
x3 y2 z2
x3 y3 z3
x4 y4 z4
R
R1 R2 R = R1 x R2
Hnh 4.1 Tch kt ni tn tht thng tin v khng tn tht thng tin

Chng I: Khi nim c bn v cc h c s d liu

4.3 Thut ton kim tra tch khng tn tht thng tin
Input: s = < , F > l mt lc quan h .
= {A
1
, A
2
,.. , A
n
} tp cc thuc tnh.
F = {f : Lj Rj Lj, Rj } tp cc ph thuc hm.
[
1
,
2
, .. ,
p
] l mt php tch
Output: Mt khng nh php tch - kt ni c tn tht thng tin hay khng.
Phng php:
To mt bng gm n ct v p dng. Ct th j tng ng vi thuc tnh A
j
,
hng th i tng ng vi lc quan h chiu R
i
:
Ct : A
1
, A
2
, .. , A
n

Hng: R
i
, R
2
, ...., R
p

Cc phn t ca bng:


79

i = 1 n, j = 1 p.
(i,j) =
a
i
nu A
i

i

b
ij
nu A
i

i
p dng cc ph thuc X Y F thay i cc gi tr ca bng nh sau: tm
cc hng ging nhau trn trong cc ct thuc tnh ca X, trong cc ct thuc tnh
Y nu c gi tr l a s thay gi tr cc ct trong Y l ai , nu khng c ai ,
thay th bng bij .
Xt lp cc ph thuc trong F cho n khi khng c s thay i trong bng.
Vic duyt bng bao gm sp xp bng theo ct c tnh cc thuc tnh xut hin
v tri ca ph thuc hm. Nu c k thuc tnh nh vy th vic thc hin sp
xp cn thc hin trong n * k bc.
in cc k hiu trong cc ct c thuc tnh xut hin v phi ca ph thuc hm
nu cc hng bng nhau trn v tri. Cng vic ny cnO(k) thi gian cho mi ph
thuc. Tng tt c di v tri ca tt c cc ph thuc hm trong mt ln duyt
khng qu n, nn ton b thi gian cho mt ln duyt nhiu nht l k*n.
Khi khng cn mt k hiu no c lm bng nhau trong mt ln duyt th c th
kt thc vic lp cc bc duyt v bng thu c tho mi ph thuc.
Kim tra c tn ti mt hng Ri sao cho gi tr ca cha cc k hiu a1, a2,..., an
hay khng. Nu c, tch - kt ni khng tn tht thng tin. Ngc li, khng tn
ti dng no nh vy, ngha l cc lc quan h chiu khi kt ni b tn tht
thng tin. iu ny c th suy ra t nh ngha ca php tch kt ni t nhin.
Do thi gian tiu dng ton b cho thut ton nhiu nht l k*n2*p, Nu k n
v p n hin nhin thut ton c thi gian chi ph nhiu nht l n
4
.
V d: Cho :={A,B, C,D, E, F} tp cc thuc tnh.
Xt php tch kt ni [
1
,
2
,
3
] trong :

Chng I: Khi nim c bn v cc h c s d liu


1
:= {A , B, D, E} ,
3
:= {B, C, E, F } ,

2
:= {A , C, D, F } v F := {A B, F E}.
Bc 1: Thnh lp bng ban u gm 3 hng v 6 ct:

A B C D E F

R
1
a
1
a
2
b
13
a
4
a
5
b
16

R
2
a
1
b
22
a
3
a
4
b
25
a
6

R
3
b
31
a
2
a
3
b
34
a
5
Bc 2: p dng A B suy ra b
22
= a
2
a
6
A

B C D E F
R
1
a
1
a
2
b
13
a
4
a
5
b
16
R
2
a
1
a
2
a
3
a
4
b
25
a
6
R
3
b
31
a
2
a
3
b
34

80

Bc 3: p dng F E suy ra b
25
= a
5

a
5
a
6
A B C D E F
R
1
a
1
a
2
b
13
a
4
a
5
b
16
R
2

a
1
a
2
a
3
a
4
a
5
a
6

R
3
b
31
a
2
a
3
b
34
a
5
a
6
Nh vy tn ti hng th 2 R
2
cha cc k t {a
1
, a
2
, a
3
, a
4
, a
5
, a
6
}. Suy ra php
tch c kt ni khng tn tht thng tin.
V d: Cho :={A,B, C,D, E} tp cc thuc tnh.

1
:= {A , D} ,
2
:= {A, B}

3
:= {B, E} ,
4
:= { C, D, E}

5
:= {A, E}
F := {A C, B C , C D, E C, CE D}.
Bc 1: Bng ban u gm 6 hng v 5 ct:

A B C D E






Bc 2: p dng A C v B C suy ra b
13
= b
23
= b
53
=

b
33



R
1
a
1
b
12
b
13
a
4
b
15
R
2
a
1
a
2
b
23
b
24
b
25
R
3
b
31
a
2
b
33
b
34
a
5
R
4
b
41
b
42
a
3
a
4
a
5
R
5
a
1
b
53
b
53
b
54
a
5

Chng I: Khi nim c bn v cc h c s d liu


A B C D E


81





Bc 3:



p dng C D suy ra a
4
=

b
24
=

b
34
=

b
54










Bc 4: p dng DE C suy ra a
3
= b
13







Bc 5: p dng CE A suy ra a
1
= b
41
= b
31







Nh vy tn ti hng th 3 R
3
c cha cc k t {a
1
, a
2
, a
3
, a
4
, a
5
}. Suy ra cc php
tch - kt ni khng tn tht thng tin.
4.4 Cc dng chun ca lc quan h
Phn ny s tm hiu v nghin cu khi nim chun ho d liu quan h. c nhiu kt
qu trong lnh vc chun ho, song vn cn nhiu vn bt li khi tm kim thng tin. V
vy ngi ta cng ch mi xut cc dng sao cho tin li, n gin hn trong qu trnh
thao tc cc ngn ng con d liu.
A B C D E
R
1
a
1
b
12
b
13
a
4
b
15
R
2
a
1
a
2
b
13
a
4
b
25
R
3
b
31
a
2
b
13
a
4
a
5
R
4
b
41
b
42
a
3
a
4
a
5
R
5
a
1
b
53
b
13
a
4
a
5
R
1
a
1
b
12
b
13
a
4
b
15
R
2
a
1
a
2
b
13
b
24
b
25
R
3
b
31
a
2
b
13
b
34
a
5
R
4
b
41
b
42
a
3
a
4
a
5
R
5
a
1
b
53
b
13
b
54
a
5
A B C D E
R
1
a
1
b
12
a
3
a
4
b
15
R
2
a
1
a
2
a
3
a
4
b
25
R
3
b
31
a
2
a
3
a
4
a
5
R
4
b
41
b
42
a
3
a
4
a
5
R
5
a
1
b
53
a
3
a
4
a
5
A B C D E
R
1
a
1
b
12
a
3
a
4
b
15
R
2
a
1
a
2
a
3
a
4
b
25
R
3
a
1
a
2
a
3
a
4
a
5
R
4
a
1
b
42
a
3
a
4
a
5
R
5
a
1
b
53
a
3
a
4
a
5

Chng I: Khi nim c bn v cc h c s d liu

Trong Further Normalization of the Data base relational Model ln u tin E.F.
Codd a ra cc khi nim v chun ho quan h. ng chia cc quan h thnh 3
lp v gi chng l cc quan h dng chun th nht, dng chun th hai v dng chun
th ba. Trong Multivalued Dependencies and a New Normal Form Relational
Databaseses R. Fagin a ra khi nim dng chun th t, theo ng l dng tin li
hn so vi quan h dng chun 3. Mc ch ca chng ny l minh ho nhng u im
ca cc quan h dng chun 4 v trnh by phng php chuyn i mt quan h cha l
dng chun 4 v mt nhm tng ng cc quan h dng chun 4.
4.4.1 S cn thit chun ho d liu
Khi thc hin cc php lu tr trn cc quan h cha c chun ho thng xut hin cc
d thng thng tin. Ngha l trong d liu lu tr, s d tha, mt d liu, mu thun hay
khng nht qun d liu c th xy ra khi cp nht, b sung hay sa i d liu. D thng
thng tin l nguyn nhn gy cn tr cho vic tm kim, hi p thng tin. Mc tiu ca
chun ho d liu l trit tiu mc cao nht kh nng xut hin cc d thng thng tin khi
thc hin cc php lu tr. C nh vy mc tiu ca cc h c s mi c bo m. D
liu lu tr phn nh th gii hin thc khch quan, y hn v sinh ng hn.

Cc quan h chun ho & cha

Cc quan h chun 1NF


Cc quan h chun 2NF
Cc quan h chun
/ C
Cc quan h chun 4NF
Cc quan h chun 5NF
Cc quan h chun DKNF
Hinh 4.2 Mi quan h gia cc lp dng chun lc quan h













Khi thit k v ci t cc h CSDL, chun ho l qu trnh kho st danh sch cc thuc
tnh v p dng tp cc quy tc phn tch vo danh sch , bin i chng thnh nhiu tp
nh hn sao cho:
Ti thiu vic lp li.
Trnh d thng thng tin.
Xc nh v gii quyt c s khng r rng, nhp nhng trong suy din.
Qu trnh chun ho l qu trnh tch lc quan h v mt nhm tng ng cc lc
quan h chiu sao cho khi kt ni t nhin khng lm tn tht thng tin v bo ton c

82

Chng I: Khi nim c bn v cc h c s d liu

cc ph thuc hm. C s chun ho da trn cc khi nim v ph thuc hm, ph thuc
y , kho, cc thuc tnh khng kho... Mt m hnh c xem l m hnh chun ho
tt, l tng l m hnh mi mt thuc tnh khng kho ph thuc hm vo kho.
Quan h chun ho l nhng quan h m mi gi tr thuc tnh trong b l nhng thuc tnh
nguyn t, khng phn chia ra c. Ni cch khc, mi to ca hng v ct trong quan
h ch c ng mt gi tr ch khng phi l mt tp cc ga tr.
V d Lc quan h QLCAP( TC#,GTR,MC#,N#,NSX)
Trong : TC# : M tuyn cp GTR : Gi tr ca cp
MC# : M cp N# : M nc sn xut
NSX : Nc sn xut.
Ng ngha d liu nh sau:
Trong mt tuyn cp, gi tr ca mt loi cp c xc nh duy nht.
Mi m cp xc nh m nc sn xut cp, v
M nc xc nh tn nc sn xut
F = {(TC#,MC#) GTR, MC# NSX, MC# N#, N# NSX} tp cc ph thuc
. Cc thuc tnh kho: (TC#,MC# ) v cc thuc tnh khng kho: GTR, N#, NSX.

hm

TC#
MC#
NSX
N#
GTR
Hnh 4.3 S cc ph thuc hm trong lc quan h QLCAP






TC# GTR MC# N# NSX
T01 200 C01 HAQ Hn Quc
T01 250 C02 HAQ Hn Quc
T01 220 C03 VTN Vit Nam
T02 500 C01 HAQ Hn Quc
T02 400 C04 JAN Nht Bn
T03 100 C05 RUS Nga
T04 400 C06 CHN Trung Quc
T04 450 C03 VTN Vit Nam










4.4.2 Dng chun 1 1NF (First Normal Form)
Lc quan h s = <, F > c gi l dng chun 1 1NF, khi v ch khi cc thuc
Hnh 4.4 Mt tht hin ca lc quan h QLCAP
tnh ch cha cc gi tr nguyn t (gi tr nguyn t l gi tr khng th tch ).
Thng cc quan h chun ho l cc quan h dng chun 1NF. Tuy nhin, cu trc biu
din d liu trong cc quan h dng 1NF cn nhiu iu bt tin. V vy khi thao tc thc

83

Chng I: Khi nim c bn v cc h c s d liu

hin cc php chn thm, sa i hay b sung cp nht d liu thng xut hin d thng
thng tin, khng th chp nhn c trong qu trnh tm kim.
Theo nh ngha, quan h QLCAP l mt quan h dng chun th nht 1NF .
V d: Xt quan h S(S#,PRO), thy rng thuc tnh PRO cha cc gi tr khng nguyn
t. V vy quan h ny khng phi l quan h dng chun 1NF.

PRO
S#
P# QTY
S1 100 1
200 1
300 2
S2 100 2
200 2
S3 300 3
100 1
Hnh 4.5 Mt th d quan h khng 1NF







4.4.3 Dng chun 2 2NF (Second Normal Form)
Lc quan h s= <, F > c gi l dng chun 2NF, khi v ch khi n l dng chun
1NF v cc thuc tnh khng kho ph thuc hm y vo kho. Ni cch khc, nu
s= <, F > l dng chun 1NF v khng tn ti cc ph thuc hm X Y F
+
sao cho
X l tp con thc s ca kha v Y l thuc tnh khng kha.
Lc quan h QLCAP khng l dng chun 2NF, v cc thuc tnh khng kha N# v
NSX ph thuc hm vo MC# {TC#, MC#}, tc l MC# ph thuc khng y vo
kho {TC#, MC#}. Vi cu trc lu tr ca QLCAP, khi thc hin cc php chn thm,
loi b hay sa i d liu s xut hin d thng thng tin. Khng th chn thm thng tin
v mt loi cp mi khi cha xc nh gi tr ca tuyn cp, v TC# khng th nhn gi tr
khng xc nh. Tng t, khng th xo mt tuyn duy nht c mt loi cp duy nht, v
nh vy s mt thng tin v tuyn cp v loi cp . C th tch QLCAP thnh 2 lc
quan h TUYEN v CAP_NSX v dng chun 2NF khng tn tht thng tin. Cu trc lu
tr ca TUYEN v CAP_NSX phn nh th gii d liu khch quan hn, trung thc hn so
vi cu trc ca QLCAP.


84







TC#
MC#
GTR
MC#
NSX
N#
Hnh 4.6 TUYEN CAP_NSX

Chng I: Khi nim c bn v cc h c s d liu

V d Cho = {A, B, C, D, E, G} v
F = {ABC, D EG, C A, BE C, BC D, CGBD, ACD B, CE AG}.
Cc kho ca lc quan h gm: K
1
= {A, B}, K
2
= {B, E}, K
3
= {C, G}, K
4
= {C, E},
K
5
= {C, D}, K
6
= {B, C}. Nh vy khng tn ti cc thuc tnh khng kho, v vy lc
quan h trn dng chun 2NF.
4.4.4 Dng chun 3 - 3NF (Third Normal Form)
Lc quan h s= <, F > c gi l dng chun 3NF, khi v ch khi khng tn ti ph
thuc hm X Y F
+
sao cho X
+
, Y X v Y l thuc tnh khng kha. Ni cch
khc nu X Y F
+
, Y X th khi hoc X l kha ca lc quan h hoc Y l
mt thuc tnh ca kha.
Trong lc 2NF, cm tt c cc thuc tnh khng kho ph thuc vo cc tp con thc
s ca kho. Trong dng chun 3NF, cm cc thuc tnh khng kho ph thuc hm vo
tt c cc tp thuc tnh c bao ng khc .
Cc khng nh sau l tng ng
a) Khng tn ti ph thuc hm X Y F
+
sao cho X
+
, Y X v Y l
thuc tnh khng kha.
b) Nu X Y F
+
, Y X khi hoc X l kha ca lc quan h hoc Y l
mt thuc tnh ca kha.
c) Khng tn ti thuc tnh khng kho ph thuc bc cu vo kho.
d) Tp cc thuc tnh khng kho bng rng.
Nh vy mt lc quan h dng chun 3NF th cng l dng chun 2NF.
Lc quan h TUYEN l lc quan h dng chun 3NF. V (MC#,TC#) l cc
thuc tnh kha. Lc quan h CAP_NSX dng chun 2NF, nhng khng phi l
dng chun 3NF. V N# NSX, N# v NSX l cc thuc tnh khng kha. Hin
nhin c th kim tra c rng khi chn thm d liu, hoc loi b d liu hoc sa i gi
tr ca mt s thuc tnh trong mt quan h bt k ca lc quan h CAP_NSX s xut
hin cc bt thng khi tm kim, tra cu thng tin. C th tch CAP_NSX thnh 2 quan
h chun 3NF CAP v SX (hnh 4.7). Php tch c kt ni khng tn tht thng tin.

N# MC# NSX N#

Hnh 4.7 CAP(MC#,N#) SX(N#,NSX)
T mt lc quan h 2NF nhng khng phi 3NF c bin i thnh mt h tng
ng cc lc quan h dng 3NF. Qu trnh chuyn i l qu trnh kh nghch, do
khng lm mt thng tin trong qu trnh chuyn i. Cc lc quan h kt qu sau bin
i c gi l cc lc quan h chiu. Nhm cc lc quan h chiu tng ng
vi lc quan h ban u theo ngha l lc quan h ban u c th nhn c bng
cch thc hin cc php kt ni cc lc quan h chi tng ng. Nh vy qu trnh

85

Chng I: Khi nim c bn v cc h c s d liu

bin i s khng lm mt thng tin. Thng tin ca lc quan h ban u c th nhn
c t cc lc quan h chiu.
4.4.5 Qu trnh tch mt lc quan h 1NF v nhm tng ng 3NF.
T mt lc quan h dng chun th nht c th chuyn i v nhm cc lc quan
h chiu dng chun 3NF bng cch loi b cc ph thuc khng y vo kho v loi
b cc ph thuc bc cu vo kho. Qu trnh tch l qu trnh loi b d thng thng tin
gy nhng iu bt tin khi thao tc lu tr d liu. Php tch cc lc quan h l php
tch c kt ni khng tn tht thng tin.
Codd a ra 3 dng chun ca quan h v l trnh chuyn i nh sau:

Loi b cc thuc tnh khng nguyn t
Dng cha c chun ho
Dng chun th ba -3 NF
Dng chun th nht - 1NF
Dng chun th hai - 2 NF
Loi b cc ph thuc khng y
Loi b cc ph thuc bc cu
Hnh 4.8 Cc cp chun ho quan h














T quan h QLCAP( TC#, MC#, GTR, N#,NSX)

TC#
MC#
NSX
N#
GTR





Loi b cc ph thuc khng y vo kho

TC#
MC#
GTR
MC#
NSX
N#




TUYEN (TC#, MC#, GTR ) CAP_NSX( MC#, N#, NSX)

86

Chng I: Khi nim c bn v cc h c s d liu

Loi b cc ph thuc bc cu vo kho:

N# MC# NSX N#

CAP(MC#,N#) SX(N#,NSX)
Hnh 4.9 Qu trnh tch QLCAP v cc lc quan h 3NF
4.5 Dng chun Boyce Codd
Khi nim lc quan h dng chun 1NF v dng chun 2NF l nhng khi nim trung
gian trn chng ng i ti chun 3NF. Tuy nhin vi khi nim chun 3NF cha tho
mn cho cc trng hp lc quan h c hn mt kho, c bit cc trng hp kho
giao nhau. Heath l ngi u tin, sau Boyce Codd a ra nh ngha dng chun
Boyce Codd c th tho mn cc yu cu trn. Khi nim dng chun Boyce Codd khng
da vo cc khi nim dng chun 1NF v 2NF , tc l khng da vo cc khi nim v
ph thuc hm y v ph thuc bc cu.
4.5.1 nh ngha dng chun Boyce Codd
Lc quan h s = <, F> c gi l lc dng chun Boyce - Codd (BCNF), nu
vi mi ph thuc X Y F
+
, th khi hoc Y X (ph thuc tm thng), hoc X
l mt kho ca lc quan h. Tc l nu X Y F
+
, Y X th X
+
= . T nh
ngha trn c th suy ra rng:
a) Cc thuc tnh khng kho ph thuc hon ton vo kho.
b) Cc thuc tnh kho ph thuc hon ton vo tt c kho khc.
C th nh ngha cch khc nh sau: s = <, F > c gi l dng chun Boyce Codd, khi
v ch khi mi nh thuc l kho ca lc quan h.
Cc khng nh sau l tng ng
a) Nu X Y F
+
, Y X khi X l kha ca lc quan h.
b) Nu X Y F
+
, Y X khi X
+
= .
c) Mi nh thuc l kho ca lc quan h. (X l nh thuc khi v ch khi tn
ti Y sao cho X Y F
+
l ph thuc y ).
nh ngha dng chun 3NF v BCNF ging nhau tr mnh hoc Y l mt thuc tnh
ca kha. iu ny c ngha l nu lc quan h dng chun BCNF th cng l 3NF.
Trong nh ngha 3NF, loi tr cc thuc tnh khng kha ph thuc vo cc thuc tnh c
bao ng khc , cn trong nh ngha BCNF th loi tr tt c cc thuc tnh ph thuc
vo cc thuc tnh c bao ng khc .
Cc dng chun lc quan h lng nhau, ngha l nu lc quan h dng chun
BCNF th cng l dng chun 3NF, nu l 3NF cng l dng chun 2NF v nu 2NF
cng l dng chun 1NF. K hiu

87
BCNF 3NF 2NF 1NF.

Chng I: Khi nim c bn v cc h c s d liu

4.5.2 Nhn bit dng chun 3NF & BCNF
a) Nhn bit mt lc quan h l dng chun 3NF:
Xc nh tp cc thuc tnh khng kha Y.
Kim tra xem c tn ti ph thuc X Y F
+
, Y X v X
+
.
b) Nhn bit mt lc quan h l dng chun BCNF
Xc nh cc tp cc thuc tnh X sao cho X
+
.
Kim tra xem c tn ti ph thuc X Y F
+
, Y X.
V d
a) Cho = {A, B, C, D, E, G, H} v F = {C AB, D E, B G}.
Kho ca lc K = {H, C, D}.
Tp cc thuc tnh khng kho: NK = {A, B, E, G}.
V phi ca cc ph thuc C AB, D E v B G l cc thuc tnh khng
kho, v C
+
, D
+
v B
+
.
Lc l dng chun 3NF
b) Cho = {A, B, C, D} v F = {AB C, C ABD}.
Tp c bao ng khc : X = A, X = B, X = D, X = AD, X = BD.
Khng tn ti X Y F
+ +
,

Y X , suy ra BCNF.
c) Cho = {A, B, C, D, E, G, H} v F = {A BC, D E, H G}.
Tn ti D E F
+
, D
+
, suy ra lc khng BCNF.
Tn ti lc quan h khng l dng chun 3NF th cng khng l chun Boyce Codd.
4.6 Thut ton tch lc quan h khng tn tht thng tin
4..6.1 Php tch v cc lc dng chun 3NF c bo ton ph thuc
Input: Cho s = < , F > l mt lc quan h, trong
= {A
1
, A
2
, ..., A
n
} tp cc thuc tnh v
F = { f : Lj Rj Lj, Rj } tp cc ph thuc hm.
Khng mt tnh tng qut, gi s tp F l ph cc tiu.
Output: Mt php tch bo ton ph thuc sao cho mi mt lc quan h chiu c
dng chun 3NF tng ng vi tp ph thuc chiu ca F trn n.
Phng php:
Nu c nhng thuc tnh ca khng c mt trong cc v phi v tri ca cc ph
thuc hm, th tp cc thuc tnh ny s to ra mt lc quan h chiu. Loi b
tt c nhng thuc tnh ny ra khi trong qu trnh thc hin thut ton.
Nu tn ti ph thuc X A F sao cho v phi v tri ca n cha tt c cc
thuc tnh ca , khi kt qu php tch chnh l lc quan h s.
Ngc li,
i
={XA} l mt thnh phn ca php tch.
4.6.2 Thut ton tch bo ton ph thuc v khng tn tht thng tin v cc lc
dng chun 3NF
Input: Cho s = < , F > l mt lc quan h . Trong

88

Chng I: Khi nim c bn v cc h c s d liu

= {A
1
, A
2
, ..., A
n
} tp cc thuc tnh v
F ph cc tiu cc ph thuc hm.
K l kho ca lc quan h.
Output: Php tch [
1
,
2
, .. ,
p
] bo ton ph thuc v khng tn tht thng tin sao
cho mi mt lc quan h chiu c dng chun 3NF tng ng vi tp ph
thuc chiu ca F trn n.
Phng php:
1. Xc nh cc thuc tnh ca khng c mt trong cc v phi v tri ca cc
ph thuc hm. K hiu tp cc thuc tnh ny l A.
To ra lc quan h chiu trn tp cc thuc tnh A.
Loi b tt c nhng thuc tnh A ra khi trong qu trnh thc hin
thut ton: = - {A}.
2. Nu tn ti ph thuc X A F sao cho v phi v tri ca n cha tt c
cc thuc tnh ca , khi kt qu php tch [X,A].
3. Vi mi X A F trong thuc tnh A l thuc tnh n (F l ph cc tiu).

I
= {XA}, vi X A, i=1 p.
4. Nu c mt s ph thuc cng v tri: XA
1
F, XA
2
F, ., XA
k
F th c
th hp li thnh dng:
j
= {XA
1
A
2
...A
n
}, vi X A
i
, i=1 k.
5. Nu cc thuc tnh ca kho K khng xut hin trong cc tp
j
c tao bi
cc bc trn khi mt thnh ca php tch s c nh ngha bi kho K.
6. Php tch [
1
,
2
, .. ,
p
] bo ton ph thuc v khng tn tht thng tin.
Mi mt lc quan h chiu c dng chun 3NF tng ng vi tp ph thuc
chiu ca F trn n.
V d Cho

= {X, Y, Z, W, Q} v ph cc tiu
F = {XY, XZW, YWQ}
Xc nh mt php tch -3NF bo ton ph thuc v khng tn tht thng tin.
1. XZ l kho: (XZ)
+
=

= {X, Y, Z, W, Q}
2. Thc hin php tch:
Khng tn ti cc thuc tnh m cc thuc tnh khng xut hin trong
cc v ca ph thuc hm.
Khng tn ti ph thuc hm cha cc thuc tnh cn li ca .
XY :
1
= {XY}.
XZW :
2
= {X, Z, W}.
YWQ :
3
= {Y, W, Q}.
Kho XZ
2
= {X, Z, W}
3. Vy php tch [XY, XZW, YWQ ].
4. Kim tra tn tht thng tin:

89

Chng I: Khi nim c bn v cc h c s d liu


X Y Z W Q

1
a a b b b

2
a b a a b

3
b a b a a
X Y Z W Q

1
a a b b b

2
a a a a a

3
b a b a a




4.6.3 Thut ton tch v dng chun BCNF khng tn tht
Input: s = < , F > lc quan h.
= {A
1
, A
2
,..., A
n
} tp cc thuc tnh.
F = {Lj Rj Lj, Rj } tp cc ph thuc.
Output: Php tch [
1
,
2
, .. ,
p
] khng tn tht thng tin. Mi mt lc quan h
chiu c dng chun BCNF tng ng vi tp ph thuc chiu ca F trn n.
Phng php: Phng php ch yu ca thut ton l tch lc s = <, F > thnh 2
lc . Chn bt k X A F
+
sao cho X khng l kho v A X. Khi lc
c tp cc thuc tnh XA s c dng chun BCNF v ph thuc hm X A s tho trn
n. Lc th 2 c tp cc thuc tnh \ A. Hin nhin, khi kt ni lc c tp
thuc tnh \ A vi lc c tp thuc tnh XA khng tn tht thng tin. Tip tc tch
\ A cho n khi tho iu kin (b) ca nh l 4.11, cng l lc c dng chun
BCNF. Theo nh l 4.10, cc lc quan h chiu cng c dng BCNF v c kt ni
khng tn tht thng tin.
t
1
: = XA ,
2
: = \ A

1

2
= X

1
\

2
= A
Suy ra
1

2

1
\

2
.


Php tch [
1
,
2
] khng tn tht khi v ch khi
1

2

1
\
2
.

Tip tc cho
n khi tt c lc dng chun Boyce Codd.
S dng phng php lp lin tip. Mi bc m bo khng lm tn tht thng tin.
Bc u p dng i vi lc quan h S = <, F >.
Gi s bc th i: Lc quan h s
i
= <
i
, F
i
> cha phi l lc dng
chun Boyce Codd.
Chn X A F
i
= F
i
sao cho X khng l kho v A X.
t
i1
= XA ,
i2
= \ A
Tip tc php lp.
V d = {C, T, H, R, S, G}, trong :
C : Kho hc, T: Thy gio,
H: Gi hc R: Phng hc
S : Sinh vin G: Lp
Bit rng:

90

Chng I: Khi nim c bn v cc h c s d liu

Mi kho hc ch c mt thy dy.
Mt phng hc ti gi xc nh ch c mt kho hc.
Thy dy ti gi hc c th xc nh phng hc c th.
Kho hc vi mt sinh vin c th xc nh lp hc c th.
Mi mt sinh vin hc trong mt gi xc nh ti phng hc c th.
Khi F = {C T, HR C, HT R, CS G, HS R}.
Hin nhin, s = < , F > khng l Boyce Codd, kho ca n l thuc tnh HS .
Bc1: Xt CS G: CS khng phi l kha, c th tch s = < , F > thnh 2 lc
quan h c dng nh sau:
s
1
= <
1
, F
1
> s
2
= <
2
, F
2
>

1
= { C, S, G

}
2
= { C, T, H, S, R }
F
1
= {CS G } F
2
= {C T, HR C, HT R, HS R}.
Sau bc 1, s
1
= <
1
, F
1
> dng Boyce Codd, s
2
= <
2
, F
2
> dng 3NF nhng
vn cha dng Boyce Codd.
Bc2: Xt C T: T khng phi l thuc tnh kha, tch s
2
= <
2
, F
2
> thnh 2
lc quan h sau:
S
21
= <
21
, F
21
> S
22
= <
22
, F
22
>

21
= { C , T

}
22
= { C, H, S, R

}
F
21
= { C T } F
22
= {HR C, HS R }.
Bc 3: Xt HR C: HR khng phi l thuc tnh kha, tch s
22
= <
22
, F
22
>
thnh 2 lc quan h sau:

91



Nh vy, t lc quan h s = < , F > cha c chun ho, trong
S
221
= <
221
, F
221
> s
222
= <
222
, F
222
>

221
= { C , H, R

}
222
= { H, S, R

}
F
221
= { HR C } F
222
= { HS R },
= { C, T, H, R, S, G

},
F = {C T, HR C, HT R, CS G, HS R.
Thut ton cho mt php tch [
1
,
21
,
221
,
222
] lc quan h s = < , F > v
nhm cc lc quan h chiu s
1
= <
1
, F
1
>, s
21
= <
21
, F
21
>, s
221
= <
221
, F
221
> v
s
222
= <
222
, F
222
> dng chun BCNF khi kt ni khng tn tht thng tin.

1
= { C, S, G }, F
1
= { CS G}

21
= { C , T }, F
21
= {C T}

221
={C ,H, R, F
221
= {HR C}

Chng I: Khi nim c bn v cc h c s d liu


222
= { H, S, R

, F
222
= {HS R}
S tm tt qu trnh tch nh sau:





92




= {H, S , T, C, R, G

}
F = {C T, HR C, HT R, CS G, HS R}











Cu hi trc nghim
1. Mc tiu ca l thuyt CSDL l
A. Tnh c lp ca d liu
B. Tnh ph thuc d liu.
C. Tnh n gin trong biu din.
D. Tnh i xng trong kt qu..
2. Lc quan h s = <, F > c gi l dng chun 1 1NF, khi v ch khi
A. Bao ng cc thuc tnh l ln nht
B. Cc thuc tnh kho ph thuc bc cu vo kho.
C. Cc thuc tnh ch cha cc gi tr nguyn t
D. Cc ph thuc khng c v tri d tha
3. Lc quan h s= <, F > c gi l dng chun 2NF, khi v ch khi
A. Dng chun 1NF v tn ti X Y F + sao cho X l tp con ca kha
B. Khng tn ti cc ph thuc d tha.
C. Cc thuc tnh kho ph thuc bc cu vo kho.
D. Dng chun 1NF v cc thuc tnh khng kho ph thuc y vo kho.

1
= {C, S, G}
1
= F {CS G}.

2
= {C, T, H, R, S}
F
2
= {C T, HR C, HT R, HS R}

21
= {C , T}
F
21
= {C T}

22
= {C, H, S, R}
F
22
= {HR C, HS R

221
= {C ,H, R

}
F
221
= {HR C}

222
= {H , S, R}
F
222
= {HS R}
Hnh 4.10 Qu trnh tch- kt ni khng mt thng tin

Chng I: Khi nim c bn v cc h c s d liu

4. Lc quan h s= <, F > c gi l dng chun 3NF, khi v ch khi
A. Khng tn X Y F
+
sao cho X
+
, Y X l thuc tnh khng kha.
B. Nu X Y F
+
, Y X th khi X
C. Y l mt thuc tnh ca kha.
D. Lc 2NF v cc thuc tnh khng kho ph thuc kho.
5. X l nh thuc khi v ch khi
A. Tn ti Y sao cho X Y F+ l ph thuc y
B. Tn ti Y sao cho X Y F+ l ph thuc khng y .
C. Tn ti Y sao cho X Y F+ l ph thuc khng d tha
D. Tn ti Y sao cho X Y F+ l ph thuc d tha
6. Hy chn t/cm t tng ng hon thin khng nh sau: Trong qu trnh chun
ho d liu v tm kim thng tin phi thc hin cc .......v tp cc lc quan h
chun ho, sao cho qu trnh tch khng lm tn tht thng tin.
A. Php tch lc quan h.
B. Php lu tr.
C. Php tm kim thng tin.
D. Php chiu, chn v kt ni
7. .Hy chn t/cm t tng ng hon thin khng nh sau: Mc tiu ca php tch
lc quan h l nhm loi b ..........khi thc hin cc php lu tr nh chn thm,
loi b hay sa i thng tin trong trong cc quan h lu tr.
A. D thng thng tin
B. Khng ton vn d liu
C. Khng bo mt d liu
D. Khng nht qun d liu
8. Hy chn t/cm t tng ng hon thin khng nh sau: T mt lc quan h
dng 1NF c th chuyn i v nhm cc lc quan h chiu dng chun 3NF bng
cch........... vo kho v loi b cc ph thuc bc cu vo kho.
A. Li b cc ph thuc khng y .
B. Ph thuc bc cu.
C. Ph thuc d tha.
D. Cc thuc tnh d tha
9. = {A, B, C, D, E, G, H} v F = {C AB, D E, B G}.
A. Lc cha c chun ho
B. Lc l dng chun 3NF
C. Lc l dng chun 2NF
D. Lc l dng chun BCNF



93

Chng I: Khi nim c bn v cc h c s d liu

10. Hy so khp thng tin 2 phn di y vi nhau:
Phn 1 Phn 2
1 Khi thc hin cc php lu tr trn cc
quan h cha c chun ho ....
A. vic tm kim, hi p thng tin.
2 S d tha, mt d liu, mu thun hay
khng nht qun ..........
B. d liu c th xy ra khi cp nht, b
sung hay sa i d liu
3 D thng thng tin l nguyn nhn gy
cn tr cho........
C. kh nng xut hin cc d thng thng
tin khi thc hin cc php lu tr
4 Mc tiu ca chun ho d liu l trit
tiu......
D. thng xut hin cc d thng thng
tin.
a. 1- D; 2- C ; 3 B ; 4 A .
b. 1- C; 2- B; 3 A; 4 D
c. 1- A; 2- B; 3 C; 4 D.
d. 1- D; 2- B; 3 A; 4 C.
11. Hy so khp thng tin 2 phn di y vi nhau:
Phn 1 Phn 2
1 Cc thuc tnh khng kho .... A. ph thuc hon ton vo tt c kho
khc
2 Cc thuc tnh kho .......... B. l kha ca lc quan h.
3 Nu X Y F
+
, Y X khi X........ C. l kho ca lc quan h.
4 Mi nh thuc ..... D. ph thuc hon ton vo kho.
a. 1- D; 2- C ; 3 B ; 4 A .
b. 1- C; 2- B; 3 A; 4 D
c. 1- A; 2- B; 3 C; 4 D.
d. 1- D; 2- A; 3 B; 4 C.
Cu hi v bi tp:
Cu hi
1. S cn thit tch cc lc quan h.
2. Trnh by khi nim v nh ngha php tch.
3. Hiu nh th no v cc k hiu
i
(R ) v F
i
= F
i
.
4. nh ngha php tch - kt khng tn tht thng tin. V d minh ho.
5. Cho mt s th d v php tch- kt ni tn tht v khng tn tht thng tin.
6. Trnh by thut ton kim tra tch - kt ni khng tn tht thng tin.
7. Cho [
1
,
2
, . ,
p
] l mt php tch ca lc quan h s= <, F >. Cho
mt quan h bt k R s trn . Chng minh rng:
a) R m

(R ).
b) Nu P = m

(R ) th R
i
=
i
(P )

,

vi i = 1 p.
c) m

(m

(R )) = m

(R ) .

94

Chng I: Khi nim c bn v cc h c s d liu

8. Cho [
1
,
2
] l mt php tch ca lc quan h s = <, F > trong
l tp cc thuc tnh v F l tp cc ph thuc hm. Khi php tch - kt ni
khng tn tht thng tin khi v ch khi:

1

2

1
\
2
hoc
1

2

2
\
1
.
9. Trnh by khi nim v nh ngha php chiu bo ton cc ph thuc.
10. Thut ton kim tra bo ton tp ph thuc hm.
11. Cho Z , tp F, t Z: = Z (( Z )
+
), khi s tn ti cc thuc
tnh A sao cho (Z) A

(F).
12. Pht biu nh ngha dng chun th nht 1NF (First Normal Form)
13. Pht biu nh ngha dng chun th hai 2NF (Second Normal Form)
14. Pht biu nh ngha dng chun th 3 - 3NF (Third Normal Form)
15. Cc khng nh sau l tng ng
a) Khng tn ti ph thuc hm X Y F
+
sao cho X
+
, Y X v Y l
thuc tnh khng kha.
b) Nu X Y F
+
, Y X khi hoc X l kha ca lc quan h hoc
Y l mt thuc tnh ca kha.
c) Khng tn ti ph thuc bc cu vo kho.
16. Dng chun 3NF th cng l lc quan h chun 2NF.
17. Mt lc quan h 1NF v khng tn ti thuc tnh khng kho ph thuc bc
cu vo kho, khi lc dng chun 2NF.
18. Trnh by qu trnh tch mt lc quan h 1NF v nhm 3NF.
19. Trnh by khi nim v nh ngha dng chun Boyce Codd.
20. Cc khng nh sau l tng ng
a) Nu X Y F
+
, Y X khi X l kha ca lc quan h.
b) Nu X Y F
+
, Y X khi X
+
= .
c) Mi nh thuc l kho ca lc quan h. ( X l nh thuc khi v ch khi
tn ti Y sao cho X Y F
+
l ph thuc y ).
21. Chng minh rng BCNF 3NF 2NF 1NF.
22. Nhn bit dng chun 3NF & BCNF.
23. Cho th d 3NF nhng khng l BNCF.
24. Cho th d khng 3NF v khng l BNCF.
25. Cho mt s th d v cc dng chun lc quan h
26. Trnh by thut ton tch kt ni lc quan h khng tn tht thng tin
27. Php tch lc quan h v nhm tng ng 3NF.
28. Php tch lc quan h v dng chun Boyce Codd.
29. Chng minh rng:
a) Nu ch c 2 thuc tnh, khi lc dng chun BCNF.

95

Chng I: Khi nim c bn v cc h c s d liu

b) Nu s= <, F > khng dng chun BCNF, s tn ti A, B sao cho ( \
AB) A hoc ( \ AB) B.
30. Trnh by thut ton tch kt ni khng tn tht thng tin t mt lc quan h
s = < , F > v dng chun Boyce Codd.
Bi tp
1. Cho tp cc thuc tnh qun l tng i- cc thu bao: TD# (M tng i), TD
(Tn tng i), DL(Dung lng), MC#(Mu cp), SDT(S in thoi thu bao ),
NSX(Nc sn xut), NG(Ngy lp t tng i), GTR(Gi tr tng i), VT(Ni
t tng i), TB(Tn thu bao), TB#(M thu bao), DC(a ch thu bao) ,
SDTD(S in thoi n/i), NGG(Ngy thc hin m thoi), GB(Gi bt u
m thoi),KT(Gi kt thc m thoi), DD(i/n).
a) Hy xc nh mt php tch khng tn tht v 3NF c bo ton ph thuc.
b) Hy xc nh mt php tch kt ni khng tn tht v BCNF.
2. Cho tp cc thuc tnh qun l pht hnh bo ch QLBC gm cc thuc tnh
MK#(M khch), K(Tn khch), DC(a ch), MB#(M bo),TB(Tn bo) ,
GIA(Gi bo), SL(s lng), KY(k pht hnh).
a) Hy xc nh mt php tch kt ni khng tn tht v 3NF c bo ton ph
thuc.
b) Hy xc nh mt php tch kt ni khng tn tht v BCNF.
3. Gi s cc thuc tnh BC (Bu cc), BC#(M bu cc), MK(Khch gi), DC(a
ch khch), NH (Ngi nhn), DCN(a ch ngi nhn), ST(S tin), BCN(Bu
cc n), BCD#(M bu cc n), NG(ngy gi) HD(Ho n).
a) Hy xc nh mt php tch kt ni khng tn tht v 3NF c bo ton ph
thuc.
b) Hy xc nh mt php tch kt ni khng tn tht v BCNF.
c) C php tch kt ni khng tn tht v ng thi bo ton ph thuc v
BCNF.
4. Cho = { X, Y, Z, W,Q} v F = {XY QW, Z Q, W Z, Q X}.

1
={X,Y,Z}. Hy xc nh tp cc ph thuc chiu F trn
1
: F
1
=
i
(F).
5. Cho = { X, Y, Z, W} v F = {X Y, Z W }.
Php tch [
1
{X,Y},
2
{Z,W}]. Hy xc nh php tch bo ton ph thuc ?.
6. Cho = { A, B, C, D} v F = {AB C, A D, BD C}.
a) Tm ph cc tiu ca F.
b) Hy xc nh mt php tch thnh 2 lc dng 3NF bo ton ph thuc.
c) Xc nh cc ph thuc chiu trn cc tp thuc tnh trn.
d) Kt qu (b) c phi l tch kt ni tn tht khng. Nu c sa li nh th no
khng tn tht nhng vn bo ton ph thuc.
7. Cho = { A, B, C} v F = {AB C, A B}.

96

Chng I: Khi nim c bn v cc h c s d liu

a) Tm ph cc tiu ca F.
b) Gi s ph cc tiu ca F l G ={AB C, B C}. Chng t rng iu gi
s l sai bng cch xy dng mt lc quan h tho F nhng vi phm G.
8. Cho = {A,B,C,D} v F = {A B, B C, A D, D C}, [AB,AC,BD].
a) Tm cc ph thuc chiu trn mi tp tng ng.
b) l php tch kt ni khng tn tht thng tin.
c) bo ton cc ph thuc hay khng.
9. Cho = { A, B, C, D} , F = {A C, D C, BD A } v [AB,ACD,BCD] .
Chng minh rng php tch kt ni khng tn tht thng tin .
10. Cho = {A,B,C,D} v F = {A B, B C, D B}
a) Nu [ACD, BD] , hy xc nh cc ph thuc chiu trn mi tp tng ng.
b) Hy tip tc tch v cc lc dng chun BNCF.
11. Cho F l tp cc ph thuc hm c v phi ch cha mt thuc tnh.
a) Gi s X A F
+
nhng khng tho cc iu kin nh ngha BNCF.
Chng minh rng tn ti mt ph thuc Y B F sao cho khng tho
BNCF l kho (khng suy dn).
b) Nh (a) cho 3NF.
12. Cho = {A,B,C,D,E} v F = {AB CE, E AB, C D}. Lc quan h
thuc dng chun cao nht.
13. Cho = {A,B,C} v F = {A B, B C}. Chng minh rng lc quan h
khng l 3NF. Nu thm C B th s l 3NF ?.
14. Chng minh rng nu mt lc 3NF th cng l 2NF.
15. Chng minh rng lc quan h s = < , F > dng 3NF khi v ch khi :
a) X th X
+
= .
b) Nu A l thuc tnh khng kho th (X-A)
+
= X-a
16. Cho = { A, B, C, D, E, F} v F = {A B, CD A, BC D, AE F,
CED }. Chng minh rng php tch [AED, AB, AEF, ACE] v BCNF tn
tht thng tin.
17. Xy dng cc th d tch mt lc quan h cha chun ha v nhm cc quan
h dng chun 3NF khng tn tht thng tin. Cho v d php tch v 3NF nhng
khi kt ni t nhin tn tht thng tin ?.
18. Xy dng cc th d tch mt lc quan h cha chun ha v nhm cc quan
h dng chun BCNF khng tn tht thng tin. Cho v d php tch v BCNF
nhng khi kt ni t nhin tn tht thng tin ?.
19. Xy dng cc th d tch mt lc quan h cha chun ha v nhm cc quan
h dng chun 4NF khng tn tht thng tin. Cho v d php tch v 4NF nhng
khi kt ni t nhin tn tht thng tin ?.


97


98

5

CC NGN NG THAO TC D LIU


Chng V s gii thiu mt s ngn ng thao tc d liu, nh ngn ng d liu da trn
i s quan h, ngn ng SQL .... Ngn ng x l d liu c chia thnh hai loi khc
nhau da trn hai chc nng khc nhau. l cc chc nng khai bo v chc nng tnh
ton. Vi cc trnh ng dng, d liu thng c m t v tnh ton khi chng trnh thc
hin, cn trong cc h thng CSDL, d liu c nh ngha mt ln duy nht. V vy cn
c mt phng tin nh ngha ngn ng d liu c kh nng m phng cc php tnh
quan h c tnh y hn. Ni dung ca chng bao gm:
Gii thiu tng quan v ngn ng thao tc d liu.
Cc php ton i s quan h
i s quan h ngn ng vn tin
Ngn ng vn tin SQL
5.1 Ngn ng c s d liu
Theo cch nhn ca ngi s dng, ngn ng thao tc d liu l mt tp cc php ton dng
thao tc trn cc h c s d liu. Nh trong cc chng II v III kho st, biu din
d liu mt cch thng nht dn n s thng nht tng tng trong cc php ton thao tc,
v thng tin c biu din bng mt v ch mt cch nn ch cn mt php ton cho mi
mt chc nng c bn (thm, b sung, loi b...). Ngc vi n, trong nhiu cu trc phc
tp, thng tin c biu din bng nhiu cch. V v vy, cn phi ci t nhiu tp cc
php ton thao tc khc nhau.
5.1.1 Ngn ng nh ngha d liu
Lc khi nim c c t bng mt ngn ng, mt phn ca h qun tr c s d liu,
c gi l ngn ng inh ngha d liu - DDL (Data Definition Language).
Ngn ng nh ngha d liu bao gm mt h thng k hiu m t cc kiu thc th v mi
lin h gia chng theo mt m hnh d liu c th. Ngn ng nh ngha d liu c s
dng khi thit k CSDL hoc sa i thit k CSDL. N khng s dng truy xut d liu
hoc sa i d liu. C nhng cu lnh m t cu trc vt l theo thut ng tru tng.
Thit k chi tit CSDL vt l c thc hin bi cc th tc ca h qun tr CSDL- DBMS.
Khi thc hin, chng s bin dch cc cu lnh ngn ng nh ngha d liu.
V d: V ngn ng nh ngha d liu SQL:
CREATE TABLE QLCAP (TC#:.CHAR(3), MC#: CHAR(3), SL: INT,
DATE: CHAR(6), GTR: INT).
CREATE INDEX FOR QLCAP ON TC#, MC#;
CREATE TABLE QLCAP m t quan h vi tn l QLCAP v cc thuc tnh ca
n, ng thi cu trc ci t vt l l cc tn trng, ki trng l cc s nguyn
v chui k t c chiu di c nh.
Chng I: Khi nim c bn v cc h c s d liu

CREATE INDEX m t cn to ra mt ch mc trn s hiu ca tuyn cp v s
hiu loi cp nh l cc thnh phn ca lc vt l. Cho php tm kim cc thng
tin v cc tuyn cp, v cc loi cp c lp t trn cc tuyn cp. Trnh bin
dch ca DDL c th chn mt hm bm c kha l chui 3 k t cho mi trng
TC# v MC# v n c th lu cc bn ghi trong bucket, tu theo gi tr hm bm
ca TC# v MC#.
5.1.2 Ngn ng thao tc d liu
Ngn ng thao tc d liu DML (Data Manipulation Language) hay cn gi l ngn ng
vn tin (Query Language) dng thao tc trn cc quan h CSDL, bao gm mt s php
ton, cc ton hng l cc quan h v kt qu ca cc php ton cng l mt quan h. Ngn
ng thao tc d liu gm 2 nhm php ton:
a) Nhm cc php ton lu tr:
Chn thm: Chn vo CSDL t vng lm vic m cha cc thng tin v mt
bn ghi c th.
Xo: Xo mt b hay xo mt nhm cc b.
Sa i: Sa i gi tr ca mt s thuc tnh.
b) Nhm cc php ton tm kim gm:
Php chn SELECT: To ra mt quan h mi, cc b c rt ra mt cch duy
nht t cc b ca quan h ngun tho mn mt tn t xc nh.
Php chiu PROJECT: To ra mt quan h mi, cc thuc tnh c rt ra,
hoc c bin i t cc thuc tnh ca quan h ngun, cc b l cc b ca
quan h ngun b i nhng b trng lp.
Php kt ni JOIN: Nhm to ra mt quan h mi, bng cch ni nhiu quan
h trn min thuc tnh chung. Cc thuc tnh ca quan h kt qu l cc thuc
tnh ca cc quan h thnh vin v cc b l ghp ni cc b ca quan h
ngun c cng chung gi tr thuc tnh chung.
Chng ny kho st hai lp ngn ng hi p cho m hnh quan h, l:
1. Ngn ng i s quan h, trong cu hi c biu din nh p dng cc php
tnh c bit i vi quan h.
2. Ngn ng tnh ton tn t, trong cu hi c biu din l mt tp cc b c
tho mn cc tn t xc nh.
5.2 Cc php ton i s quan h
i s quan h l mt trong nhng ngn ng thao tc d liu, bao gm cc php ton trn
cc quan h ca mt c s d liu cho trc. l cc php ton hp , giao, chiu v
chn... Tp hp cc php ton quan h to nn mt c ch truy nhp d liu kh linh hot
v mm do. V vy ngi ta thng ly i s quan h lm n v o cng sut ca h
qun tr c s d liu quan h.

99

Chng I: Khi nim c bn v cc h c s d liu

5.2.1 Ton hng ca i s quan h
Ton hng trong i s quan h l cc quan h hng hoc cc bin biu th cho cc quan h
bc c nh. Quan h R
1
v R
2
l kh hp khi :
R
1
v R
2
cng bc n.
Gi tr thuc tnh th j ca quan h ny c rt ra t cng min nh thuc
tnh th j ca quan h kia, 1 j n.
5.2.2 Php hp cc quan h - UNION
R
1
v R
2
l cc quan h kh hp trn cng tp cc thuc tnh ca . Khi hp ca
chng l mt quan h trn , cc thuc tnh l cc thuc tnh ca R1 (hoc ca R
2
), cc
b hoc ca R
1
hoc ca R
2
b i cc b trng nhau, ch gi li nhng b i din.
K hiu : R
1
R
2
= {t t R
1
hoc t R
2
}
UNION (R
1
,R
2
)




100

APPEND (R
1
,R
2
)


R
1
R
2


V d UNION (R
1
,R
2
)
R
1
R
2
R
1
R
2














R
1

M# N# NSX
C01 VNA Vit nam
C02 HQU Hn Quc
C03 JAN Nht
R
1
+ R
2

M# N# NSX
C01 VNA Vit nam
C02 HQU Hn Quc
C03 JAN Nht
C04 RUS Nga
C05 FRA Php
R
2

M# N# NSX
C04 RUS Nga
C02 HQU Hn Quc
C05 FRA Php
Hnh 5.1 M t php hp i s quan h
5.2.3 Php giao ca cc quan h - INTERSECT
R
1
v R
2
l cc quan h kh hp trn cng tp cc thuc tnh ca . Khi giao ca
chng cng l mt quan h trn , cc thuc tnh ca quan h kt qu l cc thuc ca R
1

hoc R
2
, cc b ca n l cc b c mt trong R
1
v trong R
2
.
K hiu : R
1
R
2
= {t t R
1
And t R
2
}
INTERSECT (R
1
, R
2
)



R
1
R
1
R
2

R
2
AND (R
1
,R
2
)



R
1
R
2



Chng I: Khi nim c bn v cc h c s d liu

V d INTERSECT (R
1
, R
2
)


101










5.2.4 Hiu ca cc quan h - MINUS
R
1
R
2
M# N# NSX
C02 HQU Hn Quc
R
1

M# N# NSX
C01 VNA Vit nam
C02 HQU Hn Quc
C03 JAN Nht
R2
M# N# NSX
C04 RUS Nga
C02 HQU Hn Quc
C05 FRA Php
Hnh 5.2 M t php giao i s quan h
R
1
v R
2
l cc quan h kh hp trn cng tp cc thuc tnh ca . Khi hiu ca R
1

v R
2
l quan h kt qu KQ trn cc thuc tnh . Cc thuc tnh ca KQ l cc thuc
ca R
1
hoc R
2
, cc b ca KQ l cc b c mt trong R
1
nhng khng c mt trong
R
2
. (Tng t hiu ca R
2
v R
1
gm cc b c mt trong R
2
nhng khng c mt
trong R
1
)
K hiu : R
1
R
2
= {t t R
1
v t R
2
}
MINUS ( R
1
,R
2
)



R
1
R
1
- R
2
-
R
2

REMOVE ( R
1
,R
2
)


R
1
R
2

V d : MINUS (R
1
,R
2
)



R
1

M# N# NSX
C01 VNA Vit nam
C02 HQU Hn Quc
C03 JAN Nht
R
1
R
2

M# N# NSX
C01 VNA Vit nam
C03 JAN Nht
R
2

M# N# NSX
C04 RUS Nga
C02 HQU Hn Quc
C05 FRA Php

Hnh 5.3 M t php tr i s quan h










5.2.5 Tch Cc (Cartesian Product)
Cho 2 quan h R
1
() v R
2
( ), t = . Tch cc ca 2 quan h R
1
()
v R
2
() l mt quan h P vi tp cc thuc tnh l = v cc b ca n
thnh phn u thuc R
1
v thnh phn cn li thuc R
2
.

Chng I: Khi nim c bn v cc h c s d liu

K hiu: R
1
x R
2
= P( ) := {t t[] R
1
& t[ ] R
2
}
TIMES ( R
1
, R
2
)
R
1
R
2
R
1
x R
2
x
PRODUCT R
1
x R
2

(R
1
, R
2
)




V d PRODUCT R
1
x R
2

R
1
Lp Kho
D99 Kho 1
D2000 Kho 2
Lp Kho Ngnh
D99 Kho 1 CNTT
D99 Kho 1 Vin thng
D2000 Kho 2 CNTT
D2000 Kho 2 Vin thng
R
2
Ngnh
CNTT
Vin thng
R
1
x R
2
Hnh 5.4 M t php ttch i s quan h









5.2.6 Php chn - Selection
Php chn- SELECT to ra mt quan h kt qu. Bc trng vi bc quan h ngun v cc
b ca n l cc b ca quan h ngun tho mt biu thc logic no .
nh ngha: R l mt quan h trn tp cc thuc tnh , cho E l mt biu thc logic pht
biu trn tp thuc tnh . Ni rng b t tho mn biu thc logic E , k hiu t[E] nu
sau khi thay mi gi tr ca thuc tnh A trong E bi gi tr t[A] tng ng th nhn c
mt mnh ng, tc l t[A] nhn gi tr True.
Biu thc logic c biu din gm nhiu ton hng v gia cc ton hng l cc php so
snh n gin, nhn gi tr "ng" hoc "sai".
Ton hng: l hng hoc cc thuc tnh quan h..
Cc php so snh = {<, > , , = , , }
Cc php logic: (OR/ hoc ) , ( AND /v) v ( NOT/ph nh) .
K hiu:
E
(R) = { t t R & t[E] = True

}
R
A T
F
(R)

E
(R)
RESTRICT(R,K)
V d RESTRICT (R, NSX=Vit nam)

R
M# N# NSX
C01 VNA Vit nam
C02 HQU Hn Quc
C03 VNA Vit nam

N#=VNA
(R)
M# N# NSX
C01 VNA Vit nam
C03 VNA Vit nam
Hnh 5.5 M t php chn i s quan h






102

Chng I: Khi nim c bn v cc h c s d liu

5.2.7 Php chiu - PROJECT
T quan h ngun R b i mt s thuc tnh v/ hoc sp xp li cc thuc tnh cn li. Cc
b ca n khng trng nhau. C th thao tc nh sau:
Loi khi quan h R tt c cc ct ng vi cc thuc tnh trn tp \ X.
B i nhng b ging nhau v ch gi li nhng b i din.
Gi
A1,A2, .., Ak
(R) l quan h chiu, khi :

A1,A2, .., Ak
(R) = {t[X] t R v X = (A
1
, A
2
,.., A
k
)}


K hiu :
R A
1
, A
2
,.., A
k

A1,A2, .., Ak
(R)

A1,A2, .., Ak
(R)
R [A
1
, A
2
,.., A
k
]
PROJECT(R, [A
1
, A
2
,.., A
k
] )
V d PROJECT (R, NSX)

R
M# N# NSX
C01 VNA Vit nam
C02 HQU Hn Quc
C03 VNA Vit nam
NSX
Vit nam
Hn Quc
Hnh 5.6 M t php chiu i s quan h






5.3 Cc php ton i s b sung
5.3.1 Php chia - DIVISION
nh ngha: Cho 2 quan h R
1
() v R
2
(), , . Thng ca php chia
quan h R
1
() cho R
2
() l mt quan h trn tp cc thuc tnh X = \ c xc nh
nh sau: R
1
R
2
:= {t s R
2
, (t, s) R
1
}
C th biu din php chia bng cc php ton c bn nh sau:
Thc hin php chiu T =
X
(R
1
)
V =
X
((T x R
2
) - R
1
) .
R
1
R
2
= T V =
X
(R
1
) -
X
((
X
(R
1
) x R
2
) - R
1
)
K hiu: R
1
R
2

R
1
R
2
R
1
R
2

DIVIDE (R
1
, R
2
)
R
1
/ R
2




V d DIVIDE (R
1
, R
2
)




103

Chng I: Khi nim c bn v cc h c s d liu


104
















5.3.2 Php kt ni JOIN
a) Kt ni bng nhau v khng bng nhau:
nh ngha: Php kt ni - ca quan h R() v S() theo thuc tnh th i v j, trong
= {<, >, ,,}, l quan h trn cc thuc tnh ca = v cc b l nhng
b ca tch Descartes ca R v S sao cho cc thnh phn trong th i ca R quan h vi
thnh phn th j ca quan h S. Nu l quan h = gi l kt ni bng, ngc li gi l
kt ni khng bng. K hiu l R S .
Tnh Descartes T = R x S.
R S

Thc hin php chn
Ai Bj
(T)
R S

=
Ai Bj
(R x S)
K hiu: R S


JOIN (R, S, K)



V d JOIN (R, S, B < D)








R
1
R
2
R S

T# M#
T1 C1
T1 C2
T2 C1
T2 C3
T2 C5
T2 C4
T3 C2
T3 C4
T4 C4
T5 C2
T5 C4
T5 C5

Kt qu
C1
C2


C1
C3
C5


C2
C4
T#
T1
R
1
R
2
R
2
R
2 R
1
R
2

Kt qu
Kt qu
T#
T2
T#
T2
T3
T5
Hnh 5.8 M t php chia i s quan h
A B C
1 2 3
4 5 6
7 8 9
Quan h R
D E
3 1
6 2

Quan h S
A B C D E
1 2 3 3 1
1 2 3 6 2
4 5 6 6 2
R S : B < D
Hnh 5.8 M t php kt ni i s quan h

Chng I: Khi nim c bn v cc h c s d liu

b) Kt ni t nhin:
nh ngha: Cho quan h R() v S(). Khi kt ni t nhin ca quan h R v S l
mt quan h P trn cc thuc tnh = , v
R ><.. S = P( ) := {t R S


t[ ]
R
= t [ ]
S
}.
Tnh Descartes T = R x S.
Vi mi t T, t[ ] R = t[ ] S
R ><.. S

= Thc hin php chn
Ai Bj
(T)
R ><.. S

=
X
(

R.X=S.X
(R x S))
V d





105





A B C
a b c
d b c
b b k
c a d

Quan h R
A B C D
a b c a
a b c y
d b c d
d b c y
c a d b
R><.. S
B C D
b c d
b c y
a d b


Quan h S
Hnh 5.9 Php kt ni t nhin
c) Na kt ni:
nh ngha: Cho quan h R() v S(). Khi na kt ni ca quan h R v S l php
chiu trn cc thuc tnh trong php kt ni t nhin ca R v S:
R >< S =

( R x S )
V d








A B C
a b c
d b c
b b k
c a d
A B C D
a b c a
a b c y
d b c d
d b c y
c a d b
B C D
b c d
b c y
a d b
Quan h R Quan h S R >< S
A B C
a b c
d b c
c a d
R >< S
Hnh 5.10 Php na kt ni
5.4 Cc tnh cht ca i s quan h
Kt qu cc php ton cng l mt quan h. Tuy nhin cc ton hng l cc quan h giao
hon vi nhau, ngha l cc b thay i th t trong bng, iu ny khng quan trng vi
cch biu din d liu. N vn m bo tnh c lp v tnh ton vn d liu.
5.4.1 Tnh cht giao hon
Cc php hp , giao v kt ni trong i s quan h l cc php ton c tnh cht giao hon.
Tc l vi mi quan h R
1
, R
2
th

Chng I: Khi nim c bn v cc h c s d liu

R
1


R
2
= R
2
R
1
R
1
R
2
= R
2
R
1
R
1
><. R
2
= R
2
><. R
1
5.4.2 Tnh cht kt hp
Cc php hp , giao , kt ni v tch Descartes trong i s quan h l cc php ton c
tnh cht kt hp. Tc l vi mi quan h R
1
, R
2
, R
3
th:
R
1


R
2
)



R
3
= R
2
(R
1


R
3
)
(R
1
R
2
) R
3
= R
2
( R
1
R
3
)
R
1
><. ( R
2
><. R
3
) = (R
2
><. R
1
) ><. R
3
(R
1
x R
2
)

x

R
3
= R
2
x (R
1
x R
3
)


5.4.3 Tnh cht tch lu ng
Cc php hp , giao v kt ni trong i s quan h l cc php ton c tnh lu ng .
Tc l vi mi quan h R trn tp cc thuc tnh :
R
1


R
1
= R
1
R
1
R
1
= R
1
R
1
><. R
1
= R
1
5.4.4 Mt s tnh cht khc
Cho R l quan h bt k trn v S l quan h bt k trn . Khi :
R S = R (R S).
R S = R[X] (R[X] * S R)[X]
(R x S ) [X] = R[X] x S[X]
X= \
5.5 i s quan h ngn ng vn tin
T cc php ton ca i s quan h c th xy dng ngn ng vn tin trn cc quan h.
Mt cu hi c th c biu din bi biu thc quan h hay mt cy php ton quan h.
Kho st cc quan h sau:
Thng tin v tuyn cp: R1 (T#, TC, DAI).
Thng tin v cc loi cp: R2 (M#, MC, N#, NSX, GIA).
Thng tin v cc loi cp trn tuyn cp: R3 (T#, M#, SL, NG )
Trong :
T# M tuyn cp. N# M nc sn xut cp.
TC Tn tuyn cp. NSX Nc sn xut.
DAI di tuyn GIA n gia cp.
M# M cp. SL S lng.
MC Tn cp NG Ngy lp t.
5.5.1 Biu thc quan h
V d : Cho bit tn cc tuyn c di trn 100 Km
Chn nhng b c DAI > 100 Km t quan h R1, cho kt qu S.

106

Chng I: Khi nim c bn v cc h c s d liu

Chiu trn thuc tnh T# v TC t quan h S.
KQ(T#,TC) =
T#,TC
(
DAI>100
(R1))
S = RESTRICT(R1, DAI > 100)
KQ = PRODUCT (S, [T#,TC])
V d : Thng tin v cc tuyn c lp t cc loi cp Vit nam
Thc hin php chn trn R3 tho M#=VNA, quan h kt qu T1.
T1=
M#=VNA
(R3)
T1= RESTRICT(R3, [M#=VNA])
Kt ni R1 vi T1 trn thuc tnh chung T# , quan h kt qu T2.
T2= R1 >. R1.T#=T1.T# < T1

T2= JOIN (R1,T1, R1.T#=T1.T#)
Kt ni R2 vi T2 trn thuc tnh chung M# , quan h kt qu T3.
T3= R1 x
R2.M#=T2.M#
T1


T3=JOIN(R2,T2,R2.M#=T2.M#)
Chiu T3 trn cc thuc tnh T#, TC, DAI , quan h kt qu KQ
KQ =
T#,TC,DAI
(T3)
V d : Thng tin v cc tuyn lp t tt c cc loi cp.
Thc hin php chiu R3 trn cc thuc tnh T#, M#, quan h kt qu T1.
T1=
T#,M#
(R3)
T1= PROJECT(R3, [T#,M#] )
Thc hin php chiu R2 trn thuc tnh M#, quan h kt qu T2.
T2=
M#
(R2)
T2= PROJECT(R2, [M#] )
Thc hin php chia T1 cho T2 trn thuc tnh M#, quan h thng T3.
T3= R
1
R
2
=
X
(T1

) -
X
((
X
(T1

) x T2

) - T1

)
T3 = DIVIDE (T1, T2)
Kt ni T3 vi R1 trn thuc tnh chung T# , quan h kt qu T4.
T4= R1 x
R1.T#=T3.T#
T3


T4=JOIN(R1,T3, [R1.T#=T3.T#)
Chiu T4 trn cc thuc tnh T#, TC, DAI , quan h kt qu KQ
KQ =
T#,TC,DAI
(T3)
KQ= PROJECT(R3, [T#,TC,DAI])
5.5.2 Cy i s quan h
Cu hi truy vn c th biu din bng cc php ton i s quan h, c th biu din bng
cy i s quan h.
V d Cc tuyn cp di trn 100 km c lp t cp Vit Nam trong thng 12 nm 2000.

107

Chng I: Khi nim c bn v cc h c s d liu

Chn
N# =VNA
Kt ni T#
Chn
DAI >100
Chn
NG=12/2000
KQ
Kt ni M#
Chn
N# =VNA
R2
Kt ni M#
KQ
Kt ni T#
Chn
NG=12/2000
R3
Chiu M#
Chiu
T#,M#
R1
Chn
DAI >100
R2
R3
R1
Hnh 5.11 Biu thc i s biu din bng cy i s quan h


































5.5.3 Ci t i s quan h
1. Quy c:
For each t in R [with B] do A endfor : Lnh ny c ngha l thc hin php ton
A i vi nhng b t thuc trong quan h R tho mn iu kin B. Phn vit trong
[ ] l tu chn.

108

Chng I: Khi nim c bn v cc h c s d liu

If B then A [else C] endif : Nu iu kin B tho mn thc hin php ton A,
nu khng thc hin php ton C.
R create (P, X) : To mt quan h rng P, vi tp thuc tnh X cho trc. Lu
rng khi ni n thuc tnh A l phi hiu rng A c mt min bin thin c th
no , tc l A thuc mt kiu cho trc.
Attrib (R) : Hm ny tr v tp cc thuc tnh quan h R.
#R : Hm ny tr v lc lng (s b) ca quan h R .
Add t to P : Nu b t cha c trong quan h P th np t vo P. Php ton ny
tng ng vi cu lnh P = P{t}.
t.X = t[X]: Php chiu X trn b t hay s hn ch ca b t trn tp X.
t = <u,v> : To mt b mi t t cc b u,v c.
t in R : Cho gi tr ng (True) nu t c trong quan h R, ngc li s cho gi
tr sai (False).
2) Thut ton hp
Algorithm Union
Format P = R S
Input Quan h R , S kh hp
Output P = { t t R OR t S }
Begin
R create(P, Attrib (R)) ;
For each t in R do
Add t to P
Endfor ;
For each v in S do
If not (v in P) then
Add v to P ;
Endif ;
Endfor
Return (P)
End Union.
3) Thut ton giao
Algorithm Intersection
Format P = R .S
Input Quan h R, S kh hp
Output P = { t t R AND t S }
Begin
R create (P, attrib (R)) ;
For each t in R do

109

Chng I: Khi nim c bn v cc h c s d liu

If t in S then
Add t to P
Endif
Endfor;
Return (P)
End intersection ;
4) Thut ton tr
Algorithm Substraction
Fornat P = R - S
Input Quan h R, S kh hp
Output P = { t t R AND t S }
Begin
R create (P, attrib (R)) ;
For each t in R do
If not (t in S) then
Add t to P;
Endif
Endfor;
Return (P)
End Subs
5) Thut ton chn
Algorithm Selectoin
Fornat P = R(E)
Input Quan h R
Biu thc i s quan h
Output P = { t t R & t(E) =True}
Begin
R create (P, attrib (R)) ;
For each t in R with t(E) do
Add t to P;
Endfor;
Return (P)
End Selection :
6) Thut ton chiu
Algorithm Projection
Fornat P = R[X]
Input Tp cc thuc tnh X
Output P = { t t .X & t R }

110

Chng I: Khi nim c bn v cc h c s d liu

Begin
R create (P, X) ;
For each t in R do
Add t[X] to P;
Endfor;
Return (P)
End Projaction
7) Thut ton kt ni t nhin
Algorithm Join
Fornat P = R ><. S
Input Quan h R, S
Output P = {<u,v/x > uR, v R
u.X =v.X, X = Attrb(R) Attrib(S)}
Begin
R create (P, attrib (R ) attrib(S R) ;
X = attrib (R) attribS)
For each u in R do
For each v in S with u.X = v.X do
Add <u,v/X> to P;
Endfor
Endfor
Return (P)
Endjoin :
8) Thut ton php chia
Cho 2 quan h R v S, thut ton chia 2 quan h R S nh sau:
t M = attrib (R), N = attrib(S), X = M N. Theo nh ngha, P s l mt quan h kt
qu trn tp thuc tnh X:
P = R

S := { u.X u R & v S th <u.X,v> R}
{t s S , (t, s) R }
Algorithm Division
Fornat P = R

S
Input Quan h R, quan h S
Output P = R
1
R
2
=
X
(R

) -
X
((
X
(R

) x S

) - R

)
Begin
X = Attrib (R) Attrib (S);
Begin /* Thc hin php chiu
X
(R

) /
R create (T1, X) ;
For each t in R do

111

Chng I: Khi nim c bn v cc h c s d liu

Add t[X] to T1;
Endfor;
Return (T1)
End Projaction
Begin /* Thc hin tch cc
X
(R

) x S

/
R create (T2, Attrib(R)) ;
For each t in T1 do
For each v in S do
Add <t,v> to T2;
Endfor;
Endfor;
Return (T2)
End Descartes
Begin /* thc hin php tr (
X
(R ) x S ) - R /
R create (T3, Attrib (R)) ;
For each t in T2 do
If not (t in R) then
Add t to T3;
Endif
Endfor;
Return (T3)
End Subs
Begin /* Thc hin php chiu
X
((
X
(R ) x S ) - R ) /
R create (T4, X) ;
For each t in T3 do
Add t[X] to T4;
Endfor;
Return (T4)
End Projaction
Begin /* thc hin php tr
X
(R

) -
X
((
X
(R

) x S

) - R

) /
R create (P, X ) ;
For each t in T1 do
If not (t in T4) then
Add t to P;
Endif
Endfor;
Return (P)
End Subs
End Devision.

112

Chng I: Khi nim c bn v cc h c s d liu

5.6 Ngn ng vn tin c cu trc SQL
5.6.1 Gii thiu
SQL (Structured Query Language) c xy dng v pht trin trn c s ngn ng con d
liu SEQUEL(Structured English Query Language) v QUERY BY EXAMPLE, l ngn
ng hi-p bng th d. SQL l mt ngn ng c IBM pht trin San Jose, vi mc
ch s dng trong cc h CSDL th nghim System R. Ngy nay SQL c thng
mi ho v c s dng trong rt nhiu h thng CSDL trong cc lnh vc khc nhau.
Ngn ng vn tin SQL khng ch l mt ngn ng con thao tc d liu c lp, m cn l
mt ngn ng lp trnh c nhng trong cc ngn ng lp trnh ch khc. N l ngn ng
con d liu kiu quan h, c xy dng trn c s i s quan h v cc php ton quan
h. V vy SQL c nhiu giao din khc nhau, c thc hin qua cc thc n, ca s,
li...hoc c th lp trnh trn cc cng c ca n. SQL tr thnh mt cng c truy xut d
liu chun mc v tng i mnh, c ng dng rng ri trong nhiu lnh vc t chc
cc h thng tin qun l tc nghip.
Cng nh cc ngn ng thao tc d liu khc, ngn ng SQL gm 2 thnh phn: ngn ng
nh ngha d liu v ngn ng thao tc d liu. V c th s dng theo cc phng thc
tng tc v nhng vo mt ngn ng ch no .
1. Ngn ng SQL gm 2 thnh phn:

Ngn ng nh ngha d liu DDL (Data definition language)
Ngn ng thao tc d liu DML (Data manipution language)
SQL




113



2. S dng SQL trong mi trng:


5.6.2 Cu lnh SELECT
Dng thng dng nht ca vn tin trong SQL l cu lnh chn, c c php nh sau:
SELECT R
1
.A
1
, R
2
.A
2
,..., R
n
.A
n
FROM R
1
, R
2
,..., R
n
WHERE E
GROUP BY R
I
.A
J
HAVING <iu kin>
ORDER BY
Trong R
1
, R
2
,..., R
n
l danh sch cc tn quan h ngun v R
1
.A
1
, R
2
.A
2
,..., R
n
..A
n
l
danh sch cc thnh phn c kt xut, R.A

ngha l thuc tnh A ca quan h R. Nu
SQL-DDL To, sa v xa cu trc quan h.
Bo mt v quyn truy nhp.
SQL-DML Truy vn: Cc chc nng tm kim.
Cp nht: Chc nng thm, sa, xo d liu.
SQL SQL trong ch tng tc
SQL trong ch nhng trong ngn ng ch.

Chng I: Khi nim c bn v cc h c s d liu

trong danh sch sau t kha FROM ch c mt quan h c thuc tnh A th c th thay A
bi R.A trong danh sch sau SELECT. E l mt biu thc cha cc php logic AND, OR
v NOT v cc php ton so snh =, <., >, , , ......
Cu vn tin SQL trn c th biu din bng biu thc i s quan h nh sau :

R1.A1,A2,...,Rn.An
(
E
(R
1
x R
2
x..x R
n
)).
Ngha l ly tch cc quan h trong mnh FROM, chn theo biu thc E sau WHERE
v cui cng chiu trn cc thuc tnh sau mnh SELECT.

WHERE : Thc
hin php chiu
GROU
P
SELECT Thc
hin php chiu
ORDE
R
Thc hin
theo nhm
Thc hin
HAVING
Sort
ORDER BY
FROM : Kt ni
cc quan h
1
2
3 4
5
6
7
Yes
No
No
Yes
Hnh 5.12 Cc bc thc hin cu lnh SELECT
Sort ct sau
ORDER BY



















1. Bc th nht: Thc hin cc php tch cc, hoc php kt ni t nhin cc quan h
sau FROM: R
1
, R
2
,..., R
n
. Nu lc lng ca R
I
= l
i
v bc l n
i
, i = 1 n. Khi ,
kt qu ca tch s l mt quan h c n
1
+ n
2
+ ...+ n
n
ct v c l
1
x l
2
x ...x l
n
hng.
2. Bc th hai: Thc hin php ton chn trn quan h sau bc 1, tho biu thc i s
E sau mnh WHERE.
3. Bc th ba: Nu trong cu lnh c cha GROUP BY, ngha l h thng phi phn loi
(sort) theo cc ct c m t sau GROUP BY. Th t phn loi theo chiu t phi qua
tri. Hay ni cch khc, h thng s phn hoch quan h kt qu sau bc th 2 thnh
nhiu nhm tch bit nhau. V d GROUP BY C, HT, ngha l sp xp theo vn C
(a ch), trong C sp xp theo vn HT (h tn).

114

Chng I: Khi nim c bn v cc h c s d liu

4. Bc th t: Thc hin cc php ton gp nhm. Kt qu l mt quan h mi c
thit lp, cc hng l kt qu ca cc php gp nhm.
5. Bc th nm: Mnh HAVING xut hin nu GROUP BY xut hin. S thc
hin php chn trn quan h sau bc 4.
6. Bc su: Nu c mnh ORDER BY, thc hin php phn loi.
7. Cui cng, bc 7, h thng thc hin php chiu sau SELECT.
Vd: Lit k nhng khch hng c s d m, c biu din trong SQL nh sau :
SELECT TEN_K
FROM KHAC_HANG.
WHERE TAI_KHOAN < 0 ;
Kt qu: TEN_K
Nga
Hng
Trong cu lnh trn ch c mt quan h duy nht trong mnh FROM, khng th c s
nhm ln cc thuc tnh. V vy khng cn phi t tn quan h trc cc thuc tnh. Quan
h kt qu ch c mt ct l TEN_K. Nu mun c mt tiu khc cho ct ny, c th
a ra mt b danh (alias) cho TEN_K bng cch vit b danh ngay sau TEN_K c mt du
cch (Blank)
SELECT TEN_K HO_TEN
FROM KHACH_HANG
WHERE TAI_KHOAN < 0 ;
Kt qu: HO_TEN
Nga
Hng
Nu in ra mi thng tin v nhng khch hng c s d m, c th vit nh sau:
SELECT TEN_K, DIA_CHI, TAI_KHOAN
FROM KHACH_HANG
WHERE TAI_KHOAN < 0 ;
hoc ch cn vit :
SELECT *
FROM KHACH_HANG
WHERE TAI_KHOAN < 0 ;
K t * l cch vit ca SQL yu cu in tt c cc thuc tnh ca quan h R. Trong th d
ny, KHAC_HANG l mt quan h duy nht trong mnh FROM, khng cn phi xc
nh cc thuc tnh quan h .
V d Lit k thng tin tt c nh cung cp cc mt hng m Nga t mua.
Thc hin kt ni t nhin ca 3 quan h HOA_DON, MH_SL v CUNG_CAP bng cch
dng nhng ng thc trong mnh WHERE nh ngha php ni.

115
SELECT DISTINCT TEN_CC

Chng I: Khi nim c bn v cc h c s d liu

FROM HOA_DON, CUNG_CAP, MH_SL
WHERE TEN_K = Nga
AND HOA_DON.SHD# = MH_SL.SHD#
AND CUNG_CAP.MAT_HANG= NG_CAP.MAT_HANG
Cng nh hu ht cc ngn ng vn tin khc, SQL khng t ng loi i cc b trng lp.
V vy trong mt s trng hp, ph thuc yu cu cu hi, trong cu vn tin nn s dng
t kha DISTINCT theo sau SELECT.
5.6.3 Bin quan h
Trong mt s trng hp, c nhiu cu vn tin lin quan n nhiu b trong cng mt quan
h. thc hin c iu ny, cn nh ngha nhiu bin quan h mnh F'ROM v
dng nhng bin quan h ny lm b danh ca quan h.
V d: Lit k tn v a ch ca nhng khch hng c s d nh ca Nga.
SELECT c1. TEN_K, c1.DIA_CHI
FROM KHACH_HANG c1, KHACH_HANG c2
WHERE c1.TAI_KHOAN < c2.TAI_KHOAN
AND c2.TEN_K = Nga;
Sau mnh FROM c1 v c2 u l b danh ca KHACH_HANG, chng tr thnh cc b
chy trn KHACH_HANG.
5.6.4 Ton t LIKE
Trong mnh WHERE, c th b sung ton t LIKE m t iu kin l mt gi tr no
phi khp vi mt mu (pattern).
K hiu % : Ngha l mt chui bt k c di tu , chui bt u t v tr ca %.
K t gch thp _ i din cho mt k t bt k thay th k t _ .
V d In ra nhng mt hng c k t u l Ev gi t khong 1.00 n 1.99
SELECT ITEM, PRICE
FROM SUPPLIES
WHERE ITEM LIKE E% AND PRICE LIKE 1.__;
5.6.5 Php ton tp hp trong mnh WHERE
Trong phn ny tip tc nghin cu cc kh nng rng hn so vi php ton chn trong i
s quan h. Trong mnh WHERE c th s dng cc php s hc so snh, v th c
th vit nhng iu kin ny nh sau :
WHERE A > B + C -10
Mt kh nng m rng ca SQL cho php s dng cc tp lm ton hng c nh ngha
bng cu lnh SELECT-FROM -WHERE y , c lng trong mnh WHERE v
c gi l cu vn tin con (subquery).
Php ton IN biu din cc khi nim thuc tp. Ngc li NOT IN biu din khi
nim khng thuc tp .
ANY thng s dng cho cc khi nim tn ti. Nu S l mt biu thc biu din
cho mt tp, th iu kin l A ANY S s tng ng vi biu thc logic (X)

116

Chng I: Khi nim c bn v cc h c s d liu

(X S A X ). iu ny c ngha l tn ti thuc tnh A thuc tp X sao cho A
c quan h vi X bi cc tan t so snh .
Tng t ALL l vi mi: A ALL S (X) (X S suy ra A X ). iu ny
c ngha l vi mi thuc tnh A thuc tp X th A c quan h vi X bi cc tan
t so snh .
BETWEEN... AND: t..... n
V d In tn ca tt c nh cung cp c t nht mt mt hng m Nga t.
1. Xc nh tp S
l
cc n t hng ca Nga t quan h HOA_DON
2. Xc nh tp S
2
cc mt hng trong tp n t hng S
l
t quan h MH_SL.
3. Xc nh tp S
3
l tn cc nh cung cp cc mt hng trong tp S
2
bng cch s
dng quan h CUNG_CAP.
(1) SELECT TEN_CC
(2) FROM CUNG_CAP
(3) WHERE MAT_HANG IN
(4) ( SELECT MAT_HANG
(5) FROM MH_SL
(6) WHERE O# IN
(7) ( SELECT O#
(8) FROM HOA_DON
(9) WHERE TEN_K =Nga))
Nh vy:
Tp S
l
c xc nh bi cc cu lnh t (7)-(9).
Tp S
2
c xc nh bi cc cu lnh t (4)-(6).
Tp S
3
c xc nh bi cc cu lnh t (1)-(3).
V d Lit k cc mt hng c gi ln hn mi gi trong SUPPLIES.
SELECT MAT_HANG, GIA
FROM CUNG_CAP
WHERE GIA ALL
SELECT GIA
FROM CUNG_CAP)
V d Lit k cc mt hng c gi ln hn gi ca mt mt hng ca Nga t.
SELECT MAT_HANG, GIA
FROM CUNG_CAP
WHERE GIA ANY
(SELECT GIA
FROM CUNG_CAP
WHERE MAT_HANG IN

117
(SELECT MAT_HANG

Chng I: Khi nim c bn v cc h c s d liu

FROM CUNG_CAP
WHERE O# IN
(SELECT O#
FROM HOA_DON
WHERE TEN_K =Nga)))
V d Gi s chc chn rng Hoa ch c mt n t hng, khi c th ly c m s
n t hng qua mt cu vn tin con v dng n chn tt c cc mt hng c t
bi Hoa t quan h MH_SL. Trong trng hp khng bit chc chn Hoa t mt n
t hng, m c th t hai n t hng tr ln th cu vn tin c trnh by di y s tr
li kt qu sai:
In tn cc mt hng m Hoa t mua (trng hp ch c mt n t).
SELECT TEN_K
FROM MH_SL
WHERE O# =
(SELECT SHD#
FROM HOA_DON
WHERE TEN_K = Hoa);
5.6.6 Cc php ton gp nhm
SQL cung cp nm php ton gp nhm thng dng AVG, COUNT, SUM, MIN, MAX
v cc php ton STDDEV v VARLANCE tnh lch chun v phng sai ca mt
danh sch cc s. Mt cu lnh SELECT FROM - WHERE c th in ra kt qu khi p
dng mt hay nhiu cc php ton gp cho cc thuc tnh ca mt quan h bng cch t
quan h ny trong mnh FROM v trong mnh SELECT AVG(A),
COUNT(A),...trong A l mt thuc tnh. Nu trc cc thuc tnh A c thm t kho
DISTINCT th s trng lp b loi b trc khi php ton c thc hin.
V d
a) In v tnh s d trung bnh trong quan h CUSTOMERS..
SELECT AVG (TAI_KHOAN)
FROM KHACH_HANG.
b) In v tnh s nh cung cp
SELECT COUNT(DISTINCT TEN_CC) #TEN
FROM CUNG_CAP
#TEN l tn ct mi khi in ra kt qu.
c) S cc nh cung cp ru cuc li
SELECT COUNT(DISTINCT TEN_CC) #TEN_CLUI
FROM CUNG_CAP
WHERE MAT_HANG =Cuc li;

118

Chng I: Khi nim c bn v cc h c s d liu

5.6.7 Mnh GROUP BY ... HAVING
C th phn hoch cc b ca mt quan h thnh cc nhm tch bit nhau v p dng cc
php ton gp cho cc nhm. Trong cu lnh SELECT FROM WHERE, mnh
GROUP BY nhm li bi mt danh sch cc thuc tnh ca quan h cn nhm v tho mt
iu kin nhm HAVING:
GROUP BY A
l
, A
2
, .., A
k

HAVING E
Phn hach quan h thnh cc nhm sao cho hai b cng trong mt nhm khi v ch khi
chng ging nhau mi thuc tnh A
l
, A
2
, .., A
k
. cho kt qu ca cu vn tin c
ngha, cc thuc tnh A
l
, A
2
, .., A
k
cng phi xut hin trong mnh SELECT mc d
chng c th c nhng b danh in ra nu cn.
V d In ra tt c cc mt hng v gi trung bnh ca tng nhm
SELECT MAT_HANG, AVG (GIA) AP
FROM CUNG_CAP
GROUP BY MAT_HANG
Mt mnh WHERE c th theo sau mnh FROM , ch cn mt tp con ca cc b khi
to cc nhm. C th sp xp in ra mt tp con cc nhm, c lp vi kiu kin chn lc
trong mnh WHERE trc khi xy dng cc nhm.
V d In ra tn v gi trung bnh ccmt hng ru c nhiu nh cung cp
SELECT MAT_HANG, AVG (GIA) AP
FROM CUNG_CAP
WHERE MAT_HANG LIKE %Ru%
GROUP BY MAT_HANG
HAVING COUNT(*) > 1 ;
5.6.8 Cc php ton lu tr
1. Php chn:
Chn thm cc b mi vo quan h, cu trc cu lnh nh sau:
INSERT INTO R
VALUES (a
1
,a
2
,...,a
n
)
Tr ong R l tn quan h v r= (a
1
,a
2
,...,a
n
) l mt b mi cn chn.
V d :
a) Thm thng tin Thu cung cp Ru Lng Vn, nhng cha c gi.
INSERT INTO CUNG_CAP (TEN_CC, MAT_HANG)
VALUES (Thu, Ru Lng Vn);
b) To quan h NG_CC (TEN_CC, GIA) cha tn ngi cung cp
Ru cuc li
INSERT INTO NG_CC (TEN_CC, GIA)
SELECT TEN_CC, GIA

119

Chng I: Khi nim c bn v cc h c s d liu

FROM CUNG_CAP
WHERE MAT_HANG =Ru cuc li );
2. Php xo
C php php xo nh sau:
DELETE FROM R
WHERE E
Trong R l tn quan h v E l biu thc i s. Ngha l xo khi quan h R tt c cc
b tho iu kin E.
V d
a) Xo cc n t hng v Ru cuc li
DELETE FROM HOA_DON
WHERE O# IN
( SELECT SHD#
FROM MH_SL
WHERE MAT_HANG =Ru cuc li );
b) Xo Nga khng cn cung cp Ru cuc lina
DELETE FROM CUNG_CAP
WHERE TEN_K=Nga AND MAT_HANG =Ru cuc li;
3. Php sa i
C php php sa i thng tin nh sau:
UPDATE R
SET A
1
=a
1
, A
2
=a
2
,...,A
n
=a
n

WHERE E
Trong R l tn quan h v E l biu thc i s. Ngha l trong quan h R, sa gi tr
cc thuc tnh A
i
bng a
i
,

i=1,2,.., n nu mi b tho iu kin E.
V d
a) Hiu chnh gi ca Ru H Ni do nh my Ru H ni cung cp thnh
15.000 ng/chai
UPDATE CUNG_CAP
SET GIA =15.000
WHERE TEN_CC = Nh my ru H ni
AND MAT_HANG =Ru H ni;
b) Gim 10% gi Ru H Ni do nh my Ru H ni cung cp.
UPDATE CUNG_CAP
SET GIA = 0.9*GIA
WHERE TEN_CC = Nh my ru H ni
AND MAT_HANG =Ru H ni;

120

Chng I: Khi nim c bn v cc h c s d liu

5.6.9 Tnh y ca SQL
Phn ny xem xt kh nng ca ngn ng SQL c thc hin c cc biu thc i s quan
h nh cc ngn ng thao tc d liu khc hay khng. V vy ch cn trnh by SQLthc
hin nm php ton c bn ca i s quan h .
Gi s cho cc quan h R(A
1
,A
2
,...,A
n
) v S(B
1
,B
2
,.. ,B
m
). Trong trng hp ly hp,
hoc hiu ca R v S, nu bc ca R v S khng ging nhau, tc l n m, c th t li tn
cho cc thuc tnh ca S, to ra mt quan h mi TAM vi cc thuc tnh nh cc thuc
tnh ca quan h R:
INSERT INTO TAM
SELECT *
FROM S
Khng mt tnh tng qut, gi s n = m v A
i
= B
i
, i=1,2,...,n.
Php hp: T = R S
INSERT INTO T
SELECT *
FROM R
INSERT INTO T
SELECT *
FROM S
Php tr T = R S = (R S ) - S
DELETE FROM T
(SELECT (A
1
,A
2
,...,A
n
) IN
FROM S);
Php giao T = R S = R ( R S ) = R T2
DELETE FROM T2
(SELECT (A
1
,A
2
,...,A
n
) IN
FROM S);
DELETE FROM T
(SELECT (A
1
,A
2
,...,A
n
) IN
FROM T2);
Tch Cc T = R x S
INSERT INTO T
SELECT R.A
1
,...,R.A
n
, S.B
1
,...,S.B
n
FROM R,S
Php chn T =
F
(R)
INSERT INTO T
SELECT *
FROM R

121

Chng I: Khi nim c bn v cc h c s d liu

WHERE E;
Php chiu T =
A1,A2,...,Ak
(R)
INSERT INTO T
SELECT A
1
,A
2
,...,A
k
FROM R;
5.6.10 Ngn ng nh ngha d liu
Lnh to, xa mt quan h: Lnh to mt quan h cho php m t tn bng v xc nh
cc phn t ca bng ng vi cc ct v cc rng buc gia cc ct. C php c dng
tng qut nh sau:
CREATE TABLE <tn bng> (<Cc phn t ca bng>)
V d: To cu trc quan h TUYEN (C#, TC, DAI)
CREATE TABLE TUYEN
(C# CHAR(5) NOT NULL
TC CHAR(15) ,
DAI INT );
Ngc vi lnh to l lnh xa quan h: Xa quan h CUNG_CAP ra khi CSDL c th
vit : DROP TABLE CUNG_CAP
To v xa ch mc Lnh to ch mc: Ch mc c s dng lm tng tc truy
xut d liu. Nu quan h R c ch mc trn thuc tnh A th c th truy xut tt c cc
b c gi a cho trc ca thuc tnh A theo thi gian t l vi s lng cc b:
CREATE INDEX I
ON R(A);
Loi b ch mc I ra khi quan h R nhng khng lm nh hng n d liu trong quan h
R, c php lnnh sau:
DROP INDEX I
5.6.11 Khung nhn View
Trong SQL c nhm php ton thc hin chc nng ca ngn ng nh ngha d liu lc
con (subschema DDL), hay l chc nng nh ngha khung nhn (view) khng tn ti
trong b nh nhng c th truy vn. C php ca lnh nh sau:
CREATE VIEW V(A
1
,A
2
,...,A
n
) AS Q;
Trong V l tn ca khung nhn, A
1
,A
2
,...,A
n
l cc thuc tnh ca khung nhn v Q l
cu vn tin ca khung nhn.
V d
a) To khung nhn gm cc mt hng v gi ca nh cung cp Nga.
CREATE VIEW NGA_VIEW(MAT_HANG, GIA) AS
SELECT MAT_HANG, GIA
FROM CUNG_CAP R
WHERE TEN_=Nga;

122

Chng I: Khi nim c bn v cc h c s d liu

b) To khung nhn khch hng t cc n hng .
CREATE VIEW DH(TEN_K, NGAY, MAT_HANG,
SO_LUONG) AS
SELECT TEN_K, NGAY, MAT_HANG, SO_LUONG
FROM HOA_DON, MH_SL
WHERE HOA_DON.SHD# = MH_SL.SHD# ;
Trong cu ln trn, bin i thuc tnh TEN_K ca HOA_DON thnh TEN_K trong
khung nhn DH, v lnh cho php xc nh cc thuc tnh cho khung nhn mt cch tng
minh.
Cui cng, nu mun hy b khung nhn, c php nh sau:
DROP VIEW V
Cu lnh ny khng c tc dng trn CSDL nhng nhng ' cu vn tm trn khung nhn V
khng cn c chp nhn na.
5.6.12 Database catalog
C th ly thng tin v CSDL bng cch s dng cc cu vn tin tham chiu n cc anh
mc ca c s d liu. Cc danh mc c th c coi nh l nhng quan h. C bn
database catalog (danh mc ca CSDL): TABLES, VIEWS, INDEXES, v COLUMNS.
Mt s danh mc ca khung nhn VIEWS:
VIEWS$TEXT: Hin th chui.
VEW$: Ngy thng to khung
.......
V d
a) Tm nh ngha ca khung nhn NGA_VIEW
SELECT VIEWS$TEXT
FROM VIEWS[NGA_VIEW]
Tn ca khung nhn c ch ra trong du ngoc vung [NGA_VIEW]. Kt qu ca cu
vn tin trn s l chui:
SELECT MAT_HANG, GIA FROM CUNG_CAP WHERE TEN_K =Nga;
b) Xc nh ngy thng to khung nghn NGA_VIEW
SELECT VEW$TIME
FROM VIEWS[NGA_VIEW]
xc nh thng tin v cc thuc tnh ca mt quan h hoc mt khung nhn, c th
vn tin danh mc COLUMNS. Mt s cc thuc tnh ca danh mc COLUMNS:
COL$NAME: tn ca thuc tnh.
COL$LD: v tr ca thuc tnh trong danh sch cc thuc tnh ca quan h.
COL$DATATYPE: kiu d llu ca thuc tnh.
COL$LENGTH: s byte hoc s ch.s thp phn, tng ngvl kiu k t v
klu s.

123
COL$CALE: s ch s sau du chm thp phn.

Chng I: Khi nim c bn v cc h c s d liu

COL$NULL: cho bit c c php s dng gi tr null trong ct.
V d
a) Xc nh tn, kiu v v tr cc thuc tnh ca khung nhn NGA_VIEW
SELECT COL$NAME, COL$ID, COL$DATATYPE
FROM COLUMNS[NGA_VIEW]
COL$NAME COL$ID COL$DATATYPE
MAT_HANG 1 CHAR
GIA 2 NUMBER
a) Xc nh ngy thng to ra quan h SUPPLIES
SELECT TAB$TIME
FROM TABLES[SUPPLIES];
S dng danh mc INDEXES c th vn tin tm ra thng tin v nhng ch mc
khai bo i vi mt quan h cho trc. Mt s danh mc ca INDEXES:
IDX$NAME: tn ca ch mc.
IDX$COLUMN: thuc tnh c ch mc.
IDX$UNIQUE: thuc Linh IDX$COLUMN c c dng nh l mt kha
ca quan h hay khng.
V d Ch mc O#_INDEX c to nh sau
SELECT INDEX O#_INDEX
ON HOA_DON(O#)
Khi c th truy vn ch mc O#_INDEX c to ra nh th no:
SELECT IDX$NAME, IDX$COLUMN, IDX$UNIQUE
FROM INDEXES(HOA_DON);
IDX$NAME IDX$COLUMN IDX$UNIQUE
O#_INDEX O# Non Unique

Cu hi trc nghim
1. Ngn ng thao tc d liu l
A. Mt tp cc php ton thao tc trn cc h c s d liu.
B. Biu din d liu mt cch thng nht.
C. S thng nht tng tng trong cc php ton thao tc
D. Thng tin c biu din bng mt v ch mt cch duy nhaats
2. Ngn ng inh ngha d liu - DDL (Data Definition Language).
A. c c t bng mt phn ca h qun tr c s d liu.
B. c c t bng mt ngn ng d liu
C. c c t bng mt ngn ng, mt phn ca h qun tr c s d liu.
D. c c t bng cch chng trnh ng dng

124

Chng I: Khi nim c bn v cc h c s d liu

3. Ngn ng thao tc d liu DML (Data Manipulation Language)
A. Cc ton hng v kt qu ca cc php ton l cc quan h
B. Biu din d liu mt cch thng nht.
C. c c t bng mt ngn ng d liu
D. c c t bng cch chng trnh ng dng
4. Nhm cc php ton lu tr bao gm
A. Chn thm , xo, sa i
B. Chn thm , xo,
C. Php chn SELECT, chn thm
D. Php chn SELECT, php chiu PROJECT, php kt ni JOIN
5. Nhm cc php ton tm kim gm:
A. Php chn SELECT, php chiu PROJECT, php kt ni JOIN
B. Chn thm , xo, sa i
C. Chn thm , xo,
D. Php chn SELECT, chn thm
6. Php chiu:
A.
E
(R) = { t t R & t[E] = True

}
B.
A1,A2, .., Ak
(R) = {t[X] t R v X = (A
1
, A
2
,.., A
k
)
C. R
1
x R
2
= P( ) := {t t[] R
1
& t[ ] R
2
}
D. R
1
R
2
= {t t R
1
And t R
2
}
7. Hy chn t/cm t tng ng hon thin khng nh sau: i s quan h l mt
trong nhng ngn ng thao tc d liu, bao gm cc php ton trn cc quan h. l
cc php ton .............. Tp hp cc php ton quan h to nn mt c ch truy nhp
d liu kh linh hot v mm do.
A. Hp, giao, chiu, chn v kt ni.
B. Chn thm , xo, sa i
C. Chn SELECT, chiu PROJECT, kt ni JOIN
D. Hp, giao, chiu v chn.
8. Hy chn t/cm t tng ng hon thin khng nh sau: R1 v R2 l cc quan
h kh hp trn cng tp cc thuc tnh ca . Khi hp ca chng l ...... trn .
A. Mt quan h
B. Mt ph thuc hm
C. Mt nhm cc bn gi
D. L tp con cc thuc tnh
9. Hy chn t/cm t tng ng hon thin khng nh sau: R1 v R2 l cc quan
h kh hp trn cng tp cc thuc tnh ca . Khi giao ca chng .........trn ,
A. Mt quan h
B. Mt ph thuc hm
C. Mt nhm cc bn gi

125

Chng I: Khi nim c bn v cc h c s d liu

D. L tp con cc thuc tnh
10. Hy so khp thng tin 2 phn di y vi nhau:
Phn 1 Phn 2
1 Kt qu cc php ton ..... A vn m bo tnh c lp v tnh ton
vn d liu.
2 Cc ton hng .......... B. l cc quan h giao hon vi nhau
3 Thay i th t cc b trong bng ...... C. l mt quan h
4 Cc php hp , giao v kt ni trong i
s quan h......
D. l cc php ton c tnh cht giao hon

a. 1- D; 2- C ; 3 B ; 4 A .
b. 1- C; 2- B; 3 A; 4 D
c. 1- A; 2- B; 3 C; 4 D.
d. 1- D; 2- B; 3 A; 4 C.
11. Hy so khp thng tin 2 phn di y vi nhau:
Phn 1 Phn 2
1 Cc php hp , giao , kt ni v
tch cc trong i s quan h .....
A biu thc quan h hay mt cy
php ton quan h
2 Php chn- SELECT .......... B. l cc php ton c tnh cht kt hp
3 Mt cu hi c th c biu din bi ...... C. i s quan h, c th biu din bng
cy i s quan h.
4 Cu hi truy vn c th biu din bng
cc php ton......
D. to ra mt quan h kt qu

a. 1- D; 2- C ; 3 B ; 4 A .
b. 1- C; 2- B; 3 A; 4 D
c. 1- A; 2- B; 3 C; 4 D.
d. 1- B; 2- D; 3 A; 4 C.
Cu hi & bi tp
1. Cu hi
1. Trnh by khi nim ngn ng thao tc d liu.
2. Cc php ton i s quan h.
a. Php hp cc quan h UNION
b. Php giao ca cc quan h INTERSECT.
c. Hiu ca cc quan h - MINUS.
d. Tch Cc (Decalesian Product)
e. Php chn Selection.
f. Php chiu PROJECT.
3. Cc php ton i s b sung.
a. Php chia - DIVISION.

126

Chng I: Khi nim c bn v cc h c s d liu

b. Php kt ni JOIN.
4. Cc tnh cht ca i s quan h.
a. Tnh cht giao hon, kt hp.
b. Tnh cht tch lu ng, mt s tnh cht khc.
5. i s quan h ngn ng vn tin.
6. Cc thut ton ci t i s quan h.
a. Thut ton hp , giao.
b. Thut ton tr.
c. Thut ton chn, chiu.
d. Thut ton kt ni t nhin.
e. Thut ton php chia.
7. Ngn ng vn tin SQL.
8. Cu lnh SELECT.
a. So snh mu LIKE.
b. Php ton tp hp trong mnh WHERE.
c. Cc php ton gp nhm.
d. Gp theo nhm.
9. Cc php ton lu tr
a. Php chn.
b. Php xo.
c. Php sa i.
10. Tnh y ca SQL
11. Ngn ng nh ngha d liu
12. Khi nim ngn ng hng i tng
2. Bi tp
Bi 1: Gi s trong nghip v qun l pht hnh bo ch, c cc thng tin qun l tc
nghip nh sau
MK# : M hiu khch hng t mua bo. TK : H v tn khch hng.
DC : a ch khch hng. SDT : S in thoi.
B# : M bo khch t mua. TB : Tn bo (tp ch).
GIA : Gi bo. NG : Ngy khch t bo, ch.
SL : S lng bo, ch khch t mua.
1. Tch v cc quan h c dng chun cao, khng tn tht thng tin.
2. Thng tin v tin khch t mua.
3. C bao nhiu ngi mua cc loi bo.
4. Xc nh thng tin v tt c khch hng t mua bo NDA (Nhn Dn) trong
qu I/2000.( trong tt c 4 qu).
5. Thng tin v cc loi bo khch hng t mua trong qu I/2000.

127

Chng I: Khi nim c bn v cc h c s d liu

6. Tnh tng s lng v tin cc loi bo( tp ch) khch t mua trong tng
qu nm 1999.
7. Tnh tng s lng v tin cc loi bo( tp ch) khch t mua trong cc
thng nm 1999.
8. Hy xc nh thng tin v tt c khch hng t mua tt c cc loi bo c trong
danh mc.
9. Lp bng k tnh tng tin cc loi bo m khch t mua trong tng thng?
10. Lp bng k tnh tng tin cc loi bo m khch t mua trong tng qu nm
1999?
11. Thng tin v cc loi bo khch t mua c s lng v tin cao hn s lng
v tin khch t mua bo VHT vn ho&th thao?
12. Thng k s lng cc loi bo & tin khch t mua tng qun.
13. Cho bit thng no c s lng khch t mua bo Nhn dn cao hn thng 3
hng nm.
14. Hy xc nh thng tin v cc loi bo c t mua nhiu nht
15. Nhng loi bo no m tt c khch hng t mua.
Bi 2: Thng tin v cuc m thoi:
T# : M tng i. TD : Tn gi tng i.
DV : n v qun l. DL : Dung lng.
B# : M thu bao TB : Tn thu bao.
DC : a ch thu bao. SM : S my thu bao.
NG1: Ngy lp t. DT : i tng thu bao.
NG2: Ngy gi. SDT : S my n.
BD : Gi bt u. KT : Gi kt thc
1. Thng tin v cc loi tng i.
2. Thng tin v cc i tng khch hng .
3. Thng tin v cc hng trong thng.
4. Thng tin v cc n v qun l.
5. Thng tin v cc loi tng i c cng dung lng.
6. Thng tin i tng s dng in thoi theo tng Qun.
7. C bao nhiu cuc gi i t mt tng i.
8. C bao nhiu cuc gi ni ht, lin tnh,quc t.
9. C bao nhiu cuc gi lin tnh , quc t b ch cc.
10. Sn lng pht theo tng tng i.
11. Sn lng pht theo tng hng.
12. Sn lng pht theo tng thng.
13. Sn lng pht theo hng/ thng.
14. Sn lng pht theo thng/hng.
15. Sn lng pht theo i tng.

128

Chng I: Khi nim c bn v cc h c s d liu

16. Hng no thng xuyn (thng) xy ra ch cc.
17. Hng no trong nm khng c hin tng ch cc.
18. Thng k tt c thu bao c in thoi trng nhau.
19. Lit k cc thu bao thng no cng s dng in thoi.
20. Lit k cc thu bao trong nm khng mt ln s dng gi i lin tnh, quc t.
21. Nhng thu bao no c s cuc gi trn 100 cuc thng.
22. Thu bao no c s pht gi trn 1000 pht/thng.
23. S my no hng thng u c cc cuc gi n.
24. S my no trong mt thng nhn 100 cuc.
25. Tnh s cuc gi n cho tng thu bao n.
26. Tnh sn lng pht tng i/qu.
27. Tng i no c s cuc gi, sn lng pht / thng cao hn tng i A do
Cty in thoi qun l.
28. a bn no thng c cc cuc gi cao nht .
29. Tng s cuc gi qua tng i.
30. Tng s cuc gi thng
31. Tng s cuc gi i tng
32. Tng s cuc gi Qu.
33. S my no c mt gi cao.
34. Thng k cc thu bao hng thng s dng 5 cuc gi.
Bi 3: Qun l mng cp
TC# : M tuyn T : Tn gi tuyn
DAI : di tuyn cp. MC# : M cp.
MC : Tn gi cp GIA : Gi cp
35. SL : S lng cp lp t NSX : Nc sn xut
1. Gi tr cc loi cp c lp t.
2. Gi tr cc loi cp cha c lp t.
3. Gi tr cc loi cp c lp t trong tng nm.
4. Gi tr cc loi cp Vit nam c lp t trn tng tuyn.
5. Gi tr cc loi cp Vit nam cha c lp t.
6. Cc loi cp c tng gi tr lp t trn 5 t ng VN.
7. Cc loi cp c tng gi tr trn 5 t ng cha c lp t.
8. Tng gi tr lp t trn tng tuyn.
9. Loi cp no c lp t trn tuyn nhng trong cc kho khng cn.
10. Tuyn no c tt c cc loi cp nh trong kho c.
11. Tuyn no c tng gi tr lp t ln hn tuyn H Ni-Qung ninh.



129


98

5

CC NGN NG THAO TC D LIU


Chng V s gii thiu mt s ngn ng thao tc d liu, nh ngn ng d liu da trn
i s quan h, ngn ng SQL .... Ngn ng x l d liu c chia thnh hai loi khc
nhau da trn hai chc nng khc nhau. l cc chc nng khai bo v chc nng tnh
ton. Vi cc trnh ng dng, d liu thng c m t v tnh ton khi chng trnh thc
hin, cn trong cc h thng CSDL, d liu c nh ngha mt ln duy nht. V vy cn
c mt phng tin nh ngha ngn ng d liu c kh nng m phng cc php tnh
quan h c tnh y hn. Ni dung ca chng bao gm:
Gii thiu tng quan v ngn ng thao tc d liu.
Cc php ton i s quan h
i s quan h ngn ng vn tin
Ngn ng vn tin SQL
5.1 Ngn ng c s d liu
Theo cch nhn ca ngi s dng, ngn ng thao tc d liu l mt tp cc php ton dng
thao tc trn cc h c s d liu. Nh trong cc chng II v III kho st, biu din
d liu mt cch thng nht dn n s thng nht tng tng trong cc php ton thao tc,
v thng tin c biu din bng mt v ch mt cch nn ch cn mt php ton cho mi
mt chc nng c bn (thm, b sung, loi b...). Ngc vi n, trong nhiu cu trc phc
tp, thng tin c biu din bng nhiu cch. V v vy, cn phi ci t nhiu tp cc
php ton thao tc khc nhau.
5.1.1 Ngn ng nh ngha d liu
Lc khi nim c c t bng mt ngn ng, mt phn ca h qun tr c s d liu,
c gi l ngn ng inh ngha d liu - DDL (Data Definition Language).
Ngn ng nh ngha d liu bao gm mt h thng k hiu m t cc kiu thc th v mi
lin h gia chng theo mt m hnh d liu c th. Ngn ng nh ngha d liu c s
dng khi thit k CSDL hoc sa i thit k CSDL. N khng s dng truy xut d liu
hoc sa i d liu. C nhng cu lnh m t cu trc vt l theo thut ng tru tng.
Thit k chi tit CSDL vt l c thc hin bi cc th tc ca h qun tr CSDL- DBMS.
Khi thc hin, chng s bin dch cc cu lnh ngn ng nh ngha d liu.
V d: V ngn ng nh ngha d liu SQL:
CREATE TABLE QLCAP (TC#:.CHAR(3), MC#: CHAR(3), SL: INT,
DATE: CHAR(6), GTR: INT).
CREATE INDEX FOR QLCAP ON TC#, MC#;
CREATE TABLE QLCAP m t quan h vi tn l QLCAP v cc thuc tnh ca
n, ng thi cu trc ci t vt l l cc tn trng, ki trng l cc s nguyn
v chui k t c chiu di c nh.
Chng I: Khi nim c bn v cc h c s d liu

CREATE INDEX m t cn to ra mt ch mc trn s hiu ca tuyn cp v s
hiu loi cp nh l cc thnh phn ca lc vt l. Cho php tm kim cc thng
tin v cc tuyn cp, v cc loi cp c lp t trn cc tuyn cp. Trnh bin
dch ca DDL c th chn mt hm bm c kha l chui 3 k t cho mi trng
TC# v MC# v n c th lu cc bn ghi trong bucket, tu theo gi tr hm bm
ca TC# v MC#.
5.1.2 Ngn ng thao tc d liu
Ngn ng thao tc d liu DML (Data Manipulation Language) hay cn gi l ngn ng
vn tin (Query Language) dng thao tc trn cc quan h CSDL, bao gm mt s php
ton, cc ton hng l cc quan h v kt qu ca cc php ton cng l mt quan h. Ngn
ng thao tc d liu gm 2 nhm php ton:
a) Nhm cc php ton lu tr:
Chn thm: Chn vo CSDL t vng lm vic m cha cc thng tin v mt
bn ghi c th.
Xo: Xo mt b hay xo mt nhm cc b.
Sa i: Sa i gi tr ca mt s thuc tnh.
b) Nhm cc php ton tm kim gm:
Php chn SELECT: To ra mt quan h mi, cc b c rt ra mt cch duy
nht t cc b ca quan h ngun tho mn mt tn t xc nh.
Php chiu PROJECT: To ra mt quan h mi, cc thuc tnh c rt ra,
hoc c bin i t cc thuc tnh ca quan h ngun, cc b l cc b ca
quan h ngun b i nhng b trng lp.
Php kt ni JOIN: Nhm to ra mt quan h mi, bng cch ni nhiu quan
h trn min thuc tnh chung. Cc thuc tnh ca quan h kt qu l cc thuc
tnh ca cc quan h thnh vin v cc b l ghp ni cc b ca quan h
ngun c cng chung gi tr thuc tnh chung.
Chng ny kho st hai lp ngn ng hi p cho m hnh quan h, l:
1. Ngn ng i s quan h, trong cu hi c biu din nh p dng cc php
tnh c bit i vi quan h.
2. Ngn ng tnh ton tn t, trong cu hi c biu din l mt tp cc b c
tho mn cc tn t xc nh.
5.2 Cc php ton i s quan h
i s quan h l mt trong nhng ngn ng thao tc d liu, bao gm cc php ton trn
cc quan h ca mt c s d liu cho trc. l cc php ton hp , giao, chiu v
chn... Tp hp cc php ton quan h to nn mt c ch truy nhp d liu kh linh hot
v mm do. V vy ngi ta thng ly i s quan h lm n v o cng sut ca h
qun tr c s d liu quan h.

99

Chng I: Khi nim c bn v cc h c s d liu

5.2.1 Ton hng ca i s quan h
Ton hng trong i s quan h l cc quan h hng hoc cc bin biu th cho cc quan h
bc c nh. Quan h R
1
v R
2
l kh hp khi :
R
1
v R
2
cng bc n.
Gi tr thuc tnh th j ca quan h ny c rt ra t cng min nh thuc
tnh th j ca quan h kia, 1 j n.
5.2.2 Php hp cc quan h - UNION
R
1
v R
2
l cc quan h kh hp trn cng tp cc thuc tnh ca . Khi hp ca
chng l mt quan h trn , cc thuc tnh l cc thuc tnh ca R1 (hoc ca R
2
), cc
b hoc ca R
1
hoc ca R
2
b i cc b trng nhau, ch gi li nhng b i din.
K hiu : R
1
R
2
= {t t R
1
hoc t R
2
}
UNION (R
1
,R
2
)




100

APPEND (R
1
,R
2
)


R
1
R
2


V d UNION (R
1
,R
2
)
R
1
R
2
R
1
R
2














R
1

M# N# NSX
C01 VNA Vit nam
C02 HQU Hn Quc
C03 JAN Nht
R
1
+ R
2

M# N# NSX
C01 VNA Vit nam
C02 HQU Hn Quc
C03 JAN Nht
C04 RUS Nga
C05 FRA Php
R
2

M# N# NSX
C04 RUS Nga
C02 HQU Hn Quc
C05 FRA Php
Hnh 5.1 M t php hp i s quan h
5.2.3 Php giao ca cc quan h - INTERSECT
R
1
v R
2
l cc quan h kh hp trn cng tp cc thuc tnh ca . Khi giao ca
chng cng l mt quan h trn , cc thuc tnh ca quan h kt qu l cc thuc ca R
1

hoc R
2
, cc b ca n l cc b c mt trong R
1
v trong R
2
.
K hiu : R
1
R
2
= {t t R
1
And t R
2
}
INTERSECT (R
1
, R
2
)



R
1
R
1
R
2

R
2
AND (R
1
,R
2
)



R
1
R
2



Chng I: Khi nim c bn v cc h c s d liu

V d INTERSECT (R
1
, R
2
)


101










5.2.4 Hiu ca cc quan h - MINUS
R
1
R
2
M# N# NSX
C02 HQU Hn Quc
R
1

M# N# NSX
C01 VNA Vit nam
C02 HQU Hn Quc
C03 JAN Nht
R2
M# N# NSX
C04 RUS Nga
C02 HQU Hn Quc
C05 FRA Php
Hnh 5.2 M t php giao i s quan h
R
1
v R
2
l cc quan h kh hp trn cng tp cc thuc tnh ca . Khi hiu ca R
1

v R
2
l quan h kt qu KQ trn cc thuc tnh . Cc thuc tnh ca KQ l cc thuc
ca R
1
hoc R
2
, cc b ca KQ l cc b c mt trong R
1
nhng khng c mt trong
R
2
. (Tng t hiu ca R
2
v R
1
gm cc b c mt trong R
2
nhng khng c mt
trong R
1
)
K hiu : R
1
R
2
= {t t R
1
v t R
2
}
MINUS ( R
1
,R
2
)



R
1
R
1
- R
2
-
R
2

REMOVE ( R
1
,R
2
)


R
1
R
2

V d : MINUS (R
1
,R
2
)



R
1

M# N# NSX
C01 VNA Vit nam
C02 HQU Hn Quc
C03 JAN Nht
R
1
R
2

M# N# NSX
C01 VNA Vit nam
C03 JAN Nht
R
2

M# N# NSX
C04 RUS Nga
C02 HQU Hn Quc
C05 FRA Php

Hnh 5.3 M t php tr i s quan h










5.2.5 Tch Cc (Cartesian Product)
Cho 2 quan h R
1
() v R
2
( ), t = . Tch cc ca 2 quan h R
1
()
v R
2
() l mt quan h P vi tp cc thuc tnh l = v cc b ca n
thnh phn u thuc R
1
v thnh phn cn li thuc R
2
.

Chng I: Khi nim c bn v cc h c s d liu

K hiu: R
1
x R
2
= P( ) := {t t[] R
1
& t[ ] R
2
}
TIMES ( R
1
, R
2
)
R
1
R
2
R
1
x R
2
x
PRODUCT R
1
x R
2

(R
1
, R
2
)




V d PRODUCT R
1
x R
2

R
1
Lp Kho
D99 Kho 1
D2000 Kho 2
Lp Kho Ngnh
D99 Kho 1 CNTT
D99 Kho 1 Vin thng
D2000 Kho 2 CNTT
D2000 Kho 2 Vin thng
R
2
Ngnh
CNTT
Vin thng
R
1
x R
2
Hnh 5.4 M t php ttch i s quan h









5.2.6 Php chn - Selection
Php chn- SELECT to ra mt quan h kt qu. Bc trng vi bc quan h ngun v cc
b ca n l cc b ca quan h ngun tho mt biu thc logic no .
nh ngha: R l mt quan h trn tp cc thuc tnh , cho E l mt biu thc logic pht
biu trn tp thuc tnh . Ni rng b t tho mn biu thc logic E , k hiu t[E] nu
sau khi thay mi gi tr ca thuc tnh A trong E bi gi tr t[A] tng ng th nhn c
mt mnh ng, tc l t[A] nhn gi tr True.
Biu thc logic c biu din gm nhiu ton hng v gia cc ton hng l cc php so
snh n gin, nhn gi tr "ng" hoc "sai".
Ton hng: l hng hoc cc thuc tnh quan h..
Cc php so snh = {<, > , , = , , }
Cc php logic: (OR/ hoc ) , ( AND /v) v ( NOT/ph nh) .
K hiu:
E
(R) = { t t R & t[E] = True

}
R
A T
F
(R)

E
(R)
RESTRICT(R,K)
V d RESTRICT (R, NSX=Vit nam)

R
M# N# NSX
C01 VNA Vit nam
C02 HQU Hn Quc
C03 VNA Vit nam

N#=VNA
(R)
M# N# NSX
C01 VNA Vit nam
C03 VNA Vit nam
Hnh 5.5 M t php chn i s quan h






102

Chng I: Khi nim c bn v cc h c s d liu

5.2.7 Php chiu - PROJECT
T quan h ngun R b i mt s thuc tnh v/ hoc sp xp li cc thuc tnh cn li. Cc
b ca n khng trng nhau. C th thao tc nh sau:
Loi khi quan h R tt c cc ct ng vi cc thuc tnh trn tp \ X.
B i nhng b ging nhau v ch gi li nhng b i din.
Gi
A1,A2, .., Ak
(R) l quan h chiu, khi :

A1,A2, .., Ak
(R) = {t[X] t R v X = (A
1
, A
2
,.., A
k
)}


K hiu :
R A
1
, A
2
,.., A
k

A1,A2, .., Ak
(R)

A1,A2, .., Ak
(R)
R [A
1
, A
2
,.., A
k
]
PROJECT(R, [A
1
, A
2
,.., A
k
] )
V d PROJECT (R, NSX)

R
M# N# NSX
C01 VNA Vit nam
C02 HQU Hn Quc
C03 VNA Vit nam
NSX
Vit nam
Hn Quc
Hnh 5.6 M t php chiu i s quan h






5.3 Cc php ton i s b sung
5.3.1 Php chia - DIVISION
nh ngha: Cho 2 quan h R
1
() v R
2
(), , . Thng ca php chia
quan h R
1
() cho R
2
() l mt quan h trn tp cc thuc tnh X = \ c xc nh
nh sau: R
1
R
2
:= {t s R
2
, (t, s) R
1
}
C th biu din php chia bng cc php ton c bn nh sau:
Thc hin php chiu T =
X
(R
1
)
V =
X
((T x R
2
) - R
1
) .
R
1
R
2
= T V =
X
(R
1
) -
X
((
X
(R
1
) x R
2
) - R
1
)
K hiu: R
1
R
2

R
1
R
2
R
1
R
2

DIVIDE (R
1
, R
2
)
R
1
/ R
2




V d DIVIDE (R
1
, R
2
)




103

Chng I: Khi nim c bn v cc h c s d liu


104
















5.3.2 Php kt ni JOIN
a) Kt ni bng nhau v khng bng nhau:
nh ngha: Php kt ni - ca quan h R() v S() theo thuc tnh th i v j, trong
= {<, >, ,,}, l quan h trn cc thuc tnh ca = v cc b l nhng
b ca tch Descartes ca R v S sao cho cc thnh phn trong th i ca R quan h vi
thnh phn th j ca quan h S. Nu l quan h = gi l kt ni bng, ngc li gi l
kt ni khng bng. K hiu l R S .
Tnh Descartes T = R x S.
R S

Thc hin php chn
Ai Bj
(T)
R S

=
Ai Bj
(R x S)
K hiu: R S


JOIN (R, S, K)



V d JOIN (R, S, B < D)








R
1
R
2
R S

T# M#
T1 C1
T1 C2
T2 C1
T2 C3
T2 C5
T2 C4
T3 C2
T3 C4
T4 C4
T5 C2
T5 C4
T5 C5

Kt qu
C1
C2


C1
C3
C5


C2
C4
T#
T1
R
1
R
2
R
2
R
2 R
1
R
2

Kt qu
Kt qu
T#
T2
T#
T2
T3
T5
Hnh 5.8 M t php chia i s quan h
A B C
1 2 3
4 5 6
7 8 9
Quan h R
D E
3 1
6 2

Quan h S
A B C D E
1 2 3 3 1
1 2 3 6 2
4 5 6 6 2
R S : B < D
Hnh 5.9 M t php kt ni i s quan h

Chng I: Khi nim c bn v cc h c s d liu

b) Kt ni t nhin:
nh ngha: Cho quan h R() v S(). Khi kt ni t nhin ca quan h R v S l
mt quan h P trn cc thuc tnh = , v
R ><.. S = P( ) := {t R S


t[ ]
R
= t [ ]
S
}.
Tnh Descartes T = R x S.
Vi mi t T, t[ ] R = t[ ] S
R ><.. S

= Thc hin php chn
Ai Bj
(T)
R ><.. S

=
X
(

R.X=S.X
(R x S))
V d





105





A B C
a b c
d b c
b b k
c a d

Quan h R
A B C D
a b c a
a b c y
d b c d
d b c y
c a d b
R><.. S
B C D
b c d
b c y
a d b


Quan h S
Hnh 5.10 Php kt ni t nhin
c) Na kt ni:
nh ngha: Cho quan h R() v S(). Khi na kt ni ca quan h R v S l php
chiu trn cc thuc tnh trong php kt ni t nhin ca R v S:
R >< S =

( R x S )
V d








A B C
a b c
d b c
b b k
c a d
A B C D
a b c a
a b c y
d b c d
d b c y
c a d b
B C D
b c d
b c y
a d b
Quan h R Quan h S R >< S
A B C
a b c
d b c
c a d
R >< S
Hnh 5.11 Php na kt ni
5.4 Cc tnh cht ca i s quan h
Kt qu cc php ton cng l mt quan h. Tuy nhin cc ton hng l cc quan h giao
hon vi nhau, ngha l cc b thay i th t trong bng, iu ny khng quan trng vi
cch biu din d liu. N vn m bo tnh c lp v tnh ton vn d liu.
5.4.1 Tnh cht giao hon
Cc php hp , giao v kt ni trong i s quan h l cc php ton c tnh cht giao hon.
Tc l vi mi quan h R
1
, R
2
th

Chng I: Khi nim c bn v cc h c s d liu

R
1


R
2
= R
2
R
1
R
1
R
2
= R
2
R
1
R
1
><. R
2
= R
2
><. R
1
5.4.2 Tnh cht kt hp
Cc php hp , giao , kt ni v tch Descartes trong i s quan h l cc php ton c
tnh cht kt hp. Tc l vi mi quan h R
1
, R
2
, R
3
th:
R
1


R
2
)



R
3
= R
2
(R
1


R
3
)
(R
1
R
2
) R
3
= R
2
( R
1
R
3
)
R
1
><. ( R
2
><. R
3
) = (R
2
><. R
1
) ><. R
3
(R
1
x R
2
)

x

R
3
= R
2
x (R
1
x R
3
)


5.4.3 Tnh cht tch lu ng
Cc php hp , giao v kt ni trong i s quan h l cc php ton c tnh lu ng .
Tc l vi mi quan h R trn tp cc thuc tnh :
R
1


R
1
= R
1
R
1
R
1
= R
1
R
1
><. R
1
= R
1
5.4.4 Mt s tnh cht khc
Cho R l quan h bt k trn v S l quan h bt k trn . Khi :
R S = R (R S).
R S = R[X] (R[X] * S R)[X]
(R x S ) [X] = R[X] x S[X]
X= \
5.5 i s quan h ngn ng vn tin
T cc php ton ca i s quan h c th xy dng ngn ng vn tin trn cc quan h.
Mt cu hi c th c biu din bi biu thc quan h hay mt cy php ton quan h.
Kho st cc quan h sau:
Thng tin v tuyn cp: R1 (T#, TC, DAI).
Thng tin v cc loi cp: R2 (M#, MC, N#, NSX, GIA).
Thng tin v cc loi cp trn tuyn cp: R3 (T#, M#, SL, NG )
Trong :
T# M tuyn cp. N# M nc sn xut cp.
TC Tn tuyn cp. NSX Nc sn xut.
DAI di tuyn GIA n gia cp.
M# M cp. SL S lng.
MC Tn cp NG Ngy lp t.
5.5.1 Biu thc quan h
V d : Cho bit tn cc tuyn c di trn 100 Km
Chn nhng b c DAI > 100 Km t quan h R1, cho kt qu S.

106

Chng I: Khi nim c bn v cc h c s d liu

Chiu trn thuc tnh T# v TC t quan h S.
KQ(T#,TC) =
T#,TC
(
DAI>100
(R1))
S = RESTRICT(R1, DAI > 100)
KQ = PRODUCT (S, [T#,TC])
V d : Thng tin v cc tuyn c lp t cc loi cp Vit nam
Thc hin php chn trn R3 tho M#=VNA, quan h kt qu T1.
T1=
M#=VNA
(R3)
T1= RESTRICT(R3, [M#=VNA])
Kt ni R1 vi T1 trn thuc tnh chung T# , quan h kt qu T2.
T2= R1 >. R1.T#=T1.T# < T1

T2= JOIN (R1,T1, R1.T#=T1.T#)
Kt ni R2 vi T2 trn thuc tnh chung M# , quan h kt qu T3.
T3= R1 x
R2.M#=T2.M#
T1


T3=JOIN(R2,T2,R2.M#=T2.M#)
Chiu T3 trn cc thuc tnh T#, TC, DAI , quan h kt qu KQ
KQ =
T#,TC,DAI
(T3)
V d : Thng tin v cc tuyn lp t tt c cc loi cp.
Thc hin php chiu R3 trn cc thuc tnh T#, M#, quan h kt qu T1.
T1=
T#,M#
(R3)
T1= PROJECT(R3, [T#,M#] )
Thc hin php chiu R2 trn thuc tnh M#, quan h kt qu T2.
T2=
M#
(R2)
T2= PROJECT(R2, [M#] )
Thc hin php chia T1 cho T2 trn thuc tnh M#, quan h thng T3.
T3= R
1
R
2
=
X
(T1

) -
X
((
X
(T1

) x T2

) - T1

)
T3 = DIVIDE (T1, T2)
Kt ni T3 vi R1 trn thuc tnh chung T# , quan h kt qu T4.
T4= R1 x
R1.T#=T3.T#
T3


T4=JOIN(R1,T3, [R1.T#=T3.T#)
Chiu T4 trn cc thuc tnh T#, TC, DAI , quan h kt qu KQ
KQ =
T#,TC,DAI
(T3)
KQ= PROJECT(R3, [T#,TC,DAI])
5.5.2 Cy i s quan h
Cu hi truy vn c th biu din bng cc php ton i s quan h, c th biu din bng
cy i s quan h.
V d Cc tuyn cp di trn 100 km c lp t cp Vit Nam trong thng 12 nm 2000.

107

Chng I: Khi nim c bn v cc h c s d liu

Chn
N# =VNA
Kt ni T#
Chn
DAI >100
Chn
NG=12/2000
KQ
Kt ni M#
Chn
N# =VNA
R2
Kt ni M#
KQ
Kt ni T#
Chn
NG=12/2000
R3
Chiu M#
Chiu
T#,M#
R1
Chn
DAI >100
R2
R3
R1
Hnh 5.12 Biu thc i s biu din bng cy i s quan h


































5.5.3 Ci t i s quan h
1. Quy c:
For each t in R [with B] do A endfor : Lnh ny c ngha l thc hin php ton
A i vi nhng b t thuc trong quan h R tho mn iu kin B. Phn vit trong
[ ] l tu chn.

108

Chng I: Khi nim c bn v cc h c s d liu

If B then A [else C] endif : Nu iu kin B tho mn thc hin php ton A,
nu khng thc hin php ton C.
R create (P, X) : To mt quan h rng P, vi tp thuc tnh X cho trc. Lu
rng khi ni n thuc tnh A l phi hiu rng A c mt min bin thin c th
no , tc l A thuc mt kiu cho trc.
Attrib (R) : Hm ny tr v tp cc thuc tnh quan h R.
#R : Hm ny tr v lc lng (s b) ca quan h R .
Add t to P : Nu b t cha c trong quan h P th np t vo P. Php ton ny
tng ng vi cu lnh P = P{t}.
t.X = t[X]: Php chiu X trn b t hay s hn ch ca b t trn tp X.
t = <u,v> : To mt b mi t t cc b u,v c.
t in R : Cho gi tr ng (True) nu t c trong quan h R, ngc li s cho gi
tr sai (False).
2) Thut ton hp
Algorithm Union
Format P = R S
Input Quan h R , S kh hp
Output P = { t t R OR t S }
Begin
R create(P, Attrib (R)) ;
For each t in R do
Add t to P
Endfor ;
For each v in S do
If not (v in P) then
Add v to P ;
Endif ;
Endfor
Return (P)
End Union.
3) Thut ton giao
Algorithm Intersection
Format P = R .S
Input Quan h R, S kh hp
Output P = { t t R AND t S }
Begin
R create (P, attrib (R)) ;
For each t in R do

109

Chng I: Khi nim c bn v cc h c s d liu

If t in S then
Add t to P
Endif
Endfor;
Return (P)
End intersection ;
4) Thut ton tr
Algorithm Substraction
Fornat P = R - S
Input Quan h R, S kh hp
Output P = { t t R AND t S }
Begin
R create (P, attrib (R)) ;
For each t in R do
If not (t in S) then
Add t to P;
Endif
Endfor;
Return (P)
End Subs
5) Thut ton chn
Algorithm Selectoin
Fornat P = R(E)
Input Quan h R
Biu thc i s quan h
Output P = { t t R & t(E) =True}
Begin
R create (P, attrib (R)) ;
For each t in R with t(E) do
Add t to P;
Endfor;
Return (P)
End Selection :
6) Thut ton chiu
Algorithm Projection
Fornat P = R[X]
Input Tp cc thuc tnh X
Output P = { t t .X & t R }

110

Chng I: Khi nim c bn v cc h c s d liu

Begin
R create (P, X) ;
For each t in R do
Add t[X] to P;
Endfor;
Return (P)
End Projaction
7) Thut ton kt ni t nhin
Algorithm Join
Fornat P = R ><. S
Input Quan h R, S
Output P = {<u,v/x > uR, v R
u.X =v.X, X = Attrb(R) Attrib(S)}
Begin
R create (P, attrib (R ) attrib(S R) ;
X = attrib (R) attribS)
For each u in R do
For each v in S with u.X = v.X do
Add <u,v/X> to P;
Endfor
Endfor
Return (P)
Endjoin :
8) Thut ton php chia
Cho 2 quan h R v S, thut ton chia 2 quan h R S nh sau:
t M = attrib (R), N = attrib(S), X = M N. Theo nh ngha, P s l mt quan h kt
qu trn tp thuc tnh X:
P = R

S := { u.X u R & v S th <u.X,v> R}
{t s S , (t, s) R }
Algorithm Division
Fornat P = R

S
Input Quan h R, quan h S
Output P = R
1
R
2
=
X
(R

) -
X
((
X
(R

) x S

) - R

)
Begin
X = Attrib (R) Attrib (S);
Begin /* Thc hin php chiu
X
(R

) /
R create (T1, X) ;
For each t in R do

111

Chng I: Khi nim c bn v cc h c s d liu

Add t[X] to T1;
Endfor;
Return (T1)
End Projaction
Begin /* Thc hin tch cc
X
(R

) x S

/
R create (T2, Attrib(R)) ;
For each t in T1 do
For each v in S do
Add <t,v> to T2;
Endfor;
Endfor;
Return (T2)
End Descartes
Begin /* thc hin php tr (
X
(R ) x S ) - R /
R create (T3, Attrib (R)) ;
For each t in T2 do
If not (t in R) then
Add t to T3;
Endif
Endfor;
Return (T3)
End Subs
Begin /* Thc hin php chiu
X
((
X
(R ) x S ) - R ) /
R create (T4, X) ;
For each t in T3 do
Add t[X] to T4;
Endfor;
Return (T4)
End Projaction
Begin /* thc hin php tr
X
(R

) -
X
((
X
(R

) x S

) - R

) /
R create (P, X ) ;
For each t in T1 do
If not (t in T4) then
Add t to P;
Endif
Endfor;
Return (P)
End Subs
End Devision.

112

Chng I: Khi nim c bn v cc h c s d liu

5.6 Ngn ng vn tin c cu trc SQL
5.6.1 Gii thiu
SQL (Structured Query Language) c xy dng v pht trin trn c s ngn ng con d
liu SEQUEL(Structured English Query Language) v QUERY BY EXAMPLE, l ngn
ng hi-p bng th d. SQL l mt ngn ng c IBM pht trin San Jose, vi mc
ch s dng trong cc h CSDL th nghim System R. Ngy nay SQL c thng
mi ho v c s dng trong rt nhiu h thng CSDL trong cc lnh vc khc nhau.
Ngn ng vn tin SQL khng ch l mt ngn ng con thao tc d liu c lp, m cn l
mt ngn ng lp trnh c nhng trong cc ngn ng lp trnh ch khc. N l ngn ng
con d liu kiu quan h, c xy dng trn c s i s quan h v cc php ton quan
h. V vy SQL c nhiu giao din khc nhau, c thc hin qua cc thc n, ca s,
li...hoc c th lp trnh trn cc cng c ca n. SQL tr thnh mt cng c truy xut d
liu chun mc v tng i mnh, c ng dng rng ri trong nhiu lnh vc t chc
cc h thng tin qun l tc nghip.
Cng nh cc ngn ng thao tc d liu khc, ngn ng SQL gm 2 thnh phn: ngn ng
nh ngha d liu v ngn ng thao tc d liu. V c th s dng theo cc phng thc
tng tc v nhng vo mt ngn ng ch no .
1. Ngn ng SQL gm 2 thnh phn:

Ngn ng nh ngha d liu DDL (Data definition language)
Ngn ng thao tc d liu DML (Data manipution language)
SQL




113



2. S dng SQL trong mi trng:


5.6.2 Cu lnh SELECT
Dng thng dng nht ca vn tin trong SQL l cu lnh chn, c c php nh sau:
SELECT R
1
.A
1
, R
2
.A
2
,..., R
n
.A
n
FROM R
1
, R
2
,..., R
n
WHERE E
GROUP BY R
I
.A
J
HAVING <iu kin>
ORDER BY
Trong R
1
, R
2
,..., R
n
l danh sch cc tn quan h ngun v R
1
.A
1
, R
2
.A
2
,..., R
n
..A
n
l
danh sch cc thnh phn c kt xut, R.A

ngha l thuc tnh A ca quan h R. Nu
SQL-DDL To, sa v xa cu trc quan h.
Bo mt v quyn truy nhp.
SQL-DML Truy vn: Cc chc nng tm kim.
Cp nht: Chc nng thm, sa, xo d liu.
SQL SQL trong ch tng tc
SQL trong ch nhng trong ngn ng ch.

Chng I: Khi nim c bn v cc h c s d liu

trong danh sch sau t kha FROM ch c mt quan h c thuc tnh A th c th thay A
bi R.A trong danh sch sau SELECT. E l mt biu thc cha cc php logic AND, OR
v NOT v cc php ton so snh =, <., >, , , ......
Cu vn tin SQL trn c th biu din bng biu thc i s quan h nh sau :

R1.A1,A2,...,Rn.An
(
E
(R
1
x R
2
x..x R
n
)).
Ngha l ly tch cc quan h trong mnh FROM, chn theo biu thc E sau WHERE
v cui cng chiu trn cc thuc tnh sau mnh SELECT.

WHERE : Thc
hin php chiu
GROU
P
SELECT Thc
hin php chiu
ORDE
R
Thc hin
theo nhm
Thc hin
HAVING
Sort
ORDER BY
FROM : Kt ni
cc quan h
1
2
3 4
5
6
7
Yes
No
No
Yes
Hnh 5.13 Cc bc thc hin cu lnh SELECT
Sort ct sau
ORDER BY



















1. Bc th nht: Thc hin cc php tch cc, hoc php kt ni t nhin cc quan h
sau FROM: R
1
, R
2
,..., R
n
. Nu lc lng ca R
I
= l
i
v bc l n
i
, i = 1 n. Khi ,
kt qu ca tch s l mt quan h c n
1
+ n
2
+ ...+ n
n
ct v c l
1
x l
2
x ...x l
n
hng.
2. Bc th hai: Thc hin php ton chn trn quan h sau bc 1, tho biu thc i s
E sau mnh WHERE.
3. Bc th ba: Nu trong cu lnh c cha GROUP BY, ngha l h thng phi phn loi
(sort) theo cc ct c m t sau GROUP BY. Th t phn loi theo chiu t phi qua
tri. Hay ni cch khc, h thng s phn hoch quan h kt qu sau bc th 2 thnh
nhiu nhm tch bit nhau. V d GROUP BY C, HT, ngha l sp xp theo vn C
(a ch), trong C sp xp theo vn HT (h tn).

114

Chng I: Khi nim c bn v cc h c s d liu

4. Bc th t: Thc hin cc php ton gp nhm. Kt qu l mt quan h mi c
thit lp, cc hng l kt qu ca cc php gp nhm.
5. Bc th nm: Mnh HAVING xut hin nu GROUP BY xut hin. S thc
hin php chn trn quan h sau bc 4.
6. Bc su: Nu c mnh ORDER BY, thc hin php phn loi.
7. Cui cng, bc 7, h thng thc hin php chiu sau SELECT.
Vd: Lit k nhng khch hng c s d m, c biu din trong SQL nh sau :
SELECT TEN_K
FROM KHAC_HANG.
WHERE TAI_KHOAN < 0 ;
Kt qu: TEN_K
Nga
Hng
Trong cu lnh trn ch c mt quan h duy nht trong mnh FROM, khng th c s
nhm ln cc thuc tnh. V vy khng cn phi t tn quan h trc cc thuc tnh. Quan
h kt qu ch c mt ct l TEN_K. Nu mun c mt tiu khc cho ct ny, c th
a ra mt b danh (alias) cho TEN_K bng cch vit b danh ngay sau TEN_K c mt du
cch (Blank)
SELECT TEN_K HO_TEN
FROM KHACH_HANG
WHERE TAI_KHOAN < 0 ;
Kt qu: HO_TEN
Nga
Hng
Nu in ra mi thng tin v nhng khch hng c s d m, c th vit nh sau:
SELECT TEN_K, DIA_CHI, TAI_KHOAN
FROM KHACH_HANG
WHERE TAI_KHOAN < 0 ;
hoc ch cn vit :
SELECT *
FROM KHACH_HANG
WHERE TAI_KHOAN < 0 ;
K t * l cch vit ca SQL yu cu in tt c cc thuc tnh ca quan h R. Trong th d
ny, KHAC_HANG l mt quan h duy nht trong mnh FROM, khng cn phi xc
nh cc thuc tnh quan h .
V d Lit k thng tin tt c nh cung cp cc mt hng m Nga t mua.
Thc hin kt ni t nhin ca 3 quan h HOA_DON, MH_SL v CUNG_CAP bng cch
dng nhng ng thc trong mnh WHERE nh ngha php ni.

115
SELECT DISTINCT TEN_CC

Chng I: Khi nim c bn v cc h c s d liu

FROM HOA_DON, CUNG_CAP, MH_SL
WHERE TEN_K = Nga
AND HOA_DON.SHD# = MH_SL.SHD#
AND CUNG_CAP.MAT_HANG= NG_CAP.MAT_HANG
Cng nh hu ht cc ngn ng vn tin khc, SQL khng t ng loi i cc b trng lp.
V vy trong mt s trng hp, ph thuc yu cu cu hi, trong cu vn tin nn s dng
t kha DISTINCT theo sau SELECT.
5.6.3 Bin quan h
Trong mt s trng hp, c nhiu cu vn tin lin quan n nhiu b trong cng mt quan
h. thc hin c iu ny, cn nh ngha nhiu bin quan h mnh F'ROM v
dng nhng bin quan h ny lm b danh ca quan h.
V d: Lit k tn v a ch ca nhng khch hng c s d nh ca Nga.
SELECT c1. TEN_K, c1.DIA_CHI
FROM KHACH_HANG c1, KHACH_HANG c2
WHERE c1.TAI_KHOAN < c2.TAI_KHOAN
AND c2.TEN_K = Nga;
Sau mnh FROM c1 v c2 u l b danh ca KHACH_HANG, chng tr thnh cc b
chy trn KHACH_HANG.
5.6.4 Ton t LIKE
Trong mnh WHERE, c th b sung ton t LIKE m t iu kin l mt gi tr no
phi khp vi mt mu (pattern).
K hiu % : Ngha l mt chui bt k c di tu , chui bt u t v tr ca %.
K t gch thp _ i din cho mt k t bt k thay th k t _ .
V d In ra nhng mt hng c k t u l Ev gi t khong 1.00 n 1.99
SELECT ITEM, PRICE
FROM SUPPLIES
WHERE ITEM LIKE E% AND PRICE LIKE 1.__;
5.6.5 Php ton tp hp trong mnh WHERE
Trong phn ny tip tc nghin cu cc kh nng rng hn so vi php ton chn trong i
s quan h. Trong mnh WHERE c th s dng cc php s hc so snh, v th c
th vit nhng iu kin ny nh sau :
WHERE A > B + C -10
Mt kh nng m rng ca SQL cho php s dng cc tp lm ton hng c nh ngha
bng cu lnh SELECT-FROM -WHERE y , c lng trong mnh WHERE v
c gi l cu vn tin con (subquery).
Php ton IN biu din cc khi nim thuc tp. Ngc li NOT IN biu din khi
nim khng thuc tp .
ANY thng s dng cho cc khi nim tn ti. Nu S l mt biu thc biu din
cho mt tp, th iu kin l A ANY S s tng ng vi biu thc logic (X)

116

Chng I: Khi nim c bn v cc h c s d liu

(X S A X ). iu ny c ngha l tn ti thuc tnh A thuc tp X sao cho A
c quan h vi X bi cc tan t so snh .
Tng t ALL l vi mi: A ALL S (X) (X S suy ra A X ). iu ny
c ngha l vi mi thuc tnh A thuc tp X th A c quan h vi X bi cc tan
t so snh .
BETWEEN... AND: t..... n
V d In tn ca tt c nh cung cp c t nht mt mt hng m Nga t.
1. Xc nh tp S
l
cc n t hng ca Nga t quan h HOA_DON
2. Xc nh tp S
2
cc mt hng trong tp n t hng S
l
t quan h MH_SL.
3. Xc nh tp S
3
l tn cc nh cung cp cc mt hng trong tp S
2
bng cch s
dng quan h CUNG_CAP.
(1) SELECT TEN_CC
(2) FROM CUNG_CAP
(3) WHERE MAT_HANG IN
(4) ( SELECT MAT_HANG
(5) FROM MH_SL
(6) WHERE O# IN
(7) ( SELECT O#
(8) FROM HOA_DON
(9) WHERE TEN_K =Nga))
Nh vy:
Tp S
l
c xc nh bi cc cu lnh t (7)-(9).
Tp S
2
c xc nh bi cc cu lnh t (4)-(6).
Tp S
3
c xc nh bi cc cu lnh t (1)-(3).
V d Lit k cc mt hng c gi ln hn mi gi trong SUPPLIES.
SELECT MAT_HANG, GIA
FROM CUNG_CAP
WHERE GIA ALL
SELECT GIA
FROM CUNG_CAP)
V d Lit k cc mt hng c gi ln hn gi ca mt mt hng ca Nga t.
SELECT MAT_HANG, GIA
FROM CUNG_CAP
WHERE GIA ANY
(SELECT GIA
FROM CUNG_CAP
WHERE MAT_HANG IN

117
(SELECT MAT_HANG

Chng I: Khi nim c bn v cc h c s d liu

FROM CUNG_CAP
WHERE O# IN
(SELECT O#
FROM HOA_DON
WHERE TEN_K =Nga)))
V d Gi s chc chn rng Hoa ch c mt n t hng, khi c th ly c m s
n t hng qua mt cu vn tin con v dng n chn tt c cc mt hng c t
bi Hoa t quan h MH_SL. Trong trng hp khng bit chc chn Hoa t mt n
t hng, m c th t hai n t hng tr ln th cu vn tin c trnh by di y s tr
li kt qu sai:
In tn cc mt hng m Hoa t mua (trng hp ch c mt n t).
SELECT TEN_K
FROM MH_SL
WHERE O# =
(SELECT SHD#
FROM HOA_DON
WHERE TEN_K = Hoa);
5.6.6 Cc php ton gp nhm
SQL cung cp nm php ton gp nhm thng dng AVG, COUNT, SUM, MIN, MAX
v cc php ton STDDEV v VARLANCE tnh lch chun v phng sai ca mt
danh sch cc s. Mt cu lnh SELECT FROM - WHERE c th in ra kt qu khi p
dng mt hay nhiu cc php ton gp cho cc thuc tnh ca mt quan h bng cch t
quan h ny trong mnh FROM v trong mnh SELECT AVG(A),
COUNT(A),...trong A l mt thuc tnh. Nu trc cc thuc tnh A c thm t kho
DISTINCT th s trng lp b loi b trc khi php ton c thc hin.
V d
a) In v tnh s d trung bnh trong quan h CUSTOMERS..
SELECT AVG (TAI_KHOAN)
FROM KHACH_HANG.
b) In v tnh s nh cung cp
SELECT COUNT(DISTINCT TEN_CC) #TEN
FROM CUNG_CAP
#TEN l tn ct mi khi in ra kt qu.
c) S cc nh cung cp ru cuc li
SELECT COUNT(DISTINCT TEN_CC) #TEN_CLUI
FROM CUNG_CAP
WHERE MAT_HANG =Cuc li;

118

Chng I: Khi nim c bn v cc h c s d liu

5.6.7 Mnh GROUP BY ... HAVING
C th phn hoch cc b ca mt quan h thnh cc nhm tch bit nhau v p dng cc
php ton gp cho cc nhm. Trong cu lnh SELECT FROM WHERE, mnh
GROUP BY nhm li bi mt danh sch cc thuc tnh ca quan h cn nhm v tho mt
iu kin nhm HAVING:
GROUP BY A
l
, A
2
, .., A
k

HAVING E
Phn hach quan h thnh cc nhm sao cho hai b cng trong mt nhm khi v ch khi
chng ging nhau mi thuc tnh A
l
, A
2
, .., A
k
. cho kt qu ca cu vn tin c
ngha, cc thuc tnh A
l
, A
2
, .., A
k
cng phi xut hin trong mnh SELECT mc d
chng c th c nhng b danh in ra nu cn.
V d In ra tt c cc mt hng v gi trung bnh ca tng nhm
SELECT MAT_HANG, AVG (GIA) AP
FROM CUNG_CAP
GROUP BY MAT_HANG
Mt mnh WHERE c th theo sau mnh FROM , ch cn mt tp con ca cc b khi
to cc nhm. C th sp xp in ra mt tp con cc nhm, c lp vi kiu kin chn lc
trong mnh WHERE trc khi xy dng cc nhm.
V d In ra tn v gi trung bnh ccmt hng ru c nhiu nh cung cp
SELECT MAT_HANG, AVG (GIA) AP
FROM CUNG_CAP
WHERE MAT_HANG LIKE %Ru%
GROUP BY MAT_HANG
HAVING COUNT(*) > 1 ;
5.6.8 Cc php ton lu tr
1. Php chn:
Chn thm cc b mi vo quan h, cu trc cu lnh nh sau:
INSERT INTO R
VALUES (a
1
,a
2
,...,a
n
)
Tr ong R l tn quan h v r= (a
1
,a
2
,...,a
n
) l mt b mi cn chn.
V d :
a) Thm thng tin Thu cung cp Ru Lng Vn, nhng cha c gi.
INSERT INTO CUNG_CAP (TEN_CC, MAT_HANG)
VALUES (Thu, Ru Lng Vn);
b) To quan h NG_CC (TEN_CC, GIA) cha tn ngi cung cp
Ru cuc li
INSERT INTO NG_CC (TEN_CC, GIA)
SELECT TEN_CC, GIA

119

Chng I: Khi nim c bn v cc h c s d liu

FROM CUNG_CAP
WHERE MAT_HANG =Ru cuc li );
2. Php xo
C php php xo nh sau:
DELETE FROM R
WHERE E
Trong R l tn quan h v E l biu thc i s. Ngha l xo khi quan h R tt c cc
b tho iu kin E.
V d
a) Xo cc n t hng v Ru cuc li
DELETE FROM HOA_DON
WHERE O# IN
( SELECT SHD#
FROM MH_SL
WHERE MAT_HANG =Ru cuc li );
b) Xo Nga khng cn cung cp Ru cuc lina
DELETE FROM CUNG_CAP
WHERE TEN_K=Nga AND MAT_HANG =Ru cuc li;
3. Php sa i
C php php sa i thng tin nh sau:
UPDATE R
SET A
1
=a
1
, A
2
=a
2
,...,A
n
=a
n

WHERE E
Trong R l tn quan h v E l biu thc i s. Ngha l trong quan h R, sa gi tr
cc thuc tnh A
i
bng a
i
,

i=1,2,.., n nu mi b tho iu kin E.
V d
a) Hiu chnh gi ca Ru H Ni do nh my Ru H ni cung cp thnh
15.000 ng/chai
UPDATE CUNG_CAP
SET GIA =15.000
WHERE TEN_CC = Nh my ru H ni
AND MAT_HANG =Ru H ni;
b) Gim 10% gi Ru H Ni do nh my Ru H ni cung cp.
UPDATE CUNG_CAP
SET GIA = 0.9*GIA
WHERE TEN_CC = Nh my ru H ni
AND MAT_HANG =Ru H ni;

120

Chng I: Khi nim c bn v cc h c s d liu

5.6.9 Tnh y ca SQL
Phn ny xem xt kh nng ca ngn ng SQL c thc hin c cc biu thc i s quan
h nh cc ngn ng thao tc d liu khc hay khng. V vy ch cn trnh by SQLthc
hin nm php ton c bn ca i s quan h .
Gi s cho cc quan h R(A
1
,A
2
,...,A
n
) v S(B
1
,B
2
,.. ,B
m
). Trong trng hp ly hp,
hoc hiu ca R v S, nu bc ca R v S khng ging nhau, tc l n m, c th t li tn
cho cc thuc tnh ca S, to ra mt quan h mi TAM vi cc thuc tnh nh cc thuc
tnh ca quan h R:
INSERT INTO TAM
SELECT *
FROM S
Khng mt tnh tng qut, gi s n = m v A
i
= B
i
, i=1,2,...,n.
Php hp: T = R S
INSERT INTO T
SELECT *
FROM R
INSERT INTO T
SELECT *
FROM S
Php tr T = R S = (R S ) - S
DELETE FROM T
(SELECT (A
1
,A
2
,...,A
n
) IN
FROM S);
Php giao T = R S = R ( R S ) = R T2
DELETE FROM T2
(SELECT (A
1
,A
2
,...,A
n
) IN
FROM S);
DELETE FROM T
(SELECT (A
1
,A
2
,...,A
n
) IN
FROM T2);
Tch Cc T = R x S
INSERT INTO T
SELECT R.A
1
,...,R.A
n
, S.B
1
,...,S.B
n
FROM R,S
Php chn T =
F
(R)
INSERT INTO T
SELECT *
FROM R

121

Chng I: Khi nim c bn v cc h c s d liu

WHERE E;
Php chiu T =
A1,A2,...,Ak
(R)
INSERT INTO T
SELECT A
1
,A
2
,...,A
k
FROM R;
5.6.10 Ngn ng nh ngha d liu
Lnh to, xa mt quan h: Lnh to mt quan h cho php m t tn bng v xc nh
cc phn t ca bng ng vi cc ct v cc rng buc gia cc ct. C php c dng
tng qut nh sau:
CREATE TABLE <tn bng> (<Cc phn t ca bng>)
V d: To cu trc quan h TUYEN (C#, TC, DAI)
CREATE TABLE TUYEN
(C# CHAR(5) NOT NULL
TC CHAR(15) ,
DAI INT );
Ngc vi lnh to l lnh xa quan h: Xa quan h CUNG_CAP ra khi CSDL c th
vit : DROP TABLE CUNG_CAP
To v xa ch mc Lnh to ch mc: Ch mc c s dng lm tng tc truy
xut d liu. Nu quan h R c ch mc trn thuc tnh A th c th truy xut tt c cc
b c gi a cho trc ca thuc tnh A theo thi gian t l vi s lng cc b:
CREATE INDEX I
ON R(A);
Loi b ch mc I ra khi quan h R nhng khng lm nh hng n d liu trong quan h
R, c php lnnh sau:
DROP INDEX I
5.6.11 Khung nhn View
Trong SQL c nhm php ton thc hin chc nng ca ngn ng nh ngha d liu lc
con (subschema DDL), hay l chc nng nh ngha khung nhn (view) khng tn ti
trong b nh nhng c th truy vn. C php ca lnh nh sau:
CREATE VIEW V(A
1
,A
2
,...,A
n
) AS Q;
Trong V l tn ca khung nhn, A
1
,A
2
,...,A
n
l cc thuc tnh ca khung nhn v Q l
cu vn tin ca khung nhn.
V d
a) To khung nhn gm cc mt hng v gi ca nh cung cp Nga.
CREATE VIEW NGA_VIEW(MAT_HANG, GIA) AS
SELECT MAT_HANG, GIA
FROM CUNG_CAP R
WHERE TEN_=Nga;

122

Chng I: Khi nim c bn v cc h c s d liu

b) To khung nhn khch hng t cc n hng .
CREATE VIEW DH(TEN_K, NGAY, MAT_HANG,
SO_LUONG) AS
SELECT TEN_K, NGAY, MAT_HANG, SO_LUONG
FROM HOA_DON, MH_SL
WHERE HOA_DON.SHD# = MH_SL.SHD# ;
Trong cu ln trn, bin i thuc tnh TEN_K ca HOA_DON thnh TEN_K trong
khung nhn DH, v lnh cho php xc nh cc thuc tnh cho khung nhn mt cch tng
minh.
Cui cng, nu mun hy b khung nhn, c php nh sau:
DROP VIEW V
Cu lnh ny khng c tc dng trn CSDL nhng nhng ' cu vn tm trn khung nhn V
khng cn c chp nhn na.
5.6.12 Database catalog
C th ly thng tin v CSDL bng cch s dng cc cu vn tin tham chiu n cc anh
mc ca c s d liu. Cc danh mc c th c coi nh l nhng quan h. C bn
database catalog (danh mc ca CSDL): TABLES, VIEWS, INDEXES, v COLUMNS.
Mt s danh mc ca khung nhn VIEWS:
VIEWS$TEXT: Hin th chui.
VEW$: Ngy thng to khung
.......
V d
a) Tm nh ngha ca khung nhn NGA_VIEW
SELECT VIEWS$TEXT
FROM VIEWS[NGA_VIEW]
Tn ca khung nhn c ch ra trong du ngoc vung [NGA_VIEW]. Kt qu ca cu
vn tin trn s l chui:
SELECT MAT_HANG, GIA FROM CUNG_CAP WHERE TEN_K =Nga;
b) Xc nh ngy thng to khung nghn NGA_VIEW
SELECT VEW$TIME
FROM VIEWS[NGA_VIEW]
xc nh thng tin v cc thuc tnh ca mt quan h hoc mt khung nhn, c th
vn tin danh mc COLUMNS. Mt s cc thuc tnh ca danh mc COLUMNS:
COL$NAME: tn ca thuc tnh.
COL$LD: v tr ca thuc tnh trong danh sch cc thuc tnh ca quan h.
COL$DATATYPE: kiu d llu ca thuc tnh.
COL$LENGTH: s byte hoc s ch.s thp phn, tng ngvl kiu k t v
klu s.

123
COL$CALE: s ch s sau du chm thp phn.

Chng I: Khi nim c bn v cc h c s d liu

COL$NULL: cho bit c c php s dng gi tr null trong ct.
V d
a) Xc nh tn, kiu v v tr cc thuc tnh ca khung nhn NGA_VIEW
SELECT COL$NAME, COL$ID, COL$DATATYPE
FROM COLUMNS[NGA_VIEW]
COL$NAME COL$ID COL$DATATYPE
MAT_HANG 1 CHAR
GIA 2 NUMBER
a) Xc nh ngy thng to ra quan h SUPPLIES
SELECT TAB$TIME
FROM TABLES[SUPPLIES];
S dng danh mc INDEXES c th vn tin tm ra thng tin v nhng ch mc
khai bo i vi mt quan h cho trc. Mt s danh mc ca INDEXES:
IDX$NAME: tn ca ch mc.
IDX$COLUMN: thuc tnh c ch mc.
IDX$UNIQUE: thuc Linh IDX$COLUMN c c dng nh l mt kha
ca quan h hay khng.
V d Ch mc O#_INDEX c to nh sau
SELECT INDEX O#_INDEX
ON HOA_DON(O#)
Khi c th truy vn ch mc O#_INDEX c to ra nh th no:
SELECT IDX$NAME, IDX$COLUMN, IDX$UNIQUE
FROM INDEXES(HOA_DON);
IDX$NAME IDX$COLUMN IDX$UNIQUE
O#_INDEX O# Non Unique

Cu hi trc nghim
1. Ngn ng thao tc d liu l
A. Mt tp cc php ton thao tc trn cc h c s d liu.
B. Biu din d liu mt cch thng nht.
C. S thng nht tng tng trong cc php ton thao tc
D. Thng tin c biu din bng mt v ch mt cch duy nhaats
2. Ngn ng inh ngha d liu - DDL (Data Definition Language).
A. c c t bng mt phn ca h qun tr c s d liu.
B. c c t bng mt ngn ng d liu
C. c c t bng mt ngn ng, mt phn ca h qun tr c s d liu.
D. c c t bng cch chng trnh ng dng

124

Chng I: Khi nim c bn v cc h c s d liu

3. Ngn ng thao tc d liu DML (Data Manipulation Language)
A. Cc ton hng v kt qu ca cc php ton l cc quan h
B. Biu din d liu mt cch thng nht.
C. c c t bng mt ngn ng d liu
D. c c t bng cch chng trnh ng dng
4. Nhm cc php ton lu tr bao gm
A. Chn thm , xo, sa i
B. Chn thm , xo,
C. Php chn SELECT, chn thm
D. Php chn SELECT, php chiu PROJECT, php kt ni JOIN
5. Nhm cc php ton tm kim gm:
A. Php chn SELECT, php chiu PROJECT, php kt ni JOIN
B. Chn thm , xo, sa i
C. Chn thm , xo,
D. Php chn SELECT, chn thm
6. Php chiu:
A.
E
(R) = { t t R & t[E] = True

}
B.
A1,A2, .., Ak
(R) = {t[X] t R v X = (A
1
, A
2
,.., A
k
)
C. R
1
x R
2
= P( ) := {t t[] R
1
& t[ ] R
2
}
D. R
1
R
2
= {t t R
1
And t R
2
}
7. Hy chn t/cm t tng ng hon thin khng nh sau: i s quan h l mt
trong nhng ngn ng thao tc d liu, bao gm cc php ton trn cc quan h. l
cc php ton .............. Tp hp cc php ton quan h to nn mt c ch truy nhp
d liu kh linh hot v mm do.
A. Hp, giao, chiu, chn v kt ni.
B. Chn thm , xo, sa i
C. Chn SELECT, chiu PROJECT, kt ni JOIN
D. Hp, giao, chiu v chn.
8. Hy chn t/cm t tng ng hon thin khng nh sau: R1 v R2 l cc quan
h kh hp trn cng tp cc thuc tnh ca . Khi hp ca chng l ...... trn .
A. Mt quan h
B. Mt ph thuc hm
C. Mt nhm cc bn gi
D. L tp con cc thuc tnh
9. Hy chn t/cm t tng ng hon thin khng nh sau: R1 v R2 l cc quan
h kh hp trn cng tp cc thuc tnh ca . Khi giao ca chng .........trn ,
A. Mt quan h
B. Mt ph thuc hm
C. Mt nhm cc bn gi

125

Chng I: Khi nim c bn v cc h c s d liu

D. L tp con cc thuc tnh
10. Hy so khp thng tin 2 phn di y vi nhau:
Phn 1 Phn 2
1 Kt qu cc php ton ..... A vn m bo tnh c lp v tnh ton
vn d liu.
2 Cc ton hng .......... B. l cc quan h giao hon vi nhau
3 Thay i th t cc b trong bng ...... C. l mt quan h
4 Cc php hp , giao v kt ni trong i
s quan h......
D. l cc php ton c tnh cht giao hon

a. 1- D; 2- C ; 3 B ; 4 A .
b. 1- C; 2- B; 3 A; 4 D
c. 1- A; 2- B; 3 C; 4 D.
d. 1- D; 2- B; 3 A; 4 C.
11. Hy so khp thng tin 2 phn di y vi nhau:
Phn 1 Phn 2
1 Cc php hp , giao , kt ni v
tch cc trong i s quan h .....
A biu thc quan h hay mt cy
php ton quan h
2 Php chn- SELECT .......... B. l cc php ton c tnh cht kt hp
3 Mt cu hi c th c biu din bi ...... C. i s quan h, c th biu din bng
cy i s quan h.
4 Cu hi truy vn c th biu din bng
cc php ton......
D. to ra mt quan h kt qu

a. 1- D; 2- C ; 3 B ; 4 A .
b. 1- C; 2- B; 3 A; 4 D
c. 1- A; 2- B; 3 C; 4 D.
d. 1- B; 2- D; 3 A; 4 C.
Cu hi & bi tp
1. Cu hi
1. Trnh by khi nim ngn ng thao tc d liu.
2. Cc php ton i s quan h.
a. Php hp cc quan h UNION
b. Php giao ca cc quan h INTERSECT.
c. Hiu ca cc quan h - MINUS.
d. Tch Cc (Decalesian Product)
e. Php chn Selection.
f. Php chiu PROJECT.
3. Cc php ton i s b sung.
a. Php chia - DIVISION.

126

Chng I: Khi nim c bn v cc h c s d liu

b. Php kt ni JOIN.
4. Cc tnh cht ca i s quan h.
a. Tnh cht giao hon, kt hp.
b. Tnh cht tch lu ng, mt s tnh cht khc.
5. i s quan h ngn ng vn tin.
6. Cc thut ton ci t i s quan h.
a. Thut ton hp , giao.
b. Thut ton tr.
c. Thut ton chn, chiu.
d. Thut ton kt ni t nhin.
e. Thut ton php chia.
7. Ngn ng vn tin SQL.
8. Cu lnh SELECT.
a. So snh mu LIKE.
b. Php ton tp hp trong mnh WHERE.
c. Cc php ton gp nhm.
d. Gp theo nhm.
9. Cc php ton lu tr
a. Php chn.
b. Php xo.
c. Php sa i.
10. Tnh y ca SQL
11. Ngn ng nh ngha d liu
12. Khi nim ngn ng hng i tng
2. Bi tp
Bi 1: Gi s trong nghip v qun l pht hnh bo ch, c cc thng tin qun l tc
nghip nh sau
MK# : M hiu khch hng t mua bo. TK : H v tn khch hng.
DC : a ch khch hng. SDT : S in thoi.
B# : M bo khch t mua. TB : Tn bo (tp ch).
GIA : Gi bo. NG : Ngy khch t bo, ch.
SL : S lng bo, ch khch t mua.
1. Tch v cc quan h c dng chun cao, khng tn tht thng tin.
2. Thng tin v tin khch t mua.
3. C bao nhiu ngi mua cc loi bo.
4. Xc nh thng tin v tt c khch hng t mua bo NDA (Nhn Dn) trong
qu I/2000.( trong tt c 4 qu).
5. Thng tin v cc loi bo khch hng t mua trong qu I/2000.

127

Chng I: Khi nim c bn v cc h c s d liu

6. Tnh tng s lng v tin cc loi bo( tp ch) khch t mua trong tng
qu nm 1999.
7. Tnh tng s lng v tin cc loi bo( tp ch) khch t mua trong cc
thng nm 1999.
8. Hy xc nh thng tin v tt c khch hng t mua tt c cc loi bo c trong
danh mc.
9. Lp bng k tnh tng tin cc loi bo m khch t mua trong tng thng?
10. Lp bng k tnh tng tin cc loi bo m khch t mua trong tng qu nm
1999?
11. Thng tin v cc loi bo khch t mua c s lng v tin cao hn s lng
v tin khch t mua bo VHT vn ho&th thao?
12. Thng k s lng cc loi bo & tin khch t mua tng qun.
13. Cho bit thng no c s lng khch t mua bo Nhn dn cao hn thng 3
hng nm.
14. Hy xc nh thng tin v cc loi bo c t mua nhiu nht
15. Nhng loi bo no m tt c khch hng t mua.
Bi 2: Thng tin v cuc m thoi:
T# : M tng i. TD : Tn gi tng i.
DV : n v qun l. DL : Dung lng.
B# : M thu bao TB : Tn thu bao.
DC : a ch thu bao. SM : S my thu bao.
NG1: Ngy lp t. DT : i tng thu bao.
NG2: Ngy gi. SDT : S my n.
BD : Gi bt u. KT : Gi kt thc
1. Thng tin v cc loi tng i.
2. Thng tin v cc i tng khch hng .
3. Thng tin v cc hng trong thng.
4. Thng tin v cc n v qun l.
5. Thng tin v cc loi tng i c cng dung lng.
6. Thng tin i tng s dng in thoi theo tng Qun.
7. C bao nhiu cuc gi i t mt tng i.
8. C bao nhiu cuc gi ni ht, lin tnh,quc t.
9. C bao nhiu cuc gi lin tnh , quc t b ch cc.
10. Sn lng pht theo tng tng i.
11. Sn lng pht theo tng hng.
12. Sn lng pht theo tng thng.
13. Sn lng pht theo hng/ thng.
14. Sn lng pht theo thng/hng.
15. Sn lng pht theo i tng.

128

Chng I: Khi nim c bn v cc h c s d liu

16. Hng no thng xuyn (thng) xy ra ch cc.
17. Hng no trong nm khng c hin tng ch cc.
18. Thng k tt c thu bao c in thoi trng nhau.
19. Lit k cc thu bao thng no cng s dng in thoi.
20. Lit k cc thu bao trong nm khng mt ln s dng gi i lin tnh, quc t.
21. Nhng thu bao no c s cuc gi trn 100 cuc thng.
22. Thu bao no c s pht gi trn 1000 pht/thng.
23. S my no hng thng u c cc cuc gi n.
24. S my no trong mt thng nhn 100 cuc.
25. Tnh s cuc gi n cho tng thu bao n.
26. Tnh sn lng pht tng i/qu.
27. Tng i no c s cuc gi, sn lng pht / thng cao hn tng i A do
Cty in thoi qun l.
28. a bn no thng c cc cuc gi cao nht .
29. Tng s cuc gi qua tng i.
30. Tng s cuc gi thng
31. Tng s cuc gi i tng
32. Tng s cuc gi Qu.
33. S my no c mt gi cao.
34. Thng k cc thu bao hng thng s dng 5 cuc gi.
Bi 3: Qun l mng cp
TC# : M tuyn T : Tn gi tuyn
DAI : di tuyn cp. MC# : M cp.
MC : Tn gi cp GIA : Gi cp
35. SL : S lng cp lp t NSX : Nc sn xut
1. Gi tr cc loi cp c lp t.
2. Gi tr cc loi cp cha c lp t.
3. Gi tr cc loi cp c lp t trong tng nm.
4. Gi tr cc loi cp Vit nam c lp t trn tng tuyn.
5. Gi tr cc loi cp Vit nam cha c lp t.
6. Cc loi cp c tng gi tr lp t trn 5 t ng VN.
7. Cc loi cp c tng gi tr trn 5 t ng cha c lp t.
8. Tng gi tr lp t trn tng tuyn.
9. Loi cp no c lp t trn tuyn nhng trong cc kho khng cn.
10. Tuyn no c tt c cc loi cp nh trong kho c.
11. Tuyn no c tng gi tr lp t ln hn tuyn H Ni-Qung ninh.



129


130

6

TI U HO CU HI TRUY VN


Ti u ha cu hi l qu trnh la chn phng php sao cho khi thc hin cc cu hi
truy vn c hiu qu nht, c th nh gi c cc kh nng x l cu hi t nhiu chin
lc khc nhau, c bit l cho nhng cu hi phc tp. Mt phng php khi thc hin c
chi ph thp, tc l ti u v thi gian truy xut thng tin v ti u v khng gian lu tr m
vn bo m c tnh c lp v ton vn d liu. Ni dung ca chng gm cc vn :
Tng quan v ti u ha cu hi.
K thut ti u ho cu hi truy vn.
Phng php khung nhn
6.1 M u
Ngn ng con d liu l mt tp cc php ton c cu trc quan h c dng thao tc
trn cc d liu di dng quan h. Kt qu ca cc php ton c biu din duy nht
bng mt quan h. Cc thuc tnh v cc b ca n c rt ra t mt hay nhiu quan h
cho trc, v vy trc khi thc hin cc cu hi cn thit phi bin i hp l sao cho chi
ph thi gian thc hin cc php ton l t nht. Qu trnh bin i ny c gi l qu trnh
ti u ho cc cu hi truy vn d liu.
Ti u ho cu hi rt c ngha khi tm kim v truy xut d liu ti cc thit b u cui.
Nng cao hiu sut cc phin lm vic ca ngi s dng. Khng nhng ti u v thi gian
truy xut thng tin m l nhn t quan trng trong vic bo m tnh c lp ca d liu vi
cc chin lc tm kim, truy xut d liu. C nhiu k thut khc nhau ti u ho cc
cu hi, trong c k thut phn r cu hi da trn ngn ng ca i s quan h.
6.2 Tng quan v ti u ha cu hi
Xt c s d liu qun l mng cp gm cc quan h sau:
a. Thng tin v cc tuyn cp: TUYEN (T#, TC, DAI).
b. Thng tin v cc loi cp: CAP (M#, MC, GIA, NSX).
c. Thng tin v cc loi cp c lp t: L_DAT (T#, M#, SL, NG)
Trong :
T# k hiu m tuyn TC Tn gi tuyn cp,
DAI di tuyn cp M# M cp
MC Tn gi cp GIA n gi.
NSX Nc sn xut SL S lng cp lp t.
NG Ngy lp t cp.
c c cch nhin tng qut ca vic ti u ho cu hi, xt v d sau: lit k tn tt c
cc tuyn cp c lp t cp Vit nam.
Biu thc i s quan h v cy i s quan h c biu din nh sau :
Chng I: Khi nim c bn v cc h c s d liu


TTC
(
MC# =Vit nam
(TUYEN X L_DAT) X CAP))

















TTC

MC# =Vit nam
X
CAP
L_DAT TUYEN
X
Hnh 6.1 Cy i s quan h cha ti u ho

Biu thc trn m t qu trnh thc hin cu hi nh sau: Trc ht, biu thc to ra quan
h TUYEN X L_DAT X CAP trung gian, bng cch kt ni t nhin hoc thc hin tch
cc cc quan h TUYEN, L_DAT v CAP vi mt s lng bn ghi bng tch s lng
cc bn ghi v cc thuc tnh bao gm cc thuc tnh ca 3 quan h trn. Nh vy sau bc
ny, quan h tm c lc lng kh ln v chiu di ca mt bn ghi cng khng phi l
nh, nu kch c cc quan h ngun ln. Tuy nhin kt qu cu hi ch quan tm n thuc
tnh tn tuyn cp TTC v cc b d liu c tn loi cp trng vi Vit nam. Nh vy
sau khi tnh tch cc, h thng s thc hin cc php chn v php chiu a ra quan
h kt qu. Trong cch biu din ny, s lng cc php ton thc hin tng i ln, chi
ph thi gian qu cao v chi ph lu tr tn km.
Ch rng, cu hi ch quan tm n cc b d liu cp Vit nam. Thng tin ny c
cha trong cc quan h L_DAT, v CAP (trong nht k lp t l m cc loi cp Vit nam
v trong danh mc l chui Vit nam). Nh vy c th thc hin cc php chn trong cc
quan h L_DAT v CAP. Kt qu trung gian cc php chn s lm gim ng k s lng
cc bn ghi, kch c ca quan h ca php kt ni t nhin ca 2 thnh phn trung gian trn
vi quan h TUYEN. Cng d dng khi thc hin php chiu trn thuc tnh tn tuyn cp
TTC. C th bin i biu thc i s ban u ti u hn, bng cch thc hin cc php
chiu v chn, tip sau mi thc hin php kt ni. Kt qu bin i nh sau:

TTC
(
MC# =Vit nam
(L_DAT) X (
MC# =Vit nam
( CAP ) X TUYEN))
Biu thc ny tng ng nh biu thc i s ban u, nhng n to ra cc quan h trung
gian c kch c nh hn nhiu so vi kch c ca TUYEN X L_DAT X CAP.
131

Chng I: Khi nim c bn v cc h c s d liu











x
TUYEN
L_DAT
x

MC# =Vit
CAP

MC# =Vit

TTC
Hnh 6.2 Cy i s c ti u ha







Nh vy, bin i mt biu thc i s quan h v mt biu thc i s quan h tng
ng ti u theo ngha s cho cng mt kt qu nhng vi chi ph thi gian thc hin v s
dng b nh t hn rt nhiu
6.3 Phng php c lng cy i s quan h
C hai cch tip cn c bn nh gi ti u ha biu thc quan h. Thng l kt hp
cc yu t ca c hai cch tip cn trn. V d cc phng n u ha cu hi R khng quan
tm ti th t kt ni khi cc ton hng bn phi ca mi php kt ni l mt trong cc
quan h r
1
,...r
n
, c gi l cy kt ni tri theo chiu su. Cy kt ni tri theo chiu su
rt c chi ph rt nh. Hnh 6.3 m t s khc nhau gia cy ni tri theo chiu su v cy
khng ni tri theo chiu su.












(a) (b)



1
R


R
4
R
3
R
4


R
1

R
3 R
2

R
2
Hnh 6.3 a) Cy kt ni theo chiu su v tri
b) Cy kt ni theo chiu su khng v tri
132

Chng I: Khi nim c bn v cc h c s d liu

6.4 Nguyn tc ti u ho
u tin thc hin cc php chiu v chn, nhm gii hn khi lng d liu trung
gian. Gim chi ph truy nhp b nh.
Trc khi phi thc hin php tch cc, hy tm chin lc truy nhp tt nht vo
CSDL. V d nh s dng cc php sp xp, hoc chn ch s trn thnh phn tham
gia vo tch cc.
Thc hin cc php kt ni cn bng chi ph s r hn nhiu so vi chi ph thc hin
php tch cc.
Nhm cc php ton chn v chiu lin tip thnh mt php ton duy nht.
Nhm cc php tch v chiu lin tip thnh mt php ton duy nht. Trong khi thi
thc hin php tch c th gii hn chi ph thc hin bng php chiu.
Tm biu thc chung trong mt biu thc. Nu kt qu l mt quan h khng ln lm
nhng tn xut xut hin nhiu ln, nn c biu thc con chung.
nh gi s b trc khi thc hin cu hi. S php ton thc hin, tng chi ph thc
hin: thi gian, b nh ...
V d Tn cc loi cp s dng trn tuyn T03
a) Ngn ng i s quan h
Cch 1: T
1
:= L_DAT
L_DAT.M# = CAP.M#
CAP
T
2
:=
T#=T03
( T
1
)
KQ

:=
M#, MC
(T
2
)
KQ:=
M#, MC
(
T#=T03
( L_DAT
L_DAT.M# = CAP.M#
CAP)))
Cch 2: T
1
:=
T#=T03
( L_DAT

)
T
2
:= CAP
CAP.M# =T2.M#
T
2

KQ :=
M#, MC
( T
2
)
KQ :=
M#, MC
( CAP
CAP.M# =T2.M#
(
T#=T03
( L_DAT

)))

b) Biu din bng ngn ng SQL:
CREATE VIEW KQ AS
SELECT R. M# , R. MC
FROM CAP R, L_DAT S
WHERE S.T# = T03 and R.M# = S.M#
SELECT *
FROM KQ
Nh vy vi cch biu din trn, cu hi c phn r thnh 2 cu hi con theo chiu
hng t tn km hn.
6.5 K thut ti u ho cc biu thc i s quan h.
6.5.1 Biu thc quan h
Biu thc quan h l mt biu thc m cc ton hng l cc quan h trong mt CSDL v
cc php ton l cc php ton trong i s quan h. Biu thc E
1
v E
2
tng ng vi

133

Chng I: Khi nim c bn v cc h c s d liu

nhau, k hiu l E
1
E
2
, nu chng biu din cng mt nh x, ngha l cc quan h
ging nhau trong biu thc, th kt qu cng ging nhau.
Khi thc hin cc php ton trong mt biu thc quan h, cc php ton mt ngi c th t
u tin cao hn so vi php ton hai ngi. C th xem php chiu c u tin hn so vi
php hp, hoc php tr. Tu tng h c th m c th c nhng quy nh v th t u tin.
V d trong mt h c qui nh php giao c th t u tin trc php hp hai quan h.
Mi biu thc quan h thng thng l mt cu hi ca ngi s dng. Hay ni cch khc,
ngi s dng th hin ni dung cu hi truy nhp vo CSDL thng qua mt biu thc
quan h no . Khi mt mt cu hi c c a vo h thng, th h thng cn thc
hin mt s cc chc nng tip theo: Kim tra chc nng ca biu thc E. Nu biu thc E
khng c li, th thc hin vic ti u ho qu trnh thc hin E.
Ti u ho l xc nh trt t thc hin cc php ton trong E nhm p ng cc nhu cu:
cho cng kt qu cho vic thc hin theo trt t ban u ca biu thc E, gim bt c
min nh v thi gian thc hin. Cui cng thc hin biu thc c ti u ho E.
Khi cc quan h cng nh th thi gian chi ph cn thit thc hin cc thao tc trn quan
h cng thp. Quan h nh hiu theo ngha l lc lng v bc ca quan h nh. i vi
cc php ton quan h th php chn s lm gim kch thc chiu dc, php chiu lm
gim kch thc chiu ngang. Cc php ton ny thng hay c s dng trong cc biu
thc quan h. Php chia cng c tc dng lm nh quan h, nhng tn s s dng khng
nhiu. Nhn thy rng mun ti u ho mt biu thc quan h, chuyn i thch hp trt t
cc php ton quan h sao cho cc php chiu, chn c th thc hin cng sm cng tt v
thc hin php kt ni cng mun cng tt.
6.5.2 Bin i biu thc quan h
Hai biu thc i s quan h c gi l tng ng nu trn mt m hnh d liu bt k,
hai biu thc ny to ra hai quan h c tp cc b d liu ging nhau. Ging nhau theo
ngha th t ca cc b khng nht thit phi tng ng vi nhau, c th th t khc nhau
v th t ca cc thuc tnh cng khng nht thit phi nh nhau. Ni mt ch khi qut, 2
quan h trng nhau nu 2 b thuc tnh l nh nhau v b d liu ca quan h ny cng l
b d liu ca quan h kia v ngc li.
6.5.3 Cc quy tc tng ng
Ni rng 2 bu thc tng ng nu thay th mt biu thc ca dng th nht bi mt
biu thc ca dng th hai, v ngc li ta c th thay th biu thc ca dng th hai bi
biu thc ca dng th nht th hai biu thc cng to ra kt qu ging nhau trn bt k h
CSDL. Cc quy tc sau c s dng bin i cc biu thc tng ng vi nhau.
K hiu :
F
1
, F
2
,.... l cc iu kin.
L
1
, L
2
, L
3
, ... l tp cc thuc tnh.
E, E
1
, E
2
, ... l cc biu thc i s quan h.
: php chn.
: l php chiu.

134

Chng I: Khi nim c bn v cc h c s d liu


Fi
: php kt ni c iu kin.


: php kt ni t nhin.
X : tch cc
a) Cc quy tc cho cc php kt ni v tch cc
1. Quy tc giao hon kt ni v tch: Nu E
1
v E
2
l cc biu thc quan h, F l mt iu
kin trn cc thuc tnh ca E
1
v E
2
, th:
E
1

F
E
2
= E
2

F
E
1
E
1
E
2
= E
2
E
1
E
1
x E
2
= E
2
x E
1


E
2



Quy tc giao hon
kt ni v tch



2. Quy tc kt hp php kt ni v tch: Nu E
1
, E
2
v E
3
l cc biu thc quan h, F
1
v F
2
l cc iu kin th:
(E
1

F1
E
2
)
F2
E
3
= E
1

F1
(E
2

F2
E
3
)

(E
1
E
2
) E
3
= E
1
(E
2
E
3
)

(E
1
x E
2
) x E
3
= E
1
x (E
2
x E
3
)

nh ngha quan h c 2 nh ngha tng ng. nh ngha th nht pht biu l quan h
l mt tp con ca tch cc ca cc thuc tnh, tc l quan h l tp cc n_b. 2 quan h
trng nhau l 2 quan h c cc b trng nhau. nh ngha th hai ni rng, quan h l mt
tp nh x t cc thuc tnh vo tp cc gi tr. V 2 quan h trng nhau nu tp 2 nh x
nh nhau. Cc quy tc lin quan n php kt ni v tch cc c s dng theo nh
ngha th hai, tp cc nh x. E
1
x E
2
= E
2
x E
1
s ng v gi R v S l cc quan h c cc thuc tnh c cha tng ng trong cc biu
thc E
1
, E
2
. Khi R.A s c hiu l thuc tnh ca quan h R, v S.A cng s c
hiu l mt thuc tnh ca S. Gi l mt b trong E
1
x E
2
, khi tn ti mt b r ca R
v s l mt b ca S sao cho [R.A] = r[A] v [S.A] = s[A]. Tng t xt E
2
x E
1
s c
mt b t sao cho t[R.A] = r[A] v t[S.A] = s[A]. Nh vy ctrng vi t. Suy ra E
1
x E
2
E
2
x E
1
. Hin nhin E
1
x E
2
= E
2
x E
1
.







E E
2
E
1 1

E
3

E
1
Quy tc kt hp
kt ni v tch

E
1

E
2
E
2
E
3
135

Chng I: Khi nim c bn v cc h c s d liu

b) Cc quy tc cho cc php chn v php chiu
1. Nhm cc php chiu thnh mt php chiu duy nht: Nu E l mt biu thc quan h
v A
1
, A
2
,.., A
n
l cc thuc tnh c mt trong B
1
, A
2
,.., B
k
. Khi :

A1, A2,.., An
(
B1, A2,.., Bk
(E)) =
A1, A2,.., An
(E).
Ngha l thc hin cc php chiu lin tip trn cc thuc tnh ca B
1
, A
2
,.., B
k
, sau
quan h kt qu li c chiu trn cc thuc tnh ca A
1
, A
2
,.., A
n
.
2. Nhm cc php chn thnh mt chui php chn: Nu E l mt biu thc quan h v
mt iu kin F = F
1
F
2
.. F
n
, khi :

F1 F2 .. Fn
(E) =
F1
(
F2
(...(
Fn
(

R))...)


3. Giao hon cc php chn

F1
(
F2
(E)) =
F2
(
F1
E))
4 Giao hon cc php chiu v php:
Nu iu kin F ch cha cc thuc tnh A
1
, A
2
,.., A
n
, khi

A1, A2,.., An
(
F
(E)) =
F
(
A1, ., An
(E).
Nu iu kin F c cc thuc tnh B
1
, A
2
,.., B
k
khng cha cc thuc tnh A
1
, A
2
,..,
A
n
, khi

A1, A2,.., An
(
F
(E)) =
A1, A2,.., An
(
F
(
A1, ., An, B1,..,Bk
(E))).
5 Giao hon php chn v tch cc
Nu cc thuc tnh c mt trong iu kin F l cc thuc tnh ca E
1
, khi :

F
(E
1
x E
2
) =
F
(E
1
) x E
2
Nu iu kin F = F
1
F
2
, F
1
cha cc thuc tnh ca E
1
v F
2
cha cc thuc
tnh E
2
, khi :

F
(E
1
x E
2
) =
F1
(E
1
) x
F2
(E
2
)
Nu F = F
1
F
2
, F
1
ch cha cc thuc tnh ca E
1
v F
2
cha cc thuc tnh ca
E
1
v F
2
, khi :

F
(E
1
x E
2
) =
F2
(
F1
(

E
1
) x E
2
)
6 Giao hon php chn v php hp
Nu biu thc c dng E = E
1
E
2
v gi s cc thuc tnh ca E
1
v E
2
c cng
tn vi cc thuc tnh ca E, F l mt iu kin, khi :

F
(E
1
E
2
) =
F
(E
1
)
F
(E
2
)
7 Giao hon php chn v php tr:

F
(E
1
- E
2
) =
F
(E
1
) -
F
(E
2
)
8 Giao hon php chn v php kt ni t nhin
Nu iu kin F ch cha cc thuc tnh chung biu thc E
1
v E
2
, khi :

F
(E
1
E
2
)

=
F
(E
1
)
F
(E
2
)

Nh vy, php chn c y xung trong 2 nhnh cy biu thc (expression tree).
Php chn lm gim kch thc ca quan h kt qu trong c 2 nhnh.
9 Giao hon php chiu v php tch cc

136

Chng I: Khi nim c bn v cc h c s d liu

Nu E
1
v E
2
l cc biu thc, gi A
1
, A
2
,.., A
n
l danh sch cc thuc tnh v B
1
,
BB
2
,.., B
k
l cc thuc tnh ca biu thc E
1
v cc thuc tnh cn li, k hiu l C
1
,
C
2
,.., C
j
l cc thuc tnh ca E
2
, khi :

A1, A2,.., An
(E
1
x E
2
) =
B1, B2,.., Bk
(E
1
) x
C1, C2,.., Cj
(E
2
)

F
(E
1
E
2
)

=
F
(E
1
)
F
(E
2
)
10. Giao hon php chiu v php hp

A1, A2,.., An
(E
1
E
2
) =
A1, A2,.., An
( E
1
)
A1, A2,.., An
( E
2
).
11. Kt hp php giao v php hp
(E
1
E
2
) E
3
) = E
1
(E
2
E
3
)
(E
1
E
2
) E
3
) = E
1
(E
2
E
3
)
6.5.4 Mt s nhn x khi thc hin ti u ho cu hi
Ti u ho cu hi da trn chi ph thp l ch yu. Tuy nhin nhiu khi thc hin vic ti
u cng rt tn km. Qua kinh nghim, ngi ta rt ra mt s nhn xt sau:
Thc hin cc php chn cng sm cng tt: Thng cc php chn ch quan tm n cc
b tha mt iu kin no , nh vy cc bc tip theo ch thc hin trn mt quan h
kch c nh hn. y l mt nhn xt kinh nghim, v khng phi lc no cng cho chi ph
gim . V d biu thc
) ( s r
F

, trong F c lin quan n cc thuc tnh ca s. Php
chn ny c th c thc hin trc khi kt ni. Nu r l v cng nh so vi s khi
thc hin php chn sm s hiu qu cao. Php chiu cng nh php chn, lm gim
ln ca cc quan h. V th bt c lc no cng cn to ra mt quan h tm thi, c li khi
p dng ngay lp tc vi bt c php chiu no nu c th.
Thc hin cc php chn sm hn cc php chiu thng tt hn, v php la chn c kh
nng lm gim bt ln ca cc quan h v cho php s dng cc ch s truy nhp c
s d liu.
Sau y l cch khi qut cc bc trong mt thut ton ti u ho kinh nghim tiu biu.
1. Tch cc php chn lin kt thnh mt chui php chn ring l. Bc ny da trn
qui tc tng ng.
2. Chuyn cc php chn xung di cy i s thc hin trc. Bc ny s dng
cc tnh cht giao hon v tnh cht phn phi ca cc php chn c th hin trong
cc qui tc tng ng. Chng hn, bin i
) ( s r

thnh
( ) s r

hoc
( ) s r


mi khi c th. Thc hin cc php chn da trn gi tr cng sm cng
gim c chi ph ca s sp xp v s ho ln cc kt qu trung gian.
3. Xc nh cc php chn v cc php kt ni s a ra cc biu thc quan h nh nht,
ngha l s a ra s b d liu t nht. S dng tnh cht kt hp ca php ton


xp xp li cy cho cc quan h node-l vi s la chn thu hp nyc thc hin
trc. Bc ny da vo tnh cht kt hp ca php ton nh phn cho ca qui tc
tng ng. Lu rng, php chn b hn ch khi s cc bn ghi khng tha iu
kin, v vy cn phi cn nhc tnh cht ca php
chn hoc iu kin kt ni.

137

Chng I: Khi nim c bn v cc h c s d liu

4. C th thay php kt ni ca kt qu theo tch -cc bng mt iu kin chn. Kt
qu php tich -cc thng tn km khi thc hin v khi nhn bao gm mt bn ghi
cho mi kt ni ca cc bn ghi t quan h A v quan h B. Php chn ny c th lm
gim ng k mt s bn ghptong qu trnh thc hin kt ni. It tn km hn nhiu
so vi php tich -cc.
5. Ph v v chuyn cng nhanh cng tt danh sch cc thuc tnh trong php chiu
xung pha di cy, to ra php chiu ni cn. Bc ny da trn cc c tnh ca
php chiu qui nh trong cc qui tc tng ng.
6. Nhn dng cc cy con m cc php ton ca n thc hin theo ng khng r nhnh
v thc thi chng.
Tm li cc php chn sm s lm gim bt s b d liu v php chiu sm lm gim s
cc thuc tnh.
6.6 Ti u ha bng khung nhn (Materialized Views)
Thng thng, quan h kt qu c sinh ra bi cc cu hi truy vn s c lu tr trong
cc khung nhn c nh ngha. Ngc li, khung nhn c th ha l khung nhn lu
tr ton b d liu tnh ton v kt qu tnh ton. Trong nhiu ng dng m cc thao tc lp
li nhiu ln, c th s dng cc kt qu ca cc thao tc trc cho cc thao tc sau rt hiu
qu. V d nu trc y c cu hi truy vn v tng s tng loi cp lp t trn tuyn:
CREATE VIEW SO_LUONG (Loai_cap, SLG) AS
SELECT MC# , SUM (SL)
FROM L_DAT
GROUP BY MC#
V nu c lu tr trong khung nhn c th ha th nhng cu hi v s lng mt s loi
cp c th no s tm kim nhanh chng, khng mt nhiu thi gian.
6.6.1 Php kt ni
Gi s V: = R S. Gi s, chn thm vo R mt tp I

R
. Nu gi tr c ca R c
biu th bng R
old
, v gi tr mi ca R bng R
new
, th R
new
= R
old
I
R
. Khi , gi tr c
ca V
old
c biu din bi R
old

S , v gi tr mi V
new
c biu din bi R
new

S. Khi R

mew
S biu din biu thc ti u nh sau:

(R
old
S) ( I

R
S). Tc l V

new
= V
old
( I
R
S).

Nh vy, khi thc hin php chn thm, nu s dng phng php khung nhn c th ha,
th vic thc hin s n gin hn, ch cn thm I
R
S vo ni dung c. Tng t ,
gi s cn xa mt s b D

R
ra khi quan h R, vi khung nhn c th ha, ch cn thc
hin V
new
= V
old
( D
R

S).
6.6.2 Php chn v php chiu
Xem xt php chn V =
F
(R):
Chn thm tp cc b I
R
vo quan h R : V
new
= V
old

F
(I
R
).

138

Chng I: Khi nim c bn v cc h c s d liu

Xa khi R mt tp cc b D
R
,: V
new
=V
old
-
F
(D
R
).
Xem xt php chn V =
A
(R): Gi s quan h R c dng R=(A,B) v cha hai b
(a,2) v (a,3). Sau khi thc hin php chiu trn thuc tnh A, quan h kt qu
A
(R)
cha b n (a). Nu xa b (a,2) ra khi R:
Xa trc tip t
A
(R): khi quan h
A
(R) l quan h rng.
Xa t quan h R trc khi chiu, quan h
A
(R) s cha b n (a).
Nh vy ty tng trng hp c th s dng phng php khung nhn. Trong trng hp
xa sau php chiu ng, nu lc lng ca
A
(R) ln hn 1. Ngc li s cho kt qu sai.
6.6.3 Cc php ton khi
Cc php ton khi, v nguyn tc cng nh cc php chiu v chn. Cc php khi trong
SQL l cc php COUNT(), SUM() , AVG(), MIN() v MAX().
COUNT(): Xem xt khung nhn c th ha V= COUNT(GROUP BY A)), phn
hoch theo thuc tnh A v m theo n: Chn
Nu khng tn ti, chn thm ( t.A.1) vo khung nhn c th ha.
Nu tn ti ( t.A) , thm 1 vo gi tr m ca nhm.
SUM(): V = SUM(GROUP BY A)).
AVG()
MIN(), MAX().
6.6.4 Cc php ton khc
Php giao tp hp: V = R S, :
Chn mt b vo R.
Xa khi tp giao nu n tn ti trong .
Cc php ton tp hp khc: Hp v hiu c thc hin theo kiu tng t .
6.6.5 Ti u ha cc cu hi v cc khung nhn c th ha
Ti u ha cc cu hi c th c thc hin bng cch xem cc khung nhn c th ho nh
l cc quan h . Tuy nhin, s dng phng php cc khung nhn c th ha ty trong cc
trng hp c th.
Bin i cu hi s dng khung nhn c th ha: Gi s c mt khung nhn c th
V = R S v mt cu hi R S T. Khi cu hi c th bin i v
oc s dng khung nhn c th nh sau: V T.

Thay th khung nhn c th bng khung nhn bnh thng. Gi s c mt khung nhn
c th V = R S v mt cu hi ca ngi s dng yu cu thc hin:

A
=
10(V). Gi s S c mt ch s trn thuc tnh B v R c mt ch s trn thuc tnh A.
Khi phng n tt nht cho cu hi ny c th thay th khung nhn c th V bi
khung nhn bnh thng R S:

A
= 10(R) S. Php chn v kt ni c th
c thc hin mt cch hiu qu bng cch s dng tng ng cc ch s trong R.A v
S.B . Ngc li nh gi php chn mt cch trc tip trn V c th i hi s qut ton
b V m c th tn km hn nhiu.


139

Chng I: Khi nim c bn v cc h c s d liu

6.7 V d ti u ho cc cu hi.
Xt cc quan h sau:
TUYEN (TC#, TC, DAI)
CAP (MC#, MC, GIA, N#, NSX)
L_DAT (TC#, MC#, SL)
Trong
TC# M tuyn cp MC# M cp
TC Tn tuyn cp MC Tn gi cp
DAI di tuyn cp GIA n gi loi cp
N# M nc sn xut cp NSX Tn nc sn xut cp.
SL S lng cp lp t





Ng ngha ca d liu nh sau:
Trn mt tuyn cp c nhiu loi cp khc nhau c lp t.
Mt loi cp c th c lp t trn nhiu tuyn.
Thng tin v tuyn cp: khng tn ti 2 m tuyn trng nhau.
Khng tn ti m 2 loi cp trng nhau.
V d Hy lit k tt c thng tin v cc tuyn cp c di trn 50 km v lp t cc loi
cp do Vit nam sn xut.
















DAI 50 N#=VNA


L_DAT
CAP TUYEN
DAI 50 N#=VNA
TC#, TC, DAI
TC#, TC, DAI
TUYEN L_DAT

CAP
N#=VNA
Hnh 6.4 a) Cy i s ban u cha ti u ha
b) Cy i s ti u ha
(a)
(b)
a) Biu thc i s quan h ban u nh sau
E =
TC
(
NSX=Vit nam AND (DAI >100)
(TUYEN CAP L_DAT

).

140

Chng I: Khi nim c bn v cc h c s d liu

Kt ni t nhin cc quan h TUYEN, CAP v L_DAT to thnh mt quan h trung gian
vi lc lng bng tch ca bc ca 3 quan h v cc thuc tnh l thuc tnh ca 3 quan h.
Tip theo thc hin php chn vi iu kin ch quan tm n cc li cp do Vit nam sn
xut c lp t trn cc tuyn c chiu di trn 50 Km.
b) Biu thc ti u
E =
TC
((
NSX=Vit nam
(CAP) (
DAI >100
(TUYEN) (
NSX=Vit nam
(L_DAT))
y l biu thc tng ng vi biu thc ban u. Quan h trung gian c kch thc nh
hn cng nh v lc lng. Thi gian thc hin nhanh hn, chi ph b nh t hn. Trc
tin thc hin php chn trn quan h TUYEN, to quan h trung gian bao gm cc b tha
chiu di trn 50 km. Php chn trn cc quan h CAP, to ra quan h c mt b duy nht,
nc sn xut l Vit Nam, v trn quan h L_DAT, gm cc b tha N# =VNA. Khi
thc hin php kt ni cc quan h trung gian trn, s c quan h kch thc nh hn v
lc lng b hn, chi ph thp hn.
V d Hy cho bit thng tin v cc loi cp do Vit nam sn xut c lp t trn cc
tuyn T01 (H ni- Qung ninh) v T02 (H ni Hi phng) trong cc nm 1990 n
1999 c gi tr trn 2 t ng Vit nam. Gi s khung nhn cn phi to c tn l CAP_VN
cha cc thng tin v M# m cp, MC tn cp, GIA gi cp, T_DAI tng di v gi tr
ca cng loi cp GTR. to khung CAP_VN cn kt ni cc quan h TUYEN, CAP v
L_DAT:
S
(
F
(TUYEN x CAP x L_DAT). Trong S l danh sch khung nhn
CAP_VN: S = M#, MC, GIA, T_DAI, GTR. iu kin chn F:
F = (T# = T01 T# =T02 ) (NSX=Vit Nam )
(1990 NG 1999 ) (SUM(DAI*SL*GIA) 2)
(TUYEN.T#= L_DAT.T# ) (CAP.M# = L_DAT.M#))

















x
TUYEN
L DAT
CAP
x



M#, MC, T_DAI, GIA, GTR

T# = T01 T# =T02
NSX=Vit Nam
1990 NG 1999
SUM(DAI*SL*GIA) 2
TUYEN.T#= L_DAT.T#
CAP.M# = L DAT.M#
Hnh 6.5 Cy i s cha ti u ha
141

Chng I: Khi nim c bn v cc h c s d liu

Tch biu thc chn F:
F
1
= {1990 NG 1999}
F
2
= {NSX=Vit Nam }
F
3
= {T# = T01 T# =T02 }
F
4
= { TUYEN.T#= L_DAT.T# }
F
5
= {CAP.M# = L_DAT.M# }
F
6
= {SUM(DAI*SL*GIA) 2}
T1 =
T#,DAI
(
F3
(TUYEN )) =
T#,DAI
(
T# = T01 T# =T02
(TUYEN ))
T2 =
T#,M#,SL
(
F1
(L_DAT)) =
T#,M#,SL
(
1990 YEAR 1999
(L_DAT))
T3 =
M#,MC,GIA
(
F2
(CAP) =
M#,MC,GIA
(
NSX=Vit Nam
(CAP))
T4 =
F6
(( T1
F4
T2)
F5
T3)
T5 =
M#, MC
(T4) .


























x

T#=T01 or
TUYEN

T#, DAI

1990 NG 1999
L DAT

T#, M#,

NSX=Vit Nam
CAP

M#, MC, GIA



TUYEN.T#=

L_DAT.T#

M#, SL, DAI
x

CAP.M# = L_DAT.M#

M#, MC, DAI, SL, GIA

SUM(DAI*SL*GIA

)
2

M#, MC, T_DAI, , GIA,
Hnh 6.6 Cy c php ti u ha biu thc quan h
142

Chng I: Khi nim c bn v cc h c s d liu

Biu din bng ngn ng SQL:
CREATE VIEW T1 AS
SELECT T#, DAI
FROM TUYEN
WHERE T#="T01" AND T#="T03"
CREATE VIEW T2 AS
SELECT T#, M#, SL
FROM L_DAT
WHERE YEAR FROM NG ) BETWEEN 1990 AND 1999.
CREAT VIEW T3 AS
SELECT M#, MC, GIA
FROM CAP
WHERE NSX=Vit Nam
CREAT VIEW T4 AS
SELECT M#, MC#, DAI*SL*GIA GT
FROM T1, T2, T3
WHERE (T1.T#=T2.T# and T3.M#=T2.M# ) and DAI*SL*GIA 2
SELECT *
FROM T4

Cu hi trc nghim
1. Qu trnh ti u ho cc cu hi truy vn d liu l qu trnh:
A. Cn thit phi bin i cc cu hi hp l
B. Chi ph thi gian thc hin cc php ton l t nht.
C. Cn thit phi bin i cc cu hi hp l sao cho chi ph thi gian thc hin
cc php ton l t nht.
D. Kt qu ca cc php ton c biu din duy nht bng mt quan h.
2. ngha ca biu thc
TTC
(
MC# =Vit nam
(TUYEN X L_DAT) X CAP))
A. Lit k tn tt c loi cp Vit nam.
B. Lit k tn tt c cc loi cp Vit nam c lp t trn cc tuyn
C. Lit k tn tt c cc tuyn c lp t cc loi cp Vit nam.
D. Lit k tn tt c cc tuyn cp
3. Hai biu thun sau y tng ng vi nhau
A.
TTC
(
MC# =Vit nam
(L_DAT) X (
MC# =Vit nam
( CAP ) X TUYEN))
B.
TTC
(
MC# =Vit nam
(TUYEN X L_DAT) X CAP))
C.
TTC
(
MC# =Vit nam
(L_DAT) X
MC# =Vit nam
( CAP ) X TUYEN))
D.
TTC
(
MC# =Vit nam
(CAP X L_DAT) X TUYEN))

143

Chng I: Khi nim c bn v cc h c s d liu

4. Biu thc no di y biu din cu truy vn: Tn cc loi cp s dng trn tuyn H
ni- Hi phng T03 ?.
A.
M#, MC
(
T#=T03
( L_DAT
L_DAT.M# = CAP.M#
CAP)))
B.
M#, MC
( CAP
CAP.M# =T2.M#
(
T#=T03
( L_DAT

)))
C.
F1 F2 .. Fn
(E) =
F1
(
F2
(...(
Fn
(

R))...)


D.
A1, A2,.., An
(
B1, A2,.., Bk
(E)) =
A1, A2,.., An
(E).
5. Hy chn t/cm t tng ng hon thin khng nh sau: Ti u ho cu hi
khng nhng ti u v thi gian truy xut thng tin m l nhn t quan trng trong
vic bo m...............vi cc chin lc tm kim, truy xut d liu.
A. Tnh kh thi ca d liu
B. Tnh ton vn d liu
C. Tnh c lp ca d liu
D. Tnh nht qun ca d liu
6. Hy chn t/cm t tng ng hon thin khng nh sau: C nhiu k thut khc
nhau ti u ho cc cu hi, trong c k thut phn r cu hi da trn..........
A. Ngn ng ca i s quan h.
B. Ngn ng d liu.
C. Biu thc i s quan h.
D. Suy dn logic t cc tin Armstrong
7. Hy chn t/cm t tng ng hon thin khng nh sau: Bin i mt biu thc
i s quan h v mt biu thc i s quan h tng ng ...... theo ngha s cho
cng mt kt qu nhng vi chi ph thi gian thc hin v s dng b nh t hn rt
nhiu
A. Ng ngha d liu
B. Ti u
C. Thc hin
D. Tit kim b nh
8. Hy chn t/cm t tng ng hon thin khng nh sau: Cch tip cn c bn
nh gi ti u ha biu thc quan h thng cy kt ni tri theo chiu su, l phng
n u ha cu hi R khng quan tm ti th t kt ni khi cc ton hng bn phi ca
mi php kt ni . Cy kt ni tri theo chiu su rt c.......
A. Chi ph rt nh.
B. Chi ph bng chi ph biu thc ban u.
C. Cho ph thi gian nh.
D. Ch ph b nh nh
9. Hy chn t/cm t tng ng hon thin khng nh sau: Trong biu thc quan h
cc ton hng l ..........v cc php ton l cc php ton trong i s quan h.
A. Cc quan h trong mt CSDL
B. Cc thuc tnh.
C. Cc ph thuc hm.
D. Cc phn t

144

Chng I: Khi nim c bn v cc h c s d liu

10. Biu thc E1 v E2 tng ng vi nhau (E1 E2) , nu chng biu din cng mt
nh x, ngha l .......... ging nhau trong biu thc, th kt qu cng ging nhau.
A. Cc quan h.
B. Cc thuc tnh.
C. Cc bn ghi.
D. Cc ton hng
11. Ti u ho l xc nh trt t thc hin cc php ton trong E nhm p ng cc nhu
cu cho cng kt qu cho vic thc hin theo trt t ban u ca biu thc E, gim bt
c.......... thc hin.
A. B nh v thi gian.
B. B nh.
C. Thi gian.
D. Cc php ton
12. Hy so khp thng tin 2 phn di y vi nhau:
Phn 1 Phn 2
1 u tin thc hin cc php chiu v chn
....
A. lin tip thnh mt php ton duy nht.

2 Trc khi phi thc hin php tch cc B. hn nhiu so vi chi ph thc hin php
tch cc ..........
3 Thc hin cc php kt ni cn bng chi
ph s r......
C. hy tm chin lc truy nhp tt nht
vo CSDL
4 Nhm cc php ton chn v chiu...... D. nhm gii hn khi lng d liu trung
gian. Gim chi ph truy nhp b nh.
a. 1- D; 2- C ; 3 B ; 4 A .
b. 1- C; 2- B; 3 A; 4 D
c. 1- A; 2- B; 3 C; 4 D.
d. 1- D; 2- B; 3 A; 4 C.

Cu hi v bi tp:
Cu hi
Hy ti u ho cc cu hi sau:
1. Thng tin v cc tuyn c lp t cc loi cp do Vit nam sn xut c gi tr trn
10 t ng.
2. Thng tin v cc tuyn cp c lp t cc loi cp sau nm 1999, hoc c cc loi
cp do Vit nam sn xut.
3. Thng tin v cc tuyn cp xut pht t H ni, c cc loi cp c lp t sau
nm 1999, tng gi tr tuyn cp khng ln hn 3 t ng.
4. Thng tin v cc tuyn cp c tng gi tr ln hn tng gi tr cc tuyn cp xut
pht t H ni.

145

Chng I: Khi nim c bn v cc h c s d liu

5. Thng tin v cc tuyn cp m trong mi mt loi ch c mt loi cp c lp
t , hoc c c t nht 5 loi cp c lp t.
6. Thng tin v cc tuyn cp m trong lp t tt c cc loi cp c trong danh
mc.
7. Tng gi tr cc loi cp lp t trong cc tuyn.
8. Thng tin v cc tuyn cp khng s dng cc loi cp do Vit nam sn xut.
9. Thng tin v cc tuyn cp c m loi cp khng ng vi danh mc ( ngoi danh
mc).
10. Tng gi tr cc tuyn cp
11. Thng tin v cc tuyn cp c tng gi tr nh hn gi tr ca tuyn mang m hiu
T15
12. Thng tin v cc tuyn cp m trong s loi cp lp t nhiu hn s loi cp
lp t trong tuyn T01.
13. Thng tin v cc loi cp do Vit nam sn xut c gi tr trn 10 t ng, c s
dng trong nm 1999.
14. Thng tin v cc loi cp do Vit nam sn xut hoc do cc lin doanh Vit sn
xut.
15. Thng tin v cc loi cp c lp t trn cc tuyn xut pht t H ni, c gi tr
cp khng ln nh 5 triu ng.
16. Thng tin v cc loi cp c chiu di s dng v gi tr ca n ln hn chiu di
v gi tr s dng ca loi cp mang m hiu M03.
17. Thng tin v cc loi cp c s dng trn hn 10 tuyn.
18. Thng tin v cc loi cp c s dng duy nht trn mt tuyn cp.
19. Thng tin v cc loi cp c s dng trn tt c cc tuyn.
20. Thng tin v cc loi cp cha c s dng trn cc tuyn.
21. Thng tin v cc loi cp c s dng trn 2/3 tuyn cp.
22. Thng tin v cc loi cp c lp t trn cc tuyn xut pht t H ni, hoc n
H ni c cc loi cp do Vit Nam sn xut, c gi tr cp ln 5 triu ng.
Bi tp
1. Gi s cc quan h R
1
(A,B,C), R
2
(C,D,E) v R
3
(E,F), v R
1
c 1000 b, R
2
c
1500 b v R
3
c 750 b. nh gi kch c ca tch cc ca R
1
, R
2
v R
3
. Hy
xut mt chin lc hiu qu tnh ton php kt ni.
2. Gi s cc quan h R
1
(A,B,C), R
2
(A, D, F) v R
3
(B, E, T, Z) v R
1
c 3500 b,
R
2
c 500 b v R
3
c 700 . Hy tnh chi ph cho cc thao tc sau:
Thm 100 b vo R
1
.
Thm 20 b vo R
2
.
Thm 20 b vo R
3
.
Bit chi ph ca R

1
X R hy tnh chi ph R
2 1
X R X R
2 3
3. Hy tnh chi ph cho cc biu thc quan h sau: Thng tin v cc loi cp c gi tr
trung bnh cao hn gi tr trung bnh ca cc loi cp do Vit nam sn xut c lp
t trn tng tuyn.
146


147
AN TON D LIU
V TNH TON VEN D LIU

Chng ny s gii thiu mt cch tng qut v khi nim an ton v ton vn d liu. v
mt s bin php cn thit bo v c s d liu. An ton d liu ngha l cc h c s
d liu cn phi c bo v chng truy nhp tri php nh sa i hay ph hoi d liu.
Tnh ton vn d liu theo ngha d liu khng mu thun, d thng thng tin trong cc h
thng khi thc hin cc php lu tr, truy vn, tm kim. Ni dung bao gm cc vn sau:
7
S cn thit phi bo v an ton c s d liu
Tnh ton vn ca d liu
Ngn ng vn tin - ngn ng rng buc ton vn
An ton c s d liu.
Cc mc bo v an ton c s d liu.
Bo mt c s d liu
7.1 S cn thit phi bo v an ton c s d liu
C s d liu ca mt c quan, mt x nghip, ca mt ngnh... thng c ci t tp
trung hay phn tn trn cc my ch trn mng, l ti nguyn thng tin chung cho nhiu
ngi cng s dng. V vy cc h c s d liu cn phi c c ch kim sot, qun l v
truy xut khai thc thng tin sao cho d liu phi c an ton v ton vn. Thut ng an
ton d liu c ngha l cc h c s d liu cn phi c bo v chng truy nhp nhm
sa i hay ph hoi mt cch ch nh hay khng ch nh. Nh vy cc h thng c s
d liu cn thit phi qun tr, bo v tp trung, nhm bo m c tnh ton vn v an
ton d liu. Ton vn d liu khc vi an ton d liu, tuy rng chng c mi quan h mt
thit vi nhau. C th s dng chung mt s bin php thc hin. C rt nhiu mi nguy
him e do n cc h thng d liu:
C s d liu c ci t tp trung hay phn tn trn cc v tr a l khc nhau,
c khai thc t cc u cui khc nhau theo ch Client/Server.
Nhiu ngi s dng truy nhp v khai thc trn cng mt c s d liu.
Rt nhiu loi d liu c ti v gi trn cc my cc b khai thc.
Truy xut vo cc h c s d liu bng nhiu ngn ng thao tc d liu khc nhau,
bng nhiu h ng dng khc nhau trn cng mt ni dung thng tin.
V vy c th xy ra
Nhng sai st ngoi mun, khi thc hin thm, sa, xo hay do li khi lp trnh.
Truy nhp tri php vi mc ch xu: sa, xo thng tin hay nh cp thng tin...
S c k thut nh li do cc thit b, li lp trnh...
7.2 Tnh ton vn d liu
Vn ton vn d liu l vn m bo d liu trong cc h thng c s d liu c
chnh xc ti mi thi im trong chng mc c th. C mt gii hn v phm vi m mc
tiu ny c th thc hin c. H thng c s d liu khng th kim tra ht tnh ng n
Chng I: Khi nim c bn v cc h c s d liu

ca mi mt gi tr c a vo CSDL. Chng hn, khng th pht hin gi tr ca thuc
tnh s in thoi mi c lp t 8515678, gi tr ng phi l 8515673 (tt nhin s
in thoi ny trc cha tn ti trong cc quan h ca c s d liu). Tuy nhin, nu
nhp vo gi tr 0515673, h thng s pht hin sai v khng chp nhn gi tr ny.
Bo m tnh ton vn ca d liu l mt trong cc bin php bo v d liu, chng li s
sa i hay ph hoi khng ch nh. C th c nhiu nguyn nhn khc nhau dn n
khng c m bo tnh ton vn d liu. C th trc trc k thut, nh b nh b chp
chn h hng, ng truyn b li, thit b ra/vo khng n nh.. hoc ngi s dng u
cui thao tc sai st, khng ng quy trnh ...hoc chng trnh ng dng b li.. Khng
m bo tnh ton vn d liu c th xy ra trong h thng coi l n nh nht v m bo
nht...V vy iu quan trng l phi c kh nng pht hin nhng tnh hung khi chng
xut hin v c kh nng khi phc t nhng tnh hung .
7.2.1 Cc rng buc ton vn
Gia cc thc th d liu tn ti cc mi quan h, rng buc ph thuc ln nhau. C 2 loi
rng buc ch yu. Mt loi rng buc c tnh cu trc, lin quan n cc ng thc gia
cc gi tr trong CSDL. M t tnh cht ca cc thuc tnh khi to lp CSDLnh tn, kiu,
di ca thuc tnh. Chng hn thuc tnh S in thoi l kiu chui c di ng
bng 7 k t. H thng s khng chp nhn, nu nhp vo CSDL mt gi tr kiu s hoc
kiu xu nhng cha hoc vt qu 7 k t. Rng buc biu din gi tr ca cc thuc
tnh bng ng thc ton hc, cc ton hng l gi tr ca cc thuc tnh khc. in hnh l
nhng rng buc hn ch mt trng ch nhn c mt s gi tr trong mt phm vi no
hoc din t mt mi lin h s hc gia cc trng khc nhau. V d, nu cc bn ghi
ca mt hp ng thu bao in thoi cha cc trng SDT (s in thoi), NGK (ngy k
hp ng), TLD (tin lp t). Min xc nh gi tr ca SDT l mt chui 7 k t s,
khng cha k t c bit, k t u khc k t khng. Min xc nh ca NLD l thi gian
ngy thng nm k hp ng khng qu 15 ngy k t ngy yu cu v min xc nh ca
TLD l mt s thp phn khng qu 1.400.000 nghn ng. Khi nhp d liu vo CSDL, h
thng s kim tra tnh ng n ca cc gi tr m khi to lp CSDL m t, nu vi phm
s khng c chp nhn v thng bo li.
Loi rng buc ton vn th hai l loi rng buc logic gia cc thuc tnh, l cc rng buc
c th biu din c nu h qun tr c s d liu DBMS cho php ngi s dng khai
bo mt tp cc trng hoc thuc tnh to ra kha cho mu tin hoc quan h. Trong cc h
thng c s d liu quan h, biu din mi quan h cc thuc tnh l tp cc rng buc c
m t bng khi nim cc ph thuc hm v ph thuc a tr, hay cn c gi l cc ph
thuc d liu. Theo nh ngha, mi kho ca mt lc quan h u c tnh duy nht.
Khng tn ti 2 b c cng mt gi tr trn cc thuc tnh kho. Gi tr ca kho theo quy
nh khng c nhn gi tr null hay gi tr khng xc nh. H qun tr CSDL c trch
nhim phi t chi khi gi tr ca kho nu vn cn cha cc gi tr cha xc nh hoc
tn ti trong c s d liu thng qua cc php thm hoc sa i d liu.

148

Chng I: Khi nim c bn v cc h c s d liu

Nh vy cc rng buc ton vn d liu phi bo m tnh c lp v ton vn d liu. D
liu lu tr trong cc h thng c s d liu phi phn nh hin thc khch quan trong mi
thi im c th, khng d tha v mu thun thng tin.
7.2.2 Ngn ng vn tin - ngn ng rng buc ton vn
Thng thng c nhiu loi rng buc ton vn c th m t bng cc ngn ng thao tc d
liu DML (Data Manipulation Language). Ni cch khc, c th s dng ngn ng DML
lm ngn ng kim tra rng buc ton vn. Phn ny s xem xt v mt l thuyt khi s
dng i s quan h lm ngn ng rng buc d liu.
V d Xt c s d liu qun l cp, rng buc d liu c th l: cc loi cp lp t trn
tuyn cp QLCAP, phi l cc loi cp c trong quan h QLKHO. Ni cch khc, tt c
cc cp lp t trn tuyn phi c xut x t kho vt t ca cng ty. Kt qu vn tin c th
biu din bng i s quan h nh sau:

MC#
(QLCAP)
TENC
(QLKHO)
V d Cc cuc m thoi c thi gian m cm nhp vo c s d liu:
QLCUOC(TB, SDT, SDD, BD, KT) & (KT BD) < 0.
iu ny c ngha l, cuc m thoi ca thu bao TB t in thoi SDT n in thoi
SDD vi thi gian bt u BD, thi gian kt thc KT v thi gian cuc m thoi (KT
BD) < 0, khi s dn n mu thun v nhn gi tr l False. iu ny tng ng vi
khng nh khng tn ti cc cuc m thoi c thi gian m trong c s d liu QLCUOC.
7.2.3 Kim tra cc rng buc ton vn
Trong v d trn, trc khi chn thm thng tin v mt loi cp mi vo quan h QLCAP,
cn phi kim tra xem loi cp c xut kho hay cha. Tc l phi kim tra loi cp
thm vo CSDL QLCAP l mt phn t ca
TENC
(QLKHO) hay khng. Tng t, trong
v d 7.2, trc khi chn thng tin ca mt cuc m thoi mi vo c s d liu
QLCUOC, cn phi kim tra thi gian ca cuc m thoi ny c m hay khng. (Lu ,
khng phi kim tra thi gian ca cc cuc m thoi c trong c s d liu).
7.3 Vn an ton v quyn truy nhp c s d liu
D liu lu tr trong c s d liu cn phi c bo v trnh vic truy nhp tri php
v ph hoi c ch nh hay khng ch nh khi thc hin cp nht, sa i hay b sung
thng tin trong cc c s d liu. Cn phi c bin php bo v chng li vic a d liu
vo mt cch khng nht qun nh hng nghim trng n tnh ton vn d liu.
7.3.1 S vi phm an ton c s d liu.
Cc dng truy cp c ch nh bao gm :
Khng cho php c d liu.
Khng cho php sa i d liu.
Khng cho php ph hu d liu...

149
Vn an ton c s d liu cp n vic bo v chng li s truy cp c ch nh. Vic
bo v tuyt i cc h c s d liu khi truy nhp l khng th, nhng phi c cc bin
php mnh ngn chn hu ht truy cp tri php vo c s d liu.

Chng I: Khi nim c bn v cc h c s d liu

7.3.2 Cc mc an ton c s d liu.
bo v c s d liu, phi thc hin cc bin php m bo an ton mt vi mc bo
v nh sau:
Mc an ton h thng c s d liu: Ty thuc vo yu cu ca ngi s dng m
ngi qun tr c s d liu cp php truy nhp mt phn vo c s d liu. Nhng ngi
s dng khc c th c php thc hin cc cu hi truy vn, nhng c th b ngn cm
nh sa i d liu.
Mc an ton h thng iu hnh: .Mc h thng kim sot ton b mc iu hnh h
thng. Vn an ton mc h thng iu hnh s c m bo bi mc an ton h
thng c s d liu. An ton trong h iu hnh c tin hnh ti nhiu cp t sp
xp cc mt m truy cp vo h thng cho ti s c lp cc qu trnh ang cng x l trong
h thng. Tp h thng cng cung cp mt s cp bo v. S tham kho nhng ch
trong th mc l bao qut ca nhng ch ny trong cc bi hc v h thng iu hnh.
An ton mc mng. Hu ht cc h thng c s d liu u cho php truy cp t xa
thng qua cc thit b u cui. An ton d liu mc mng l chng n cp thng tin,
sao chp thng tin v sa i ni dung thng tin trn ng truyn. Vn an ton cp mc
mng t c nhiu kt qu, ng dng ph bin trn mng Internet. Danh sch cc ch
trong th mc bao qut nn tng nguyn l ca vn an ton mng.
Nhn din ngi s dng: T nh ngha an ton d liu c th suy ra rng, h qun tr
c s d liu DBMS khng cho php ngi s dng c thc hin mt thao tc no nu
khng c php ca ngi qun tr CSDL. Ngi qun tr CSDL phi:
Xc nh cho h thng nhng thao tc m ngi s dng c php thc hin.
Cung cp mt phng tin cho ngi s dng h thng nhn bit h.
Ni chung ngi s ng u c trao nhng quyn khc nhau. Nhng quyn ny c th
bo m quyn c mt s phn ca c s d liu, quyn chn thm, xa hay sa i d
liu. Hnh thc thng dng nht nhn ra ngi s dng l mt khu, v ch c h thng
v ngi s dng bit. Mt khu cng c h thng bo v nh bo v d liu.
Bo v mc vt l: Mt m hnh bo v ng tin cy cng c kh nng b tn cng vo
c s d liu, t vic ph c mt khu n vic nh cp cc thit bi. C th chng nh
cp kh hiu qu bng cch m ha, che du d liu. Mt h thng c bo mt cao cn phi
c nhng phng thc nhn din khc tt hn mt khu, nh nhn din tng ngi s dng
qua mt nhn vin bo v, hoc kt vi cc quy nh v hnh chnh...
Kim tra truy nhp: Vi mi ngi s dng h thng s qun l mt h s c pht
sinh t vic cc chi tit v th tc xut trnh, xc minh v cc chi tit c quyn thao tc
m ngi qun tr c s d liu cp cho ngi s dng. H thng s kim tra tnh php l
ca mi mt thao tc ca ngi s dng. V d yu cu c c li nh gi hng nm ca
mi mt nhn vin, ch c th c php nu c s d liu c cha thng tin quy nh rng
ngi yu cu phi l Gim c, trng, ph phng t chc, chnh vn phng. Tt c cc
i tng khc khng c trong c s d liu khng c php truy xut. DBMS s kim tra

150

Chng I: Khi nim c bn v cc h c s d liu

mi mt thao tc ca ngi s dng xem c vi phm cc rng buc an ton hay khng, nu
c s phi hu b. Mt rng buc truy nhp ni chung c lin quan n mt b phn ca c
s d liu. Do tn ti mt c quyn thch hp, gi s l chng trnh s kim tra mi
mt yu cu ca ngi s dng. Chng trnh s sp xp quyn truy nhp theo mc
phc tp tng dn sao cho t ti quyt nh cui cng nhanh nht c th.
An ninh tt c cc cp phi c duy tr nu an ninh c s d liu c bo m. Mt
s yu km vn an ton cp thp (cp vt l hay cp con ngi) cho php s ph
v cc bin php an ton nghim ngt cp cao (cp h thng c s d liu).
7.3.3 Nhng quyn hn khi s dng h c s d liu.
C th chia quyn hn truy nhp vo c s d liu.nh sau
c mt cch hp php: ngi s dng c php c, nhng khng c sa
i ni dung d liu.
Chn mt cch hp php: l cho php ngi s dng c chn thm d liu mi
vo c s d liu, nhng khng sa i d liu hin c.
Sa i mt cch hp php: cho php ngi s dng c php sa i ni dung
d liu, nhng khng c xo d liu.
Xo mt cch hp php: cho php ngi s dng c php xo d liu.
Cho php vic to v xo cc ch s.
Cho php vic to cc mi quan h mi.
Sa i cu trc: cho php chn thm, sa i hoc xo cc thuc tnh trong cc
quan h.
B hp php: cho php xo cc quan h.
Mt ngi s dng c th c tt c cc quyn trn, hoc ch c mt s quyn hn nht nh.
Thm vo nhng dng ca s cho php truy cp d liu chng ta c th ban cho ngi
s dng c php sa i c cu c s d liu. Cho php b v xo l khc nhau trong
xo hp php l ch cho php xo b d liu. Nu mt ngi s dng xo tt c cc b ca
mt quan h, quan h s vn tn ti nhng quan h khng cn g. Nu mt quan h b
b n s khng cn tn ti na.
minh ho bn cht ca vn , khng mt tnh tng qut, cc mnh sau ch l mt vi
nim phm vi bo v thng tin trong cc h c s d liu, ch ra cc mc truy nhp CSDL
v trao quyn cho tng lp ngi s dng:
1. Ngi s dng c php truy nhp khng iu kin ti ton b c s d liu, vi
mi php ton lu tr v truy vn d liu tr.
2. Ngi s dng khng c php truy nhp ti bt k b phn no ca c s d liu,
vi mi php ton.
3. Ngi s dng c th c ng mt ni dung cng vic ca h trong c s d liu,
nhng khng c php sa i, b sung n.
4. Ngi s dng c th c ng mt ni dung cng vic ca h trong c s d liu, v
c php sa i, b sung n.

151

Chng I: Khi nim c bn v cc h c s d liu

5. Ngi s dng c th c v sa i thuc tnh m nhn vin, h v tn nhn vin,
n v cng tc theo nh k vo tun u ca mi thng.
6. Ngi s dng cm c thuc tnh nhn xt hng nm, cc thuc tnh mc lng v
ngy ln lng c c v sa i, cc thuc tnh khc ch c c. Cng vic ch
c thc hin trong khong thi gian t 9 gi n 11 gi trong cc ngy ca tun
cui thng.
7. Ngi s dng c quyn s dng cc php ton thng k cho thuc tnh mc lng
tnh mc lng trung bnh trong tng n v. Cm sa i d liu.
7.3.4 Khung nhn mt c ch bo v
Khung nhn, bng cch nh ngha li c s d liu khi nim, khng ch to iu kin
thun li khi lp trnh trnh ng dng v lm tng tnh c lp d liu logic, m cn c
s dng nh mt c ch bo v. C hai loi khung nhn. Loi khung nhn ch c, khng
cho php sa i. Loi khung ny gi l khung ch c.Trong nhiu trng hp, ngi
qun tr CSDL cho php ngi s dng ny c c d liu, nhng ngi khc va c
c, va c quyn sa i, b sung...Loi khung nhn th hai cho php c v ghi ln
cc thnh phn ca khung nhn. v mi sa i cho khung nhn c th c lu trong lc
khi nim. SQL xut cho php c/ghi cc khung nhn trong mt phm vi nht nh.
Vi phng php ny thit k cc chng trnh ng dng linh hot hn loi khung ch c.
Tuy nhin, khi thao tc cp nht trn cc khung nhn c/ghi thng gy tc ng n mt
s thnh phn ca c s d liu khng nm trong khung nhn. V d trong mt h CSDL
phn cp, trong khung nhn ch c kiu bn ghi gc, khng c bn ghi ph thuc. Nu xa
xut hin ca kiu bn ghi nay, ko theo phi xa cc xut hin bn ghi ph thuc. y l
mt hnh ng khng hp l, vi phm nguyn tc khng cho ngi s dng c php xa
mt i tng m h khng thy c trong khung nhn. Cng tng t nh trong m hnh
mng, nu xa mt bn ghi khi khng bit cc bn ghi khc nm ngoi khung nhn bhng
c quan h vi n. V nhiu trng hp khc tng t. V vy, tt c cc h qun tr c s
d liu .DBMS gii hn quyn cp nht cc khung nhn trong mt s trng hp c th.
V d v hot ng ca ngn hng, mt th k cn bit tn ca tt c cc khch hng c cc
khon vay ti nhiu chi nhnh. Ngi th k ny khng c php xem nhng thng tin v
khon vay c bit m khch hng c th c. Hnh ng ca c th k b t chi khi truy
nhp trc tip ti quan h cho vay, nhng c th truy nhp bng khung nhn cust-loan bao
gm cc thng tin nh: tn ca khch hng v chi nhnh ni m khch c khon vay.
Khung nhn ny c th c nh ngha trong SQL nh sau:
CREATE VIEW cust-loan AS
(SELECT branch-name, customer-name
FROM borrower, loan
WHERE borrower.loan-number = loan.loan-number)
Gi s rng c th k a ra truy vn SQL nh sau:
SELECT *

152

Chng I: Khi nim c bn v cc h c s d liu

FROM cust-loan
Nh vy ngi th k c php xem kt qu ca truy vn trn, tuy nhin qu trnh x l
truy vn ny s c thc hin trn cc quan h BORROWER and LOAN. V vy h thng
phi kim tra cc quyn hn trn truy vn ca th k trc khi bt u qu trnh x l truy
vn. Vic to mt khung nhn khng ph thuc vo cc quan h ngun. Mt ngi s dng
to ra mt khung nhn khng c nhn tt c cc c quyn trn khung nhn. V d, ngi
s dng khng c quyn cp nht trn khung nhn nu khng c quyn cp nht vo
quan h bng khung nhn c nh ngha. Nu ngi s dng to ra mt khung nhn
trn nhng quyn hn khng c php, th h thng s ph nhn yu cu to khung nhn.
Trong v d khung nhn cust-loan trn, ngi to khung nhn phi c quyn c trn c
hai quan h BORROWER and LOAN.
7.3.5 Cp php cc quyn truy nhp
Mt ngi s dng c cp mt vi quyn truy nhp c s d liu v cc quyn hn ny
c th tham chiu n quyn truy nhp ca ngi s dng khc. Tuy nhin ngi qun tr
c s d liu cng cn phi c bit lu khi cc quyn ny lu thng qua gia nhiu
ngi s dng, sao cho cc quyn ny c th c thu hi ti mt thi im ty .

U
1
U
4
U
5
U
2
U
3
DBA







Hnh 7.1 th cp quyn truy nhp c s d liu
V d, gi s khi khi to, ngi qun tr c s d liu cp quyn cp nht d liu trn
quan h LOAN ca c s d liu ngn hng cho ngi s dng U
1
, U
2
v U
3
v quyn c
th trong th t thng qua quyn hn n cc quyn ca nhng ngi s dng khc. Lin
thng cc quyn t mt ngi s dng ny ti ngi s dng khc c m t bng mt
th quyn hn. th bao gm cc nt l nhng ngi s dng v cc cnh U
i
U
j
nu
ngi s dng U
i
cp quyn cp nht trn LOAN cho ngi s dng U
j
. Gc ca th l
ngi qun tr c s d liu. Trong hnh 7.1, ngi s dng U
5
c cp quyn hn bi
hai ngi s dng U
1
v U
2
v ngu s dng U
4
c cp quyn s dng ch bi U
1
.
Mt ngi s dng c quyn hn truy nhp vo c s d liu theo mt s quyn no khi
v ch khi (if and only if) c mt ng i t gc trn th quyn hn, tc l lin thng t
nt ngi qun tr c s d liu ti nt ngi s dng.
Gi s ngi qun tr c s d liu quyt nh thu hi cc quyn hn ca ngi s dng U
1
.
V ngi s dng U
4
c quyn hn dn t U
1
nn quyn hn ca U
4
cng s b thu hi.

153

Chng I: Khi nim c bn v cc h c s d liu

Tuy nhin, v U
5
c cp quyn bi U
1
v U
2
, v th ngi qun tr c s d liu ch thu
hi t U
1
dn U
5
, khng thu hi quyn cp nht trn LOAN ca U
2
. U
5
vn cn quyn cp
nht trn quan h LOAN. Nu ngi qun tr thu hi quyn cp nht ca U
2
th U
5
s mt
quyn hn trn quan h LOAN.











U
1
U
2
U
3
DBA
(a)
U
1
U
2
U
3
DBA
(b)
U
1
U
2
U
3
DBA
(c)
Hnh 7.2 C gng hu b nhng quyn hn b thu hi
C th xy ra nhng trng mt cp ngi s dng lu c c th c gng khng chp
nhn cc quy tc thu hi quyn c cp pht. Gi s th cp pht quyn truy nhp
nh trong hnh 7.2a. Ngoi cc cnh xut pht t gc DBA n U
1
, U
2
v U
3
, gia U
2
v
U
3
cn tn ti cc ng t U
2
n U
3
v ngc li t U
3
n U
2
. iu ny c ngha l
ngi qun tr cp pht quyn cho U
1
, U
2
v U
3
, U
2
cn thm cc quyn ca U
2
v U
3
cn
thm cc quyn ca U
2
. Nu ngi qun tr c s d liu thu hi quyn ca U
3
gi li
quyn hn ca U
2
th quyn truy nhp ca U
3
vn cn, khng b mt v ng i t gc n
U
3
lin thng qua U
2
nh trong hnh 7.2b. Nu thu hi ng thi quyn ca c hai ngi s
dng U
3
, U
3
khi cc quyn ca U
3
v U
3
vn tn ti nh trong hnh 7.2c. Tuy nhin khi
nh qun tr c s d liu xo b cnh t U
3
ti U
2
v t U
2
ti U
3
th cc quyn s
khng khng tn ti trn ng truyn bt ngun t ngi qun tr c s d liu.
Tuy nhin, ngi qun tr c s d liu yu cu tt c cc cnh trong th cp quyn truy
nhp phi lin thng bt u t nt gc, hay bt u t ngi qun tr DBA. Nh vy cnh
i t U
2
v U
3
v ngc li s b xa, tc l cc quyn t U
2
n U
3
v ngc li phi c
thu hi nh trong hnh 7.3.

U
1
U
2
U
3
DBA


Hnh 7.3 th quyn truy nhp c s d liu

154

Chng I: Khi nim c bn v cc h c s d liu

7.3.6 Kim tra du vt
Nhiu ng dng v bo mt c s d liu cn duy tr mt c ch kim tra du vt. Mt s
kim tra du vt l mt bn lu tt c cc thay i khi thc hin cc php lu tr nh chn
thm, xo v sa i thng tin trong c s d liu cng vi nhng thng tin pht sinh thm
trong qu trnh thc hin. Vic kim tra du vt s gip cho vic d tm c cc nguyn
nhn nhanh v chnh xc. V d nu mt ti khon no c pht hin khng cn i,
ngi qun tr c th ln du vt ca tt c cc cp nht xy ra trong ti khon tm
thy s cp nht khng ng (c th l gian ln) ca nhng ngi thc hin vic cp
nht. To ra mt s kim tra du vt bng cch nh ngha cc chui phn ng thch hp
trn cc cp nht quan h (s dng h thng cc gi tr nh ngha nhn bit tn ngi
s dng v ln truy nhp). Tuy nhin nhiu h thng c s d liu cung cp phng php
to s kim tra du vt thun tin v d s dng.
7.4 Tnh bo mt trong SQL
7.4.1 Cc c quyn trong SQL
Cc php ton c quyn c bn trong SQl bao gm cc php DELETE, INSERT, SELECT
v UPDATE. Quyn ca php chn tng ng vi quyn c v quyn tham chiu. Ngn
ng nh ngha d liu SQL bao gm nhng lnh cp pht quyn GRANT v lnh thu hi,
hy b cc quyn cp pht REVOKE .
1. Cp quyn truy xut mt quan h cho ngi s dng hay nhm ngi s dng: Dng c
bn ca cu lnh ny l :
GRANT <privilege list > ON <relation name or view name TO <user/role list >.
Privilege list cho php cp mt s quyn s dng trong mt lnh.
Cp quyn READ cho nhm ngi s dng WORLD trn quan h R. Ngi s
dng ch c quyn bao gm quyn s dng quan h R trong cc cu vn tin,
khng c php sa i, b sung.
GRANT READ ON R TO GROUP/ WORLD
Cp quyn quyn u tin WRITE: Ch c quyn ghi, sa i, cp nht. Thng tin
khng c hin th:
GRANT WRITE ON R TO GROUP /WORLD
Cp quyn c c v ghi ALL: Ngi s dng c quyn ghi v c bao nh
quyn chn, xa v sa i cc b cng nh cc thao tc to ch mc cc quan h
hay xa b chnh quan h.
GRANT ALL ON R TO GROUP /WORLD
Ngi qun tr CSDL c y tt c cc quyn. V vy khng cn thit phi m t
tng minh.
Cp quyn SELECT trn quan h ACCOUNT cho U
1
, U
2
v U
3

GRANT SELECT ON ACCOUNT TO U1, U2, U3.
Quyn UPDATE m t hoc trn tt c cc thuc tnh hoc trn mt s thuc tnh
ca quan h. Nu quyn UPDATE trn mt s thuc tnh, th danh sch cc thuc

155

Chng I: Khi nim c bn v cc h c s d liu

tnh s c m t trong du ngoc ngay sau t kho UPDATE . Nu khng m t
cc thuc tnh th quyn cp nht ca ngi s dng s c hiu trn tt c nhng
thuc tnh ca quan h.
GRANT UPDATE (AMOUNT) ON LOAN TO U1, U2, U3
GRANT UPDATE ON LOAN TO U1, U2, U3
Quyn INSERT: Khi cp quyn chn thm vo quan h phi xc nh r chn gi
tr tng ng trn nhng thuc tnh no v h thng.
Cc quyn tham chiu REFERENCE c cp cho ngi s dng trn nhng thuc
tnh c th ging nh quyn UPDATE. Cp quyn tham chiu cho ngi s dng
U1 trn thuc tnh branch-name n quan h branch.
GRANT REFERENCE (branch-name) ON BRANCH TO U1.
2. Quy tc c quyn ngi s dng
CREATE ROLE TELLER
GRANT SELECT ON ACCOUNT TO TELLER
GRANT TELLER TO JOHN
CREATE ROLE MANAGER
GRANT TELLER TO MANAGER
GRANT MANAGER TO MARY
Theo mc nh, mt ngi hoc mt nhm ngi s dng c cp mt c quyn, khi
ngi hay nhm ny khng c quyn cp c quyn ny tip cho ngi hay nhm ngi
s dng khc. Nu mun cp mt c quyn s dng v cho php ngi nhn tip tc
vt qua c quyn ti ngi s dng khc, cn thm mnh WITH GRANT OPTION
ti mnh lnh GRANT tng ng. V d, gi ngi s dng U1 c quyn thc hin php
chn trn quan h BRANCH v cho php U1 c quyn cp c quyn ny ti ngi khc,
c th biu din nh sau:
GRANT SELECT ON BRANCH TO U1 WITH GRANT OPTION
3. Thu hi quyn truy nhp:
thu hi mt quyn truy nhp, cu trc lnh tng qut nh sau:
REVOKE <privilege list> ON <relation name or view name>
FROM <user/role list> [restrictcascade]
Thu hi c quyn cp php cui cng cho U
1
, U
2
v U
3
.
GRANT SELECT ON ACCOUNT TO U1, U2, U3.
REVOKE SELECT ON BRANCH FROM U1, U2, U3
REVOKE REFERENCES (branch-name) ON BRANCH FROM U1
Lnh thu hi mt c quyn cng c hiu lc i vi trng hp mt ngi hay
mt nhm ngi s dng cp tip cho mt hay mt nhm ngi s dng khc.
Trng hp ny c gi l cascading of the revoke.
REVOKE SELECT ON BRANCH FROM U1, U2, U3 RESTRICT

156

Chng I: Khi nim c bn v cc h c s d liu

Ngha l, h thng s thu hi quyn SELECT khng nhng ca U1, U2, U3, m cn
thu hi cho nhng ngi hay nhm ngi s dng c U1, U2, U3 cp tip
quyn SELECT.
REVOKE GRANT OPTION FOR SELECT ON BRANCH FROM U1
REVOKE READ/WRITE/ALL ON R .FROM GROUP/WORLD
7.4.2 Hn ch cc quyn hn trong SQL
Cc quyn hn trong SQL cn mt s nhc im. V d, gi s bn mun tt c cc sinh
vin c th nhn thy c cc im ca chnh h, nhng khng thy c im ca nhng
ngi khc. Nh vy, quyn hn phi t mc cc b d liu c nhn, iu ny khng
thc hin c trong SQL. Hn na, k thut lp trnh Web - c s d liu pht trin
tng i mnh. Cc ng dng truy xut vo c s d liu v hin th cc kt qu trn cc
thit b u cui di dng HTML ngy cng tng. Vn an ton, bo mt thng tin trn
cc my ch Web servers, Data Server trn ng truyn ngy cng kh khn v phc tp.
Nhim v ca cc quyn truy nhp ct vo trong cc ng dng server. M hnh quyn
hn y ca SQLnhiu khi phi i ng vng. Li th l cc quyn hn c lm ni
bt nh l nhng b d liu c nhn, c th c thi hnh bi cc ng dng.
7.4.3 V d nh ngha cc quyn truy nhp
1. Gi s, trng phng t chc cn b ca mt c quan mi c quyn xem v sa
i ni dung nhn xt cht lng lm vic ca cc nhn vin trong c quan.
2. Nhn vin qun l nhn s c quyn c nhn xt, c quyn xo hoc thm thng
tin v nhn s mi, hoc cp nht, b sung cc thng tin v m nhn vin, h v tn,
a ch, n v cng tc, ngy thng gi bc lng mi.
3. Cc nhn vin cn li ca phng t chc cn b ch c quyn c xem m nhn
vin, h v tn, a ch ni , n v cng tc ca nhn vin.
Trng phng c quyn truy xut vo QLNS, do tho iu kin (1), nhng khng tho iu
kin (2) v (3). Cc nhn vin cn li c th truy xut theo iu kin (2) v (3). Ngi qun
tr CSDL cn to ra mt khung nhn, mi nhn vin ca phng c th c c ni dung
ca khung ny. Khung nhn c nh ngha nh sau:
CREATE VIEW PUBLIC_QLNS (MA, HVT, C, DV) AS
SELECT MA, HVT, C, DV
FROM QLNS.
Khi chn thm thng tin v mt nhn vin mi vo quan h QLNS, gi tr ca trng nhn
xt NHAN_XET s nhn gi tr null. Xo trong khi quan h QLNS nhn vin c m v
tn trong khung. Khi sa i, b sung cng tng t cho cc b thch hp.
gn quyn truy xut d liu trn quan h QLNS cho mt nhm chuyn vin qun l
nhn s, trng phng c th a ra cu lnh sau:
GRANT READ ON QLNS TO GROUP;
GRANT READ ON PUBLIC_QLNS TO WORLD;
GRANT WRITE ON PUBLIC_QLNS TO GROUP.

157

Chng I: Khi nim c bn v cc h c s d liu

7.5 Tm tt
Vn an ton v bo ton d liu khng bo m khi qu trnh bin i d liu khng
c tn trng, ph v tnh nht qun ca d liu bi ngi s dng.
Nhng rng buc v min xc nh lin quan n gi tr ca cac thuc tnh c th dn
n cc gi tr rng hoc khng xc nh.
Rng buc tnh tham chiu ton vn s b b xm phm khi gi tr xut hin tp cc
thuc tnh cho trc ca mt quan h ng thi cng xut hin tp cc thuc tnh ca
mt quan h khc.
Nhng rng buc min xc nh v nhng rng buc tham chiu ton vn c th kim
tra kh d dng. Vic s dng nhiu nhng rng buc phc tp c th a ti gi tr
ng k. C 2 cch th biu din cc rng buc tng qut.
D liu c lu tr trong c s d liu cn c bo v khi cc truy cp tri php, s
ph hoi hoc cc thay i v s ngu nhin ca mu thun.
Vic chng li s mt mt ngu nhin ca d liu d hn l s chng li nhng truy cp
tri php vo c s d liu. Khng th tuyt i bo v c s d liu khi cc truy nhp
tri php, nhng c th ngn chn hu ht.
Ngi s dng c th c rt nhiu quyn truy nhp vo cc phn khc nhau ca c s
d liu. Cc quyn ny l phng tin h thng c s d liu c th chng li nhng
truy cp khng cho php v nguy him.
Ngi s dng c quyn c th chuyn giao quyn truy nhp ti nhng ngi s dng
khc. Tuy nhin, cng cn phi cn trng trong vic chuyn nhng quyn
ny nh th no trong s nhng ngi s dng nu nh c th chc chn rng s cho
php ny c th c thu hi li ti mt thi im no trong tng lai.

Cu hi trc nghim
1. An ton d liu c ngha l c s d liu....
A. Cn phi c bo v chng truy nhp tri php.
B. Chng sa i hay ph hoi.
C. Chng vi phm ch nh hay khng ch nh.
D. Cn thit phi qun tr, bo v tp trung.
2. C th xy ra khng an ton thng tin
A. Nhng sai st ngoi mun khi thm, sa, xo.
B. Truy nhp tri php vi mc ch xu
C. S c k thut nh li thit b, lp trnh...
D. Cn thit phi qun tr, bo v tp trung.
3. bo v c s d liu, phi thc hin mt s bin php an ton :
A. H thng c s d liu:
B. Ngi qun tr c s d liu cp php truy nhp.

158

Chng I: Khi nim c bn v cc h c s d liu

C. An ton h thng iu hnh
D. Mng
4. Mt s bin php bo v c s d liu :
A. Nhn din ngi s dng:
B. Bo v mc vt l:
C. Kim tra truy nhp.
D. Ngi qun tr c s d liu cp php truy nhp.
5. Gi tr ca kho khng c nhn......hay gi tr khng xc nh. H qun tr CSDL c
trch nhim phi t chi khi gi tr ca kho nu vn cn cha cc gi tr cha xc
nh hoc tn ti trong c s d liu thng qua cc php thm hoc sa i d liu.
A. Gi tr null.
B. Gi tr khng.
C. S khng.
D. Rng
6. C th chia quyn hn truy nhp vo c s d liu.nh sau
A. c, chn, sa i, xo mt cch hp php
B. Cho php vic to cc mi quan h mi.
C. Sa i cu trc, b hp php
D. Ngi qun tr c s d liu cp php truy nhp.
7. Hy chn t/cm t tng ng hon thin khng nh sau: C s d liu l .......cho
nhiu ngi cng s dng. V vy cc h c s d liu cn phi c c ch kim sot,
qun l v truy xut khai thc sao cho d liu phi c an ton v ton vn.
A. Ti nguyn thng tin chung.
B. Thng tin
C. Ti nguyn.
D. D liu
8. Cc rng buc ton vn d liu phi bo m tnh c lp v ......... D liu lu tr
trong cc h thng c s d liu phi phn nh hin thc khch quan trong mi thi
im c th, khng d tha v mu thun thng tin.
A. Ton vn d liu
B. D thng d liu
C. Bo v d liu
D. An ton d liu
9. Hy so khp thng tin 2 phn di y vi nhau:
Phn 1 Phn 2
1 Vn ton vn d liu l m bo d liu
trong . .....
A. cc bin php bo v d liu, chng li
s sa i hay ph hoi khng ch
nh.


159

Chng I: Khi nim c bn v cc h c s d liu

2 Bo m tnh ton vn ca d liu l mt
a. 1- D; 2- C ; 3 B ; 4 A .
trong ..........
B. dn n khng c m bo tnh ton
vn d liu.
3 C th c nhiu nguyn nhn.... C. c th xy ra trong h thng coi l n
nh nht v m bo nht
4 Khng m bo tnh ton vn d liu...... D. cc c s d liu chnh xc ti mi thi
im.
b. 1- C; 2- B; 3 A; 4 D
c. 1- C; 2- D ; 3 A; 4 B .
d. 1- D; 2- A; 3 B; 4 C.
10. Hy so khp thng tin 2 phn di y vi nhau:
Phn 1 Phn 2
1 Xc nh cho h thng nhng thao tc. ..... A. v nh bo v d liu.
2 Cung cp mt phng tin cho......... B. ngi s dng c php thc hin.
3 Hnh thc thng dng nht.... C. ngi s dng h thng nhn bit
4 Mt khu cng c h thng bo..... D. nhn ra ngi s dng l mt khu.
a. 1- D; 2- C ; 3 B ; 4 A .
b. 1- B; 2- C; 3 D; 4 A
c. 1- C; 2- D ; 3 A; 4 B .
d. 1- D; 2- A; 3 B; 4 C.
Cu hi & bi tp
1. V sao phi bo v an ton cc h thng c s d liu.
2. Hiu tnh ton vn d liu nh th no. V d minh ho.
3. Cc rng buc ton vn. V d minh ho.
4. Ngn ng vn tin - ngn ng rng buc ton vn.
5. Kim tra cc rng buc ton vn.
6. Khi nim ph thuc hm n ngi (unary inclusion dependency).
7. Trnh by kim tra rng buc tn ti nh cc dn xut.
8. Tnh bo mt.
9. Nhn din ngi s dng.
10. Bo v vt l.
11. Kim tra truy nhp.
12. Khung nhn Mt c ch bo v.
13. S dng ngn ng vn tin nh ngha cc quyn truy nhp
14. Tnh bo mt trong SQL.

160




166




Ti liu tham kho


[1] Codd E.F., Relational model of data for large share banks, Comm, ACM.
13,6 (June 1970).
[2] Date C.J., An introduction to data base systems, Second editon 1977.
[3] Codd, E.F., Data models in data base management, ACM SIGMOD
record,11,2(Feb,1981).
[4] Aho,A.V., Hocrof, J.E., and Ullman, J.D. The design of analysic of
computer Algorithms .Addision-Wesley,Reading 1974.
[5] Beeri, C., and Bernstein Computational problems related to the design of
normal form relation schemes, ACM on database Systems 4:1, pp 30-39
(1979).
[6] Beeri, C. On the mebership problem for functional and multivaluted
denpendencies, ACM trans on database 5:3,pp 241-259 (1980).
[7] Armstrong , W.W Dependency structures of data base relationaships, Proc
1974 EFIP Congress,pp 580-583,Nort Holland, Amsterdam, (1974).
[8] H Thun v L Vn Bo, Kho ca lc quan h, Khoa hc k thut
& t ng ho ch huy 2/1983.
[9] Ullman, J. Principles of database systems, Prentice Hall,1980.
[10] Michanel V. Mannino, Database Application Development & Design,
Published by McGaw-Hill /Irwin, New Yor.k, 2001.
[11] Abram Siberschatz, Henry F.Korth, S.Sudarshan Database Systems
Concepts, Published by McGaw-Hill /Irwin, New Yor.k, 2002.



161


MC LC


Chng I: KHI NIM C BN V CC H C S D LIU
1.1 C s d liu l g ...................................................................................................... 2
1.2 S cn thit ca cc h c s d liu........................................................................ 3
1.3 M hnh kin trc tng qut c s d liu 3 mc...................................................... 4
1.4 Mc tiu ca cc h c s d liu.............................................................................. 7
1.5 H qun tr CSDL & ngi qun tr CSDL.............................................................. 9
1.6 Rng buc d liu ................................................................................................... 10
1.7 Cc m hnh truy xut d liu.................................................................................. 11
1.7.1 M hnh c s d liu Client Server................................................................. 11
1.7.2 M hnh Client/Server nhiu lp ..................................................................... 12
1.7.3 K thut lp trnh c s d liu - Web ng..................................................... 13
1.7.4 Kin trc h thng Server (Server System Architecture) ................................ 14
1.7.5 Cc m hnh kin trc ng dng...................................................................... 16
Cu hi trc nghim......................................................................................................... 17
Cu hi & bi tp............................................................................................................. 18
Chng II CC M HNH C S D LIU
2.1 M u..................................................................................................................... 19
2.2 M hnh d liu (Data Model) ................................................................................. 19
2.2.1 Phn bit gia cc m hnh d liu................................................................... 20
2.2.2 Cc h thng CSDL i tng v tri thc ........................................................ 20
2.3 M hnh CSDL phn cp (Hierarchy Data Model)................................................. 21
2.3.1 Cu trc biu din d liu phn cp................................................................. 21
2.3.2 Ngn ng thao tc trn CSDL phn cp ......................................................... 21
2.4 M hnh CSDL mng (Network Data Model) ......................................................... 23
2.4.1 Cu trc biu din d liu mng...................................................................... 23
2.4.2 Ngn ng d liu thao tc trn CSDL mng ................................................... 25
2.5 Cch tip cn m hnh CSDL quan h..................................................................... 25
2.5.1 Khi nim l thuyt tp hp quan h ............................................................... 25
2.5.2 Ngn ng thao tc d liu kiu quan h. ......................................................... 27
2.5.3 Cc php ton c bn ca i s quan h. ....................................................... 27
2.5.4 u im cch tip cn m hnh CSDL quan h............................................... 28
2.6 M hnh thc th quan h (The Entity Relationship Model) ................................... 28
2.6.1 Khi nim.......................................................................................................... 28
2.6.2 Thc th, mi quan h, thuc tnh..................................................................... 28
2.6.3 Bc ca mi quan h........................................................................................ 30
Chng I: Khi nim c bn v cc h c s d liu

2.6.4 kt ni cc mi quan h.............................................................................. 30
2.6.5 Phn cp ISA.................................................................................................... 30
2.6.6 S thc th quan h..................................................................................... 30
2.6.7 Cc bc trin khai m hnh thc th quan h ................................................ 34
Cu hi trc nghim......................................................................................................... 39
Cu hi v bi tp ............................................................................................................ 40
Chng III C S D LIU QUAN H
3.1 Quan h .................................................................................................................... 42
3.1.1 nh ngha quan h ........................................................................................... 42
3.1.2 K hiu.............................................................................................................. 43
3.2 Ph thuc hm.......................................................................................................... 44
3.3 H tin cc ph thuc hm v cc php suy dn logic....................................... 45
3.3.1 H tin Armstrong cho cc ph thuc hm................................................. 45
3.3.2 ngha h tin Armstrong.......................................................................... 45
3.3.3 Cc tnh cht ca ph thuc hm..................................................................... 46
3.3.4 Cc php suy dn ph thuc hm.................................................................... 46
3.3.5 Bao ng v tnh cht bao ng cc ph thuc hm......................................... 47
3.3.6 Ph thuc hm y v khng y .......................................................... 47
3.4 Bao ng & thut ton xc nh bao ng cc thuc tnh ....................................... 48
3.4.1 Bao ng tp cc thuc tnh (Closure of a set attributes) ............................... 48
3.4.2 Cc tnh cht bao ng thuc tnh.................................................................... 49
3.4.3 Thut ton xc nh bao ng........................................................................... 49
3.4.4 V d bao ng ca tp thuc tnh ................................................................... 51
3.4.5 Thut ton xc nh ph thuc hm suy dn t F........................................... 52
3.5 Ph thuc d tha, tp cc ph thuc tng ng ............................................... 54
3.5.1 Tp cc ph thuc tng ng ....................................................................... 54
3.5.2 Ph thuc d tha ............................................................................................ 54
3.5.3 Thuc tnh d tha........................................................................................... 55
3.5.4 Tp cc ph thuc ph ti tiu......................................................................... 56
3.5.5 Thut ton 3.4 xc nh tp ph ti tiu.......................................................... 57
3.6 Kha ca lc quan h........................................................................................ 57
3.6.1 nh ngha......................................................................................................... 57
3.6.2 Kho d b........................................................................................................ 59
3.6.3 nh thuc (Determinant) ................................................................................ 59
3.6.4 Phn kho (Antikey) ........................................................................................ 59
3.6.5 Lc thu gn............................................................................................... 60
3.7 Mt s tnh cht ca kho trong lc quan h................................................... 61
3.8 Cc thut ton xc nh kho ca lc quan h................................................. 62
Cu hi trc nghim......................................................................................................... 67

162

Chng I: Khi nim c bn v cc h c s d liu

Cu hi v bi tp ............................................................................................................ 70
Chng IV K THUT THIT K CC H C S D LIU QUAN H
4.1 M u...................................................................................................................... 76
4.2 Php tch kt ni khng tn tht thng tin ............................................................ 76
4.2.1 Php tch........................................................................................................... 76
4.2.2 Tch - kt ni t nhin...................................................................................... 77
4.2.3 Php tch khng tn tht thng tin ................................................................... 77
4.3 Thut ton kim tra tch khng tn tht thng tin................................................... 79
4.4 Cc dng chun ca lc quan h...................................................................... 81
4.4.1 S cn thit chun ho d liu......................................................................... 82
4.4.2 Dng chun 1 1NF (First Normal Form) ..................................................... 83
4.4.3 Dng chun 2 2NF (Second Normal Form)................................................. 84
4.4.4 Dng chun 3 - 3NF (Third Normal Form) .................................................. 85
4.4.5 Qu trnh tch 1NF v nhm tng ng 3NF. ............................................ 86
4.5 Dng chun Boyce Codd ......................................................................................... 87
4.5.1 nh ngha dng chun Boyce Codd ................................................................ 87
4.5.2 Nhn bit dng chun 3NF & BCNF................................................................ 88
4.6 Thut ton tch lc quan h khng tn tht thng tin ...................................... 88
4..6.1 Php tch v cc lc dng chun 3NF c bo ton ph thuc.................. 88
4.6.2 Thut ton tch bo ton ph thuc v khng tn tht thng tin v 3NF........ 89
4.6.3 Thut ton tch v dng chun BCNF khng tn tht ...................................... 90
Cu hi trc nghim......................................................................................................... 92
Cu hi v bi tp: ........................................................................................................... 94
Chng V CC NGN NG THAO TC D LIUU
5.1 Ngn ng c s d liu............................................................................................ 98
5.1.1 Ngn ng nh ngha d liu ........................................................................... 98
5.1.2 Ngn ng thao tc d liu............................................................................... 99
5.2 Cc php ton i s quan h................................................................................... 99
5.2.1 Ton hng ca i s quan h........................................................................ 100
5.2.2 Php hp cc quan h - UNION.................................................................... 100
5.2.3 Php giao ca cc quan h - INTERSECT .................................................. 100
5.2.4 Hiu ca cc quan h - MINUS.................................................................. 101
5.2.5 Tch Cc (Cartesian Product) ................................................................ 101
5.2.6 Php chn - Selection..................................................................................... 102
5.3 Cc php ton i s b sung.................................................................................. 103
5.3.1 Php chia - DIVISION.................................................................................. 103
5.3.2 Php kt ni JOIN....................................................................................... 104
5.4 Cc tnh cht ca i s quan h............................................................................ 105
5.4.1 Tnh cht giao hon......................................................................................... 105

163

Chng I: Khi nim c bn v cc h c s d liu

5.4.2 Tnh cht kt hp ............................................................................................ 106
5.4.3 Tnh cht tch lu ng ................................................................................... 106
5.4.4 Mt s tnh cht khc..................................................................................... 106
5.5 i s quan h ngn ng vn tin ....................................................................... 106
5.5.1 Biu thc quan h .......................................................................................... 106
5.5.2 Cy i s quan h ......................................................................................... 107
5.5.3 Ci t i s quan h ..................................................................................... 108
5.6 Ngn ng vn tin c cu trc SQL ....................................................................... 113
5.6.1 Gii thiu ........................................................................................................ 113
5.6.2 Cu lnh SELECT.......................................................................................... 113
5.6.3 Bin quan h .................................................................................................. 116
5.6.4 Ton t LIKE................................................................................................ 116
5.6.5 Php ton tp hp trong mnh WHERE ................................................... 116
5.6.6 Cc php ton gp nhm................................................................................ 118
5.6.7 Mnh GROUP BY ... HAVING................................................................ 119
5.6.8 Cc php ton lu tr.................................................................................... 119
5.6.9 Tnh y ca SQL..................................................................................... 121
5.6.10 Ngn ng nh ngha d liu ....................................................................... 122
5.6.11 Khung nhn View......................................................................................... 122
5.6.12 Database catalog .......................................................................................... 123
Cu hi trc nghim....................................................................................................... 124
Cu hi & bi tp........................................................................................................... 126
Chng VI TI U HO CU HI TRUY VN
6.1 M u................................................................................................................... 130
6.2 Tng quan v ti u ha cu hi............................................................................. 130
6.3 Phng php c lng cy i s quan h .......................................................... 132
6.4 Nguyn tc ti u ho............................................................................................ 133
6.5 K thut ti u ho cc biu thc i s quan h. ................................................. 133
6.5.1 Biu thc quan h ........................................................................................... 133
6.5.2 Bin i biu thc quan h ............................................................................. 134
6.6 Ti u ha bng khung nhn (Materialized Views) .............................................. 138
6.6.1 Php kt ni.................................................................................................... 138
6.6.2 Php chn v php chiu................................................................................ 138
6.6.3 Cc php ton khi......................................................................................... 139
6.6.4 Cc php ton khc ........................................................................................ 139
6.6.5 Ti u ha cc cu hi v cc khung nhn c th ha ................................... 139
6.7 V d ti u ho cc cu hi. .................................................................................. 140
Cu hi trc nghim....................................................................................................... 143


164

Chng I: Khi nim c bn v cc h c s d liu

Cu hi v bi tp: ......................................................................................................... 145
Chng VII AN TON D LIU V TNH TON VEN D LIU
7.1 S cn thit phi bo v an ton c s d liu....................................................... 147
7.2 Tnh ton vn d liu ............................................................................................. 147
7.2.1 Cc rng buc ton vn.................................................................................. 148
7.2.2 Ngn ng vn tin - ngn ng rng buc ton vn ........................................ 149
7.2.3 Kim tra cc rng buc ton vn.................................................................... 149
7.3 Vn an ton v quyn truy nhp c s d liu.................................................. 149
7.3.1 S vi phm an ton c s d liu.................................................................. 149
7.3.2 Cc mc an ton c s d liu. ................................................................ 150
7.3.3 Nhng quyn hn khi s dng h c s d liu............................................. 151
7.3.4 Khung nhn mt c ch bo v .................................................................... 152
7.3.5 Cp php cc quyn truy nhp....................................................................... 153
7.3.6 Kim tra du vt............................................................................................. 155
7.4 Tnh bo mt trong SQL......................................................................................... 155
7.4.1 Cc c quyn trong SQL.............................................................................. 155
7.4.2 Hn ch cc quyn hn trong SQL ............................................................... 157
7.4.3 V d nh ngha cc quyn truy nhp ........................................................... 157
7.5 Tm tt .................................................................................................................... 158
Cu hi trc nghim....................................................................................................... 158
Cu hi & bi tp........................................................................................................... 160
Mc lc .......................................................................................................................... 161
Ti liu tham kho.....................................................................................166





165










C S D LIU
M s: 492CDL351

Chu trch nhim bn tho
TRUNG TM O TO BU CHNH VIN THNG 1

(Ti liu ny c ban hnh theo Quyt nh s: 827 /Q-TTT1 ngy
30/10/2006 ca Gim c Hc vin Cng ngh Bu chnh Vin thng)

You might also like