You are on page 1of 59

C s d liu

Trang: 1
PHN A: KIN THC C BN
CHNG I:
CC KHI NIM C BN V C S D LIU

I. MT S KHI NIM C BN
Th d trong mt th vin c qu nhiu sch, bit chng hin ang nm u,
trn gi no v c th tm kim d dng th cc tn sch cn c sp xp li theo th
t. i vi mi cun sch ngi ta khng ch ghi tn ca chng, m cn ghi nh c tn
tc gi, nm xut bn, nh xut bn, s trang, Nu nh ch c mt s lng nh
nhng cun sch th ngi ta c th tm kim ngay v lu thng tin ca chng bng th
cng. Nhng nu c qu nhiu sch th vic lm th cng khng cn thch hp, phi s
dng mt c s d liu lu tr thng tin ca chng. i vi danh b in thoi cng
vy, thng tin v tng con ngi c lu tr tra cu thun tin.
Cc c s d liu (CSDL) dng lu tr cc thuc tnh v cc i tng ca th
gii thc, x l v tm kim d liu trong hu ht cc t chc, t kinh doanh, bo him,
gio dc, n th vin, Cng ngh CSDL c th s dng trn my tnh n hoc
nhiu my tnh ni nhau (mng), trong quy m rng ln.
1. nh ngha c s d liu (CSDL)
C s d liu l tp hp c t chc ca cc d liu v th gii thc trong mt lnh
vc no c lin quan vi nhau v mt logic. Chng c lu tr b nh ngoi.
2. nh ngha mn c s d liu
Mn CSDL l lnh vc ca tin hc chuyn nghin cu cc c ch, nguyn l,
phng php t chc cc nhm d liu trn cc b nh ngoi nhm phc v cho vic
khai thc d liu c tt hn.
3. nh ngha d liu
Khi ni n d liu l ni nhng s kin bit; Chng hn trong CSDL v
cc cun sch, d liu bao gm cc s kin nh tn sch, nm xut bn, nh xut bn,
hay trong CSDL v s in thoi, gm tn ngi quen, s in thoi, a ch ca h.
Cc d liu tun theo loi d liu c m t trc v c th hin di dng vn bn,
hnh nh, m thanh thm ch c nhng on video. Chng hn CSDL v th vin c th
lu nh ca bn c.
D liu l cc s kin, vn bn, ha, hnh nh v on phim video c ngha
trong mi trng ca ngi dng.
II. KHUNG NHN D LIU (VIEW OF DATA)
1. S tru tng ho d liu
Nhng ngi s dng khng phi lun thnh tho v my tnh, v vy cc nh tin
hc phi che du s phc tp v biu din bn trong ca d liu my tnh thng qua
nhiu mc tru tng ho d liu lm n gin ho s tng tc gia ngi s dng
v h thng.
a. Mc vt l (physical level):
Mc thp nht ca s tru tng ho, m t cch thc d liu c lu tr
thc s.
V d: Cc mu tin c lu thnh nhng khi lin tip nhau (bye, t nh,).
Trnh bin dch che du cc chi tit ny khng cho ngi lp trnh thng thng bit,
tr nhng ngi qun tr CSDL.
b. Mc lun l (logical level):
Mc trung gian, m t nhng d liu no c lu tr trong CSDL v mi lin
kt gia chng. Ngi qun tr CSDL (database administrator) v cc nh lp trnh
thng xuyn lm vic mc ny.
C s d liu
Trang: 2
c. Mc quan nim (conceptual level) hay con gi l mc khung nhn (view
level):
y l mc cao nht ca s tru tng ho. Mc d mc lun l n gin
ho i nhiu nhng do CSDL c kch thc qu ln, n vn cn phc tp. Nhiu ngi
s dng ch cn truy xut mt phn CSDL trong ton b CSDL. V vy khung nhn
c t ra m t ch mt phn ca ton b CSDL cho mt nhm ngi s dng no
. Ngoi ra, khung nhn cn cung cp c ch an ton ngn nga ngi s dng truy
xut tri php cc phn thm quyn.
2. Tnh c lp d liu
Tnh c lp d liu l tnh bt bin ca cc chng trnh ng dng i vi cc
thay i trong cu trc lu tr v chin lc truy xut d liu. Hay ni cch khc, c
lp d liu l vic tch cc m t d liu ra khi cc chng trnh ng dng s dng d
liu .
III. U V KHUYT IM KHI TIP CN C S D LIU
1. Nhng u im khi tip cn CSDL
a. Gim bt d tha d liu:
Khi c hai h ng dng khc nhau cng i hi nhng tp d liu nh nhau th
ch lu tr mt ln v dng chung cho c hai h ni trn. Tuy nhin vic d tha d liu
khng th ht c; chng hn nh cc d liu lin kt cc tp tin d liu khc nhau vn
c lu tr trn nhiu tp tin.
b. C th trnh c s khng nht qun trong d liu lu tr:
Nu d liu lu tr nhiu ni khc nhau th c th khng nht qun do nhng
thao tc cp nht. y CSDL gim c d tha th kh nng ri ro do thay i gi
tr cng gim i.
c. Tng tnh dng chung d liu:
Mt CSDL c thit k phc v chung cho tt c cc ng dng. Mi nhm
ngi dng nhn nhn CSDL nh ch c mt mnh h s dng d liu.
d. Tnh chun ho cao:
Khi d liu c s dng trong nhiu lnh vc th chng cng ngy cng c
chun ho cho ph hp vi nhiu nhu cu; vic theo chun chung cho php tng hiu
qu s dng d liu.
e. Tng tnh an ton d liu:
Ngi qun tr CSDL c th cho php mt nhm ngi s dng no s
dng ch mt nhm d liu thuc thm quyn, bng mt mt m c nh trc.
ng thi cng c th kim tra cc truy xut n d liu mt.
f. C th gi c s ton vn d liu:
CSDL ch c cha cc d liu ng. Nh s qun l tp trung, n cho php
ngi qun tr nh ra cc th tc kim tra cn thit khi thc hin cc thao tc cp nht.
V d: S lng hng bn khng th vt qu s lng hng ang tn.
g. C th m bo tnh c lp d liu cao.
f. Gim bt vic bo tr cc chng trnh.
2. Gi phi tr cho ng dng CSDL
Nh vi bt k quyt nh kinh doanh no, ng dng theo hng CSDL cn tr
gi v chu mt vi ri ro nh cn n nhn s mi v chuyn su, chi ph qun l v
thc hin, gii quyt va chm tm l
a. Nhu cu v nhn s mi, chuyn mn: Cn phi thu hay t o to cc
chuyn gia cng ngh thng tin phn tch, thit k, thc hin CSDL trong t chc.
Mc khc cng ngh ngy cng pht trin nhanh khin cc h thng CSDL thng
xuyn cp nht tri thc cho cc cn b.
b. Chi ph v qun l, thc hin: H thng qun tr CSDL nhiu ngi dng
thng ln v phc tp, i hi nhiu ngi tham gia v bo tr. Ngi ta cn tnh n
chi ph thit b my tnh, chi ph phn mm, chi ph truyn thng.
C s d liu
Trang: 3
c. Chi ph chuyn i h thng: Trc khi p dng CSDL, t chc x l d
liu theo phng php th cng, hay s dng h thng x l tp. chuyn cng ngh
x l d liu sang cch tip cn mi, t chc cn c kinh ph chuyn cc m hnh c
sang m hnh mi, chuyn i d liu cho ph hp vi mi trng mi.
d. Nhu cu sao chp v khi phc d liu: Tuy khng mong mun, nhng i
khi vn xy ra ri ro vi CSDL nh mt d liu, hng phn mm, h phn cng,H
thng CSDL c cc cng c cho php sao chp d liu phng khi hng hc v khi
phc li d liu khi xy ra s c.
e. Va chm v quan im s dng CSDL: Trc khi CSDL c p dng trong
t chc, ngi ta cn thng nht v m t d liu, cc khun dng th hin d liu,
Sau khi hnh thnh CSDL, vic s dng d liu ca CSDL cn t hiu qu. Cn
khuyn khch cc b phn pht huy tt h thng CSDL v rt c th mt s b phn no
mun c quyn thng tin hay e ngi dng h thng t ng ho, cho nn c xu
hng gim hiu qu ca CSDL.
IV. H THNG CSDL
1. H thng x l tp c in
Trong h thng x l tp trc y th cc b phn ca cng ty c t chc lu
tr d liu theo tng tp tin c lp, khng c lin quan vi nhau. Cc ng dng ca
mi b phn c pht trin ring l v ch truy cp n d liu ca ring b phn ,
khng c mt m hnh tng th cho ton cng ty. H thng ny nhanh hn thao tc th
cng nhng cn nhiu hn ch:
- D xy ra tnh trng d liu b trng lp, phn tn, thiu nht qun.
V d:
Trong mt trng i hc, kt qu hc tp ca sinh vin c lu phng
o to, ng thi cng c lu Phng ti v cn c vo m pht hc bng
cho sinh vin (gy d tha d liu). Nhng nu kt qu hc tp ca mt sinh vin b
st gim, em ny ng l khng cn c nhn hc bng nh trc na. Nhng do
phng ti v khng cp nht kp thi thng tin ny nn vn tip tc duy tr hc bng cho
em (gy d liu khng nht qun).
- S lng d liu tng nhanh.
- S chia s d liu b hn ch.
- Chng trnh ng dng lm ch nhng cch t chc s liu nn n b ph
thuc d liu. Hn na, ph tn vit v bo tr chng trnh cao.
- Cc mi lin h gia cc thng tin khng c ch trng.
2. H thng CSDL
H thng CSDL l h thng thng tin, cho php ngi s dng dng chung cc d
liu c trong h thng. Khi nim dng chung, chia s d liu c dng rng ri trong
nhiu ng dng vi ngha nhiu ngi dng cng truy cp mt d liu ti cng mt thi
im. V vy, h qun tr CSDL cn iu khin s tng tranh gia cc thao tc ca
nhiu ng dng. C th thao tc ny cn cp nht d liu trong khi thao tc khc ch c
d liu ny. Chng hn trong h thng qun l sch, ni ny cho c gi mn mt
cun sch, ang th hin trng thi nh du cho mn vo thng tin ca cun
sch trong CSDL th ni khc cng ang cho c gi khc mn cun sch .
H thng CSDL cn m bo tnh an ton v ton vn ca d liu. D liu an ton
c ngha gi c b mt. My tnh ngn cn cc truy cp khng hp l v khi phc
cc sai st trn d liu nu chng may s an ton khng m bo c. Ngi ta hay
cp tnh ton vn ca d liu khi ni v tnh an ton. Tnh ton vn lin quan n cc
iu kin m d liu cn tha mn. Cc iu kin, hay cc rng buc trn d liu cng
quan trng i vi d liu. Chng hn s sch ng k trong h thng qun l sch
phi lun bng tng s sch trong kho v s sch c gi mn. Qun l cc sai st d
liu v iu khin tnh ton vn d liu i hi qui trnh phc tp trong h qun tr
CSDL.
C s d liu
Trang: 4
3. Cc thnh phn ca h thng CSDL
Nhn tng qut, h thng CSDL gm nhng thnh phn sau:
- Ngi dng: Ngi dng l ngi tip xc vi d liu thng qua cc ng
dng, tc l thc hin cc php nh thm, xo, thay i d liu hay yu cu nhn cc d
liu t CSDL.
- ng dng: Cc chng trnh, phn mm cho php ngi dng truy cp d
liu u c coi nh ng dng ca h thng CSDL.
- H qun tr CSDL: H qun tr CSDL l phn mm ng dng dng to
mi, bo tr v m bo truy cp c iu khin n cc CSDL ca ngi dng.
- D liu: L thng tin lin quan n ng dng, c lu tr trong cc tp tin
CSDL.
- H thng ch: H thng ch l h thng my tnh qun l cc tp tin. N thc
hin vic truy cp tp tin d liu. Vai tr ca h qun tr CSDL l yu cu cc phng
tin lu tr tp tin phc v cc ng dng. Do vy, h qun tr CSDL l phn mm nm
trong phn mm ca h thng ch.
- C s d liu: CSDL l tp cc d liu lin quan logic vi nhau, c thit k
phc v cc nhu cu v thng tin ca nhiu ngi dng trong t chc.
- Giao din ngi dng: Giao din ngi dng hay giao din ngi s dng l
cc phng tin cho php ngi dng thao tc vi cc thnh phn ca h thng CSDL.
- Ngi qun tr CSDL: Ngi qun tr CSDL l ngi c quyn iu khin
tp trung trn ton b h thng, v c d liu ln cc chng trnh truy xut cc d liu
. H chuyn v cng ngh thng tin, c nhim v to mi CSDL v ci t cc iu
khin k thut.
- Ngi pht trin h thng: Nhng ngi nh phn tch vin h thng, lp
trnh vin c gi l ngi pht trin h thng.
V. H QUN TR CSDL
H qun tr CSDL l mt h thng phn mm nhm cung cp cho ngi s dng mt
mi trng va thch hp, va hiu qu khai thc CSDL theo 3 chc nng m t, lu
tr, tm kim, v cp nht d liu.
Nh vy, HQTCSDL phi c thit k sao cho qun tr c mt khi lng ln d
liu. Cng vic qun tr ny bao gm:
- nh ngha cc cu trc lu tr thng tin.
- Cung cp c ch s dng thng tin.
- To s an ton cho d liu cho d c bt trc ca h thng.
VI. TIN HA CA CC H THNG CSDL
1. Lch s ca cc h thng CSDL
Cc h thng CSDL c gii thiu vo nhng nm 60 ca th k XX v pht
trin lin tc trong hng chc nm qua. Mt s cng ngh v CSDL pht trin lu di
nh m hnh quan h c t nm 1970 nhng cc h thng CSDL theo m hnh quan h
c ngha thng mi ch vo nhng nm 80. Cc h thng CSDL khc phc c
nhiu hn ch ca h thng x l tp truyn thng. nh gi nhng g t c
trong thi gian qua ca cc h thng CSDL, ngi ta lun nhn nhn vic pht trin, tin
ho theo cc mc ch:
- Cn thit m bo c lp gia chng trnh v d liu, gim chi ph bo tr.
- Mong mun qun l nhiu loi d lu v cu trc d liu phc tp.
- Yu cu truy cp d dng n d liu, cho d ngi dng l chuyn vin cng
ngh thng tin hay khng.
a. T nm 1960-1970: Cc h thng x l tp vn cn thng dng trong giai on
ny. Tuy nhin, cc h thng CSDL u tin c gii thiu, d cn cng knh.
Thc ra, m hnh phn cp v m hnh mng to nn th h th nht cho h thng
CSDL.
C s d liu
Trang: 5
b.T nm 1970-1980: Cc h thng theo th h th nht vn c pht huy v c
nhiu sn phm thng mi. Tuy nhin, hai m hnh phn cp v mng vn c dng
rng ri mc d chng vn c cc nhc im nh: Cc th tc tm kim bn ghi, ngi
ta kh truy cp d liu; tnh c lp gia chng trnh v d liu cha tht tt; cha c
c s l thuyt hon thin.
c. T nm 1980-1990: M hnh quan h ca E.F.Codd khc phc nhc im
ca hai m hnh CSDL trn. M hnh CSDL quan h to nn cc h thng CSDL th h
th hai. Cc h thng quan h c bn nhiu trn th trng v chim u th so vi cc
h thng CSDL khc. Ngi ta dng ngn ng SQL v cc ngn ng khc truy cp
d liu.
d. T nm 1990-2000: Nhng nm ny, ngi ta vn s dng cc CSDL trong
nhng nm 80 ca th k XX qun tr d liu vi cu trc phc tp nh d liu k
ton ti chnh, d liu a phng tin (m thanh, ho, hnh nh). Trong nhng nm
90, vn hng i tng khng nhng c cp trong ngnh CSDL m cn trong
nhiu ngnh tin hc khc. Tuy nhin cho n nay chng c my h thng CSDL hng
i tng xut hin trn th trng.
e. T nm 2000 tr i: Trong chc nm ti, cng ngh v CSDL c th c nhng
t ph ng ngc nhin. Tuy nhin ngi ta vn vch ra cc hng vng chc:
- Cc kiu d liu phc tp c qun l tt hn. Chng gm d liu a chiu,
ph hp vi cc ng dng ca kho d liu.
- Pht trin tip tc cc my ch cc ln. Ngi ta da vo h qun tr CSDL
quan h hng i tng thit lp cc CSDL c kh nng qun l nhiu loi d liu
a dng, thun tin cho cc ng dng CSDL trn mng Internet.
- Cc CSDL phn tn s tr thnh hin thc. Do vy cc t chc c th phn b
cc d liu ti nhiu a im xa nhau v khng gian.
- Vic lu tr d liu theo a ch v ni dung s thng dng hn. iu ny cho
php ngi dng truy cp d liu theo ni dung ca d liu, m khng cn bit cch
thc truy cp cc d liu ny.
- Cc cng ngh v CSDL, tr tu nhn to v cc dch v thng tin s to nn
mi trng truy cp d liu d dng hn, chng hn giao tip bng ngn ng t nhin.
M hnh phn cp v m hnh mng c coi l i din cho cc h thng CSDL th
h th nht. M hnh quan h i din cho h thng CSDL th h th hai. Cc m hnh
CSDL th h sau c k ra gm m hnh hng i tng, m hnh phn tn, m hnh
suy din.
2. M hnh phn cp (Hierarchical model)
- M hnh phn cp hay m hnh CSDL dng cy c t chc theo cu trc t
trn xung di ging nh cy ln ngc. Mi nt tng ng vi mt kiu d liu, c
th c mt hoc nhiu trng, m t thc th v mt nhnh cy to nn mt lin kt
gia kiu d liu ny vi kiu d liu khc. Mi nt u c mt nt cha v nhiu nt
con, tr nt gc l khng c cha.
- V d:








PHNG
NHN VIN D N
CHUYN MN CP DI THIT B
C s d liu
Trang: 6
- Tuy nhin, m hnh ch th hin c quan h 1-n, tc l m t c trng hp
nt cha c nhiu nt con nh mt phng th c th c nhiu nhn vin hay mt phng c
th c nhiu d n, cn trng hp ngc li th khng. Chng hn nu mt d n m
thuc v nhiu phng th d n phi c lu nhiu ni khc nhau. iu ny gy d
tha d liu v lng ph khng gian lu tr.
- im ni bt trong cc th tc truy xut n mt i tng trong m hnh phn
cp l ng dn i t gc n phn t cn xt trong cy phn cp.
3. M hnh mng
- M hnh mng c biu din nh mt th c hng. Mi nt c th ni vi
mt nt bt k biu din mt lin kt 1-n thng qua con tr lin kt. S khc nhau
chnh gia h thng mng v h thng phn cp l m hnh mng khng rng buc v
s v hng ca cc lin kt thit lp gia cc nt.
- V d:

















