You are on page 1of 127

NGUYHN VN I I UN - PIIM V l n ' BNH

GIO TRNH

H C S D LIU
PHN TN V SUY DIN

NH X U T BN K H O A H C V K T H U T
H Ni - 209
MC LC

M U 3
M C LC 5
CH NG I. G II TH IU C H UNG V c s D LTU 9
1.1. KHI NIM C BN V CC H c s D LIU 9
1.1.1. C s d liu l g 9
1.1.2. S cn thit ca cc h c s d liu 10
1.1.3. M hnh kin trc tng qut c s d liu 3 mc 11
1.1.4. Mc tiu ca cc h c s d liu 14
1.1.5. H qun tr CSDL & ngi qun CSDL 15
1.1.6. Rng buc d liu 17
1.1.7. Cc m hnh truy xut d liu 18
1.1.7.1. M hnh c s d iiu Client Server 18
1.1.7.2. M hnh ClienServer nhiu lp 19
1.1.7.3. K thut lp trnh c s d liu - Web ng 20
1.1.7.4. Kin trc h thng Server (Server System Architecture) 21
1.1.7.5. Cc m hnh kin trc ng dng 23
1.2. CC M HNH C S D LIU 23
1.2.1. M u 24
1.2.2. M hnh d liu (Data Model) 24
1.2.2.1. Phn bit gia cc m hnh d liu 25
1.2.2.2. Cc h thng CSDL i tng v tri thc 25
1.2.3. M hnh CSDL phn cp (Hierarchy Data Model) 25
1.2.3.1. Cu trc biu din d liu phn cp 25
1.2.3.2. Ngn ng thao tc trn CSDL phn cp 26
1.2.4. M hnh CSDL mng (Network Data Model) 28
1.2.4.1. Cu trc biu din d liu mng 28
1.2.4.2. Ngn n^ d liu thao tc trn CSDL mng 30
1.2.5. Cch tip cn m hnh CSDL quan h 30
C H NG n . C S D L I U PH N TN 33
2.1. H C S D LIU PHN TN 33
2.1.1. nh ngha CSDL phn tn 33
2.1.2. Phn loi c s d liu phn tn 35
2.1.3. Cc c im chnh ca c s d liu phn tn 36
2.1.5. X l d liu phn tn 38
2.1.5. u nhc im ca vic s dng c s d liu phn tn 39
2.1.6. C s d liu phn tn v c s d liu tp trung 4Q
2.1.7. Kin trc c bn ca CSDL phn tn 41
2.1.8. H qun tr CSDL phn tn 42
2.2. CC M HNH X L PHN TN 45
2.2.1. M hnh x l Master - Slave 45
2.2.2. Cc h khch/i l 45
2.2.3. Cc h phn tn ngang hng 47
2.2.4. Mi trng a tng 47
2.3. THIT KE C S D LIU PHN TN 48
2.3.1. Cc chin lc thit k 48
2.3. l.K Qu trinh thit k t trn xung (top-down) 48
2.3.1.2. Qu trnh thit k t di ln (bottom-up) 49
2.3.2. Cc vn thit k 50
2.3.2.1. L do phn mnh 50
23.2.2. Cc quy tc phn mnh ng n 50
2.3.23. Cc yu cu thng tin 51
2.3.3. Phn mnh ngang 51
2.3.3.1. Hai kiu phn mnh ngang 51
2.3.3.2. Yu cu thng tin ca phn mnh ngang 51
2.3.33. Phn mnh ngang nguyn thu 54
2.3.3A. Phn mnh ngang dn xut 60
2.33.5. Kim nh tnh ng n 62
2.3.4. Phn mnh dc 62
2.3.5. Phn mnh hn hp 71
2.3.6. Cp pht 71
2.3.6.I. Bi ton cp pht 72
2.3..2. Cch tip cn 1 72
2.3.63. Cch tip cn 2 75
2.4. X L V N TIN 80
2.4.1. Bi ton x l vn tin 81
2.4.2. Phn r vn tin 84
2.4.3. Cc b ha d liu phn tn 91
2.4.4. Ti u ho vn tin phn tn 101
2.5. QUN L GIAO DCH 104
2.5.1. Giao dch (Transaction) 104
2.5.2. Giao dch phn tn 109
2.5.3. Tnh kh tun t ca cc lch biu v vic s dng chung 115
2.5.4. Cc k thut iu khin tng tranh bng kha 116
2.5.4.I. M hnh kha c bn 119
2.5A.2. M hnh kha c v kha ghi 121
2.5.4.3. Thut ton iu khin tcmg tranh bng nhn thi gian 123
CHNG m . C S D LIU SUY DIN 129
3.1. GII THIU CHUNG 129
3.2. C S D LIU SUY DIN 129
3.2.1. M hnh c s d liu suy din 129
3.2.2. L thuyt m hnh i vi c s d liu quan h 131
3.2.2.I. Nhn nhn c s d liu theo quan im logic 131
32.2.2. Nhn li c s d liu quan h 131
3.2.3. Nhin nhn c s d liu suy din 132
3.2.4. Cc giao tc frn c s d liu suy din 133
3.3. C S D LIU D A TRN LOGIC 133
3.3.1. C php 133
3.3.2. Ng ngha 134
3.3.3. Cau trc c bn 134
3.3.4. Cu trc ca cu hi 137
3.3.5. So snh DATALOG vi i s quan h 138
3.3.6. Cc h c s d liu chn gia 142
3.4. MT S V N KHC 142
CH NG IV. C S D LIU HNG I TNG 145
4.1. NGUYN TC CA CC M HNH HNG I TNG 145
4.1.1. M hnh ha cc i tng 145
4.1.2. Phng php 146
4.1.3. Lp (Class) 146
4.1.4. Cc lin kt tha k gia cc lp 147
4.1.5. Lc lp 148
4.2. TNH BN VNG CA CC I TNG 148
4.2.1. C s d liu hng i tng 148
4.2.2. Qun l tnh bn vng 148
CH NG V. T H C H N H M T S NG DNG 151
5.1. THIT KE MT H c s D LIU K TON 151
5.1.1. t vn bi ton 151
5.1.2. Chin lc 158
5.1.3. Phn tch 158
5.1.4. Thit k 171
5.1.5. M t thit k h c s d liu phn tn cho h thng k ton 172
5.1.6. S phn cp chc nng ca h thng 176
5.2. THC HNH VI MT s THUT TON IU KHIN TNG 178
TRANH TRONG QUAN L GIAO DCH PHN TN
M T S T H I UA CC NM 189
TI LIU TH AM K H A O 205
CHNG I

GII THIU CHUNG V c s D LIU

1.1. KHI NIVI CO BN V CC H c s D A


Trong chng ny trnh by nhng khi nim C0 bn v cc h c s d liu do E.F
Codd xut. Nhng khi nim ny bao gm mc tiu ca mt h CO s d liu. S cn thit
phi t chc d liu di dng c s d liu. Tinh c lp ca d liu th hin m hinh kin
trc 3 mc. V vy c th ni c s d liu phan nh tnh trune thc, khch quan ca th gii d
liu. Khng d tha thng tin v cng khng thiu thng tin. Ni dung ca chng bao gm cc
phn;
C s d liu l gi;
S cn thit ca cc h c s d liu;
M hnh kin trc 3 mc c s d liu;
Mc tii! ca cc h c s d liu;
H qun tr CSDL & ngi qun tr CSDL:
T chc lu tr dr liu:
C c m hnh truy x u t .

1.1.1. C s 'd liu l gi

C s d liu l mt b su tp rt ln v cc loi d liu tc nghip, bao gm cc loi


d liu m thanh, ting ni, ch vit, vn bn, ho, hnh anh tnh hay hnh nh ng... c
m ho di dng cc chui bit v c lu tr di dng File d liu trong cc b nh ca
m y tnh, c u trc lu tr d liu tun theo cc q uy lc da trn l thuyl ton hc. C s d
liu phn nh trung thc th gii d liu hin thc khch quan.
(V/ s d liu Ic) i nguyn hi^ tin dim^ chim ^ cho nhi ngir: C s d liu
(CSDL) l ti nguvn thng tin chiiim cho nhiu niri cng s dng. Bt k ngiri s dng no
trn mng my tnh, ti cc thit b u CLioi, v ngiivn tc c quyn truy nhp khai thc lon
b hay mt phn d liu theo ch trc tuyn hay tng tc m khng ph thuc vo v tr a
l ca ngi s d n g vi cc ti nguyn .

C s d iu dc cc h ng cg khai fhc hrg i^r ng con d Hii hoc bng


cc chng trnh m g dng x l, tm kim, tra cu. sa i, b sung hay loi b d liu.
Tm kim v tra cu thng tin l mt trong nhng chc nng quan trng v ph bin nht ca
cc dch v CO' s d liu. H qun tr CSDL HTCSDL (DataBase Management System -
DBMS) l phn mm iu khin cc chin lc tmy nhp CSDL. Khi ngiri s dng a ra yu
cu truy nhp bng mt ngn ng con d liu no d, HQTCSDL tip nhn v thc hin cc
thao tc trn CSDL lu tr.
i tiing nml'iin ciVii cua C'SDl. l cc lnrc th v nii quan h gim cc thc th. Thc
the v mi quan l uia CC lic tlc l hai di tirnu klic Iihaii \ c cn ban. Mi quan h gia
cc thc th c n g l mt oi thc tl dc bit. Tron g cch ticp cn C'S.)l.. qua n h, imLii ta d a
trn c s l thuyt ii s quan h x\ dng cc quan h clLin. klii kt ni khns tn tht
thng tin v khi biu din d liu l duy nht. D liu c lu tr Irone b nh' ca my tnh
khng nhng phi tnh n yu t v ti u khng ian lu tr, m phi m bao tnh khch
quan, trung thc ca d liu hin thc. Neha l phi am bo tnh nht qun ciia d liu v iii
c sr ton vn ciia d liu.

1.1.2. S c n thit ciia cc h CO' s' d' iiu

T c hc lu tr d liu theo !y thuyt CO' SO' d liu c n h n g tru im;


