Professional Documents
Culture Documents
Extract Pages From Gi4c7f p1 2475
Extract Pages From Gi4c7f p1 2475
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
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...
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
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
Qun l b nh
15
- C p nht, c h n lliim. loi bo hay sa i d liu m c tp;
- B ho (iGraplhics (enerator):
- 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...
- 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.
1.1.6. R n g b u c d liu
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.
18
Databas
M ain Frame Computer
Client
Hinh 1.3. M hinh C lient - Server 2 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
Applicaation
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
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
22
Hnh 1 . 7. K in trc h thng Server.
Client
Server
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
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.
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.
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.
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 .
TI 10 21/10/1996
T2 29 31/12/1999
TI 10 15/07/1982
T2 18 15/09/1998
T4 4 01/05/1980
TI 15 20/01/1981
T4 8 27/09/2000
T3 10 03/09/1999
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.
28
T5 1 01/05/2002 M05 1 VinaSung 4 LDA Lin doanh
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
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
TC# MC# SL NG
31
b) Thng tin v cc tuyn cp:
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
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
34
Hnh 2.3. M hnh c s d liu ngn hng phn tn.
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.
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 ].
(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.
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).
2 .1 .8 . H q u n tr C SD L phn tn
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.
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
43
Ph ng thc truy
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
47
T ng 1
Tng 2
Tng 3
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.
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.
51
V d 2.3:
CT
Chc v, Lng
LI DA
NV
L2 L3
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,.
Chc v Lng
K s in 40000
K s c kh 27000
Lp trinh 24000
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).
54
F//w2 7; Xt quan h DA
DA:
DA3
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-
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 .
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.
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|
DA
DA4
M DA Tn DA Ngn sch a im
DA
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 .
E1 J.Doe K s in C hc vu. L n e
E3 A.Lee K s c kh M N V .T n N V , C hc v
E4 J.Miller Programmer
E6 L.Chu K s in
E7 R.david K s c kh
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,
60
CT CT>
K s c kh 27000 K s in 40000
NV NV-
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:
2 .3 .4 . P h n m n h d c
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
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 (
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))
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.
68
I
A ] A 2 A- | Aj+| ... A,
A|
Ai TA
-A ..
Ai+I
BA
A,
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
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
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.
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.
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.
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
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
2 .3 .6 3 , C ch tip cn 2
Xy dnu bi ton cp pht
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
./
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
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
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: 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
80
2 .4 .1 . B i ton x l vn tin
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)
V tr 5
Kt qu = N V l U N V 2
V tr 5
V tr 1 V tr 2 V tr 3 V tr 4
2.9/?;. Chin lc B.
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
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
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):
1 . Pl A i <-> Pp A Pi
2. p V P:> <:-> Pi
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
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
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
and TeiiD A ^'C A D /CA M ' and CVu - TP" and tgian >36
P5 ^
PC
NV
P3
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
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
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)
2
p I (A I )( |) ( A l( R ) )' 1
|1 (A I ),' (1. ( A )( 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.
,An(R X S) (p(A(R)) X s
p (A ,)(R T ) c > ,a ( R ) ^ ^ p iA o ( T )
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
DA NV
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,
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)
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
Rt gn v php noi:
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)
From NV, PC
Where NV.MaNV = PC.MaNV
+ Xy dng cy ton t gc:
Ixl
94
PCI NV2 PCI NV3 PC2 NVl PC2 NV2
PCI t X N V l ^ 0
PC2 x NV2 / 0
PC2 I X NV3 0
+ Khi chng ta c cy rt gn sau:
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 :
NV2 nMaNV,CVu(NV)
V cu vn tin sau:
Select TnNV
From NV.
T cnN V
NVl NV2
96
Rt gn c cy kt qu sau:
n ICnNV
NVl
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:
PCI P C IX N V I
PC(MaNV, MaDA. NV. Tg) -
_ PC2 PC | X N V 2
Tr li:
Select *
From NV, PC
97
PC] PC2 NVl NV2
x l
(V =-|jp'
NV2
PCI
+ 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
^ ( ' m .i = P P '
PC 2
N V 2
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:
I I T.
nNV
NV
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:
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
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.
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.
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).
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
T I: Read (x)
T I: x<-x + 1
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
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.
109
iu phi vin Thnh vin
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}
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.
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.
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|.
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 .
(1) T: : Lock A
(2) T. ; Unlock A
(3) T 3 : Lock A
(5) T 1 : Lock B
( 6) T, ; Unlock B
(7) T t : Lock B
( 8) T 2 : Unlock B
0 -
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.
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.
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