4. M hnh quan h
- C s d liu quan h c xy dng theo l thuyt do E.F.Codd gii thiu nm
1970. Thut ng quan h l do bng d liu hai chiu c Codd gi l bng quan h.
M hnh quan h khc hn vi cc m hnh trc n v t nm 1980 tr thnh m
hnh c dng rng ri pht trin h qun tr CSDL.
- Theo m hnh quan h, d liu c th hin trong bng hai chiu, gm cc
dng v ct. Cc bng gi l cc quan h, cc dng gi l cc b v ct l thuc
tnh. Theo cch nhn ca cc m hnh trc th mi dng l mt bn ghi, cc thuc tnh
cho bit ngha ca cc gi tr trong bn ghi.
- V d:

KHCH HNG M Tn Tui a ch
Khch hng 1 M 16 Lng
Khch hng 2 Mn 18 Bi
Khch hng 3 o 21 Vng

N HNG Khch hng n hng
Khch hng 1 n hng 1
Khch hng 1 n hng 2
Khch hng 2 n hng 3
Khch hng 2 n hng 4
Khch hng 3 n hng 5
Cng chc
Ngn hng
Ti khon
Khch hng
ng k
ti khon-khch hng
ti khon-ngn hng
ch ti khon
ngi qun l
ni lm qun l
C s d liu
Trang: 7
- C s d liu quan h dng cc thuc tnh lin kt d liu gia cc bng khc
nhau thay v dng con tr lin kt tp bn ghi nh trong m hnh mng. Chng hn
thuc tnh m ca bng KHCH HNG v thuc tnh khch hng ca bng N
HNG l hai thuc tnh dng lin kt hai bng quan h ny. i su vo chi tit ca
m hnh quan h s c gii thiu trong Chng III.
5. M hnh hng i tng
- M hnh phn cp v m hnh mng c xp vo th h u ca CSDL. Th h
th hai ca cc h qun tr CSDL c m hnh quan h. Cc m hnh ny c xem l
m hnh c in. M hnh mi nht c xp vo th h th ba ca CSDL l m hnh
hng i tng. Cng ngh CSDL hng i tng dng lc gm tp cc lp.
Mi lp c m t gm tp cc thuc tnh v phng thc. Mi i tng thuc
lp u mang y cc thuc tnh v phng thc ca lp .
- Th h th ba ca h qun tr nhm p ng cc yu cu v:
+ Cc ng dng mi ca cng ngh thng tin.
+ Khai thc trong mi trng phc tp nh phn tn, khng ng nht,
+ X l cc d liu hng i tng v thc hin suy din trn cc d liu.
- Theo cch t chc CSDL truyn thng, ngi ta c th vit on chng trnh
ring m t cc phng thc v dng mt giao din lin kt vi h qun tr. Tuy
nhin iu quan trng cn lu l: trong CSDL truyn thng phn chng trnh ny l
c lp, cn trong CSDL hng i tng th chng trnh ny c m t nh mt
i tng ca CSDL. Vy bng cng c i tng v phng thc, ngi ta c th lu
tr v chia s khng nhng cu trc ca i tng CSDL, m cn c cc hnh vi ca
cc i tng.
- Tuy tip cn hng i tng c ph bin vo u nhng nm 90 ca th k
XX nhng n nay vn cha c nhiu CSDL thuc loi ny do n cn nhiu khuyt
im:
+ Cha thng nht r rng cc lnh vc ca l thuyt.
+ Cha c phng php lun thit k CSDL hng i tng theo cch hnh
thc nh vic chun ho trong CSDL quan h. Rt t hng dn thit k CSDL hng
i tng cho php ti u ho. iu ny khin h thng khng hiu qu.
+ Cc h thng cha c kh nng cho php ngi dng hi cc cu hi ty .
+ H thng thiu cc lut v tnh ton vn tng qut.
C s d liu
Trang: 8
CHNG II:
T CHC D LIU MC VT L

I. QUN TR TP V QUN TR CSDL
nh ngha tp (file-tp tin):
Tp l n v nh nht do phn mm h thng qun l, dng
cha cc d liu v ng dng, c t tn.
Cc tp trn my tnh c lu trn cc phng tin nh ngoi nh bng, a t,
a t c coi nh i din cho phng tin nh, cho php truy cp trc tip. iu ny
c ngha h thng ti ngay bn ghi trn tp m khng cn xt ln lt mt s bn ghi
khc. Bng t thng c ly lm v d v phng tin nh tun t, c ngha ngi ta
cn xt ln lt cc bn ghi trn tp trc khi thy bn ghi cn thit. Trc khi xy
dng CSDL vi qui m khoa hc, ngi ta tng s dng h qun tr tp, gm cc tp
trn bng t, a t, v truy cp nh cc ngn ng lp trnh trong h thng iu hnh.
Cn CSDL v bn cht cn b nh truy cp trc tip v c h thng qun tr c lp vi
h thng iu hnh my tnh.

















Hnh 1: H thng qun tr tp v h qun tr CSDL
H thng iu hnh my tnh m bo vic vo/ra ca d liu. N l tp cc chng
trnh na c nh, m bo giao din gia chng trnh ng dng v phn cng my
tnh. H thng iu hnh cho php chng trnh ng dng dng cc dch v nh qun l
b nh, thao tc vo/ra. Cn h qun tr CSDL th t m bo cc dch v ny. Dch v
chnh trong h qun tr CSDL l qun l cc tp vt l.
nh ngha tp vt l:
Tp vt l l mt phn trn b nh ngoi dng lu tr cc
bn ghi d liu.
Phn l ra ca h thng iu hnh l vic qun l tp v qun l b nh. Khi my
tnh c/ghi d liu, khng phi mt xu cc byte c x l m l mt on d liu c
kch thc c nh. on ny thng c gi l trang nh, hay khi, Nh vy mt
trang l n v vo ra. Khi ghi d liu, d liu c ghi ln trang, khi trang y s c
chuyn n b nh ngoi. Tng t, nu cn c vo, my c ln trang ri sau a
vo b nh trong x l.
Mi trang trn a c s trang, cho bit v tr tng i trn a. Qui c ny cho
php thng tin cp nht ca mt trang c ghi ng ch. Ngi qun l a c trch
nhim qun l cc s trang v dng m chuyn dng i vi thit b c/ghi trang
c bit ca a.
Ngi dng h thng tp Ngi dng CSDL
Chng trnh ng dng
H thng iu hnh my tnh
H qun tr CSDL
Tp d liu CSDL
C s d liu
Trang: 9
II. T CHC D LIU MC VT L
1. Ch s
nh ngha ch s (index):
Ch s l bng d liu hay cu trc d liu dng xc nh v tr
ca cc bn ghi trong tp theo iu kin no .
nh ngha t chc tp theo ch s (indexed file organization):
T chc tp theo ch s l k thut lu tr cc bn ghi ca tp
theo c ch tun t hay khng tun t, s dng bng ch s cho
php phn mm truy cp nhanh n bn ghi cn thit.
V d:
Ngi ta c tp cc dng trong bng sau:
NHN VIN M nhn vin Tn Tn chi nhnh
17 o Thanh Xun
63 M Bnh Minh
44 Mn Thanh Xun
32 Qut Thanh Xun
71 Cam Bnh Minh
12 Bi Sao Sng
81 Xoi Bnh Minh
Gi s cn tm nhn vin chi nhnh Sao Sng v mi bn ghi cn n mt
php c, tm thy dng tin u tin tha iu kin chng ta phi mt 6 php c.
Nhng nu cn lit k tt c cc nhn vin lm chi nhnh Sao Sng th chng ta
phi r sot tt c cc dng tin; dng no cng kim tra xem tn chi nhnh l Sao
Sng khng. Vic tm kim ny s nhanh hn nu chng ta dng ch s theo tn chi
nhnh. Ch s l tp gi tr c sp xp. Chng ta c th hnh dung bng ch s nh
mc lc ca cun sch, c xp theo th t t vng, Cn c vo thng tin cn tra cu,
chng ta n c trang sch cn thit.
Nu mi dng trong CSDL s dng mt trang nh th ch s i vi chi nhnh c dng
sau:








Hnh 2: Bng ch s tr n b nh.
Trong th d trn, thay v duyt nhiu dng tr li cu hi, vi bng ch s
chng ta ch cn c dng ch s, ri theo con tr nhy n v tr cn tm. Nhng th d
ny cn qu xa thc t. Vi s lng bn tin nh vy th thng ch chim ti a mt
trang nh v vic c lp bng ch s hay khng c th thi gian d tm cng chng khc
bit nhau l bao. Tuy nhin nhng quan h ln s chim nhiu trang a, vic qut ton
b quan h tm mt s dng s dn n vic tm trn tt c cc trang, tr khi chng ta
dng bng ch s. Bng ch s c kch thc nh hn bng d liu thc, vy nn c v
ti bng ch s s nhanh hn rt nhiu. Sau khi c bng ch s, h thng ch tm trong
cc trang lin quan n ch s, tc cc trang c th c cc bn tin cn tm. Bng quan h
cng ln, s cc bn tin yu cu cng t th vic dng ch s cng hiu qu.
Mi vic s n gin nu bng ch s ca chng ta ch chim mt trang nh. Tuy
nhin, vi cc bi ton ln, bn thn bng ch s chim nhiu trang. Khi thm ch
Sao Sng 6 -
Thanh Xun 1,3,4 -
Bnh Minh 2,5,7 -

Trang 6
Trang 1
Trang 2
Trang 3 Trang 4
Trang 5 Trang 7
C s d liu
Trang: 10
cn phi c ch s cho cc bng ch s. Mt k thut hay c dng l cy cn bng, B-
cy, hay cy B (balanced tree).
















Hnh 3: Bng ch s theo cy cn bng.
T chc d liu dng cy c gii thiu nh mt cu trc d liu. Cy ch s
s dng cc trang nh. Mi trang s ghi mt s nht nh cc ch s, chng hn trong th
d mi trang ghi c hai ch s. Ty theo thit k tm kim sau ny, cy cn bng
c th ly gi tr ch s ti gc l ch s u tin; cc ch s ln hn s c lu trong
cc nt phi ca cy; ch s nh hn ch s ti gc s c lu trong nt tri ca cy.
Ring nt gc cy c mt gi tr ch s. Ti mi nt s con tr ty thuc vo s ch s
c trong tng nt. Nt c mt ch s s c hai con tr, con tr tri tr n nhng nt c
gi tr nh hn; con tr phi tr n nhng nt c gi tr ln hn. Nu nt c 2 ch s th
s c 3 con tr cho nt . Con tr tri tr n nhng nt c gi tr nh hn ch s tri;
con tr phi tr n nhng nt c gi tr nh hn ch s phi; con tr gia tr n nhng
nt c gi tr nm trong khong hai gi tr ch s.
Vic tm kim trn cy ty thuc theo th tc duyt cy, cn c vo thit k cy
lc u. Chng hn tm dng c ch s 17, t gc ngi ta sang tri do 17<18, ri
thy 17>10, ngi ta sang phi. Khi thy trang vi ch s 17, ngi ta theo con tr n
c ni c d liu cn tm.
S d cy c tn cn bng l v su ca nhnh tri v phi l nh nhau. Tc
tm kim mt phn t ty thuc vo su ca n. Trong trng hp chng ta c thm
vo hoc xo bt nhng bn tin th cy c th khng duy tr c s cn bng, dn n
tc tm kim khng cn ti u nh trc. khc phc tnh trng ny chng ta cn
s dng thut ton sp xp li cc ch s sau cho cy cn bng.
* u v khuyt im ca vic dng bng ch s:
a. u im:
- Tm kim nhanh.
- C th kim tra s c mt ca d liu da vo bng ch s.
b. Khuyt im:
- Chi ph cng sc v b nh cho vic to v bo qun ch s.
- Khi cp nht d liu nht thit phi cp nht c bng ch s.
- Khi b sung gi tr mi, cy ch s mt tnh cn i, gy tnh tng phi
nhiu ln t chc li cy.
2. Hm bm
nh ngha t chc tp bm:
T chc tp bm l cch t chc cho php xc nh a ch ca mi
bn ghi d liu theo thut ton bm.
18
8 9 6
21 23 8 10
21 33 37 10 17 18 19
ch s
Trang nh
C s d liu
Trang: 11
nh ngha thut ton bm (hashed algorithm):
Thut ton bm l chng trnh chuyn gi tr kho chnh thnh s
th t tng i ca bn ghi, tc l a ch tng i trong tp.
Vn u tin l chng ta phi tnh ton hm bm chuyn i cc kho ca
bn ghi (cc kho c th l nhng s nguyn hay cc k t ngn) thnh cc a ch
tng i trong tp. y l mt tnh ton s hc c cc tnh cht tng t nh cc b
pht sinh s ngu nhin. Chng ta cn mt hm chuyn i cc kho thnh cc s
nguyn trong khong [0..M-1] trong M l s mu tin c th cha va trong s
lng khng gian nh c sn. Vy nn phng php ny c c trng l phi bit ton
b khng gian nh trc khi phn b cho bt k bn ghi no.
V d:
Chng ta d nh lu tr 1000 bn ghi vo trong vng nh c kh nng lu tr
1400 bn ghi. Gi s kho ca cc bn ghi c gi tr trong khong t 0 n 99999, v
khng gian nh c nh a ch tng i t 0 n 1399. Hm bm ca chng ta s
dng l:
a ch = phn d (gi tr kho / kch thc khng gian nh)














Hnh 4: Phn b a ch cc bn ghi vo trong khng gian nh
da vo hm bm cho.
Yu cu t ra i vi hm phn b a ch (hm bm) l khng qu phc tp,
nhng m bo cc bn ghi c phn b ri khp khng gian nh. Mt hm bm l
tng lm mt hm m d dng tnh v gn ging nh mt hm ngu nhin.
Do kh nng ca hm a ch m i khi hai hay nhiu bn ghi c phn b cng
mt a ch. Cc bn ghi trng a ch c gi l bn ghi trn. Vn tip theo l
chng ta cn phi gii quyt tnh trng xung t a ch, c th thc hin theo cc
phng php sau:
a. S dng vng nh ring cho cc bn ghi trn:
Khi lu tr, nu chng ta truy cp n mt v tr trong khng gian nh m
c bn ghi khc th dng con tr i sang vng nh trn cho cc bn ghi, lu tr
bn ghi ny vo . Khi mun tm bn ghi trn va mi c lu tr, chng ta cng i
theo con tr vt l .
V d:
Cn lu tr thng tin ca 3 ngi vo cc ngn cha 15 bn ghi. Kho
bn ghi l tui ca nhng ngi ny. Gi s hm bm c dng:
a ch = phn d (tui / 15)

123
113
0
5600


1523

92513


2800

C s d liu
Trang: 12
Lc cc bn ghi c lu tr nh hnh sau:











Hnh 5: S dng vng nh trn x l cc bn ghi trn
trong t chc ngu nhin dng hm bm
b. Lu tr cc bn ghi trn trn cng khng gian nh:
Khi xy ra xung t cc bn ghi, ngi ta khng tr ti vng nh trn ring
m tip tc d tm trong khng gian nh tm mt ch cho bn ghi trn. C th tm
xung di hay ln trn tm v tr khc cho bn ghi trn. Gia bn ghi th nht v
bn ghi sau c cng a ch c ni vi nhau bng con tr truy cp d dng.
V d:











Hnh 6: Lu tr trn khng gian nh.
III. IU KHIN TNG TRANH
1. Giao tc (transaction)
a. nh ngha:
Giao tc l n v hot ng c th (tp cc thao tc) cn c thc hin trn
vn hoc khng c thc hin g c trong h thng tnh ton.
b. V d:
Gi thit c hai ti khon ngn hng trong CSDL v ngi ta mun chuyn tin
t ti khon ny sang ti khon kia. Yu cu ny c ngha gim s d ca mt ti khon
vi s lng bng lng tng s d cho ti khon th hai. Hai php ton c thc hin
tch ri. Trong CSDL trn SQL, cu lnh nh sau:
UPDATE ti khon
SET s d = s d 100
WHERE s ti khon = 10002;
UPDATE ti khon
SET s d = s d + 100
WHERE s ti khon = 20002;
Hai on lnh thc hin vic chuyn 100 t ti khon 10002 sang ti khon
20002. Hai on ny thc hin hai giao tc n.
Titi, 30, 11 Hng ng
Tutu, 32, 15 Hng Qut
Toto, 47, 12 Hng chui
Hm bm
Khng gian
nh chnh

0. Titi
1.
2. Tutu
Khng gian
nh b sung

0. Titi
1.
2. Toto
Titi, 30, 11 Hng ng
Tutu, 32, 15 Hng Qut
Toto, 47, 12 Hng chui
Hm bm
Khng gian
nh chnh