Gim ht t' la ci liu rong ini r: Trong cc ng dng lp trinh truyn thng,
p h n g p h p t c h c lu trr CL liu va tn km, lng ph b nhcV v cc thit b lu trfi\ va d
tha thng tin lu tr. Nhiu cluronii trnli ng dnii khc nhau cnu x Iv trn cc d liu nh
nhau, dn n s d tha ng k v d liu. V d trong cc bi lon nghip v quan Iv "Cc
thu bao in thoi" v "Doanh thu & sn lng". tiarn ng vi moi Mit c h c i m trnh mt
hay nhiu tp d liu c lu tr riim bit, c lp vi nhau. Trong c 2 chong trnh cng
x l mt s thuc tnli cia mt cuc m thoi nh s my gi di", '^s my gi n\ "hirig
cuc gi\ thi gian bt dau" v "thi uian kt thc"... Nhiu thuc tnh c m t v lu trCr
nhiu ln c lp vi nhau. Neu t chc lu tr theo l thuyt CSDL th c th hp nht cc tp
lu tr ca cc bi ton trn, cc chironu trinh ng dim c tl cim chia s ti nguyn trn
cng mt li CSDL.
T chc lim r d liu heo l ihuy CSDL s rnh (lirc s khi nl cu roi
lu tr d l v bao dam dc inh oi vj7 cua ciu: Nu mt thuc tnh irc m t trong
nhiu tp d liu khc nhau v lp li nhiu ln trong cc bn glii, klii thc hin vic cp nht,
sa i, b sung s khng sa ht ni dung cc mc . Nu dCr liu cng nhiu th s sai st
khi cp nht, b sung cng ln. Kha nng xut hin niii thun, khng nht qun thng tin cng
nhiu, dn n khng nht cun (i liu tronu lu tr. Tt VCU ko tiieo s d thng thni tin,
tha, thiu v mu thun tling tin.
Thng thunt, trong mt thc th. gia cc thuc tnli c mi quan h rng buc ln
nhau, tc ng nh ling ln nhau. Cc ca mt cuc m thoi ph thuc vo khong cch
v thi gian cuc gi, tc i ph tliLic hm vo cc thuc tnh my gi i, my gi n, thi
gian bt u v thi gian kt thc cuc gi. Cc trinh ng dng khc nhau cng x l cc m
thoi trn cc thc th lu tr tirong m khc nhau cha hn cho cng mt kt qu v sn
lng pht v doanh thu. iu ny K giai ti sao trong mt doanh nghip, cng x l trn cc
chi tiu qun l m s liu bo co cua cc phng ban, cc cng ty con li cho cc kt qu khc
nhau, thm ch cn tri ngc nhau. Nh vy, c th khng nh, nu d liu khng t chc
theo l th uy t c s d liu, tt yu khng th phn nh th gii hin thc d liu, khng phn
nh n g bn cht vn ng ca d liu.
S khng nhc (iin d liu Irong lim r lm cho d liu mt i tnh lon vn CLi n.
Tnh ton vn d liu m bao cho s lu tr d liu lun liin ng. Khng th c m vng
ngoi qu y nh ca CO' quan qun l. hoc ngv sinh ca mt nhn vin k h n g the xy ra sau
ngy tt nghi p ra trig ciia nhn vin ...

10
T chc h m r d liu theo / hiy CSDL c l rin khai ckmg h nhiu tm g dimg
irn crg m i CSDL\ iu ny c ngha l cc ng dn> khng ch chia s chung ti nguyn d
liu m cn trn cng mt CSDL c th trin khai ng thi nhiu ng dng khc nhau ti cc
thit b u cui khc nhau.
T chc cr H li theo hiv c sa d H li s hng nh cc u chiir, ihii tc V cc
bin phcip hao v, an or d i: Cc h CSDL s diro'C qun l tp triing bi mt ngir'i hav
mt nhm ngi qun tr CSDL, bang cc h qun tr CSDL. Ngi qun tr CSDL c th p
dng thHii nht cc tiu chun, quy nh, th lc chung nh quy nh thng nht v mu biu
bo co, thi gian b sung, cp nht dir lii. iu ny lm d dng cho cng vic bao tr dCr
liu. Ngi qun tr CSDL c th bo m vic truy nhp ti C SD U c th kim tra, kim sot
cc quyn truy nhp ca ngi s dng. Ngn chn cc triiv nhp tri php, sai quy nh t
trong ra hoc t ngoi vo...

1.1.3. M h n h k in tr c t n g q u t CO s' d liu 3 m c

M hnh kin trc 3 mc ca h CSDL gm: Mc trong, mc m hnh d liu (Mc


quan nim) v mc igoi. CCra cc mc tn ti cc nh x quan nim trong v nh x quan
nim ngoi. Trung tm ca h thng l mc quan nim, tc l me m hnh dci liu. Ngoi ra
cn c khi nin igi s dng, h qun tr C'SDL v nmri qun tr CSOL.
N gi s citig: L n h n g ngiri ti thit b u CLii triiv n h p v o cc h C S D L theo
ch trc tuyn hay tng tc bng cc chng trnh ng dng hay bng cc ngn ng con d
liu. Thng l cc chuyn vin k thut tin hc, c trnh thnh tho bit lp trnh v bit s
dng ngn ng con thao tc di liu (SQL Server, Oracle...). Ngui s dng c th truy nhp
lon b hay mt phn CSDL m h qan tm, ph thuc vo qiivn tni> nhp ca l. C'ch nhn
CSDL ca ngi s dng ni cliung l tru tirng. H nhn CSDL bnu m hinh ngoi; gi l
m hnh con d liu. Chng hn ngi s dng l ml nhn vin ciia phng k ton ti chnh,
ch nhin thy tp cc xut hin kiu bn ghi ngoi v doanh thu, san lng trong thng, khng
th nln thy cc xut hin kiu bn ghi lu tr v cc chi tiu k thut cua ng thng, mng
li...
M hnh ngoi: M hnh ngoi l ni dung hng tin CLI CSDL di cch nhin ca
ngLri s dng, l. ni d u n g t h n g tin cua mt phn d liu tc nghip c m t ngi hoe mt
nhm nii s dng quan tii. Ni cch khc, m hnh ngoi n la cch ihin d liu ca ngi
s dng v mi ngi s dng c cch nhn d' liu khc nhau. Nhiu m hinh ngoi khc nhau
c th cng tn ti trong mt h CSDL, ngha l c nhiu ngi s dng chia s chung cng mt
CO' s dr liu. Hn na, c th m hnh ngoi quan h, m hnh ngoi p h n c p hay m hnh
ngoi kiu mng cng c th tn ti trong mt c s d liiL So' ngoi khng lm "hiir' m
c nhng vo trong logic mt on tc c lin quan.
M hnh ngoi g m nhiu xut hin kiu bn ghi ngoi, ngha l mi mt ng i s
dng c mt s dCr liu ring, mt khung nhn d iiu ring. Bn ghi ngoi cua ngi s
dng c th khc vi bn ghi lu tr v bn ghi quan nim.
M hinh ngoi dtroc xc dnh bi mt s ngoi bao gm cc m t v kiu bn ghi
ngoi nh rn cc tririig. kiu dQ' liu cc trirng, rng ca trng...
N g n n g c on d liu ca ngLri s d ng thao tc trn cc bn ghi ngoi.

11
Ngi s d n g khc nhau c k h u n g nhin do liu khc nhau.
Ngi s dng u cui c th l cc ng dng liav thao tc trc tip bnu ngn ng
thao tc, truy vn d iiii.
M hhih d liu (m hnh quan iim}: M hnh quan nim l cch nhn d liu m
cch tng qut ca ngi s dng. Ngha l c rt nhiu cch nhn d liu m hnh ngoi,
nhng ch c duy nht mt cch nhii d' liu mc quan nim. Biu din ton b thng tin
trong CSDL l duy nht.
M hinh d liu gm nhiu xul hin cua nhiu kiu ban hi d liu. V d kiu \ut
hin bn ghi v nhn s\ kiii xut hin bn ghi v doanh thu, san lng, kiu XLi hin ban lhi
v cc m thoi...
M hinh d liu c xc nh bi m t SO' d' liu m t ca nhiu kiu thc th,
chng hn nlur m t thc th tuyn cp, cc loi cp, thy gio, hc sinh... S di liu bao
gm cc nh ngha v cc kiu bn ghi, l cc rng buc cho quyn v tnh ton vn tlich
hp. Nhng rng buc ny chnh l cc tnh cht ca d liu, lnh lin kt cc thuc tnh cnu
mt kiu d liu. Cc nh ngha ny khng bao hm v cu trc lu tr, cng nh v chin
lc truy nhp, cung ch l cc nh ngha v ni dung thng tin, v tnh c lp ca d liu
trong m hinh quan nim.
S quan nim lun L i n n nh, ngha l nu m t thm mt kiu thc th c
bit st nhp vo s d liu, khng c im thav di s d d liu c. Neu s d liu
khng n nh thi cc ng dng v m hnh ngoi cng khng n nh. So d' liu chi uc
thay i k l c s iu chinh trong the gii thc, i hi iu chinh li nh ngha sao cho n
phn nh th gii hin thc khch quan hon, chn l hon.
Thit k m hnh d liu l giai on quan trng v quyt dnh trong vic thit k v
ci t cc h c s d liu. Qu trnh liit k khng ph thuc qu nhiu vo cu trc lu tr
vt l v chin lc truy nhp ca d liu. Nh vv vic thit k SO' d liu phi c lien
hnh c lp vi vic thit k SO' tro ng v cc s d ngoi lin ku v neu kh n g vic thicl kc
s khng n nh v t h n g xuyn phi \eiTi xt li lc n g tlurnu xuyn n nhiu ihnh
phn khc ca h thng.
Vi cch thit k truyn thng hin nay, ngi thit k chi cung cp mt-s s
trong v mt tp cc s ngoi v h coi l s dfr liu, l m hnh d liu. V vy tnh
khn g n nh h thng, lnh kh n g ph h p vi cc nii (iiig nay sinh sau ml thi gian hoi
ng. Mu thun v d thng thng tin s \ y ra. Vi phm tnh t)n vn cua d liu.
Ngoi cc nh ngha v xut hin nliii kiu ban gh quan nim, s d liu cn
cha cc nh ngha v quyn truy nhp ca ngiii s dng, cc th tc kim tra tnh ng an
ca d liu nhm bo m tnh ton vn ca CSDL. Cc lung lu chuyn tling tin, quy nh
cch thc s dng thng tin..
N h vv li hnh c Hi cch nhn ioii h ni chi, thn, in cua C SD L s d
quan nim l nh ngha cua cch nhn y. Lii hc di clit iin. c/uan r roi vic hil k
v ci t cc h c s d iii.

12
End user 1 Application End user n Application
Prosrammer Programmer

Hinh 1.1. Ki^n tn ic h? c o sd dG li?u.


Mo hinh trong-. Mo hinh trong mo hinh lim trii v$t ly dft lifu. Chi c6 duy nhat mpt
chi mOt cach bieu dien CSDL dudi d^iig luu trff v$t ly. Mo hinh trong 1^ c^ch bilu diln ca sd d(i
liu triu tugmg r mure thdp nhat.
Mo hinh trong g6m nhilu xuat hifn cua nhieu l(ilu ban ghi luru trQ* du<7c xdc djnh b^i
mpt so do trong. Thong tin bieu diln trong m6 hinh trong \h duy nhat.
So do trong bao gom cac djnh nghTa mo hinh trong. Khong chi xac djnh c^c Icieu khdc
nhau cua ban ghi imi trO' ma c6n xac djnh ro svr ton t^i cua cdc chi dan, cdch s4p x^p cac b ^ ghi
theo thur t\r nao... N o xdc djnh dii lifu luu trii truy nhp nhu the nao thong qua cdc ducmg din
truy nh^p tai d& Ii?u.
Anh xg quart ni$m trong dugc xdc djnh giCta mo hinh trong mo hinh dii li?u nhSm
bao dam tinh dpc l?lp ciia dii li|u . Neu cau true luru trii cua CSDL thay doi, nghTa la thay doi
djnh ngliTa ve cau true liru trtt dii li?u thi dnh x?i nay eung phdi thay d6i tuong umg sao cho so
do quan ni$m (mo hinh d a li^u) khong thay doi.
Anh xg quan ni^m ngoai: La anh dugc xac djnh tuong umg mpt - mOt gitta mo hinh
ngoai cua nguoi sur dyng vdri mo hinh dff li^u.

13
1.1.4. M c tu cia cc h co s d liu

Ngi s dng khi thao lc trn cc c s- d liu khim ir'c lm thav i cu trc lu
tr d liu v chin lc t'uy nhp ti cc h co s d liu. D liu chi c biu din, m ta
mt cch duy nht, cii triic luu tr d liu v cc h choim trnh rni d\m trn cc h CSDL
hon ton c lp vi nhau, khnu ph lluic ln nhau. Vi vv bo m tnh c lp d liu l
mc tiu quan trng CIUI cc h CO' SO d liu. C th dnh n g iia tnh c lp d liLi J "Tl h
hin cu a c c h ih g ch/ny; l i vi s ilhiy (li /ro ig cu r c hrif r V/ chin luc m y nhp d
u \
Khi thay i cu trc lu tr v cc chin lc truy nhp d liu khng ko theo thav
i ni dung ca cc chonu trnh ng cin v ngc li, khi cc chng trnh thay i cLin
khng lm nh hirng n CUI trc lu tr v chin lc truy nhp ca d' liu. Tnh c lp CLa
d liu bo m cho vic biu din ni dung thng tin cho cc thc th l duy nht v bao am
tnh ton vn v nht qun d liu troim lu tr.
Trong cc m hnh d liu nh m hinli d liu quan h, m hinh d liu phn cp v
m hnh d liu mng... th m hnh d liu quan h c s dnt ph bin v c nhiu
ngi quan tm nghiii cu. V n c nhiu u im CO' bn hon so vi cc m hinh d' liu
khc. D liu trong m hnh quan h c biu din cht ch. logic. M t th gii hin thc
mt cch chnh xc, khch quan, ph hp vi cch nhn v s dng cua ngi s dng, V vv
tnh c lp d liu trong cc h CO' S0 d liu quan h cao.
Trong kin trc l c so d' liu (hnh 1. ) tiih c lp d liu c th hin:
C rt nhiu cch nhin d liu m hnli ngoi, ngir'1 s dng khc nhau c cch
nhn d liu khc nhau v cc h ng dng khc nhau c nhiig cch nhn d liu cng khc
nhau, n h n g ch c duy nht mt cch nhin cl liu ' mc quan nim, biu din ton b ni
dung thng tin trong CSDL l cch nhin d' liu tng qut ca Iiiiui s dng. V cng ch c
duy nht mt v ch mt cch biu dien ( S)l. cli dng lu tr vt l.
nh x n m ^ \\\ ni linll trong v m hnh d liu, nhm bo m c
tnh c lp cua d liu, ngha l m u cu trc lu tr cua CSDL thay i, tc l thay i nli
ngha v cu trc liru tr d liu th nh \ ny cng phi thay i tng ng sao cho s d
quan nim (ni hinh d' liu) khng dtic thay i, Tng t nh x ngoi xc nh tng ng
gia mt m hinh ca ngi s dim no vi m hnh d liu. N chuyn i dng biii din
dCr liu lu tr sang dng biu din d liu ni cc ng dng cn n.
Cc h ng dLl^^ klic Iiliau c nhiu khung nhn khc nhau vi d liu nh nhau. Cc
h ng dng c lp vi cu trc lu tr v chin lc truy nhp. Gia chng khng c s rng
buc ln vi nhau. iu ny c ngha l cc h ng dng hon ton c lp vi bt c mt cu
trc lu tr v chin lc tniy nhp d liu c th no. Ngc li cu trc lu tr v chin lc
truy nhp d liu khng ph thuc vo bl k h ng dng c th no.
Ngi qun tr CSF)L phi c kha nng p mg vi mi s thay i v cu trc lu tr
v cc chin lc truy nhp m khng cn bit ti c llrng h ng dng no trn CSDL.

14
N g i Lp trnh N h Qun tr
s dng ng dng phn tch C SD L

iao d i l r ^ /^'cng trrN /'""'BQCong


C mg dng^ dnfu^ v ^ c cu h ^ qun ti_ _ ^

Qun l b nh

H nh 1.2. S k in trc h ting c s d liu.

1.1.5. H qun tr CSDL & ngi qun tr CSDL


H qun tr CSDL DBMS (DataBase Management System) l h thng phn mm iu
khin ton b cc chin lc truy nhp v cu trc lu tr c s d liu. Cc chc nng ch yu
ca mt h qun fr c s d liu:
- M t d liu to lp v duy tr s tn ti ca CSDL;
- Cho php fruy xut vo CSDL theo thm quyn c cp;

15
- C p nht, c h n lliim. loi bo hay sa i d liu m c tp;

- m bo an ton , bao mt d liu v tnh ton vn d liu;


- To cu tric d 1iiu m nu vi m hinh d liu;
- m bo tn h c lp d liu. Tc l cu trc lu tr dCr liu c lp v'i cc trnh ng
dng d liu:
- To mi lin kl gia cc thc h:
- Cung cp cc pho"nL> tin sao lu, phc hi (backup, recoverv):
- iu khin tirng tirainli:

Cc bc thc hii! cua h quan tr CSDL c th tm tl nh sau;


- N g i s d n g diLia ra vu cu iriiv nhp bnt imn imCr con d iii;

- DBMS s t:ip nhn v phn lch vLi cu;


- DBMS xein xt S. ngoi, nh x ngoi, s quan nim, nh x trong,...;
- Thc hin cc thao tc trn CSDL lu trCr.
Cc thnh phn cia mt h TCSDL: Mt h TCSDL thng thng c cc thnh
phn chnh n h sau:

- Ng n n g nh nglia cii liu (Dala Definition Lanmiage);

- Ngn ng thao tc d liu (Data Manipulalion Language);


- Ngn ng truy vn di liu (Query Language);
- B bo c o ( R e p o it Write);

- B ho (iGraplhics (enerator):

- B giao t i p ign rgi chu ( losi Language liUcrface):

- Ngn ng t-hu tc (Procedure l.anguage):

- T in dir liu;
- B pht siiiih ni d nu.

Ngi qiii Iir (\S'/D l inl Iigiii hay mt nhm U c kha n n g ch y n mn cao
v c n g ngh tin h)C. c xrch inhim quan l v iu khin ton b hot n g cu a cc h C'SDL.
V vy ngi qun tr CSDL cn phi t ra cc hnh thc, quv nh cho ngi s dng nhm
ngn chn vic truy !nhp tri php vo cc h CSDL. Ngi qun tr CSDL c th cho php
ngi s d n g nhCirng quyn truy nhp nh ch c ph p c, c mt phn, c th sa, b
s ung mt phn...

Nri ciam Ir ( 'SDL c s nli V chinh:


- Xc nlh thc thc; v ni dung thn^i tin cn lu tr. Xc nh SO' quan nim p
ng yiu tcii truv nhp cua Iigiri s dng.

- Quyt nll cu tnc lu tr v chin lc truy nhp; Ngi qun tr CSDL phi xc
nh ciclii tlic biiu din d liu nh ni t cu trc lu tr trong, m t cu trc lu

16
tr vt l. X c nh m hnh di liiK nh n e h a nh x gira cu trc lu tr v SO'
ngoi.Thc hin cc chin lc lu tr. quan l h thng.
- Ngtri qun tr CSDL phai to mi tririm iao tip gia ngi s dng vi cc h
CS3L, v s ngoi cho ngi s dng l cch nhn d liu tng ng vi ngn
ngCr con d liu thch hp, nn ngi qun tr CSDL phi cung cp s quan
nim, cc nh x, v cu trc lii tr. Kim sot thm quyn truy nhp ca ngi s
dng v bo m quvn tm v nhp ca h.

)uv tri cc tiu chtin thng nht v cc thu tc lu tr v cu trc lu tr\ biii din
thng tin v cc chin lc truy nhp. Kim sot v kim tra tnh ng n ca cliT
liu. p d n g c c bin ph p an ton, an ninh d liu.

- Xc nh chien lc lu tr, sao chp, phc hi... trong cc trng hp h hng do


sai st, hoc trc trc kv thut.

1.1.6. R n g b u c d liu

Gia cc thc th d liu tn ti cc mi quan h, rng buc ln nhau. Cc rng buc


ny chnh l tp cc q u y tc, q u y nh yu cu d liu tr o n g CO' s d liu phi tho mn. Mc
ch xy dng cc rng buc d liu l nhm bo m tnh c lp v tnh ton vn d liu. D
liu lu tr trong c s d liu lun liin hin thc khch quan, khng tha thiu thng tin,
khng mu thun t h n g tin. C c h c s d liu cn phai c cc CO' c h cho vic m t cc rng
buc v qun l cc rnti buc c m ta.
C rt nhiu loi rng buc. Rng buc v kiu, rng buc gii tch, rng buc logic...
l cc khi nim v ph t h u c hm, ph thuc a tr, ph thuc kt ni.
Rcwg hic kir. Loi rng buc thp nht, m t tnh cht ca cc thuc tnh khi to
lp ('SDL. Ngoi tn CLa thuc tnh, thuc tnh kiii gi, chui k t, kiu s, kiu ngy, kiu
logic... v di l bao nhiu. V d thuc tnh S in thoi" l kiu chui k t ng bng 7
k t Irong xu. H thng s khng chp nhn, neu nhp vo CSDL mt s in thoi kiu so
hoc kiu xu nhirng cha hoc vt qu 7 k t. Phn ng ca h thng hoc l a ra
thng bo ''D' liu khng hp l , hoc ct i nhng k t tha.
Rng hic gia i [ch: L nhng rng buc gia cc thuc tnh c biu dii bng cc
biu thc ton hc. V d khi nhp s lirng" v '"tyn gi" ca mt mt hng, h thng s t
n g tnh gi tr cLa t h u c tnh th nh tin" theo c n g thc "s l n g " nhn vi " n gi" bng
"thnh tin". Hoc nh gi nng lc hc tp cua Iil em hc sinh, khi nhp gi tr im trung
binh" cua tng em vo h thng , h thng t ng nh gi em c nng lc hc tp l
"km", 'Irung b inh '\ hay "gii".
Ri buc logic: Mi quan h giCra cc thuc tnh vi nhau khng phi l cc rng buc
gii tch, c gi l ph thuc hm. Thuc tnh Y ph thuc hm vo thuc tnh X, ngha l
mi mt gi tr c u a X xc nh gi tr cua Y. V d nu gi tr ca s in thoi c th xc .nh
cc thng tin v tliuc bao c s in thoi . Nhing rng buc logic c th l nh \ mt
mt lioc ml nhiu.

17
L 1.7, C c m h n h tru y x u t d liu

Truy nhp v khai thc cc h c s' d liu tr thnh phuong thc ph bin tro ng cc
ng dng ca h thng tin hc, c bit trn cc mng Internet/Intranet. Chuyn ti t h n g tin t
cc h c s' d liu ln mng di dng ngn ngCr nh du siu vn bn HTML (HvperText
Markup Language) hoc bng cc ngn ng khc nhm cung cp cho dch v World Wide Web
a dng v phong ph thm. Truy nhp v khai thc cc h c SO' d liu i hi phai nghin
cu, gii quyt mt s vn v k thut lp trnh mng, lp trnh CO s d liu n g trn cc
mi trng Internet v Intranet.

L L 7.L M hnh c s d Uu C lient S erver


Mt trong nhng mc tiu khi kt ni cc my tnh thnh mng l chia se cc ti ngiivn
thng tin. Mt my ch cung cp cc loi dch v cho nhiu my khch th n g qua mi tr u n g
mng. My ch v my khch u tham gia qu trnh x l, v vy m hnh Client - Server 2 lp
tr nn ph bin. Cc my khch (Clients) chia s gnh nng xlY l ca my ch trung tm. Khi
my khch thc hin cc ng dng, n gi yu cu v my ch c kt ni vi c s d liu,
my ch x l v gi tr li kt qu v my khch.
Trn cc my ch, thng c ci t cc h c s d liu bao gm cc bng biu,
cc th tc lu tr... v iu khin cc tin trnh sau:
V Qun l d liu.
V Bo mt d liu.
V Thc hin truy vn, rng buc v cc th tc lu trCr.
V iu khin li.
Cc tin trnh c thc hin trn m y khch:
V To giao din ngi s dng (User Inteface).
Tng tc c s d liu ( Database Interaction):
V Cp nht d liu: thm, sa v xo d liu.
V iu khin li.
Tuy nhin m hinh ClienServer vn cn Iihiu bt cp:
V M hinh ClienServer 2 lp c hiu qu cao vi cc ng dng nh v s
lng ngi s dng hn ch. Khi nhiu my khch (Clients) kt ni truy
nhp vo c s d liu thi nng lc qun l v K l ca my ch (Server)
s b gim xung, tc x l chm.
V Nhiu kt ni d liu phi c duy tr.
V M ngun khng c kh nng dng s dng li. Mt ng dng tn ti trong
nhiu khi m ngun khc nhau c ci t trn my khch, V vy khi c
s thay i m ngun ngi ta cn phi ci t li trn tt c my khch,
iu ny rt kh c th thc hin c.
V Khng c lp trung gian iu khin s bo mt v cc giao dch gia my
khch v my ch.

18
Databas
M ain Frame Computer

Client
Hinh 1.3. M hinh C lient - Server 2 lp.

1. Trinh duyt Browser gi yu cu cho Web Server.


2. Web Server tr kt qu v cho trnh duyt.

L L 7.2, M hnh C ien Server n h iu lp


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

19
Tm li, c trng ca m hnh tnh ton phn tn l cc ti nguyn ca mng nh thit
b phn cng, chng trnh, d liu c phn tn theo a l trn mng. Ngi s dng c th
truy nhp khai thc trc tuyn hoc v khai thc tomg tc d liu t xa.
Hnh 1.4a v 1.4b, m t cc loi m hnh Client-Server 3 lp.

Database
Server

Hnh 1.4a. M hnh client server 3 lp c s dng M iddlew are server.

Applicaation

Hnh 1.4b. M hnh client server 3 lp c s ng A pp lication server.

Hnh 1.4a c s dng Middleware server vi mc ch qun l v iu khin cc tin


trinh tng tc ca h thng. Ngha l s dng Middleware server iu khin v quan l
nhiu kt ni ng thi truy xut CSDL ca cc frm u cui. Trong cu trc loi 3 lp nh
hnh 1.4b, s dng Application server h tr cho mt s tin trnh ng dng c th nh truy
xut ghi, cp nht c s d liu chng hn.

1.1.7.3. K thut lp trnh c s d liu - Web ng


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

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

Dit4ibajC

Database
Server

Client

Application

Hnh 1.5. M hnh client server nhiu lp.

CGl (Common Gateway Interface) h to ra nhng ang Web tu bin theo


yu cu t my khch gi n.
ISAPI (Internet Server Application Progamming Interface) cho php lp trnh ng
dng trn my ngi s dng Web dui dng mt th vin Hn kt ng cm (Dynamic Link
Library) c np cng lc vo b nh. Cc ng dng ca ISAPI thc hin nhanh hn cc ng
dng ca CGI.
IDC (Internet Database Connector) l mt ng dng ISAPI, h tr ca IIS (Internet
Information Server) truy nhp CSDL qua ODBC kt ni CSDL trn Internet. Vi cng ngh
ASP (Active Server Pages) cho php lp trnh theo dng kch bn to nhng ng dng c tnh
tng tc v hiu sut cao khi truy xut c s d liu frn my ch.
JDBC (Java DataBase Connectivity) h tr lp nh mng truy xut CSDL bng ngn
ng Java. Cho php ngi s dng u cui uy nhp vo cc h CSDL bng MS SQL Server,
MS Access, Oracle, hay bng ngn ng truy vn SQL...

1.1.7.4. Kin trc h thng Server (Server System Architecture)


H thng kin trc Server bao gm Server giao tc (Transaction Server) v Data Server.
Giao tc Server: Cng c gi l Query Server, cung cp giao din cho cc trm khch
(Clients) c th gi cu hi v yu cu thc hin v gi li kt qu. Yu cu c th biu din
bng ngn ng SQL hoc bng giao tip trong nh ng dng.

21
Tin trnh Server (Server process): Tin trinh nhn cc yu cu t cc my trm
clients, thc hin yu cu v tr li kt qu cho cc my trm. Cc yu cu ca my trm c
nhn t giao tip ngi s ng hay t tin inh ngi s dng c nhng ong SQL, JDBC
hay trong cc giao thc tng t.
Lock manager process: y l tin trinh kho cp quyn truy nhp c s d liu ca
tin trnh qun tr CSDL cho ngi s dng.

1. User click
Hyperlink 2. Browser gi yu cu n web server

----------------------------- :---------
8. I 7. Web server tr kt qu v Client
Hit n th
kt 1 '
6 . 3.
Tr v Web Server
ang Web yu cu x l

CGI

5. 4.
Kt qu Truy xut
truy xut & x l

Database

Hnh 1.6. C ch lm v ic ca mt ng dng CGI.

Database writer process: Tin inh cho php c d liu vo bnh ph v c


php sa i, sau c php cp nht tr li CSDL.
Log writer process: Tin trnh nht k theo di qu trnh c, sa i vcp nht
li d liu ca tin trnh Database writer process.
Checkpoint process: Tien trnh kim sot nh k khun dng trinh by .
Process monitor process: y tin trnh gim st cc tin nh khc, nu pht hin
mt tin trnh no y b li, n yu cu ngt v thc hin li.
Server d Hu (Data Server): Cho php Clients tng tc vi Server bng cc thao tc
c hay cp nht d liu. V d nh File Server cung cp giao in h thng file cho cc my
m clients c th thc hin to file, cp nht d liu, c d liu hay xo d liu.

22
Hnh 1 . 7. K in trc h thng Server.

1.1.7.5. Cc m hnh kin trc ng dng

Client

Server

a. Kin trc 2 lp b. Kin trc 3 lp


Hnh 1.8. Kin trc ng dng 2 v 3 lp.

1.2. CC M HNH C S D LIU


Trong chcmg I gii thiu mc tiu ca cc h c s d liu l tnh c lp v tnh
ton vn ca d liu. Trong chcmg ny gii thiu cc phng php tip cn m hnh d liu:
m hnh c s d liu mng, phn cp, c s d liu quan h v m hnh thc th quan h. C
s so snh, nh gi mt CSDL tt a vo cc mc ch xy dng h thng, c s d liu
hng gi tr hay hng i tng, tnh d tha v gii quyt tt mi quan h nhiu - nhiu.

23
M hinh d liu.
M hinh CSDL phn cp.
Cu trc biu din d' liu phn cp.
M hnh CSDL mng.
Cch tip cn m hnh CSDL qian h.
M hnh thc th quan h.

1.2.1. M u

S Cn thit t chc lu tr d liu theo mt cch thiYc xc nh v cht ch dn n


s pht trin cc m hinh dCr liu. T nhCmg m hnh mng, m hnh phn cp v m hinh d
liu quan h l nhCrng m hinh C0 s d liu kinh in, truyn th n g c h o n c c m hnh c s'
d liu phn tn, c s dfr liu hng i im...l nhng m hnh d liu hin i c p
dng nhiu trn th trng hin nay.
i tng nghin cu cc h CSDL l cc thc th v cc mi lin kt gia cc thc
th. Mt m hnh C SD L phi c kh nng biu din thc th v lin kt gia cc thc th. Cc
lin kt l mt dng c bit ca thc th. Cc cch tip cn CSDL l cc cch nhn v cc cch
biu din lin kt ca ngi s dng.
Nghin cu m hnh CO' s dir Hii da (r cc vi cu sau:
1. M c tiu c lp d liu: Phi xc nh r rng cc kha cnh logic v kha cnh vt
l ca vic qu n tr c s d liu, bao g m vic thit k cc h c s d liu, cc t hao tc v tm
kim d liu bng cc cng c ngn ng con dir liu.
2. Mc tiu trao i: M hnh d liii on gin v cu trik, sao cho ngi s dng c
cch nlin tro ng sut khi truy nhp vo cc h co S0 d liu v c kh n n g tra o i vi nhau v
c s d liu.
i. M c tv x tp: Ngi s dng c th s dng ngn ng bc cao biu din cc
php ton trn cc mng thng tin, k thut x i theo l (batch), m khng phi x l tun t-
theo tng bn ghi.
4. M hnh c xy cnig rn a r s l ihuy vCmg chac. ch ch.

1.2.2. M h n h d liu (D ata Mdel)


Mt m hinh d liu l mt h tling hnh thc ton hc, bao gm:
- H thng cc k hiu biu din d liLi.
- Tp hp cc php ton thao tc trn co s' d liu.
c trng ca mt m hnh d liu:
- Tnh n nh khi thit k m hnh d liu.
- Tnh n gin c ngha l d hiu v d hao tc.
- Tnh d tha cn phi kim tra k liring.
- Tnh i xng phi c bo ton.
- C c s l thuyt vng clic.

24
L 2 .2. L P h n b it g i a cc m hnh d liu
T chc d liu theo m hnh no l tt nht. Thc t cha c m hnh d liu no l tl
nht. Tt nht ph thuc vo yu cu triiv xut v khai hc thng tin cua n v qun Iv n. N
x s dng u v vo lc no l tt nht. Tuy nhin, thng ngui ta da vo cc tiu ch
sau ni rng m hnh d liu tt nht khi:
1. M c ch: Phn ln cc m hnh d liu s dng h th n g k hiu biu din d'
liu v lm nn t n g c h o cc h n g d n g v ngn ng' thao tc di liu. Cc m hnh t hc th
quan h k h n g c h t h o n g k hiu xy d n g cc php ton thao tc d iiu. m s d n g
thit k lirc khi nim, ci t tro ng mt m hnh d liu vi mt h qun tr CO s dfr liu
no .
2. H ng g i tr hay hng i tng: Cc m hnh d liu quan h v m hnh logic l
cc m hnh d liu hng gi tr. Trong cc m hnh d liu hng gi tr c tnh khai bo
(declarativeness) v c tc n^ n cc ngn ng irc n h tr. Cc m hinh mng, phn
cp, m hinh d liu hirng i tng cung cp c tnh nhn dng i tng, nn c th xem
chng l cc m hinh hng i tng. M hinh thc th quan h cng c c tnh nhn dng
hng i tng.
3. Tinh d tha: Tt c cc m hnh d liu u c kh nng h tr lu tr d liu vt
l v hn ch s d tha d liu. Tuy nhin cc m hinh d liu hng i tng gii quyt s
d tha tt hon. bng cch to ra v s dng con tr tr n nhiu v tr khc nhau.
4. G iai civ m oi tiun h nhiit - nhiu: Phn ln trong cc ni hinh c s d liu c
cha cc moi quan h nhiu nhiu, mt nhiu hay quan h nit mt. Mt quan h c nhiu
phn l cua cc quan h khc v ngc li. Tuy nhin trong m hinh d liu mng khng chp
nhn mi quan l nhiu - nhiu.

1.2.2.2. C c It th n g C SD L i t ng v tr hc
C s dr liu hng i tng v h qun tr hng i tirim (Object Oriented
Database management Systems - o o DBMS) m t cc kiu d liu c xy dng bng
phng php to bn ghi v to tp hp. Cc quan h c xy dng t cc b bng thao tc to
mt tp h p cc bn ghi c khun dng thng nht.

Che du c liu (Encapsnlatior): Ngha l khi c yu cu truy xut n cc i tng


thuc kiu c bit, phi qua cc th tc c nh ngha cho cc i tng . Chng hn
nh ngha slack nh l mt kiu v nh ngha cc thao tc PliSH, POP p dng clO stack.

c tnh nhn dng i tng (Obect Indenlitv) l kh nng phn bit cc i tng .
Ngha l cu trc cc kiu c ban nh nhau. Cc kiu c bn l chui k t, s.

1.2.3 . M h n h C S D L p h n cp (H ierarch y D ata M o d e l)

L 2.3.1, C u tr c biu din d liu ph cp


Trong m hnh CSDL phn cp, d liu c biu din bng cu trc cy. Mt CSDL
phn cp l tp cc cy (rng cy). Trong mi mt cy ch cha mt v ch mt xut hin ca
bn ghi gc, gi l bn ghi nh, v diri n l tp cc xii hin ca cc bn ghi ph thuc. Cc

25
bn ghi ph thuc c th l tu hoc khng tn ti. Mt bn ghi gc c th co nit s bt kv
c c bn ghi ph th u c v c c bn ghi ph thuc c th c m t s c c ban ghi ph thuc mc
thp hon... Hnh 2.1 biu din mt m hinh CSDL phn cp v tuvn cp v cc loi cp. D
liu c biu din bng 4 cu trc cy on gin, trong gc l xut hin kiu bn ghi loi cp
bao gm cc thng tin m cp, tn cp. s ln. m mrc san xut. tn nirc sn xiil. Cc ban
ghi ph thuc l kiu cc bn ghi cc tuyn cp c lp t cc loi cp . bao m cc thim
tin v so hiu tuyn cp, tn gi tiiyn cp. di v ngy lion ihnh vic \> dng tuyn cp
. N h vy cc bn ghi UOC l cc kiu ban nhi v c c l(ii c p irc lp t v cc ban uli
ph thuc l cc bn uhi v thng tin cc tuyn cp.
Theo nh ngha, khng th c cc bn ghi ph thuc m khng tn ti bn ghi gc,
ngha l khng th tn ti cc loi cp m cha c lp t trn mt tuyn no c. Nh vy c
th tn ti cc loi cy va c xut hin ca bn ghi gc v cc bn ghi ph thuc, ngha l mi
mt loi cp c th c lp t trn nhiu tuyn cp khc nhau v trn mt tuyn cp c th c
nhiu loi cp khc nhau c lp t. C loi cy chi tn ti bn ghi gc thoi ho, di n
khng tn ti bn ghi ph thuc, ngha l c t nht mt loi cp cha c a vo lp t s
dung. Theo nh ngha, khng tn ti loi cy ch c cc bn ghi ph thuc m khng c bn
gc, tc l trn mi tuyn cp phi c t nht mt loi cp. iu g s xy ra khi trn mt tuyn
no c duy nht mt loi cp b hu b.

. 2.3.2, N gn n g th o tc trn CSDL p l n cp


Biu din ph thuc trong m hnh phn cp: Cc ng ni t bn uhi gc tro xiinu
cc bn ghi ph thuc, hay t bn ghi cha tr xung bn ghi con biu din mi quan h ia cc
bn ghi trong m hnh phn cp. V d tro ng bn ghi "Pliiii xiit k h o " c th xc nh irc m
v n gi ca cc loi cp.
Chn thm: Trong cu trc hnh cy, c ml v ch mt xii hin bn ghi gc, tc l
bt buc phi c xut hin bn ghi v cc loi cp. Nu mun lu tr thng tin v nit luyen cp
mi vo C S D U th iu Iiy khng th thc hin c, v khng ih thm thng tin v cc xut
hin kiu bn ghi ph thuc (thng tin v cc tuyn cp) vo CSDL phn cp khi clura c thnu
tin v cc loi cp.
Loi b: Trong mt s cu trc cv d liiu thng tin v mt vn Iio y irc
cha trong mt xut hin kiu ban ghi ph thuc duy nht thi khi loi bo s lii mt thng tin v
vn trn. V d khi loi b loi cp M04 trn tuyn T03, s ko theo thng tin v tuyn cp
T03 b mt v thng tin v cp mang m hiu M04 cng b mt lun, Nh vy c th xy ra hin
tng mt thng tin v cc tuyn cp hoc thng tin v cc loi cp khi thc hin cc thao tc
loi b.
1. Bn ghi gc: M cp, tn cp. s lno- m nirc sn \ u t v n nc san xut.
2. Bn ghi ph thuc: M tuyn, di tuyii v ngy lp t cp.
Sa i; Neu cn phi sa i mt s thiig tin trong cc xut hin kiu bn ghi ph
thuc th phi duyt ton b m hnh d' liu, bng cch phi d tm trong tng xut hin. Nh
vy kh nng d tm khng ht c th xy ra, s dn n s xut hin mu thun thng tin v
khng nht qun d liu trong lu trr. V d cn thay i tn gi ca cc tuyn cp hoc tn gi

26
cc loi cp, nu s cc xut hin kiu bn ghi loi ny rt ln, kh nng duyt st vn c th
xy r a , ngha l mu thun thng tin, khng nht qun thng tin s xy r a .

MOI Loi 10 di VNA Vit Nam

TI 10 21/10/1996
T2 29 31/12/1999

M02 Loi 20 i 1,5 HQA Hn Quc

TI 10 15/07/1982
T2 18 15/09/1998
T4 4 01/05/1980

M03 Cp ng trc ~3 NGA Nga

TI 15 20/01/1981
T4 8 27/09/2000

M04 Cp s i quang I 4 LDA I VN-HQ

T3 10 03/09/1999

Hnh 1.9. D liu biu din di dng phn cp.

Cc php tm kim: Cc xut hin ca cc bn ghi ph thuc ch tn ti khi v ch khi


tn ti xut hin kiu bn ghi gc.
V d Q l: Tm s hiu ca cc tuyn Q2; Tm s hiu cc loi cp

c lp t cp MC#="M02". lp t trn tuyn TC#= "T02".

Bn ghi gc: MC#="M02" Next: Khng cn bn ghi gc: Thot


Khng tim thy: Thot Khng tm thy TC#="T2"
In TC# Goto Next
Thot Tm thy: In MC# Goto Next
Cc truy vn thng i xng nhau nhng kt qu ca cc php tm kim khng i
xng. V vy trong cu trc lu tr ca m hinh phn cp rt hn ch khi thc hin vic tm
kim thng tin. N u CSDL phn cp cng ln thi tnh phc tp cng cao. Gy nhiu phc tp
cho ngi s dng, nht l i vi lp trnh vin phi mt nhiu thi gian cng sc lp nh
v bo tr, hiu chnh cc chng trinh.
Tm li, thng tin t chc lu tr theo m hnh phn cp c biu din d liu ong
mt tp duy nht theo cu trc cy. Trong mi mt cy, tn ti mt v ch duy nht mt xut

27
hin kiu bn ghi gc v cn;> vi n c mt tp cc xut hin kiu bn ghi ph thuc. Khi thao
tc trn CSDL phn cp bng ]^^n ng ihao c d liu, c nhiu kh nng xy ra tha hoc
thiu thng tin, mu thun thim tin dn n s khng nht qun cl liu trong liru tr. Tnh ton
vn ca d liu khng 'c dam bao. Cc cu hoi - p. tim kim khng c tnh i xng. Tnh
c lp ca d liu b vi phm. Tnh n nh khnu cao.

1.2.4. M h n h C S D L m n g (N etw ork D ata M o d el)

1.2.4. L C u tr c biu din d Hli m ng


M hnh d liu mnu l m hnh thirc tl quan h. Ironu cc mi lin kt b hn ch
tront kiii mt - mt v nhiii mt. Troim m hnh CSDL mnu, d liu c biu din trong
cc bn ghi lin kt vi nhau bng cc mi ni lin kt (link) to thnh mt tli c hng.
CSDL mng c cu trc tng qut hn so vi cu trc CSDL phn cp. Mi mt xut bin ca
mt bn ghi c th c rt nhiu cc xut hin kiu bn ghi trn n v cc xut hin kiu bn ghi
di n. Ngoi cc kiu bn ghi biu din d liu cn c kiu bn s;hi cc phn t kt ni. biu
din s kt hp gia cc biu din d liu. Cho php m hnh ho tng ng nhiu - nhiu.
Hnh 2.2 bieu din mt m hnh CSDL mng v cc tuyn cp v cc loi cp c lp t.
Ngoi cc xut hin kiu bn ghi tuyn cp v cc xLit hin kiLi cc bn hi cc loi cp cn c
cc xut hin kiu cc bn ghi v cc plin ti kt ni l cc phn t s ng. Cc phn t
ny kt ni tuyn cp v cc loi cp l thng tin v tnh hnh lp t. So' T l > 300 > MOI
ch ra rng tuyn TI c 10 cp MOI, T l - > 1 8 - > M02 c ngha l TI c 18 cp loi c m s
l M02...
M n g c h a hai kiu thc th: Trong mi mt tuyn cp. c nhiu loi cp khc nhau
v'i s lu n g khc nhau. Mi mt loi cp c tl c ml trong Iihiii ttiven cp khc Iihau. Kiii
bn ghi s liro'ng c chc nng iii kt hai kiu ban uhi luyen cp v cc loi ep. Mi mt xut
hin kiu bn ghi s lnu biu din mi lin kt gia cc bn nh tuyn c p v'i cc bn ghi loi
cp. Thil lp mi lin kt gia mt luyn cp v iTt loi cp sao c ho mi xut hin t n g ng
ca s l n g u c m t trong xut hin cc uyn cp v loi cp. V d tuyn cp ' ' T r ' v loi
cp m M O r c mi lin kt vi s lng l 10. ' T 5 " v M 0 7 ' ' kh n g c mi lin kt, iu
nv c ngha l loi c p M 0 7 ' chira c ml rong ml tuycn no c v tuyn T 5 " ch a c mt
loi cp no c lp t.
Mng c h a hn hai kiu thc th: Un kl n kiu tlrc th biu din bng mt kiu
bn ghi lin kt n kiu bn ghi vi nhau. Mi xut liin cua bn ghi lin kt s l thnh vin
ca ng mt xut hin ca mt trong s n kiu bn ghi. Nh vy s biu din mi lin kt n
thc th tng ng. V d thm mt kiu thc th iT i i - on v thi cng tuyn cp. C th mt
n v thi cng nhiu tuyn cp v troim mt tuyn cp c nhiu o'n v thi cng. Thm kiii
thc th ngy nhp kho (NHAP) cua cc loi cp reVc klii a vo s dng hoc a thm
thng tin v hng sn xut...
Mng ch cha mt kiu thc th: Tn ti CO' s' di liu ch cha mt thc th. V d
C s d liu cha thng tin v ph tng v linh kin, trong mt linh kin t n c th l mt
ph tng v t n c th cha cc ph tng khc. Nhir vy mng c s d liu ch cha duy nht
mt kiu bn ghi ph tng. V mi mt ph tng li c th l t hp ca mt s chi tit thnh
phn, li va c th l thnh phn cua cc t hp klic. Nh vy CO' s' d liu mng c hai thc
th, hai kiu bn ghi nhng thc chl ch l ml.

28
T5 1 01/05/2002 M05 1 VinaSung 4 LDA Lin doanh

Hnh 1.10. C ch tip cn C S D L kiu m ng.

29
L 2,4.2, N g n n g d liu thao tcc trn CSDL m n g
Chn thm: Khi thm cc cc kiu biin uhi mi. c th con tr (mi ni) t tr vo n.
V d, c chn tlm cc thng tin xut hi'ii ban uhi VC tuyn cp hoc xut hin kiu bn ghi v
cc loi cp m cha c trong CSDL v cha c cc ban ghi kt ni, ngha l cha c thng tin
v cc loi cp c lp t, nhng m hinh CSDL mng vn m bao c lnh nht qun ca
d liu v tnh ton vn ca dir liu.
Loi b: C th loi b cc xut hin kiu bn ghi d liu v xut hin kiu bn ghi
kt ni trong m hinh CSDL mne m khns anh hng ti tnh nht qun v tnh ton vn d
lu. C th Ko mt loi cp no khi khng cn s dng. V d cn xa bo 8 cp M04 trong
TI bng cch xo b cc con tr gia T v 8; giiTa 8 v M04 m khng lm mt thng tin,
khng xut hin d thng thng tin.
Sa i: C th sa i ni dung di liu m khng cn duyt qua m hnh v cng
khng lm xut hin mu thun d liu.
Cc php tim kim: Cc cu hi oi xng v kt qu ca php tm kim CLing i
xng vi nhau nh trong m hinh CSDL quan h.
V d QI : Tm s hiu ca cc tuyn 2: Tim s hiu ca cc loi
cp c lp t cp MC#="M02". cp trn tuyn TC#=T 0 2

Bn kt ni: M C#-M02 Bn kt ni: T C # -T 0 2


Khng c kt ni: Thot Khng c kt ni; Thot
In CU Thot [|1 MC# Thot
M hinh CSDL mng ^ m hnh i xng, v vy cc cu hi v kt qu cc cu hi
tim kim thng i xng vi nhau. Khi thc hin cc php lu tr nh chn thm, loi b hay
sa i d liu trong m hnh CSDL mng van bo m c s nht qun ca d liu v tnh
ton vn ca d liu. Cch tip cn CSDL mng l phong php biu din d liu trong cc tp
theo cu trc d liu cht ch. C'c xut hin kiu ban ghi c kl ni vi nhau bng cc xut
hin kiu bn ghi lin kt. Khi thao tc cc php cp nht k h n g xut hin cc d t h n g thng
tin. Tuy nhin cu trc d* liu trong m hinh CSDL mng qu phc tp v qu nhiu lin kt
gi a cc xut hin d liu vi nhau bng cc xiit hin kt ni. V vy vic thit k v ci t c
s d liu m n g th n g rt kh khn, nht l xy d ng c c php ton th ao tc trn n.

1.2.5. C ch ti p cn m hnh CSDL quan h

Khi nim ton hc l thuyt tp hp l nn tng xy dng l thuyt m hnh d liu


quan h. tp con ca tch cc ((Descartes) ca danh sch cc min xc nh (Domain).
Min l tp cc gi tr, l kiu ca d liu. Chng hn, tp cc chui k t s c chiu
di chnh xc l 7, l min ca ca thuc tnh in thoi. Tch e cc ca cc min A , A
c biu din:
A| X A 7 X...X A (ai- a . ..... a,) j a, c A i I n j.

30
Quan h (Relation) l mt tp con ca tch cc ca mt hoc nhiu min. S ngm
hiu quan h l hu hn. Cc phn t ca quan h gi l b (3|, a2, - , 3n), c n gi tr thnh phn,
hay c gi n_b.
Khi nim tp n_b khng phi l khi nim duy nht i vi l thuyt c s d liu
kiu quan h. Nu gn tn thuc tnh cho cc ct, khi th t ca cc ct l khng quan trng.
V vy c th xem cc b nh l nh x t cc thuc tnh n tp cc gi ca min
xc nh cc thuc tnh. nh x n c nh ngha nh sau:
i : n = { A i , A2,..., An} -* Q

Khi q u an h ltp n _b : {^ (A ,), ^(A)} = {(a l, a2,.. a)}.


Nh vy, "C s d liu quan h" c th hiu l d liu c ngi s dng nhn di
dng mt quan h ton hc v cc php ton thao tc d liu c xy dng n cc cu trc
quan h ton hc. Mt quan h l mt bng v mi bng l mt cu c quan h ton hc.
Ni cch khc, c s d liu quan h c biu din di dng cc bng, gm cc ct l
thuc tnh v cc hng l tp n gi trj ca thc th, i tng c cu trc, cu trc d liu quan
h l mi lin kt gia cc b c biu din duy nht bng cc gi tr d liu trong cc ct
c rt ra tr min chung. Gia cc thuc tnh c mi quan h rng buc ph thuc ln nhau
v cc ph thuc cng l cc thc th c bit.
V d: Quan h v tuyn cp - cc loi cp - nht k lp t
TC#: M tuyn cp, TC: Tn gi tuyn cp, DAI: di tuyn cp,
NGHT: Ngy hon thnh tuyn, MC#: M cp, MC: Tn gi cp, GIA: Gi cp,
N#: M nc sn xut, NSX; Tn nc sn xut,
a) Thng tin v cc loi cp lp t n cc tuyn cp:

TC# MC# SL NG

TOI MOI 10 21/10/1996


TOI M02 20 15/7/1982
TOI M03 15 20/1/1981

T02 MOI 29 31/12/1999


T02 M02 18 15/9/1998
T03 M04- 10 3/9/1999

T04 M02 4 1/5/1980


T04 M03 8 27/9/2000

31
b) Thng tin v cc tuyn cp:

TC# TC DAI NGHT

TOI H Ni - Hi Phng 120 km 1/2/1980

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

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

T04 H N i-H Ty 15 km 31/12/1979

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

MC# NC GIA N# NSX

MOI Loi 10 i 1,0 VNA Vit Nam


M02 Loi 20 i 1,5 HAQ Hn Quc
M03 Cp ng trc 3,0 NGA Nga

M04 Cp si quang 4,0 LDA Lin doanh VN-HQ

32
C H N G II

C S D LIU PHN TN

Vi vic phn b ngy cng rng ri ca cc cng ty, x nghip, d liu bi ton l rt
ln v khng tp trung c. Cc CSDL thuc th h mt v hai khng gii quyt c cc bi
ton trong mi trng mi khng tp trung m phn tn, song song vi cc d liu v h thng
khng thun nht, th h th ba ca h qun tr CSDL ra i vo nhng nm 80 trong c
CSDL phn tn p ng nhng nhu cu mi.

2.1. H C S D L I U P H N T N

2.1 .1 . n h n g h a C S D L p h n tn

C s d liu phn tn ni ring v cc h phn tn ni chung l mt lnh vc c


nghin cu t lu nhng gn y do s pht trin nhanh chng ca cng ngh truyn tin v s
bnh trng ca internet. C s d' liu phn tn tr thnh mt lnh vc thu ht nhiu s
quan tm ca cc nh nghin cu.
v mt trc quan theo ngha en ca cm t c s dCr liu phn tn cha hai cm t: Co
s d liu v phn tn.
Tuy nhin, vic phn tn y chng ta hiu l phn tn thng tin v cc thng tin
c lu tr trn mng my tnh. Do vy:
C s d' liu phn tn " C s d liu I Mng my tnh

33
Nh vy, chng ta c th ni c s d liu phn tn lS' hp nht ca hai hn tip
cn i vi qu trnh x l d l i u l CO' s' d li u v n i n niy tnh.
Mt CSDL ph n tn ( mt tp hp nhiu CSDL f lin i lo c v c phn h
ri rc trn nhiu my trong mt mng mv tnh
Tnh cht phn tn: Ton b d liu cua CSDL phii tn khng c lu trr ' mt noi
m c tr trn nhiu my trm thuc mng my tnh, iu ny gip cluing ta phn bit CSDL
phn tn vi CSDL tp trung on le.
Tng quan logic. Ton b d liu ca mt CSDL phn tii c mt s cc iuc tnh rng
buc chng vi ahau, iu ny gip chng ta c th phn bit mt CSL phn tn vi mt tp
hp CSDL cc b hoc cc tp c tr ti cc v tr khc nhau trong mt mng my tnh.

Trm 1
S ----- ^
1 ^ /
Trm 5
Trm 2

M ng tm yn d liu

Hnh 2.2. M i trng h CSDL tp trung.

Trong h thng c s d liu phn tn gm nhiu trm, mi irm c th thc hin cc


giao tc truy nhp d liu trn nhiu trm khc.
V d 2 .: Vi mt ngn hng c 3 chi nhnh t cc v tr khc nhau. Ti mi chi
nhnh c mt my tnh iu khin mt s my k ton cui cng (Teller terminal). Mi my
tnh vi c s d liu thng k a phng ca n ti mi chi nhnh c t mt v tr ca c
s d liu phn tn. Cc my tnh c ni vi nhau bi mt mng truyn thng.

34
Hnh 2.3. M hnh c s d liu ngn hng phn tn.

2.1.2. Phn loi c s d liu phn tn


Nhn chung, c s d liu phn tn c chia thnh hai loi sau:

(1). Cff s d liu phn tn thun nh


C s d liu phn tn thun nht l loi c s d liu c thit k bng cch chia nh
c s d liu phn tn thnh nhiu c s d liu a phng. Cc c s d liu a phng
c nh v ti mt frm v u c qun tr bng mt h qun fr. => thc hin n cng mt
h iu hnh.

Hnh 2.4. T hit k c s d li u phn tn thun nht.

35
(2). C s d liu phn tn khng thun nht
C s d liu phn tn khng tluin nht l loi CO' s d liu c thit k bng cch
hp nht nhiu c s d liu a phona hin c v ang hot ng thnh mt c s dCr liu
phn tn duy nht. Cc c s d liu a plurong c th uc qun tr bng cc h qun tr ccr s
d liu khc nhau v h iu hnh khc nhau.

H rh 2.5. Thit k c s d liu ph n t n k h n g th u n nht.

2,1.3. C c c im chnh ca c s d liu p h n tn

(1) Chia s i nguyn


Vic chia s ti nguyn ca h phn tn c thc hin thng qua mng truyn thng.
e chia s ti nguyn mt cch c hiu qu th mi ti nguyn cn c qun l bi mt
chng trnh c giao din truyn thng, cc ti nguyn c th c truy cp, cp nht mt cch
tin cy v nht qun. Qun l ti nguyn y l lp k hoch d phng, t tn cho cc lp ti
nguy n, c h o php ti n g u y n c truy cp l ni ny n n a i khc, nh x ln ti n gu y n vo
a ch truyn t h n g , ...
(2) Tnh m
Tnh m ca h thng my tnh l d dng mcy rng phn cng (thm cc thit b ngoi
vi, b nh, cc giao din truyn thng ...) v cc phn mm (cc m hnh h iu hnh, cc giao
thc truyn tin, cc dch v chung ti nguyn...).
Mt h phn tn c lnh m l h c th irc to ra t nhiu loi phn cng v phn
mm CLa nhiu nh cung cp khc nhau vi iu kin l cc thnh phn nv phi theo mt tiu
chun chung.
Tnh m ca h phn tn c xem nh l mc b sung cc dch v dng chung ti
nguyn m khng ph hng hay nhn i cc dch v ang tn ti. Tnh m' c hon thin
b ng cch xc nh h ay phn nh r cc giao din chnh ca m t h v lm c h o n t n g thch
vi cc nh pht trin phn mm.
Tnh m ca h phn tn da trn vic cung cp c ch truyn thng gia cc tin trnh
v cng khai cc giao din dng truy cp cc ti nguyn chung.

36
) Kh nng song song
H phn tn hot ng trn mt mng truyn thng c nhiu my tnh, mi my c th
c hay ihiu CPU. Trong cng m t thi im nu c N tin trinh cng tn ti, ta ni chng
thc hin ng thi. Vic th c hin tin trnh theo C0 ch phn chia thi ian (mt CPU) hay
song song (nhiu CPU).
Kh nng lm vic song song trong h phn tn c thc hin do hai tnh hung sau:
Nhiu ngi s dng ng thi ra cc lnh hay cc tng tc vi cc chng trinh
ng dng.
Nhiu tin trinh Server chy ng thi, mi tin trnh p ng cc yu cu t cc
tin trinh Client khc.
(4) Kh nng m rng
H phn tn c kh nng hot ng tt v hiu qu nhiu mc khc nhau. Mt h
phn tn nh nht c th hot ng ch cn hai trm lm vic v mt File Server. Cc h ln hn
ti hng nghin my tnh.
Kh nng m rng c c trng bi tnh khng thay i phn mm h thng v phn,
mm ng dng khi h c m' rng. iu ny chi t c mc no vi h phn tn hin
ti. Yu cu m rng khng chi l s m' rng v phn cng, v mng m n tri trn cc kha
cnh khi thit k h phn tn.
(5) Kh nng th i
Vic thit k kh nng th li ca cc h thng my tnh da trn hai gii php c bn
sau:
- Dng kh nng thay th m bo s hot ng lin tc v hiu qu.
- Dng cc chong trinh hi phc khi xy ra s c.
Xy dng mt h thng c th khc phc sir c theo cch th nht thi ngi ta ni hai
my tnh vi nhau thc hin cng mt chng trnh, mt trong hai my chy ch
Standby (khng ti hay ch). Gii php ny tn km vi phi nhn i phn cng ca h thng.
Mt gii php gim ph tn l cc Server ring l c cung cp cc ng dng quan trng
c th thay th nhau khi c s c xut hin. Khi khng c cc s c cc Server hot ng bnh
thung, khi c s c trn mt Server no , cc ng dng Clien t chuyn hng sang cc
Server cn li.
Cch hai th cc phn mm hi phc c thit k sao cho trng thi d liu hin thi
(trng thi trc khi xy ra s c) c th c khi phc khi li c pht hin.
Cc h phn tn cung cp kh nng sn sng cao i ph vi cc sai hng phn cng.
(6) Tnh trong sut
Tnh trong sut ca mt h phn tn c hiu nh l vic che khut i cc thnh phn
ring bit ca h i vi ngi s dng v nhrng ngi lp trinh ng dng.
Th trong su v v tri\ Ngi s dng khiig cn bit v tr vt l ca d liu. Ngi
s dng c quyn truy cp ti n c s d liu nm bt k ti v tr no. Cc thao tc ly, cp
nht d' liu ti mt im d liu xa c t ng thc hin bi h thng ti im a ra yu
cu, ngi s dng khng cn bit n s phn tn ca c s d liu trn mng.

37
Tnh n m g s u trorg vic schm^'. V ic chuyn i CLa mt phn hay ton b c s d
liu do thay i v t chc hay qun l, khng nh hng ti thao tc ngiri su dng.
Tnh trong sut cua vic ph chia: Nu d liu c phn chia do tng ti, n khng
c nh h n g ti .ngi s dng.

Tnh trong sut ca s trng p\ Nu d' liu trng lp gim chi ph truyn thn
vi CO' s d liu hoc nng ca o tin cy, n gi s d ng k h n g cn bit n iu [1 ].

(7) m ho tin cv v nhi lin


H thng yu cu tin cy cao: s b mt cua d liu phai c bao v, cc chc nn
khi phc h hng phi c m bo. Ngoi ra yu cu ca h thng v tnh nht qun cng
rt quan trng t ron g th hin: khng c c mu thun tro ng ni d u n g d liu. Khi cc thu c
tnh d liu l khc nhau th cc thao tc vn phi nht qun [I].

2.1.4. X l d liu phn tn

- nh ngha: x l dCr liu phn tn l mt s cc h phn x l t vn hnh (khng nht thit


phi cng chng loi) c lin kt bi mt mng my tnh v hip ng thc hin cc nhim
v m chng c phn cng. Cc b phn x l' mun ni n trong nh ngha ny l cc
thit b tnh ton c th chy c mt chng trinh trn chnh n.
- N h n g g irc p h n tn: Trong h c s du' liu phn tn c cc thnh phn sau c phn
tn:
(1). Thit b x l: Thil b \ l phn tn ngm nh thoa mn phn tn v cc b phn
c a m n g m y tnh c phn b ti c c v tr a l khc nhau.

(2). Chc nng: Nhiu chc nng cia h thng c th chuyn giao cho nhiu b phn
khc nhau.
(3). D liu: D liu c diig bi mt s ng dng khc nhau c th c phn b ti
cc v tr khc nhau.
(4). Quyn iu khin: Mt s cng vic trong h thng c phn cp chia quyn theo
chc nng.
- Ti sao chng ta li thc hin phn tn\
Vic x l phn tn nhm thch ng tt hn vi vic phn b ngy cng rng ri cia
cc cng ty, x nghip...
Nhiu ng dng hin ti ca cng ngh my tnh c phn tn nh l mt h qu tt
yu. Thng mi in t trn Internet, cc ng dng a phong tin nh vic cung
cp tin tc theo yu cu, cc k thut chn on hnh nh trong y khoa hoc cc h
thng iu khin sn xut u minh ha cho nhng ng dng phn tn.
T uy nhin g c tn g th hon, ch n g la c th k h n g nh rng l do CO' bn ciia
vic x l phn tn l do n c ih gii quyt tt hn cc bi lon ln v phc tp m
chng ta gp phi hin nay bng cch s dng mt bin th ca quy tc 'chia tr".

38
2 .1 .5 . u nhuc im c a v ic s dng c s' d liu p h n tn

a). u im
(1). Xut pht t yu cu thc t v t cluc v kinh t: Trong thc t nhiu t chc i
khng tp trung, di' liu ngy cng ln v phc v cho a nui dng nm phn tn, vi vy CO'
s d liu phn tn l con ng thch hp vi cu trc t nhiii ca cc t chc . y l mt
trong nhng yu t quan trng thc y vic pht trin c s d liu phn tn.
(2). S lin kt cc c s d liu a phng ang tn ti; C s d liu phn tn l gii
php t nhin khi c cc c s d liu ang tn ti v s cn thit xy dng mt ng dng ton
cc. Trong trng hp ny c s d liu phn tn irc to t di ln da trn nn tng c s
d liu ang tn ti. Tin trnh ny i hi cu trc li cc c s d liu cc b mt mc nht
nh. D sao, nhng sa i ny vn l nh hn rt nhiu so vi vic to lp mt c s' d liu
tp trung hon ton mi.
(3). Lm gim tng chi ph tim kim; Vic phn tn d liu cho php cc nhm lm
vic cc b c th kim sot c ton b d liu ca h. Tuy vy, ti cng thi im ngi s
dng c th truy cp n d liu xa nu cn thit. Ti cc v tr cc b, thit b phn cng c
th chn sao cho ph hp vi cng vic x l d liu cc b ti im .
(4). Sir pht trin m rng: Cc t chc c th pht trin m rng bng cch thm cc
n v mi, va c tnh t tr, va c quan h tng i vi cc n v t chc khc. Khi gii
php c s d liu phn tn h tr mt s m rng uyn chuyn vi mt mc nh hng ti
thiu ti cc n v ang tn ti.
(5). Tr li truy vn nhanh; Hu ht cc yu cu truv vn d liu t ngi s dng ti
bt k v tr cc b no u tho mn d liu ngay ti thi im .
(6). tin cy v kh nng s dng nng cao: Neu c mt thnh phn no ca h
thng b hng, h thng vn c th duy tr hot ng.
(7). Kh nng phc hi nhanh chng: Vic truy nhp d liu khng ph thuc vo mt
my hay mt ng ni trn mng. Nu c bt k mt li n h thng c th t ng chn
ng li qua cc ng ni khc.
b). Nhc im
(1). Gi thnh v s phrc tp ca phn mm: Cc phn mm s dng trong mi trng
c s d liu phn tn rt phc tp, c bit l phn mm s dng cho vic qun tr mi trng
c s d liu phn tn.
(2). Tin trinh kt ni cc v tr d liu cc b kh khn, phin phc. Cc v tr cc b
phi trao i thng ip vi nhau v thc hin thm cc tnh ton phc tp m bo s kt
ni ng n gia nhng v tr .
(3). S ton vn d liu: Mt sn plim mang nhiu tnh phc tp nh vy d nhin phi
lm gia tng kh nng xo trn trong vic bo m tnh ton vn cho d liu.
(4). Tc truy cp s tr' nn chm mt cch ng k, nu d liu khng c phn
tn thch hp theo ng yu cu s dng hoc cc bng truy vn c thit lp khng ng n
thi vic tm kim v x l cng s xy ra kh chm chp.

39
2 .1 .6 . Co* s d li u p h n tn v CO s d liu tp tru n g

C s d liu tp trung cng vi c s d' liu khng qua thit k hnh tlnh trcVc khi
c co s' d liu phn tn. Hai hnh thc ny pht trien trn c s t pht v h thng tp trung.
Nh vy hai hnh thc ny khng p ng c yu cu t chc v CII, vic trn phm vi ln.
C s d liu phn tn c thit k khc CO' s' d liu tp trung. Do cn i snh
cc c trng c a c s d liu phn tn vi c SO' d liu tp truiiJ thy irc li ch cua c
s dCr liu phn tn. c f r u n g m t co s d liu tp Iriing l iu khin p truim. c lp di
liu, gim bl d tha, CO' cu vt l phc tp i vi kha nng tmy cp, ton vn, hi phc,
iu khin t n g tranh, bit lp v an ton d liu.

iu khin tp trung: iu khin tp trung cc ngun thng tin cua cng vic hay t
chc. C ngi qun tr m bo an ton d liu.
Trong c s' d liu phn tn: khng cp n vn iu khin tp trung. Ngi
qun tr c s d liu c h u n g phn q u y n c h o n g i quan tr CO' s d liu a phirong.

c p d liu: L mt trong nhiTnii nhn t tc ng n cu trc CO' s d liu t


chc d liu chuyn cho chng trnh ng dng. Tin li chnh ca c lp d liu l cc
chng trnh ng dng khng b nh hng khi thay i cu trc vt l ca d liu. Trong c s
d liu phn tn, c lp d liu c tm quan trng cQng nhir trong c s d liu truyn thng.
Khi nim c s d liu trong sut m t hot ng chng trnh trn c s d liu phn tn
c vit nh lm vic trn c s d liu tp trung. Hay ni cch khc tnh ng n ca
c h o n g trinh k h n g b nh hn g b i v i c di clu iy n d liu t ni nv sanii n oi khc trong
mng my tnh. Tuy nhin tc lm vic b nh huxVng do c thi gian di chuyn d liu.
Giam d tha dir iu: Trong c s dCr liu tp trung, tnh d tha hn ch c cng
nhiu cng tt vi;
- D liu k h n g n g nht khi c vi bn sa o cua c n g CO' s d' liu logic: trnh
c nhc im ny gii php l chi c mt ban sao duy nhl.
- Gim khng gian lu tr. Gim d tha c ngha l cho php nhiu ng dng cng
truy cp n mt c s d liu m khng cn n nhiu bn sao nhung ni chng trnh ng
dng cn.
Trong c s d liu truyn thng tnh d tha d' liu cfing cn quan tm vi:
- Tnh cc b ca chong trinh ng dng s tim nu d liu t II noi m chong
trnh ng dng cn.
- Kh nng sn sng ca h thng cao bi vi khi c li ' mt ni no trong h thng
th khng cn tr hot ng ca chng trnh ng dng.
Ni chung, nguyn nhn i lp vi tnh dir tha a ra trong mi trng truyn thng
vn cn ng cho h thng phn tn v v vy cng vic nh gi mc tt ciia tnh d tha
i hi nh gi li cng vic la chn mc d tha d liu.
Co' s d liu phn tn khc phc c hai nhc im ny vi d liu uc chia ra
thnh nhiu phn nh v chi c mt bn sao logic tng th duy nht tin cho vic truy cp d
liu.

40
c u rc V ! l v kha nang ruy cp: Ngiii s dng truv cp n c s di liu tp
truim plii thim qua cu trc truy cp phc tp: nh v CO' s' d iiu thit lp ng truyn...
Trong c s du' liu phn tn, cu trc truy cp phc tp khng phi l cng c chnh
truy cp liiu qu n c s d liu. Hiu qu c ngha l thi gian tim kim v chuyn d liu
nho nht, chi ph truyn thng thp nht.
Mi cch thc truy cp c SCT d liu phn tn vit bi ngi lp trnh hoc to ra bi
mt b ti u. Cng vic vit ra mt cch thc truy cp CO' s ciCr liu phn tn cng ging nh
vit chng trinh duyt trong c s d liu tp trung. Cng vic m clurong trnh duyt ny lm
l xc nh xem c th truy cp n c bao nhiu CO' s d liu.

Tinh ocm vn. hi phc v iu khii ixrg ranh: Mc d trong c s d liu, tnh
ton vn, hi phc v iu khin ng thi lin quan nhiu vn lin quan ln nhau. M rng
hn vn nv l vic CLin cp cc liao tc. Giao tc l on v C0 bn ca vic thc hin: giao
tc c th l b ciig vic c thc hin ton b hoc khng c thc hin.
Trong c s d liu phn tn, vn iu khin giao tc t tr c ngha quan trng;
h thng iu phi phi chuyn i cc qu thi gian cho cc giao tc lin tip. Nh vy giao
tc t tr l phng tin t c s ton vn trong c s dCr liu. C hai mi nguy him ca
giao tc t tr l li v tng tranh.
Tnh hit lp v cm oi: Trong C0 s d liu truyn thng, ngi qun tr h thng c
quyn iu khin tp trung, ngi s dng c chc chn c phn quyn mi truy cp vo
c d liu. im quan trng l trong cch tip cn c s d liu lp trung, khng cn th tc
iu kJiin chuyn bit.
Trong c s d liu phn tn, nhng ngi qun tr a phng cng phi gii quyt
vn tirong t nh ngi qun tr CO s' d liu truyn thng.
Tliv nhin, hai vn c bit sau y ca C0 s' d liu phn tn c ngha quan trng
khi cp n:
- Th nht trong c s' dCr liu phn tn vi cp t tr cao mi im, ngi c dQ'
liu a phng s cm thy an ton hon v h c th t bo v dCr liu ca mnh thay vi ph
thuc vo ngi qun tr h thng tp trung.
- Th hai, vn an ton thc cht vi h thng phn tn khng ging nh cc li thng
thng thng khc m cn lin quan n mng truyn thng.
Nh vy trong c s' d liu phn tn vn an ton c s d liu phc tp hn v i
hi nhiu k thut bo v. Nguyn nhn gy ra l h thng ny c tnh m v nhiu ngi dng
trong cng h thng s dng nhiu c s d liu.

2.1.7. K in tr c c b n ca C S D L p h n tn

y khng l kin tmc tng minh cho tt c cc CSD L phn tn, tuy vy kin trc ny
th hin t chc ca bt k mt CSDL phn tn no.
S(/ ng th\ nh ngha tt c cc d liu s c lu tr trong CSDL phn tn.
Trong m hnh quan h, s tng th bao gm nh ngha ca cc tp quan h tng th.

41
S phn otm: Mi quan h tng th c tli chii thnh mt vi phn khng gi ln
nhau c gi l on (fragments). C nhiu cch khc nhau thc hin vic phn chia ny.
Anh x (m t - nhiu) gia SO' d tng th v cc on irc nli imha trong s phn on.
S nh v: Cc on l cc phn logic cua quan h tng th c nh v vt l trn
mt hoc nhiu v tr trn mng. S nh v nh imha on no nh v ti cc v tr no.
L rng kiu nh x c nh ngha trong s nh v quyt nh CSDL phn tn l d
tha hay khng.
S nh x a phirii: nh x cc nh vt l v cc i tii n g c Illll tr ti mt
trm (tt G c c on c a mt quan li tn g th trn ciim nit v tr to ra mt nh vt l).

H nh 2.6. Kin trc c bn ca CSDL phn tn.

2 .1 .8 . H q u n tr C SD L phn tn

H quan tr CSDL phn ln (Distributed Database M an agement System - DBMS) c


nh ngha l mt h thng phn mm cho php qun l cc h (?SDL (to lp v iu khin cc
truy nhp cho cc h CSDL phn tn) v lm cho vic phn ln tr nn trong sut vi ngi s
dng.
c tnh v hnh mun ni n s tch bit v ng' ngiha ' cp cao ca mt h thng
vi cc vn ci t cp thp. S phn tn d liu c che du vi ngi s dng lm
cho ngi s dng truy nhp vo CSDL phn tn nh h CSDL tp trung. S tliay i vic qun
tr khng nh hng ti ngi s dng.
H qun tr CSD L phn tn gm I tp cc phn mm ( chng trinh) sau:
Cc chng trnh qun tr cc d liu phn tn (Di stributed Database DDB).

42
Cha cc clui' 0ng trnh qun tr vic truyn thng dO iu (Data Communication -
DC ).
Cc chng trnh qun tr cc CSDL a phng (Database Management - DB ).
Cc chng trnh qun tr t in d liu (Data Dictionaiy - DD).
e lo ra mt h CSDL phn tn (Disributed Database System-DDBS) cc tp tin
khHi ch c lin i logic c h n g c n phi c cu trc v c truy xut qua mt giao din
chung.

Mi trng h C SDL phn tn l mi trng trong dfr liu c phn tn trn mt s


v tr.

M hinh cc thnh phn ca h qun tr C0 s d liu pht trin theo kiu thng mi
(Truy cp t xa trc tip ).

C s d DB DC DDB
liu a
phng 1
DD

C s d DD DDB
liu a
phng 2
DB DC

Nhng dch v h qun tr c s d liu c u n g cp:


- Cch thc truy cp dCr liu t xa: bng c h n g trnh ng dng.
- La chn mt cp trong sut phn tn thch hp: cho php m rng h thng theo
nhiu cch khc nhau theo tng hon cnh (phi cn nhc gia cp trong sut phn tn v
phn chia cng vic thc hin cng vic qun tr h thng n gin hn).
- un tr v iu khin c s d liu bao gm cng c qun l c s d liu, tp hp
thii tin v cc thao tc trn c s d liu v cung cp thng tin tng th v file d liu t -
cc ni trong h thng.
- iu khin tng tranh v iu khin hi phc d liu cua giao tc phn tn.
Cch thc truy cp c s d liu t xa qua chng trnh ng dng theo liai cch c bn:
Truy cp t xa trc tip v gin tip.

43
Ph ng thc truy

M hrh truy cp t xa u a phg thc c SO' c i i c i h quail r c SO ' d liu


Theo m hinh trc tip trn, chong trinh ng dng a ra yu cu truy cp n co s
d liu t xa, yu cu ny c h qun tr c s d liu t ng tim noi t dCr liu v thc
hin yu cu ti im . Ket qu c tr li clO chong trnh ng dng. n v chuyn i
gia hai h qu tr c s d liu l phng thc truv cp CO s d liu v kt qu nhn c
(thng qua vic thc hin phong thc truy cp nv). Vi cch thc truv cp t xa nh vy cp
trong sut phn tn c xy dng bng cch to ra tn fi!e ton b nh a chi thch hp
cho nhng im lu trCr d liu xa.
M hnh di y m l cch thc truy cp phc tp hn (truy cp gin tip):

Theo m hinh truy cp ny. chng trinh ng dng thc hin yu cu qua chng trinh
ph im khc. Chirig trnh ph ny c ngi lp trinh ng dng vit truy cp t xa
n c s d liu v tr v kt qu cLa chng trinh nm dng \ii cu.
H qun tr c s d liu phn tn cung cp c hai kiu Iruy cp boi vi mi cch truy
cp u c u im ca n.

44
2.2. CC M HNH x L PHN TN
Ni n C S d liu phn tn, tr u c ht c h n g ta im q u a i nt v cc h iu hnh
mng, mt s cc cng c tr gip vic pht hin qua s c trn mng.
Hin nay c rt nhiu cc h iu hnh mng khc nhau. Trong tng ng dng c th
ch n g ta cn x e m x t cn nhc c h n h iu hnh m n g h p l. trn CO' s' da v o m t s
cc tnh nng chung nht di y:
Tnh d ci t.
Mc qun tr mng.
Tc truy nhp ph thuc vo kch thc mng (trung bnh hoc ln).
Mc bo mt.
< Tnh d s dng.
Mt trong cc phng php qun l v kim sot cc mng chuyn dng l Remote
monitoring (RMON) ca Internet Engineering Task Force (IETF). RMON a ra CO ch
chun ha nhm gip qun tr mng qun l c mng cc b ln t xa bng mt console. un
tr vin mng phi ci t cc thit b thm d phn cng trn tng phn on LAN cn phi
theo di vi s tr' gip ciia ng dng phn mm tc nhn (Agent Software Application) nhm
quan st v ghi nhn lung thng tin trn mng, ng dng tc nhn s qun l pht trin d liu
thu c v gi v cho console trung tm. RMON cn cung cp kh nng bo ng nhm gip
qun tr vin mng xc lp cc ngng i vi cc kh nng mng hng. Khi mt phn on
mng vt qu ngng cho php, RMON gi bo ng v trung tm iu khin, cung cp cho
qun tr vin mng cng c chun on li nhm khc phc cc vn c th xy ra.
S pht trin ca cc m hnh x l dng nhu' song song vi s tin b ca cng
nghip phn cng. T khi my tnh ln xut hin, en nay cc th h sau nh my mini v vi
tnh thc s gim thiu v mt kch thc, nhng tim nng tnh ton li lng ln.
Gn lin vi s tin trin , xut hin nhiu cc m hnh x l nhm khai thc ti a
cng sut ca my tnh.
H phn tn c ngun gc t mi trng x l da trn my tnh ch (Host based
processing). Mi trng ny khng c kh nng no v x Iv cc ng dng phn tn, cc ng
dng c thc hin trn my ch ni vi cc terminal.
Mc cao hn ca x l cc ng dng phn tn l mi trng x Iv ch - tcV (Master -
Slave processing).

2.2 .1 . M h n h x l M a ster - S la v e

Trong m hnh x l ny, mt h thng my gi l slave thc hin cc cng vic chi th
bi h thng master, nh vy cc ng dng chy trn mi trng Master Slave dng nh c
tnh phn tn, mc d vic phn tn x l c hng mt chiu t Master n Slave.

2 .2 .2 . C c h k h c h / i l
Cc h qun tr CSDL khch/i l xut hin vo u nhng nm 90 v c nh hng
rt ln n cng ngh DBMS v phng thc x l tnh ton. tng tng qut ht sc n
gin: phn bit c c c h c n ng cn uc c u n g cp v chia nhCrng c h c nn g ny thnh hai lp:

45
chc nng i l (server function) v chc nng khch hng (client function). N cng cp kin
trc hai cp, to d dng cho vic qun l mc phc tp ciia cc DBMS hin i v phc
tp ca vic phn tn d liu.
i l thc hin phn ln cng vic qun l ciO' liu. iu ny c nghTa l tt c mi
vic x l v ti u ho vn tin, qun l giao dch v qun l thit b lu tr c thc hin ti
i l. Khch hng, ngoi ng dng v giao din s c modun DBMS khch chu trch nhim
qun l d liu c gi n cho bn khch v i khi vic qun l cc klo cht giao dch
cng c th giao cho n. Kin trc c m t bi hinh di rt thng dng tronsz cc h thng
quan h, vic giao tip gia khch v i l nm ti mc cu lnh SQL. Ni cch khc,
khch hng s chuyn cc cu vn tin SQL cho i l m khng tm hiu v ti u ho chng.
i l thc hin hu ht cng vic v tr quan h kt qu v cho khch hng.
C mt s loi kin trc khch/i l khc nhau. Loi n gin nht l trng hp c
mt i l c nhiu khch hng truy xut. Chng ta gi loi ny l nhiu khch mt i l.
Mt kin trc khch/i l phc tp hn l kin trc c nhiu i l trong h thng (c gi l
nhiu khch nhiu i l). Trong trng hp ny chng ta c hai chin lc qun l: hoc mi
khch hng t qun l ni kt ca n vi i l hoc mi khch hng chi bit i l ' ' r u r ca
n v giao tip vi cc i l khc qua i l khi cn. Cch tip cn th nht lm n gin
cho cc chong trnh i l nhng li t gnh nng ln cc my khch cng vi nhiu trch
nhim khc. iu ny dn n tnh hung c gi l cc h thng khch t phc VI. Cch tip
cn sau tp trung chc nng qun l d liu ti i l. Vi th s v hnh ca truy xut d liu
c cung cp qua giao din ca i l.
T gc tnh logic c d liu, DBMS khch/i l cung cp cng mt hinh nh d
liu nh cc h ngang hng s c tho lun phn tip theo. Ngha l chng cho ngi s
dng thy mt hnh nh v mt CSDL logic duy nht, cn ti mc vt l n c th phn tn. Vi
th s phn bit ch yu gia cc h khch/i l v ngang hng khng phi mc v hinh
c cung cp cho ngi dng v cho ng dng m m hnh kin trc irc dng nhn ra
mc v hnh ny.
V d 2.2: Nu mt ng dng chy trn mt PC cn mt bn ghi tr mt tp c chia s
no , n gn yu cu c ton b tp t file server. Sau ng dng phi tm kim bn ghi
trn tp nhn c.
Ti nguyn ca file server c s dng truvn c tp , trong khi ti nguvn ca
PC phi chia s cho mt chng trnh tm kim bn ghi Irn tp. iu dn ti ti nguyn
c s dng khng hiu qu v c th dn n qu ti trn ng Imyn. Trong trng hp
server c s d liu, ng dng chy trn PC gi yu cu c mt bn ghi cho ng dng yu cu.
Nh vy c client v server cng hp tc thc hin vic truy xut d liu.
v mt kin trc, m hnh x l client v server yu cu:
Truyn thng tin gia cc client v server.
Tng tc gia client v server c khi u.
Vic x l ca ng dng c phn tn gia client v server ca n.
Server lm ch, iu khin dch v g m client ca n c th yu cu.
Server s qun l s xung t cc yu cu ca client.

46
Liu im ni bt ca m hnh client/server c thy r rng khi so snh file server. C
client v server c n g th c hin x l. M hinh c li e n s e rv e r c nh iu th u n li v c d n g
rn^ ri trong tlrc t. Thun li chnh l:
Nng cao vai tr ca my tnh bn, lm cho cc trm lm vic thc
hin c nhiu cng vic dn n vic gim chi ph.
C h o p h p mt s t hao tc xlY l d liu c gi g n trn nt ch a d
liu, ko theo thng lng v kh nng mang thng tin ca mng c tng ln, thi
gian tr li g i m .
Cho php s dng giao din ha trn cc trm lm vic gip cho
vic s dng v o to d dng hn. Cc sn phm mi c pht trin nhanh hn v
c ngi s dng d chp nhn hn.
Chp nhn tnh m ca h thng (c th chy trn cc cu hnh cng v mm khc
nhau).

2 .2 .3 . C c h p h n t n n g a n g h n g

M hinh clienserver phn bit client (ni yu cu dch v) v server (ni phc v cc
yu cu). Nhng m hinh x l ngang hng, cc h thng tham gia c vai tr nh nhau. Chng
c th yu cu va dch v t mt h thng khc hoc va tr thnh ni cung cp dch v. Mt
cch l tng, m hnh tnh ton ngang hng cung cp cho x l hp tc gia cc ng dng c
th nm trn cc phn cng hoc h iu hnh khc nhau. Mc ch ca mi trng x l ngang
hng l h tr cc C S D L c ni mng. Nh vy ngi s dng DBMS s c th truy cp
ti nhiu CSDL khng ng nht.
Tm //, s pht trin ca kin trc tnh ton phn tn b chi phi bi hai xu hng
chnh sau:
1. Chia nh ng dng, y phn kt qu n h thng ca ngi dng. Vi xu hng ny,
vic pht trin v trin khai ng dng trn cc trm lm vic t hiu sut cao v gi
thnh/cng sut.
2. Xu hng hai th ngc li, tp trung tt c cc yu cu ca ngi s dng cui. iu
ny dn ti cc yu cu tch hp h thng, kt qu l tp trung ha cc ng dng trn
my tnh ln (mainframe), mnh.

2 .2 .4 . M i tr iig a t n g

Trong mi trng tnh ton a tng, kh nng x l hp tc v x l phn tn c a


vo, to ra m hnh tnh ton phn cp. Trong m hnh ny, ti nguyn tnh ton c phn b
theo chiu dc. c bit, tng cao nht thng l h thng mng, my tnh ln.
Tng th hai thng bao gm mt my ch LAN mnh ng vai tr trung gian. My
ch mnh ny va l client ca my tnh ln va l server cho cc trm lm vic v cc PC nm
tn th ba.

47
T ng 1

Tng 2

Tng 3

Mt v d v kin trc ba tng nihiT wy c th l mt t chc m rng kh nng trung


tm d liu bng vic xy dng cc mng LAN cho mi vn phng trung tm v kt ni vi cc
LAN server tcmg ng vo cc my tnh Dn.
Mt iu ng ch l kin trc nht vy, c th m rng theo chiu ngang. Ngha l
thm cc host + LAN server. V ic qun l mg, cng sut h thng, tnh ton vn v tin cy d
liu frong m hnh ny mun c m bo) th phi c kiu lin tc no gia cc tng. Vi
vy, kin trc ny tr nn phc tp cho viic xy dng v qun l. Tuy nhin, kh nng tnh ton
c y mnh v kin trc c c tnh m rng. Khi yu cu pht sinh, c th a thm cc
my ch LAN, cc trm lm vic v h tthrag m khng cn phi xy dng li mng cng nh
cc ng dng sn c.

2.3. THIT K C S D LIU PHN TN


2.3.1. Cc chin c thit k
2.3.1.L Qu trnh thit kturn xung (top - down)
Phn tch yu cu: nhm nh ngha mi trmg h thng v thu thp cc nhu cu v d
liu v nhu cu x l ca tt c mi ngH c s dng CSDL.
Thit k khung nhn: nh ngha cc giao - din cho ngi s dng cui (end - user).
Tit k khi nim: xem xt tng th x nghip nhm xc nh cc loi thc th v mi
lin h gia cc thc th.
Thit k phn tn', chia cc quam h hnh nhiu quan h nh hn gi l phn mnh v
cp pht chng cho cc v tr.
Thit k vt l: nh x lc khi nim cc b sang cc thit b lu fr vt l c sn
ti cc v tr tng ng.

48
2.3.1.2. Q u trn h th i t k t duri ln (bottom - up)
Thit k t trn xung thch hp vi nhng CSDL c thit k t u. Tuy nhin
ching ta cng hay gp trong thc-t l c sn mt s CSDL, nhim v thit k l phi tch
hvp chng thnh mt CSDL. Tip cn t diri ln s thch hp cho tnh liuiig ny. Khi im

49
ca thit k t di ln l cc uc klii nim cc b. Qu trnh !iys bao umvic tch hp
cc lc cc b thnh khi nim livc ton cc.

2 .3 .2 . C c v n thit k

2.3,2A . L do ph n mnh
Khung nhin ca cc im dng thnii chi l mt tp con cua quan h. V th on v truy
xut khng phi l ton b quan h nliirnu chi l cc tp con ca quan h. Kt qua l xem tp
con ca quan h l n v phn ln s l iu thch hp duy nht.
Vic phn r mt quan h thnh nhiu mnh, mi mnh c x l nh mt on v, s
cho php thc hin nhiu giao dch n^ thi. Ngoi ra vic phn mnh cc quan h s cho php
thc hin s o n g s o n g m t cu vn tin bng cch chia n ra thnh m t tp cc cu vn tin c o n hot
tc trn cc mnh. V th vic phn miih s lm tim mc hot ng ng thi v nh th
lm tng lu lng hot ng ca h Ihnii.

2 .J.2.2. C c qu y tc phn m nh ng n

Chng ta s tun th ba quy tc trong khi phn mnh m chng bo m rng CSDL s
khng c thay i no v ng ngha khi phn mnh.

a) Tnh y u (completeness)
N e u m t th hin quan h R c phn r tinl cc m n h R|, R 2,. -, Rn lli mi m c d
liu c th gp trong R cng c th gp mt trong nhiu mnh R,. c tnh ny ging nh tnh
cht phn r ni k h n g mt thng tin trong chun ho, c n g q ua n t r ng tro ng phn m n h bi v
n bo m rng d liu trong quan h R c nh x vo cc mnh v khng b mt. Ch
rng trong trng hp phn mnh ngang mc d liu'" mun ni n l mt b, cn trong
trng hp phn mnh dc, n mun ni n mt thuc tnh.

b) Tnh ti hi c (reconstruction)
Nu mt th hin quan h R c phn r thnh cc mnh Rf, R 2...... R, thi cn phi
nh ngha mt ton t quan h V sao cho:

R VR R, e F,

Ton t V thay i tii theo tng loi phn manh, tuy nhin iu quan trng l phai xc
nh c n. Kh nng ti thit mt quan h t cc mnh ca n bo m rng cc rng buc
c nh ngha trn d liu di dng cc ph thuc s c bo ton.

c) Tnh tch bit (disjointmss)


Nu quan h R c phn r ngang thnh cc mnh R, R 2...... R.1> v mc d liu d,
nm trong mnh R, th n s khng nm trong mnh Rk khc ( k / j ). Tiu chun ny m bo
cc mnh ngang s tch bit (ri nhau). Nu quan h c phn r dc. cc thuc tnh kho
chnh phi c lp li trong mi mnh. Vi th trong trng hp phn mnh dc, tnh tch bit
ch c nh ngha trn cc trng khng phi l kho chnh ca mt quan h.

50
2 .3 .2 3 , C c y u c u th n g tin
Mt iu cn Ilili trong vic thit k phn tn l qu nhiu yu t c nh hng n
mt thit k ti u. t chc logic ca CSDL, v tr cc ng dng, c tnh truy xut ca cc ng
dng en CSDL. v cc c tnh ca h thng my tnh ti mi v tr u c nh hng n cc
quyt nh phn tn. iu ny khin cho vic din t bi ton phn tn tr nn ht sc phc
tp.
Cc thng tin cn cho thit k phn tn c th chia thnh bn loi:
- Thng tin CSDL;
- Thng tin ng dng:
- Thng tin v mng;
- Thng tin v h thng my tnh.
Hai loi sau c bn cht hon ton nh lng v c s dng trong cc m hnh cp
pht ch khng phi trong cc thut ton phn mnh.

2 .3 .3 . P h n m n h n g a n g

Trong phn ny, chng ta bn n cc khi nim lin quan n phn mnh ngang (phn
tn ngang). C hai chin lc phn mnh ngang c bn:
Phn mnh nguyn thu (primary horizontal fragmentation) ca mt quan h c thc
hin da trn cc v t irc nh ngha trn quan h .
Phn mnh ngang dn xut (derived horizontal fragmentation ) l phn mnh mt quan
h da vo cc v t c nh trn mt quan h khc.

2 J 3 J . H a i k iu p h n m nh n gan g
Phn mnh ngang chia mt quan h r theo cc b, vi vy mi mnh l mt tp con cc
b l ca quan h r.
Phn mnh nguyn thu (primary horizontal fragmentation) ca mt quan h c thc
hin dira trn cc v t c nh ngha trn quan h . Ngc li phn mnh ngang dn xut
(derived horizontal fragmentation ) l phn mnh mt quan h da vo cc v t c nh trn
lit quan h khc. Nh vy trong phn mnh ngang p cc v t'ng vai tr quan trng.
Phn ny s xem xt cc thut ton thc hin cc kiu phn mnh ngang. Trc tin
chng ta nu cc thng tin cn thit thc hin phn mnh ngang.

2.3.S.2. Yu c u th n g tin c a p h i m nh n gan g


a. Thr tin v c s d liu
Thng tin v C SDL mun ni n l lc ton cc v quan h gc, cc quan h con.
Trong ng cnh ny, chng ta cn bit c cc quan h s kt li vi nhau bng php ni hay
bng php lnh khc. Vi mc ch phn mnh dn xut, cc v t c nh ngha trn quan h
khc, ta thng dng m hinh thc th - lin h (entity " relatinhip model), vi trong m hnh
nv cc mi lin h c biu din bng cc ng ni c hng (cc cung) gia cc quan h
c lin h vi nhau qua mt ni.

51
V d 2.3:

CT

Chc v, Lng

LI DA
NV

MDA, tnDA, ngn sch, a im


MNV, tnNV, chc v

L2 L3

MNV , MDA, nhim v, thi gian

Hnh 2.8. Biu din mi lin h gia cc quan h nh cc ng ni.

Hnh trn trnh by mt cch biu din cc ng ni gia cc quan h. Ch rng


hng ca ng ni cho bit mi lin h mt - nhiu. Chng hn vi mi chc v c nhiu
nhn vin gi chc v , v th chng ta s v mt ng ni t quan h CT (chi tr) hng
n NV (nhn vin). ng thi mi lin h nhiu - nhiu gia NV v DA (d n) c biu
din bng hai ng ni n quan h PC (phn cng).
Quan h nm ti u (khng mi tn) ca mg ni c gi l ch nhn (owner) ca
mg ni v quan h ti cui ng ni (u mi tn) gi l thnh vin (member).
V d 2.4:
Cho ng ni LI ca hnh 2.8, cc hm owner v member c cc gi tr sau:
O w n e r (L l) = CT
Member (L I) = NV
Thng tin nh lng cn c v CSDL l lc lng (cardinality) ca mi quan h R,
l s b c trong R, c k hiu l card (R).
b. Thng tin v ng dng
phn tn ngoi thng tin nh lng Card (R) ta cn cn thng tin nh tnh c bn
gm cc v t c dng trong cc cu vn tin. Lng thng tin ny ph thuc bi ton c th.
Nu khng th phn tch irc ht tt c cc ng dng xc nh nhng v t ny th t
nht cng phi nghin cu tfc cc ng dng "quan trng nht.
Vy chng ta xc nh cc vi t om gin (simple predicate). Cho quan h R ( A), A2 ...,
An), trong Ai l mt thuc tnh c nh ngha n mt min bin thin D(A|) hay Dj.
Mt v t n gin p c nh ngha frn R c dng:
P: Ai 0 Value

52
trong 0 e - v value c chn t min bin thin ca Aj (value e D,).
Nh vy, cho trc lc R, cc min tr D, chng ta c th xc nh c tp tt c
cc v t n gin ?r trn R.
Vy {P: A ,0 Value }. Tuy nhin trong thc t ta chi cn nhng tp con thc s ca
p,-
V d 2.5: Cho quan h D n nh sau:
P] : Tn DA "thit b iu khin"
P i: Ngn sch < 200000
L cc v t on gin.
Chng ta s s dng k hiu PV biu th tp tt c cc v t n gin c nh ngha
trn quan h R j. Cc phn t ca Pfj c k hiu l Pi,.

Cc v t n gin thng rt d x l, cc cu vn tin thng clura nhiu v t phc tp


hon, l t hp ca cc v t n gin. Mt t hp cn c bit ch , c gi l v t hi s cp
(minterm predicate), l hi (conjunction) ca cc v t n gin. Bi vi chng ta lun c th
bin i mt biu thc Boole thnh dng chun hi, vic s dng v t hi s cp trong mt
thut ton thit k khng lm mt i tnh tng qut.
Cho mt tp Pr, = {P ii, Pi2,..., Pim } l cc v t on gin trn quan h Ri, tp cc v t
hi s cp } c nh ngha l:
I iTii A p*i} vi 1 < k < m, 1<j 5 z
Trong p*ik= Pk hoc -"Pik . Vi th mi v t n gin c th xut hin trong v t
hi s cp di dng t nhin hoc dng ph nh.
V d 2.6:
Xt quan h CT:

Chc v Lng

K s in 40000

Phn tch h thng 34000

K s c kh 27000

Lp trinh 24000

Di y l mt s v t on gin c th nh ngha c trn PAY:


p l: Chc v = K s in
p2 : Chc v = Phn tch h thng
p3: Chc v = K s c kh
p4: Chc v =- Lp trnh
p5; Lng < 30000
p6 : Lng > 3 0 0 0 0

53
Di y l mt s cc v t hi s cp c nh ngha da trn cc v t n gin
ny:
m 1: Chc v = K s inA Lng < 30000
m2: Chc v = K s inA Lng > 30000
m3: -'(Chc v = K s in)A Lng < 30000
Ii4: ^(Chc v = K s in)A Lng > 30000
m5: Chc v = Lp trnhA Lng < 30000
m6: Chc v = Lp trnhA Lcyng > 30000
Ch : + Php ly ph nh khng phi lc no cng thc hin c. Th d: xt hai v
t n gin sau: Cn di < A; A > Cn trn. Tc l thuc tnh A c min tr nm trong cn
di v cn trn, khi phn b ca chng l;
- (Cn_di < A);
-(A > Cn_trn) khng xc nh c. Gi tr ca A trong cc ph nh ny
ra khi min tr ca A.
Hoc hai v tr n gin trn c th c vit li l:
Cn_di < A Cn trn c phn b l; -'(Cn di < A < Cn trn) khng
nh ngha c. V vy khi nghin cu nhng vn ny ta chi xem xt cc v t ng
thc om gin.
=> Khng phi tt c cc v t hi s cp u c th nh ngha c.
+ Mt s ong chng c th v ngha i vi ng ngha ca quan h Chi tr.
Ngoi ra cn ch rng m3 c th c vit li nh sau:
m3: Chc v ^ K s in A Lng < 30000
Theo nhng thng tin nh tnh v cc ng dng, ta cn bit hai tp d liu.
1) tuyn hi s cp (minterm selectivity): s lng cc b ca quan h s c truy
xut bi cu vn tin c c t theo mt v t hi s cp cho. Chng hn tuyn ca ml
trong v d 2.6 l zero bi v khng c b no trong CT tha vj t ny. tuyn ca m2 l 1.
Chng ta s k hiu tuyn ca mt hi s cp nij l sel(nii).
2) Tn s uy xut (access frequency): tn s ng dng truy xut d liu. Nu Q = {qi,
q2v,C|q} l tp cc cu vn tin, acc(qi) biu th cho tn s truy xut ca q, trong mt khong thi
gian cho.
Ch rng mi hi s cp l mt cu vn tin. Chng ta k hiu tn s truy xut ca mt
hi s cp l acc(itij).