0. Titi
1.
2. Tutu
3. Toto
Tata, 33, 12 Hng ma
C s d liu
Trang: 13
c. Tnh cht:
Giao tc phi m bo 4 tnh cht:
- Tnh nguyn t (atomicity): Giao tc phi c thc hin hon ton hoc
khng c thc hin g c.
- Tnh nht qun (consistency): Giao tc phi m bo tnh nht qun ca
CSDL. Nu CSDL nht qun khi giao tc bt u, n vn phi nht qun sau khi giao
tc chm dt.
- Tnh ring bit (isolation): Mc d nhiu giao tc c th c khai thc
cnh tranh nhau nhng phi bo m i vi mi cp giao tc T
i
v T
j
, hoc T
j
kt thc
trc khi T
i
bt u, hoc T
j
phi bt u sau khi T
i
kt thc. Phn ny s c bn
nhiu trong phn 2 (iu khin tng tranh).
- Tnh bn vng (durability): Kt qu ca mt giao tc hon tt phi lun
c bo lu, cho d h thng c th b trc trc no .
d. Trng thi ca giao tc:
Giao tc c 3 trng thi sau:
- Hon tt (commit): Sau khi thc hin giao tc xong, HQTCSDL kim tra
thy tha cc rng buc ton vn v cc rng buc khc, giao tc c xc nhn l
ng. CSDL s trng thi mi, nhn nhng kt qu do giao tc em li.
- Thoi b (roll back/rollback): Cc rng buc khng tha, hoc do ngi s
dng khng mun chp nhn giao tc nn mc d giao tc thc hin, CSDL phi tr
v trng thi ban u.
- Tht bi (fail): Giao tc khng thc hin c trn vn.
2. iu khin tng tranh
- Vn tng tranh thng xy ra trong h thng nhiu ngi dng. Nhiu
ngi cng truy cp ng thi mt s i tng nh cc dng quan h, cc bng, cc
thuc tnh hay khung nhn, Chng ta cn iu khin tng tranh cc giao tc c
th thc hin mt cch song hnh nhm tng hiu xut s dng ti nguyn my tnh,
tng hiu xut ca CSDL. Nu khng c iu khin tng tranh, vic truy cp ng thi
ca nhiu ngi dng s e da tnh ton vn d liu. minh ha ny, di y
chng ta xem xt mt s nguy c khi khai thc cc giao tc theo cch tng tranh.
a. Mt d liu:
Gi s chng ta c hai giao tc c t tn l TA v TB gm cc lnh:
TA: UPDATE ti khon
SET s d = s d + 100
WHERE s ti khon = 10002;
TB: UPDATE ti khon
SET s d = s d + 200
WHERE s ti khon = 10002;
Thi hnh ng th ti khon 10002 s tng ln 300. Tuy nhin khi hai giao tc
thc hin ng thi, c th xy ra s c. Xt thao tc cp nht trong ngn ng SQL
ngi ta thy chng gm cc php ton sau:
1. Ti bn ghi cn thit.
2. Thay i gi tr trong b nh trong.
3. Ghi li vo bn ghi ban u.
C hai giao tc trn u truy cp bn ghi ng vi ti khon 10002, cng thay
i v cng ghi li vo bn ghi . Nh vy c th xy ra cc s kin theo thi gian nh
sau:
1. TA c bn ghi ti khon 10002, gi tr s d trn l 150.
2. TB c bn ghi ti khon 10002, c s d l 150.
3. TA tng s d thnh 250 = 150 + 100. Vic ny thc hin trong b nh
trong vi bin trung gian ng vi s d.
4. TB tng s d thnh 350 = 150 + 200.
C s d liu
Trang: 14
5. TA ghi gi tr trung gian vo CSDL, tc cp nht bn ghi vi s d l
250.
6. TB ghi li s d l 350.
Thc t s d ti khon phi l 450. iu ny c ngha cp nht ca TA b
mt.
b. Khng khng nh s ph thuc:
Khi vic cp nht CSDL cha c khng nh th vn m bo s ph
thuc vn c gia cc d liu c th b vi phm. Giao tc khc c th s dng d liu
cha c khng nh. Khi c s c, qu trnh khi phc quay lui bng ROLLBACK
(trng thi thoi b) c thc hin th khi giao tc lm li ln hai s thao tc trn cc
thng tin khng ng. Chng hn c hai giao tc TA, cp nht d liu v TB, xa d
liu.
TA: UPDATE ti khon
SET s d = s d 100
WHERE s ti khon = 10002;
IF s d < 0 THEN rollback ELSE commit;
TB: DELETE FROM ti khon
WHERE s d < 0;
Giao tc th nht TA khu tr s d 100 v s khi phc nu s d m. Giao
tc th hai TB, kim tra xa cc ti khon c s d m. C th xy ra qu trnh sau:
1. TA c bn ghi ti khon 10002, gi tr s d trn l 50.
2. TA gim s d, thu c kt qu trong b nh trong l 50.
3. TA ghi vo CSDL, s d l 50.
4. TB tm thy ti khon 10002 c s d m.
5. TB xa ti khon 10002 theo iu kin nh.
6. TA khi phc cp nht, nhng ti khon b hy.
Chng ta gi y l hin tng khng khng nh ph thuc. Giao tc TB
truy cp d liu m d liu ny cha c khng nh. Trng hp ny cn nguy him
hn c trng hp mt d liu.
c. Phn tch khng bn vng:
Tnh khng bn vng ca d liu thng xy ra trong trng hp truy cp tp
cc bn ghi m mt s bn ghi ny ang c giao tc khc cp nht. Gi s c hai giao
tc TA v TB vi cc lnh sau:
TA: SELECT sum(s d)
FROM ti khon;
TB: UPDATE ti khon
SET s d = s d - 100
WHERE s ti khon = 10003;
UPDATE ti khon
SET s d = s d + 100
WHERE s ti khon = 10001;
Giao tc th hai c nhim chuyn tin t ti khon 10003 sang ti khon
10001, khng tc ng n tng d cc ti khon m giao tc th nht cn tnh. Tuy vy
hai giao tc thc hin ng thi vn xy ra vn , chng hn ban u s d ca c bn
ti khon u l 100:
1. TA tm ti khon 10001, s d l 100. Tng l 100.
2. TB tm ti khon 10003, s d l 100.
3. TA tm ti khon 10002, s d l 100. Tng cng dn l 200.
4. TB cp nht ti khon 10003, gn s d l 0.
5. TA tm ti khon 10003, do s d 0 nn tng d cng dn vn l 200.
6. TB tm ti khon 10001, s d l 100.
7. TA tm ti khon 10004, s d 100. Tng cng dn l 300.
C s d liu
Trang: 15
8. TB cp nht ti khon 10001, nng s d thnh 200.
ng ra s d phi 400 v giao tc th hai khng nh hng n tng chung.
Do giao tc TB xen vo cc php ton ca giao tc TA nn kt qu khng theo mun.
Chng ta gi hin tng ny l phn tch khng bn, tc thi im ny phn tch thy
400, thi im khc li l 300.
- trnh cc hin tng nh trn ngi ta dng k thut kho. Vic kho qui
nh bt k d liu no c ngi dng tm kim cp nht cn c kho li, hay t
chi mi truy cp ca ngi dng khc, cho n khi vic cp nht hon tt hay b hy
b.
- Trong cng mt thi im, nu hai giao tc cng truy cp mt i tng th mt
trong hai giao tc phi i giao tc kia gii phng kho. Theo giao thc ny, s hnh
thnh mt hng i cc giao tc c cng yu cu.
- Tuy nhin khng phi lc no cng cn kho, khi c hai giao tc ch cn c d
liu. Thc cht vic kho ch thch hp cho nhu cu cp nht d liu. V vy ngi ta
to ra hai loi kho: kho S (shared) dng cho cc giao tc c nhu cu c d liu; kho
X (exclusive) dng cho cc giao tc c nhu cu cp nht d liu. Ngi ta c giao thc
kho sau:
+ Khi mt i tng c kho S, cc yu cu kho S khc c th truy cp i
tng ny. Giao tc cn i tng ny theo kho X cn i tt c cc kho S gii phng
i tng ny.
+ Khi i tng c kho X, ngi ta khng tin hnh kho no khc trn i
tng ny. Tt c cc giao tc yu cu kho, c X ln S u phi i cho n khi kho
X c gii phng.
- Tuy nhin, h thng cn lu thi gian cc kho c gii phng. Chng hn c
hai giao tc TA v TB:
1. TA kho S i tng 1, kho S i tng 2, ri kho X i tng 1.
2. TB kho S i tng 1, kho X i tng 1, ri kho S i tng 2.
Gi s chng ta cho gii phng i tng ngay sau khi kt thc cng vic lin
quan n n v giao tc TA yu cu kho trc, c th xy ra cc dy s kin sau nu
hai giao tc thc hin ng thi:
1. TA kho S i tng 1.
2. TB kho S i tng 1.
3. TA gii phng kho S trn i tng 1. N kho S i tng 2.
4. TB gii phng kho S trn i tng 1.
5. TB kho X i tng 1. Vic ny c php do TA v TB gii phng i
tng 1.
6. TA gii phng kho S trn i tng 2. TA trng thi i kho X i
tng 1.
7. TB gii phng kho X trn i tng 1. t kho S ln i tng 2.
8. TA kho X i tng 1.
9. TB gii phng kho S trn i tng 2.
10. TA gii phng kho X trn i tng 1.
Nh vy TB cp nht i tng 1 trc TA. iu ny tri vi gi thuyt TA
l giao tc trc v logic phi c thc hin trc. m bo c lch tun t
ngi ta dng giao thc kho hai pha. Giao thc ny qui nh mt giao tc khng c
kho mt i tng khi n gii phng i tng ny.
nh ngha Giao thc kha hai pha:
Giao thc kho hai pha l th tc yu cu kho cc giao tc cn
kho trc khi m kho bt k giao tc no.



C s d liu
Trang: 16
CHNG III:
M HNH QUAN H

I. KHI NIM C BN
1. Bng quan h
- Bng quan h l hnh nh trc quan ca quan h. N gm cc dng v cc ct:
cc ct ng vi cc thuc tnh, cc dng ng vi cc b; dng lu tr thng tin ca
quan h.
- V d:

NHANVIEN Manv Tennv TenCN
17 o Thanh Xun
63 M Bnh Minh
44 Mn Thanh Xun
32 Qut Thanh Xun
71 Cam Bnh Minh
12 Bi Sao Sng
81 Xoi Bnh Minh
- Khng c c hai dng ging nhau trn cng mt bng.
2. B
L mt dng ca bng quan h. N gm tp tt c cc thuc tnh trong bng quan
h.
V d:
(17, o, Thanh Xun) l mt b ca quan h NHANVIEN.
3. S quan h
Tp hp gm tn cc thuc tnh
R(A
1
, A
2
,, A
n
)
c gi l s quan h hay lc quan h.
V d:
NHANVIEN(Manv,Tennv,TenCN) l s quan h ca Nhn Vin.
4. Min gi tr v thuc tnh
Min l phm vi gi tr c th dng cho mt thuc tnh. N phi nhn gi tr n.
Min tng t v mt khi nim vi kiu d liu trong lp trnh. Cng nh kiu d liu,
min khng ch xc nh tp cc gi tr gn cho thuc tnh, m cn xc nh cc thao tc
c php s dng trn cc d liu. Chng hn i vi d liu s chng ta mi c th
p dng cc php ton s hc, cng, tr, nhn, chia, Nu nhn kha cnh khc, min
cn c ngha ng ngha. Chng hn cn nng v chiu cao ca mt ngi u nhn gi
tr s, nhng hai s ny khng th so snh vi nhau c.
Khi xc nh mt thuc tnh ngi ta cn tnh n tn v min ca thuc tnh. Cc
gi tr gn cho thuc tnh cn tha mn cc rng buc v min. Chng hn tui ca mt
ngi c th hin bng s, v nhn gi tr t 1 n 300.
Gi s D
i
l min gi tr ca thuc tnh A
i
, ta vit:
D
i
= dom(A
i
) i = 1..n
Cc D
i
(i=1..n) khng nht thit phi khc nhau, c ngha l cc thuc tnh khc
nhau c th ly tr trn cng mt min gi tr. Min gi tr khng c cha gi tr rng.
5. Gi tr rng
Gi tr rng l gi tr c th gn cho mt thuc tnh khi khng dng gi tr khc
c, hay khi ngi ta cha bit gi tr cn gn.
NULL l gi tr c bit, vi ngha khng ging bt k gi tr no, thm ch
khng ging c gi tr rng khc. Hai nhn vin ti n v c gi tr rng c th khng
cng n v.
C s d liu
Trang: 17
6. Kho ca quan h
a. Kho (kho chnh primary key)
Kho ca quan h l mt tp nh nht cc thuc tnh m cc gi tr ca cc
thuc tnh ny dng phn bit cc b vi nhau.
b. Siu kho
L mt tp thuc tnh c cha kho. Nh vy, kho l mt trng hp c cha
kha.
c. Kho ngoi
L mt tp thuc tnh khng phi l kho (primary key) ca quan h R, nhng
l kho ca quan h S khc (RS). Lc ny quan h S gi l quan h cha, R gi l quan
h con.
II. RNG BUC TON VN TRN CSDL QUAN H
1. Khi nim chung
Rng buc ton vn trn CSDL quan h gip cho ng dng tr nn thc t hn,
hp l hn v nht qun hn. Chng hn ngy sinh khng th ln hn ngy thng hin
ti, im khng th vt qu 10. Cc rng buc ny kim tra mt b trc khi thuc v
mt quan h, kim tra cc thao tc cp nht trn quan h.
2. Rng buc trn mt quan h
a. Rng buc v min gi tr
y l loi rng buc xc nh cc gi tr d liu nhp vo c hp vi kiu d
liu v phm vi gi tr ca thuc tnh qui nh hay khng.
V d: Cho s quan h:
KQMH(maSV, mhoc, diem)
RB: diem >= 0 v <=10
b. Rng buc v thuc tnh
Rng buc v thuc tnh l rng buc v d liu gia cc thuc tnh vi nhau
trong mt quan h.
V d: Cho s quan h:
DATHANG(SoH, ngay, Hang, SL, ngayG)
RB: ngay <= ngayG
c. Rng buc lin b
Rng buc lin b l rng buc v d liu gia cc dng (bn tin) trn mt
quan h.
V d: Cho s quan h:
RUTTIEN(SoRT, ngayR, Sotien, TK)
RB: Mt ngy khng c rt qu mt ln cho mt ti khon.
d. Rng buc v kho
Kho chnh khng c mang tr rng (NULL), do mt b c kho mang tr
rng s khng c thm vo quan h.
3. Rng buc trn nhiu quan h
a. Rng buc tham chiu (Rng buc v kho ngoi)
- Rng buc tham chiu l qui nh cho bit hoc l gi tr ca kho ngoi cn
khp vi mt trong nhng gi tr kho chnh ca quan h cha, hoc l gi tr kho ngoi
l rng.
V d: Cho hai quan h:
NHANVIEN maNV tenNV maDV
001 o BH
002 Qut KT
003 Mn NC

C s d liu
Trang: 18

DONVI maDV tenDV
BH Bn hng
KT K ton
NC Nghin cu
Theo hai bng quan h trn th maDV l kho ngoi ca bng NHANVIEN
v l kho chnh ca bng DONVI. Gi s chng ta thm b (004, Bi, QL) vo bng
NHANVIEN th s vi phm rng buc ton vn tham chiu v trong bng DONVI
khng c n v vi m s QL. Nu chng ta thm b (QL, Qun l) vo bng DONVI
trc vic thm b (004, Bi, QL) vo bng NHANVIEN th vic ny khng xm
phm rng buc ton vn.
- Tnh ton vn tham chiu lin quan n vn c bit v s nht qun, m
bo tnh ton vn khi cp nht thng tin, tc thm, xo hay sa cc dng ca bng quan
h. Chng hn khi chng ta sa m n v trong bng n v th khng th khng cp
nht gi tr ny trong bng nhn vin. Do vy khi cp nht thng tin, chng ta thc hin
theo ba chin lc sau:
* Hn ch (Restriction):
Vi chin lc hn ch, ngi ta cm bt k thay i no i vi kho
chnh nu c kho ngoi tham chiu n n. Do vy yu cu xo m s NC hay thay NC
bng mt m khc l khng c php.
* Thng tng (Cascade):
Theo nguyn tc thng tng, khi cn cp nht ti mt dng ca bng quan
h cha, chng ta cn ln lt thc hin cng php cp nht y ti cc dng ca cc bng
con lin quan. Chng hn thay i dng c m n v l NC th khng nhng thay i
ti bng DONVI m cn thay i ti bng NHANVIEN.
* Thit lp gi tr rng:
Theo nguyn tc thit lp gi tr rng, khi cp nht mt dng ca bng
quan h cha, chng ta cn gn gi tr NULL cho tt c cc kho ngoi ca cc bng lin
quan.
Ch : Khi c s thay i cc gi tr trong mt bng gy nh hng n kho
ngoi ca bng khc th h thng cn xut cc la chn ngi dng quyt nh
cp nht kho ngoi hay chuyn v gi tr rng. Tc ng nh hng ny c nhn
theo mt chiu; ch cc kho ngoi ca bng NHANVIEN thay i theo cc kho chnh
ca bng DONVI. Tuy nhin chng ta c th cp cc trng hp m vic thay i
ca kho ngoi gy nh hng n bng d liu kia (bng quan h cha). Ngoi ra, vic
xo cc dng trong bng NHANVIEN c gy nh hng ngc n bng DONVI
khng?
Nhn chung tnh ton vn tham chiu yu cu cc kho ngoi cn cp
nht theo cc php ton thc hin trn kho chnh ca bng lin quan. Nu khng m
bo c vic cp nht hp l th cn gn gi tr rng cho kho ngoi.
b. Rng buc lin thuc tnh - lin quan h
Rng buc lin thuc tnh lin quan h l rng buc v d liu gia cc thuc
tnh trn nhiu quan h khc nhau.
V d: Cho hai s quan h:
H(SoH, ngay, hang, SL)
GH(SoGH, ngayG, SoH, SLG)
RB: ngay <= ngayG
c. Rng buc lin b - lin quan h
Rng buc lin b lin quan h l rng buc v d liu gia cc dng (b)
trn nhiu quan h khc nhau.
C s d liu
Trang: 19
V d: Cho hai s quan h:
SV(maSV, htenSV, NS, maL)
LOP(maL, tenL)
RB: Mt lp phi c t nht 10 sinh vin
d. Rng buc thuc tnh tng hp
Rng buc ny c xc nh trong trng hp mt thuc tnh A ca quan h
R c tnh ton t cc thuc tnh ca cc quan h khc.
V d 1: Cho hai s quan h:
H(SoH, ngay, SL, SLcon)
GH(SoGH, ngayG, SoH, SLG)
RB: Slcon = SL - tng SLG.
V d 2: Vi hai s :
H(SoH, ngayH, ngayxuat, tongTG)
CTH(SoCT, ngay, SoH, SL, G)
RB: Tng tr gi ca mt ho n = tng (SL x G).
e. Rng buc do chu trnh
Mt CSDL c th c biu din bng mt th v hng. Trong th ny,
ta c 2 loi nt: nt thuc tnh v nt quan h. Mt cung v hng trong th ni mt
nt thuc tnh A vi mt nt quan h R khi A thuc R.
V d: th biu din 4 s quan h sau:
EAN(soA, tenA, phongPT)
NV(maNV, tenNV, maP)
PCONG(maNV, soA)
PHONG(maP, tenP)
















Trong hnh v trn, chng ta nhn thy th c cha mt chu trnh. Nh
vy, CSDL s phi c mt rng buc ton vn thuc 1 trong 3 trng hp sau:
* a b
VD: Nhn vin c th c phn cng n khng thuc phng
no ph trch.
* a b
VD: Nhn vin thuc phng no th phi tham gia tt c cc n
do phng ph trch.
a PCONG[soA, maNV]
b (NV EAN)[soA, maNV]
Dn n trng lp thng tin.
EAN
PCONG
NV
PHONG
soA
maNV
maP
phongPT
(b)
(a)
C s d liu
Trang: 20
* a _ b
VD: Mt nhn vin ch c phn cng lm n do phng mnh
ph trch.
III. I S QUAN H
1. Php chn
a. Mc ch:
Php chn l php tnh lc ra mt tp con cc b ca quan h R cho, tha
biu thc iu kin cho trc.
b. nh ngha:
Cho quan h R trn tp thuc tnh U k hiu R(U) v biu thc iu kin e
(cn gi l biu thc lc hay biu thc chn). Php chn trn quan h R theo iu kin
e, k hiu R(e) cho ta quan h P(U) nh sau:
P(U) = R(e) = {t e R | Sat(t,e)}
trong hm logic Sat(t,e) kim tra b t tha iu kin e c xc nh nh sau:
+ Thay mi xut hin ca thuc tnh A trong biu thc chn e bng tr tng
ng ca A trong b t, t.A, ta thu c mt mnh logic A.
+ Tnh tr ca b. Nu l ng (True) th b t tha iu kin e; ngc li, nu
tr b l sai (False) th b t khng tha iu kin e.
c. Cc php ton:
- Cc ton hng l hng hoc s hiu thnh phn.
- Cc php ton so snh: <, =, >, =, , >
- Cc php ton logic: &, ., AND (v), v, |, OR (hoc), , !, NOT (ph nh).
d. V d:
Cho quan h:
MONHOC maM tenM soVHT coA
01 C s d liu 5 .f.
02 Cu trc d liu 4 .f.
03 Phn tch h thng 6 .f.
04 Cu trc my tnh 4 .t.
Chn ra cc mn c 4 n v hc trnh v c n cho sinh vin thc hin:
MON_A = MONHOC(soVHT = 4 . coA)
kt qu:
MON_A maM tenM soVHT coA
04 Cu trc my tnh 4 .t.