23.3.3. Phn mnh ngang nguyn thu


Phn mnh ngang nguyn thu c nh ngha bng mt php ton chn trn cc quan
h ch nhn ca mt lc ca CSDL. V th cho bit quan h R, cc mnh ngang ca R l
cc Rj:
Ri = Fi(R), l < i < z .
trong Fi l cng thc chn c s dng c c mnh Rj. Ch rng nu Fj c dng
chun hi, n l mt v t hi s cp (nij).

54
F//w2 7; Xt quan h DA

MDA Tn DA Ngn sch a im


P1 Thit b o c 150000 Montreal
P2 Pht trin d liu 135000 New York
P3 CAD/CAM 250000 New York
P4 Bo dng 310000 Paris

Chng ta c th nh ngha cc mnh ngang da vo v tr d n. Khi cc mnh thu


c, c trnh by nh sau:
DA) am =Montreal" (DA)
DAj ia dim = New York (DA)
DA3 = a im = Paris (D A )
DA,

MDA Tn DA Ngn sch a im

PI Thit b o c 150000 Montreal

DA:

MDA Tn DA Ngn sch a im

P2 Pht trin d liu 135000 New York

P3 CAD/CAM 250000 New York

DA3

MDA Tn DA Ngn sch a im

P4 thit b o c 310000 Paris

By gi chng ta c th nh ngha mt mnh ngang cht ch v r rng hn.


Mnh ngang R i ca quan h R c cha tt c cc b R tha v t hi s cp m,
Mt c tnh quan trng ca cc v t n gin l tnh y v tnh cc tiu.
- Tp cc v t om gin Pr c gi l y nu v ch nu xc sut mi ng dng
truy xut n mt b bt k thuc v mt mnh hi s cp no c nh ngha theo Pr u
bng nhau.
V d 2.8: Xt quan h phn mnh DA c a ra trong v d 2.7. Nu tp mg dng
Pr = {a im = M oneal, a im = N ew York, a im = Paris, Ngn sch
< 200000} th Pr khng y v c mt s b ca DA khng c truy xut bi v t Ngn
sch < 200000. cho tp v t ny y , chng ta cn phi xt thm v t Ngn sch
> 200000 vo Pr. Vy Pr = {a im = Montreal, a im = N ew York, a im =
Paris, Ngn sch < 200000, Ngn sch> 200000} l y bi v mi b c truy xut bi

55
ng hai v t p ca Pr. Tt nhin nu ta bt i mt v t bt k trong Pr th tp cn li khng
y .
L do cn phi m bo tnh y l v cc mnh u c theo tp v t y s
nht qun v mt logic do tt c chng u tho v t hi s cp. Chng cng ng nht v y
v mt thng k theo cch m ng dng truy xut chng.
V th chng ta s dng mt tp hp gm cc v y lm c s ca phn mnh
ngang nguyn thy.
- c tnh th hai ca tp cc v tr l tnh cc tiu. y l mt c tnh cm tnh. V t
n gin phi c lin i (relevant) trong vic xc nh mt mnh. Mt v tr khng tham gia
vo mt phn mnh no th c th coi v t l tha. Nu tt c cc v t ca Pr u c iin i
th Pr l cc tiu.
V d 2.9: Tp Pr c nh ngha trong v d 2.8 l y v cc tiu. Tuy nhin, nu
chng ta thm v t Tn D A = thit b o c vo Pr, tp kt qu s khng cn cc tiu bi vi
v t mi thm vo khng c lin i ng vi Pr. V t mi thm vo khng chia thm mnh
no ong cc mnh c to ra.
Khi nim y gn cht vi mc tiu ca bi ton, s v t phi y theo yu cu
ca bi ton chng ta mi thc hin c nhng vn t ra ca bi ton. Khi nim cc tiu
lin quan n vn ti u ca b nh, ti u ca cc thao tc n tp cc cu vn tin. Vy khi
cho trc mt tp v t Pr xt tnh cc tiu chng ta c th kim tra bng cch vt b nhng
v t tha c tp v t Pr l cc tiu v tc nhin Pr cng l tp y vi Pr.
Thut ton COM MIN: Cho php tm tp cc v tr y v cc tiu Pr t Pr. Chng
ta tm quy c:
Quy tc 1: Qy tc c bn v tnh y v cc tiu , n khng nh rng mt quan h
hoc mt mnh c phn hoch "thnh t nht hai phn v chng tfc truy xut khc nhau
bi t nht mt ng dng-

Thut ton 2.1 COM_MIN


I n p u t: R: quan h; Pr: tpcc v tr cm gin;
Output: Pr: tp cc v tr cc tiu v y ;

Declare
F; tp cc mnh hi s cp;

Begin
Pr = ; F = ;
For each v t p e Pr if p phn hoch R theo quy tc 1 then
Begin
Pr: = Pru p ;
Pr: = P r -p ;
F; = F u p; {fi l mnh hi s cp theo Pi}
End; {Chng ta chuyn cc v t c phn mnh R vo Pr}

56
Repeat
For each p e Pr if p phn hoch mt mnh fk ca Pr theo quy tc 1 ien
B egin
Pr; = Pru p;
Pr: = P r - p ;
F: = F u p ;
End;
Until Pr y {Khng cn p no phn mnh f)( ca Pr}
For each p e Pr, if 3p m p < => p then
B egin
Pr:= P r- p;
F:= F - f;
End;
End. {COM_M IN}
Thut ton bt du bng cch tm mt v tr c lin i v phn hoch quan h cho.
Vng lp R epeat-untl thm cc v t c phn hoch cc mnh vo tp ny, bo m tnh y
ca Pr. on cui kim tra tnh cc tiu ca Pr. V ti cui cng ta c tp Pr i cc tiu v
y .
Bc hai ca vic thit k phn mnh nguyn thy l suy dn ra tp cc v t hi s cp
c th c nh ngha trn cc v tr trong tp Pr. Cc v t hi s cp ny xc nh cc mnh
ng c vin cho bc cp pht. Vic xc nh cc v tr hi s cp l tm thng; kh khn
chnh l tp cc v tr hi s cp c th rt ln (thc s chng t l hm m theo s lng cc v
t on gin). Trong bc k tip chng ta s tm cch lm gim s lng v tr hi s cp cn
c nh ngha frong phn mnh.
Bc ba ca qu trnh thit k l loi b mt s mnh v ngha. iu ny c thc
hin bng cch xc nh nhng vj t mu thun vi tp cc php ko theo (implication) I. Chng
hn nu Pr={pi, P2}
trong :
Pi: att = value_l
P2: att = value_2
V min bin thin ca att l {vaiue_l, value_2}, r rng I cha hai php ko theo vi
khng nh:
I|: (at t = v a lu e _ l) => -i(att = value_2)
I2: -i(att = v a lu e _ l) => (att = value_2)
Bn v t hi s cp sau y c nh ngha theo Pr:
Mi: (att = v alu e_l) A (att = value_2)
M2: (att = v a lu e _ l) A -i(att = value_2)
M3: -i(att = v a lu e_ l) A (att = value_2)
M4: -i(att = v a lu e_ l) A -i(att = value_2)
Trong trng hp ny cc v t hi s cp ni|, rri4 mu thun vi cc php ko theo I v
v th b loi ra khi M.

57
Thu l ton phn mnh ngang nguyn tluiv irc trnh by tr o n g thut ton 2 . 2 .

T h u t lon 2.2 P I I O R I / O N ! AI.


input; R: quan h: Pr: tp cc v t n gian;
Output: M: tp cc v t hi s cp:

Begin
Pr' COM M1N(R. Pr);
Xc nh lp M cc v t ii SO' cap:
Xc nh tp cc php ko theo iiia cc p,c Pr';
F o r each m, e M do
Begin
IF m, mu thun vi I then
M: M - m,.
En;
End. Pll()R !Z O N T A .|
Vi d 2. 0: Chng ta hv xt quan h DA. Gi s rng c hai ni dng:
n g dng u tin c a ra ti ba v tr v cn tm tn v ngn sch cua cc d n
khi cho bit v tr. Theo k php SL, cu vn tin c vit l:
SEIJ-C T Tn[)A, Ngn sch
KROM DA
WHERH a im gi r
i vi ng dng ny, cc v t n gin c th c dng l:
P1: a im - '^Montreal"
P2: aim '"New York"
P3: Da im Paris"
n g dng th hai l nluTng d n c ngn sch diri 200.()()() (lla clirc (.uan K li mt
v tr. cn nhng d n c ngn sch ln hn uxrc quan l ti nil v tr th hai. Vi the cc v l
dn gian phai c s dng phn Ii n h theo ng dim lli hai l:
P4: Iign sch < 2000()0
P5: ngn sch > 200000
Nu kim tra bng thut ton COM MIN. tcp Pr' ip l . p2. p3. p4. p3| r rng y u
v cc tiu.

Da trn Pr' chng ta c th nh niha su v t hi s cp sau > to ra M:


M 1; (a im 'Montreal') A (Ngn sch < 200000)
M2; (f)a ini " M o n l r e a r ' ) A (Ngn sch > 2()()()00)

M.l: (l)a dini "New York") A (Ngn scli < 2()()()()0)


M4: (Da dim "New York") A {Ngn sch > 200000)

58
M5: (a im = Paris) A (Ngn sch<200000)
M 6 : (a im = Paris) A (Ngn sch>200000)
y khng phi l cc v t hi s cp duy nht c th c to ra. Chng hn vn c
th nh ngha cc v t:
pl A p2 A p3 A p4 A p5
Tuy nhin cc php ko hin nhin l:
li; p l = > -.p 2A -ip 3
I2 : p 2 = > -ip l A -ip 3
I3 : p 3 => -.p l A -.p 2
I4: p4 => -.p 5
I5: p5 => -1 p4
le: -ip4 => p5
I7: -ip 5 => p4
Cho php loi b nhng v t hi s cp ny v chng ta cn li ml n m6.
Cn nh rng cc php ko theo phi c nh ngha theo ng ngha ca CSDL, khng
phi theo cc gi tr hin ti. Mt s mnh c nh ngha theo M = { m l,..., m6} c th rng
nhng chng vn l cc mnh. Kt qu phn mnh nguyn thu cho DA l to ra su mnh
F da = {D Ai, DA 2, D A 3, D A 4, D A 5, DA}, y c hai mnh rng l {DA2, DA 5 }
DA|

MDA Tn DA Ngn sch a im

P1 Thit b o c 150000 Moneal

DA

MDA Tn DA Ngn sch a im

P2 Pht trin d liu 135000 N ew York

DA4

M DA Tn DA Ngn sch a im

P3 CAD/CAM 250000 N ew York

DA

MDA Tn DA Ngn sch a im

P4 Bo dng 310000 Paris

59
2.3.3.4. Phn mnh ngang dn xut
Phn mnh ngang dxi xut c nh ngha trn mt quan h thnh vin ca mg ni
da php ton chn n quan h ch nhn ca ng ni .

Nh th nu cho trc mt ng ni L, trong owner (L) = s v member(L) = R, v


cc mnh ngang dn xut ca R c nh ngha l;

R = R | > < S i , 1 < i < w

Trong w l s lng cc mnh c nh ngha trn R, v Si = F i(S ) vi F, l cng


thc nh ngha mnh n g a n g nguyn thu S.
V d 2.11: X t ng ni
NV
CT
MNV T n N V Chc v

E1 J.Doe K s in C hc vu. L n e

E2 M .Smith Phn tch

E2 M.Smith Phn tch NV


LI
E3 A.Lee K s c kh

E3 A.Lee K s c kh M N V .T n N V , C hc v
E4 J.Miller Programmer

E5 B.Casey Phn tch h ing

E6 L.Chu K s in

E7 R.david K s c kh

E8 J.Jones Phn tch h thng

th th chng ta c th nhm cc k s thnh hai nhm ty theo lng: nhm c lng tr 30.000
la tr ln v nhm c lng di 30.000 la. Hai mnh Nhn vin 1 v Nhn vin 2 c
nh ngha nh sau:
N V i = N V |> < CT,

NV2 = N V |> < C T

ong : CTI = Lomg 3000o(CT)

CT2 = Lng > 30000(CT)

60
CT CT>

Clurc v Lung Chc v Lng

K s c kh 27000 K s in 40000

Lp trinh 24000 Phn tch h thng 34000

Kt qua phn manh ngang dn xut cua quan h NV nh sau:

NV NV-

MNV TnNV Chc v MNV TnNV Chc v

E3 A.Lee K s CO' kh E1 J.Doe K s in

E4 J.Miller Lp trnh vin E2 M .Smith Phn tch

E7 R.David K s c kh E5 B.Casey Phn tch h thng


-------------- --------------------- ---------------------------
E6 L.Chu K sir in

E8 J.Jones Phn tch h thng

Ch : + Mun thc hin phn mnh ngang dn xut, ta cn ba nguyn liu (input):
1. Tp cc phn hoch ca quan h chii nhn (Th d: CTK C l 2).
2. uan h thnh vin
3. Tp cc v t ni na gia ch nhn v thnh vin (Chng hn CT.Chucvu "
NV.Chucvu).
4 Vn phc tp cn ch : T'rong lc CSDL, chng ta hay gp nhiu ng ni
n mt quan h R. Nh th c th c nhiu cch phn mnh cho quan h R. uyl nh chn
cch phn mnh no cn da trn hai tiu chun sau:
1. Phn mnh c c tnh ni tt hn
2. Phn mnh c s dng trong nhiu ng dng hon.
Tuy nhin, vic p dng cc tiu cluin trn cn l mt vn rc ri.
V d 2 .2 \ Chng ta tip tc vi thit ke phn tn cho CSDL bt u t v d 2.9.
V quan h NV phn mnh theo CT. By gi xt ASG. Gi s c hai ng dng sau;
1. n g chmg /: Tm tn cc k s c lm vic ti mt ni no . ng dng ny chy
c ba trm v truy xut cao hn cc k s CLia cc d n 0*nhng v tr khc.
2. (ni chmi 2: Ti mi trm qun l, ni qun l cc mu tin nhn vin, ngi dng
mun truy xut n cc d n ang c cc nhn vin ny thc hin v cn bit xem h s lm
vic vi d n trong bao lu.

61
2,3.3,5. K im nh tnh n g n
B y g i c h n g ta cn phi k im tra tnh n g CLia phn mnh ngang.

a. Tinh y
+ Phn mnh ngang ngLivn thii; Vi iu kin cc v t chn l y u, phn mnh
thu cng c m bo l y u, bi v CO' s cua thut ton phn manh l tp cc v t cc riu
v y P r \ nn tnh y c bo m vi iu kin khng c sai st xay ra.
+ Phn mnh ngang dn xut; C khc cht t, kh khn chnh y l do v t nh
ngha phn mnh c lin quan n hai quan h. Trc tin chng ta hy nh ngha qui tc y
mt cch hnh thc.
R l quan h thnh vin ca mt ng ni m ch nhn l quan h s. Gi A lthuc
tnh ni gia R v s, th th vi mi b t ca R, phai c mt b t' cua s sao cho:

uy tc ny c gi l rcmg buc ton vn hay ion vn ham chiu, bo m rng mi


b trong cc mnh ca quan h thnh vin u nm trong quan h clu nhn.
h. Tinh ti thi c
Ti thit mt quan h ton cc-t cc mnh irc thc hin bng ton t hp trong c
phn mnh ngang nguyn thuy ln dn xut. V th mt quan h R vi phn mnh F, R ,
R2,...,Ri} chng ta c:
R == u R i, VR, e F r
c. Tnh tch ri
Vi phn mnh nguyn tlui tnh tch ri s c bo m min l cc v t hi s cp
xc nh phn mnh c tnh oi tr tirong h (mutuallv exclusive). Vi plin manh dii xut
tnh tch ri c th bo m nu th ni thuc loi on uian.

2 .3 .4 . P h n m n h d c

Mt phn mnh dc cho mt quan h R sinh ra cc mnh R, R i.....Rr, mi mnh cha


mt tp con thuc tnh ca R v c kho ca R. Mc ch ca phn mnh dc l phn hoch mt
quan h thnh mt tp cc quan h nh hn nhiu ng dng ch cn chy trn mt mnh. Mt
phn mnh ti ir\ phn mnh sinh ra mt lc phn mnh cho php gim ti a thi gian
thc thi cc ng dng chy trn mnh .
Phn mnh dc tt nhin l phc tp hn so vi phn mnh ngang. iu ny l do tng
s chn la c th ca mt phn hoch dc rt ln.
Vi vy c c cc li gii ti u cho bi ton phnhoch dc thc s rt kh khn.
Vi th li phi dng cc phng php khm ph (heuristic). Chng ta a ra hai loiheuristic
cho phn mnh dc cc quan h ton cc.
- Nhm thuc tnh: Bt u bng cch gn mi thuc tnh cho mt mnh, v ti mi
bc, ni mt s mnh li cho n khi tha mt tiu chun no . K thut ny c c
xut ln u trong [Hammer and Niamir, 1979] cho cc CSDL tp trung v v sau c dng
trong [Sacca and Weiderhold, 1985] ch cc CSDL phn tn.

62
- Tch mnh: Bt u bng mt quan h v quyt nh cch phn mnh c li da trn
hnh vi truv XLiat ca cc ng dng trn cc thuc tnh. K thut ny u''c tho lun ln u tin
c\u) thit k CSDL tp Irung tronu [Hoffer and Severance. 1975]. Sau c m' ra cho mi
irung phn tn trong [Navathe et al, 1984].
Cc yu cu thng tin ca phn mnh dc
Bi v phn hoch dc t vo mt mnh cc thuc tnh thng c truy xut cluing
vi nhau, chiim ta cn c mt gi tr o no nh ngha chnh xc hon v khi nim
"chung vi nhau", s o ny gi l t lc hav lc ht (affinity) cua thuc tnh, chi ra mc
lin i giCra cc thuc tnh.
Yu cu d liu chnh c lin quan n cc ng dng l tn s truy xut ca chng. Gi
{qh q 2.--- ^q} l tp cc vn till ca ngi dng (cc ng dng) s chy trn quan h R(Ai,
A,i). Th thi vi mi cu vn tin qi v mi thuc tnh Aj, chng ta s a ra mt gi tr s
dng thuc tnh, k hiu Lise(q A,) c nh ngha nh sau:
1 nu thuc tnh A| c vn tin q, tham chiu
use(q,, A,)
0 trong trng hp ngc li
Cc vct use (q j, ) cho mi ng dng rt d nh ngha nu nh thit k bit c cc
ng dng s chy trn CSDL.
V d 2 J 3:
Xt quan h DA, gi s rng cc ng dng sau y chy trn cc quan h . Trong mi
trng hp chng ta cng c t bng SL.
q l : Tm ngn sch ca mt d n, cho bit m ca d n
SELECT Ngn sch
FROM DA
WHERE MDA = gitr
q2: Tim tn v ngn sch cua lt c mi dtr n
SELECT Tn DA, ngn sch
FROM DA
q3: Tm tn ca cc d n c thc hin ti mt thnh ph cho
SELECT Tn DA
FROM DA
WHERE a im ^ Gi tr
q4: Tim tng ngn sch d n ca mi thnh ph
SELECT SUM (ngn sch)
FROM DA
WHERE a i m - G i tr
Da theo bn ng dng ny, chng ta c th nh ngha ra cc gi tr s dng thuc
tnh. cho tin v mt k php, chng ta gi A| MDA, At - Tn DA, Ai ^ Ngn sch,
A4 ^ a im, Gi tr s dng c nh ngha di dng ma trn, trong mc (i, ) biu th
use(q,, A ,).

63
A 2 A3 A4

qi 1 0 1 0

2 0 1 1 0

q 3 0 1 0 1

C4 0 0 1 1
V

T lc ca cc thuc tnh
Gi fr s dng thuc tnh khng lm c s cho vic tch v phn mnh. iu ny
l do chng khng biu th cho ln ca tn s ng dng, s o lc ht (affinity) ca cc
thuc tnh Aj), biu th cho cu ni (bond) gia hai thuc tnh ca mt quan h theo cch
chng c cc ng dng truy xut, s l mt i lng cn thit cho bi ton phn mnh.
Xy dng cng thc o lc ht ca hai thuc tnh Aj, Aj.
Gi k l s cc mnh ca R c phn mnh. Tc l R = R| u . .. R)t.
Q {fli> qm } l t p c c c u v n t i n ( t c l t p c c n g d n g c h y t r n q u a n h R ) .
t Q(A, B) l tp cc ng dng q ca Q m use(q, A).use(q, B) = 1.
N i cch khc: Q(A, B) = {qeQ : use(q, A) = use(q, B) = 1}
Th d da vo ma trn n ta thy Q (A |, A i) = {qi}, Q(2, A 2 ) = {q2, qa}, Q(A3, A3 )
= {qi, q 2, q 4>, Q(A 4, A 4 ) = {q3, q 4}, Q(A|, A 2 ) = rng, Q(A,, A 3 ) = {qi}, Q(A 2, A 3 ) = {q2} v
S o lc ht gia hai thuc tnh Ai, Aj c nh ngha l:
afif(Ai, Aj) = z I ref|(qk)acci(qk)
qk eCXAi, Aj) I E RI

Hoc:
af(Ai, Aj) = I s refi(qk)acci(qk)
U se(q k,A i)-lA U se (q k ,A j)= l VRl

Trong ref|(qk) l s truy xut n cc thuc tnh (Ai, Aj) cho mi ng dng qkti v tr
R v acc(qk) l s o tn s truy xut ng dng qit n cc thuc tnh Ai, Aj ti v tr 1. Chng ta
cn lu rng ong cng thc tnh aff(Ai, Aj) chi xut hin cc ng dng q m c Aj v Aj u
s dng.
Kt qu ca tnh ton ny l mt ma trn i xng n X n, mi phn t ca n l mt s
o c nh ngha frn. Chng ta gi n l ma trn lc t (lc ht hoc i lc) thuc tnh
(AA) (attribute affinity matrix).
Vi d 2.14: Chng ta hy tip tc vi v d 2.13. cho dn gin chng ta hy gi s
rng ref| (qt) =1 cho tt c qk v R|. Nu tn s ng dng l:
A c c i(q l)= 1 5 Acc2(q l) = 20 Acc3( q l) = 1 0
Acci(q2) = 5 Acc2(q2 ) = 0 A cc3(q2) =0
Acc,(q3) = 25 Acc2(q3 ) = 25 Acc3(q3) = 25
Acc,(q4) = 3 Acc2(q4) = 0 Acciq 1) =0

64
s o lc ht gia hai thuc tnh A| v A; l:
Aff(A|, A_,) e V |S \ iacc,(qj a c C |( c ] i) I - acci{qi) + acc,(qi) - 45
Tong t tnh cho cc cp cn li ta c ma trn i lc sau:

A A2 A3 A4

A| r45 0 45 0
A2 0 80 5 75
A3 45 5 53 3
A4 75 3 78

Thut ton nng lu yn g ni BIA (Bod EnerY Ai^orithm)


en y ta c th phn R lm cc manh cua cc nhm thuc tnh da vo s lin i
(lc ht) gia cc thuc tnh, v d t lc ca A|, A l 4 5, ca A 2 , A 4 l 75, cn ca A , A 2 l 0,
ca A 3 , A 4 l 3... Tuy nhin, phng php tuyn tnh s dng trc tip t ma trn ny t c
mi ngi quan tm v s dng. Sau y chng ta xt int phng php dng thut ton nng
lng ni BEA ca Hofferand Severance, 1975 v Navathe. 1984.
1. N c thit k c bit xc nh cc nhm gc')m cc mc tng t, khc vi mt
sp xp th r tuyn tnh ca cc mc.
2. Cc kt qu t nhm khng b nli hung bi th t a cc mc vo thut ton.
3. Thi gian tnh ton ca thut ton c the chp nhn c l 0(ii"), vi n l s lng
thuc tnh.
4. Mi lin h qua li giCra cc nhm thuc lnh t c th xc nh c.
Thut ton BF;A nhn nguyn liu l mt ma irn i lc thuc tnh (AA). hon v cc
hng v ct ri sinh ra mt ma trn i lc t (CA) (C'liistered affinity matrix). Hon v c thc
hin sao cho s o i lc chung AM (Global Affinitv Measure) l ln nht. Trong AM l i
lng:
AM - E. ,aff(A A,)[aff(A, A ,,) I aff(A ,.,) I A,) f aff(A,.,, A,)]
Vi aff(A, A|) aff(A Ao) - aff(A I. Aj) aff(A,. A.|) ^ 0 cho V i,J
Tp cc iu kin cui cng cp n nhng trng hp mt thuc tnh c t vo
CA v bn tri ca thuc tnh tn tri lioc ' v bn phi ca thuc tnh tn phi trong cc
hon v ct, v bn trn hng trn cng v bn di hng cui cng trong cc hon v hng.
Trong nhng trng hp ny, chng ta cho 0 l gi tr lc ht a ff gia thuc tnh ang c xt
v cc ln cn bn tri hoc bn phi (trn cng hoc dui y) CLia n hin cha c trong CA.
Hm cc i ho chi xt nhng ln cn gn nhl, v th n nhm cc gi tr ln vi cc
gi tr ln, gi tr nh vi gi tr nh. V ma trn lc ht thuc tnh AA c tch cht i xng nn
hm s va c xy dng trn thu li thnh:

65
AM - r , , r , , aff(A A,)[aff(A,. A ,,) f aff(A., A,.i)J
Qu trnh sinh ra ma trn t lc (CA) c thc hin qua ba bc:
Bc 1: Khi gn
t v c nh mt tront cc ct cua AA vo trong c A . Th d ct 1. 2 irc chn tronu
thut ton ny.
B c 2: Thc hin lp
Ly ln ll mt trong n - i ct cn li (trong i l s ct crc t vo CA) v th
t chng vo trong + 1 v tr cn li trong ma trn CA. Chn noi t sao cho cho ilcchung
AM ln nht. Tip tc lp n khi khng cn ct no dt.
B c 3: s p th t hng
Mt khi th t ct c xc nh, cc hnu cng c t li cc v tr tng i
ca chng ph hp vi cc v tr tng i ca ct.
Thut ton BEA
Input: AA - ma trn i lc thuc tnh;
Output; CA - ma trn i lc t sau khi sp \ p li cc hng cc ct:
Begin
{Khi gn; cn nh rng A A l mt ma trn n X n
C A (., 1 ) ^ A A ( . , 1)
CA(, 2)^^AA(*, 2)
Index:==3 (

while index n do chn v r " nhl " cha ihic h


begin
for i : - l to index-1 by I do
tinh cont(Ai, Aiev A,);
Tinh cont(A,dcx-hA,d, A,dex. i); / iii kin hinl
Loe < ni t, irc cho bi gi tr con ln nht;
for i: in d e x d o w n t o lo e d o Xo ir h a i m a ri

C A (* J)< --C A ( ,j-l);


CA(, loc)-eA A (, index);
index<-index-M ;
end-while
Sp th t cc hng theo th t tirong i ca ct.
end. {BEA}
hiu r thut ton chng ta cn bit cont(*,*,*). c n nhc li s o i ic chung AM
c nh ngha l:
AM - r . , r , , aff(A A)(aff{A A ,,) H- aff(A A,.,)]

66
V c th vit li:
AM = E V iZ V [affAi, Aj) aAi, Aj.|) + afif(Ai, Aj) af(Ai, Aj.i)]
= Z"j=,[EV, aff(Ai, Aj) af(Ai, Aj.,)+ z"i=, aff(Aj, Aj) aff(Ai, Aj.,)]
Ta nh ngha cu ni (Bond) gia hai thuc tnh Ax, v Ay l:
B ond(A Ay ) = Z"z=!aff(A A ,)aff(A Ay)
Th th c th vit li AM l;
AM = s v , [ Bond(A Aj.,) + Bond(Ai, Aj+,)]
By gi xt n thuc tnh sau:
A | A2... Aj.| A jA j j+]... A[,
Vi A| A 2... A |.1 thuc nhm A M v AjAj Aj+|... A thuc nhm AM
Khi s o lc ht chung cho nhng thuc tnh ny c th vit li:
AMoid = A M + A M + bond(Ai.|, A|) + bond(Aj, Aj) + bond(Aj, Aj) + bond(bond(Aj+i, Aj)
= E"i=i[bond(A|, A j.i)+ b on d (A i, Ai+i)] + S"j=i+i[bond(Ai, A i.i)+ b on d (A j, Ai+i)] + 2 bond(A j, Ai))

By gi xt n vic t mt thuc tnh mi Aic gia cc thuc tnh Ai v Aj trong ma


trn lc ht t. s o lc ht chung mi c th c vit tng t nh:
AMnew = A M + AM + bond(Ai, Ak) + bond(Ak, Aj) + bond(Ak, Aj)+ bond(Aj, Aic)
= A M + AM + 2bond(Aj, Ak) + 2bond(Ak, Aj)
V th ng gp thc (net conibution) cho s o i lc chung khi t thuc tnh Ak
gia Ai v Aj l:
Cont(Ai, Ak, Aj) = AMnew - AMoid = 2 Bond(Aj, Ak )+ 2 Bond(A|i, Aj ) - 2 Bond(Aj, Aj )
Bond(Ao, Ak)=0. Nu thuc tnh Alt t bn phi thuc tnh tn bn phi v cha c
thuc tnh no c t ct k+1 ca ma trn CA nn bond(Ai(, A|(+i) = 0.
Vi d 2.5a: Ta xt ma trn c cho trong v d 2.14 v tnh ton phn ng gp khi
di chuyn thuc tnh A 4 vo gia cc thuc tnh A | v A 2, c cho bng cng thc:
Cont(Ai, A4, A 2) = 2bond(A|, A4) + 2 bond(A4, A 2) - 2bond(A |, A2)
Tnh mi s hng chng ta c:
Bond(A,, A 4) = Z V ia m A z , A ,) aff(A A 4) = aff(A,, A ,) aff(A,, A 4) + aff(A 2, A |) af(A 2, A4)
+ aff(A |,A 3) aff(A 3, A 4) + aff(A |, A 4) aff(A 4, A 4)
= 45*0 +0*75+ 45*3+0*78 = 135
Bond(A4, A2) = 11865
Bond(A,, A 2) = 225
V th cont(A ,, A4) = 2*135+2*11865+2*225 = 23550
Vd2.15b\
Chng ta hy xt qu trnh gom t cc thuc tnh ca quan h D n v ng ma n i
lc thuc tnh AA.'

67
Bc khi u chng ta chp cc ct I v 2 ca ma trn AA vo ma trn CA v bt Li
thc hin t ct th ba. C ba noi c th t c ct 3 l: (3-1-2), ( I -3-2) v (1 -2-3). Chng ta
hy tnh ng gp s i lc chung ca mi kh nns ny.
Th t (0-3-1):
cont(A(i. A- A|) 2bond(A(i, A;) I 2bond(A;. A|) - 2bond(A, A|)
bond(A(i. A ) " bond(A(i, A|) 0
bond(A 3, Ai) 45*48 + 5*0 + 53*45 + 3*0 - 4410
cont(Ao, Aj, A|) = 8820
Th t (1-3-2):
c o n t(A |, A 3. A 2) =10150
Th t (2-3-4):
cont (A, Ai. A 4) " 1780
Bi v ng gp ca th t (i-2-3) l lnnht, chng ta t A ,vo bnphai ca A|.
Tnh ton tong t cho A 4 ch ra rng cn phi t n vo bn phi ca A i. Cui cng cc hng
c t chc vi cng th t nh cc ct v cc hng c trnh by trong hnh sau:
A A3 A,

A, 45 0 A, r 4 5 45 0
A2 0 80 A2 0 %
5 80
A3 45 5 45 53 5

A4 75 A, 0 3 15

(a) (b )

A, A2 A4 A, A3 A 2 A4
A, 45 45 0 0 A, r45 45 0 0
A2 0 5 80 75 A, 45 53 3 3
A, 45 53 5 3 0 5 80 75
A4 0 3 75 78 A 3 75 78

(c) (d)

Trong hnh trn chng ta thy qu trnh to ra hai t: mt ' gc trn tri cha cc gi tr
i lc nh. cn t kia di gc phi cha cc gi tr i lc cao. ii trnh phn t ny ch ra
cch thc tch cc thuc tnh ca D n. Tuy nhin, ni chung thi ranh gii cc phn tch
khng hon ton r rng. Khi ma trn CA ln, thng s c nhiu t lin c to ra v nhiu
phn hoch c chn hon. Do vy cn phi tip cn bi ton mt cch c h tliong hon.

Thut ton phn hoch


Mc ch ca hnh ng tch thuc tnh l tm ra cc tp thuc tnh c truy xut cng
nhau hoc hu nh l cc tp ng dng ring bit. Xt ma trn thuc tnh t:

68
I

A ] A 2 A- | Aj+| ... A,

A|
Ai TA

-A ..
Ai+I

BA

A,

Nu mt im nm trn ng cho c c nh, hai tp thuc tnh ny c xc nh,


Mt tp {A|, A 2.....A|} nm ti gc trn tri v tp th hai {A|,|, A |,.2.......A|,} nm ti gc bn
phi v bn di im ny. Chng ta gi 2 tp ln lt l TA, BA. Tp ng dng =- {qi, q ,.....
q^,} v nh ngha tp ng ng chi truv xut TA. ch triiv xut BA hoc c hai, nhng tp ny
irc nh ngha nhir sau;
A(q,) {A, |use(q A|) lj
T = q,| A (q,)c^TA}
B - {q,| A (q ,)c BA}
O - -T u B }
0 dy ny sinh bi ton ti iru ho. Neii c n thuc tnh trong quan h thi s c n - I v
ir kha hu c th i im phn chia trn ng cho chnh cua ma trn thuc tnh t cho quan
h . V tr tt nht phn chia l v tr sinh ra tp T v BQ sao cho tng cc tmy xut chi
mt mnh l ln nht cn tng tmy xut c hai mnh l nh nht. v. th chng ta nh ngha cc
phng trnh chi ph nh sau:
CQ = I z ref(qi)acc,(q,)
qie.) VS|

CT - . . ref|(q,)accj(q,)
qi ( ^ VS|

CB I z ref|(q,)acc(q,)
q i i VSj

COQ I . ref(q,)acc(q,:
qieO VS|

Mi phong trinh ' trn m tng s truy xut n cc thuc tnh bi cc ng dng
trong cc lp tng ng cLa chng. Da trn s liu ny, bi ton ti u ho c nh ngha l
bi ton tim im X (1< X < n) sao cho biu thc;
z - CT -HCBQ - c o '

69
l ln nht. c trng quan trng ca biu thc ny l n nh ngha hai mnh sao cho gi tr
ca CT v CB cng gn bng nhau cng tt. iu ny cho php cn bng ti trng x l khi
cc mnh c phn tn n cc v tr khc nhau. Tluit ton phn hocli c phc tp tuvn
tnh theo s thuc tnh ca quan h. ngha l 0 (n).
Thut ton PARTITION
Input: CA: ma trn i lc t; R: quan h; ref; ma trn s dng thuc tnh;
acc: ma trn tn s truy xut;
Output: F: tp cc mnh;
Begin {xc nh gi tr z cho ct th nht}
{cc ch mc trong phng trinh chi ph ch ra im tch}
tnh CT.|
tnh CBQ.|
tnh COQ_i
b e s t< - C T Q ,,|* C B Q .|-(C 0 Q ,,,)'
do {xc nh cch phn hoch tt nht}
begin
for i from n -2 to 1 by - 1 do
begin
tnh CTQj
tnh CBQ,
tnh COQi
z<^ CT,*CB, (COQ,)
if z > best then
begin
best <- z
ghi nhn im tch bn vo trong hnh ng x dch
end-if
end-for
gi SHIFT(CA)
end-begin
until khng th thirc hin SHIFT c na
Xy dng li ma trn theo v tr x dch
R| <-riTA(R-) K. {K l tp thuc tnh kho chnh ca R}
R 2< -r iB A (R )u K
{ R i,R 2}
End. {partition}
p dng cho ma trn CA t quan h D n, kt qu l nh ngha cc mnh "=
{D ri|, D knj]
trong : D ri| = {A|, A 3} v D \i = {A|, A 2, A 4 }. V th
D iii = {M d n, Ngn sch}
D iiT = {M d n, Tn d n, a im}
( y M d n l thuc tnh kho ca D n).

70
Kim tra tnh ng n
Tnh y : c bo m bng thut ton PARTITION v mi thuc tnh ca quan h
ton cc c a vo mt trong cc mnh.
Tih ci thi irc: i vi quan h R c phn mnh dc Fr {R|, R,} v cc
thuc tnh kho K.

R = \ X K R,, V R ,eFR

Do vy nu iu kin mi Rj l y php ton ni s ti thit li ng R. Mt im


quan trng mi mnh R, phi cha cc thuc tnh kho ca R.

2 .3 .5 . P h n m n h hn h p

Trong a s cc trng hp, phn mnh ngang hoc phn mnh dc n gin cho mt
lc CSDL khng p ng cc yu cu t ng dng. Trong trng hp phn mnh dc
c th thc hin sau mt s mnh ngang hoc ngc li, sinh ra mt li phn hoch c cu trc
cy. Bi v hai chin lc ny c p dng ln lt, chn la ny c gi l phn mnh hn
hp.

2 .3 .6 . C p p h t

Cp pht ti nguyn cho cc nt ca mt mng my tnh l mt bi ton c nhiu


ngi quan tm v nghin cu rng ri. Tuy nhin, phn ln cc nghin cu ny u khng tp
trung vo bi ton thit k c s d liu phn tn, nhng li tp trung vo cch thc t cc tp
tin trn mt mng my tnh. Trong thc t c c mt mng my tnh hot ng mt cch
c hiu qu vi thi gian v chi ph nh nht th rt kh. Tuy nhin, chng ta vn c th lm
c iu ny bng cch ng dng bi ton cp pht (thit k s sp ch d ii L i) vo vic thit
k CO' s d liu phn tn, khi ngi ta tim cch b tr gia cc tp tin v c c trm m y tnh
sao cho l hiu qu cao tc l thi gian v chi phi nh nht nhng vn m bo h thng hot
dng vi lu lng nhanh nht. Hay ni cch khc, ng dng bi ton cp pht cho php chng
ta t c cc i tnh a phng v ti thiu ho vic tham chiu t xa.

71
2 ,3 .6.1 B i ton cap p h t
Gi s c mt tp cc manh F - {F|, F v mt mng bao gm cc v tr
s == {Si, S 2,..., s,} trn c mt tp cc ng dng qi, q^,} ang chy. Bi ton cp
pht l tm mt phn phi ti u" ca F cho s.
Tnh ti u c th c nh ngha ng vi hai s o [Dowdy and Foster, 1982]:
- Chi p h h nht: Hm chi ph c chi lu mnh F, vo v tr S|, chi ph vn tin mnh F,
vo v tr S, chi ph cp nht F, ti tt c mi v tr G cha n v chi ph tryn d liu. V th bi
ton cp pht c gang tm mt lc cp pht vi lini chi ph t hp nli nht.
- Hin nng: Chin lc cp pht c thit k nhm duy tr mt hiu qu ln l h
thp thi gian p ng v tng ti a lu lng h thng ti mi v tr.
Ni chung bi ton cp pht tng qut l mt bi ton phc tp v c phc tp l NP-
y (NP-complete). Vi th cc nghin cu irc dnh cho vic tm ra cc tluit gii
heuristec tt c li gii gn ti u.

2.3.6.2, Cch tip cn 1


a). Yu cu v thng tin

giai on cp pht, chng ta cn cc thng tin nh ing v CSDL, v cc ng dng


chy trn , v cu trc mng, kh nng x l v gii hn lu tr ca mi v tr trn mng.

Thng tin v CSDL


tuyn ca mt mnh F| ng vi cu vn tin q,. y l s lng cc b ca F| cn
c truy xut x l qi. Gi tr ny k hiu l sel(F|).
Kch thc ca mt mnh Fj c cho bi:
Size (Fj) ^ card (F|)* length(F,)
trong : Length(F|) l chiu di (tnh theo byte) cua mt b trong mnh F,.

Thng tin v ng d m g
Hai s liu quan trng l s truy xut c do cu vn tin qj thc hin trn mnh F, trong
mi ln chy ca n (k hiu l RR,|), v tng ng l cc truy xut cp nht (URy). Th d
chng c th m s truy xut khi cn phi thc hin theo yu cu vn tin.

Chng ta nh ngha hai ma trn UM v RM vi cc phn t tng ng U ,J v r,, c


c t tng ng nh sau:

1 nu vn tin q,c cp nht mnh F,

0 trong trng hp ngc li

! nu vn tin q,c cp nht mnh F,

0 trong trng hp ngc li

72
M vct o gm cc gi tr o(i) cng c nh ngha, vi o(i) c t v tr a ra cu
vn tin qi .

Thng tin v v tr
Vi mi v tr (trm) chin^ ta cn bit v kh nng lu tr v x l ca n. Hin nhin
l nhng 2;i tr ny c th tnh c bii. cc hm thch hp hoc bng phng php nh gi
on gin.
+ Chi ph n v tnh lu d liu ti vj tr Si. s c k hiu l VSC,
+ c t s o chi ph LPCk, l chi ph x l mt n v cng vic ti v tr S,. n v
cng vic cn phi ging vi on v ciia RR v UR.

Thrg tin v m ang


Chng ta gi s tn ti mt mng on iin, g biu th cho chi ph truyn mi b gia
hai v tn' s, v S|. c th tnh c s lng thng bo, chng ta dn^ fsize lm kch thc
(tnh theo byte) ca mt b d liu.
b) M hnh cp pht
M hinh cp pht c mc tiu lm gim thiu tng chi ph x l v lu tr d liu trong
khi vn c gng p ng c cc i hi v thi gian p ng. M hnh ca chng ta c hnh
thi nh sau;
Min (Total Cost)
ng vi rng buc thi gian p ng, rng buc lu tr, rng buc x l.
Bin quyt nh x,j c nh ngha l:
I nu mnh F, c lu ti v tr S

0 trong trng hp ngc li


Tng chi ph
Hm tng chi ph c hai thnh phn: phn \ l vn tin v phn lu tr. V th n c th
c biu din l;
TOC X PC, I I I STC
V 1|I e VSkeS

trong PC, l chi ph x l cu vn tin ng dng q, ; STCk l chi ph lu mnh Fj ti vj tr S|,.


Chng ta hy xt chi ph lu tr* trc. N c cho bi:
STC,k - u s e , * si z e( F ,)

Chi ph x l vn tin kh xc nh hn. Hu ht cc m hnh cho bi ton cp pht tp


tin FAP tch n thnh hai phn: (?hi ph x l chi c v chi ph x l ch cp nht, o y chng
ti chn mt hng tip cn khc trong m hnh cho bi ton DAP v xc nh n nhir l chi
ph x l vn tin bao gm chi ph x l l PC v chi ph truyn l TC. V th chi ph x l vn
tin QPC cho ng dng qi l:
PC, - PC, + TC,
Thnh phn x l PC gm c ba h s chi ph: chi ph triiv xut AC. chi ph duy tr ton
vn lE v chi ph iu khin im thi CC;

73
PC, - AC. f IE. ! c c .
M t chi tit cho mi h s chi ph ph thuc vo ihut ton c dng hon tt cc
tc v . Tuy nhin, minh ho ta s m t chi tit v AC:
A C .- z Z(u,*UR,-,+ r * R R ,)* x ,,* L P Q
VS|,eS VF,gF
Hai s hng u trong cng thc trn tnh s truy xut ca vn tin q, n mnh F|. Ch
rng (URy + RR,|) l tng s cc truy xut c v cp nht. Chng ta gi thit rng cc chi ph
x l chng l nh nhau. K hiu tng cho bit tng s cc truy xut cho tt ca mi I i n h c
qi tham chiu. Nhn vi LPCk cho ra chi ph ca truy xut ny ti v tr Sk- Chng a li dng
ch chn cc gi tr chi ph cho cc v tr c lu cc mnh.
M t vn rt quan trng cn cp y. Hm chi p h truy xut g ia s rang vc X I V
l m t cv vr tin c hao gm c vic phn r n thcih m i p cc vcm n con hot tc rn
m t mnh c h w li v (ri , theo sau Ici ruyn kt qua tr i v v ri lira ra vn ih
H s chi p h duy r nh ocm vn C( ) fh cc 1 C r ^in, hlm h phn x ngoi
tr chi p h x l cc h m cn v cn /hay c nham phcm nh chi p h thc s c1 dvy r'i tinh
ton vn.
Hm chi ph truyn c th c a ra ging nh cch ca hm chi ph truy xut. Tuy
nhin, tng ch ph truyn d liu cho cp nli v clio yu cu ch c s khc nhau hon ton.
Trong cc vn tin cp nht, chng ta cn cho tt c mi v tr bit noi c cc bn sao cn trong
vn tin ch c th ch cn truy xut mt trong cc bn sao l . Ngoi ra vo lc kt thc vu
cu cp nht th khng cn phi truyn d liu v ngc li, cho v tr a ra vn tin ngoi mt
thng bo xc nhn, cn trong vn tin ch c c th phi c nhiu thng bo truyn d liu.
Thnh phn cp nht ca hm truyn d liu l:
TCU,= I Zu,|*X|k.gi,k + I Zii,|*x,k.g k,|
S|,eS F-,eF SkfcS F,eF
S hng th nht gi thng bo cp nht t v tr gc o(i) cua q, n tt c bn sao
cp nht. S hng th hai dnh cho thng bo xc nhn.
Thnh phn chi ph ch c c th c t l:
TCR, - I min (U j * Xjk * go(.k+r,| * X|i,.(sel,(F|)* length (F,)/fsize) *
F| e F S ^ e S

S hng th nht trong TCR biu th chi ph truyn yu cu ch c n nhng v tr c


bn sao ca mnh cn truy xut, s hng th hai truyn cc kt qu t nhng v Ir nyn
nhng v tr yu cu. Phng trinh ny khng nh rng trong s cc v tr c bn sao ca cng
mt mnh, ch v tr sinh ra tng chi ph truyn thp nht mi c chn thc hin thao tc
ny.

By gi hm chi ph tnh cho vn tin q, c th c tnh l:

TC, TCU, TCR,

74
Rcg buc
Rng buc thi gian p ng cn c c t l thi gian thc thi ca qi< thi gin p
ng ln nht ca q, Vq, e Q .
Ngi ta thch c t s o chi ph ca hm theo thi gian bi v n n gin ho c t
v rng buc thi gian thirc thi.
Rng buc lim tr
z STCk ^ kh nng lu tr ti v tr S k-, VSi^eS
VFjeF

trong rng buc x l l:


z ti trng x l ca q, ti v tr Sk < kh nng x l cua Si,, VSkC-S.
Vqie

2 .3 .6 3 , C ch tip cn 2
Xy dnu bi ton cp pht

u vo: Tp cc mnh, tp cc trm, dunii lnu ca trm.


u ra: Cc mnh c nh v ti cc trm lm vic.
Vi mc tiu ca bi ton i cc i ho tnh a plurong v ti thiu ho vic tham
chiu t xa.
Phn tch
Gi s c mt tp cc mnh f- - {F|, F.......F,i} v mt mng bao gm cc v tr
s |S i, S 2......s,} trn c mt tp cc ng dng {qi, q).........q^j) ang chy.
- Mc tiu bi ton cp pht l lm mt phn phi ti u" ca F cho s.
- Tnh ti u y c [ Dowdy and F o ste r, 1982] nh ngha ng vi hai s o
sau:
(1). Chi ph nh nht: Hm chi ph gm c;
+ Chi ph lu mnh F, vo v tr s,:
-- Chi ph vn tin mnh F', vo v tr s,;
Chi ph cp nht Fj ti tt c mi v tr c cha n;
+ Chi ph truyn d liu.
(2). H iu qu: Chin lc Cp pht c thit k nhm duy tri mt hiu qu ln
l:
^ H thp thi gian p ng;
+ Tng ti a lu lng h thng ti mi v tr.
Bi ton ph thuc vo cc rng buc khc sau
+ Kh nng (dung lng) ca trm c hn.
+ Tp c th t ' mt trm hay nhiu trii:

75
*- Nu mt trm: gi thnh c ^ gi thnh cp nht:
- Nu nhiu trm: ^ thnh c gi thnh cp nht.
+ Gi thnh ca vic tham chiu a plnronu nh hn nhiu gi
thnh ca vic tham chiu t xa.
ng dng vo c s d liu phn tn
+ Coi mi on l mt tp cc on c lp vi nhau tu tng ng dng
chn.
+ Coi mi quan h tng th l mt tp.
Cc k hiu
+ C N trm, nh s trm theo ch s j, dung lng ca trm j l Cj
C M tp, nh s tp theo chi s i, kch thc ca tp i l S
+ C T giao dch, ch s k, tn sut ca giao dch k pht ra ti trm j l fkj
+ S cc truy nhp ca giao dch k n tp i l n^,.
Gi thit bi ton
+ Kh nng ( ung lng) ca trm c hn
+ 1 tp ch nh v ti I trm.
+ Gi tlinh ca thao tc c v cp nht l nh nhau,
i Cc truy cp a phng d mt cch ng k so vi truy cp t xa.
Quy nh cc hin v mt s iu kin rng huc
Xj| : bin quyt nh

nu tp i t ti trm j
Xij =
0 ngc li

rl). vi V i K 2 ,...,m
./

r2). < C vi V j = 1,2,..., n


J

-> Vj ^ ( s cc truy nhp n tp i i hi ti trm J )


k

B i ton : i xc nh cc i, j sao cho t c Max{V,j. x,j) > trm j l tt nht.

iu kin rng buc bi ton :


I J

( Tc l kch thc d liu < dung lng c mng )


Q ui c: fk| Ma trn F . Hk, ' Ma trn N

T N -> N (l hon v ca N) Tnh V N' * F = '-fki ^


k

76
Thut ton
Gm 5 bc sau:
Bc 1: Tnh cc j(i) ^ ^ Max(V,|) vi V i , 2 ......m
Bc 2 : Th
I nii j luic j(i)
0 ng-c li

Bc 3: Kim tra rng buc r2)


Bc 4: Nu r2) vi phm ti trm J th t li X,J (tc l chn J khc) > uay v Bc
1: Lm li t u cho n ht.
Nmrc li ; nu r2) khng vi phm thi chuyn sang Bc 5
Bc 5: Xo cc ct i tng ng vi X,, 1 kt thc.
ts d n s bi ton cp pht
Bi ton pht biu nh sau:
Cho ma trn N thong k cc giao dch truv nhp k ti cc tp i

N' Q ' "


K ( 1) (2 ) (3) (4) (5) (6 )

s, (30) T i 5).... ( 10) (30) J 21 )_


1 _ 30 30
1L. ' | 5 .......... 100...........
3 ........ .' 40 20 20"7
.............. 20 " ^
5 .... ..... . 10 10 ^o '^
6 10 10

Ma trn F: Tn sut ca cc giao dch k vi trm j

F
( 1) (2 ) (3) (4)

'^ 50 J l oo f 7 ^
2 20 10
3 20 10
4................ ... '20 20 5 0 ....... .......... T o '
5"............ " 20 50 ............ "10 ........... .
6 50 10

C hoC , = 5 0 M B
Yu cu: Hy nh v v tr ca cc tp i trn cc trm j sao cho thi gian truy cp nh
nht vi hiu qu cao nht.

77
p dng thut ton cp pht gii quy bi ton trn nh sau:
Trc tin ta c:

5, = 15 0 M 5 v = 50 * 4 = 2 0 0 M 5
,= I >=1

= > N h v y: 'Yj S, < vi i = 1, 2 ,..., 6 v j = 1, 2, 3, 4


' J

Tip theo tnh V|j theo cng thc; Vj = c kt qu sau;

(1) (2 ) (3) (4) (5) (6 )

Si (30) (2 0 ) (15) (1 0) (30) (25)


1 300 1 0 0 0 700 2800 400 400
2 350 1 2 0 0 550 1400 2 0 0 410
3 250 500 1500 500 1500 500
4 3200 1 1 0 0 3400 1 0 0 300 1 0 0

Bc 1: T n h j(i)= = Max(Vij)} vi V i = 1, 2 ,..., m


j ( l ) = {4} vv ,4= 3200 v ti t Max(Vij)
j(2) = {2} vV22 = 1200 v ti t Max(Vy )
j(3) = {4} vV 34 = 3400 v ti t Max(Vjj )
j(4) = {1} vV 41 = 2800 v ti t Max(Vjj )
j(5 ) = {3} vV53 = 1500 v ti t Max(Vjj )
j(6) = {3} vV 63 = 500 v ti t Max(Vij )
Birc 2: Th

1 nuj thuc j(i)


Xij = 0 ngc li

Xi4 = 1 v c j = 4 t h u c j ( l )
X22 = 1 v c j = 2 thuc j(2)
X34 =1 v c j = 4 thuc j(3)
X41 = 1 v c j = 1 thuc j(4 )
X53 = 1 v c j = 3 thuc j(5)
X63 = 1 v c j = 3 thuc j( 6 )

78
Bc 3: Kim a rng buc r2)

s ,.x ,^ < q v i V j = l , 2, . . . , n
J

Ti tt-m 1: t tp 4 vi 2 !]54 .;C4| = 10.1 < Ci = 50 => chp nhn c => khng vi phm
I

Ti trm 2: t tp 2 vi ^ S 2 -X22 = 20.1 < C2 = 50 => chp nhn c => khng vi phm
2

Ti trm 3: t tp 5, 6 vi ^ ( 5'5.X53 + = 30.1 + 25.1 = 55 > C3 = 50

Vi phm => khng chp nhn c => t li X53 v x3

Ti trm 4: t tp 1, 3 vi ^ (iS 'j.X |4 + 5 3 .X34 = 30.1 + 1 5 . 1 = 4 5 < C4 = 50


4

Khng vi phm => chp nhn c

Bc 4: T Bc 3 thy ti m 3 vi phm iu kin rng buc r2) do phi t li cc X jj

(X 5 3 v X 6 3 ) bng cch chn j khc.

Ti trm 3: j =3 gi nguyn X53 cn X63 t li bng cch thay j = 2 => X62 => Quay v Bc 1
lm li cho n ht.
Bc 4.1: j ( l ) = {4} v v ,4 = 3200 v ti t Max(Vij )
j(2) = { 2 } v V 22 = 1200
J(3) = {4} v V34 = 3400
j(4) = {1} VV41 =2800
j(5) = { 3 } VV53 = 1 5 0 0
j( 6 ) = { 2 } VV62 =410
Bc 4.2: Xi4 = 1 v c j = 4 thuc j ( l )
X22 = 1, X34 = 1, X41 = 1 ,X53 = 1, X62 = 1
Bc 4.3: Kim tra rng buc r2)
Ti trm I : t tp 4 vi S4* X4 1 = 10*1 < C1 = 50
=> chp nhn c => khng vi phm r2 )
Ti m 2: t tp 2, 6 vi S2* X22+ S* X62 = 20* 1+ 25* 1 ^ C2 = 50
=> chp nhn c => khng vi phm r2)
Ti trm 3: t tp 5 vi Ss*X53 = 30*1 < C3 = 50
=> chp nhn c => khng vi phm r2)
Ti trm 4: t tp 1, 3 vi S]*X14+ S3*X34 = 30*1 + 15*1 ^ C4 = 50

79
chp nhn c > khng \ i phm r 2 )
Bc 4.4: T Bc 4.3 thy khng c trm no (1,2 , 3, 4) vi phm rng buc 1*2 )
=> Chuyn sang Bu*c 5
Bc 5: Xo ln lt cc ct i, dng j tng ng vi x ^ 1
1). Xo ct 4 dng 1; 2). Xo ct 2. 6 dng 2;
3). Xo ct 5 dng 3; 4). Xo ct 1, 3 dng 4.
Ket qu;
1). Tp 1 v tp 3 t ti trm 4
2). Tp 2 v tp 6 t ti trm 2
3). Tp 5 t ti trm 3
4). Tp 4 t ti trm 1

Kt lun
Vic cp pht ti nguyn hay b tr ti nguyn cho mt mng my tnh th rt kh v d
dn n nhm ln t lm tn nhiu cng sc, nu b tr khng ph hp (b tr gia tp -
trm) dn n vic truy xut d liu chm, mt nhiu thi gian dn n tn chi ph, hiu qu
thp. V vy, vic xy dng bi ton cp pht v p dng chng vo thit k sp ch d' liu
khc phc c nhc im trn, bi ton ny c ngha to ln trong vic thit k c s d liu
phn tn. Tuy vy, y l bi toii c tnh thc t cao.
Trn y ch l mt ng dng nh trong nhiu cng c h tr vic thit k c s d liu
phn tn. Hy vng rng vi nhng ni dung trinli by trong bi ny, c gi c th pht trin
p dng khai thc tt hn cho cng vic ca minh.

2.4. X L V N T IN

Ng cnh c chn y l php tnh quan h v i s quan h. Nh ta thay cc quan


h phn tn c ci t qua cc mnl. Thit k CSDL c vai tr ht sc quan trng i vi
vic x l vn tin vi nh ngha cc mnh c mc ch lm tng tnh cc b tham chiu, v i
khi tng kh nng thc hin song song i v'i nhng cu vn tin quan trng nht. Vai tr ca
th x l vn tin phn tn l nh x cu vn tin cp cao trn mt CSDL phn tn vo mt chui
cc thao tc ca i s quan h trn cc mih. Mt s chc nng quan trng biu trirng cho ih
x ny. Trc tin cu vn tin phi c phn r thnh mt chui cc php ton quan h c
gi l vn tin i s. Th hai, d liu cn truy xut phi c cc b ha cc thao tc trn cc
quan h c chuyn thnh cc thao tc trn d liu cc b (cc mnh). Cui cng cu vn tin
i s trn cc mnh phi c m rng bao gm cc thao tc truyn thng v c ti u
ha hm chi phi l thp nht. Hm chi ph mun ni n cc tnh ton nh thao tc xut nhp
a, ti nguyn CPU v mng truyn thng.

80
2 .4 .1 . B i ton x l vn tin

C hai phng php ti u ha c ban irc s dng trong cc b x l vn tin; phng


php bin i i s v chin lc c lng chi ph.
Phong php bin i i s on gin ha cc cu vn tin nh' cc php bin i i s
nhm h thp chi ph tra li cu vn tin, c lp vi d liu thc v cu trc vt Iv ca dCr liu.
Nhim v chnh'CLia th x l vn tin quan h l bin i cu vn tin cp cao thnh mt
cu vn tin tog ong cp thp hon c din t bng i s quan h, Cu vn tin cp thp
thc s s ci t chin lc thc thi vn tin. Vic bin i ny phi t uc c t n h ng n
lan tnh hiu qu. Mt bin i c xem l ng n nu cu vn tin cp thp c cng ng
ngha vi cu vn t i n ^c, ngha l ca hai cim clio ra Iit k qu. Mt cu vn tin c th c
nhiu cch bin i tng ong thnh i s quan h. BcVi vi mi chin lc thc thi tong
ng u s dng ti nguyn my tnh rt khc nhau, kh khn chnh l chn ra c mt
chin lc h thp ti a vic tiu dim ti nmivn.
V CJ 2. 6:
Chng ta hy xt irit tp con cua c CSDL 'c cho:
NV( MNV, Tn NV, Chc v), PC (MNV, MDA, Nhim v, Thi gian)
V mt cu vn tin n gin sau:
'^Cho bit tn ca cc nhn vin hin ang qun l mt d n'
Biu thc vn tin bng php tnh quan h theo c plp ca SQL !:
SELECT Tn NV
FROM NV, PC
WHERE NV.M N V -PC.M N V
AND NhimvLr^"unlv"
Hai biu thc tung ng trong i s quan h do bin i chnh xc t cu vn tin
trn l: 7TcnNv( Nhinui ^NV MNV PCMNv(NV n PC ))
V 7InNv(NV|><|MNv(ONiini\it tiinK ( )))
Hin nhin l trong cu vn tin th hai. chng ta trnh s dng tch Descartes, vi th
tiLi dng t ti nguyn my tnh hon cu vn tin th nht v v vy nn c gi li.
Trong bi cnh tp trung, chin lc thc thi vn tin c th c din t chnh xc bng
mt m rng ca i s quan h. Nhim v chnh ca th x l vn tin tp trung l i vi mt
cu vn tin cho, n phi chn ra c mt cu vi tin i s lt nht trong s nhng cu vn
tin tng ong. Bi vi y l bi ton phc tp v Iit tnh ton khi so krng cc quan h kh
ln, nn ni chung n thng c rt li yu cLi i chn c mt li gii gn ti u.
Trong cc h phn tn, i s quan h khng din t cc chin lc thc thi. N
phi c cung cp thm cc php ton trao i dO' liu giCra cc v tr. Bn cnh vic chn th
t cho cc php ton i s quan h, th x l vn tin phn tn cng phi chn cc v tr tt nht
x l d liu, v c th c cch bin i d liu. Ket qua l khng gian li gii cc chin lc
tlrc thi tng ln, lm cho vic x l vn tin phn tn tng ln rt nhiu.

81
Vi d 2.17: Th d Iiy minh ha tm quan trng cia vic chn la v tr v cch truyn
d liu ca mt cu vn tin i s. Chng ta xt cu vn tin cua th d trn:
^TiiNv(N V|X||viNv(Nhimv\i=--''Oitanl''(PC)))
Chng ta gi s rng cc quan h NV v PC c phn mnh ngang nh sau:
N V i- m n v .- r .v ( N V ) ; N V .-O m n v i,v(NV)

PC|=O mnv < i:r'(PC); PCi=MNv > H.v(PC)


Cc mnh PC|, PC 2, NVI, NV 2 theo th t c lu ti cc v tr 1, 2, 3 v 4 v kt qu
c lu ti v tr 5.

V tr 5

Kt qu = N V l U N V 2

Hnh 2.9a). Chin lc A.

V tr 5

Ket qua (N V 1*^ N V 2) X MNVNhini vii= '(^iin I v ' C P C PC2)

PC PC2 NV| \ NV2

V tr 1 V tr 2 V tr 3 V tr 4

2.9/?;. Chin lc B.

Mi tn t v tr i n v tr j c nhn R ch ra rng quan h R c chuyn t v tr i n


v tr j. Chin lc A s dng s kin l cc quan h EMP v ASG c phn mnh theo cng
mt cch thc hin song song cc php ton chn v ni. Chin lc B tp trung tt c cc
d liu ti v tr lu kt qu trc khi x l cu vn tin.

82
nh gi vic tiu dng ti nguyn ca hai chin lc ny, chng ta s ng mt m
hinh chi ph n gin sau. C hng ta gi S rng thao tc truy xut mt b (tupie access) c k
hiu l tupacc, l mt on v v thao tc truyn mt b (tupie transfer) tuptraiis l 10 n v.
ng thi chng ta cng gi s l cc quan h NV v PC tng ng c 400 v 1000 b, v c
20 gim c d n thng nht cho cc v tr. Cui cng ta gi s rng cc quan h PC v NV
c gom t cc b tng ng theo cc thuc tnh Nhim v v MNV. V vy c th truy xut
trc tip n cc b ca PC da trn gi tr ca thuc tnh Nhim v (tng ng l MNV cho
NV)
* Tng chi ph ca chin lc A c th c tnh nh sau:
1.To ra PC' bng cch chn trn PC cn (lO+lO)* tupacc == 20
2. Truyn PC n v tr ca NV cn (10+10)*tuptrans = 200
3. T o N V bng cch ni PC v N V cn (10+10)*tupacc*2 = 40
4. Truyn N V n v tr nhn kt qu cn (I0+10)*tuptrans ^ 200
Tng chi ph 460
* Tng chi ph cho chin lc B c th 'c tnh nhir sau:
1. Truyn NV n v tr 5 cn 400*tiiptrans ^ 4.000
2. Truyn PC n v tr 5 cn IOOO*tuptrans =10.000
3. To ra PC bng cch chn trn PC cn f 000*tupacc = 1.000
4. Ni NVv PC cn 400*20*tiipacc = 8.000
Tng chi ph l 23.000

Trong chin lc B, chng ta gi s rng cc phng php truy xut cc quan h NV


v PC da trn cc thuc tnh Nhimv v MNV b mt tc dng do vic truyn d liu. y l
mt gi thit hp l trong thc t. Chin lc A tt hn vi h s 50 'Yt c ngha . Hn na
n a ra mt cch phn phi cng vic gia cc v tr. Khc bit cn cao hn na nu chng ta
gi thit l tc truyn chm hn hoc mc phn mnh cao hn.
Chi' s nh gi tiu dng ti nguyn l tng chi ph (total cost) phi tr khi x l vn
tin. Tng chi ph l tng thi gian cn x l cc php ton vn tin ti cc v tr khc nhau v
truyn d liu gia cc v tr. Mt cng c khc l thi gian p ng ciia cu vn tin, l thi gian
cn thit chy cu vn tin. Vi cc php ton c th c thc hin song song ti cc v tr
khc nhau, thi gian p ng c th nh hn nhiu so vi tng chi ph ca n. Trong mi trng
CSDL phn tn, tng chi ph cn phi gim thiu l chi ph CPU, chi ph xut nhp v chi ph
truyn. Chi ph CPU l ch ph phi tr kh thc lin cc thao tc trn d liu trong b nh
chnh. Chi ph xut nhp (1/0) l thi gian cn thit cho cc thao tc-xut nlp a. Chi ph
truyn tin l thi gian cn trao i d liu gia cc v r tham gia vo trong qu trnh thc thi
cu vn tin. Chi ph ny phi tr khi phi x l cc thng bo (nh dng/gii nh dng) v khi
truyn d liu trn mng. Chi ph truyn c l l yu t quan trng nht c xt n trong
CSDL phn tn.
phc tp ca cc php ton quan h: cc php ton chn, Chiu (Khng loi b
trng lp) c phc tp l 0 (n ); Cc php chiu (C loi b trng lp), trng lp, ni, ni na,
chia c phc tp l 0(n*iog); Tch Descartes c phc tp l O(n^).
(N biu th lc lng ca quan h nu cc b thu c c lp vi nhau).

83
nh gi:
+ C c th ao tc c tnh chn la lm gim i lc lng cn phi thc hin tr c tin.
+ Cc php ton cn phi c sp xp trnh thc hin tch Descartes hoc li
thc hin sau.

2.4.2. P h n r v n tin

Phn r vn tin l giai on u tin ca q u trinh x l cu vn tin. N bin i cu vn


tin ' dn g php tnh qua n h thnh cu vn tin i s quan h. C c vn tin nh p xut u tham
chiu cc quan h ton cc v kh n g d n g n cc th n g tin phn b d liu. V th phn r vn
tin u ging nhau tro n g c h th ng tp trung ln phn tn, cu vn tin xut s ig v ng'
ngha v t cht l n g theo ngha l loi b cc hnh n g kh n g cn thil. Phn r vn tin
c th xe m n h bn birc lin tip nhau: chun ho, phn tch, loi b d tha, vit li cu vn
tin

Chun ho
M c ch ca chu n h o (normalization) l bin i cu vn tin thnh mt d n g chun
x l tip. Cliin ho m t vn tin ni c h u n g gm c t cc l ng t v lng t ho vn tin
bng cch p d n g u tin ca cc ton t logic.
Vi cc ngn n g qu an h n h SQ L, bin i quan tr ng nht l l ng t ho vn tin
(mnh Where), c th l mt v t phi lng t vi phc tp no vi tt c cc
lng t cn thit (V ho c ) c t pha trc. C hai d n g ch u n c th cho v t, mt c
th bc cao c ho A N D ( a ) v loi cn li cho th bc cao O R (v). D n g ch u n hi l hi (v t A)
ea cc tuyn v t (cc v t v):

( P l V P | W . . . . V p | ) A ...... A ( p , i V p,n.) V . . . . V p,n)

trong Pi| l mt v t n gin. N g c li, mt liig t ho d n g chiin tuyn nhtr sau:

(P)l A Pi2 A....A Pi,0 V .....V(p,|A Pm2 A....A p,)

Bin i cc v t phi lng t ltm t h n g b ng c ch s cc qu y tc t n g ng


cho cc php ton logic (A, V, ~-i): 9

1 . Pl A i <-> Pp A Pi
2. p V P:> <:-> Pi

3. Pl A ( P 2 A p .o < -> ( P l A P:> ) A P 3


4. Pi V ( P:> V p^) <-> (Pi V p. ) V P3

5. Pi a ( P2 V p O ( P l A P 2 ) V ( P | A P ^ )

6. Pi V ( A y) o ( p iV P 2 ) A (pi V )

7 . ....(P t A ) O - n P iV - n p 2

8. - i( p i V p ^ ) C:> - i P i A -<p2

9.. ^ ( - . p ) cr> p

Tr on g d n g chu n tc tuyn, cu vn tin c th c x l n h cc cu vn tin con hi


c lp, c ni bn g p h p h p ( t ng ng vi cc tuyn mnh ).

84
Nhn xt: Dng chun tuyn t c dng v dn n cc v t ni v chn trng nhau.
Dng chun hi hay dng trong thc t
Vi d 2.18:
Tim tn cc nhn vin ang lm vic d n P| trong 12 thng hoc 24 thng.
Cu vn tin c din t bng SL nh sau:
SELECT TnNV
FROM NV, PC
WHERE NV.MNV=PC.MNV
AND P C .M D A = P |
AND Thi gian=12 OR Thi gian=24
Lng t ho dng chun hi l;
NV.MNV=PC.M NV A PC.MDA= P | A (Thi gian=l2 V Thi gian=24)
Cn lng t ho dng chun tuyn l
- (NV.M NV=PC.MNV A PC.MDA= P| A Thi gian= 12) V

(NV.M NV=PC.MNV A PC.MDA= P | A Thi gian-24)


dng sau, x l hai hi c lp c th l mt cng vic tha nu cc biu thc con
chung khng c loi b. '
Phn tch
Phn tch cu vn tin cho php ph b cc cu vn tin chun ho nhng khng th
tip tc x l c hoc khng cn thit, nhng [ do chnh l do chng sai kiu hoc sai ng'
ngha.
Mt cu vn tin gi i sai kiu nu n c mt thuc tnh hoc tn quan h cha c
khai bo trong lc ton cc, hoc nu n p dng cho cc thuc tnh c kiu khng thch
hp.
Vi d 2.19: Cho quan h NV(MaNV, TenNV, Chucvii, Tienliiong)
V cu vn tin sau:
Select Maphong
From NV
Where TenNV >200
Yu cu: Hy kim tra cu vn tin trn xem n c sai v kiu khng?
Tr l i. Cu vn tin trn l sai v kiu, bi v hai l do sau:
1 ). Thuc tnh Maphong cha c khai bo trong lc ton cc.
2). Php so snh TenNV>200 khng ph hp vi kiu chui TenNV.
- Mt cu vn tin gi l sai ngha nu cc thnh phn ca n khng tham gia vo vic
to ra kt qu, tc l cc v t ni trong cu vn tin b thiu v cu vn tin cn c loi b.
Ngoi ra. chng ta c th thc hin kim tra mt cu vn tin xem n c sai ngha hay
khng bng cch cho n thc hin vi mt ip cc cu vn tin quan h kh rng ri, l cc

85
vn tin khng cha cc tuyn v phu nh ta c th dng th vn tin. v n tin cha php chn
ni chiu.
- Biu din bng th vn tin:
+ 1 nt biu th quan h kt qu;
+ Cc nt khc biu th cho quan h ton hng;
+ Mt cnh gia hai nt khng phi l quan h kt qua biu din cho mt ni;
+ Cnh m nt ch l kt qu s biu th cho php chiu;
+ Cc nt khng phi l kt qu s c gn nhn l mt v t clin hoc 1 v t ni
(chnh n).
- th ni: mt th con quan trng ca th vn tin, n ch c cc ni.
V d 2.20 : PC (MNV, MaDA. NV. Tgian)
N V (M aN V ,T n N V , CV)
DA (MaDA, TnDA, Kph, im)
Tm tn, Nv cc ca nhng ngi c Cv=T P lm vic d n C A D /C A M trong
hn 3 nm
Select TnNV
From PC, NV,DA
Where PC.MaNV - NV.MaNV and PC.MaDA DA.MaDA
and TnD A ='C A D /C A M and CV =^'TP' and tgian >36
Cc v t n gin:
p l; P C .M a N V -N V .M a N V
p2: PC.MaDA DA.MaDA
p3:T nD A -*C A D /C A M '
p4; CV - T P
p5: tgian >36
th vn tin Ih n i

P3

86
V iih 2.21: Select TenNV

From PC. NV. DA

Where PC.MaNV = NV.MaNV

and TeiiD A ^'C A D /CA M ' and CVu - TP" and tgian >36

P5 ^
PC

NV
P3

=> thi khng lin thng

Nhn xt: Cu vn tin sai ng ngha nu th vn tin ca n khng lin thng: I hoc nhiu
th con b tch ri vi th kt qu.
L o i h dii' tha
Mt cu vn tin ca ngiri s dng thng irc din t trn mt khung nhn c th
c b sung thm nliu v t c c s tng ng khung nhn - quan h, bo m c
tnh lon vn ng ngha v bo mt. Th nhng liig t ho vn tin c sa i ny c th
cha cc v t d tha, c th phi khin lp li mt s cng vic. Mt cch lm n gin vn
tin l loi b cc v t tha.
Loi bo v t d tha bng qui tc lu ng; 10
1. p A p o p
2. p V p o p
3. p A True <=> p
4. p V False o p

5. p A False o False
6 . p V True c > True
7. p A "I p False
8 . p V 1 p o True
9. pi A (piV p2) <-:> pi
10. pi V (pi A p2) < > pi

87
V d 2.22: Select CV
From NV
Where (Not (CV = T P )
and ( C V = T P or C V =PP)
a n d n o t( C V = PP))
or TnN V =M ai

p l:C V = T P Lng t ho:


p 2 :C V = PP y (-^ pl A (pl V p2) A ^ p2 ) V p3
p3: TnN V =M ai _
p dng ; (-T pl A ((pl A 1 p2 ) V (p2 A 1 p2))) V p3
p dng 3: (-. p 1 A p 1 A p2 ) V (-T p 1 A p2 A I p2) V p3
p dng 7: (False -I p2) V ( -1 pl A False) V p3
p dng 5: False V False V p3 = p3
Vit li: Select CV
From NV
where TnNV= Mai'
Vit li cu vn tin
Bc ny c chia thnh hai bc nh:
(1) Bin i cu vn tin t php tnh quan h thnh i s quan h.
(2) Cu trc li cu vn tin i s nhm ci thin hiu nng.
cho d hiu, chng ta s trinh by cu vn tin i s quan h mt cch hnh nh bng
cy ton t. Mt cy ton t l mt cy vi mi nt l biu th cho mt quan h c lu trong
CSDL v cc nt khng phi l nt l biu th cho mt quan h trung gian c sinh ra bi cc
php ton quan h. Chui cc php ton i theo hng t l n gc biu th cho kt qu vri tin.
Bin i cu vn tin php tnh quan h thnh mt cy ton t c th thu c d dng
bng cch sau. Trong SQL. cc nt l c sn trong mnh FROM th hai nt gc c to ra
nh mt php chiu cha cc thuc tnh kt qu. Cc thuc tnh ny nm trong mnh
SELECT ca cu vn tin SQL. Th ba, lng t ho (mnh Where ca SQL) c dch
thnh chui cc php ton quan h thch hp (php chn, ni. hp,...) i t cc nt l n nt
gc. Chui ny c th c cho trc tip qua th t xut hin ca cc v t v ton t.
V d 2.23: Cu vn tin: tm tn cc nhn vin tr J.Doe lm cho d n CAD/CAM
trong mt hoc hai nm'.
Biu thc SQL l:
SELECT TnNV
FROM DA, PC, NV
WHERE PC.MNV=NV.MNV

88
AND PC.MDA=DA.MDA
AND TnNV ^ J.Doe
AND DA.TnDA=CAD/CAM
AND (Thi g i a n - 12 OR Thi gian^24)
Cc th c nh x thnh cy trong hnh di.

TTnN V
Chiu

^ T h i g i a n = l 2 V rhi g i a n = 2 4

TnDA="CAD/CAM' Chn

C^ r n N V 7fj , D o e '

[><3 M D A

N i

Bng cch p dng cc quy tc bin i, nhiu cy c th c thy rng tng ng


vi cy c to ra bng phirng php irc m t trn. Su quy tc tong ong h*Li ch nht
v c xem l cc php ton i so quan h CO' bn:
R, s, T l nhng quan h, trong R c nh ngha trn cc thuc tnh A = {A|,
A} v quan h s c nh ngha trn cc thuc tnh B ={B|, Bn}.

1. Tnh giao hon ca php ton hai ng

RXs o s XR

R c x S o s tx i R

Quy tc ny cng p dng c cho hp nhng khng p dng cho hiu tp hp hay ni
na.
2. Tnh kt hp ca cc php tor hai ngi

(R X S)x T R X (Sx T)

89
(R X I S) 1X1 T o R o o (S [XI T)

3. T'mh ly ng cuu cc php lun ov ngi

Nu R c nh ngha trn tp thuc tnh A v A ' c A. A " c A v A ' c A thi


7Ca 7a (K a (R ))C :>7rA (R )

2
p I (A I )( |) ( A l( R ) )' 1
|1 (A I ),' (1. ( A )( R )

trong p, l mt v t c p dng cho thuc tnh A,

4. Giao hon php chn vi php chiu

^ A l, , A n ( p (A p )(R .)) O T I ai A n ( p (A p )(7 lA I A M .A p(R -)))

Ch rng nu Ap l phn t ca {A|, ...... A th php chiu cui cng trn {Ai.
A 2,...,A} v phi ca li thc khng c tc dng.

5. Giao hon php chn vi php loan hai Ii

,An(R X S) (p(A(R)) X s

|KA)(R t x l ixA, lkl S) <-> (p(A|)(R)) o o p(j, Hlii s

p (A ,)(R T ) c > ,a ( R ) ^ ^ p iA o ( T )

. Giuo hon php chiu vi php lon hai ni

Neu C = A 'u B, trong A 'c A, B 'c B, v A, B l cc tp thuc tnh tonu mg ca


quan h R v s, chng ta c:

7Ic ( R X S ) c-> 7tA(R)7iB(S)

I(.'(R [ X I p(i, l) ^ a ( R ) [ X I p(i. 1J) 7Ih(S)

71c ( R U S ) TIa R ) Kii(S)

Cc quy tc trn c the dirc su (lng cii ITC li cv mt cch c h thng nhm
loi b cc cy "xu . Mt thut ton ti cu trc don gin s dng heuristic trong c p
dng cc php ton n ngi (clin/cliiu) cng sni cng tt nhm gim bi kch thc ciia
quan h trung gian.
ri cu trc cy tron hnh trn sinh ra c> tidim hinh SUI. Ket qu c xeni l t
cht lng theo ngha l n trnli truv xut nhiu ln n cng ml quan h v cc php ton
chn la nhiu nht c thc hin trc tin.

90
T^TcnNV

tx

n M i)A . T cnN V

MNV

71 M IM 71 M N V .T en N V
TC

d t ,l .e n D A = C A D / C A M ^ ] 'h o ig ia n = 12 v 'i 'h o tg i a n = 2 4

DA NV

2 .4 .3 . C u c b h a d lieu phn tan

Tang cuc bo ha du* lieu chiu trch nhiem dich cu van tin dai so tren quan he ton cuc
sang cu van tin dai so tren cc mnh vat ly. Cuc bp ha c s dung cc thng tin dugc luu
trong mot lugc do phn mnh.
Tang ny xc dinh xem nhung mnh no cn cho cu van tin v bien doi cu van tin
phn tan thnh cu van tin tren cc mnh. Tao ra cu van tin theo mnh dirgc thuc hien qua hai
buc. Truac tien vn tin phn tn dugc nh xa thnli van tin theo mnh bng cch thay doi mi
quan he phn tn bng chuong trinh ti th i ca n. Th- hai vn tin theo mnh dugc don gin
ho v ti cu trc de tao ra mot cu vn tin '"c cht lugng'\ Qua trinh don gin ho v ti cu

91
trc c th c thc hin theo nhng quy tc c s dng trong tng phn r. Ging nh
trong tag , cu vn tin theo mnh cui cng ni chung cha t n ti u bi v thng tin
lin quan n cc mnh cha c s dng.
Cc b ho d liu s xc nh cc mnh no cn cho cu vn tin.Bini cu vn
tin phn tn thnh cc cu vn tin theo mnh.
Trong phn ny i vi mi kiu phn mnh ta s trnh by cc k thut rt gn
to cc cu vn tin ti u v n gin hn.
Ta s s dng cc quy tc bin i v cc khm ph, chng hn y cc php ton
n ngi xung thp n h c th,

Rt gn phn mn/ ngang nguyn thu


- Vic phn mnh ngang phn tn 1 quan h da trn cc v t chn. Do , chng
trnh cc b ho d liu phn tn cho phn mnh ngang l hp ca cc mnh.
V d 2.24: Cho quan h NV (MaNV, TenNV, CV) c th c phn thnh cc mnh
N V 1 ,N V 2 ,N V 3 sau:
N V I MNv < V)

N V 2 - t : . v - MaNv<-R6-(NV) U NV - N V I u N V 2 u N V 3

N V 3 - M a N V . i.;6'(NV)

Nh vy, dng vn tin gc c xc nh trn NV s thu c nh thay NV bng


(NV - N V l u N V 2 u N V 3 ) .
Vy, rt gn vn tin trn cc quan h phn mnh ngang ch yu l:
+ Xc nh sau khi ti cu trc li cy con, xem cy no to ra cc quan h rng th loi
b chng i.
+ Phn mnh ngang c th c dng n gin ho php chn v php ni.
Rt gn vi php chn: Chn trn cc mnh c lng t mu thun vi lng t ho
ca quy tc phn mnh s sinh ra quan h rng ta loi b chng.
Cho quan h R c phn mnh ngang thnh R|, R

trong : R, Q, (R), quy tc ny c pht biu thnh:

Quy tc : a . (Rj) ^ 0 nu Vx thuc R : n ( Pi(x) A Pj(x) )

y: Pi, P, l cc v t chn, X biu th ch o 1 b, p(x) biu th ''v t p n g vi x".

Vi d. Cho quan h NV(MaNV, TenNV. Cvu) irc phn mnh nh sau:

N V l =MaNV.-tIv(NV)

N V 2 = 'E3'< MaNV<-E6( N V )

NV3-aMnNV -t6-(NV)

92
V c cu vn tin sau;
Select MaNV
From NV
Where M a N V -'E 5 '
Bng cch hon v php chn vi php hp chng ta s pht hin ra v t chn mu
thun vi cc v l cua N V 1. N V3. > to ra cc quan h rng > loi b. tc l:

MnNV I;5'(N V I ) 0

aMaNV=-E5'(NV2) 0

MaNV-'E5'(NV3) = 0

MaNV
MaNV

M a N V = 'E 5 '
M iiN V = -t;5-

u
NV2

Hnh 2. Kki). Vn tin gc. tin rt gn.

Rt gn v php noi:

- Ni trn cc quan h phn mnh ngang c th c on gin khi cc quan h ni c


phn mnh theo cc thuc tnh ni.

- n gin ho gm c phn phi cc ni trn cc hp ri b i cc ni v dng.

(R, u R.) X ] s - (R, I X s) ^ (R. I X s)

trong : R, l cc mnh, cn R, s l cc quan h.

Bng php bin i ny, cc hp c th c di chuyn ln trn cy ton t tt c cc


noi c th c cc mnh u c l ra.

Cc ni v dng c th xc nh c khi cc lng t ho ca cc mnh c mu thun.


Gi s rng cc mnh R R c nh ngha tng ng theo cc v t Pi v Pi trn cng
mt quan h.

93
Khi c quy tc 2\ R, IX l R| = 0 nu V x e R Vy e R| : -, (P i(x ) A P|(y))
p dng quy tc ny cho php ni hai quan h uc ci t nh cc cc ni tng phn
song song cho cc mnh.
V d 2.25: Cho 2 quan li c phn mnh:
NVl = m ; i n v < I-I (MV)
NV(MaNV, TnNV, CV) N V 2 - , , : , . MaNV.,,.(NV)

NV3 M.NV |.;,(N V )

PC I - CMiiNV 1:1 (PC)


PC (MaNV, MaDA. NV, Tg)
Cu hi: Select * PC2 M ;iNV 13 (NV)

From NV, PC
Where NV.MaNV = PC.MaNV
+ Xy dng cy ton t gc:

Ixl

H lnh 2.1 l a), vn tin gc.