2. Php chiu
a. Mc ch:
Php chiu trn mt quan h thc cht l loi b i mt s thuc tnh ca quan
h .
b. nh ngha:
Php chiu quan h R(U) trn tp con thuc tnh X _ U, k hiu R[X], cho ta
quan h P(X) nh sau:
P(X) = R[X] = {t.X | t e R}
R[X] c tnh theo 2 bc sau:
+ Xo cc ct khng thuc X ca bng R.
+ Xo bt cc dng khng ging nhau trong bng kt qu P(X): ch gi li
mt dng trong s cc dng ging nhau.
C s d liu
Trang: 21
c. V d:
Vi v d trn, cho bit m v tn ca cc mn hc:
KQ = MONHOC[maM, tenM]
kt qu:
KQ maM tenM
01 C s d liu
02 Cu trc d li
03 Phn tch h thng
04 Cu trc my tnh

3. Php cng (hp)
a. Mc ch:
Php hp ca hai quan h thc cht l php ni d liu ca hai quan h; iu
kin l hai quan h ny phi c cng s thuc tnh.
b. nh ngha:
Php cng hai quan h tng thch R(U) v S(U), k hiu R+S, cho ta quan h
cha cc b ca mi quan h thnh phn.
P(U) = R+S = {t | t e R v t e S}
c. V d:
Cho 2 quan h sau:
BIENCHE maNV hotenNV chucvu donvi mucLG
001 L Vn S G BG 550
002 Nguyn Ch Thanh PG BG 500
003 Chu Vn Lim TP HCTH 480
004 Nguyn An Ninh PP HCTH 475
005 Phan nh Phng HCTH 333
006 Ng Gia T TV 290

HOPONG maNV hotenNV chucvu donvi mucLG
011 L Vn Tm BV 290
012 Phm Vn ng BV 255
013 Nguyn Vn Linh TTH 310
014 Kim ng TTH 310

Trong c quan, c hai loi nhn vin: bin ch v hp ng. Danh sch chung
ton b ca c quan l:
NHANVIEN = BIENCHE + HOPONG
kt qu:
NHANVIEN maNV hotenNV chucvu donvi mucLG
001 L Vn S G BG 550
002 Nguyn Ch Thanh PG BG 500
003 Chu Vn Lim TP HCTH 480
004 Nguyn An Ninh PP HCTH 475
005 Phan nh Phng HCTH 333
006 Ng Gia T TV 290
011 L Vn Tm BV 290
012 Phm Vn ng BV 255
013 Nguyn Vn Linh TTH 310
014 Kim ng TTH 310
C s d liu
Trang: 22
4. Php tr
a. nh ngha:
Php tr hai quan h tng thch R(U) v S(U), k hiu R-S, cho ta quan h
cha cc b ca quan h R nhng khng c trong S.
P(U) = R-S - {t | t e R, t e S}
b. V d:
NHANVIEN maNV hotenNV chucvu donvi mucLG
001 L Vn S G BG 550
002 Nguyn Ch Thanh PG BG 500
003 Chu Vn Lim TP HCTH 480
004 Nguyn An Ninh PP HCTH 475
005 Phan nh Phng HCTH 333
006 Ng Gia T TV 290

LANHAO maNV hotenNV chucvu donvi mucLG
001 L Vn S G BG 550
002 Nguyn Ch Thanh PG BG 500
003 Chu Vn Lim TP HCTH 480
004 Nguyn An Ninh PP HCTH 475
NHANVIEN l quan h cha cc b v tt c cc nhn vin trong c quan, cn
LANHAO ch lin quan n nhng ngi lnh o. Tm nhng nhn vin khng l
lnh o trong c quan.
KQ = NHANVIEN LANHAO
kt qu:
KQ maNV hotenNV chucvu donvi mucLG
005 Phan nh Phng HCTH 333
006 Ng Gia T TV 290

5. Php giao
a. nh ngha:
Php giao hai quan h tng thch R(U) v S(U), k hiu R&S, cho ta quan h
cha cc b xut hin ng thi trong c hai quan h thnh phn.
P(U) = R&S = {t | t e R, t e S}
b. V d:
Cho 2 quan h:
NHAHANG ten diachi phuong quan
Huy Hong 504 in Bin Ph 14 3
Tng Lai 229 Ng Ch Thanh 6 5
Sinh i 300 L Thi T 6 10
ng Nam 230 Ng Gia T 10 1

KHACHSAN ten diachi phuong quan
Vin ng 2 L Li 5 1
Huy Hong 504 in Bin Ph 14 3
nh Hng 151 ng Dung 2 PN
Tng Lai 229 Ng Ch Thanh 6 5
Tm cc ni va l khch sn, va l nh hng.
NH_KS = NHAHANG & KHACHSAN
C s d liu
Trang: 23
kt qu:
NH_KS ten diachi phuong quan
Huy Hong 504 in Bin Ph 14 3
Tng Lai 229 Ng Ch Thanh 6 5

6. Php kt ni t nhin
a. nh ngha:
Php kt ni t nhin hai quan h R(U) v S(V), k hiu R-S, cho ta quan h
cha cc b l s phi hp ca b u trong quan h R vi tt c cc b v trong quan h S
sao cho cc tr trn min thuc tnh chung ca hai b ny l nh nhau.
P(UV) = R-S = {u-v | u e R, v e S, u.M = v.M, M = U V}
Nu M = U V = C, R-S s l php tch Descartes trong mi b ca quan
h R s c ghp vi mi b ca quan h S.
b. V d:
C bng lch thi v bng mn hc, hy tng hp in ra bng lch thi gm m
mn, tn mn thi, ngy, phng.
LICHTHI maM ngay phong
01 12/07/1994 B
02 14/07/1994 B
03 16/07/1994 C
04 17/07/1994 D

MONHOC maM tenM
01 Phn tch h thng
02 C s d liu
03 Lp trnh C
04 Lp trnh Web
kt qu:
KQ maM tenM ngay phong
01 Phn tch h thng 12/07/1994 B
02 C s d liu 14/07/1994 B
03 Lp trnh C 16/07/1994 C
04 Lp trnh Web 17/07/1994 D

7. Php chia
a. nh ngha:
Cho hai quan h R(U) v S(V), php chia quan h R cho S l mt quan h gm
cc b t c M=U-V thuc tnh sao cho:
P(M) = R : S = {t.M | t e R, (t.M)*S _ R, M = U-V}
C s d liu
Trang: 24
b. V d:
Cho 2 quan h sau:
DM ngay maNV maH TenH DVT
20/09/1994 013 A01 Du la lt
20/09/1994 013 A02 Xng lt
20/09/1994 013 B01 ng trng kg
20/09/1994 013 B02 ng vng kg
21/09/1994 014 A01 Du la lt
21/09/1994 014 A02 Xng lt
21/09/1994 014 B01 ng trng kg
21/09/1994 014 B02 ng vng kg
22/09/1994 015 B01 ng trng kg
22/09/1994 015 B02 ng vng kg


HANG maH tenH DVT
A01 Du la lt
A02 Xng lt
B01 ng trng kg
B02 ng vng kg
Lit k nhng ngy cng m nhn vin m c 4 mt hng u c bn:
KQ = DM : HANG
kt qu:
KQ ngay maNV
20/09/1994 013
21/09/1994 014

8. Mt s hm tin ch
a. Hm Sum(R, A)
Tr v tng cc gi tr s trong thuc tnh A ca quan h R:
Sum(R,A) = (t.A | t R)
b. Hm Avg(R, A)
Tr v trung bnh cng cc gi tr trong thuc tnh A ca quan h R:
Avg(R,A) = Sum(R,A) / Card(R) nu Card(R) 0.
c. Hm Max(R, A)
Tr v gi tr ln nht trong thuc tnh A ca quan h R.
d. Hm Min(R, A)
Tr v gi tr nh nht trong thuc tnh A ca quan h R.
e. Attr(R)
Tr v tp thuc tnh ca quan h R.
f. Hm Card(R)
Tr v s record c trong R.
g. Hm Sat(t,e)
Kim tra b t tho iu kin e.
C s d liu
Trang: 25
9. Mt vi k hiu khc cho cc php ton quan h

Php ton K hiu K hiu khc
chn R(e) o
e
(R)
chiu R[X] H
x
(R)
kt ni t nhin R * S
R S
cng R + S R S
giao R & S R S
tr R S R \ S
chia R : S R S

IV. PHP TNH QUAN H
Trong phn ny, chng ta s i su vo hai khai nim ca php tnh quan h l
php tnh quan h trn min v php tnh quan h trn b.
1. Cng thc ca php tnh quan h (Formulas of Relational Calculus)
Cng thc l nhng biu thc m n biu din nhng quan h, c th l nhng
quan h khng xc nh. Mi cng thc c tp hp nhng bin t do (free) tng ng
vi nhng bin c khai bo l ton cc trong th tc gn ngay. Nhng bin khc xut
hin trong cng thc l nhng bin gii hn (bound) tng t bin cc b trong th
tc. Lc quan h cho mt cng thc l mt tp hp nhng thuc tnh tng ng vi
nhng bin t do ca cng thc.
Tng t bin ton cc v bin cc b ca th tc, c th c hai bin th cng tn
X cp hai ln khai bo X khc nhau. Mt c th l gii hn trong khi ci kia l t do.
Ngha l chng ta phi phn bit gia bin th ca nhng bin gii hn v bin th ca
nhng bin t do.
a. p(X
1
,,X
n
) l mt cng thc, trong p l biu tng v t, X
1
,,X
n
l
bin hoc hng. V t p miu t mt quan h; tt c nhng bin th ca nhng bin gia
X
1
,,X
n
l t do.
b. Mi php so snh ton hc X u Y l mt cng thc, trong X, Y l bin
hoc hng; u l 1 trong 6 ton t so snh s hc nh =, >, Chng ta quan tm n
bin th ca X v Y (nu chng l bin) bi v n t do trong cng thc X u Y. Trong
nhiu trng hp, X u Y miu t mt quan h khng xc nh, tp hp tt c nhng cp
(X,Y) m tham gia trong quan h u. Nhng cng thc m ni vi nhau bng logical
AND nh ngha mt quan h xc nh th cng thc X u Y c th c xem nh ton
t chn.
c. Nu F
1
v F
2
l nhng cng thc th F
1
. F
2
l mt cng thc vi ngha c
hai F
1
v F
2
u ng. Tng t, F
1
v F
2
cng l mt cng thc vi ngha t nht 1
trong 2 F
1
hoc F
2
l ng. F
1
cng l mt cng thc vi ngha F
1
khng ng.
Lu : Mt th hin ca bin s c th gii hn trong F
1
, nhng mt th hin khc ca s
l t do trong F
2
.
d. Nu F l mt cng thc th (-X) F l mt cng thc vi ngha c t nht
mt gi tr ca X m khi thay th n cho tt c nhng th hin ca X trong F th lm cho
cng thc tr nn ng. Chng ta c (-X) l Tn ti X. (-X) v (X) (c gii
thiu sau) c gi l lng t. Tt c nhng th hin ca X trong F l b gii hn bi
lng t (-X) v c xem l gii hn trong cng thc (-X) F.
e. Nu F l mt cng thc th (X) F cng l mt cng thc vi ngha bt k
gi tr no chng ta chn, nu chng ta thay th gi tr cho tt c nhng th hin t
do ca X trong F th cng thc tr nn ng. Chng ta c (X) l Vi mi X.
Ging nh (-X), lng t (X) rng buc tt c nhng th hin t do ca X trong F, v
vy nhng th hin ny l b chn trong (X)F.
C s d liu
Trang: 26
f. Chng ta c th s dng cc du ngoc bao cc cng thc li khi cn. Nu
khng c du ngoc th trt t c tnh l:
, (X), (-X) c u tin cao nht v c nhm t bn phi nht khi chng xut
hin lin tip.
. c u tin k tip v nhm t bn tri.
v c u tin thp nht v nhm t bn tri.
V d: Cng thc:
(X)p(X,Y) v q(Y) . r(X)
nu c t trong du ngoc n th:
((X)(p(X,Y))) v (q(Y) . r(X))
g. V d:
Cng thc i s quan h:
H
cust
(o
INAME = Brie
(INCLUDES ORDERS)
lin quan n nhng quan h:
INCLUDES(O#, INAME, QUANTITY)
ORDERS(O#, DATE, CUST)
Trong php tnh quan h, ton t kt ni c phn nh bng logical AND
cng nhng bin c chn tng ng vi nhng thuc tnh ca nhng quan h tham
gia vo qu trnh kt ni. Chng ta c th bt u vi nhng cng thc includes(N, I, Q)
v orders(N, D, C) tng ng vi nhng quan h INCLUDES v ORDERS vi bin N
c s dng trong c hai bin th ca thuc tnh O#. Khi :
INCLUDES ORDERS
c m t bng cng thc sau:
includes(N, I, Q) . orders(N, D, C)
Php chn ITEM = Brie c qun l bi logical AND ca cng thc bn
trn vi cng thc nhn, I = Brie. K n l php chiu trn thuc tnh CUST cho thy
rng chng ta ch quan tm n s tn ti ca mt vi gi tr cho mi bin N, I, Q, v D
to thnh cng thc:
includes(N, I, Q) . orders(N, D, C) . I = Brie
l ng. Chng ta c th s dng lng t - p dng cho cng thc trn n tr thnh
cng thc:
(-N)(-I)(-Q)(-D) (includes(N, I, Q) . orders(N, D, C) . I = Brie)
Cng thc trn ch ng khi v ch khi I = Brie. Chng ta c th b lng
t (-I) nu chng ta thay th th hin ca I bng hng Brie. Vi ni lc nh, chng ta
c th chng minh 2 cng thc l tng ng:
(-N)(-Q)(-D) (includes(N, Brie, Q) . orders(N, D, C))
2. Php tnh quan h trn min
a. Biu thc ca php tnh quan h trn min:
Nhng cng thc c th c s dng din t nhng truy vn mt cch n
gin. Mi cng thc c mt hoc nhiu bin t do nh ngha mt quan h m nhng
thuc tnh ca n tng ng vi nhng bin t do ny. Biu thc biu din php tnh
trn min c dng:
{X
1
X
2
| F(X
1
X
2
)} (1)
ngha l tp hp nhng b a
1
a
n
m khi chng ta thay th a
i
cho X
i
, 1 s i s n, cng thc
F(a
1
a
n
) l ng.
Ngn ng truy vn cha nhng biu thc dng (1) c gi l php tnh quan
h trn min (DRC). Cc bin l nhng b phn ca b trong khi php tnh quan h trn
b (gii thiu sau) th cc bin l i din cho tt c cc b.
Nhng quan h nh ngha bi biu thc DRC th khng cn phi xc nh. V
d:
{XY | p(X,Y)}
C s d liu
Trang: 27
l mt biu thc DRC hp l nh ngha tp hp nhng cp (X,Y) m khng c trong
quan h ca v t p.
b. Chuyn t i s quan h sang php tnh quan h trn min:
nh l: Mi truy vn c th biu din trong i s quan h th c th biu
din trong php tnh quan h trn min.
- Sau y chng ta xem xt 5 trng hp tng ng vi 5 php ton c bn ca
i s quan h:
* Trng hp 1: E = E
1
E
2

Chng ta c th gi s rng E, E
1
, v E
2
tt c u c ngi k. Theo gi
thuyt qui np, c cng thc DRC F
1
v F
2
nh ngha quan h E
1
v E
2
tng ng.
Bng cch thay th nhng bin t do vo trong cng thc (chng ta gi s c hai cng
thc F
1
v F
2
c nhng bin l X
1
X
k
), v nhng bin ny tng ng vi nhng b
phn ca cc b trong E, E
1
, E
2
theo mt trt t c bit , X
1
X
k
. Cng thc cho E
l:
F
1
v F
2
* Trng hp 2: E = E
1
E
2
Nh trng hp 1, gi s c nhng cng thc F
1
(X
1
X
k
) v
F
2
(X
1
X
k
) tng ng vi nhng quan h E
1
v E
2
. Cng thc cho E l:
F
1
. F
2

* Trng hp 3: E =
i
1
i
k
(E
1
)
t quan h E
1
c ngi n. Bng gi thuyt quy np, c mt cng thc
F
1
(X
1,
,X
n
) tng ng vi quan h E
1
. t j
1
,,j
n-k
(thuc danh sch {1,,n}) m
khng xut hin trong khong i
1
,,i
k
. Th mt b trong quan h E nu v ch nu c
tn ti nhng gi tr ca nhng b phn j
1
,,j
n-k
m chng ta c th kt hp vi
nhng b phn ny sinh ra mt b trong E
1
. Trong gii hn php tnh quan h, chng ta
c cng thc:
F(X
i
1
,,X
i
k
) = (-X
j
1
)(-X
j
2
)()(-X
j
n-k
)F
1
(X
1
,,X
n)
* Trng hp 4: E = E
1
x E
2
t F
1
(X
1
,,X
n
) v F
2
(Y
1
,,Y
m
) l nhng cng thc tng ng vi E
1

v E
2
. i tn bin nu cn thit, chng ta gi s rng c hai khng c nhng bin
chung. Cng thc cho E l:
F(X
1
,,X
n
, Y
1
,,Y
m
) = F
1
(X
1
,,X
n
) . F
2
(Y
1
,,Y
m
)
* Trng hp 5: E = o
A
(E
1
)
Chng ta gi s A l mt php chn n gin c dng i u j hoc i u a.
Theo gi thuyt quy np, c mt cng thc F
1
(X
1
,,X
k
) tng ng cho E
1,
th cng
thc F
1
. X
i
u X
j
hoc F
1
. X
i
u a tng ng cho E, ty thuc vo dng ca A.
- V d: Ta c biu thc i s:
likes(X,Y) (broke(X) x t
y
(likes(X,Y)))
p dng nhng trng hp trn c cng thc DRC:
i vi ton hng bn tri ca du -, chng ta c cng thc DRC
likes(X,Y).
By gi chng ta tin hnh ton hng bn phi ca du -, ton t bn ngoi
ca n l du x. Ton t ny c mt ton hng bn tri vi cng thc DRC l broke(X).
Ton hng bn phi ca n c c bng cch p dng trng hp 3 cho cng thc
likes(X,Y), to nn (-X)likes(X,Y). Cng thc ny c bin t do l Y, cng thc
broke(X) c bin t do l X, v vy chng ta c th ni kt chng li m khng cn i
tn thu c cng thc cho ton hng bn phi ca du l:
broke(X) . (-X)likes(X,Y) (2)
Chng ta cn thy rng cng thc (2) th hin ca X trong broke l t do,
trong khi th hin ca X trong likes l gii hn bi lng t tn ti.
C s d liu
Trang: 28
Cng thc cui cng thu c bng cch p dng trng hp 2 cho
likes(X,Y) v cng thc (2) trn:
{XY | likes(X,Y) . (broke(X) . (-Z)likes(Z,Y)}
3. Php tnh quan h trn b
a. Biu thc ca php tnh quan h trn b:
Php tnh quan h trn b, hay TRC, l mt dng ca php tnh quan h m
nhng bin i din cho nhng b ch khng l nhng b phn ca b. cp n
b phn i ca b , chng ta s dng [i]. Cng thc ca TRC c nh ngha mt
cch quy, v cu trc ca cng thc TRC l hon ton ging cu trc ca cng thc
DRC. C bn l:
- Nu p l mt v t v l mt bin b, th p() l cng thc nhn vi
ngha b trong quan h p.
- X u Y l mt cng thc nhn nu u l mt ton t s hc, cn X v Y l
nhng hng hoc nhng tham chiu b phn; Cui cng th n c dng [i] trong
l bin b, cn i l ch s b phn hay l thuc tnh.
Nu F
1
v F
2
l nhng cng thc TRC, l mt bin b xut hin t do trong
F, th nhng cng thc sau l cng thc TRC:
1) F
1 .
F
2
4) (-)F
1
2) F
1
v F
2
5) ()F
1
3) F
1