+ Bng cch hon v php kt ni vi cc php hp clu'ing ta s c cy tng ng


sau;

94
PCI NV2 PCI NV3 PC2 NVl PC2 NV2

Hnh 2.11b). Cy tng ng.

p dng quy tc 2 , chng ta c:

PCI t X N V l ^ 0

PCI 1X3 NV2 = 0 => to ra quan h rng loi b

PCI IX ] NV3 = 0 => to ra quan h rng => loi b

PC2 t x i NV 1 = 0 => to ra quan h rng => loi b

PC2 x NV2 / 0

PC2 I X NV3 0
+ Khi chng ta c cy rt gn sau:

PC I NVl PC2 NV2 PC 2 NV3

Hnh 2.1 c). Vn tin rt gn.

95
Rt gn cho phn mnh dc
Phn mnh dc phn tn mt quan h da trn cc thuc tnh chiii. Chung trinh cc
b lio cho mt quan h phn manh dc Hm c ni cua cc manh theo tluic tnh chung.
V d 2.26: Cho quan h NV(IVlaNV, TnNV. CV) c phn mnh dc nh sau:
NVI ^ nMaNV.TnNv(NV)

NV2=^nMaNV.CVu(NV)
Cho-ng trinh cc b ho: NV ^NVl |x| NV2
Tng t nh phn manh ngang, cc vn tin trn phn manli dc c th irc rt gn
bng cch xc nh cc quan h truim uian v diii; v loi bo cc cv con d sinh ra chnu.
Cho trc quan h R c nh ngha trn cc thuc tnh :

{Al, A2,...} v irc phn mnh dc thnh R.(A") vi A' c; A.

Qui tc 3: t o k (R -i) l v dng nu tp cc thuc tnh chiu D khng thuc A \


K/ c: Cho quan h NV(MaNV, TnNV, CV) c phn mnh dc nh sau:

NVI riMnNV. !iiNv(N V )

NV2 nMaNV,CVu(NV)

V cu vn tin sau:
Select TnNV
From NV.

Yu cu: Hy rt gn cho cu vn tin trn.


Xy dng cy lon t gc.

T cnN V

NVl NV2

Hnh 2. 2a). v n tin gc.

Thc hin chiu trn tng mnh, chng ta c;


nrnNv(NVI)/0
nTnNv(NV2) ^ 0 loi b mnh ny i

96
Rt gn c cy kt qu sau:

n ICnNV

NVl

Hnh 2 .12h). v n tin rt gn.

R t g n cho p h n m nh ngang dn xu t
- Phn mnh ngang dn xut l mt cch phn phi hai quan h m nh c th ci
thin kh nng x l cc im giao nhau gia php chn v php ni.
- Nu quan h r phi phn mnh dn xut theo quan h s, cc mnh ca r v s ging
nhau thuc tnh ni s nm cng v tr, Ngoi ra s c th irc phn mnh theo v t chn.
- Phn mnh dn xut ch irc s dng cho mi lin h I N (phn cp) t s n r:
trong I b ca s c th khp vi nhiu b ca r
V d 2.7: Cho hai mnh NV v PC. Hai quan h ny c phn mnh nh sau:

NV1= acv t p (NV)


N V (M aN V .T n N V ,C V )
^ NV2 ,,.(NV)

PCI P C IX N V I
PC(MaNV, MaDA. NV. Tg) -
_ PC2 PC | X N V 2

V cho cu vn tin ira ra tt c cc thuc tnh ca NV. PC vi CV " PP'

Yu cu: Hy rt gn cho cu vn tin trn?

Tr li:

+ Biu din cu vn tin di dng SL"

Select *

From NV, PC

Where NV.MaNV - PC.MaNV and NV.CV- -pp'

^ Xy dng cy ton t gc:

97
PC] PC2 NVl NV2

Hnh 2 . 13a). Cy ton t gc.

+ Cu vn tin trn cc mnh N V l, NV2, PCI, PC2 c nh ngha. v php chn


xung cc mnh N V l . NV2 cu vn tin rt gn li do mu thun vi v t chn ca NVl = >
loi b NV I

x l

(V =-|jp'

NV2

PCI

Hnh 2. 3h). Cy sau khi loi b mnh N V l .

+ Hon v gia php kt ni vi php hp. chng ta thu irc cy tong ng sau

98
u

Ix ImuNV

PC I ^C v=PP'

N V 2 N V 2

Hnh 2. 3c). Cy tng ng.

Trong cy ton t hnh 2.13c), chng ta thy;

PCI c x NVl = 0 - > loi b

PCi EXl NV2 / 0

^ ( ' m .i = P P '
PC 2

N V 2

Hnh 2 .12d). v n tin rt gn.

99
R t g n cho p h n m nh ngang hn hp
Mc ir. n tr hiu qua cc cu vn tin c cha php chiu, chn v ni.
Cu vn tin trn cc mnh hn hp c th c rt gnbng cch l hp ccquy tc
tong ng c dng trong cc phn mnh ngang nguyn thuv, phn manh dc, phn manh
ngang dn xut.
Quv lc:
1/ Loi b cc quan h rng c to ra boi cc php ton chn mu thun trn cc
mnh ngang.
2/ Loi b cc quan h v dng c to ra bi cc php chiii trn cc ninh dc.
3/ Phn phi cc ni cho cc hp nm c lp v loi b cc ni v dng.
V d. Cho quan h NV(MaNV, TnNV, CV) c phn mnh lin hp sau:

N V l MaNV<[-:4 (flMaNV. TnNV (NV) )


NV2 - MiNV i-,4 (HMaNV. 1nNV (NV) )
NV3 "- H mNva vu (NV)
Chng trinh cc b ho: N V - (N V 1 u NV2 ) | x | N V3
Cu vn tin: Cho bit tn ca nhn vin c m E5
+ Biu din cu vn tin di dng SL;
Select TenNV
From NV
Where MaNV - ^E5'
+ Xy dng cy ton t gc

I I T.
nNV

NV

+ nh x cu vn tin trn cc mnh

100
n lctiNV

^MciNV=[;5'

l><l

NV3

NVl NV2

+ Thc hin php chn trn NV 1, NV2 v chiu trn NV3, chng ta thy:

M aNV = E 5 ' ( N V 1) = 0 => loi b

MaNV- f-:.v(N V 2 ) 0
n T e n N v ( N V 3) ==0 = > lo i b

n len N V

M aNV ='i:-:5

N V 2

2.4.4. Ti u ho vn tin phn tn


- Vic tim ra c mt cch sp xp ti u cc php ton cho mt cu vn tin chnh l
nhim v ch yu ca tng ti u ha vn tin, hoc ni ngn gn l th ti u ha (optimizer).
Vi cc vn tin phc tp c cha nhiu quan h, bi ton c th phi mt mt chi ph qu ln
thc hin ti u ha. V i th mc tiu thc SI' ca th ti u ha l tm ra mt chin lc gn ti
u ha v quan trng hn l trnh c cc chin lc ti . Mt chin lc thc thi cho cu
vn tin phn tn c th c m t bng cc php ton i s quan h v cc nguyn thy truyn

101
tin (cc t hao tc gi v n h n ) truy n d liu gia cc v tr. B n g c ch hon v t h t cc
ph p ton t r o n g m t c u vn tin t heo m n h c h n g ta c th thu c nhiu cu vn till t o nu
ng.
- T i u h a vn tin b a o g m vic tm m t t h t tt n h t" c h o cc ph p ton trong
cu vn tin th eo m n h , k c cc p h p ton truvn thnii n h m h ih p toi a hm chi ph. lm
chi ph t h n g c n h ngh a theo n v thi uiaii; chi ph xut nhp. chi ph C PU v chi ph
truyn, D vy tr o n g mi t r n g ph n tn, c h n g ta t h n g n gian ha n bn g cch chi xt
n chi ph truy n , x e m n l y u t LI th. c th c h n la c m t c ch sp t h t' cho
cc t hao tc, i u cn thit l phi d o n c cc chi ph t h c thi c a cc s p x p khc nhau.
X c nh chi ph t h c thi tr c khi th c hin vn tin d a vo c c s liu t h n g k CLa cc mnh
v cc c n g t h c tnh lc l n g c h o cc q u a n h kt qu v cc p h p ton. C c q u y t nh ti u
h a ph t hu c v o n h n g t h n g tin t h n g k c sn v cc man h.
- M t i m q u a n t r n g tr o n g q u trinh ti u ha l x p t h t' ni, bi v hon v ca
cc ni t ro ng c u v n tin c th d n n nhiu ci thin c ngha. M t k thut CO' bn ti
u ho d y p h p ni p h n tn l t h c hi n cc p h p ni na. G i tr c h n h CLa ni na trong mi
t r n g ph n tn l lm g i m kch t h c c* cc ton h n g ni, n h th lm g i m i chi ph
truyn. T u y nhi n, cc k t h u t g n y tr o n g c xt c chi ph tnh to n c c b ln chi ph
truyn k h n g s d n g ni n a bi v c h n g lm t n g ch ph x Iv c c b. T h n h ph m ca
t n g ti u ha vn tin l c u vn tin i s ti u ho trn cc m n h c n g vi cic thao tc
truy n i km.

- Cc thut ton d a trn i mra


i vi m t q u a n h, ni n a h n h n g n h m t tc n h n rt g n kch tlnrc gi ng nh
mt p h p chn. N i c a hai q u a n h R v s trn t h u c tnh A, rc lu t n g n g ti v tr 1 v
2, c the c tnh b n g c ch t hay m t ho c c hai ton h n g b n g m t ni na vcVi quan h kia
n h cc q u y tc sau y:

R P X ] aS o (R X aS) ix i aS

<=^ tx i a (s [ x ; aR)

^ DxC IX ] ^
C h n la g i a m t tr o n g ba ch in lc ni n a i hi phi II'C lirnu cc chi ph irong
n g c a ch ng.

S d n g ni n a s c ch n u chi ph to v gi n n v tr kia n h hn chi ph gi


t on b q ua n h t on h n g v t h c hin ni thc s. m in h h a ch li c a ni na c h n g ta
hy so snh cc chi ph c a hai c h n la R A s vi ( R aS) | x | A s , vi gi thit size
(R )<size(S)

1). 71 a(SV > v tr 1


2). V tr 1 tnh R ' = R As

3). R '- > v tr 2

4). V tr 2 tnh R As

102
Chng ta c th so snh hai chn ia ny theo d liu c truyn. Chi ph ca thut
ton da trn ni l chi ph truyn quan li R n v tr 2. Chi ph ca thut ton da trn ni na
l chi ph ca cc bc 1 v bu''c 3 trn. V th phong php ni na s tt hn nu:
size(7tA ( S ) ) + size (R i x ; aS ) < size (R)
Phng php ni na tt hn nu ni na hnh ng nh mt tc nhn rt gn y ,
ngha l ch mt s t b ca R tham gia vo trong ni. Phng php ni tt hn nu hu nh tt
c cc b ca R u tham gia vo ni bi v phng php ni na i hi thm mt ln truyn
kt qu chiu trn thuc tnh ni. iu quan trng cn bit rng khng c cch tip cn no l
tt nht, chng cn c xem nh b tr' cho nhau. Tng qut hon ni Iia c th lm gim i
kch thc ca cc quan h ton hng c trong cu vn tin, tuy nhin vic ti u ha vn tin s
tr nn phc tp hn trong nhng trng hp ny.

X l

DA

Phng php ni

IX

[X DA

tmda

NV D< DA

7MNV

t
NV

Phng php ni na

103
Nu so snh ni vi ni na th ni na phi thc hin nhiu php ton hon nhng c
th thc hin trn cc ton hng nh hn.

2.5. Q U N L G IA O D C H

Trong qu trnh thc hin giao dch CSDL c th tm thi khng nht qun nhng
CSDL phi nht qun khi giao dch kt thc. Tnh tin cy da vo hai kh nng sau:
+ Kh nng phc hi nhanh ca h thng khi nhiu kiu li xy ra (khi cc li xy ra h
thng c th chu ng c v c th tip tc cung cp cc dch v).
+ Khi phc: t c trng thi nht qun. Tr v trng thi nht qun trc hoc
tip ti trng thi nht qun mi sau khi xy ra li. Nht qun v giao tc lin quan ti s thc
hin cc truy nhp trng nhau.
Vic qun l giao tc tip xc vi cc vn lun gi CSDL trong trng thi nht qun
khi xy ra cc truy nhp trng nhau v cc li.

2 .5 .1 . G iao d ch (T r a n sa c tio n )

Giao dch
C nhiu nh ngha khc nhau v giao dch (transaction). Trong c 2 nh ngha
c nhiu ngi s dng l ca Jeffrey D. Ullman v M.Tamer OzsLi v Patrick Valduriez
Jeffrey D. Ullman [ 10] cho rang, giao dch l mt thc hin ca mt chong trinh. Chng trinh
ny c th l mt cu vn tin hoc mt chng trinh trong ngn ng ch, trong c gn vo
mt ngn ng vn tin. Mt giao dch s c c d liu t mt CSDL vo vng lm vic ring
(private workpace), thc hin cc tnh ton trong vng lm vic ny v ghi d liu t vng lm
vic ny vo c s d liu. Nh vy, cc tnh ton do giao dch thc hin khng lm thay i CO'
s d liu cho n khi cc gi tr mi c ghi vo c s d liu.
Mt nh ngha khc ca M. Tamer Ozsu v Patrick Valduriez cho rng ^ao dch l
mt n v tnh ton nht qun v tin cy. iu ny c ngha l, mt giao dch thc hin mt
truy xut trn c s d liu, gy ra mt S bin i trng thi. Neu CO' s' d liu nht qun
trc khi thc hin giao dch thi cng s nht qun khi kt thc giao dch cho d giao dch ny
c thc hin ng thi vi cc giao dch khc hoc xy ra s c trong lc n c thc hin.
Ni chung, mt gao dch c xem nh c to bi mt dy cc thao tc c v ghi
trn c s d liu cng vi cc bc tnh ton cn thit. Theo ngha ny, mt giao dch c
xem nh mt chng trnh c cc cu vn tin truy vn n c s d liu c gn vo. Giao
dch l mt thc hin ca mt chng trnh. Mt cu vn tin cng c th c xem l mt
choTg trinh v c a ra nh mt giao dch [ 10].
Cc iu kin kt th c ca m t giao tc:
Mt giao tc lun lun kt thc. Nu giao tc c th hon thnh ton b cng vic
ca n thnh cng chng ta ni giao dch chuyn giao (Commit), ngc li mt giao dch dng
li nu khng hon thnh cc cng vic ca n chng ta ni giao dch b loi b (Abort).

104
Mt giao dch b oi b hi mt s nguy nhn sau:
- Mt giao dch b loi b b'i chnh n v mt iu kin khng tho mn cm khng
cho giao dch hon thnh cc cng vic ca n.
- DBMS loi b giao dch, v d kho cht hoc cc iu kin khc.
Khi mt giao dch b loi b cc vic thc hin ca n b dng li v ton b vic
thc hin c loi b a CSDL v trng thi trc khi thc hin giao tc. iu ny cng
c hiu nh rollback.
Q un l giao dch: B qun i giao dch (transaction manager - TM) chu trch nhim
iu phi vic thc hin cc thao tc c s d liu cua cc ng dng. B qun l giao dch ci
t mt giao din cho cc ng dng, bao gm cc lnh: hein-lransuction, read, write, commit
v abort. Cc lnh ny c x l trong mt DBMS phn tn.
M c d liu
M iac dH u (item) l cc n v d liu trona co s' d liu. Bn cht v kch thc cc
mc d liu do nh thit k chn. Kch thc ca cc on v ny c la chn sao cho vic
truy xut d liu c hiu qu. Chng hn trong m hnh d liu quan h, chng ta c th chn
cc mc ln nh cc quan h, hoc cc mtic nh nhii' cc b hay thnh phn ca cc b. Kch
thc ca cc mc d- liu c h-thng s dng gi l mn (granularity) ca h thng. Mt
h thng c gi l mn (fine-grained), nu n s dng cc mc d liu nh v h thng l th
(coarse-grained), nu n s dng cc mc d liu ln. cng th s gim chi ph qun l vic
truy cp cc mc, ngc li cng mn li cho php nhiu hot ng ng thi hn.
P h n g php th n g d n g nht iu khin vic truy cp c c m c l s d n g khoL cht
('lockj. B qun l kho chi (lock manager) l thnh phn ca DBMS trii trch nhim theo di
mt mc 1 hin c giao dch no ang c ghi vo cc thnh phn ca I hay khng. Nu c th
b qun l k h o c h t s cn tr ngn cn kh n g cho giao dch khc truy c p tro n g tr n g hp
truy cp c th xy ra xung t, chng hn vic bn mt gh trn mt chuyn my bay hai ln.
B xp lch v cc giao thc
ngn nga s b tc ngi ta c th s cing h lp lch (scheduler) v cc giao
thc:
B lp lch l mt thnh phn ca h thng c s d liu, c vai tr lm trng ti phn
x cc yu cu ang c xung t, chu trch nhim sp xp mt lch biu cho cc thao tc ca
cc giao dch. Chng hn chng ta bit cch loi b kho sng ca mt b lp lch n trc
phc v trc . Mt b lp lch cng c th x l cc kho gi v tnh bt kh tun t bng
cch:
N cng c th buc mt giao dch phi i cho n khi kho m giao dch yu cu
c gii phng.
Buc mt grao dch phi hu b v ti thc hin.
Giao thc theo ngha tng qiit nlit, chi 1 m hn ch Irn chui cc hc nguyn t
m mt giao dch c ih thc hin [5], l cc quy tc m cc giao dch phi tun theo. Chng
hn, chin lc trnh kho gi bng cch yu cu kho cht trn cc mc theo mt th t c
nh no chnh l mt giao thc.

105
Cc tnh cht cua giao dch
1) Tnh nguvn t
Quan l giao dch l mt c gng lm cho cc thao tc phc tp xut hin di dng
nguvn t (atomic). Ngha l mt thao tc c th xv ra trn vn hoc khng xv ra. Neu \ v ra.
khnii c bin c hay giao dch no cng xy ra trong sut thi uian tn li ca n. Cch thng
dng nhm m bo c tnh nguyn t ca cc giao dch l p h oni ph p tiicm ho
(serialization). Phng php ny lm cho cc giao dch c thc hin tun t [7].
Mt.giao dch khng c tnh nguyn t nu:
- Trong mt h thng phn chia thi gian, lt thi gian cho giao dch T c th kt thc
trong khi T ang tnh ton v cc hot ng ca mt eiao dch khc s irc thc hin trc khi
T hon tt. Hoc
- Mt giao dch khng th hon tt c. Chng hn khi n phi chm dt gia chng,
c th vi n thc hin mt php tnh khng hp l, hoc c th do i hi nhng d liu khng
c quyn truy xut. Bn thn h thng CSDL c th buc giao dch ny ngng li vi nhiu l
do. Chng hn giao dch c th b kt trong mt kho gi.
T r o n g th c t, m i giao d ch u c m t chui cc b'c c bn nh: c hay ^hi m t
mc d liu (ite m ) v o C SD L v ihc hin CC' php nh om S() hc ((rn ian ron vn k)m
vic\ h oc c c b c s n g k hc n h c c b c kho clit, iiai p h n ^ kho, uy hc (hotm ti)
giao dch v c th e c n h n g b c k h c n a. C h n g ta lun gi s r n g n h ig b c s n g ny
l ngu y n t, T h m c h th a o tc kt th c lt hi gian x y ra klii a n g tn h to n c u n g c th xen
l n g u y n t. Bi v n x y ra tr o n g v n g lm v i c c c b v k h n g C(S g c th nh h n g n
v n g lm vic c h o n khi g ia o d ch a n g th c hin d cc p h p tnh s hc c ti hot
n g tr li [7].
2) Tnh n h t q u n (consistncv)
Tnh nht qun ca mt giao dch chi n gin l tnh ng n CLia n. NcSi cch khc,
mt giao dch l mt chng trnh ng n, nh x c S d liu t trng tlii nht qun ny
sang trng thi nht qun khc [5]. Vic xc nhi rang cc giao dch nll qun l vn iu
khin d liu ng ngha. Co s d' liu c th tm thi khng nht qun khi giao dch ang thc
hiii, nhng n phi tr' v trng thi nht qun khi kt ihc giao dch (hnh v 2.14).

C s d liu C s d liu c th C s d liu (


mt trng thi tm thi mt trne mt trng thi
nht qun thi khng nht qun nht qun

Bt u ang thc thi Kt thc


giao dch giao dch giao dch

H n h 2.1 4 . T r n g thi c u a c s d liu khi thrc h in g iao dch,

106
Tnh nht qun giao dch mun ni n hnh ng ca cc giao dch ng thi. Chng
ta mong rng CSD L vn nht qun ngav c khi c mt s vu cu cua ngi s dng n s thi
truy nhp n CSDL. Tnh cht phc tp ny sinh khi xt n cc CSDL c nhn bn.
Neu CO' s d liu c nhn bn, tt c cc bn sao phi c trng thi ging nhau vo
lc kt thc giao dch. iu ny gi l tnh tng ng mt bn, v trng thi nht qun ca
cc bn sao c gi l trng thi nht qun tng h.
Nhin chung, tnh nht qun ca mt giao dch gm bn mc nht qun:
Mc 3: G iao dch T thoa nhai qur mc 3
1. T khng ghi d liu nhp ca giao tc khc:
2. T khng chuyn giao bt c mt vic ghi no cho n khi n hon thnh
hon ton vic ghi ca n (n khi kt thc giao dch EOT);
3. T khng c d liu nhp t cc giao dch khc:
4. Cc giao dch khng nhp vo bt c d liu no c bi T trc khi T hon
thnh.
M c 2: G iao dch T thoa nht qun m c 2
1. T khng ghi d liu nhp ca giao tc khc;
2. T khng chuyn giao bt c mt vic ghi no trc EOT;
3. T khng c d liu nhp t cc giao dch khc.
Mc : G iao dch T thoa nht qun mc
1. T khng ghi dCr liu nhp ca giao tc khc;
2. T khng chuyn giao bt c mt vic gli no trc EOT.
Mirc 0: G iao dch T thoa nht qun mc 0
I. T k h n g gh i d liu nhp cLia g ia o tc khc.
3) Tnh hit lp
Tnh bit lp l tnh cht ca cc giao dch, i hi mi giao dch phi liin nhn thy c
s' d liu nht qun. Ni cch khc, mt giao dch ang thc thi khng th lm l ra cc kt qu
ca n cho nhng giao dch khc ang cng hot ng trc khi n Li thc.
C mt s l do cn phi nhn mnh n tnh bit lp:
M phi duy tr tnh nht qun qua li gia cc giao dch. Nu hai giao dch ng
thi truy XLit n mt mc d liu ang c mt trong chng cp nht thi khng th bo m
rng giao dch th hai c c gi tr ng.
Hai lA tnh bit lp cho php khc phc cc hin tng hy b dy chuyn (cascading
abort). Bi vi nu mi giao dch cho php cc giao dch khc c cc mc m n ang thay i
trc khi c u thc, nu n b hu b, mi thao tc c cc gi tr nhng mc ny cng phi
hu b theo. iu ny gy nhng chi ph ng k cho DBMS.
Vn bit lp c lin quan trc tip n tnh nht qun CSDL v vi th l ti ca
iu khin ng thi.

107
Mt khc, mt giao tc khi ang c tlrc iiin (cha c chuyn giao) th cc giao
tc khc khng th s dng cc kt qu trung gian ca giao tc ny. Tnh cht ny l cn thit
trnh vn mt kt qu cp nht v vn loi b dy chuyn cc giao tc.
Thi d 2.28: v vn mt kt qu cp nht. Xt hai giao dch ng thi T| v Ti cng
truy xut n mc d liu X. Gi s gi tr ca X trc khi bt u tlrc hin l 20.

T |: R e a d ( x ) T : Read (x)

x -x + l x<~x+l

Write (x) Write (x)


Commit Commit

Di y l mt dy thc hin cc giao tc ny c th nh sau:

T I: Read (x)

T I: x<-x + 1

T,: Write (x)

T|: Commit
T 2: Read (x)
T 2: x<-x+l
T 2: Write (x)
Tj; Commit
y cc giao dch T| v Ti c thc hin ln ll v vi gi tr ca X ban u l 20
th T 2 c gi tr 21. Ch nu T 2 thc thi trc T| thi T 2 c dc gi tr 20. V th nu T| v
T c thc thi ln lt giao dch ny n giao dch kia, giao dch th hai s c c gi tr
ca X l 21 v sau khi kt thc hai giao dch (nu c hai giao dch thnh cng), X c gi tr l 22.
Tuy nhin, v cc giao dch ang tlrc thi ng thi, nn dy tl^c thi sau y c th xy
ra:
TI: Read(x)
T|: X<-'X+

T 2: Read(x)
T,: Write(x)
T 2: x<-x+l
T 2: Write(x)
T: Commit
T 2: Commit
Cng vi gi tr X ban u l 20, c c gi tr ca X l 20. Gi tr ny khng ng
bi vi T 2 c X trong khi gi tr ca n ang c thay i t 20 thnh 21. Hn na gi tr ca X

l 21 vo lc kt thc cc giao dch T| v T bi v hnh ng ghi ca T 2 s ghi ln kt qa


ghi ca TI (iu ny ng ngha vi vic kt qa cp nht ca TI b mt).

108
Tinh c lp tu theo mc nht qun:
Mc 0: Giao tc chuyn giao trc khi tt c cc vic ghi chuyn giao tc do nu
xy ra li th i hi phi cp nht li.
Mc 2: Trnh loi b dy chuyn.
Mc 3: Cung cp y tnh bit lp cho php cc giao dch xung t khi mt giao dch
trong s chng kt thc.
4) Tnh bn vng
Tnh bn vng mun ni n tnh cht ca giao dch bo m rng mt khi giao dch u
thc, kt qu ca n c duy tr c nh v khng b xo ra khi CSDL. V th DBMS bo m
rng kt qu ca giao dch s vn tn ti c xy ra cc s c h thng. y chnh l l do m
c h n g t a n h n m n h r n g g i a o d c h u thc t r c k h i n t h n g b o c h o n g i s d n g b t
rng n hon tt thnh cng, tnh bn vng a ra cc vn khi phc d liu, ngha l cch
khi phc CSDL v ng t h i nht qun m mi hnh ng u thc u c phn nh.

2.5.2. Giao dch phn tn


). nh ngha
Nu giao dch i hi truy nhp ti CSDL trn nhiu trm th khi ta thc hin giao
dch phn tn.
V d 2.29: Chuyn 5$ t A sang B, vi A t v 1, B t v tr 2
Begin_Transaction
reasd (A)
if A<5$ then abort
else A=A-5
write(A)
read(B)
B=B+5
Write(B)
Commit
T gm hai giao dch T] ti vj fr 1 v T2 ti v tr 2.
Vy mi giao dch phn tn c nhiu giao dch con, mi giao dch con thc hin n
mt trm.
2). Nghi thc u thc hai pha
Chng ta gi thit rng ti v tr ngun ca giao ch c mt tin nh thc hin cc thao
tc ca n. Tin trnh ny gi l iu phi vin (coordinator). iu phi vin trao i vi cc
thnh vin (participant) ti nhng v fr c tham gia vo vic thc hin thc hin cc thao tc
ca giao dch.
U thc hai pha (two-phase commit, 2PC) l mt nghi thc rt om gin v tinh t, bo
m c hnh ng u thc nguyn t cho cc giao dch phn tn. N gm hai pha: pha biu
quyt v pha quyt nh.

109
iu phi vin Thnh vin

Cc hnh dng ca nghi thc y thc hai pha

110
M t ngn gn nghi thc Li thc hai pha nhng cha xt n cc tinh hung c s c.
Khi u, iu phi vin ghi mu tin begin-commit vo nht k ca n, gi thng bo prepare
(chun b) n tt c cc thnh vin v chuyn sang trng thi WAIT. Khi mt thnh vin nhn
c thng bo prepare, n kim tra xem n c tl y thc giao dch c khng. Nu c, n
ghi mt mu tin readv vo nht k. gi thng bo vote-commit (biu quvt v thc) n iu
phoi vin roi chuyn sang triiu tliais F<HADY: nu khng thnh vin ny ghi mu tin abort ri
goi thng bo vote-abort n iu phi vin. Neu quyt nh ca v tr ny l hy b. n c th
qun giao dch i bi v quyt nh hy b c dng nh mt ph quyt (nghTa l hy b n
phng). Sau khi iu phi vin nhn c hi p ca m if thnh vin, n s quyt nh xem
hy b hay y thc giao dch. Neu c mt thnh vin gLi ph quyt (vote-abort), iu phi vin
phi hy b ton b giao dch. Vi th n ghi mt mu tin abort vo nht k, gi thng bo
global-abort n tt c cc v tr thnh vin, v chuyn sang trng thi ABORT; ngc li n ghi
mt mu tin commit; gi thng bo global-commit n tt c cc v tr thnh vin, v chuyn
sang trng thi CO M M IT. Cc thnh vin s y thc hoc hy b giao dch ty theo cc hng
dn ca iu phi vin v gi mt hi bo (acknowledgment). Vo lc iu phi vin kt
thc giao dch bng cch ghi mu tin end o f transaction vo nht k.
Chng ta cn ch cch thc iu phi vin t n quyt nh kt thc ton cc lin
quan n mt giao dch. Hai quy tc sau y cho ra quyt nh ny, v chng c gi l quy
tc y thc ton cc (global commit rule):
1. Neu c mt thnh vin biu quyt hy b giao dch, iu phi vin s a ra quyt
nh hy b ton cc.
2. Nu tt c mi thnh vin u biu quyt Li thc giao dch, iu phi vin s a ra
quyt nh y thc ton cc.
Hnh ng ca nghi thc u thc hai pha gia iu phi vin v mt thnh vin khi
khng c s c c cho bi hnh trn, trong cc vng trn biu thj trng thi v irng t
nt biu th cc thng bo gia iu phi vin v cc thnh vin. Nhn t trn cc ng t
nt m t bn cht ca thng bo .
T hnh trn chng ta nhn ra mt s im quan trng ca nghi thc 2PC nh sau.
Trc tin, 2PC cho php mt thnh vin c th on plurong hu b mt giao dch c h o n khi
n quyt nh gi biu quyt ng (biu quyt UV thc). Th hai khi mt thnh vin biu quyt
thc hay hy b mt giao dch, n khng th thay i biu quyt cua n c na. Th ba,
trong khi mt thnh vin ang trong trng thi READY, n c th chuyn sang hy b hoc Li
thc, ph thuc vo thng bo t iu phi vin. Th t, quyt nh kt thc ton cc c a
ra bi iu phi vin theo n g quy tc Li thc ton cc. Cui c n g ch rng iu phi vin
v thnh vin u chuyn sang mt s trng thi m chng phi 'i thng bo t cc tin
trnh khc. e bo m rng chng c kh nng thot ra khi nhng trng thi nyv kt thc,
chng ta dng n cc b nh gi (timer). Mi tin trnh s thit lp mt b m thi gian khi
n chuyn vo mt trng thi, v nu n khng nhn c thng bo c mong i trc thi
hn nh, tin trnh s ghi nhn qu hn (timeout) v kch hot nghi thc qu hn ca n.
M thc c tho lun trn v c m t trong hnh di c gi l nghi thc
2PC tp quyn bi v vic giao tip ch xy ra gia iu phi vin v cc thnh vin; cc thnh
vin khng trao i vi nhau.
iu phi vin Thnh vin iu phi vin Thnh vin iu phi vin

C u tr c giao tip 2 P C tp q u y n

Cc thut ton thc hin nghi thc 2PC b'i iu phi vin v cc thnh vin troig cu
trc giao tip tp quyn c trinh by trong thut ton 1 v lut ton 2. Cc thut ton cho
thy cch x l cc thng bo khc nhau gia iu phi vin v thnh vin.
T hut tn 1: 2PC -Coordinator (iu phi vin)
Declare-var
Msg: Message
Ev: Event
PL: Danh sch thnh vin {c xy dng trc khi bl u nghi thc 2K'
Begin
WAIT(ev) {cc bin c kh hu l MsgArrival v Timeout}
C ase o f ev
MsgArrival:
Begin
t thng bo va n trong msg
Case o f msg
C om m it: {lnh Ii thc t b xp lch
Begin
Ghi mu tin begin commit vo nht k

112
gi thng bo prepare n tt c cc thnh vin trong PL
t gi cho b nh gi
end
vote-abort: {mt thnh vin gi biu quyt hy b}
begin
Ghi mu tin abort vo nht k
gi thng bo global-abort n tt c cc thnh vin trong PL
t gi cho b nh gi
end
vote-com niit:
begin
cp nht danh sch thnh vin tr li
if nu tt c cc thnh vin tr li then
begin {tt c phi biu quyt u thc}
Ghi mu tin commit vo nht k
gi global-commit n tt c cc thnh vin trong PL
t gi cho b nh gi
end
end
Ack:
Begin
cp nht danh sch thnh vin hi p
if nu tt c cc thnh vin hi p then
ghi mu tin end _ o fJran sactio n vo nht k
else
gi quyt nh ton cc cho cc thnh vin cha tr li
en d -if
end
end-case
end
Timeout
Begin
thc thi nghi thc kt thc
end
end-case
end. {2PC-Coordinator}

113
Thut ton 2 2PC-Participant (thnh vin)
Declare-var
Msg: Message
Ev: Event
Begin
WAIT(ev)
Case o f ev {cc bin c kh hru ! MsgArrival v Timeout}
MsgArrival:
Begin
t thng bo va n trong msg
Case o f msg
Prepare:
Begin
If sn sng u thc then
Begin
Ghi mu tin ready vo nht k
gi thng bo vote-commit n iu phi vin
t gi cho b nh gi
end
else begin {hy b n phng}
ghi mu tin abort vo nht k
gi thng bo vote-abort n iu phi vin
yu cu b xir l d liu cc b hy b giao dch
end
end-if
end
global-abort:
begin
ghi mu tin abort vo nht k
yu cu b x l d liu cc b hy b giao dch
end
global-com m it:
begin
ghi mu tin commit vo nht k
yu cu b x l d liu cc b u thc giao dch
end

114
end-case
end
Timeout
egin
thc thi nghi thc kt thc
end
end-case
end. {2PC-Participant}

2 .5 .3 . T n h kh tu n t ca cc lch biu v vic s d n g ch u n g

Mc ch ciia giao thc iu khin tong tranh l xp lch thc hin sao cho khng xy
ra s tc ng ln nhau gia chng. C mt gii php n gin: Ch cho php mt giao dch
thc hin ti mt thi im. Nhng mc ch ca h qun tr c s d liu a ngi dng li l
ti a ho s thc hin ng thi trong h thng sao cho nhng giao dch thc hin ng thi
khng nh hng ln nhau.
Lch biu l mt dy (c th t) cc thao tc ca mt tp cc giao dch tong tranh m
trong th t ca mt thao tc trong mi giao dch c bo ton.
y l vn x l hot ng ng thi c lin quan n cc nh thit k CSDL ch
khng phi cc nh thit k cc h thng ng thi tng qut.
Gi s chng ta c mt tp cc giao dch s T|, T,...}.
Lch biu tun t: Chng ta thy imay rng nu cc giao dch thc hin tiir theo
mt th t no , cc thao tc ca mi giao dch c thc hin k tip nhau, khng c mt
thao tc no ca cc giao dch khc xen k vo th cc s c tranh chp chc chn khng xy ra
v trong CSDL chng ta c mt kt qu no .
Chng ta nh ngha mt lch biu cho mt tp cc giao dcli s l th t (c th xen k)
cc bc c han cua cua cc giao dch (kho, c, ghi,...) c thc hir.
Cc bc ca mt giao dch cho phi xut hin trong lch biu theo ng th t xy
ra trong giao dch .
Lch biu khng tun t: L lch m trong cc thao tc ca mt tp cc giao dch
tng tranh c xen k vo nhau.
Bi v lun c lch biu tur t cho tp giao dch s vi vy chng ta s gi s rng hot
ng ca cc giao dch ng thi l iing n nu v ch nu tcc dng cua n giong nh tc
dng c c ca lch hiu tun t.
Lch biu c gi l khc iir {seriaHzaNe) nu c drg cua n giong vi tc drg
cua m t lch biu un t.
Lch biu c gi l bt kh tun t nu tc dng ca n khng ging vi tc dng ca
lch biu tun t.
Mc tiu ca b xp lch l vi mt tp cc giao dch ng thi, a ra c mt lch
biu kh tun t.

115
Trong vic tun t ho, th t ca cc thao tc c v ghi rt quan trng:
- Nu hai thao tc ch c mt mc dCr liu th chng s khng nh hng n nhau v
th t giCra chng khng quan trng;
- Neu hai thao tc c hay ghi trn hai mc d liu hon ton khc nhau th chng s
khng nh hng n nhau v th t gia chng khng quan trng;
- Nu mt thao tc ghi mt mc d liu v mt thao tc khc c hay ghi trn chnh
mc d liu ny thi th t gia chng rt quan trng.
Xt cc lch biu:
Lch biu tun t Lch biu kh tun t Lch biu bt kh tun t
T| th trng T| T. T, T,
Read A ReadA ReadA
:=-O ReadB A:=A-O
WriteA ...... A:=A-IO ReadB
Read B B ;-B 20 WriteA
B:=B+10 WrieA B:=B-20
WrileB WriteB ReadB
RcadB ReadB WriteB
B:=B-20 Read c B:=B+10
7 WriteB B:=B+10 ReadC
Read c C:=C+20 WriteB
' ]::= C + 2 0 ...... WriteB C -C + 2 0
Write c WriteC Write c
(a) (b ) (c)
Hnh 2.15. M t s lch biu.
Hinh 2.15 (a) l mt lch biu tun r;
Hinh 2.15 (b) l lch biu kh tun t;
Hinh 2.15 (c) l lch biu bt kh tun t;
Trong thc t, qua cc tnh cht ca i s n thun ta c th gp mt lch biu l bt
kh tun t nhng n cho cng kt qu so vi lch biu tun t.

2.5.4. Cc k thut iu khin tong tranh bng kha


H qun tr CSDL phc v nhiu ngi dng. Mi ngi tuy thc hin cc nhim v
khc nhau, nhng vn c th cng truy nhp n mt mc d liu. Vic s dng chung cc d
liu trong cng khong thi gian thng dn n cc tranh chp gia nhng ngi dng, H
tranh chp v th t truy nhp hoc tranh chp v cng mt d liu c truy nhp khi h
chp nhn khai thc tng tranh.

Vic cc giao dch cng thc hin trn cng d liu trong cng khong thi gian c th
gy ra: tht lc php ton, khng m bo tnh cht ch ca CSDL.

iu khin khai thc tng tranh l mt trang nhng chc nng ca h qun tr CSDL.
N m bo iu khin cc khai thc mt cch ng thi cc php ton trn d liu, v cho kt

116
qu nh khai thc tun t. i tng ca iu khin ny l cc gb dch. Nhng ti nguyn
c iu khin l cc khong thi gian, cc vng b nh, N i cdt Khc vic iu khin khai
thc tong tranh cp phn phi thi gian thc hin, chia s d liu trong s nhng ngi s
dng.

Kho
Kho (Lock) l mt c quyn ca mt giao dch c b qun l kho frao cho c
th truy cp trn mt mc d liu. Hay kho l mt bin gn vi mt mc d liu trong c s d
liu biu din trng thi ca mt mc d liu ny trong mi lin quan n thao tc thc hin
trn . B qun l kho cng c th thu hi li kho ny. Ti mt thi im, mc d liu X c
mt trong 3 trng thi:
- C kho c (read-lock) (cn gi l kho chia s - shared lock): chi cho php mt giao
dch c mt mc nhng khng c cp nht trn mc ny.
- C kho ghi (wrire-lock) (cn gi l kho c quyn - exclusive lock): cho php thc
hin c hai thao tc c, ghi.
- Khng c kho.
Cc kho rc s dng theo cch sau:
+ Bt k mt giao ch no cn truy cp vo mt mc d liu trc ht phi kho mc
d liu li. Giao dch s yu cu mt kho c nu chi cn c d liu v yu cu kho ghi
nu va cn c v cn ghi d iiu.
+ Nu mc d liu cha b kho bi mt giao dch no khc th kho s c cp
pht theo ng yu cu.
+ Nu mc d liu ang b kho, HQT CSDL s xc nh xem kho uc yu cu c
tng thch vi kho hin hnh hay khng. Khi mt giao dch yu cu cp mt kho c cho n
trn mt mc d liu m trn mc ang c mt kho c (ca giao dch khc) th kho yu
cu ny c cp pht. Trong trng hp kho yu cu l kho ghi th giao dch yu cu kho
s phi ch cho n khi kho hin hnh c gii phng mi c cp kho.

117
+ Mt giao dch tip tc gi mt kho cho n tlii im kho c gii phng, thi
im ny hoc nm trong qu trnh tlrc hin giao dch hoc l tlii dim iiao dch c chuyn
giao hay b hu b. Chi khi kho ghi c gi phng th kt qu cua thao tc ghi mi thy c
i vi cc giao dch khc.
Mt s h thng cn cho php giao dch a cc kho c trn mt mc d liu v sau
nng cp kho ln thnh kho ghi. iu ny cho php mt iao dch kim tra d liu trc,
sau mi quyt nh c cp nht hay khng.
B qun l kho lu cc kho trong mt kho (lock table).
Kh iu khin cc hot ng tng tranh bng kho, c Ih xy ra cc tnh
hung;
Kho sng (iive-lock) l tnh hung m mt giao dch yu cu kho trn mt mc m
chng bao gi nhn c kho trong khi lun c mt giaodch khc gi'kho trnmc ny
{kho sng trn mc A ca giao dch T l kho khng kho irc A v Alun b kho bi mt
giao dch khc), mc d c mt s ln giao dch ny c c hi nhn kho trn mc . Rt nhiu
gii php c cc nh thit k h iu hnh xut vn gi quyt kho sng. C th s
dng mt chin lc n gin "i nrc, phc v r c ' loi b c kho sng.
B c hay kho gi (deadlock) l tnh hung m trong mi giao dch trong mt tp
hay nhiu giao dch ang i nhn kho ca mt mc hin ang b kho bi mt giao dch khc
trong mt tp giao dch v nec li (mt mc trong giao dch ny b ^i bi giao dch khc
v ngc li).
V d 2.30: Gi s c hai giao dch ngthi TI -v T nh sau:
T1 : Lock A ; Lock B ; Unlock A ; Unlock B;
Tt : Lock B ; Lock A ; Unlock B ; Unlock A;
T| va Tt cng c th thc hin mt s tc v no trn A v B. Gi s T| v T:> c
thc hin cng lc. T yu cu v c trao kho trn A, cn T) yu cu v irc trao kho trn
B. Do khi T yu cu kho trn B n s phi i v T.) a kho B. Tirng t T.) yu cu klo
trn A n s phi i vi T kho A. Kt qu l khng mt giao dch no tip tc hot ng
c: mi giao dch u phi i giao dch kia m kho, v chng u phi i nlnrng chng
bao gi nhn c kho nh yu cu.
trnh b tc c th s dng cc gii php:
(i) Buc cc giao dch phai hra ra i ca cc veil cu kho cng mt lc v b q im i
kho trao tt c cc kho cho chng nu c, hoc khng trao v cho giao dch ny i nu
mt hay nhiu kho c yi! cu ang b gi bi mt giao dch khc,
(ii) Gn mt th t tuyn t h cho cc mc v yu cu tt c cc giao dch phi xin kho
theo ng th t ny.
(ii) Cch khc x l b tc l nh k kim tra yii cu kho v pht hin c x>
ra b tc khng. Bng cch dng th ch, vi cc nt biu din cc giao dch v cc cung
Tj -> Tj biu th Tj ang i nhn kho trn mt mc ang c T, gi. Nu trong th c chu
trinh, s b tc s xy ra v nu khng c chu trinh thi kt lun khng c kho gi hay b tC-

118
Nu mt kho gi b pht hin, khi h thng s buc mt trong cc giao dch b b tc phi
khi ng li v tc dng ca giao dch trn c s d liu phi c hon ton tr li.

2.5.4.I. M hnh kha c bn


Kho (Lock) l mt c quyn truy cp trn mt mc d liu m b qun l kho (lock
manager) c th trao cho mt giao dch hoc thu hi li. Trong cc m hnh giao dch c s
dng kho khng ch c cc thao tc c v ghi cc mc m cn c thao tc kho (lock) v m
kho (unlock) chng. Mi mc c kho phi c m kho sau . Vi mt mc A, gia
bc lock A v unlock A k tip ca mt giao dch, giao dch ny phi c coi l ang gi mt
kho trn A.
Trong m hnh ny, chng ta da n cc gi nh sau:
- Mt kho phi c t trn mt mc trc khi c hay ghi mc .
- Cc thao tc kho hot ng trn c s ng b ho, ngha l nu mt giao dch kho
mt mc b kho trc bi mt giao dch khc, n khng th thao tc trn mc ny cho
n khi lcho ny c gii phng bng lnh m kho do giao dch ang gi kho trc thc
hin.
- Mi giao dch u c th m c mi kho do chnh n kho.
- Mt giao dch s khng yu cu kho mt mc nu n ang hin gi kho ca mc
hoc m kho mt mc m n hin khng gi kho trn mc .
Cc lch biu tun theo quy tc ny c gi l hp l .
V d 2.31: Xt hai giao dch ng thi Ti v T2 cng truy xut n mc d liu A theo
m hnh ny s l:
Ti L ock A T 2 Lock A
Read A Read A
A;=A+1 A:=A+1
Write A Write A
Unlock A Unlock A
N eu T 1 bt u trc T2, n s yu cu kho n mc A. Gi s khng c giao dch no
ang kho A, b qun l kho s cho n kho mc ny. Khi ch c T 1 mi c truy xut n
mc ny. Nu T2 bt u trc khi Ti chm dt thi T2 thc hin Lock A, h thng buc T2 phi
2
i. Chi n khi T| thc hin lnh Unlock A, h thng mi cho php T tin hnh. Nh vy, T
hon thnh trc khi T2 bt u v kt qu l sau hai giao dch, gi ca A s l 32
Vi m hnh ny, kim tra tnh kh tun t ca mt lch biu, ta s xem xt th t m
cc giao dch kho mt mc cho. Th t ny phi thng nht vi th t trong lch biu tun
t tng omg. y thc cht l vic kim tra mt th c chu trnh hay khng.
Thut ton 3: Kim fra tnh kh tun t ca mt lch biu.
Nhp\ Mt lch biu s cho mt tp cc giao dch T), T2,, Tfc.
Xuv. Khng nh s c kh tun t hay khng? Nu c th a ra mt lch biu tun t
tng ng vi s.

119
Phng php:
B'c 1: To ra mt th c hng G (gi l th tun t lio), c cc nt l cc giao
dch, cc cung ca th ny c xc nh nh sau:
Gi s l ai, a 2,... a
trong mi a, l mt thao tc ca mt giao dch c dng;
T : Lock A| h o c Tj : U n lo c k A|
vi Tj l giao dch thc hin thao tc kho hoc m' mc A|.
Nu a, l T Unlock A,
th hnh ng p k tip a, c dng Ts! Lock A,. Neu s ^ j th v mt cung t T| n Ts- Cung
ny c ngha l trong lch biu tun t tng ng, Tj phi i trc Ts.
Bc 2 : Kim tra, c chu trnh th s bt kh tun t. Neu G khng c chu trinh th
ta tm mt th t tuyn tnh cho cc giao dch, trong T, i trc Tj khi c mt cung i t
T| -> Tj. e tim th t tuyn tnh , ta thc hin qu trinh sp xp topo nh sau. u tin ta
xut pht t mt nt T| khi^ c cung vo (ta lun tm thy mt nt nh th, nu khng th G l
mt th c chu trnh), lit k T| ri loi b Tj ra khi G. Sau lp li qu trnh trn cho n
khi th khng cn nt no na. Khi , th t cc nt c lit k l th t tun t ca cc
giao dch.
V d 2.32: Gi s ta c lch biu ca ba giao dch T|, T), Tu nh sau
TI : Lock A
T ; Lock B
T j : Lock c
Tj : Unlock B
TI : Lock B
T, ; Unlock*A
T 2 : Lock A
T 2 : Unlock c
T 2 : Unlock A
T 3 : Lock A
T, : Lock c
T, : Unlock B
T 3 : Unlock c
T 3 : Unlock A
th c 3 .lt T |, T 2 v T 3. Cc cung c xy dirng nli sau:
bc (4) ta c T : Unlock B,bc tip theo c lnh Lock B l bc (5) T|: Lock B.
Vy ta v mt cung t Ti > T|.

bc ( 6 ) ta c T| : Unlock A, bc tip theo c lnh Lock A i bc (7) Tv Lock A.


Vy ta v mt cung t T| ^ Ti.

120
bc (8) ta c T2 : Unlock c , bc tip theo c lnh Lock c l bc (II) T v Lock c.
Vy ta v mt cung t T2 T .

bc (9) ta c T: :Unlock A, bc tip theo c lnh Lock A l bc (10) c Ty. Lock


A. Vy ta v mt cung t T? Tv

th ny c mt chu trinh nn lch biu cho bt kh tun t.

/ 7 ( 2 .3 3 : Lch biu ca ba giao dch T|, Ti. T

(1) T: : Lock A

(2) T. ; Unlock A

(3) T 3 : Lock A

(4) T;, : Unlock A

(5) T 1 : Lock B

( 6) T, ; Unlock B

(7) T t : Lock B

( 8) T 2 : Unlock B

0 -

Hnh 2. 7. th tun t cho ba giao dch.

2.5,4,2. M hnh kha c v kha g h i

Trong m hnh kho ca bn, ta gi s rng khi kho mt mc c tl thay i mc .


Trn thc t, c nhng trng hp mt giao dch truv cp mt mc theo ngha ch c gi tr
ca mc khng thay i gi tr ca mc . V vy nu ta phn bit hai loi truy cp: chi c
(read only) v c ghi (read write), thi ta c th tin hnh c mt s thao tc ng thi b cm
trong m hnh kho c bn. Khi , ta phn bit hai loi kho nh sau:
Kho c (read lock or shared lock) k hiu RLock hot ng nh sau: mt giao dch T
ch mun c mt mc A s thc hin lnh RLock A, ngn khng cho bt k giao dch khc ghi
gi tr mi vo A trong khi T kho A, nlumg cc giao dch khc vn c th gi mt kho c
trn A cng lc vi T.
Kho ghi (write lock) k hiu WLock hot ng nh trong m hinh kho c bn, ngha
l mt giao dch mun thay i gi tr ca mc A s thc hin lnh WLock A. Khi khng
mt giao dch no c ly kho c hoc kho ghi trn mc .
C kho c v kho ghi u c m bng lnh Unlock. Ngoi cc gi nh nh m
hinh kho c bn, ta c thm gi nh rng mt giao dch c th yu cLi mt kho ghi trn mc
m n ang gi kho c.

121
Hai lich bieu la tuang dirong neu; chung sinh ra cung mot gia tri cho moi muc va moi
khoa doc dugc ap dung boi mot giao dich xay ra trong ca hai lich bieu vao nhung luc muc bi
khoa CO cimg gia tri.
T h u a t toan 4: Kiem tra tinh kha tuan tu cua cac lich bieu vai cac khoa doc/ghi.
Nhgp: Mot lich bieu S cho mot tap cac giao dich T], T ; ..... ]\.
Xudt: Khang dinh S c 6 kha tuan tir hay khong? Neu c 6 thi dua ra mot lich bieu tuan tir
tuong duong voi S.
PhuOng phap:
Bu'oc 1: Chung ta xay dung mot do thi c 6 huong G (goi la do thi tuan tir hoa), c 6 cac
nut lacac giao dich. Cac cung cua do thi dugc xac dinh bang quy tac sau:
Gia su trong S, T, nhan khoa doc hoac khoa ghi muc A, '1', la giaodich ke tiep khoa ghi
A, va i ^ j, thi ta se dat mot cung tu' T, Tj.
Gia sir trong S, giao dich Tj khoa ghi A, T,n la khoa doc A sau khi T, mo khoa A nhung
truoc cac giao dich khac khoa ghi A, va i ^ m, thi ta se dat mot cung tir T, > T,,,.
Birac 2 : Kiem tra, neu G c 6 chu trinh thi S bat kha tuan tir. Neu G khong c 6 chu trinh
thi mot sap xep tope cua G la thiV tu tuan tir cua cac giao dich nay.
Vi du 2.34: Mot lich bieu ciia bon giao dicii

( 1) T 2 : RLock A
(2 ) : RLock A
(3) T. : WLock B
(4) T. ; Unlock A

(5) : WLock A

( 6) T 2 : Unlock B

(7) T 1 : RLock B
(8) : Unlock A
(9) T j : RLock B
( 10) T 1 : RLock A

( 11 ) T 4 : Unlock B
( 12) T, : WLock C
(13) T| : Unlock A
(14) T j : WLock A
(15) T j : Unlock A
(16) T, : Unlock B
(17) T, : Unlock C
D 6 thi tu4n tir hoa ciia lich bieu nay dugc trinh bay trong hinh 2.18.
Cac nut la bon giao dich Tj , , T 4. Cac cung dugc xac dinh nhu sau:

122
buc (4) T 2 m' kho mc A.
Bc ( 5 ) T;, kho ghi mc A, T3 phi i sau T2, c mt cung t Ty n Tv
bc ( 6 ) T 2 m kho mc B.
Bc (7) T 1 cc kho c mc B v T 4 bc (9). Nh vy T| v T4 phi i sau T., c
mt cung t T 2 n cc nt ny.
bc ( 8 ) T m' kho mc A.
Bc (10) T| l kho c mc A v kho ghi mc A ca T4 bc (14). Nh vy TI v
T4 phi i sau T 3, c mt cung t T3 n cc nt ny.
bc (13) T m- kho mc A, bc (14) T4 kho ghi mc A, T 4 phi i sau T|, c
mt cung t T| n T4.

Hnh 2.18. th tun t ho.


Sp xp topo cho th ta c th t cc giao dch l; T |-> T 7-> T 3 --> T4
Giao thc hai pha ca m hnh trc cOng c the p dng cho m hinh ny. Cc kho
c v kho ghi u i trc bc m kho, v iu s m bo tnh kh tun t ca lch
biu.
Trong m hinh ny ta cng rt ra c quy tc lin quan n vic trao klio nhir sau:
Mt kho c trn mt mc c th c trao cho mt giao dch nu khng c kho ghi
no ang c mt giao dch khc gi trn n.
Mt kho ghi trn mt mc ch c th c trao cho mt giao dch nu khng c kho
c hoc kho ghi no ang c mt giao dch khc gi trn mc .

2.5,4.3, Thut ton iu khin t n g tra n h bn g nhn th i gian


m bo tnh kh tun t ca cc lch biu, ngoi cc m hnh s dng kho nh
trinh by trn. Ta cn s dng nhn thi gian (timestamp). tng chnh l gn cho mi giao
dch mt nhn thi gian, chnh l im bt u ca giao dch. Chng hn mi khi mt giao
dch bt u, h thng s gi b xp lch v giao dch s c trao cho mt nhn thi gian hoc
gi b xp lch s trao nhn thi gian khi ln u tin giao dch ny yu cu truy xut mt mc
no ca c s d liu.
Lim : Khng xy ra trng hp hai giao dch c cng nhn thi gian.

123
Thit !p nhn thi gian
Nu tt c cc giao dch u c b lp lch g hi ih giun th b lp lch s duy
tr b m s lng cc giao dch c lp lch. Khi c mt ;iao dch mi yu cu c lp
lch, b lp lch s tng b m s lng ny ln mt on v v in tr s cho siao dch c
yu cu. Nh vy, khng th xy ra trng hp hai giao dch c cng nhn thi gian, v th t
tng i gia cc hi th g k w ca cc giao dch ciim chnh l th t m cc iiao dch c
thc hin.
Mt cch gi rhn thi gan khc cho cc giao dch l dng gi tr ca ng h h
thng ti thi im bt u giao dch.
Trong trng hp tn ti nhiu b xp lch do h ihno CSDL chy trn mt mv a b
x l hoc trong h CSDL phn tn. th ta phi gn thm nii hu t duy nht cho mi nhn thi
gian. Hu t ny chnh l nh danh cua b x K tonu n . Klii , vic ng b ho cc b
m hoc ng h c dng mi b \ l l mt yu cu quan trnu m bao tnh kh
tun t ca cc lch biu.
m bo tnh kh tun t bng nhn thi gian
Trong lc c ghi, chng ta lin kt mi mc trong c s d liu vi hai thi
im:
- Thi im c (RT - Read Time); l nhn thi gian cao nhl c c do mt giao
dch c mc .
- Thi im ghi (W T - Write Time): l nhn thi gian cao nht c c do mt giao
dch ghi mc .
Bn cch thc hin nh th, chng ta c th cho rng mi giao dch s tlc hin ngay
lp tc, ti thi im c ch ra bnu nhn thi gian.
Trc ht, chng ta cn quan tm ti mt s lnh huong sau:
(1). Khng xy ra trng hp mt giao dch c trc gi tr ca mi mc nu gi tr
cha c ghi cho n sau lc thc hin giao dch . Ngha l ml giao dch c nhn thi gian
t khng th c mt mc c thi im ghi l 2 > t|. Nu it trng lip nh trn xy ra th
giao dch c nhn thi gian t| phi b lui b v c khi ng li vi nhn thi gian mi.
(2). Khng xy ra trna hp mt giao dch ghi gi tr ca mt mc nu gi tr c cia
mc c c ti mt thi im sau . Ngha l mt giao dch c nhn thi gian khng
th ghi mt mc c thi im c 2. nu t.i > t|. Nu mt trng hp nh trn xy ra thi giao
dch c nhn thi gian t phi b hu b v c khi ng l vi nhn thi gian mi.
uy tc duy tri th t tun t ca nhn thi gian nh sau. Gi s ta c mt giao dch c
nhn thi gian t ang mun thc hin mt thao tc X trn mt mc c thi im c t( v thi
im ghi thi:
a/ Cho thc hin thao tc ny nu:
X ^ Read v t > hoc
X - Write v t > tr v t > tw
Trong trr.g hp trc, t thi im c l t nu t > tj v trong trng hp sau, t
thi im ghi l t nu t > t,,.

124
b/ Khng thc hin g nu X = Write v t, < t <
c/ Hu b giao dch ny nu: X = Read v t < tu hoc X = Write v t < t,
V d 2.35: Trong RLock c xem l Read, WLock c xem l Write, cc bc
Unlock khne tn ti. Cc giao dch Ti, Tt , Ta, T 4 c cc nhn thi gian ln lt l 100, 200,
300, 400.
bc (1), T 2 (c nhn thi gian l t = 200) c A (c WT = 0), tc t > t.Thao tc
ny l c php, v vi t > tr (bng 0) nn RT ca A uc t li l 200.
Tng t bc (2), T 3 (c nhn thi gian l t = 300) c A (c WT = 0), tc t > t.
Thao tc ny l c php, v v t > tr (bng 200) nn RT cia A c t li l 300.

bc (3), T 7 (c nhn thi gian l t = 200) ghi B (c RT = 0 v WT = 0), tc t > Tr


v t >tw Thao tc ny l c php, vi t > tw (bng 0) nn WT ca B c t li l 200.
bc (4), T;, (c nhn thi gian l t 300) ghi A (c RT =" 300 v WT=0), tc t > Tf

v t > t. Thao tc 'ly l c php, vi t > t\v' (bng 0) nn WT ca A c t li l 300.


bc (5), T| (c nhn thi gian l t = 100) c B (c WT = 200), tc
t < tw Vi vy thao tc ny b hu b.

TI T| T,_________T., T4________ A___________ B__________ c


100 200 300 400 RT=0 RT=0 RT=0
WT=0 WT=0 WT=0
(1) Read A R T-200
(2) Read A RT=300
(3) Write B WT=200
(4) Write A WT=300
(5) Read B
T b hu b

Vi d 2.36\ Gi s c hai giao dch T|, T cig ng thi truy xut ti mt mc d liu
A. Vi RT l thi im c v WT l thi im ghi ca mc d liu A c ch ra khi n b
thay i. Chng ta gi s rng thi im c v thi im ghi ban u l 0. V T|, T 2 c nhn
thi gian tng ng l 150 v 160.
Gi s cc giao dch c thc hin vi mt dy cc hnh ng nh sau:
..........

50 . 160 RT=0
WT - 0
(1) Read A
(2) Read A
(3) A;=A+1
(4) A:=A+1
(5) Write A
( 6) Write A

125
Yeu cau: Anh (chj) hay cho biet giao dich nao xay ra, giao dich nao bi huy bo va dien
giai? Nhan xet.
Tra I6i:
Xac dinh RT, WT cua tung thao tac

T, T. A
150 160 RT - 0
W T=0
( 1) Read A R T -I5 0
(2 ) Read A RT= 160
(3) A:=A+I
(4) A:=A+1
(5) Write A WT=160
(6) Write A
TI bi huy bo

Dien giai:
Tai buac (1): RT ciia A la: 150 do T| doc muc du' lieu A
(2): RT cua A la: 160 do Tidoc muc du' lieu A
(3): TI thirc hien tinh A
(4): Ti thuc hien tinh A
(5): Khi T t ghi A. nhan thai gian ciia Ti la 160 => WT = 160, ciing khong nho
hon WT cua A ia 0. Thao tac ghi nay dirge thirc hien
( 6 ): Khi T| co g^ng ghi vao A, nhan thai gian cua T| la 150 => WT
150 < RT = 160 => Thao nay bi huy bo.
Nhan xet: Mgt chuoi sir kien tuong tir cimg xay ra neu nhan thai gian ciia T| > Ti > Do
do Tj bi huy bo a bu'oc (5).
Vi du 2.37: Gia sir co ba giao dich T|, Ti, T;, hoat tac tren ba muc du' lieu A, B. C v6 i
nhan thai gian tuong ung la 200, 150, 175. Vai RT la thai diem doc va W T la thai diem ghi ciia
muc dir lieu A dugc chi ra khi no bj thay doi. Chung ta gia sir rang thai diem doc va thai diem
ghi ban dau la 0 .
Gia sir cac giao dich dirge thirc hien v6 i mot day cac anh dong nhir sau:
.... ^ T...................... T,
200 ^ ....1 50..... ..........
(1) Read B
(2) Read A
(3) Read C
(4) Write B
(5) Write A
(6 ) Write C
(7) Write A

126
Y u cu: Anh (ch) hy cho bit giao dch no xy ra, giao dch no b hu b v din
gii? Nhn xt.
T r li:
Xc nh RT, W T ca tng thao tc
TI T2 T3 A B c
200 150 175 RT = 0 RT = 0 RT = 0
W T -0 WT = 0 W T- 0
(I) Read B RT - 200
(2) Read A R T = 150
(3) Read c RT= 175
(4) Write B WT = 200
(5) Write A WT= 200
(6) Write c WT=150
(7) T j bi hii b Write A W T - 175

Din gii:
Ti bc ( I ): RT ca B l: 200 do TI c mc d liu B
(2): RT ca A l: 150 do T^c mc dr liu A
(3): RT ca c l: 175 do T c mc d liu c
(4): WT ca B l 200 > RT ca B l 200 => Thao tc ny thc hin
(5): WT ca A l 200 > RT ca A l 150 => Thao tc ny thc hin
(6): WT ca c l 150 < RT ca c l 175 => RT > WT => T khng thc hin
c, thao tc ny b hu b
(7) : T, thc hin ghi A m WT ca A 175 > RT ca A = 150, khng cn
hu b. Tuy nhin, thi im ghi ca A l 200 do T| ghi => V vy gi tr
ca A do ghi khng c a vo c s' d liu.

127

You might also like