Quan h ni kt vi mt cng thc TRC c nh ngha tng t nh DRC.
Quan h cho F c mt b phn cho mi b phn ca mi bin b t do ca F m c
cp trong F. Gi tr ca quan h cho F l tp nhng b m gi tr ca n khi thay th
cho nhng b phn tng ng ca nhng bin b th lm cho F ng. Biu thc TRC c
dng:
{ | F()}
trong l bin t do duy nht trong F. Mt cch t nhin, biu thc ny nh ngha
quan h ca tt c nhng b m lm cho F ng.
Trong trng hp ngi ca mt bin b khng c r rng t ng cnh,
chng ta s s dng
(i)
din t mt bin b c ngi i. Chng ta c th s dng ch
s trn ny khi bin b c nh lng bi lng t - hay v b qua n nhng ch
khc.
V d: Cho cng thc DRC sau:
{XY | likes(X,Y) . (broke(X) . (-Z)likes(Z,Y)}
T cng thc ny chng ta c th chuyn n thnh cng thc TRC nu
chng ta s dng b thay cho (X,Y), v thay cho X trong broke v thay cho (Z,Y)
trong likes. Kt qu l:
{
(2)
| likes() . ((-v
(1)
)(broke(v) . v[1] = [1]) . (-
(2)
)(likes() . [2] = [2])}
Ch cch m cng thc nhn v[1] = [1] thay th mi quan h m
trong DRC c biu din bng bin cng tn X trong likes v trong broke. Chng ta
khng th s dng nh i s cho broke bi v broke l mt b n trong khi likes l
mt b i. Tng t, [2] = [2] thay th cho bin cng tn Y.
b.Chuyn t i s quan h sang php tnh quan h trn b:
B : Bt k mt truy vn c th biu din trong i s quan h th c th biu
din trong php ton quan h trn b.
- Sau y chng ta xem xt 5 trng hp tng ng vi 5 php ton c bn ca
i s quan h:
C s d liu
Trang: 29
* Trng hp 1: E = E
1
E
2

C hai cng thc da trn php tnh quan h trn b F
1
v F
2
tng ng
vi E
1
v E
2
. Bin b t do n c trong F
1
v F
2
l . Bi v E
1
v E
2
c cng ngi
nn bin b t do trong F
1
v F
2
cng phi c cng ngi, v th vic i tn l c
php (nu cn thit). Cng thc TRC ca E l:
F
1
v F
2
* Trng hp 2: E = E
1
E
2
Nh trong trng hp 1, chng ta gi s rng c 2 cng thc F
1
() v
F
2
() tng ng vi E
1
v E
2
. Khi cng thc TRC cho E l:
F
1
. F
2
* Trng hp 3: E =
i
1
i
k
(E
1
)
t F
1
(v) l mt cng thc TRC tng ng E
1
th cng thc TRC cho
E vi bin t do l:
(-v)(F
1
(v) . [1] = v[i
1
] . [2] = v[i
2
] .. [k] = v[i
k
])
* Trng hp 4: E = E
1
x E
2
t F
1
(v
(m)
) v F
2
(
(n)
) l cng thc TRC tng ng vi E
1
v E
2
. Cng
thc TRC cho E vi bin t do c nht
(m+n)
l:
(-v)(-)(F
1
(v) . F
2
() . [1] = v[1] .. [m] = v[m] . [m+1] = [1] ..
[m+n] = [n])
* Trng hp 5: E = o
A
(E
1
)
Chng ta gi s A l mt php chn n gin c dng i u j hoc i u a. t
F
1
() l cng thc TRC tng ng vi E
1
. Cng thc TRC cho E l:
F
1
() . [i] u [j] hoc F
1
() . [i] u a
ph thuc vo dng ca A.
- V d: Chng ta hy chuyn biu thc i s sau thnh php tnh trn b:
likes(X,Y) (broke(X) x t
y
(likes(X,Y)))
u tin, 3 th hin ca nhng v t s c i thnh likes(),
broke() v likes(v) theo th t xut hin trong biu thc trn. i vi t
y
(likes(X,Y)),
chng ta phi ra mt bin b mi p dng trng hp 3 chuyn thnh (-v)(likes(v)
. [1] = v[2]).
i vi broke(X) x t
y
(likes(X,Y)) chng ta phi a vo mt bin
mi, b phn th nht ca bin i ny phi cn bng vi b phn n ca v b phn
th hai ca bin i ny phi cn bng vi b phn n ca bin . Chng ta c th gi
bin mi ny bng bt c tn g m chng ta thch, nhng y n c gi l l
hon ton c ngha. L do l bc tip theo, chng ta phi thc hin php tr cng
thc nn bin b t do ca hai cng thc tham gia vo php tr phi nh nhau. V vy
chng ta c:
(-)(-)(broke() . ((-v)(like(v) . [1] = v[2])) . [1] = [1] . [2] = [1])
Biu thc cui cng l:
{
(2)
| likes() .((-
(1)
)(-
(1)
)(broke() .
((-v
(2)
)(like(v) . [1] = v[2])) .
[1] = [1] . [2] = [1])) }






C s d liu
Trang: 30
CHNG IV:
NGN NG THAO TC D LIU

chng III chng ta tm hiu v i s quan h v php tnh quan h. Trong
chng ny chng ta s xem xt 2 ngn ng hi (cn gi l ngn ng thao tc d liu)
c xy dng da trn nn tn ca hai khi nim ny. Ngn ng hi u tin l ngn
ng ALPHA da trn php tnh quan h, cn ngn ng th hai m chng ta s xem xt
l ngn ng SQL da trn i s quan h. Mc ch ca hai ngn ng ny l gip ngi
s dng tip cn vi CSDL chng hn nh tm kim, cp nht, cc b ca quan h.
A. NGN NG CON D LIU ALPHA
Ngn ng con d liu ALPHA do E.F. Codd xng v c s dng kh in
hnh trong cc HQTCSDL nh INGRES, DAMAS. thun tin cho vic trnh by,
cn thng nht mt s quy nh sau:
{ }: Biu thc nh ngha tp (tc l cc quan h).
Du hai chm (:): C ngha l sao cho hoc trong .
Hng thc ng trc du hai chm biu th mt b ca quan h v hng thc
ng sau du hai chm l iu kin hoc tn t xc nh b ng trc du hai chm.
Mi ngi s dng cn phi c mt vng lm vic W kt qu tm c s xp
vo vng ny. Vng ny to thnh min lin lc gia ngi s dng v CSDL.
I. BIU THC ALPHA
Biu thc ALPHA c k hiu l:
{<T1, T2,, Tn> : P}
trong Ti, i = 1..n, l tn cc thuc tnh v P l iu kin hoc tn t.
Biu thc nhm xc nh quan h ca nhng n b dng (v1,,vn), vi e
DOM(Ti), i=1..n, sao cho b c tha tn t P.
Danh sch <T1, T2,, Tn> gi l danh sch ch, P cn gi l biu thc nh gi.
V d: Mt CSDL gm 3 quan h. Quan h S (cc hng cung ng), quan h P (cc
mt hng) v quan h SP (cc mt hng cung cp). Quan h S cha d liu v mi
hng cung ng: s hiu hng, tn hng, tnh trng v a ch. Quan h P cha d liu v
mi mt hng: s hiu mt hng, tn mt hng, mu sc, trng lng v ni lu kho mt
hng . Quan h SP cha d liu v cc mt hng c cung cp: s hiu hng cung
ng, s hiu mt hng v s lng hng gi i.
S S# SNAME STATUS CITY
S1 Smith 20 London
S2 Jones 10 Paris
S3 Blacke 30 Paris

SP S# P# QTY
S1 P1 300
S1 P2 200
S1 P3 400
S2 P1 300
S2 P2 400
S3 P2 200

C s d liu
Trang: 31

P P# PNAME COLOR WEIGHT CITY
P1 Nut Red 12 London
P2 Bolt Green 17 Paris
P3 Screw Blue 17 Rom
P4 Screw Red 14 London
Ta c biu thc ALPHA:
{<P.PNAME, P.COLOR> : P.WEIGHT > 12}
cu lnh tm kim tng ng vi biu thc ny l:
GET W (P.PNAME, P.COLOR) : P.WEIGHT >12
trong W l vng cha kt qu tr v (tc nhng record trong quan h P tho
P.WEIGHT > 12), GET l tn lnh.
II. PHP TM KIM
1. Php tm kim n gin
V d: Tm s hiu mt hng c cung ng:
GET W (SP.P#)
kt qu:
W P#
P1
P2
P3
Ch : trong v d trn c 6 gi tr nhng trng lp nn ch c 3 gi tr phn
bit c lu trong vng lm vic W.
2. Php tm kim theo iu kin
V d: Tm s hiu nhng hng Paris c tnh trng ln hn 20:
GET W (S.S#) : S.CITY = Paris . S.STATUS > 20
kt qu:
W S#
S3
Nh quy nh trn, nhc li rng du : c ngha l sao cho, biu
thc i sau du hai chm l biu thc iu kin hoc tn t; danh sch ch ch r quan
h S c chiu trn thuc tnh S#. Kt qu cha trong vng W l mt quan h ch cn
mt thuc tnh.
Ch rng biu thc iu kin (tn t) l mt biu thc c phc tp bt
k c vit theo nhng quy tt thng thng vi cc php tnh so snh =, =, >, >=, <,
<= v cc php tnh ca i s boolean l . (v) ,v (hoc), - (khng).
3. Php tm kim c sp xp
V d: Tm s hiu v tnh trng ca nhng hng Paris v sp xp theo th t
gim dn ca tnh trng:
GET W (S.S#, S.STATUS) : S.CITY = Paris DOWN STATUS
kt qu:
W S# STATUS
S3 30
S2 10
Bnh thng kt ca GET l mt quan h c th cha c th t. Khi ngi
s dng cn sp xp kt qu theo mt cch no th cn ch v a vo vng lm vic
theo cch sau:
C s d liu
Trang: 32
UP <tn thuc tnh> UP <tn thuc tnh> (tng dn) hoc
DOWN <tn thuc tnh> (gim dn)
trong u tin c tnh t tri qua phi.
4. Php tm kim b phn
V d: Tm s hiu ca mt hng bt k Paris:
GET W (1) (S.S#) : S.CITY = Paris
kt qu:
W S#
S2

W S#
S3

S 1 trong k hiu W (1) biu th mt b phn. C ngha l a ra ng
mt b tha iu kin tm kim, l b u tin gp c.
5. Php tm kim c s dng bin vng
V d: Tm kim s hiu ca nhng hng c cung ng mt hng P2. C hai
cch gii quyt:
Cch 1:
GET W (SP.S#) : SP.P# = P2
Cch 2:
RANGE SP X
GET W (X.S#) : X.P# = P2
Hai cch th hin trn l hon ton tng ng. Trong cu lnh th
hai, X l mt bin vng. Cc gi tr cho php ca bin ny l cc b ca SP. Ni chung
bin vng thng cho php vit tt cho nhanh, gn. Cc trng hp khc s c
trnh by sau.
6. Php tm kim c s dng lng t tn ti (-)
V d: Tm tn nhng hng no cung ng mt hng P2:
GET W (S.SNAME) : - SP(SP.S# = S.S# . SP.P# = P2)
kt qu:
W SNAME
Smith
Jones
Blacke
C th hnh dung cu lnh GET nh sau: Xt ln lt tng gi tr SNAME
xem c tha mn biu thc iu kin khng. Nh vy gi tr u l Smith, S# tng ng
l P1. C tn ti mt SP vi S# = S1 v P# = P2 khng? Nu cu tr li c th
Smith l gi tr cn tm. Cng vic tip tc nh vy cho n ht.
7. Php tm kim c s dng nhiu lng t tn ti (-)
V d: Tm tn nhng hng no cung ng t nht l mt mt hng mu :
GET W (S.SNAME) : - SP(SP.S# = S.S# .
- P(P.P# = SP.P# . P.COLOR = Red))
8. Php tm kim c s dng lng t vi mi ()
V d: Tm tn nhng hng khng cung ng mt hng P1:
GET W(S.SNAME) : SP(SP.S# = S.S# v SP.P# = P1)
kt qu:
C s d liu
Trang: 33

W SNAME
Blacke

9. Php tm kim c s dng c hai lng t vi mi () v tn ti (-)
V d: Tm s hiu ca nhng hng no cung ng tt c cc mt hng:
GET W (SP.S#) : P-SP(P.P# = SP.P#)
kt qu:
W S#
S1
B. NGN NG SQL (Structured query language)
I. NT CHNH CA NGN NG SQL
SQL (trc kia c gi l SEQUEL) l mt ngn ng hi hin nay rt c ph
bin trn th trng. Cu lnh n gin, gn gi vi ngi s dng. N l mt ngn ng
CSDL quan h c tnh chuyn su, c dng nh ngha, s dng v kim tra cc
CSDL quan h.
II. CC LNH NH NGHA V CP NHT S CSDL
(DDL Data Definition Language)
1. To bng
a. C php:
CREATE TABLE | DBF <tn tp tin cn to>
(<tn trng 1> <kiu>[(< di> [,<s ch s thp phn])] [, <tn trng 2>])
b. ngha:
To mt tp tin CSDL (.DBF) vi tn ct, kiu d liu, c ch nh
trong c php cu lnh.
c. V d:
CREATE TABLE salary(empl_id chara(5), first_name chara(10), last_name
chara(10), salary number, dept chara(4), job_title chara(3))
2. Xa bng
a. C php:
DROP TABLE <tn bng> | <tn tp tin> | ? [RECYCLE]
b. Gii thch:
<tn bng>: tn ca bng cn xo khi CSDL hin hnh v xo lun khi
a.
<tn tp tin>: tn ca mt bng t do cn xo khi a.
?: Cho hin ra mt hp thoi Remove t ta c th chn ra mt bng
xo.
[RECYCLE]: bng khng b xo ngay m c t trong Recycle Bin.
c. Lu :
- Khi lnh DROP TABLE c pht ra, mi rng buc ton vn (RBTV)
trn bng cng b xo theo. DROP TABLE cng tc ng n cc bng khc trong
CSDL hin hnh nu cc bng c cc RBTV hoc cc lin kt c dnh dng n bng
b xo. Cc RBTV v cc lin kt ni trn s khng c hiu lc na.
- Bt k bng no b xo bng lnh ny u khng th phc hi li. Ngay c
khi lnh SET SAFETY l ON, chng ta vn khng c nhc nh g trc khi bng b
xo.
d. V d:
DROP TABLE salary
C s d liu
Trang: 34
3. Sa cu trc bng
a. Thm thuc tnh vo bng ang tn ti s dng lnh ALTER TABLE vi c
php:
ALTER TABLE <tn bng> ADD <tn trng> <kiu>
b. Xo b mt thuc tnh khi bng ang tn ti s dng lnh ALTER TABLE
vi c php:
ALTER TABLE <tn bng> DROP <tn trng cn xo>
c. Thay i kiu d liu ca mt thuc tnh:
ALTER TABLE <tn bng> CHANGE COLUMN <tn trng> TO <kiu mi>
4. Thm mt bng t do vo CSDL hin hnh
a. C php:
ADD TABLE <tn bng> | ? [NAME <tn di>]
b. Gii thch:
<tn bng>: tn bng cn thm vo CSDL.
?: hin ra mt hp thoi Open t c th chn ra mt bng thm vo
CSDL.
[NAME <tn di>]: tn di ca bng, cha ti a 128 k t v c th c
dng thay th cho tn ngn.
c. Lu :
- Sau khi bng c thm vo CSDL, chng ta c th thc hin cng cc
thao tc nh trn bt k bng no khc.
- N khng cn l bng t do m thuc vo mt CSDL. Tuy nhin, bt k
bng no ang trong CSDL u c th tr thnh t do nu c lnh REMOVE TABLE.
- Bng m chng ta mun thm vo:
+ Phi l mt tp tin DBF hp l.
+ Khng th trng tn vi mt bng c trong CSDL ang m hay
tn ti ri trong mt CSDL khc.
d. V d:
ADD TABLE salary
5. To mt CSDL
a. C php:
CREATE DATABASE <tn CSDL cn to>
b. V d:
CLOSE ALL
CREATE DATABASE people
6. Xo mt CSDL khi a
a. C php:
DELETE DATABASE <tn CSDL> | ? | [DELETETABLES] [RECYCLE]
b. Gii thch:
<tn CSDL>: tn CSDL cn xo v phi m bo rng n c ng.
<tn CSDL> c th cha c ng dn n CSDL.
?: Hin ra hp thoi Delete t ta c th chn tn CSDL cn xo khi
a.
[DELETETABLES]: Xo ng thi va CSDL va cc bng cha trong .
[RECYCLE]: CSDL sau khi xo s c a vo Recycle bin.
c. V d:
CREATE DATABASES qlnv
CLOSE ALL
DELETE DATABASE qlnv
C s d liu
Trang: 35
7. To project
a. C php:
CREATE PROJECT <tn project cn to>
b. V d:
CREATE PROJECT qlnv
III. CC LNH CP NHT D LIU
(DML Data Manipulation Language)
1. Sa d liu
a. C php:
UPDATE [<tn CSDL!>] <tn bng>
SET <tn ct 1> = <expr1> [, <tn ct 2> = expr2>]
WHERE <iu kin>
b. Gii thch:
SET <tn ct> = <expr>: ct ang xt s c thay bng tr ca biu thc
tng ng.
<iu kin>: nhng dng tho iu kin trong mnh WHERE s c
cp nht. Cn nu khng c mnh WHERE th mi dng trong cc ct c c
t bi SET s c cp nht cng mt gi tr.
c. Lu :
- Lnh ny ch c th cp nht cc mu tin ca mt bng duy nht.
d. V d: Tng lng cho nhng nhn vin n ln 1%.
UPDATE salary
SET salary = salary*1.01
WHERE sex = .F.
2. Xo mt s hoc tt c cc dng trong bng quan h
a. C php:
DELETE FROM <tn bng>
WHERE <iu kin>
b. Gii thch:
Ch xo khi bng c ch nh bi <tn bng> nhng dng tho <iu
kin>.
c. V d: Xo nhn vin mang m s 12345.
DELETE FROM salary
WHERE empl_id = 12345
3. Thm mt hoc nhiu dng mi vo bng quan h
a. C php:
INSERT INTO tn_bng (danh sch cc ct)
VALUES (cc gi tr)
hoc
INSERT INTO tn_bng (danh sch cc ct)
FROM ARRAY mng | FROM MEMVAR
b. ngha:
Thm mt hoc nhiu mu tin mi vo cui tp tin CSDL c ch nh bi
tn_bng. Gi tr ca nhng mu tin mi ny c lit k trong VALUES hoc cha
trong mng, bin nh.
c. V d:
Cho quan h:
S S# SNAME STATUS CITY
S1 Smith 20 London
S2 Jones 10 Paris
S3 Blacke 30 Paris

C s d liu
Trang: 36
- S dng c php 1:
INSERT INTO S
VALUES(S4, Marry, 15, New York)
- S dng c php 2:
DIME mang(4)
mang(1) = S5
mang(2) = George
mang(3) = 18
mang(4) = London
INSERT INTO S
FROM ARRAY mang
IV. CC LNH IU KHIN
(Control Language)
1. Cp quyn truy xut
a. C php:
GRANT <danh sch quyn> [(<danh sch thuc tnh>)]
ON <danh sch bng>
TO <danh sch ngi dng> [WITH GRANT OPTION]
b. Gii thch:
<danh sch quyn>: Gm c cc quyn sau:
- SELECT: Gi, c d liu, to truy vn.
- UPDATE: Cp nht d liu.
- DELETE: Xo b.
- INSERT: Thm b.
- INDEX: To ch mc.
- ALTER: Hiu chnh cu trc.
- ALL: Tt c cc quyn.
Gn <danh sch quyn> s dng cc bng trong <danh sch bng> cho
<danh sch ngi dng>. Nu mun hn ch thuc tnh s dng th khai bo thuc tnh
trong <danh sch thuc tnh>.
[WITH GRANT OPTION]: cho php ngi dng c giao quyn ca
mnh cho ngi khc.
c. V d:
- Gn quyn SELECT, INSERT, UPDATE bng SALARY cho ngi dng
Minh, Hung:
GRANT SELECT, INSERT, UPDATE
ON Salary
TO Minh, Hung
WITH GRANT OPTION
- Gn quyn ALTER bng JOB cho ngi dng Lan:
GRANT ALTER
ON job
TO Lan
2. Hy b quyn truy xut
a. C php:
REVOKE <danh sch quyn> [(<danh sch thuc tnh>)]
ON <danh sch bng>
FROM <danh sch ngi dng>
b. Gii thch:
Tc b <danh sch quyn> s dng <danh sch bng> ca <danh sch
ngi dng>.
C s d liu
Trang: 37
c. V d:
Hy b quyn SELECT, INSERT bng SALARY ca ngi dng Minh:
REVOKE SELECT, INSERT
ON Salary
FROM Minh
IV. CC LNH TRUY VN D LIU
1. Cu lnh tm kim n gin
- C php:
SELECT [<b danh>. ]<trng> [ AS <t tn mi cho ct>] [,[<b
danh>.]<trng> [ AS <t tn mi cho ct>]]
FROM <table> [<b danh>] [,<table> [<b danh>]]
[[INTO <ni kt xut>] | [TO FILE <file> [ADDITIVE] | TO
PRINTER | TO SCREEN]]
- Gii thch:
Nu chng ta pht ra lnh SET TALK ON v bt u thc thi cu lnh
SELECT, Foxpro s hin th thi gian thc hin truy vn v s mu tin c c trong
kt qu. S mu tin ny s c cha trong bin h thng _TALLY.
<trng>: C th l mt trong nhng mc sau:
+ Tn ca mt trng trong tp tin CSDL c lit k trong iu khon
FROM.
+ L mt hng m s xut hin trn mi dng ca kt qu truy vn.
+ L mt biu thc m c th l tn ca mt hm t to.
Mi <trng> m chng ta ch nh trong iu khon SELECT s to thnh
mt ct trong kt qu truy vn. Nu c nhiu hn mt <trng> cng tn th chng ta
phi s dng n <b danh> v du chm phn cch gia <b danh> v <trng>. <b
danh> l tn hiu ca tp tin CSDL c ch nh trong iu khon FROM.
Nhng hm (field functions) sau y c sn trong Foxpro, c th thao tc
trn mt <trng> trong iu khon SELECT m <trng> ny phi l mt trng
trong tp tin CSDL hoc l mt biu thc c lin quan n mt trng trong tp tin
CSDL:
+ AVG(<trng>): Tnh trung bnh ct d liu kiu s.
+ COUNT(<trng>): m s mc chn trong ct. COUNT(*) l m
s dng d liu xut ra ca truy vn.
+ MIN(<trng>): Tr v gi tr nh nht trong <trng>.
+ MAX(<trng>): Tr v gi tr ln nht trong <trng>.
+ SUM(<trng>): Tnh tng ct d liu kiu s.
[AS <t tn mi cho ct>]: Ch nh ta cho ct trong kt qu xut ra
ca truy vn. iu ny rt c li khi <trng> l mt biu thc hoc cha mt hm
field function v chng ta mun ghi ct vi mt tn c ngha.
FROM <table> [<b danh>] [,<table> [<b danh>]]: iu khon FROM
ny lit k nhng tp tin CSDL cha d liu m cu truy vn cn truy lc. Nu mt
trong nhng tp tin m chng ta lit k khng c m trong vng lm vic trc
hoc khng tn ti trong th mc hin hnh hoc ng dn Foxpro th hp thoi Open
xut hin. V vy, chng ta c th ch nh v tr ca tp tin qua hp thoi ny.
[<b danh>]: L tn tm thi cho tp tin CSDL. Nu chng ta c ch nh b
danh cc b th chng ta phi s dng n thay cho tn table trong sut cu lnh
SELECT.
[INTO <ni kt xut>]: iu khon ny quyt nh ni m kt qu truy vn
c lu tr. N c th l mt trong nhng mc chn sau:
+ INTO ARRAY <mng>: Lu tr kt qu truy vn trong mt mng c
tn l <mng>.
C s d liu
Trang: 38
+ INTO CURSOR <tn tp tin CSDL tm thi>: Kt qu truy vn s
c lu tr trn b nh RAM. Sau khi lnh SELECT thi hnh xong, th tp tin tm
ny trong tnh trng ang m v hin dch nhng ch c, chng ta c th thao tc trn
tp tin ny ging nh bt k tp tin CSDL no khc. im khc bit l mt khi chng ta
ng tp tin tm ny li th n cng b xa.
+ INTO DBF <tn tp tin CSDL> | INTO TABLE <tn tp tin CSDL>:
Lu tr kt qu truy vn trong mt tp tin CSDL c tn <tn tp tin CSDL>. Nu tp tin
ny tn ti ri th s hin th cnh bo nu nh SET SAFETY ON.
TO FILE <file> [ADDITIVE]: Kt qu truy vn s c cha trong mt
tp tin vn bn (<file>.TXT). Nu c thm t kho ADDITIVE th kt qu s c chp
ni ui vi d liu trong tp tin <file>.
TO PRINTER: a kt qu truy vn ra my in.
TO SCREEN: a kt qu truy vn ra mn hnh.
- V d:
SELECT first_name, last_name FROM salary TO SCREEN
2. Loi b cc phn t trng nhau
- C php:
SELECT [ALL | DISTINCT] [<b danh>.]<trng> [AS <t tn mi cho
ct>] [,[<b danh>.]<trng> [AS <t tn mi cho ct>]]
FROM <table> [<b danh>] [,<table> [<b danh>]]
- Gii thch:
[ALL | DISTINCT]: iu khon SELECT ch nh nhng trng, nhng
hng, v nhng biu thc m s c hin th trong kt qu truy vn. Mc nh tt c
nhng dng (ALL) trong kt qu truy vn u c hin th. Tuy nhin, nu c thm t
kho DISTINCT th s loi tr nhng dng ging nhau trong kt qu truy vn.
- V d:
SELECT dept FROM salary
SELECT DISTINCT dept FROM salary
3. Tm kim tt c cc phn t
- C php:
SELECT *
FROM <table> [<b danh>] [,<table> [<b danh>]]
- Gii thch:
Hin th tt c cc ct ca cc tp tin CSDL tham gia vo truy vn.
- V d:
SELECT * FROM salary
4. Tm kim theo iu kin
- C php:
SELECT [<b danh>.]<trng> [AS <t tn mi cho ct>] [,[<b
danh>.]<trng> [AS <t tn mi cho ct>]]
FROM <table> [<b danh>] [,<table> [<b danh>]]
[WHERE <iu kin ni kt> [AND <iu kin ni kt>] [AND |
OR <iu kin lc> [AND | OR <iu kin lc>]]]
- ngha:
WHERE cho php truy lc d liu t nhiu tables v tha mt iu kin
chn la no .
- Gii thch:
<iu kin ni kt>: Ch nh nhng trng lin kt cc tables c lit
k trong iu khon FROM. Nu nh c nhiu hn mt table tham gia truy vn th
chng ta nn ch nh iu kin lin kt cho mi table.
C s d liu
Trang: 39
+ Nu c hai tables tham gia truy vn m chng ta khng ch nh <iu
kin ni kt> th c mt record trong table u tin s lin kt vi tt c cc record trong
table th hai. iu ny c th a n kt qu truy vn rt di m khng p ng c
yu cu.
+ Nhiu <iu kin ni kt> phi c cch nhau bi ton t AND hoc
OR. Mi <iu kin ni kt> c dng nh sau:
<field1> <comparision> <field2>
Trong : <field1> l tn ca mt trng t table 1
<field2> l tn ca mt trng t table khc v <comparision> l
mt trong nhng ton t sau:

Operator Comparision
=
<>, !=, #
>
>=
<
<=
Bng
Khc nhau
Ln hn
Ln hn bng
Nh hn
Nh hn bng
V d 1:
SELECT s.first_name, s.last_name, d.department
FROM salary s, department d
WHERE s.dept = d.deptnumb
V d 2:
SELECT salary.first_name, salary.last_name, job.job_name,
department.name
FROM salary, job, department
WHERE
salary.dept = department.deptnumb AND
salary.job_title = job.job_title
<iu kin lc>: Ch nh tiu chun m nhng records phi tha tiu chun
ny mi c cha trong kt qu truy vn. Mt truy vn c th bao gm nhiu <iu
kin lc> v chng cch nhau bi ton t AND hoc OR. Chng ta cng c th s dng
ton t NOT o ngc gi tr ca biu thc logic hoc s dng hm EMPTY( )
kim tra mt trng rng. <iu kin lc> c th l mt trong nhng dng sau:
(1): <field1> <comparision> <field2>
(2): <field> <comparision> <expression>
(3): <field> <comparision> ALL (<subquery>) (Xem phn sau)
(4): <field> <comparision> ANY | SOME (<subquery>) (Xem phn sau)
(5): <field> [NOT] BETWEEN <start_range> AND <end_range>
Kim tra gi tr ca <field> c nm (hoc khng nm) trong khong ch
nh l t <start_range> ti <end_range> hay khng.
(6): <field> [NOT] IN (<tp hp gi tr>)
Kim tra gi tr ca field c thuc (hoc khng thuc) vo mt trong
nhng gi tr c lit k trong <tp hp gi tr>.
(7): <field> [NOT] IN (<subquery>) (Xem phn sau)
(8): <field> [NOT] LIKE <exprC>
Kim tra xem <field> c ging vi <exprC> hay khng. Chng ta c th
s dng k t i din % hoc _ nh mt phn ca <exprC>. Du % i din cho mt
chui k t cha bit, cn du _ i din cho mt k t cha bit.
C s d liu
Trang: 40
- V d:
(2): SELECT * FROM salary WHERE salary > 30000
(7): SELECT first_name, last_name
FROM salary
WHERE salary IN (30000, 34000, 45000)
(5): SELECT * FROM salary
WHERE salary BETWEEN 20000 AND 30000
(9): SELECT * FROM salary
WHERE first_name LIKE %N%
5. Tm kim c sp xp
- C php:
SELECT [ALL | DISTINCT] [<b danh>.]<trng> [AS <t tn mi cho
ct>] [,[<b danh>.]<trng> [AS <t tn mi cho ct>]]
FROM <table> [<b danh>] [,<table> [<b danh>]]
ORDER BY <trng> [ASC | DESC] [, <trng> [ASC | DESC]]
- Gii thch:
iu khon ORDER BY ny dng sp xp kt qu truy vn da trn d
liu ca mt hoc nhiu ct. Mi <trng> sp xp phi tng ng vi mt ct trong
kt qu truy vn v c th l mt trong nhng mc sau:
+ Mt mc chn trong iu khon SELECT hoc l mt trng trong
table c lit k iu khon FROM.
+ Mt biu thc s ch nh v tr ca ct trong kt qu truy vn (ct bn
tri nht l 1).
Chng ta c th ch nh t kho DESC nu nh chng ta mun kt qu truy
vn sp xp theo chiu gim dn. Cn t kho ASC l sp xp theo chiu tng dn v n
cng l gi tr mc nh.
- V d:
SELECT first_name, last_name, salary
FROM salary
ORDER BY salary
6. Truy vn con
- C php:
SELECT <cc mc chn>
FROM <danh sch cc table tham gia truy vn>
WHERE <field> <comparision> (SELECT FROM .. . )
- Gii thch:
<field> <comparision> (SELECT FROM .. . ) c th l mt trong nhng
dng sau:
(1): <field> [NOT] IN (<subquery>)
Record c a vo kt qu truy vn khi record c <field> phi
thuc mt trong nhng gi tr do <subquery> tr v.
V d: Tm nhng nhn vin khng lm phng k ton nhng c
lng bng vi mt trong nhng nhn vin lm phng k ton.
SELECT first_name, last_name
FROM salary
WHERE dept <> ACCT AND
salary IN
(SELECT salary FROM salary WHERE dept = ACCT)
(2): <field> <operator> ALL (<subquery>)
Record c a vo kt qu truy vn khi record c <field> ph
hp vi tt c nhng gi tr do <subquery> tr v.
C s d liu
Trang: 41
V d: Tm nhng nhn vin khng lm phng k ton nhng c
lng cao hn tt c nhng nhn vin lm trong phng k ton.
SELECT first_name, last_name
FROM salary
WHERE dept <> ACCT AND
salary > ALL
(SELECT max(salary) FROM salary WHERE dept=ACCT)
(3): <field> <operator> ANY | SOME (<subquery>)
Record c a vo kt qu truy vn khi record c <field> ph
hp vi t nht mt gi tr do <subquery> tr v.
V d: Tm nhng nhn vin khng lm phng k ton nhng c
lng cao hn t nht l mt nhn vin lm trong phng k ton.
SELECT first_name, last_name
FROM salary
WHERE dept <> ACCT AND
salary > SOME
(SELECT salary FROM salary WHERE dept = ACCT)

C s d liu
Trang: 42
PHN B: THIT K MT C S D LIU
CHNG V:
CC LOI PH THUC D LIU

I. GII THIU VN
1. t vn
Khi thit kt CSDL quan h ta thng ng trc vn la chn gia cc lc
quan h: lc no tt hn? Ti sao? Mc ny s nghin cu mt s tiu chun
nh gi lc quan h v cc thut ton gip chng ta xy dng c lc CSDL
quan h c cu trc tt.
C th ni tng qut mt lc quan h c cu trc tt l lc khng cha
ng cc vn lit k sau y:
2. Cc vn ny sinh i vi mt CSDL khng tt
a. D tha d liu
L s trng lp thng tin trong CSDL.
V d: Xt lc quan h NHACC(Ten_NCC, Hang, DonGia, Diachi_NCC).
Nu mt nh cung cp cung cp nhiu mt hng th a ch nh cung
cp phi lp li nhiu ln ko theo d tha d liu.
Ngoi vic gy lng ph dung lng lu tr, s d tha d liu c th gy ra
nhng hu qu nghim trng i vi d liu khi ngi dng cp nht d liu lm cho d
liu khng tng thch, thiu nht qun.
V d: Xt li lc NHACC trn. Ta c th sa a ch mt nh cung cp ti
mt b no m khng sa mt b khc gy ra a ch khng nht qun ca cng
mt nh cung cp.
b. D thng do thm d liu
Khng th chn b mi vo quan h nu khng c y d liu.
V d: Ta khng th ghi nhn a ch mt nh cung cp nu nh cung cp
khng cung cp mt hng no c v Ten_NCC, Hang to thnh mt kho cho quan h.
c. D thng do xa d liu
Ngc li vi vn c, khi ta xo ht cc mt hng do mt hng cung cp, ta
khng th theo di c a ch ca hng .
Trong v d trn, vn ny s khng cn na khi ta thay quan h NHACC
bng hai quan h:
NCC_C(TN_NCC, C_NCC)
NCC_HG(TN_NCC, TN_HG, GIA)
Tuy nhin vn cn tn ti nhiu vn , v d vn cn mt bt li trong cch
phn chia s trn: khi mun tm a ch hng cung cp mt hng bt ngt Vedan, ta
phi lm mt kt ni, trong khi ch vi quan h NHACC ta ch n gin thc hin php
chn v chiu. Nh vy lm sao xc nh s thay th nh trn l c li? C xy ra cc
vn nh bn trn trong hai quan h ny khng? Lm th no tm c mt s
thay th tt p cho mt s quan h ti t?
II. PH THUC HM
1. nh ngha
Cho R(A
1
,,A
n
) l mt s quan h vi tp thuc tnh U={A
1
,,A
n
}. X v Y
l tp con ca U. Ta ni X Y (c l: X xc nh hm Y hoc Y ph thuc hm vo
X) nu vi mi cp b u, v ca R sao cho:
u[X] = v[X] u[Y] = v[Y]
2. H tin Amstrong
a. nh ngha h tin Armstrong:
Gi R(U) l lc quan h vi U = {A
1
,,A
n
} l tp cc thuc tnh. X, Y, Z,
W _ U. H tin Armstrong bao gm:
C s d liu
Trang: 43
F1) Tnh phn x:
Y _ X X Y
F2) Tnh bc cu:
X Y, Y Z X
F3) Tnh m rng hai v:
X Y (Z _ U) XZ YZ
b. nh ngha tnh y v tnh cht ch ca mt h tin :
Cho tp cc ph thuc hm F:
- Mt h tin S cho cc ph thuc hm c gi l y nu cc lut
ca S cho php suy din ra mi ph thuc hm trong F+.
- Mt h tin S cho cc ph thuc hm c gi l chc ch nu cc lut
ca S khng cho php suy din t F bt k ph thuc hm no khng thuc F+.
c. B 1:
H tin Armstrong l ng. C ngha l F l tp cc ph thuc hm ng
trn quan h R. Nu X Y l mt ph thuc hm c suy dn t F nh h tin
Armstrong th X Y l ng trn quan h R.
d. B 2:
T h tin Armstrong suy ra c mt s lut sau y:
F4) Cng tnh v phi:
X Y, X Z X YZ
F5) Tnh ta bc cu:
X Y, YZ W XZ W
F6) Lut tch:
X Y, Z _ Y X Z
e. B 3:
X Y suy dn t h tin Armstrong khi v ch khi Y _ X
+
(X
+
l bao ng
ca tp cc thuc tnh - gii thiu mc sau).
f. nh l 1:
H tin Armstrong l cht ch v y .
III. BAO NG (CLOSURE)
1. nh ngha suy din theo logic
Gi s F l tp ph thuc hm trn lc quan h R(U) v X, Y l cc tp con
thuc tnh ca R (X, Y _ U). Ta ni rng F suy din logic ph thuc hm X Y hay
ph thuc hm X Y c suy din logic t F, k hiu:
F |== X Y
Nu mi quan h r tho cc ph thuc hm trong F cng tho ph thuc hm X
Y.
Ni cch khc, X Y c suy din logic t F nu t F p dng mt s ln cc
tnh cht F1, F2, F3 ta thu c X Y.
V d:
Cho tp ph thuc hm F = {A B, B CD} ta chng minh ph thuc hm
AC CD c suy din logic t F.
Tht vy:
F3: A B AC BC
F3: B CD BC CD
F3: AC BC, BC CD AC CD
2. Bao ng ca tp cc ph thuc hm
a. nh ngha:
Cho tp ph thuc hm F trn tp thuc tnh U. Bao ng ca F, k hiu l F
+
,
l tp nh nht cc ph thuc hm trn U tho:
F
+
= {X Y | F |== X Y}
C s d liu
Trang: 44
b. nh ngha khc cho bao ng ca tp ph thuc hm:
F
+
l tp cc ph thuc suy din t F nh h tin Armstrong. Tc n phi
tho hai tnh cht sau:
F
+
_ F
Khi p dng cc tnh cht F1, F2, F3 cho F
+
ta khng thu c ph thuc
hm no nm ngoi F
+
.
c. Tnh cht:
(1): Tnh phn x: F
+
_ F
(2): Tnh n iu: F _ G F
+
_ G
+

(3): Tnh ly ng: (F
+
)
+
= F
+
(4): (FG)
+
_ F
+
G
+

(5): (F
+
G)
+
= (FG
+
)
+
= (FG)
+
3. Bao ng ca tp thuc tnh
a. nh ngha:
Cho tp ph thuc hm F trn tp thuc tnh U v X _ U. Bao ng ca tp
thuc tnh X (i vi F), k hiu X
+
, l tp sau:
X
+
= {A | X A e F
+
}
b. nh ngha khc cho bao ng ca tp thuc tnh:
X
+
l tp cc thuc tnh A sao cho X A c th suy din c t F bng h
tin Armstrong.
c. Tnh cht:
(1): Tnh phn x: X
+
_ X
(2): Tnh n iu: X _ Y X
+
_ Y
+
(3): Tnh ly ng: (X
+
)
+
= X
+
(4): (XY)
+
_ X
+
Y
+
(5): (X
+
Y)
+
= (XY
+
)
+
= (XY)
+
(6): X Y Y _ X
+
(7): X Y Y
+
_ X
+
(8): X X
+
v X
+
X
(9): X
+
= Y
+
X Y, Y X
4. Thut ton tm bao ng
Tnh ton bao ng ca tp ph thuc hm F
+
rt tn km thi gian v F
+
c th
rt ln ngay khi bn thn F nh. Xt tp hp:
F = {A B
1
, A B
2
,, A B
n
}
Khi F
+
bao gm tt c cc ph thuc hm dng A Y, trong Y l tp con
ca:
{B
1
, B
2
,, B
n
}
Bi v c n 2
n
tp con nh vy nn danh sch F
+
s rt ln d cho n c nh i
na.
Nhng vic tnh bao ng ca tp thuc tnh X
+
khng tn km lm, thi gian tnh
ton t l thun vi di ca tt c ph thuc hm trong F. Theo kt lun t cc nh l
vic xc nh X Y e F
+
tng ng vi vic tnh bao ng X
+
.
Sau y l thut ton tnh bao ng tp thuc tnh X
+
:
a. Gii thut:
Input: Mt tp hu hn cc thuc tnh U, mt tp cc ph thuc hm trn U, v
mt tp X _ U.
Output: X
+
tho F.
C s d liu
Trang: 45
Method:
(i): t X
(0)
= X, F
0
= F
(ii): Bit X
(k-1)
, tnh X
(k)
nh sau:
- t X
(k)
= X
(k+1)

- Ln lt duyt qua cc ph thuc hm Y Z trong F
0
, vi Yc X
(i)
. Ta
m rng X
(k)
= X
(k)
Z v t F
0
= F
0
\ {Y Z}
Nu X
(k)
= U hoc F
0
= C, th kt thc.
(iii): Nu X
(k)
= X
(k-1)
th thut ton dng. Ngc li, tng k ln 1 v quay li
bc (ii).
b. V d:
Cho tp ph thuc hm F:
AB C D EG
C A BE C
BC D CG BD
ACD B CE AG
t X = BD. p dng gii thut trn xc nh bao ng X
+
.
- t X
(0)
= X = BD, F
0
= F
- Tnh X
(1)
: Ta tm cc ph thuc hm c pha bn tri l B, D, hoc BD, c:
D EG
nn ta thm E v G vo X
(0)
c:
X
(1)
= BDEG
Tng t c:
X
(2)
= BCDEG
X
(3)
= ABCDEG = U thot.
Vy: (BD)
+
= ABCDEG
c. nh l:
Thut ton trn tnh ng bao ng X
+
.
IV. TP PH THUC HM TI TIU
a. Ph, ph thuc hm tng ng:
Cho lc quan h R v cc tp ph thuc hm F v G trn R ta ni:
F ph ph thuc hm G nu G
+
c F
+

F tng ng ph thuc hm G nu G
+
= F
+

xc nh ph thuc hm Y Z e G
+
hay khng ta s dng thut ton tnh bao
ng tp thuc tnh tnh Y
+
i vi G v kim tra xem Z c Y
+
hay khng.
Mnh : F c G
+
F
+
c G
+

Mnh : Mi tp ph thuc hm F tng ng vi tp ph thuc hm G gm
cc ph thuc hm m v phi ch c 1 thuc tnh.
b. Ph ti tiu:
ti u hn na vic thit k lc CSDL quan h ta yu cu mnh hn
i vi tp ph thuc hm tng ng.
nh ngha: Tp ph thuc hm F gi l ph thuc hm ti thiu nu n tho mn
cc iu kin sau:
(1): V phi ca mi ph thuc hm trong F ch c 1 thuc tnh.
(2): Mi ph thuc hm X A e F l quan trng, tc l tp ph thuc hm c
t F bng s loi b ph thuc hm X A:
F \ {X A}
khng tng ng vi F.
(3): Vi mi ph thuc hm X A e F, mi thuc tnh B e X u quan trng,
tc l tp ph thuc hm c t F bng vic thay ph thuc hm X A bi ph thuc
hm (X \{B}) A:
(F \ {X A}) {X \ {B} A}
khng tng ng vi F.
C s d liu
Trang: 46
Nhn xt: iu kin (2) m bo khng c ph thuc hm d tha, iu kin
(3) m bo khng c thuc tnh v tri d tha.
Thut ton tm ph ti thiu:
- Input: Tp ph thuc hm F.
- Output: Tp ph thuc hm ti thiu G tng ng vi F.
- Method:
(1): Phn r v phi tt c ph thuc hm ca F v gi G l tp tt c cc
ph thuc hm thu c.
(2): Loi cc ph thuc hm d tha trong G: Khng tn ti X A no
trong F m tp F - {X A} tng ng vi F.
(3): Loi cc thuc tnh d tha v tri ca cc ph thuc hm trong G:
Khng tn ti X A trong F m Z c X cho:
(F - {X A}) {Z A}
tng ng vi F.
V d:
Cho lc R = (A, B, C, D, E, G) v tp ph thuc hm F gm cc ph thuc
hm sau:
AB C D EG
C A BE C
BC D CG BD
ACD B CE AG
Ta p dng thut ton tnh ph ti thiu tnh ph ti thiu ca F.
(1): Phn r v phi cc ph thuc hm trong F
Tp G thu c gm cc ph thuc hm:
AB C BE C
C A CG B
BC D CG D
ACD B CE A
D E CE G
D G
(2): Loi cc ph thuc hm d tha v thuc tnh d tha
* Loi cc ph thuc hm d tha:
- Loi CG B, v n suy ra t C A, ACD B v CG D bng
cc php ko theo nh sau:
C A CG AG (qui tc m rng hai v)
CG A (qui tc phn r)
CGA & CGD & CG C CG ACD (qui tc hp)
CG ACD & ACD B CG B (qui tc bc cu)
Nh vy ta loi ra khi G.
- Loi CE A, v n suy ra t C A.
Kt thc bc ny cc ph thuc hm cn li nh sau:
AB C BE C
C A
BC D CG D
ACD B
D E CE G
D G
* Loi thuc tnh d tha:
Trong ph thuc hm ACD B, thuc tnh A d tha v C A. Nh
vy ta thay ACD B bi CD B.
C s d liu
Trang: 47
Cui cng ta nhn c ph ti thiu:
AB C BE C
C A
BC D CG D
CD B
D E CE G
D G
V. PH THUC A TR
Chng ta cng thy rng d liu c mi quan h vi nhau v gi l ph
thuc hm. Nhng khng phi l duy nht. Khi nim ph thuc hm trong trng
hp tng qut khng vt ht cc loi ph thuc tn ti trong quan h. Trong thc
t cn c nhiu loi ph thuc d liu na. Chng hn, mi cp v chng (tn cha, tn
m) khng phi l xc nh duy nht tn mt a con m l mt hoc mt s con. Mi
quan h trong CSDL gi l ph thuc a tr.
1. nh ngha trc quan:
Gi s cho R l mt s quan h, X v Y l hai tp con ca R. Ni rng X xc
nh a tr Y hay c mt ph thuc a tr gia X v Y, k hiu X Y, nu vi
mi gi tr ca X c mt tp rng hoc mt tp cc gi tr tng ng trn Y m khng
lin quan g n cc gi tr ca cc thuc tnh cn li, R-X-Y.
2. nh ngha hnh thc:
Gi R l mt s quan h; X v Y l hai tp con ca R, Z = R XY. Quan h
r(R) tho ph thuc a tr X Y nu vi bt k hai b t
1
e r v t
2
e r vi t
1
[X] =
t
2
[X] tn ti mt b t
3
e r sao cho t
3
[X] = t
1
[X], t
3
[Y] = t
1
[Y] v t
3
[Z] = t
2
[Z].
Do tnh i xng ca t
1
v t
2
d dng thy rng trong r cn tn ti mt b t
4
m
t
4
[X] = t
1
[X], t
4
[Y] = t
2
[Y] v t
4
[Z] = t
1
[Z].
Ch : X v Y c th l tp rng, nu Y = C th X C ng vi mi quan h.
Nu X = C th C Y tho trn mt quan h khi v ch khi tp gi tr trn tp thuc
tnh Y l c lp vi cc gi tr ca nhng thuc tnh cn li trong quan h. Gi r[YZ] l
mt quan h, Y Z = C khi C Y tho trn r khi v ch khi r = r[Y] x r[Z] (tch
cc).
3. V d:
Gi s ta mun duy tr thng tin v tp nhn vin (ENO) v v tp d n (PNO)
c lin quan n cng ty cng nh v chi nhnh (PLACE) thc hin d n. Yu ny c
th c thc hin bng cch nh ngha s quan h:
SKILL(ENO, PNO, PLACE)
Ta gi s (c th khng thc t):
(1): Mi nhn vin u c th lm vic cho mi d n.
(2): Mi nhn vin u c th lm vic ti mi chi nhnh.
(3): Mi d n u c th c thc hin ti bt k chi nhnh no.
C s d liu
Trang: 48
Mt quan h mu tho cc u kin ny cho bng sau:
ENO PNO PLACE
E1 P1 Toronto
E1 P1 New York
E1 P1 London
E1 P2 Toronto
E1 P2 New York
E1 P2 London
E2 P1 Toronto
E2 P1 New York
E2 P1 London
E2 P2 Toronto
E2 P2 New York
E2 P2 London
Trong quan h trn c ENO PNO. Tht vy vi
t
1
= (E1, P1, Toronto)


t
2
= (E1, P2, New York)
tn ti 2 b:
t3 = (E1, P1, New York)
t4 = (E1, P1, Toronto)
Ta cn mt ph thuc a tr khc t quan h trn nh:
ENO PLACE
4. Mi lin quan gia ph thuc hm v ph thuc a tr:
Mi ph thuc hm u l ph thuc a tr, nhng ngc li th khng ng. Mt
ph thuc a tr X Y s l mt ph thuc hm ch khi vi mi gi tr ti X th tp gi
tr ti Y tng ng nhiu nht c mt phn t.
C s d liu
Trang: 49
CHNG VI:
PHP TCH CC LC QUAN H

I. KHI NIM PHP TCH
Php tch mt lc quan h R = {A
1
,,A
n
} l vic thay th lc quan h R
bng tp lc {R
1
,,R
k
}, trong R
1
,,R
k
l cc tp con ca R, khng bt buc
phn bit vi nhau, tha:
R = R
1
R
k

Mc ch ca php tch l loi b cc d thng d liu, nhm chun ho cc lc
quan h.
1. V d 1:
Xt s quan h NHACC(TenNCC, Hang, Diachi, G) vi cc ph thuc
hm:
TenNCC Diachi
TenNCC, Hang Dongia
T tp ph thuc hm chng ta thy rng c d tha d liu trong quan h
NHACC ny. Gi s mt TenNCC cung cp nhiu mt hng th Diachi s b lp i lp
li nhiu ln cho TenNCC . Tuy nhin nu chng ta thay NHACC bng hai lc :
CTY(TenNCC, Diachi)
HANG(TenNCC, Hang, G)
th c th loi b c mt s d thng nh iachi khng b lp i, lp li nhiu ln,
nhng liu c gii quyt c mi vn hay khng?
Gi s quan h r l gi tr hin thi ca lc NHACC. Ta k hiu r
1
v r
2
l
hai th hin ng vi lc CTY v HANG. Ta trng i rng r
1
s l php chiu ca r
ln cc thuc tnh TenNCC, Diachi v r
2
s l chiu ca r ln cc thuc tnh TenNCC,
Hang, G:
r
1
= t
Ten, Diachi
(r) & r
2
= t
Ten, Hang, G
(r)
Bng cch no ta bit c r
1
v r
2
cha thng tin ging nh r? Mt hng tr
li l kim tra xem r c th c phc hi t r
1
v r
2
hay khng. Ta khng nh rng
phng php duy nht phc hi r l ti to ni t nhin ca r
1
v r
2
. Nu ta t:
s = r
1
* r
2
nu r = s th t r
1
v r
2
chng ta khng c cch no bit c r hay s l quan h gc ca
lc NHACC.
2. V d 2:
Cho lc R = (A, B, C) v tp ph thuc hm F = {A B}. Xt phn r R
thnh 2 lc con (A,B) v (B,C).
Cho quan h r = {a
1
b
1
c
1
, a
2
b
1
c
2
}l th hin ca lc R. Khi :
t
AB
(r) = {a
1
b
1
, a
2
b
1
}, t
BC
(r) = {b
1
c
1
, b
1
c
2
}
Nh vy:
s = t
AB
(r) * t
BC
(r) = {a
1
b
1
c
1
, a
1
b
1
c
2
, a
2
b
1
c
1
, a
2
b
1
c
2
} = r.
Vy php tch ny khng phc hi ng thng tin ban u.
3. V d 3:
Cho lc : LOPHOC(Lop, Monhoc, Giaovien) vi tp ph thuc hm:
Giaovien Monhoc
Lop, Monhoc Giaovien
Xp php tch thnh:
GV(Giaovien, Monhoc)
LOP(lop,Giaovien)
Php tch no bo tn thng tin ban u:
t
Giaovien, Mnhoc
(LOPHOC) * t
Lop, GV
(LOPHOC) = LOPHOC
C s d liu
Trang: 50
Tuy nhin ph thuc hm th 2 khng cn tn ti trong cc lc con, v
nh vy n cng khng c phc hi trong php ni t nhin trn.
Vn t ra l chng ta phi phn r lc sao cho cc ni t nhin ca cc
quan h phn r tng ng phi tha mn 2 yu cu sau:
(1): Phc hi c thng tin ca quan h ban u.
(2): Phc hi c cc ph thuc hm ca cc quan h ban u.
Php tch tho mn yu cu (1) gi l php tch bo tn thng tin, cn php
tch tho mn yu cu (2) l php tch bo tn ph thuc hm. Chng ta s nghin cu
cc php tch ny trong phn sau:
II. PHP TCH KT NI KHNG MT THNG TIN
1. nh ngha:
Nu R l mt s quan h tch thnh cc s R
1
, R
2
,, R
k
v F l tp ph
thuc hm, ta ni php tch c kt ni khng mt thng tin nu vi mi quan h r ca R
tho F:
r = t
R1
(r) * t
R2
(r) ** t
Rk
(r)
2. B :
Cho R l mt s quan h, = {R
1
, R
2
,, R
k
} l mt php tch R, r l mt
quan h trn R. t:
m

(r) = t
R1
(r) * t
R2
(r) ** t
Rk
(r)
Ta c:
(i): r _ m

(r)
(ii): Nu s = m

(r) th t
Ri
(s) = r
i
(iii): m

(s) = m

(r)
3. Kim tra kt ni khng mt thng tin:
a. Gii thut:
Input: Mt s quan h R = (A
1
,,A
n
), mt tp ph thuc hm F v mt
php tch
= (R
1
, R
2
,, R
k
)
Output: Mt quyt nh xem c l mt php tch vi mt kt ni khng mt
thng tin.
Method:
- Ta xy dng mt bng k dng v n ct, ct j tng ng thuc tnh th j v
dng i tng ng s quan h R
i
. Ti v tr giao ca dng i v ct j ta t k hiu a
j

nu A
j
c trong R
i
, k hiu b
ij
nu ngc li.
- Lp li vic xt tng ph thuc hm X Y trong F, cho n khi khng
cn thay i c bng. Mi ln xt X Y ta tm cc dng mang tr bng nhau trn tp
thuc tnh X. Nu tm c hai dng nh vy, lm cho cc k hiu trn hai dng
ging nhau ti cc thuc tnh ca Y (nu mt k hiu l a
j
ta cho k hiu th hai cng l
a
j
; nu chng l b
ij
v b
lj
ta cho chng cng l b
ij
hoc cng l b
lj
.
- Nu sau khi sa bng theo cch nh trn, ta thy c dng no c dng
a
1
, a
2
,, a
k
th kt ni l khng mt thng tin, ngc li l mt.
b.V d:
Ta hy xt php tch SAIP thnh SA v SIP. Cc ph thuc hm gm S A
v SI P, v bng ban u l:
S A I P
SA a
1
a
2
b
13
b
14
SIP a
1
b
22
a
3
a
4

Xt S A, ta thy hai dng c gi tr ging nhau ct S, v vy gi tr ct A
cn thay i thnh a
2
.
C s d liu
Trang: 51

S A I P
SA a
1
a
2
b
13
b
14
SIP a
1
a
2
a
3
a
4
V bng c mt dng cha ton a
j
nn php tch ny l php tch khng mt
thng tin.
c. nh l 1:
Thut ton trn xc nh ng nu php tch l khng mt mt thng tin.
d. nh l 2:
* Pht biu:
Nu = (R
1
, R
2
) l mt php tch s quan h R v F l tp ph thuc
hm, th c mt php tch khng mt thng tin tho F nu v ch nu:
(R
1
R
2
) (R
1
R
2
)
hoc
(R
1
R
2
) (R
2
R
1
)
Ch : Cc PTH ny khng cn thuc F, ch cn thuc F
+
.
* p dng:
Trong khi gii thut trn c th p dng cho mt php tch thnh mt s bt
k cc s quan h, nh l 2 cho mt cch kim tra n gin hn i vi php tch R
thnh hai s quan h.
* V d:
Gi thit R = ABC v F = {A B}.
Nh vy, php tch R thnh AB v AC l php tch khng mt thng tin v
AB AC = A
AB AC = B
v ta c: A B
III. PHP TCH BO TN PH THUC HM
Cho lc quan h R vi tp ph thuc hm F v php tch = {R
1
,, R
k
}.
Mt tnh cht quan trng na ca php tch lc quan h l tp ph thuc hm F
phi c suy ra t cc chiu ca F ln R
1
,, R
k
.
Ta nh ngha chiu ca F ln tp thuc tnh Q, k hiu t
Q
(F), nh sau:
t
Q
(F) = {X Y e F
+
| X Y c Q}
1. nh ngha:
Ta ni php tch = {R
1
,, R
k
}ca lc R bo tn ph thuc hm (i vi
tp ph thuc hm F) nu hp cc chiu ca F ln R
1
,, R
k
suy din logic tt c ph
thuc hm trong F.
F c (t
R1
(F) t
R2
(F) t
Rk
(F))
+

L do php tch phi bo tn ph thuc hm l cc ph thuc hm c th coi l
nhng rng buc ton vn ca lc R. Nu cc ph thuc hm chiu ln cc lc
con khng suy din F th s phn r c th vi phm cc ph thuc hm trong F, thm ch
ngay c khi phn r bo tn thng tin.
V d:
- Cho s quan h R(C, S, Z) v tp ph thuc hm F:
CS Z
Z C
(1): Php tch R thnh SZ v CZ l php tch khng mt thng tin v:
(SZ CZ) (CZ SZ) Z C
(2): Tuy nhin, php chiu ca F = {CS Z, Z C} trn SZ ch cho cc
ph thuc hm tm thng; Trong khi php chiu ca F trn CZ cho ph thuc hm Z
C v cc PTH tm thng v chng khng suy din ra c CS Z. Do php
tch ny l khng bo tn ph thuc hm.
C s d liu
Trang: 52
- Chng ta xt th hin c th cho php tch trn:

R
1
S Z R
2
C Z
12 LTT 02138 TP CT 02138
12 LTT 02139 TP CT 02139

S C S Z
TP CT 12 LTT 02138
TP CT 12 LTT 02139
Ta thy, S l kt ni t nhin gia R
1
v R
2
. R
1
tho cc PTH tm thng, R
2

tho cc PTH tm thng v Z C, nhng bng S vi phm PTH CS Z.
2. Gii thut:
Input: Lc quan h R = {A
1
, A
2
,, A
n
}, tp ph thuc hm F v php tch:
= {R
1
,, R
k
}
Output: Kt lun v tnh bo ton ph thuc hm ca phn r .
Method:
K hiu
G =
k
i=1
R
i
(F)
Ta khng tnh G m ch kim tra xem n c ph F hay khng. Cho X Y e F,
kim tra xem bao ng ca X theo G, k hiu X
G
+
, c cha Y hay khng.
Th thut tnh X
G
+
m khng cn c G l xt tc dng ca qu trnh tnh bao
ng ca X i vi cc chiu ca F ln R
i
.
Xut pht t X, ta tnh X
G
+
nh sau:
(1): t X
0
= X, t = 1;
(2): Tnh X
t
trn c s X
t-1
:
(i): t X
t
= X
t-1

(ii):Vi mi lc con R
i
e F, R
i
. X
t
, ta thc hin php ton:
X
t
= X
t
(( X
t
R
i
)
+
R
i
)
Trong qu trnh tnh ton nu X
t
= R th kt thc, v kt lun X
G
+
=
R. Ngc li sang bc (3).
(3): Nu X
t
= X
t-1
th kt thc, v kt lun X
G
+
= X
t
.
Ngc li tng t ln 1 n v v quay v bc (2).
Nu Y l tp con ca X
G
+
c c t vic thc hin cc bc trn, th khi X
Y e G
+
. Nu mi X Y e F c chng minh thuc G
+
bng cch th php tch
bo ton ph thuc hm, ngc li l khng.
3. V d:
Xt lc R = (A,B,C,D) vi php tch {AB, BC, CD}
trong : AB = (A,B), BC = (B,C), CD = (C,D), v tp ph thuc hm F:
A B
B C
C D
D A
Ta thy trong F
+
mi thuc tnh xc nh tt c cc thuc tnh khc. Ta c cm
gic rng khi chiu F ln AB, BC v CD th ta b mt ph thuc hm D A, nhng
nhn nh khng ng. Khi tnh chiu ca F ln tp thuc tnh, ta thc s chiu F
+

ln cc lc quan h. Nh vy, khi chiu F ln AB ta khng nhng ch c ph thuc
hm A B, m cn nhn c ph thuc hm B A. Tng t ta nhn c C B
e t
BC
(F) v D C e t
CD
(F), v chng suy din logic ra D A.
C s d liu
Trang: 53
Nh vy, kt lun php tch bo ton ph thuc hm, ta phi ch ra rng D
A suy din t tp
G = t
CD
(F) t
CD
(F) t
CD
(F)
p dng thut ton, t X = D v tnh X
G
+
theo gii thut trn:
(1): t X
0
= X = {D}, t = 1
(2): Tnh X
1
:
t X
1
= X
0
= {D}
Xt lc con AB. V AB . X
1
, ta thc hin php tnh
X
1
= {D} (({D} {A,B})
+
{A,B}) = {D}
Xt lc con BC. V BC . X
1
, ta thc hin php tnh
X
1
= {D} (({D} {B,C})
+
{B,C}) = {D}
Xt lc con CD. V CD . X
1
, ta thc hin php tnh
X
1
= {D} (({D} {C,D})
+
{C,D}) =
= {D} ({A,B,C,D} {C,D}) = {C,D}
n y ta c X
1
= {C,D} = X
0
= {D}. Vy ta tnh tip X
2
.
(2): Tnh X2:
t X2 = X1 = {C,D}
Xt lc con AB. V AB . X2, ta thc hin php tnh
X1 = {C,D} (({C,D} {A,B})+ {A,B}) = {C,D}
Xt lc con BC. V BC . X2, ta thc hin php tnh
X1 = {C,D} (({C,D} {B,C})+ {B,C}) = {B,C,D}
Ta b qua lc CD v CD c X2.
n y ta c X2 = {B,C,D} = X1 = {C,D}. Vy ta tnh tip X2:
(3): Tnh X3:
t X
3
= X
2
= {B,C,D}
Xt lc con AB. V AB . X
2
, ta thc hin php tnh
X
1
= {B,C,D} (({B,C,D} {A,B})
+
{A,B})
= {B,C,D} ({A,B,C,D} {A,B}) = {A,B,C,D}
Ta c X
3
= R. Qu trnh kt thc v ta c:
X
Q
+
= (D)
+
= R
T suy ra D Ae G
+
. Cc ph thuc hm khc hin nhin l thuc G
+
(thm
ch chng thuc G). Ta kt lun php tch bo ton ph thuc hm F.


C s d liu
Trang: 54
CHNG VII:
CHUN HO LC QUAN H

I. CC DNG PH THUC HM
1. Thuc tnh nguyn t, khng nguyn t
(prime/nonprime attribute)
Cho s quan h R(U), mt thuc tnh A e R c gi l nguyn t nu A l
thnh phn ca mt kho trong R. Ngc li, A khng l nguyn t.
V d:
Trong s quan h ABCD (kho l AB, BC) vi cc ph thuc hm:
AB C
B D
BC A
Ta thy: A, B, C l thuc tnh nguyn t; D l khng nguyn t.
2. Ph thuc tng phn
(partial dependency)
Ph thuc hm X A l ph thuc tng phn nu X l tp con thc s ca mt
kho ca R.
3. Ph thuc y /ph thuc s cp
(complete dependency)
Ph thuc hm X A l ph thuc y (hay cn gi l ph thuc s cp/
nguyn t) nu khng tn ti tp con thc s Y _ X no cho Y A xy ra. Nh vy
ph thuc y vo kho ngc li vi ph thuc tng phn.
4. Ph thuc truyn
X A l ph thuc hm truyn nu X khng l tp con thc s ca mt kho
no, A l thuc tnh khng kho, A . X.
5. Ph thuc trc tip
X A l ph thuc trc tip nu khng tn ti tp thuc tnh Y, vi Y = X, Y =
A tha:
X Y & Y A
6. Ph thuc hm tm thng
Ph thuc hm X Y gi l ph thuc hm tm thng nu Y c X (hin nhin l
nu Y c X th ta c X Y).
II. CC DNG CHUN
1. Dng chun th nht (1NF)
a. nh ngha:
Mt s quan h R c xem l dng chun th nht nu mi thuc tnh
ca R u khc trng, ph thuc hm vo kho v khng c mang gi tr kp (tc
khng th chia c thnh cc thnh phn nh hn v c ngha).
b. V d:
Cho s quan h:
CUNG_UNG(MaNSX, MaH, SL, VonNSX, TP, Nuoc)
vi cc ph thuc hm:
MaNSX, MaH SL (a)
MaNSX VonNSX (b)
MaNSX TP (c)
MaNSX Nuoc (d)
TP Nuoc (e)
S ny tho dng chun th nht (1NF).
C s d liu
Trang: 55
2. Dng chun th hai (2NF)
a. nh ngha:
Mt s quan h R c xem l tho dng chun 2 nu n dng chun 1 v
khng c ph thuc hm tng phn.
b. V d 1:
S quan h SAIP (kho SI) vi cc ph thuc hm: SI P v S A vi
phm dng chun th 2. Do kho l SI nn A l khng nguyn t.
c. V d 2:
Trong v d trn, s quan h CUNG_UNG khng tha dng chun th 2 v
cc ph thuc hm (b), (c) v (d) l cc ph thuc hm tng phn.
Ta c th tch CUNG_UNG thnh 2 s quan h:
CUNG_UNG2(MaNSX, MaH, SL)
NSX(MaNSX, VonNSX, TP, Nuoc)
th c hai s mi ny u tha 2NF.
3. Dng chun th ba (3NF)
a. nh ngha:
Mt s quan h R c xem l tha dng chun 3 nu n dng chun 2 v
khng c ph thuc hm truyn.
b. V d 1:
S quan h CSZ (kho l CS v SZ) vi cc ph thuc hm: CS Z v Z
C tha dng chun 3 v mi thuc tnh u l nguyn t.
c. V d 2:
S quan h NSX v d trn khng tha dng chun 3 v c cha ph thuc
hm truyn:
TP Nuoc
Ta c th tch NSX thnh 2 s quan h:
NSX(MaNSX, VonNSX, TP)
TP(TP, Nuoc)
th 2 s ny tha 3NF.
4. Dng chun Boyce Codd (BCNF)
a. nh ngha:
Mt s quan h R c gi l tha dng chun Boyce Codd nu vi mi
ph thuc hm khng tm thng u c v tri l siu kho.
b. V d 1:
S quan h CSZ (kho l CS v SZ) vi cc ph thuc hm: CS Z v Z
C tha dng chun 3 nhng khng tha Boyce Codd v ph thuc hm Z C, Z
khng l siu kho.
c. V d 2:
Xt lc :
LOPHOC(Lop, MonHoc, GiaoVien)
vi 2 ph thuc hm:
GiaoVien Monhoc
Lop, MonHoc GiaoVien
Lc c 2 kho:
K
1
= Lop, MonHoc v
K
2
= Lop, GiaoVien
nn tt c cc thuc tnh u l thuc tnh kho lc dng chun 3. Tuy nhin
lc khng dng chun Boyce Codd v ph thuc hm
GiaoVien MonHoc
khng tha yu cu v tri phi l siu kho.
C s d liu
Trang: 56
5. Dng chun th t (4NF)
a. nh ngha:
Lc quan h R tha dng chun th t nu vi mi ph thuc a tr X
Y bt k, trong Y khc rng hoc khng l mt tp con ca X v X Y khng
cha ht mi thuc tnh ca R th X phi l mt siu kha ca R.
b. V d:
Xt quan h: SKILL(ENO, PNO, PLACE)
ENO PNO PLACE
E1 P1 Toronto
E1 P1 New York
E1 P1 London
E1 P2 Toronto
E1 P2 New York
E1 P2 London
E2 P1 Toronto
E2 P1 New York
E2 P1 London
E2 P2 Toronto
E2 P2 New York
E2 P2 London
Quan h khng c ph thuc hm; tt c cc thuc tnh l thuc tnh kho.
Quan h SKILL c hai ph thuc a tr:
ENO PNO
ENO PLACE
V quan h khng c ph thuc hm nn n dng BCNF. Tuy nhin n khng
dng chun 4 v ENO khng phi l kho.
III. KT HP CHUN HO VI CC PHP TCH S QUAN H
1. Dng php tch kt ni khng mt thng a v dng chun BCNF
a. Gii thut:
- Input: S quan h R v tp ph thuc hm F.
- Output: Mt php tch ca R vi kt ni khng mt thng tin, sao cho mi s
quan h trong php tch s dng chun Boyce Codd v tha chiu ca F trn .
- Method:
Cu trc php tch trn R theo phng php lp lin tip. Ti mi bc
php tch l bo m khng mt mt thng tin i vi F.
Khi u: ch gm R
Cc bc k tip: Nu S l mt lc thuc , S cha BCNF, chn X
A l ph thuc hm tha trn S, trong X khng cha kho ca S, A e X. R rng
cn phi c mt s thuc tnh khc ca S va khng phi A, va khng thuc X hoc
nu khng th X phi cha mt kho ca S. Thay th S trong bi S
1
v S
2
.
S
1
= XA, S
2
= S A
(php tch S thnh S
1
v S
2
l khng mt thng tin i vi tp ph thuc hm trn S v
rng S
1
S
2
= X, X S
1
S
2
= A)
Qu trnh tip tc cho ti khi tt c cc lc u BCNF. Ch
rng ti mi thi im lun bo m khng mt thng tin, v rng ban u l R, m
bc thay i u bo ton tnh cht .
b. V d:
Cho lc R(CTHRSG), trong C: gio trnh, T: thy gio, H: gi, R:
phng hc, S: sinh vin, G: lp. Tp ph thuc hm F:
C s d liu
Trang: 57
C T HR C
HT R CS G
HS R
Kho ca R l HS.
Tch lc R thnh cc lc BCNF:
- Xt CS G cho R. Vi phm iu kin BCNF v CS khng cha kho. Do
vy, dng thut ton tch R thnh R
1
(CSG) v R
2
(CTHRS). Bc tip cn tnh F
+
v
chiu xung R
1
v R
2
, sau kim tra cc lc BCNF cha. C th biu din
qu trnh tch qua s quan h sau:































2. Dng php tch bo tn ph thuc hm a v dng chun th 3
a. Gii thut:
- Input: Lc quan h R, tp cc ph thuc hm F; khng lm mt tnh tng
qut gi s rng n l ph ti thiu.
- Output: Mt php tch trn R c bo ton ph thuc hm, sao cho mi s
quan h u dng chun ba v tha chiu F trn s quan h .
- Method:
+ Nu c mt hoc mt s thuc tnh no ca R khng c mt trong tt
c cc ph thuc hm ca F th v nguyn tc bn thn chng s to thnh mt s
quan h v ta s xo chng ra khi R.
+ Nu c mt ph thuc hm ca F cha ht tt c cc thuc tnh ca R th
kt qu cn tm chnh l R.
CTHRSG
Kho = HS
C T, HR C
HT R, CS G
HS R
CSG
Kho = CS
CS G
CTHRS
Kho = HS
C T, HR C
HT R, HS R
CT
Kho = C
C T
CHRS
Kho = HS
HR C, HC R
HS R
HRC
Kho = HR, HC
HR C, HC R
HRS
Kho = HS
HS R
C s d liu
Trang: 58
+ Ngc li th kt qu s cha s quan h XA cho tng ph thuc hm
X A trong F. Tuy nhin, nu X A
1
, X A
2
,, X A
n
trong F, ta c th dng s
X A
1
A
2
...A
n
thay v n s X A
i
(1 i n). Thc t cch thay th ny c
a thch hn.
b. V d:
Cho s quan h:
HOC(Mon, GV, TG, Phong, SV, KQ)
v tp ph thuc hm:
Mon GV Mon, SV KQ
TG, Phong Mon TG, SV Phong
TG, GV Phong
Theo gii thut ta tch HOC thnh cc s quan h:
H1(Mon, GV)
H2(TG, Phong, Mon)
H3(TG, GV, Phong)
H4(Mon, SV, KQ)
H5(TG, SV, Phong)
c. nh l:
Gii thut to ra mt php tch bo ton ph thuc hm a v dng chun
th ba.
3. Dng php tch kt ni khng mt thng tin v php tch bo tn ph thuc
hm a v dng chun th 3
a. Gii thut:
- Input: Mt php tch trn R c bo ton ph thuc hm sao cho mi s
quan h u dng chun th ba v tha chiu ca F trn s quan h .
- Output: Mt php tch o trn R vi kt ni khng mt thng tin v bo ton
ph thuc hm sao cho mi quan h u dng chun th ba v tha chiu ca F trn
s quan h .
- Method: Nu khng c lc con cha kho ca R v X l kho no
ca R th ta ch n gin l thm vo o mt s quan h cha X: o = {X}
b. V d:
Xt li v d trn, ta c kt qu:
H1(Mon, GV)
H2(TG, Phong, Mon)
H3(TG, GV, Phong)
H4(Mon, SV, KQ)
H5(TG, SV, Phong)
v
H6(TG, SV)
nhng ta thy H3 cha TG, SV nn kt qu l:
H1(Mon, GV)
H2(TG, Phong, Mon)
H3(TG, GV, Phong)
H4(Mon, SV, KQ)
H5(TG, SV, Phong)
c. nh l:
Gi l php tch a R v dng chun th ba bo ton ph thuc hm, v gi
X l mt kho ca R. Ta c o = {X} l mt php tch R thnh cc s quan h
dng chun th ba, php tch ny bo ton ph thuc hm v c kt ni khng mt
thng tin.

C s d liu
Trang: 59

TI LIU THAM KHO



1. Bi ging C s d liu
Khoa Cng ngh thng tin, Trng i hc Cn Th - Phm Th Xun Lc.

2. C s d liu
NXB i hc quc gia H Ni - Trung Tun.
3. Gio trnh C s d liu
Nng - PGS.TSKH. Trn Quc Chin.
4. Nhp mn cc h c s d liu (tp 1&2)
NXB Thng k, H Ni 1986 -
Ngi dch: H Thun, Nguyn Quang Vinh, Nguyn Xun Huy,
H Thun hiu nh v gii thiu.
5. Nhp mn C s d liu quan h
NXB Khoa hc v K thut, 1995 L Tin Vng.
6. Principles of Database and Knowledge Base systems (Volume 1&2)
Computer Science Press Jeffrey D. Ullman Stanford University.

You might also like