Вы находитесь на странице: 1из 207

NGUYHN VN I I UN - PIIM Vl n ' BNH

GIO TRNH
H C S D LIU
PHN TN V SUY DIN
NH XUT BN KHOA HC V K THUT
H Ni - 209
MC LC
M U
3
MC LC 5
CHNG I. GII THIU CHUNG 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
Cc h thng CSDL i tng v tri thc
25
1.2.2.2. 25
1.2.3. M hnh CSDL phn cp (Hierarchy Data Model)
Cu trc biu din d liu phn cp
25
1.2.3.1. 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
Cch tip cn m hnh CSDL quan h
30
1.2.5. 30
CHNG n. C S D LIU PHN 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 VN 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 DA 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 VN KHC 142
CHNG 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
CHNG V. THC HNH MT 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
MT S THI UA CC NM 189
TI LIU THAM KHAO 205
CHNG I
GII THIU CHUNG V c s D LIU
1.1. KHI NIVI CO BN V CC H c s D A
Trong chng ny trnh by nhng khi nim C0 bn v cc h c s d liu do E.F
Codd xut. Nhng khi nim ny bao gm mc tiu ca mt h CO s d liu. S cn thit
phi t chc d liu di dng c s d liu. Tinh c lp ca d liu th hin m hinh kin
trc 3 mc. V vy c th ni c s d liu phan nh tnh trune thc, khch quan ca th gii d
liu. Khng d tha thng tin v cng khng thiu thng tin. Ni dung ca chng bao gm cc
phn;
C s d liu l gi;
S cn thit ca cc h c s d liu;
M hnh kin trc 3 mc c s d liu;
Mc tii! ca cc h c s d liu;
H qun tr CSDL & ngi qun tr CSDL:
T chc lu tr dr liu:
Cc m h nh t ruy x u t .
1.1.1. C s'd liu l gi
C s d liu l mt b su tp rt ln v cc loi d liu tc nghip, bao gm cc loi
d liu m thanh, ting ni, ch vit, vn bn, ho, hnh anh tnh hay hnh nh ng... c
m ho di dng cc chui bit v c lu tr di dng File d liu trong cc b nh ca
my tnh, c u t rc lu t r d liu t un t heo cc quy lc da trn l t huyl t on hc. C s d
liu phn nh trung thc th gii d liu hin thc khch quan.
(V/ s d liu Ic) i nguyn hi^ tin dim^ chim^ cho nhi ngir: C s d liu
(CSDL) l ti nguvn thng tin chiiim cho nhiu niri cng s dng. Bt k ngiri s dng no
trn mng my tnh, ti cc thit b u CLioi, v ngiivn tc c quyn truy nhp khai thc lon
b hay mt phn d liu theo ch trc tuyn hay tng tc m khng ph thuc vo v tr a
l ca ngi s dng vi cc ti nguyn .
C s d iu dc cc h ng cg khai fhc hrg i^r ng con d Hii hoc bng
cc chng trnh mg dng x l, tm kim, tra cu. sa i, b sung hay loi b d liu.
Tm kim v tra cu thng tin l mt trong nhng chc nng quan trng v ph bin nht ca
cc dch v CO' s d liu. H qun tr CSDL HTCSDL (DataBase Management System -
DBMS) l phn mm iu khin cc chin lc tmy nhp CSDL. Khi ngiri s dng a ra yu
cu truy nhp bng mt ngn ng con d liu no d, HQTCSDL tip nhn v thc hin cc
thao tc trn CSDL lu tr.
i tiing nml'iin ciVii cua C'SDl. l cc lnrc th v nii quan h gim cc thc th. Thc
the v mi quan l uia CC lic tlc l hai di tirnu klic Iihaii \ c cn ban. Mi quan h gia
cc t hc t h cng l mt oi thc tl dc bit. Tr ong cch ticp cn C'S.)l.. quan h, imLii ta da
trn c s l thuyt ii s quan h x\ dng cc quan h clLin. klii kt ni khns tn tht
thng tin v khi biu din d liu l duy nht. D liu c lu tr Irone b nh' ca my tnh
khng nhng phi tnh n yu t v ti u khng ian lu tr, m phi m bao tnh khch
quan, trung thc ca d liu hin thc. Neha l phi am bo tnh nht qun ciia d liu v iii
c sr ton vn ciia d liu.
1.1.2. S cn thit ciia cc h CO' s' d' iiu
T chc l u t r d liu theo !y t huyt CO' SO' d liu c nhng tru im;
Gim ht t' la ci liu rong ini r: Trong cc ng dng lp trinh truyn thng,
phng php t chc lu trr CL liu va tn km, l ng ph b nhcV v cc t hi t b lu trfi\ va d
tha thng tin lu tr. Nhiu cluronii trnli ng dnii khc nhau cnu x Iv trn cc d liu nh
nhau, dn n s d tha ng k v d liu. V d trong cc bi lon nghip v quan Iv "Cc
t hu bao i n t hoi " v "Doanh thu & sn lng". t i ar n ng vi moi Mit chci m trnh mt
hay nhiu tp d liu c lu tr riim bit, c lp vi nhau. Trong c 2 chong trnh cng
x l mt s thuc tnli cia mt cuc m thoi nh s my gi di", '^s my gi n\ "hirig
cuc gi\ thi gian bt dau" v "thi uian kt thc"... Nhiu thuc tnh c m t v lu trCr
nhiu ln c lp vi nhau. Neu t chc lu tr theo l thuyt CSDL th c th hp nht cc tp
lu tr ca cc bi ton trn, cc chironu trinh ng dim c tl cim chia s ti nguyn trn
cng mt li CSDL.
T chc lim r d liu heo l ihuy CSDL s rnh (lirc s khi nl cu roi
lu t r dl v bao dam dc inh oi vj7 cua ciu: Nu mt thuc tnh irc m t trong
nhiu tp d liu khc nhau v lp li nhiu ln trong cc bn glii, klii thc hin vic cp nht,
sa i, b sung s khng sa ht ni dung cc mc . Nu dCr liu cng nhiu th s sai st
khi cp nht, b sung cng ln. Kha nng xut hin niii thun, khng nht qun thng tin cng
nhiu, dn n khng nht cun (i liu tronu lu tr. Tt VCU ko tiieo s d thng thni tin,
tha, thiu v mu thun tling tin.
Thng thunt, trong mt thc th. gia cc thuc tnli c mi quan h rng buc ln
nhau, tc ng nh ling ln nhau. Cc ca mt cuc m thoi ph thuc vo khong cch
v thi gian cuc gi, tc i ph tliLic hm vo cc thuc tnh my gi i, my gi n, thi
gian bt u v thi gian kt thc cuc gi. Cc trinh ng dng khc nhau cng x l cc m
thoi trn cc thc th lu tr tirong m khc nhau cha hn cho cng mt kt qu v sn
lng pht v doanh thu. iu ny K giai ti sao trong mt doanh nghip, cng x l trn cc
chi tiu qun l m s liu bo co cua cc phng ban, cc cng ty con li cho cc kt qu khc
nhau, thm ch cn tri ngc nhau. Nh vy, c th khng nh, nu d liu khng t chc
t heo l t huyt c s d liu, tt yu khng th phn nh th gii hi n t hc d liu, khng phn
nh ng bn cht vn ng ca d liu.
S khng nhc (iin d liu Irong lim r lm cho d liu mt i t nh l on vn CLi n.
Tnh ton vn d liu m bao cho s lu tr d liu lun liin ng. Khng th c m vng
ngoi quy nh ca CO' quan qun l. hoc ngv sinh ca mt nhn vi n khng the xy ra sau
ngy tt nghi p ra t ri g ciia nhn vin ...
10
T chc hm r d liu theo / hiy CSDL c l rin khai ckmg h nhiu tmg dimg
irn crg mi 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 CSDU c th kim tra, kim sot
cc quyn truy nhp ca ngi s dng. Ngn chn cc triiv nhp tri php, sai quy nh t
trong ra hoc t ngoi vo...
1.1.3. M hnh kin trc tng qut COs' d liu 3 mc
M hnh kin trc 3 mc ca h CSDL gm: Mc trong, mc m hnh d liu (Mc
quan nim) v mc igoi. CCra cc mc tn ti cc nh x quan nim trong v nh x quan
nim ngoi. Trung tm ca h thng l mc quan nim, tc l me m hnh dci liu. Ngoi ra
cn c khi nin igi s dng, h qun tr C'SDL v nmri qun tr CSOL.
Ngi s citig: L nhng ngiri ti thit b u CLii triiv nhp vo cc h CSDL t heo
ch trc tuyn hay tng tc bng cc chng trnh ng dng hay bng cc ngn ng con d
liu. Thng l cc chuyn vin k thut tin hc, c trnh thnh tho bit lp trnh v bit s
dng ngn ng con thao tc di liu (SQL Server, Oracle...). Ngui s dng c th truy nhp
lon b hay mt phn CSDL m h qan tm, ph thuc vo qiivn tni> nhp ca l. C'ch nhn
CSDL ca ngi s dng ni cliung l tru tirng. H nhn CSDL bnu m hinh ngoi; gi l
m hnh con d liu. Chng hn ngi s dng l ml nhn vin ciia phng k ton ti chnh,
ch nhin thy tp cc xut hin kiu bn ghi ngoi v doanh thu, san lng trong thng, khng
th nln thy cc xut hin kiu bn ghi lu tr v cc chi tiu k thut cua ng thng, mng
li...
M hnh ngoi: M hnh ngoi l ni dung hng tin CLI CSDL di cch nhin ca
ngLri s dng, l. ni dung t hng tin cua mt phn d liu tc nghi p c mt ngi hoe mt
nhm nii s dng quan tii. Ni cch khc, m hnh ngoi n la cch ihin d liu ca ngi
s dng v mi ngi s dng c cch nhn d' liu khc nhau. Nhiu m hinh ngoi khc nhau
c th cng tn ti trong mt h CSDL, ngha l c nhiu ngi s dng chia s chung cng mt
CO' s dr liu. Hn na, c t h m h nh ngoi quan h, m hnh ngoi phn cp hay m hnh
ngoi kiu mng cng c th tn ti trong mt c sd liiL So' ngoi khng lm "hiir' m
c nhng vo trong logic mt on tc c lin quan.
M h nh ngoi gm nhi u xut hin kiu bn ghi ngoi, ngh a l mi mt ngi s
dng c mt s dCr liu ring, mt khung nhn d iiu ring. Bn ghi ngoi cua ngi s
dng c th khc vi bn ghi lu tr v bn ghi quan nim.
M hinh ngoi dtroc xc dnh bi mt s ngoi bao gm cc m t v kiu bn ghi
ngoi nh rn cc tririig. kiu dQ' liu cc trirng, rng ca trng...
Ngn ng con d liu ca ngLri s dng t hao tc trn cc bn ghi ngoi.
11
Ngi s dng khc nhau c khung nhi n 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 hi nh d liu c xc nh bi mt SO' d' liu m t ca nhi u ki u t hc 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 Lin 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 kl 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 vi c t hit k SO' t r ong v cc s d ngoi lin ku v neu khng vi c thicl kc
s khng n nh v t hng xuyn phi \eiTi xt li lc ng t l ur nu xuyn n nhi u 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
khng n nh h t hng, lnh khng ph hp 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..
Nh vv li hnh c Hi cch nhn ioii h ni chi, thn, in cua CSDL 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
Prosrammer
End user n Application
Programmer
Hinh 1.1. Ki^n tnic h? co sd dG li?u.
Mo hinh trong-. Mo hinh trong mo hinh lim trii v$t ly dft lifu. Chi c6 duy nhat mpt
chi mOt cach bieu dien CSDL dudi d^iig luu trff v$t ly. Mo hinh trong 1^ c^ch bilu diln ca sd d(i
liu triu tugmg r mure thdp nhat.
Mo hinh trong g6m nhilu xuat hifn cua nhieu l(ilu ban ghi luru trQ* du<7c xdc djnh b^i
mpt so do trong. Thong tin bieu diln trong m6 hinh trong \h duy nhat.
So do trong bao gom cac djnh nghTa mo hinh trong. Khong chi xac djnh c^c Icieu khdc
nhau cua ban ghi imi trO' ma c6n xac djnh ro svr ton t^i cua cdc chi dan, cdch s4p x^p cac b ^ ghi
theo thur t\r nao... No xdc djnh dii lifu luu trii truy nhp nhu the nao thong qua cdc ducmg din
truy nh^p tai d& Ii?u.
Anh xg quart ni$m trong dugc xdc djnh giCta mo hinh trong mo hinh dii li?u nhSm
bao dam tinh dpc l?lp ciia dii li|u. Neu cau true luru trii cua CSDL thay doi, nghTa la thay doi
djnh ngliTa ve cau true liru trtt dii li?u thi dnh x?i nay eung phdi thay d6i tuong umg sao cho so
do quan ni$m (mo hinh da li^u) khong thay doi.
Anh xg quan ni^m ngoai: La anh dugc xac djnh tuong umg mpt - mOt gitta mo hinh
ngoai cua nguoi sur dyng vdri mo hinh dff li^u.
13
1.1.4. Mc 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, ci i 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 ngiia t nh c lp d liLi J "Tl h
hin cua cc h i h g ch/ny; l i vi s ilhiy (li /ro i g cu r c hrif r V/ chi n luc my 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' S0d 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, nhng 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 h nh d liu, nhm bo m c
tnh c lp cua d liu, ngha l mu 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
Ngi
Lp trnh
Nh Qun tr
s dng
ng dng
phn tch CSDL
C
iao d i l r ^ /^' cng trrN /' ""' BQCong N B c n g ^ ^
mg dng^ dnfu^ v ^c cu h ^ qun ti_ _ ^
Qun l b nh
Hnh 1.2. S kin trc h ting c s d liu.
1.1.5. H qun tr CSDL & ngi qun tr CSDL
H qun tr CSDL DBMS (DataBase Management System) l h thng phn mm iu
khin ton b cc chin lc truy nhp v cu trc lu tr c s d liu. Cc chc nng ch yu
ca mt h qun fr c s d liu:
- M t d liu to lp v duy tr s tn ti ca CSDL;
- Cho php fruy xut vo CSDL theo thm quyn c cp;
15
- Cp nht , chn lliim. loi bo hay sa i d liu mc tp;
- m bo an ton , bao mt d liu v tnh ton vn d liu;
- To cu tric d 1iiu m nu vi m hinh d liu;
- m bo t nh c lp d liu. Tc l cu trc lu t r dCr liu c lp v'i cc trnh ng
dng d liu:
- To mi lin kl gia cc thc h:
- Cung cp cc pho"nL> tin sao lu, phc hi (backup, recoverv):
- i u khi n t i r ng tirainli:
Cc bc thc hii! cua h quan tr CSDL c th tm tl nh sau;
- Ngi s dng diLia ra vu cu iriiv nhp bnt i mn imCr con d iii;
- DBMS s t:ip nhn v phn lch vLi cu;
- DBMS xein xt S. ngoi, nh x ngoi, s quan nim, nh x trong,...;
- Thc hin cc thao tc trn CSDL lu trCr.
Cc thnh phn cia mt h TCSDL: Mt h TCSDL thng thng c cc thnh
phn ch nh nh sau:
- Ngn ng nh nglia cii liu (Dala Defini t ion Lanmi age) ;
- Ngn ng thao tc d liu (Data Manipulalion Language);
- Ngn ng truy vn di liu (Query Language);
- B bo co ( Repoi t Write);
- B ho (iGraplhics (enerator):
- B gi ao t i p ign rgi chu ( losi Language liUcrface):
- Ngn ng t-hu tc (Procedure l.anguage):
- T in dir liu;
- B pht siiiih ni d nu.
Ngi qiii Iir (\S'/D l inl Iigiii hay mt nhm U c kha nng chyn mn cao
v cng ngh tin h)C. c xrch inhim quan l v i u khi n t on b hot ng cua 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 dng nhCirng quyn truy nhp nh ch c php c, c mt phn, c t h sa, b
sung mt phn. . .
Nri ciam Ir ( 'SDL c s nli V chinh:
- Xc nlh thc thc; v ni dung thn^i tin cn lu tr. Xc nh SO' quan ni m p
ng yiu tcii truv nhp cua Iigiri s dng.
- Quyt nll cu tnc lu tr v chin lc truy nhp; Ngi qun tr CSDL phi xc
nh ciclii tlic biiu din d liu nh ni t cu trc lu tr trong, m t cu trc lu
16
tr vt l. Xc nh m h nh di liiK nh neh a nh x gira cu t rc 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 tmv 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 dng cc bi n php an ton, an ni nh d liu.
- Xc nh chien lc lu tr, sao chp, phc hi... trong cc trng hp h hng do
sai st, hoc trc trc kv thut.
1.1.6. Rng buc d liu
Gia cc thc th d liu tn ti cc mi quan h, rng buc ln nhau. Cc rng buc
ny ch nh l t p cc quy t c, quy nh yu cu d liu t r ong CO' s d liu phi t ho mn. Mc
ch xy dng cc rng buc d liu l nhm bo m tnh c lp v tnh ton vn d liu. D
liu lu tr trong c s d liu lun liin hin thc khch quan, khng tha thiu thng tin,
khng mu t hun t hng tin. Cc h c s d liu cn phai c cc CO' ch cho vi c m t cc rng
buc v qun lcc rnti buc c m ta.
C rt nhiu loi rng buc. Rng buc v kiu, rng buc gii tch, rng buc logic...
l cc khi ni m v ph t huc hm, ph t huc a tr, ph t huc kt ni.
Rcwg hic kir. Loi rng buc thp nht, m t tnh cht ca cc thuc tnh khi to
lp (' SDL. Ngoi tn CLa thuc tnh, thuc tnh kiii gi, chui k t, kiu s, kiu ngy, kiu
logic... v di l bao nhiu. V d thuc tnh S in thoi" l kiu chui k t ng bng 7
k t Irong xu. H thng s khng chp nhn, neu nhp vo CSDL mt s in thoi kiu so
hoc kiu xu nhirng cha hoc vt qu 7 k t. Phn ng ca h thng hoc l a ra
thng bo ''D' liu khng hp l, hoc ct i nhng k t tha.
Rng hic giai [ch: L nhng rng buc gia cc thuc tnh c biu dii bng cc
biu thc ton hc. V d khi nhp s lirng" v '"tyn gi" ca mt mt hng, h thng s t
ng tnh gi tr cLa t huc t nh t hnh t i n" t heo cng t hc "s l ng" nhn vi "n gi " bng
"thnh tin". Hoc nh gi nng lc hc tp cua Iil em hc sinh, khi nhp gi tr im trung
binh" cua tng em vo h thng , h thng t ng nh gi em c nng lc hc tp l
"km", ' Irung bi nh' \ hay "gii".
Ri buc logic: Mi quan h giCra cc thuc tnh vi nhau khng phi l cc rng buc
gii tch, c gi l ph thuc hm. Thuc tnh Y ph thuc hm vo thuc tnh X, ngha l
mi mt gi tr cua X xc nh gi tr cua Y. V d nu gi tr ca s i n t hoi c t h xc .nh
cc thng tin v tliuc bao c s in thoi . Nhing rng buc logic c th l nh \ mt
mt lioc ml nhiu.
17
L1.7, Cc m hnh truy xut d liu
Truy nhp v khai thc cc h c s' d liu tr thnh phuong thc ph bin t r ong cc
ng dng ca h thng tin hc, c bit trn cc mng Internet/Intranet. Chuyn ti t hng 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 tr nh CO s d liu ng t rn cc
mi trng Internet v Intranet.
LL 7.L M hnh c s d Uu Client Server
Mt trong nhng mc tiu khi kt ni cc my tnh thnh mng l chia se cc ti ngiivn
thng tin. Mt my ch cung cp cc loi dch v cho nhiu my khch t hng qua mi t r ung
mng. My ch v my khch u tham gia qu trnh x l, v vy m h nh Client - Server 2 lp
tr nn ph bin. Cc my khch (Clients) chia s gnh nng xlYl ca my ch trung tm. Khi
my khch thc hin cc ng dng, n gi yu cu v my ch c kt ni vi c s d liu,
my ch x l v gi tr li kt qu v my khch.
Trn cc my ch, thng c ci t cc h c s d liu bao gm cc bng biu,
cc th tc lu tr... v iu khin cc tin trnh sau:
V Qun l d liu.
V Bo mt d liu.
V Thc hin truy vn, rng buc v cc th tc lu trCr.
V iu khin li.
Cc tin trnh c thc hin trn my khch:
V To giao din ngi s dng (User Inteface).
Tng tc c s d liu ( Database Interaction):
V Cp nht d liu: thm, sa v xo d liu.
V iu khin li.
Tuy nhin m hinh ClienServer vn cn Iihiu bt cp:
V M hinh ClienServer 2 lp c hiu qu cao vi cc ng dng nh v s
lng ngi s dng hn ch. Khi nhiu my khch (Clients) kt ni truy
nhp vo c s d liu thi nng lc qun l v K l ca my ch (Server)
s b gim xung, tc x l chm.
V Nhiu kt ni d liu phi c duy tr.
V M ngun khng c kh nng dng s dng li. Mt ng dng tn ti trong
nhiu khi m ngun khc nhau c ci t trn my khch, V vy khi c
s thay i m ngun ngi ta cn phi ci t li trn tt c my khch,
iu ny rt kh c th thc hin c.
V Khng c lp trung gian iu khin s bo mt v cc giao dch gia my
khch v my ch.
18
Databas
Main Frame Computer
Client
Hinh 1.3. M hinh Client - Server 2 lp.
1. Trinh duyt Browser gi yu cu cho Web Server.
2. Web Server tr kt qu v cho trnh duyt.
LL 7.2, M hnh CienServer nhiu lp
Trong m hnh ClienServer 3 lp (hay nhiu lp), qu trnh x l c phn tn trn
3 lp khc nhau vi cc chc nng ring bit. V vy m hinh ny rt thch hp cho vic t chc
h thng thng tin trn mng Internet v mng Intranet hay trong cc mng cc b. Pht trin
m hinh 3 lp s khc phc c mt s hn ch ca m hnh 2 lp. Cc h c s d liu c
ci t trn cc my ch Web Server v c th c truy nhp khng hn ch cc ng dng v
s lung ngi dng.
Lp khch (Clients): Chc nng ca lp ny l cung cp dch v trinh by
(Presentation Services). Thc hin vic giao tip gLia ngi s dng vi lp giao dch thng
qua trnh duyt Browser hay trnh nt dng thao tc v x l d liu. Thng thng giao
din ngi s dng c cha trong cc File OCX, Lp ny c th ci t dng ng dng
Web gm nhng trang ASP s dng cc File OCX. I r ong m hnh Internet (Internet model),
lp khch l trnh duyt Internet Explorer hay Netscape.
Lp giao dch (Business Tier): Cung cp cc dch v qun tr, t chc v khai thc
CSDL. Cc component trc y c ci t trn lp khch, nay c ci t trn lp giao
dch. V d, mt ngi s dng trn my khch t mua hng, lp giao dch kim tra m hng
cn na hay khng mi quyt nh tip tc bn hay khng bn. Thnh phn ca lp giao dch
trong m hinh Internet l Web Server v COM+/MTS. Cng ngh ca Microsoft vi Web
Server l l i s (Internet Information Services) s dng ASP kt ni Client vi COM. Web
Server giao tip vi COM+/MTS component qua COM. COM+/ MTS component iu khin
tt c giao tip vi lp d liu ngun thng qua ODBC hoc OLE - DB.
Lp ngun d liu (Data Source): Lp ngun d liu cung cp cc dch v t chc v
lu trcc h co- s' d liu quan h. sn sng cung cp d liu cho lp giao dch. c trng ca
lp ny l SQL Server qun l d liu v cc thnh phn trong c s d liu nh bng, d liu
v cc th tc lu tr. Trong m hnh Internet lp ngun d liu qun l cc hot ng ca mt
lig ln Clients. Microsoft pht trin DNA m hnh chung (Framework) xy dng cho ng
dng nhiu lp.
19
Tm li, c trng ca m hnh tnh ton phn tn l cc ti nguyn ca mng nh thit
b phn cng, chng trnh, d liu c phn tn theo a l trn mng. Ngi s dng c th
truy nhp khai thc trc tuyn hoc v khai thc tomg tc d liu t xa.
Hnh 1.4a v 1.4b, m t cc loi m hnh Client-Server 3 lp.
Database
Server
Hnh 1.4a. M hnh client server 3 lp c s dng Middleware server.
Applicaation
Hnh 1.4b. M hnh client server 3 lp c s ng Application server.
Hnh 1.4a c s dng Middleware server vi mc ch qun l v iu khin cc tin
trinh tng tc ca h thng. Ngha l s dng Middleware server iu khin v quan l
nhiu kt ni ng thi truy xut CSDL ca cc frm u cui. Trong cu trc loi 3 lp nh
hnh 1.4b, s dng Application server h tr cho mt s tin trnh ng dng c th nh truy
xut ghi, cp nht c s d liu chng hn.
1.1.7.3. K thut lp trnh c s d liu - Web ng
C s d liu phn tn ngy nay c ng dng rng ri frn mng my tnh. D liu
Iini tr trn cc my tnh khc nhau ti cc v tr a l khc nhau. Vi cch nhn ca ngi s
dng l trong sut v d s dng. on gin ngi ta sao lp cc CSDL thnh nhiu bn sao
v c ci t frn nhiu v tr khc nhau. Phng php ny to ra an ton cao, p ng
c cc nhu cu truy nhp ca ngi s dng.
20
K thut kt ni CSDL - Web h cho ngi s dng c th to ra nhng trang Web
ng tu bin, kt ni tnh ton v truy vn c s d liu t cc my khch t xa nh cc k
thut HTML (HyperText Markup Language), XML (extensible Markup Language) hoc XSL
(extensible Style Language). K thut kt ni CSDL - Web ph bin nh:
Dit4ibajC
Database
Server
Client
Application
Hnh 1.5. M hnh client server nhiu lp.
CGl (Common Gateway Interface) h to ra nhng ang Web tu bin theo
yu cu t my khch gi n.
ISAPI (Internet Server Application Progamming Interface) cho php lp trnh ng
dng trn my ngi s dng Web dui dng mt th vin Hn kt ng cm (Dynamic Link
Library) c np cng lc vo b nh. Cc ng dng ca ISAPI thc hin nhanh hn cc ng
dng ca CGI.
IDC (Internet Database Connector) l mt ng dng ISAPI, h tr ca IIS (Internet
Information Server) truy nhp CSDL qua ODBC kt ni CSDL trn Internet. Vi cng ngh
ASP (Active Server Pages) cho php lp trnh theo dng kch bn to nhng ng dng c tnh
tng tc v hiu sut cao khi truy xut c s d liu frn my ch.
JDBC (Java DataBase Connectivity) h tr lp nh mng truy xut CSDL bng ngn
ng Java. Cho php ngi s dng u cui uy nhp vo cc h CSDL bng MS SQL Server,
MS Access, Oracle, hay bng ngn ng truy vn SQL...
1.1.7.4. Kin trc h thng Server (Server System Architecture)
H thng kin trc Server bao gm Server giao tc (Transaction Server) v Data Server.
Giao tc Server: Cng c gi l Query Server, cung cp giao din cho cc trm khch
(Clients) c th gi cu hi v yu cu thc hin v gi li kt qu. Yu cu c th biu din
bng ngn ng SQL hoc bng giao tip trong nh ng dng.
21
Tin trnh Server (Server process): Tin trinh nhn cc yu cu t cc my trm
clients, thc hin yu cu v tr li kt qu cho cc my trm. Cc yu cu ca my trm c
nhn t giao tip ngi s ng hay t tin inh ngi s dng c nhng ong SQL, JDBC
hay trong cc giao thc tng t.
Lock manager process: y l tin trinh kho cp quyn truy nhp c s d liu ca
tin trnh qun tr CSDL cho ngi s dng.
1. User click
Hyperlink
8. I
Hit n th
kt 1 '
2. Browser gi yu cu n web server
----------------------------- :---------
7. Web server tr kt qu v Client
6.
Tr v
ang Web
3.
Web Server
yu cu x l
CGI
5.
Kt qu
truy xut
4.
Truy xut
& x l
Database
Hnh 1.6. C ch lm vic ca mt ng dng CGI.
Database writer process: Tin inh cho php c d liu vo b nh ph v c
php sa i, sau c php cp nht tr li CSDL.
Log writer process: Tin trnh nht k theo di qu trnh c, sa i v cp nht
li d liu ca tin trnh Database writer process.
Checkpoint process: Tien trnh kim sot nh k khun dng trinh by .
Process monitor process: y tin trnh gim st cc tin nh khc, nu pht hin
mt tin trnh no y b li, n yu cu ngt v thc hin li.
Server d Hu (Data Server): Cho php Clients tng tc vi Server bng cc thao tc
c hay cp nht d liu. V d nh File Server cung cp giao in h thng file cho cc my
m clients c th thc hin to file, cp nht d liu, c d liu hay xo d liu.
22
Hnh 1.7. Kin trc h thng Server.
1.1.7.5. Cc m hnh kin trc ng dng
Client
Server
a. Kin trc 2 lp b. Kin trc 3 lp
Hnh 1.8. Kin trc ng dng 2 v 3 lp.
1.2. CC M HNH C S D LIU
Trong chcmg I gii thiu mc tiu ca cc h c s d liu l tnh c lp v tnh
ton vn ca d liu. Trong chcmg ny gii thiu cc phng php tip cn m hnh d liu:
m hnh c s d liu mng, phn cp, c s d liu quan h v m hnh thc th quan h. C
s so snh, nh gi mt CSDL tt a vo cc mc ch xy dng h thng, c s d liu
hng gi tr hay hng i tng, tnh d tha v gii quyt tt mi quan h nhiu - nhiu.
23
M hinh d liu.
M hinh CSDL phn cp.
Cu trc biu din d' liu phn cp.
M hnh CSDL mng.
Cch tip cn m hnh CSDL qian h.
M hnh thc th quan h.
1.2.1. M u
S Cn thit t chc lu tr d liu theo mt cch thiYc xc nh v cht ch dn n
s pht trin cc m hinh dCr liu. T nhCmg m hnh mng, m hnh phn cp v m hinh d
liu quan h l nhCrng m hinh C0 s d liu kinh in, truyn thng cho n cc m h nh c s'
d liu phn tn, c s dfr liu hng i im...l nhng m hnh d liu hin i c p
dng nhiu trn th trng hin nay.
i tng nghin cu cc h CSDL l cc thc th v cc mi lin kt gia cc thc
th. Mt m hnh CSDL phi c kh nng biu din thc th v lin kt gia cc thc th. Cc
lin kt l mt dng c bit ca thc th. Cc cch tip cn CSDL l cc cch nhn v cc cch
biu din lin kt ca ngi s dng.
Nghin cu m hnh CO' s dir Hii da (r cc vi cu sau:
1. Mc tiu c lp d liu: Phi xc nh r rng cc kha cnh logic v kha cnh vt
l ca vi c qun tr c s d liu, bao gm vic thit k cc h c s d liu, cc t hao t c v tm
kim d liu bng cc cng c ngn ng con dir liu.
2. Mc tiu trao i: M hnh d liii on gin v cu trik, sao cho ngi s dng c
cch nlin t r ong sut khi truy nhp vo cc h co S0 d liu v c kh nng t r ao i vi nhau v
c s d liu.
i . Mc tv x tp: Ngi s dng c th s dng ngn ng bc cao biu din cc
php ton trn cc mng thng tin, k thut x i theo l (batch), m khng phi x l tun t-
theo tng bn ghi.
4. M hnh c xy cnig rn ars l ihuy vCmg chac. ch ch.
1.2.2. M hnh d liu (Data Mdel)
Mt m hinh d liu l mt h tling hnh thc ton hc, bao gm:
- H thng cc k hiu biu din d liLi.
- Tp hp cc php ton thao tc trn co s' d liu.
c trng ca mt m hnh d liu:
- Tnh n nh khi thit k m hnh d liu.
- Tnh n gin c ngha l d hiu v d hao tc.
- Tnh d tha cn phi kim tra k liring.
- Tnh i xng phi c bo ton.
- C c s l thuyt vng clic.
24
L2.2. L Phn bit gia cc m hnh d liu
T chc d liu theo m hnh no l tt nht. Thc t cha c m hnh d liu no l 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. Mc ch: Phn ln cc m hnh d liu s dng h t hng k hiu biu di n d'
liu v lm nn t ng cho cc h ng dng v ngn ng' t hao tc di liu. Cc m hnh t hc th
quan h khng c h t hong k hi u xy dng cc php ton t hao t c d iiu. m s dng
thit k lirc khi nim, ci t t r ong mt m hnh d liu vi mt h qun tr CO s dfr liu
no .
2. Hng gi tr hay hng i tng: Cc m hnh d liu quan h v m hnh logic l
cc m hnh d liu hng gi tr. Trong cc m hnh d liu hng gi tr c tnh khai bo
(declarativeness) v c tc 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. Giai civ moi 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. Cc It thng CSDL i tng 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 hp cc bn ghi c khun dng thng nht.
Che du c liu (Encapsnlatior): Ngha l khi c yu cu truy xut n cc i tng
thuc kiu c bit, phi qua cc th tc c nh ngha cho cc i tng . Chng hn
nh ngha slack nh l mt kiu v nh ngha cc thao tc PliSH, POP p dng clO stack.
c tnh nhn dng i tng (Obect Indenlitv) l kh nng phn bit cc i tng .
Ngha l cu trc cc kiu c ban nh nhau. Cc kiu c bn l chui k t, s.
1.2.3. M hnh CSDL phn cp (Hierarchy Data Model)
L 2.3.1, Cu trc biu din d liu ph cp
Trong m hnh CSDL phn cp, d liu c biu din bng cu trc cy. Mt CSDL
phn cp l tp cc cy (rng cy). Trong mi mt cy ch cha mt v ch mt xut hin ca
bn ghi gc, gi l bn ghi nh, v diri n l tp cc xii hin ca cc bn ghi ph thuc. Cc
25
bn ghi ph thuc c th l tu hoc khng tn ti. Mt bn ghi gc c th co nit s bt kv
cc bn ghi ph thuc v cc bn ghi ph thuc c th c mt s cc 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
. Nh vy cc bn ghi UOC l cc kiu ban nhi v cc l(ii cp i rc lp t v cc ban uli
ph thuc l cc bn uhi v thng tin cc tuyn cp.
Theo nh ngha, khng th c cc bn ghi ph thuc m khng tn ti bn ghi gc,
ngha l khng th tn ti cc loi cp m cha c lp t trn mt tuyn no c. Nh vy c
th tn ti cc loi cy va c xut hin ca bn ghi gc v cc bn ghi ph thuc, ngha l mi
mt loi cp c th c lp t trn nhiu tuyn cp khc nhau v trn mt tuyn cp c th c
nhiu loi cp khc nhau c lp t. C loi cy chi tn ti bn ghi gc thoi ho, di n
khng tn ti bn ghi ph thuc, ngha l c t nht mt loi cp cha c a vo lp t s
dung. Theo nh ngha, khng tn ti loi cy ch c cc bn ghi ph thuc m khng c bn
gc, tc l trn mi tuyn cp phi c t nht mt loi cp. iu g s xy ra khi trn mt tuyn
no c duy nht mt loi cp b hu b.
. 2.3.2, Ngn ngtho tc trn CSDL pln cp
Biu din ph thuc trong m hnh phn cp: Cc ng ni t bn uhi gc tro xiinu
cc bn ghi ph thuc, hay t bn ghi cha tr xung bn ghi con biu din mi quan h ia cc
bn ghi t rong m h nh phn cp. V d t r ong bn ghi "Pliiii xiit kho" c t h xc nh irc m
v n gi ca cc loi cp.
Chn thm: Trong cu trc hnh cy, c ml v ch mt xii hin bn ghi gc, tc l
bt buc phi c xut hin bn ghi v cc loi cp. Nu mun lu tr thng tin v nit luyen cp
mi vo CSDU th iu Iiy khng th thc hin c, v khng ih thm thng tin v cc xut
hin kiu bn ghi ph thuc (thng tin v cc tuyn cp) vo CSDL phn cp khi clura c thnu
tin v cc loi cp.
Loi b: Trong mt s cu trc cv d liiu thng tin v mt vn Iio y irc
cha trong mt xut hin kiu ban ghi ph thuc duy nht thi khi loi bo s lii mt thng tin v
vn trn. V d khi loi b loi cp M04 trn tuyn T03, s ko theo thng tin v tuyn cp
T03 b mt v thng tin v cp mang m hiu M04 cng b mt lun, Nh vy c th xy ra hin
tng mt thng tin v cc tuyn cp hoc thng tin v cc loi cp khi thc hin cc thao tc
loi b.
1. Bn ghi gc: M cp, tn cp. s lno- m nirc sn \ ut v n nc san xut.
2. Bn ghi ph thuc: M tuyn, di tuyii v ngy lp t cp.
Sa i; Neu cn phi sa i mt s thiig tin trong cc xut hin kiu bn ghi ph
thuc th phi duyt ton b m hnh d' liu, bng cch phi d tm trong tng xut hin. Nh
vy kh nng d tm khng ht c th xy ra, s dn n s xut hin mu thun thng tin v
khng nht qun d liu trong lu trr. V d cn thay i tn gi ca cc tuyn cp hoc tn gi
26
cc loi cp, nu s cc xut hin kiu bn ghi loi ny rt ln, kh nng duyt st vn c th
xy r a , ngha l mu thun thng tin, khng nht qun thng tin s xy r a .
MOI Loi 10 di VNA Vit Nam
TI 10 21/10/1996
T2 29 31/12/1999
M02 Loi 20 i 1,5 HQA Hn Quc
TI 10 15/07/1982
T2 18 15/09/1998
T4 4 01/05/1980
M03 Cp ng trc ~3 NGA Nga
TI 15 20/01/1981
T4 8 27/09/2000
M04 Cp s i quang I 4 LDA I VN-HQ
T3 10 03/09/1999
Hnh 1.9. D liu biu din di dng phn cp.
Cc php tm kim: Cc xut hin ca cc bn ghi ph thuc ch tn ti khi v ch khi
tn ti xut hin kiu bn ghi gc.
V d Ql: Tm s hiu ca cc tuyn Q2; Tm s hiu cc loi cp
c lp t cp MC#="M02". lp t trn tuyn TC#= "T02".
Bn ghi gc: MC#="M02" Next: Khng cn bn ghi gc: Thot
Khng tim thy: Thot Khng tm thy TC#="T2"
In TC# Goto Next
Thot Tm thy: In MC# Goto Next
Cc truy vn thng i xng nhau nhng kt qu ca cc php tm kim khng i
xng. V vy trong cu trc lu tr ca m hinh phn cp rt hn ch khi thc hin vic tm
kim thng tin. Nu CSDL phn cp cng ln thi tnh phc tp cng cao. Gy nhiu phc tp
cho ngi s dng, nht l i vi lp trnh vin phi mt nhiu thi gian cng sc lp nh
v bo tr, hiu chnh cc chng trinh.
Tm li, thng tin t chc lu tr theo m hnh phn cp c biu din d liu ong
mt tp duy nht theo cu trc cy. Trong mi mt cy, tn ti mt v ch duy nht mt xut
27
hin kiu bn ghi gc v cn;> vi n c mt tp cc xut hin kiu bn ghi ph thuc. Khi thao
tc trn CSDL phn cp bng ]^^n ng ihao c d liu, c nhiu kh nng xy ra tha hoc
thiu thng tin, mu thun thim tin dn n s khng nht qun cl liu trong liru tr. Tnh ton
vn ca d liu khng 'c dam bao. Cc cu hoi - p. tim kim khng c tnh i xng. Tnh
c lp ca d liu b vi phm. Tnh n nh khnu cao.
1.2.4. M hnh CSDL mng (Network Data Model)
1.2.4. L Cu trc biu din d H li mng
M hnh d liu mnu l m hnh thirc tl quan h. Ironu cc mi lin kt b hn ch
tront kiii mt - mt v nhiii mt. Troim m hnh CSDL mnu, d liu c biu din trong
cc bn ghi lin kt vi nhau bng cc mi ni lin kt (link) to thnh mt tli c hng.
CSDL mng c cu trc tng qut hn so vi cu trc CSDL phn cp. Mi mt xut bin ca
mt bn ghi c th c rt nhiu cc xut hin kiu bn ghi trn n v cc xut hin kiu bn ghi
di n. Ngoi cc kiu bn ghi biu din d liu cn c kiu bn s;hi cc phn t kt ni. biu
din s kt hp gia cc biu din d liu. Cho php m hnh ho tng ng nhiu - nhiu.
Hnh 2.2 bieu din mt m hnh CSDL mng v cc tuyn cp v cc loi cp c lp t.
Ngoi cc xut hin kiu bn ghi tuyn cp v cc xLit hin kiLi cc bn hi cc loi cp cn c
cc xut hin kiu cc bn ghi v cc plin ti kt ni l cc phn t s ng. Cc phn t
ny kt ni tuyn cp v cc loi cp l thng tin v tnh hnh lp t. So' T l > 300 > MOI
ch ra rng tuyn TI c 10 cp MOI, T l - > 1 8 - > M02 c ngha l TI c 18 cp loi c m s
l M02...
Mng cha hai ki u thc th: Trong mi mt tuyn cp. c nhi u loi cp khc nhau
v'i s lung khc nhau. Mi mt loi cp c tl c ml t rong Iihiii ttiven cp khc Iihau. Kiii
bn ghi s liro'ng c chc nng iii kt hai kiu ban uhi luyen cp v cc loi ep. Mi mt xut
hin kiu bn ghi s l nu bi u din mi lin kt gia cc bn nh t uyn cp v' i cc bn ghi loi
cp. Thi l l p mi lin kt gi a mt luyn cp v iTt loi cp sao cho mi xut hi n t ng ng
ca s l ng u c mt t r ong xut hin cc uyn cp v loi cp. V d t uyn cp ' ' T r ' v loi
cp m M O r c mi lin kt vi s l ng l 10. ' T 5 " v M07' ' khng c mi lin kt, i u
nv c ngh a l loi cp M07' chira c ml rong ml t uycn no c v t uyn T5" cha c mt
loi cp no c lp t.
Mng cha hn hai kiu thc th: Un kl n kiu tlrc th biu din bng mt kiu
bn ghi lin kt n kiu bn ghi vi nhau. Mi xut liin cua bn ghi lin kt s l thnh vin
ca ng mt xut hin ca mt trong s n kiu bn ghi. Nh vy s biu din mi lin kt n
thc th tng ng. V d thm mt kiu thc th iTii - on v thi cng tuyn cp. C th mt
n v thi cng nhiu tuyn cp v troim mt tuyn cp c nhiu o'n v thi cng. Thm kiii
thc th ngy nhp kho (NHAP) cua cc loi cp reVc klii a vo s dng hoc a thm
thng tin v hng sn xut...
Mng ch cha mt kiu thc th: Tn ti CO' s' di liu ch cha mt thc th. V d
C s d liu cha thng tin v ph tng v linh kin, trong mt linh kin t n c th l mt
ph tng v t n c th cha cc ph tng khc. Nhir vy mng c s d liu ch cha duy nht
mt kiu bn ghi ph tng. V mi mt ph tng li c th l t hp ca mt s chi tit thnh
phn, li va c th l thnh phn cua cc t hp klic. Nh vy CO' s' d liu mng c hai thc
th, hai kiu bn ghi nhng thc chl ch l ml.
28
T5 101/05/2002 M05 1VinaSung 4 LDA Lin doanh
Hnh 1.10. Cch tip cn CSDL kiu mng.
29
L2,4.2, Ngn ng d liu thao tcc trn CSDL mng
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 VCtuyn 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 t hng 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#=T0 2
Bn kt ni: MC#-M02 Bn kt ni: TC#-T02
Khng c kt ni: Thot Khng c kt ni; Thot
In CU Thot [|1 MC# Thot
M hinh CSDL mng ^ m hnh i xng, v vy cc cu hi v kt qu cc cu hi
tim kim thng i xng vi nhau. Khi thc hin cc php lu tr nh chn thm, loi b hay
sa i d liu trong m hnh CSDL mng van bo m c s nht qun ca d liu v tnh
ton vn ca d liu. Cch tip cn CSDL mng l phong php biu din d liu trong cc tp
theo cu trc d liu cht ch. C'c xut hin kiu ban ghi c kl ni vi nhau bng cc xut
hi n ki u bn ghi lin kt. Khi t hao tc cc php cp nht khng xut hi n cc d t hng t hng
tin. Tuy nhin cu trc d* liu trong m hinh CSDL mng qu phc tp v qu nhiu lin kt
gi a cc xut hi n d liu vi nhau bng cc xiit hin kt ni. V vy vi c t hit k v ci t c
s d liu mng thng rt kh khn, nht l xy dng cc php ton thao tc trn n.
1.2.5. Cch tip cn m hnh CSDL quan h
Khi nim ton hc l thuyt tp hp l nn tng xy dng l thuyt m hnh d liu
quan h. tp con ca tch cc ((Descartes) ca danh sch cc min xc nh (Domain).
Min l tp cc gi tr, l kiu ca d liu. Chng hn, tp cc chui k t s c chiu
di chnh xc l 7, l min ca ca thuc tnh in thoi. Tch e cc ca cc min A, A
c biu din:
A| X A7 X...X A (ai- a. ..... a,) j a, c A i I n j .
30
Quan h (Relation) l mt tp con ca tch cc ca mt hoc nhiu min. S ngm
hiu quan h l hu hn. Cc phn t ca quan h gi l b (3|, a2, - , 3n), c n gi tr thnh phn,
hay c gi n_b.
Khi nim tp n_b khng phi l khi nim duy nht i vi l thuyt c s d liu
kiu quan h. Nu gn tn thuc tnh cho cc ct, khi th t ca cc ct l khng quan trng.
V vy c th xem cc b nh l nh x t cc thuc tnh n tp cc gi ca min
xc nh cc thuc tnh. nh x n c nh ngha nh sau:
i : n = { Ai , A2,..., An} -* Q
Khi quanhltpn_b: {^(A,), ^(A)} = {(al, a2,.. a)}.
Nh vy, "C s d liu quan h" c th hiu l d liu c ngi s dng nhn di
dng mt quan h ton hc v cc php ton thao tc d liu c xy dng n cc cu trc
quan h ton hc. Mt quan h l mt bng v mi bng l mt cu c quan h ton hc.
Ni cch khc, c s d liu quan h c biu din di dng cc bng, gm cc ct l
thuc tnh v cc hng l tp n gi trj ca thc th, i tng c cu trc, cu trc d liu quan
h l mi lin kt gia cc b c biu din duy nht bng cc gi tr d liu trong cc ct
c rt ra tr min chung. Gia cc thuc tnh c mi quan h rng buc ph thuc ln nhau
v cc ph thuc cng l cc thc th c bit.
V d: Quan h v tuyn cp - cc loi cp - nht k lp t
TC#: M tuyn cp, TC: Tn gi tuyn cp, DAI: di tuyn cp,
NGHT: Ngy hon thnh tuyn, MC#: M cp, MC: Tn gi cp, GIA: Gi cp,
N#: M nc sn xut, NSX; Tn nc sn xut,
a) Thng tin v cc loi cp lp t n cc tuyn cp:
TC# MC# SL NG
TOI MOI 10 21/10/1996
TOI M02 20 15/7/1982
TOI M03 15 20/1/1981
T02 MOI 29 31/12/1999
T02 M02 18 15/9/1998
T03 M04- 10 3/9/1999
T04 M02 4 1/5/1980
T04 M03 8 27/9/2000
31
b) Thng tin v cc tuyn cp:
TC# TC DAI NGHT
TOI H Ni - Hi Phng 120 km 1/2/1980
T02 H Ni - Qung Ninh 170 km 31/12/1985
T03 Hi Phng - Qung Ninh 60 km 30/6/1990
T04 HNi-H Ty 15 km 31/12/1979
c) Thng tin v cc loi cp (danh mc cc loi cp):
MC# NC GIA N# NSX
MOI Loi 10 i 1,0 VNA Vit Nam
M02 Loi 20 i 1,5 HAQ Hn Quc
M03 Cp ng trc 3,0 NGA Nga
M04 Cp si quang 4,0 LDA Lin doanh VN-HQ
32
CHNG 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 t rng 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 LIU PHN TN
2.1.1. nh ngha CSDL phn tn
C s d liu phn tn ni ring v cc h phn tn ni chung l mt lnh vc c
nghin cu t lu nhng gn y do s pht trin nhanh chng ca cng ngh truyn tin v s
bnh trng ca internet. C s d' liu phn tn tr thnh mt lnh vc thu ht nhiu s
quan tm ca cc nh nghin cu.
v mt trc quan theo ngha en ca cm t c sdCr liu phn tn cha hai cm t: Co
s d liu v phn tn.
Tuy nhin, vic phn tn y chng ta hiu l phn tn thng tin v cc thng tin
c lu tr trn mng my tnh. Do vy:
C s d' liu phn tn " C s d liu I Mng my tnh
33
Nh vy, chng ta c th ni c s d liu phn tn l S' hp nht ca hai hn tip
cn i vi qu trnh x l d l i u l CO' s' d l i u v n i n niy tnh.
Mt CSDL phn tn ( mt tp hp nhiu CSDL f lin i loc 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 ^ /
Tr m 5
Tr m 2
Mng tmyn d liu
Hnh 2.2. Mi trng h CSDL tp trung.
Trong h thng c s d liu phn tn gm nhiu trm, mi irm c th thc hin cc
giao tc truy nhp d liu trn nhiu trm khc.
V d 2.: Vi mt ngn hng c 3 chi nhnh t cc v tr khc nhau. Ti mi chi
nhnh c mt my tnh iu khin mt s my k ton cui cng (Teller terminal). Mi my
tnh vi c s d liu thng k a phng ca n ti mi chi nhnh c t mt v tr ca c
s d liu phn tn. Cc my tnh c ni vi nhau bi mt mng truyn thng.
34
Hnh 2.3. M hnh c s d liu ngn hng phn tn.
2.1.2. Phn loi c s d liu phn tn
Nhn chung, c s d liu phn tn c chia thnh hai loi sau:
(1). Cff s d liu phn tn thun nh
C s d liu phn tn thun nht l loi c s d liu c thit k bng cch chia nh
c s d liu phn tn thnh nhiu c s d liu a phng. Cc c s d liu a phng
c nh v ti mt frm v u c qun tr bng mt h qun fr. => thc hin n cng mt
h iu hnh.
Hnh 2.4. Thit k c s d liu phn tn thun nht.
35
(2). C s d liu phn tn khng thun nht
C s d liu phn tn khng tluin nht l loi CO' s d liu c thit k bng cch
hp nht nhiu c s d liu a phona hin c v ang hot ng thnh mt c s dCr liu
phn tn duy nht. Cc c sd 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.
Hrh 2.5. Thi t k c s d liu phn t n khng t hun nht.
2,1.3. Cc c im chnh ca c sd liu phn tn
(1) Chia s i nguyn
Vic chia s ti nguyn ca h phn tn c thc hin thng qua mng truyn thng.
e chia s ti nguyn mt cch c hiu qu th mi ti nguyn cn c qun l bi mt
chng trnh c giao din truyn thng, cc ti nguyn c th c truy cp, cp nht mt cch
tin cy v nht qun. Qun l ti nguyn y l lp k hoch d phng, t tn cho cc lp ti
nguyn, cho php ti nguyn c truy cp l ni ny n nai khc, nh x ln ti nguyn vo
a ch truyn t hng, ...
(2) Tnh m
Tnh m ca h thng my tnh l d dng mcy rng phn cng (thm cc thit b ngoi
vi, b nh, cc giao din truyn thng ...) v cc phn mm (cc m hnh h iu hnh, cc giao
thc truyn tin, cc dch v chung ti nguyn...).
Mt h phn tn c lnh m l h c th irc to ra t nhiu loi phn cng v phn
mm CLa nhiu nh cung cp khc nhau vi iu kin l cc thnh phn nv phi theo mt tiu
chun chung.
Tnh m ca h phn tn c xem nh l mc b sung cc dch v dng chung ti
nguyn m khng ph hng hay nhn i cc dch v ang tn ti. Tnh m' c hon thin
bng cch xc nh hay phn nh r cc gi ao din chnh ca mt h v lm cho n t ng thch
vi cc nh pht trin phn mm.
Tnh m ca h phn tn da trn vic cung cp c ch truyn thng gia cc tin trnh
v cng khai cc giao din dng truy cp cc ti nguyn chung.
36
) Kh nng song song
H phn tn hot ng trn mt mng truyn thng c nhiu my tnh, mi my c th
c hay ihiu CPU. Trong cng mt thi im nu c N tin trinh cng tn ti, ta ni chng
thc hin ng thi. Vic thc 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 nmgsu trorg vic schm^'. Vic 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 hng 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 cao tin cy, ngi s dng khng cn bit n iu [1 ].
(7) m ho tin cv v nhi lin
H thng yu cu tin cy cao: s b mt cua d liu phai c bao v, cc chc nn
khi phc h hng phi c m bo. Ngoi ra yu cu ca h thng v tnh nht qun cng
rt quan t r ng t r ong t h hin: khng c c mu t hun t r ong ni dung d liu. Khi cc t huc
tnh d liu l khc nhau th cc thao tc vn phi nht qun [I].
2.1.4. X l d liu phn tn
- nh ngha: x l dCr liu phn tn l mt s cc h phn x l t vn hnh (khng nht thit
phi cng chng loi) c lin kt bi mt mng my tnh v hip ng thc hin cc nhim
v m chng c phn cng. Cc b phn x l' mun ni n trong nh ngha ny l cc
thit b tnh ton c th chy c mt chng trinh trn chnh n.
- Nhng g irc phn tn: Trong h c s du' liu phn tn c cc thnh phn sau c phn
tn:
(1). Thit b x l: Thil b \ l phn tn ngm nh thoa mn phn tn v cc b phn
ca mng my tnh c phn b ti cc v tr a l khc nhau.
(2). Chc nng: Nhiu chc nng cia h thng c th chuyn giao cho nhiu b phn
khc nhau.
(3). D liu: D liu c diig bi mt s ng dng khc nhau c th c phn b ti
cc v tr khc nhau.
(4). Quyn iu khin: Mt s cng vic trong h thng c phn cp chia quyn theo
chc nng.
- Ti sao chng ta li thc hin phn tn\
Vic x l phn tn nhm thch ng tt hn vi vic phn b ngy cng rng ri cia
cc cng ty, x nghip...
Nhiu ng dng hin ti ca cng ngh my tnh c phn tn nh l mt h qu tt
yu. Thng mi in t trn Internet, cc ng dng a phong tin nh vic cung
cp tin tc theo yu cu, cc k thut chn on hnh nh trong y khoa hoc cc h
thng iu khin sn xut u minh ha cho nhng ng dng phn tn.
Tuy nhin gc tng th hon, chng la c th khng 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 ca vic s dng c s' d liu phn 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 t rng 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 mrng 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 liu phn tn v CO s d liu tp trung
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 ca 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 ung m t co s d liu t p Iriing l i u khi n p trui m. 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 tng 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 chung phn quyn cho ngi quan tr CO' s d liu a phirong.
c p d liu: L mt trong nhiTnii nhn t tc ng n cu trc CO' s d liu t
chc d liu chuyn cho chng trnh ng dng. Tin li chnh ca c lp d liu l cc
chng trnh ng dng khng b nh hng khi thay i cu trc vt l ca d liu. Trong c s
d liu phn tn, c lp d liu c tm quan trng cQng nhir trong c s d liu truyn thng.
Khi nim c s d liu trong sut m t hot ng chng trnh trn c s d liu phn tn
c vit nh lm vic trn c s d liu tp trung. Hay ni cch khc tnh ng n ca
chong trinh khng b nh hng bi vi c di cluiyn d liu t ni nv sanii noi khc trong
mng my tnh. Tuy nhin tc lm vic b nh huxVng do c thi gian di chuyn d liu.
Giam d tha dir iu: Trong c s dCr liu tp trung, tnh d tha hn ch c cng
nhiu cng tt vi;
- D liu khng ng nht khi c vi bn sao cua cng CO' s d' liu logic: trnh
c nhc im ny gii php l chi c mt ban sao duy nhl.
- Gim khng gian lu tr. Gim d tha c ngha l cho php nhiu ng dng cng
truy cp n mt c s d liu m khng cn n nhiu bn sao nhung ni chng trnh ng
dng cn.
Trong c s d liu truyn thng tnh d tha d' liu cfing cn quan tm vi:
- Tnh cc b ca chong trinh ng dng s tim nu d liu t II noi m chong
trnh ng dng cn.
- Kh nng sn sng ca h thng cao bi vi khi c li ' mt ni no trong h thng
th khng cn tr hot ng ca chng trnh ng dng.
Ni chung, nguyn nhn i lp vi tnh dir tha a ra trong mi trng truyn thng
vn cn ng cho h thng phn tn v v vy cng vic nh gi mc tt ciia tnh d tha
i hi nh gi li cng vic la chn mc d tha d liu.
Co' s d liu phn tn khc phc c hai nhc im ny vi d liu uc chia ra
thnh nhiu phn nh v chi c mt bn sao logic tng th duy nht tin cho vic truy cp d
liu.
40
cu 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 sdu' 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 SCTd 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. Kin trc c bn ca CSDL phn tn
y khng l kin tmc tng minh cho tt c cc CSDL 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 t ng 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 (mt - 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 ti i ng c Illll tr ti mt
trm (tt G cc on ca mt quan li tng th trn ciim nit v tr to ra mt nh vt l).
Hnh 2.6. Kin trc c bn ca CSDL phn tn.
2.1.8. H qun tr CSDL phn tn
H quan tr CSDL phn ln (Distributed Database Management System - DBMS) c
nh ngha l mt h thng phn mm cho php qun l cc h (?SDL (to lp v iu khin cc
truy nhp cho cc h CSDL phn tn) v lm cho vic phn ln tr nn trong sut vi ngi s
dng.
c tnh v hnh mun ni n s tch bit v ng' ngiha ' cp cao ca mt h thng
vi cc vn ci t cp thp. S phn tn d liu c che du vi ngi s dng lm
cho ngi s dng truy nhp vo CSDL phn tn nh h CSDL tp trung. S tliay i vic qun
tr khng nh hng ti ngi s dng.
H qun tr CSDL phn tn gm I tp cc phn mm ( chng trinh) sau:
Cc chng trnh qun tr cc d liu phn tn (Di stributed Database DDB).
42
Cha cc clui'0ng trnh qun tr vic truyn thng dO iu (Data Communication -
DC ).
Cc chng trnh qun tr cc CSDL a phng (Database Management - DB ).
Cc chng trnh qun tr t in d liu (Data Dictionaiy - DD).
e lo ra mt h CSDL phn tn (Disributed Database System-DDBS) cc tp tin
khHi ch c lin i l ogi c chng cn phi c cu trc v c t ruy xut qua mt gi ao din
chung.
Mi trng h CSDL phn tn l mi trng trong dfr liu c phn tn trn mt s
v tr.
M hinh cc thnh phn ca h qun tr C0 s d liu pht trin theo kiu thng mi
(Truy cp t xa trc tip).
C s d
liu a
phng 1
DB DC DDB
DD
/
C s d
liu a
phng 2
DD DDB
DB DC
Nhng dch v h qun tr c s d liu cung cp:
- Cch thc truy cp dCr liu t xa: bng chng trnh ng dng.
- La chn mt cp trong sut phn tn thch hp: cho php m rng h thng theo
nhiu cch khc nhau theo tng hon cnh (phi cn nhc gia cp trong sut phn tn v
phn chia cng vic thc hin cng vic qun tr h thng n gin hn).
- un tr v iu khin c s d liu bao gm cng c qun l c s d liu, tp hp
thii tin v cc thao tc trn c s d liu v cung cp thng tin tng th v file d liu t -
cc ni trong h thng.
- iu khin tng tranh v iu khin hi phc d liu cua giao tc phn tn.
Cch thc truy cp c s d liu t xa qua chng trnh ng dng theo liai cch c bn:
Truy cp t xa trc tip v gin tip.
43
Phng t hc truy
M hrh truy cp t xa u a phg thc c SO' c i i c i h quail r c SO' d liu
Theo m hinh trc tip trn, chong trinh ng dng a ra yu cu truy cp n co s
d liu t xa, yu cu ny c h qun tr c s d liu t ng tim noi t dCr liu v thc
hin yu cu ti im . Ket qu c tr li clO chong trnh ng dng. n v chuyn i
gia hai h qu tr c s d liu l phng thc truv cp CO s d liu v kt qu nhn c
(thng qua vic thc hin phong thc truy cp nv). Vi cch thc truv cp t xa nh vy cp
trong sut phn tn c xy dng bng cch to ra tn fi!e ton b nh a chi thch hp
cho nhng im lu trCr d liu xa.
M hnh di y m l cch thc truy cp phc tp hn (truy cp gin tip):
Theo m hinh truy cp ny. chng trinh ng dng thc hin yu cu qua chng trinh
ph im khc. Chirig trnh ph ny c ngi lp trinh ng dng vit truy cp t xa
n c s d liu v tr v kt qu cLa chng trinh nm dng \ii cu.
H qun tr c s d liu phn tn cung cp c hai kiu Iruy cp boi vi mi cch truy
cp u c u im ca n.
44
2.2. CC M HNH x L PHN TN
Ni n C S d liu phn t n, t r uc ht chng ta i m qua i nt v cc h i u 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
chng ta cn xem x t cn nhc chn h iu hnh mng hp l. trn CO' s' da vo mt 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 hnh x l Master - Slave
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. Cc h khch/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. t ng tng qut ht sc n
gi n: phn bi t cc chc nng cn uc cung cp v chi a nhCrng chc nng ny t hnh 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 ur 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 t hng 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 ser ver cng t hc hi n x l. M hi nh cl i enser ver c nhi u t hun li v c dng
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.
Cho php mt s t hao tc xlY l d liu c gi gn t rn nt cha d
liu, ko theo thng lng v kh nng mang thng tin ca mng c tng ln, thi
gian tr li gi 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. Cc h phn tn ngang hng
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 t hng 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 CSDL 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. Mi triig a tng
Trong mi t rng tnh ton a tng, kh nng x l hp tc v x l phn tn c a
vo, to ra m hnh tnh ton phn cp. Trong m hnh ny, ti nguyn tnh ton c phn b
theo chiu dc. c bit, tng cao nht thng l h thng mng, my tnh ln.
Tng t h hai thng bao gm mt my ch LAN mnh ng vai tr trung gian. My
ch mnh ny va l client ca my tnh ln va l server cho cc trm lm vic v cc PC nm
tn th ba.
47
Tng 1
Tng 2
Tng 3
Mt v d v kin trc ba tng nihiTwy c th l mt t chc m rng kh nng trung
tm d liu bng vic xy dng cc mng LAN cho mi vn phng trung tm v kt ni vi cc
LAN server tcmg ng vo cc my tnh Dn.
Mt iu ng ch l kin trc nht vy, c th m rng theo chiu ngang. Ngha l
thm cc host + LAN server. Vic qun l mg, cng sut h thng, tnh ton vn v tin cy d
liu frong m hnh ny mun c m bo) th phi c kiu lin tc no gia cc tng. Vi
vy, kin trc ny tr nn phc tp cho viic xy dng v qun l. Tuy nhin, kh nng tnh ton
c y mnh v kin trc c c tnh m rng. Khi yu cu pht sinh, c th a thm cc
my ch LAN, cc trm lm vic v h tthrag m khng cn phi xy dng li mng cng nh
cc ng dng sn c.
2.3. THIT K C S D LIU PHN TN
2.3.1. Cc chin c thit k
2.3.1.L Qu trnh thit kturn xung (top - down)
Phn tch yu cu: nhm nh ngha mi trmg h thng v thu thp cc nhu cu v d
liu v nhu cu x l ca tt c mi ngH c s dng CSDL.
Thit k khung nhn: nh ngha cc giao - din cho ngi s dng cui (end - user).
Tit k khi nim: xem xt tng th x nghip nhm xc nh cc loi thc th v mi
lin h gia cc thc th.
Thit k phn tn', chia cc quam h hnh nhiu quan h nh hn gi l phn mnh v
cp pht chng cho cc v tr.
Thit k vt l: nh x lc khi nim cc b sang cc thit b lu fr vt l c sn
ti cc v tr tng ng.
48
2.3.1.2. Qu trnh thit 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 !iy s bao um vic tch hp
cc lc cc b thnh khi nim livc ton cc.
2.3.2. Cc vn thit k
2.3,2A . L do phn 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 song song mt cu vn tin bng cch chia n ra thnh mt tp cc cu vn tin con 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. Cc quy tc phn mnh 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)
Neu mt t h hi n quan h R c phn r tinl cc mnh R| , R2,. -, Rn lli mi mc 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 khng mt t hng tin t rong chun ho, cng quan t r ng t r ong phn mnh 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, R2...... R, thi cn phi
nh ngha mt ton t quan h V sao cho:
R VR R, e F,
Ton t V thay i tii theo tng loi phn manh, tuy nhin iu quan trng l phai xc
nh c n. Kh nng ti thit mt quan h t cc mnh ca n bo m rng cc rng buc
c nh ngha trn d liu di dng cc ph thuc s c bo ton.
c) Tnh tch bit (disjointmss)
Nu quan h R c phn r ngang thnh cc mnh R, R2...... R.1>v mc d liu d,
nm trong mnh R, th n s khng nm trong mnh Rk khc ( k/ j ). Tiu chun ny m bo
cc mnh ngang s tch bit (ri nhau). Nu quan h c phn r dc. cc thuc tnh kho
chnh phi c lp li trong mi mnh. Vi th trong trng hp phn mnh dc, tnh tch bit
ch c nh ngha trn cc trng khng phi l kho chnh ca mt quan h.
50
2.3.23, Cc yu cu thng 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. Phn mnh ngang
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 . Hai kiu phn mnh ngang
Phn mnh ngang chia mt quan h r theo cc b, vi vy mi mnh l mt tp con cc
b l ca quan h r.
Phn mnh nguyn thu (primary horizontal fragmentation) ca mt quan h c thc
hin dira trn cc v t c nh ngha trn quan h . Ngc li phn mnh ngang dn xut
(derived horizontal fragmentation ) l phn mnh mt quan h da vo cc v t c nh trn
lit quan h khc. Nh vy trong phn mnh ngang p cc v t' ng vai tr quan trng.
Phn ny s xem xt cc thut ton thc hin cc kiu phn mnh ngang. Trc tin
chng ta nu cc thng tin cn thit thc hin phn mnh ngang.
2.3.S.2. Yu cu thng tin ca phi mnh ngang
a. Thr tin v c s d liu
Thng tin v CSDL mun ni n l lc ton cc v quan h gc, cc quan h con.
Trong ng cnh ny, chng ta cn bit c cc quan h s kt li vi nhau bng php ni hay
bng php lnh khc. Vi mc ch phn mnh dn xut, cc v t c nh ngha trn quan h
khc, ta thng dng m hinh thc th - lin h (entity " relatinhip model), vi trong m hnh
nv cc mi lin h c biu din bng cc ng ni c hng (cc cung) gia cc quan h
c lin h vi nhau qua mt ni.
51
V d 2.3:
CT
Chc v, Lng
NV
LI DA
MNV, tnNV, chc v
L2
MDA, tnDA, ngn sch, a im
L3
MNV , MDA, nhim v, thi gian
Hnh 2.8. Biu din mi lin h gia cc quan h nh cc ng ni.
Hnh trn trnh by mt cch biu din cc ng ni gia cc quan h. Ch rng
hng ca ng ni cho bit mi lin h mt - nhiu. Chng hn vi mi chc v c nhiu
nhn vin gi chc v , v th chng ta s v mt ng ni t quan h CT (chi tr) hng
n NV (nhn vin). ng thi mi lin h nhiu - nhiu gia NV v DA (d n) c biu
din bng hai ng ni n quan h PC (phn cng).
Quan h nm ti u (khng mi tn) ca mg ni c gi l ch nhn (owner) ca
mg ni v quan h ti cui ng ni (u mi tn) gi l thnh vin (member).
V d 2.4:
Cho ng ni LI ca hnh 2.8, cc hm owner v member c cc gi tr sau:
Owner(Ll) = CT
Member (LI) = NV
Thng tin nh lng cn c v CSDL l lc lng (cardinality) ca mi quan h R,
l s b c trong R, c k hiu l card (R).
b. Thng tin v ng dng
phn tn ngoi thng tin nh lng Card (R) ta cn cn thng tin nh tnh c bn
gm cc v t c dng trong cc cu vn tin. Lng thng tin ny ph thuc bi ton c th.
Nu khng th phn tch irc ht tt c cc ng dng xc nh nhng v t ny th t
nht cng phi nghin cu tfc cc ng dng "quan trng nht.
Vy chng ta xc nh cc vi t om gin (simple predicate). Cho quan h R ( A), A2 ...,
An), trong Ai l mt thuc tnh c nh ngha n mt min bin thin D(A|) hay Dj.
Mt v t n gin p c nh ngha frn R c dng:
P: Ai 0 Value
52
trong 0 e - v value c chn t min bin thin ca Aj (value e D,).
Nh vy, cho trc lc R, cc min tr D, chng ta c th xc nh c tp tt c
cc v t n gin ?r trn R.
Vy {P: A,0 Value }. Tuy nhin trong thc t ta chi cn nhng tp con thc s ca
p,-
V d 2.5: Cho quan h D n nh sau:
P] : Tn DA "thit b iu khin"
P i : Ngn sch < 200000
L cc v t on gin.
Chng ta s s dng k hiu PV biu th tp tt c cc v t n gin c nh ngha
trn quan h Rj. Cc phn t ca Pfj c k hiu l Pi,.
Cc v t n gin thng rt d x l, cc cu vn tin thng clura nhiu v t phc tp
hon, l t hp ca cc v t n gin. Mt t hp cn c bit ch , c gi l v t hi s cp
(minterm predicate), l hi (conjunction) ca cc v t n gin. Bi vi chng ta lun c th
bin i mt biu thc Boole thnh dng chun hi, vic s dng v t hi s cp trong mt
thut ton thit k khng lm mt i tnh tng qut.
Cho mt tp Pr, = {Pii, Pi2,..., Pim } l cc v t on gin trn quan h Ri, tp cc v t
hi s cp } c nh ngha l:
I iTii A p*i} vi 1 < k < m , 1 < j 5 z
Trong p*ik= Pk hoc -"Pik . Vi th mi v t n gin c th xut hin trong v t
hi s cp di dng t nhin hoc dng ph nh.
V d 2.6:
Xt quan h CT:
Chc v Lng
K s in 40000
Phn tch h thng 34000
K s c kh 27000
Lp trinh 24000
Di y l mt s v t on gin c th nh ngha c trn PAY:
pl: Chc v = K s in
p2: Chc v = Phn tch h thng
p3: Chc v = K s c kh
p4: Chc v =- Lp trnh
p5; Lng < 30000
p6: Lng >30000
53
Di y l mt s cc v t hi s cp c nh ngha da trn cc v t n gin
ny:
m 1: Chc v = K s inA Lng < 30000
m2: Chc v = K s inA Lng > 30000
m3: -'(Chc v = K s in)A Lng < 30000
Ii4: ^(Chc v = K s in)A Lng > 30000
m5: Chc v = Lp trnhA Lng < 30000
m6: Chc v = Lp trnhA Lcyng > 30000
Ch : + Php ly ph nh khng phi lc no cng thc hin c. Th d: xt hai v
t n gin sau: Cn di < A; A > Cn trn. Tc l thuc tnh A c min tr nm trong cn
di v cn trn, khi phn b ca chng l;
- (Cn_di < A);
-(A > Cn_trn) khng xc nh c. Gi tr ca A trong cc ph nh ny
ra khi min tr ca A.
Hoc hai v tr n gin trn c th c vit li l:
Cn_di < A Cn trn c phn b l; -'(Cn di < A < Cn trn) khng
nh ngha c. V vy khi nghin cu nhng vn ny ta chi xem xt cc v t ng
thc om gin.
=> Khng phi tt c cc v t hi s cp u c th nh ngha c.
+ Mt s ong chng c th v ngha i vi ng ngha ca quan h Chi tr.
Ngoi ra cn ch rng m3 c th c vit li nh sau:
m3: Chc v ^ K s in A Lng < 30000
Theo nhng thng tin nh tnh v cc ng dng, ta cn bit hai tp d liu.
1) tuyn hi s cp (minterm selectivity): s lng cc b ca quan h s c truy
xut bi cu vn tin c c t theo mt v t hi s cp cho. Chng hn tuyn ca ml
trong v d 2.6 l zero bi v khng c b no trong CT tha vj t ny. tuyn ca m2 l 1.
Chng ta s k hiu tuyn ca mt hi s cp nij l sel(nii).
2) Tn s uy xut (access frequency): tn s ng dng truy xut d liu. Nu Q = {qi,
q2v,C|q} l tp cc cu vn tin, acc(qi) biu th cho tn s truy xut ca q, trong mt khong thi
gian cho.
Ch rng mi hi s cp l mt cu vn tin. Chng ta k hiu tn s truy xut ca mt
hi s cp l acc(itij).
23.3.3. Phn mnh ngang nguyn thu
Phn mnh ngang nguyn thu c nh ngha bng mt php ton chn trn cc quan
h ch nhn ca mt lc ca CSDL. V th cho bit quan h R, cc mnh ngang ca R l
cc Rj:
Ri = Fi(R), l < i < z .
trong Fi l cng thc chn c s dng c c mnh Rj. Ch rng nu Fj c dng
chun hi, n l mt v t hi s cp (nij).
54
F//w2 7; Xt quan h DA
MDA Tn DA Ngn sch a im
P1 Thit b o c 150000 Montreal
P2 Pht trin d liu 135000 New York
P3 CAD/CAM 250000 New York
P4 Bo dng 310000 Paris
Chng ta c th nh ngha cc mnh ngang da vo v tr d n. Khi cc mnh thu
c, c trnh by nh sau:
DA) am =Montreal"
(DA)
DAj ia dim = New York (DA)
DA3 = a im = Paris (DA)
DA,
MDA Tn DA Ngn sch a im
PI Thit b o c 150000 Montreal
DA:
MDA Tn DA Ngn sch a im
P2 Pht trin d liu 135000 New York
P3 CAD/CAM 250000 New York
DA3
MDA Tn DA Ngn sch a im
P4 thit b o c 310000 Paris
By gi chng ta c th nh ngha mt mnh ngang cht ch v r rng hn.
Mnh ngang Ri ca quan h R c cha tt c cc b R tha v t hi s cp m,
Mt c tnh quan trng ca cc v t n gin l tnh y v tnh cc tiu.
- Tp cc v t om gin Pr c gi l y nu v ch nu xc sut mi ng dng
truy xut n mt b bt k thuc v mt mnh hi s cp no c nh ngha theo Pr u
bng nhau.
V d 2.8: Xt quan h phn mnh DA c a ra trong v d 2.7. Nu tp mg dng
Pr = {a im = Moneal, a im = New York, a im = Paris, Ngn sch
< 200000} th Pr khng y v c mt s b ca DA khng c truy xut bi v t Ngn
sch < 200000. cho tp v t ny y , chng ta cn phi xt thm v t Ngn sch
> 200000 vo Pr. Vy Pr = {a im = Montreal, a im = New York, a im =
Paris, Ngn sch < 200000, Ngn sch> 200000} l y bi v mi b c truy xut bi
55
ng hai v t p ca Pr. Tt nhin nu ta bt i mt v t bt k trong Pr th tp cn li khng
y .
L do cn phi m bo tnh y l v cc mnh u c theo tp v t y s
nht qun v mt logic do tt c chng u tho v t hi s cp. Chng cng ng nht v y
v mt thng k theo cch m ng dng truy xut chng.
V th chng ta s dng mt tp hp gm cc v y lm c s ca phn mnh
ngang nguyn thy.
- c tnh th hai ca tp cc v tr l tnh cc tiu. y l mt c tnh cm tnh. V t
n gin phi c lin i (relevant) trong vic xc nh mt mnh. Mt v tr khng tham gia
vo mt phn mnh no th c th coi v t l tha. Nu tt c cc v t ca Pr u c iin i
th Pr l cc tiu.
V d 2.9: Tp Pr c nh ngha trong v d 2.8 l y v cc tiu. Tuy nhin, nu
chng ta thm v t Tn DA = thit b o c vo Pr, tp kt qu s khng cn cc tiu bi vi
v t mi thm vo khng c lin i ng vi Pr. V t mi thm vo khng chia thm mnh
no ong cc mnh c to ra.
Khi nim y gn cht vi mc tiu ca bi ton, s v t phi y theo yu cu
ca bi ton chng ta mi thc hin c nhng vn t ra ca bi ton. Khi nim cc tiu
lin quan n vn ti u ca b nh, ti u ca cc thao tc n tp cc cu vn tin. Vy khi
cho trc mt tp v t Pr xt tnh cc tiu chng ta c th kim tra bng cch vt b nhng
v t tha c tp v t Pr l cc tiu v tc nhin Pr cng l tp y vi Pr.
Thut ton COM MIN: Cho php tm tp cc v tr y v cc tiu Pr t Pr. Chng
ta tm quy c:
Quy tc 1: Qy tc c bn v tnh y v cc tiu, n khng nh rng mt quan h
hoc mt mnh c phn hoch "thnh t nht hai phn v chng tfc truy xut khc nhau
bi t nht mt ng dng-
Thut ton 2.1 COM_MIN
Input: R: quan h; Pr: tpcc v tr cm gin;
Output: Pr: tp cc v tr cc tiu v y ;
Declare
F; tp cc mnh hi s cp;
Begin
Pr = ; F = ;
For each v t p e Pr i f p phn hoch R theo quy tc 1 then
Begin
Pr: = Pru p ;
Pr: = Pr-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 pe Pr if p phn hoch mt mnh fk ca Pr theo quy tc 1 ien
Begin
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
Begin
Pr:=Pr- p;
F:= F - f;
End;
End. {COM_MIN}
Thut ton bt du bng cch tm mt v tr c lin i v phn hoch quan h cho.
Vng lp Repeat-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 = value_l) => -i(att = value_2)
I2: -i(att = value_l) => (att = value_2)
Bn v t hi s cp sau y c nh ngha theo Pr:
Mi: (att = value_l) A (att = value_2)
M2: (att = value_l) A -i(att = value_2)
M3: -i(att = value_l) A (att = value_2)
M4: -i(att = value_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
Thut lon 2.2 PI I ORI / ON ! AI.
input; R: quan h: Pr: tp cc v t n gian;
Output: M: tp cc v t hi s cp:
Begin
Pr' COM M1N(R. Pr);
Xc nh lp M cc v t ii SO' cap:
Xc nh tp cc php ko theo iiia cc p,c Pr';
For each m, e M do
Begin
IF m, mu thun vi I then
M: M - m,.
En;
End. Pll()R!ZONTA.|
Vi d 2. 0: Chng ta hv xt quan h DA. Gi s rng c hai ni dng:
ng 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-CT 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"
ng 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 I i 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' i pl . p2. p3. p4. p3| r rng y u
v cc tiu.
Da trn Pr' chng ta c th nh niha su v t hi s cp sau > to ra M:
M1; (a im ' Montreal') A (Ngn sch < 200000)
M2; (f) a i ni " Monl r ear ' ) A ( Ngn sch > 2()()()00)
M.l: (l)a dini "New York") A (Ngn scli < 2()()()()0)
M4: (Da dim "New York") A {Ngn sch > 200000)
Thul t on phn mnh ngang nguyn tluiv irc trnh by t r ong t hut ton 2 . 2 .
58
M5: (a im = Paris) A (Ngn sch<200000)
M6: (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:
l i ; p l = > - . p 2 A - i p 3
I 2 : p 2 = > - i p l A - i p 3
I 3 : p 3 = > - . p l A - . p 2
I4: p4 => -.p5
I5: p5 => -1 p4
le: -ip4 => p5
I7: -ip5 => 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 = {ml,..., m6} c th rng
nhng chng vn l cc mnh. Kt qu phn mnh nguyn thu cho DA l to ra su mnh
Fda= {DAi, DA2, DA3, DA4, DA5, DA}, y c hai mnh rng l {DA2, DA5 }
DA|
MDA Tn DA Ngn sch a im
P1 Thit b o c 150000 Moneal
DA
MDA Tn DA Ngn sch a im
P2 Pht trin d liu 135000 New York
DA4
MDA Tn DA Ngn sch a im
P3 CAD/CAM 250000 New York
DA
MDA Tn DA Ngn sch a im
P4 Bo dng 310000 Paris
59
2.3.3.4. Phn mnh ngang dn xut
Phn mnh ngang dxi xut c nh ngha trn mt quan h thnh vin ca mg ni
da php ton chn n quan h ch nhn ca ng ni .
Nh th nu cho trc mt ng ni L, trong owner (L) = s v member(L) = R, v
cc mnh ngang dn xut ca R c nh ngha l;
R = R | > < S i , 1 < i < w
Trong w l s lng cc mnh c nh ngha trn R, v Si = Fi(S) vi F, l cng
thc nh ngha mnh ngang nguyn thu S.
V d 2.11: Xt ng ni
NV
MNV TnNV Chc v
E1 J.Doe K s in
E2 M.Smith Phn tch
E2 M.Smith Phn tch
E3 A.Lee K s c kh
E3 A.Lee K s c kh
E4 J.Miller Programmer
E5 B.Casey Phn tch h ing
E6 L.Chu K s in
E7 R.david K s c kh
E8 J.Jones Phn tch h thng
CT
Chc vu. Lne
NV
LI
M N V . T n N V , Chc v
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:
NVi = NV|>< CT,
NV2 = NV|>< CT
ong : CTI = Lomg 3000o(CT)
CT2 = Lng > 30000(CT)
60
CT CT>
Clurc v Lung Chc v Lng
K s c kh 27000 K s in 40000
Lp trinh 24000 Phn tch h thng 34000
Kt qua phn manh ngang dn xut cua quan h NV nh sau:
NV NV-
MNV TnNV Chc v MNV TnNV Chc v
E3 A.Lee K s CO' kh E1 J.Doe K s in
E4 J.Miller Lp trnh vin E2 M.Smith Phn tch
E7 R.David K s c kh E5 B.Casey Phn tch h thng
-------------- --------------------- ---------------------------
E6 L.Chu K sir in
E8 J.Jones Phn tch h thng
Ch : + Mun thc hin phn mnh ngang dn xut, ta cn ba nguyn liu (input):
1. Tp cc phn hoch ca quan h chii nhn (Th d: CTK C l 2).
2. uan h thnh vin
3. Tp cc v t ni na gia ch nhn v thnh vin (Chng hn CT.Chucvu "
NV.Chucvu).
4 Vn phc tp cn ch : T'rong lc CSDL, chng ta hay gp nhiu ng ni
n mt quan h R. Nh th c th c nhiu cch phn mnh cho quan h R. uyl nh chn
cch phn mnh no cn da trn hai tiu chun sau:
1. Phn mnh c c tnh ni tt hn
2. Phn mnh c s dng trong nhiu ng dng hon.
Tuy nhin, vic p dng cc tiu cluin trn cn l mt vn rc ri.
V d 2.2\ Chng ta tip tc vi thit ke phn tn cho CSDL bt u t v d 2.9.
V quan h NV phn mnh theo CT. By gi xt ASG. Gi s c hai ng dng sau;
1. ng 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. Kim nh tnh ng n
By gi chng ta cn phi kim tra tnh ng 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 Pr \ 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 l thuc
tnh ni gia R v s, th th vi mi b t ca R, phai c mt b t' cua s sao cho:
uy tc ny c gi l rcmg buc ton vn hay ion vn ham chiu, bo m rng mi
b trong cc mnh ca quan h thnh vin u nm trong quan h clu nhn.
h. Tinh ti thi c
Ti thit mt quan h ton cc-t cc mnh irc thc hin bng ton t hp trong c
phn mnh ngang nguyn thuy ln dn xut. V th mt quan h R vi phn mnh F, R ,
R2,...,Ri} chng ta c:
R ==u Ri , VR, e Fr
c. Tnh tch ri
Vi phn mnh nguyn tlui tnh tch ri s c bo m min l cc v t hi s cp
xc nh phn mnh c tnh oi tr tirong h (mutuallv exclusive). Vi plin manh dii xut
tnh tch ri c th bo m nu th ni thuc loi on uian.
2.3.4. Phn mnh dc
Mt phn mnh dc cho mt quan h R sinh ra cc mnh R, Ri.....Rr, mi mnh cha
mt tp con thuc tnh ca R v c kho ca R. Mc ch ca phn mnh dc l phn hoch mt
quan h thnh mt tp cc quan h nh hn nhiu ng dng ch cn chy trn mt mnh. Mt
phn mnh ti ir\ phn mnh sinh ra mt lc phn mnh cho php gim ti a thi gian
thc thi cc ng dng chy trn mnh .
Phn mnh dc tt nhin l phc tp hn so vi phn mnh ngang. iu ny l do tng
s chn la c th ca mt phn hoch dc rt ln.
Vi vy c c cc li gii ti u cho bi ton phn hoch dc thc s rt kh khn.
Vi th li phi dng cc phng php khm ph (heuristic). Chng ta a ra hai loi heuristic
cho phn mnh dc cc quan h ton cc.
- Nhm thuc tnh: Bt u bng cch gn mi thuc tnh cho mt mnh, v ti mi
bc, ni mt s mnh li cho n khi tha mt tiu chun no . K thut ny c c
xut ln u trong [Hammer and Niamir, 1979] cho cc CSDL tp trung v v sau c dng
trong [Sacca and Weiderhold, 1985] ch cc CSDL phn tn.
62
- Tch mnh: Bt u bng mt quan h v quyt nh cch phn mnh c li da trn
hnh vi truv XLiat ca cc ng dng trn cc thuc tnh. K thut ny u''c tho lun ln u tin
c\u) thit k CSDL tp Irung tronu [Hoffer and Severance. 1975]. Sau c m' ra cho mi
irung phn tn trong [Navathe et al, 1984].
Cc yu cu thng tin ca phn mnh dc
Bi v phn hoch dc t vo mt mnh cc thuc tnh thng c truy xut cluing
vi nhau, chiim ta cn c mt gi tr o no nh ngha chnh xc hon v khi nim
"chung vi nhau", s o ny gi l t lc hav lc ht (affinity) cua thuc tnh, chi ra mc
lin i giCra cc thuc tnh.
Yu cu d liu chnh c lin quan n cc ng dng l tn s truy xut ca chng. Gi
{qh q2. --- ^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(qj, ) 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 A 3 A 4
q i
1 0 1 0
2
0 1 1 0
q 3
0 1 0 1
C4
0
V
0 1 1
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.
Ni cch khc: Q(A, B) = {qeQ: use(q, A) = use(q, B) = 1}
Th d da vo ma trn n ta thy Q(A|, Ai) = {qi}, Q(2, A2 ) = {q2, qa}, Q(A3, A3 )
= {qi, q2, q4>, Q(A4, A4) = {q3, q4}, Q(A| , A2) = rng, Q(A,, A3 ) = {qi}, Q(A2, A3 ) = {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)
Use(qk,Ai)-lAUse(qk,Aj)=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:
Acci(ql)=15 Acc2(ql) = 20 Acc3( q l ) = 1 0
Acci(q2) = 5 Acc2(q2) = 0 Acc3(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| r 4 5 0 45 0
A2
0 80 5 75
A3 45 5 53 3
A4 75 3 78
Thut ton nng luyng ni BIA (Bod EnerY Ai^orithm)
en y ta c th phn R lm cc manh cua cc nhm thuc tnh da vo s lin i
(lc ht) gia cc thuc tnh, v d t lc ca A|, A l 45, ca A 2, A4 l 75, cn ca A , A2 l 0,
ca A3, A4 l 3... Tuy nhin, phng php tuyn tnh s dng trc tip t ma trn ny t c
mi ngi quan tm v s dng. Sau y chng ta xt int phng php dng thut ton nng
lng ni BEA ca Hofferand Severance, 1975 v Navathe. 1984.
1. N c thit k c bit xc nh cc nhm gc')m cc mc tng t, khc vi mt
sp xp th r tuyn tnh ca cc mc.
2. Cc kt qu t nhm khng b nli hung bi th t a cc mc vo thut ton.
3. Thi gian tnh ton ca thut ton c the chp nhn c l 0(ii"), vi n l s lng
thuc tnh.
4. Mi lin h qua li giCra cc nhm thuc lnh t c th xc nh c.
Thut ton BF;A nhn nguyn liu l mt ma irn i lc thuc tnh (AA). hon v cc
hng v ct ri sinh ra mt ma trn i lc t (CA) (C'liistered affinity matrix). Hon v c thc
hin sao cho s o i lc chung AM (Global Affinitv Measure) l ln nht. Trong AM l i
lng:
AM - E. ,aff(A A,)[aff(A, A,,) I aff(A ,.,) I A,) f aff(A,.,, A,)]
Vi aff(A, A|) aff(A Ao) - aff(A I . Aj) aff(A,. A.|) ^ 0 cho V i,J
Tp cc iu kin cui cng cp n nhng trng hp mt thuc tnh c t vo
CA v bn tri ca thuc tnh tn tri lioc ' v bn phi ca thuc tnh tn phi trong cc
hon v ct, v bn trn hng trn cng v bn di hng cui cng trong cc hon v hng.
Trong nhng trng hp ny, chng ta cho 0 l gi tr lc ht aff gia thuc tnh ang c xt
v cc ln cn bn tri hoc bn phi (trn cng hoc dui y) CLia n hin cha c trong CA.
Hm cc i ho chi xt nhng ln cn gn nhl, v th n nhm cc gi tr ln vi cc
gi tr ln, gi tr nh vi gi tr nh. V ma trn lc ht thuc tnh AA c tch cht i xng nn
hm s va c xy dng trn thu li thnh:
65
AM - r , , r , , aff(A A,)[aff(A,. A, , ) f aff(A., A,.i)J
Qu trnh sinh ra ma trn t lc (CA) c thc hin qua ba bc:
Bc 1: Khi gn
t v c nh mt tront cc ct cua AA vo trong cA. Th d ct 1. 2 irc chn tronu
thut ton ny.
Bc 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 i lc chung
AM ln nht. Tip tc lp n khi khng cn ct no dt.
Bc 3: sp 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 Xn
CA(. , 1 ) ^ AA( . , 1)
CA(, 2)^^AA(*, 2)
Index:==3
(
while index n do chn v r " nhl " cha ihic h
begin
for i : - l to index-1 by I do
tinh cont(Ai, Aiev A,);
Tinh cont(A,dcx-hA,d, A,dex. i); / iii kin hinl
Loe < ni t, irc cho bi gi tr con ln nht;
for i: index downt o l oe do Xo ir hai ma ri
CA(*J)<--CA(, j-l);
CA(, loc)-eAA(, index);
index<-index-M ;
end-while
Sp th t cc hng theo th t tirong i ca ct.
end. {BEA}
hiu r thut ton chng ta cn bit cont(*,*,*). cn nhc li s o i ic chung AM
c nh ngha l:
AM - r . , r , , aff(A A)(aff{A A, , ) H- aff(A A,.,)]
66
V c th vit li:
AM = EViZV [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:
Bond(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.| AjAj j+]... A[,
Vi A| A2... A|.1 thuc nhm AM v AjAj Aj+|... A thuc nhm AM
Khi s o lc ht chung cho nhng thuc tnh ny c th vit li:
AMoid = AM + AM + bond(Ai.|, A|) + bond(Aj, Aj) + bond(Aj, Aj) + bond(bond(Aj+i, Aj)
= E"i=i[bond(A|, Aj.i)+bond(Ai, Ai+i)] + S"j=i+i[bond(Ai, Ai.i)+bond(Aj, Ai+i)] + 2bond(Aj, Ai))
By gi xt n vic t mt thuc tnh mi Aic gia cc thuc tnh Ai v Aj trong ma
trn lc ht t. s o lc ht chung mi c th c vit tng t nh:
AMnew = AM + AM+ bond(Ai, Ak) + bond(Ak, Aj) + bond(Ak, Aj)+ bond(Aj, Aic)
= AM + AM+ 2bond(Aj, Ak) + 2bond(Ak, Aj)
V th ng gp thc (net conibution) cho s o i lc chung khi t thuc tnh Ak
gia Ai v Aj l:
Cont(Ai, Ak, Aj) = AMnew - AMoid = 2Bond(Aj, Ak )+ 2Bond(A|i, Aj ) - 2Bond(Aj, Aj )
Bond(Ao, Ak)=0. Nu thuc tnh Alt t bn phi thuc tnh tn bn phi v cha c
thuc tnh no c t ct k+1 ca ma trn CA nn bond(Ai(, A|(+i) = 0.
Vi d 2.5a: Ta xt ma trn c cho trong v d 2.14 v tnh ton phn ng gp khi
di chuyn thuc tnh A4vo gia cc thuc tnh A| v A2, c cho bng cng thc:
Cont(Ai, A4, A2) = 2bond(A|, A4) + 2bond(A4, A2) - 2bond(A|, A2)
Tnh mi s hng chng ta c:
Bond(A,, A4) = ZVi amAz, A,) aff(A A4) = aff(A,, A,) aff(A,, A4) + aff(A2, A| ) af(A2, A4)
+ aff(A| ,A3) aff(A3, A4) + aff(A| , A4) aff(A4, A4)
= 45*0 +0*75+ 45*3+0*78 = 135
Bond(A4, A2) = 11865
Bond(A,, A2) = 225
V th cont(A,, A4) = 2*135+2*11865+2*225 = 23550
Vd2.15b\
Chng ta hy xt qu trnh gom t cc thuc tnh ca quan h D n v ng ma n i
lc thuc tnh AA.'
67
Bc khi u chng ta chp cc ct I v 2 ca ma trn AA vo ma trn CA v bt Li
thc hin t ct th ba. C ba noi c th t c ct 3 l: (3-1-2), ( I-3-2) v (1 -2-3). Chng ta
hy tnh ng gp s i lc chung ca mi kh nns ny.
Th t (0-3-1):
cont(A(i. A- A|) 2bond(A(i, A;) I 2bond(A;. A|) - 2bond(A, A|)
bond(A(i. A ) " bond(A(i, A|) 0
bond(A3, Ai) 45*48 + 5*0 + 53*45 + 3*0 - 4410
cont(Ao, Aj, A|) = 8820
Th t (1-3-2):
cont (A| , A3. A 2) =10150
Th t (2-3-4):
cont (A, Ai. A4) " 1780
Bi v ng gp ca th t (i-2-3) l ln nht, chng ta t A, vo bn phai ca A|.
Tnh ton tong t cho A4ch ra rng cn phi t n vo bn phi ca Ai. Cui cng cc hng
c t chc vi cng th t nh cc ct v cc hng c trnh by trong hnh sau:
A A 3 A,
A,
45 0
A,
r 4 5 45 0
A 2 0 80
A2
0
%
5 80
A3
45 5 45 53 5
A 4 75 A, 0 3 15
(a)
(b)
A, A2 A4
A,
45 45 0 0
A2
0 5 80 75
A,
45 53 5 3
A4
0 3 75 78
(c)
A, A3
A,
r45 45
A, 45 53
0 5
A
3
A 2
0
3
80
75
( d)
A4
0
3
75
78
Trong hnh trn chng ta thy qu trnh to ra hai t: mt ' gc trn tri cha cc gi tr
i lc nh. cn t kia di gc phi cha cc gi tr i lc cao. ii trnh phn t ny ch ra
cch thc tch cc thuc tnh ca D n. Tuy nhin, ni chung thi ranh gii cc phn tch
khng hon ton r rng. Khi ma trn CA ln, thng s c nhiu t lin c to ra v nhiu
phn hoch c chn hon. Do vy cn phi tip cn bi ton mt cch c h tliong hon.
Thut ton phn hoch
Mc ch ca hnh ng tch thuc tnh l tm ra cc tp thuc tnh c truy xut cng
nhau hoc hu nh l cc tp ng dng ring bit. Xt ma trn thuc tnh t:
68
A ] A 2A- | Aj+| ...
I
A,
A|
Ai
- A. .
Ai+I
A,
TA
B A
Nu mt im nm trn ng cho c c nh, hai tp thuc tnh ny c xc nh,
Mt tp {A| , A2..... A|} nm ti gc trn tri v tp th hai {A|,|, A|,.2.......A|,} nm ti gc bn
phi v bn di im ny. Chng ta gi 2 tp ln lt l TA, BA. Tp ng dng =- {qi, q,.....
q^,} v nh ngha tp ng ng chi truv xut TA. ch triiv xut BA hoc c hai, nhng tp ny
irc nh ngha nhir sau;
A(q,) {A, |use(q A|) lj
T = q,| A(q,)c^TA}
B - {q,| A(q, )c BA}
O - - T u B }
0 dy ny sinh bi ton ti iru ho. Neii c n thuc tnh trong quan h thi s c n - I v
ir kha hu c th i im phn chia trn ng cho chnh cua ma trn thuc tnh t cho quan
h . V tr tt nht phn chia l v tr sinh ra tp T v BQ sao cho tng cc tmy xut chi
mt mnh l ln nht cn tng tmy xut c hai mnh l nh nht. v. th chng ta nh ngha cc
phng trnh chi ph nh sau:
CQ = I z ref(qi)acc,(q,)
qie.) VS|
CT - . . ref|(q,)accj(q,)
qi ( ^ VS|
CB I z ref|(q,)acc(q,)
q i i VSj
COQ I . ref(q,)acc(q,:
qi eO 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 - co'
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
best <- CTQ, , | *CBQ. | -(C0Q, , , )'
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}
R2<-r i BA(R)uK
{Ri, R2}
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|, A3} v D \i = {A|, A2, 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,, VR,eFR
Do vy nu iu kin mi Rj l y php ton ni s ti thit li ng R. Mt im
quan trng mi mnh R, phi cha cc thuc tnh kho ca R.
2.3.5. Phn mnh hn hp
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.
R
2.3.6. Cp pht
Cp pht ti nguyn cho cc nt ca mt mng my tnh l mt bi ton c nhiu
ngi quan tm v nghin cu rng ri. Tuy nhin, phn ln cc nghin cu ny u khng tp
trung vo bi ton thit k c s d liu phn tn, nhng li tp trung vo cch thc t cc tp
tin trn mt mng my tnh. Trong thc t c c mt mng my tnh hot ng mt cch
c hiu qu vi thi gian v chi ph nh nht th rt kh. Tuy nhin, chng ta vn c th lm
c iu ny bng cch ng dng bi ton cp pht (thit k s sp ch d i i L i ) vo vic thit
k CO' s d liu phn tn, khi ngi ta tim cch b tr gia cc tp tin v cc trm my tnh
sao cho l hiu qu cao tc l thi gian v chi phi nh nht nhng vn m bo h thng hot
dng vi lu lng nhanh nht. Hay ni cch khc, ng dng bi ton cp pht cho php chng
ta t c cc i tnh a phng v ti thiu ho vic tham chiu t xa.
71
2,3.6.1 Bi ton cap pht
Gi s c mt tp cc manh F - {F|, F v mt mng bao gm cc v tr
s == {Si, S2,..., 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 ph 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 Gcha n v chi ph tryn d liu. V th bi
ton cp pht c gang tm mt lc cp pht vi lini chi ph t hp nli nht.
- Hin nng: Chin lc cp pht c thit k nhm duy tr mt hiu qu ln l h
thp thi gian p ng v tng ti a lu lng h thng ti mi v tr.
Ni chung bi ton cp pht tng qut l mt bi ton phc tp v c phc tp l NP-
y (NP-complete). Vi th cc nghin cu irc dnh cho vic tm ra cc tluit gii
heuristec tt c li gii gn ti u.
2.3.6.2, Cch tip cn 1
a). Yu cu v thng tin
giai on cp pht, chng ta cn cc thng tin nh ing v CSDL, v cc ng dng
chy trn , v cu trc mng, kh nng x l v gii hn lu tr ca mi v tr trn mng.
Thng tin v CSDL
tuyn ca mt mnh F| ng vi cu vn tin q,. y l s lng cc b ca F| cn
c truy xut x l qi. Gi tr ny k hiu l sel(F|).
Kch thc ca mt mnh Fj c cho bi:
Size (Fj) ^ card (F|)* length(F,)
trong : Length(F|) l chiu di (tnh theo byte) cua mt b trong mnh F,.
Thng tin v ng d m g
Hai s liu quan trng l s truy xut c do cu vn tin qj thc hin trn mnh F, trong
mi ln chy ca n (k hiu l RR,|), v tng ng l cc truy xut cp nht (URy). Th d
chng c th m s truy xut khi cn phi thc hin theo yu cu vn tin.
Chng ta nh ngha hai ma trn UM v RM vi cc phn t tng ng U, J v r,, c
c t tng ng nh sau:
1 nu vn tin q,c cp nht mnh F,
0 trong trng hp ngc li
! nu vn tin q,c cp nht mnh F,
0 trong trng hp ngc li
72
M vct o gm cc gi tr o(i) cng c nh ngha, vi o(i) c t v tr a ra cu
vn tin qi .
Thng tin v v tr
Vi mi v tr (trm) chin^ ta cn bit v kh nng lu tr v x l ca n. Hin nhin
l nhng 2;i tr ny c th tnh c bii. cc hm thch hp hoc bng phng php nh gi
on gin.
+ Chi ph n v tnh lu d liu ti vj tr Si. s c k hiu l VSC,
+ c t s o chi ph LPCk, l chi ph x l mt n v cng vic ti v tr S,. n v
cng vic cn phi ging vi on v ciia RR v UR.
Thrg tin v mang
Chng ta gi s tn ti mt mng on iin, g biu th cho chi ph truyn mi b gia
hai v tn' s, v S|. c th tnh c s lng thng bo, chng ta dn^ fsize lm kch thc
(tnh theo byte) ca mt b d liu.
b) M hnh cp pht
M hinh cp pht c mc tiu lm gim thiu tng chi ph x l v lu tr d liu trong
khi vn c gng p ng c cc i hi v thi gian p ng. M hnh ca chng ta c hnh
thi nh sau;
Min (Total Cost)
ng vi rng buc thi gian p ng, rng buc lu tr, rng buc x l.
Bin quyt nh x,j c nh ngha l:
I nu mnh F, c lu ti v tr S
0 trong trng hp ngc li
Tng chi ph
Hm tng chi ph c hai thnh phn: phn \ l vn tin v phn lu tr. V th n c th
c biu din l;
TOC X PC, I I I STC
V 1|I e VSkeS
trong PC, l chi ph x l cu vn tin ng dng q, ; STCk l chi ph lu mnh Fj ti vj tr S|,.
Chng ta hy xt chi ph lu tr* trc. N c cho bi:
STC, k - u s e , * s i ze( F, )
Chi ph x l vn tin kh xc nh hn. Hu ht cc m hnh cho bi ton cp pht tp
tin FAP tch n thnh hai phn: (?hi ph x l chi c v chi ph x l ch cp nht, o y chng
ti chn mt hng tip cn khc trong m hnh cho bi ton DAP v xc nh n nhir l chi
ph x l vn tin bao gm chi ph x l l PC v chi ph truyn l TC. V th chi ph x l vn
tin QPC cho ng dng qi l:
PC, - PC, + TC,
Thnh phn x l PC gm c ba h s chi ph: chi ph triiv xut AC. chi ph duy tr ton
vn lE v chi ph iu khin im thi CC;
73
PC, - AC. f IE. ! c c .
M t chi tit cho mi h s chi ph ph thuc vo ihut ton c dng hon tt cc
tc v . Tuy nhin, minh ho ta s m t chi tit v AC:
AC. - z Z(u,*UR,-,+ r*RR, )*x, , *LPQ
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.
Mt vn rt quan trng cn cp y. Hm chi ph truy xut gia s rang vc XI V
l mt cv vr tin c hao gm c vic phn r n thcih mi p cc vcm n con hot tc rn
mt mnh c hw li v (ri , theo sau Ici ruyn kt qua tr i v v ri lira ra vn ih
H s chi ph duy r nh ocm vn C( ) fh cc 1C r ^in, hlmh phn x ngoi
tr chi ph x l cc h m cn v cn /hay c nham phcm nh chi ph 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 (Uj * Xjk * go(.k+r,| * X|i,.(sel,(F|)* length (F,)/fsize) *
F| e F S^ e S
S hng th nht trong TCR biu th chi ph truyn yu cu ch c n nhng v tr c
bn sao ca mnh cn truy xut, s hng th hai truyn cc kt qu t nhng v Ir ny n
nhng v tr yu cu. Phng trinh ny khng nh rng trong s cc v tr c bn sao ca cng
mt mnh, ch v tr sinh ra tng chi ph truyn thp nht mi c chn thc hin thao tc
ny.
By gi hm chi ph tnh cho vn tin q, c th c tnh l:
TC, TCU, TCR,
74
Rcg buc
Rng buc thi gian p ng cn c c t l thi gian thc thi ca qi< thi gin p
ng ln nht ca q, Vq, eQ.
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 Sk-, VSi^eS
VFjeF
trong rng buc x l l:
z ti trng x l ca q, ti v tr Sk < kh nng x l cua Si,, VSkC-S.
Vqie
2.3.63, Cch tip cn 2
Xy dnu bi ton cp pht
u vo: Tp cc mnh, tp cc trm, dunii lnu ca trm.
u ra: Cc mnh c nh v ti cc trm lm vic.
Vi mc tiu ca bi ton i cc i ho tnh a plurong v ti thiu ho vic tham
chiu t xa.
Phn tch
Gi s c mt tp cc mnh f- - {F|, F....... F,i} v mt mng bao gm cc v tr
s | Si , S2......s,} trn c mt tp cc ng dng {qi, q).........q^j) ang chy.
- Mc tiu bi ton cp pht l lm mt phn phi ti u" ca F cho s.
- Tnh ti u y c [ Dowdy and Foster, 1982] nh ngha ng vi hai s o
sau:
l:
(1). Chi ph nh nht: Hm chi ph gm c;
+ Chi ph lu mnh F, vo v tr s,:
-- Chi ph vn tin mnh F', vo v tr s,;
Chi ph cp nht Fj ti tt c mi v tr c cha n;
+ Chi ph truyn d liu.
(2). Hiu qu: Chin lc Cp pht c thit k nhm duy tri mt hiu qu ln
^ H thp thi gian p ng;
+ Tng ti a lu lng h thng ti mi v tr.
Bi ton ph thuc vo cc rng buc khc sau
+ Kh nng (dung lng) ca trm c hn.
+ Tp c th t ' mt trm hay nhiu trii:
75
*- Nu mt trm: gi thnh c ^ gi thnh cp nht:
- Nu nhiu trm: ^ thnh c gi thnh cp nht.
+ Gi thnh ca vic tham chiu a plnronu nh hn nhiu gi
thnh ca vic tham chiu t xa.
ng dng vo c s d liu phn tn
+ Coi mi on l mt tp cc on c lp vi nhau tu tng ng dng
chn.
+ Coi mi quan h tng th l mt tp.
Cc k hiu
+ C N trm, nh s trm theo ch s j , dung lng ca trm j l Cj
C M tp, nh s tp theo chi s i, kch thc ca tp i l S
+ C T giao dch, ch s k, tn sut ca giao dch k pht ra ti trm j l fkj
+ S cc truy nhp ca giao dch k n tp i l n^,.
Gi thit bi ton
+ Kh nng ( ung lng) ca trm c hn
+ 1 tp ch nh v ti I trm.
+ Gi tlinh ca thao tc c v cp nht l nh nhau,
i Cc truy cp a phng d mt cch ng k so vi truy cp t xa.
Quy nh cc hin v mt s iu kin rng huc
Xj| : bin quyt nh
nu tp i t ti trm j
Xij =
0 ngc li
r l ) . vi V i K2, . . . , m
./
r2). < C vi V j = 1,2,..., n
J
-> Vj ^ ( s cc truy nhp n tp i i hi ti trm J )
k
Bi ton : i xc nh cc i, j sao cho t c Max{V,j. x,j) > trm j l tt nht.
iu kin rng buc bi ton :
I J
( Tc l kch thc d liu < dung lng c mng )
Qui c: fk| Ma trn F . Hk, ' Ma trn N
T N -> N (l hon v ca N) Tnh V N' * F = '-fki ^
k
76
Thut ton
Gm 5 bc sau:
Bc 1: Tnh cc j(i) ^ ^ Max(V,| ) vi V i
Bc2: Th
I nii j luic j(i)
0 ng-c li
, 2 ...... m
Bc 3: Kim tra rng buc r2)
Bc 4: Nu r2) vi phm ti trm J th t li X,J (tc l chn J khc) > uay v Bc
1: Lm li t u cho n ht.
Nmrc li ; nu r2) khng vi phm thi chuyn sang Bc 5
Bc 5: Xo cc ct i tng ng vi X,, 1 kt thc.
t s dns bi ton cp pht
Bi ton pht biu nh sau:
Cho ma trn N thong k cc giao dch truv nhp k ti cc tp i
N ' Q ' "
K
( 1) (2) (3) (4) (5) (6)
s, (30)
T i 5).... ( 10) (30)
J 21)_
1 _ 30 30
1
L. ' | 5 .......... 100...........
3 ........ .' 40 20 20"7
..............
2 0 " ^
5 .... ..... . 10 10 ^o' ^
6 10 10
Ma trn F: Tn sut ca cc giao dch k vi trm j
F
( 1) (2) (3) (4)
'^ 50 J l oo f 7 ^
2 20 10
3 20 10
4................ ... ' 20 20 50....... .......... T o '
5"............ " 20 50 ............ "10 ........... .
6 50 10
ChoC, = 50MB
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, = 150M5 v = 50 * 4 = 200M5
,=I >=1
=>Nhvy: 'Yj S, < vi i = 1, 2 , . . . , 6 v j = 1, 2, 3, 4
' J
Tip theo tnh V|j theo cng thc; Vj = c kt qu sau;
( 1 ) (2 ) (3) (4) (5) (6 )
Si (30) (2 0 ) (15) ( 1 0 ) (30) (25)
1 300 1 0 0 0 700 2800 400 400
2 350 1 2 0 0 550 1400 2 0 0 410
3 250 500 1500 500 1500 500
4 3200 1 1 0 0 3400 1 0 0 300 1 0 0
Bc 1: Tnhj(i)= = Max(Vij)} vi V i = 1, 2,..., m
j ( l ) = {4} v v ,4= 3200 v ti t Max(Vij)
j(2) = {2} v V22 = 1200 v ti t Max(Vy )
j(3) = {4} v V34 = 3400 v ti t Max(Vjj )
j(4) = {1} v V41 = 2800 v ti t Max(Vjj )
j(5) = {3} v V53 = 1500 v ti t Max(Vjj )
j(6) = {3} v V63 = 500 v ti t Max(Vij )
Birc 2: Th
Xij =
1 nuj thuc j(i)
0 ngc li
Xi4 = 1 vcj = 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 = 1thuc 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 Vj = l , 2, . . . , n
J
Ti tt-m 1: t tp 4 vi 2 !]54 .;C4| = 10.1 < Ci = 50 => chp nhn c => khng vi phm
I
Ti trm 2: t tp 2 vi ^ S 2 -X22 = 20.1 < C2= 50 => chp nhn c => khng vi phm
2
Ti trm 3: t tp 5, 6 vi ^ ( 5'5.X53 + = 30.1 + 25.1 = 55 > C3 = 50
Vi phm => khng chp nhn c => t li X53 v x3
Ti trm 4: t tp 1, 3 vi ^(iS'j.X|4 + 5 3 .X34 = 30.1 +15. 1 = 45 < C4 = 50
4
Khng vi phm => chp nhn c
Bc 4: T Bc 3 thy ti m 3 vi phm iu kin rng buc r2) do phi t li cc Xjj
(X53 v X63) bng cch chn j khc.
Ti trm 3: j =3 gi nguyn X53 cn X63 t li bng cch thay j = 2 => X62 => Quay v Bc 1
lm li cho n ht.
Bc 4.1: j ( l ) = {4} v v ,4 = 3200 v ti t Max(Vij )
j(2) = { 2 } v V 22 = 1200
J(3) = {4} v V34 = 3400
j(4) = {1} VV41 =2800
j(5) = { 3 } VV53 =1500
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* X41 = 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 r2)
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 VN TIN
Ng cnh c chn y l php tnh quan h v i s quan h. Nh ta thay cc quan
h phn tn c ci t qua cc mnl. Thit k CSDL c vai tr ht sc quan trng i vi
vic x l vn tin vi nh ngha cc mnh c mc ch lm tng tnh cc b tham chiu, v i
khi tng kh nng thc hin song song i v'i nhng cu vn tin quan trng nht. Vai tr ca
th x l vn tin phn tn l nh x cu vn tin cp cao trn mt CSDL phn tn vo mt chui
cc thao tc ca i s quan h trn cc mih. Mt s chc nng quan trng biu trirng cho ih
x ny. Trc tin cu vn tin phi c phn r thnh mt chui cc php ton quan h c
gi l vn tin i s. Th hai, d liu cn truy xut phi c cc b ha cc thao tc trn cc
quan h c chuyn thnh cc thao tc trn d liu cc b (cc mnh). Cui cng cu vn tin
i s trn cc mnh phi c m rng bao gm cc thao tc truyn thng v c ti u
ha hm chi phi l thp nht. Hm chi ph mun ni n cc tnh ton nh thao tc xut nhp
a, ti nguyn CPU v mng truyn thng.
80
2.4.1. Bi ton x l vn tin
C hai phng php ti u ha c ban irc s dng trong cc b x l vn tin; phng
php bin i i s v chin lc c lng chi ph.
Phong php bin i i s on gin ha cc cu vn tin nh' cc php bin i i s
nhm h thp chi ph tra li cu vn tin, c lp vi d liu thc v cu trc vt Iv ca dCr liu.
Nhim v chnh'CLia th x l vn tin quan h l bin i cu vn tin cp cao thnh mt
cu vn tin tog ong cp thp hon c din t bng i s quan h, Cu vn tin cp thp
thc s s ci t chin lc thc thi vn tin. Vic bin i ny phi t uc c t nh ng n
lan tnh hiu qu. Mt bin i c xem l ng n nu cu vn tin cp thp c cng ng
ngha vi cu vn ti n ^c, ngha l ca hai cim clio ra Iit k qu. Mt cu vn tin c th c
nhiu cch bin i tng ong thnh i s quan h. BcVi vi mi chin lc thc thi tong
ng u s dng ti nguyn my tnh rt khc nhau, kh khn chnh l chn ra c mt
chin lc h thp ti a vic tiu dim ti nmivn.
V CJ 2. 6:
Chng ta hy xt irit tp con cua c CSDL 'c cho:
NV( MNV, Tn NV, Chc v), PC (MNV, MDA, Nhim v, Thi gian)
V mt cu vn tin n gin sau:
'^Cho bit tn ca cc nhn vin hin ang qun l mt d n'
Biu thc vn tin bng php tnh quan h theo c plp ca SQL !:
SELECT Tn NV
FROM NV, PC
WHERE NV.MNV-PC.MNV
AND NhimvLr^"unlv"
Hai biu thc tung ng trong i s quan h do bin i chnh xc t cu vn tin
trn l: 7TcnNv( Nhinui ^NVMNV PCMNv ( NV n PC ))
V 7InNv(NV|><|MNv(ONiini\it tiinK ( )))
Hin nhin l trong cu vn tin th hai. chng ta trnh s dng tch Descartes, vi th
tiLi dng t ti nguyn my tnh hon cu vn tin th nht v v vy nn c gi li.
Trong bi cnh tp trung, chin lc thc thi vn tin c th c din t chnh xc bng
mt m rng ca i s quan h. Nhim v chnh ca th x l vn tin tp trung l i vi mt
cu vn tin cho, n phi chn ra c mt cu vi tin i s lt nht trong s nhng cu vn
tin tng ong. Bi vi y l bi ton phc tp v Iit tnh ton khi so krng cc quan h kh
ln, nn ni chung n thng c rt li yu cLi i chn c mt li gii gn ti u.
Trong cc h phn tn, i s quan h khng din t cc chin lc thc thi. N
phi c cung cp thm cc php ton trao i dO' liu giCra cc v tr. Bn cnh vic chn th
t cho cc php ton i s quan h, th x l vn tin phn tn cng phi chn cc v tr tt nht
x l d liu, v c th c cch bin i d liu. Ket qua l khng gian li gii cc chin lc
tlrc thi tng ln, lm cho vic x l vn tin phn tn tng ln rt nhiu.
81
Vi d 2.17: Th d Iiy minh ha tm quan trng cia vic chn la v tr v cch truyn
d liu ca mt cu vn tin i s. Chng ta xt cu vn tin cua th d trn:
^TiiNv(N V|X||viNv(Nhimv\i=--''Oitanl''(PC)))
Chng ta gi s rng cc quan h NV v PC c phn mnh ngang nh sau:
N V i - m n v . - r . v ( N V ) ; NV.-Omnv i,v(NV)
PC|=Omnv < i:r'(PC); PCi=MNv > H.v(PC)
Cc mnh PC|, PC2, NVI, NV2theo th t c lu ti cc v tr 1, 2, 3 v 4 v kt qu
c lu ti v tr 5.
V tr 5
Kt qu = NVl U NV2
Hnh 2.9a). Chin lc A.
V tr 5
Ket qua (N V 1*^ NV2) X MNVNhini vii= '(^iinI v ' C P C PC2)
PC
V tr 1
PC2
V tr 2
NV| \ NV2
V tr 3 V tr 4
2.9/?;. Chin lc B.
Mi tn t v tr i n v tr j c nhn R ch ra rng quan h R c chuyn t v tr i n
v tr j. Chin lc A s dng s kin l cc quan h EMP v ASG c phn mnh theo cng
mt cch thc hin song song cc php ton chn v ni. Chin lc B tp trung tt c cc
d liu ti v tr lu kt qu trc khi x l cu vn tin.
82
nh gi vic tiu dng ti nguyn ca hai chin lc ny, chng ta s ng mt m
hinh chi ph n gin sau. Chng ta gi Srng 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. ToNV bng cch ni PC v NV cn (10+10)*tupacc*2 = 40
4. Truyn NV n v tr nhn kt qu cn (I0+10)*tuptrans ^ 200
Tng chi ph 460
* Tng chi ph cho chin lc B c th 'c tnh nhir sau:
1. Truyn NV n v tr 5 cn 400*tiiptrans ^ 4.000
2. Truyn PC n v tr 5 cn IOOO*tuptrans =10.000
3. To ra PC bng cch chn trn PC cn f 000*tupacc = 1.000
4. Ni NVv PC cn 400*20*tiipacc = 8.000
Tng chi ph l 23.000
Trong chin lc B, chng ta gi s rng cc phng php truy xut cc quan h NV
v PC da trn cc thuc tnh Nhimv v MNV b mt tc dng do vic truyn d liu. y l
mt gi thit hp l trong thc t. Chin lc A tt hn vi h s 50 'Yt c ngha. Hn na
n a ra mt cch phn phi cng vic gia cc v tr. Khc bit cn cao hn na nu chng ta
gi thit l tc truyn chm hn hoc mc phn mnh cao hn.
Chi' s nh gi tiu dng ti nguyn l tng chi ph (total cost) phi tr khi x l vn
tin. Tng chi ph l tng thi gian cn x l cc php ton vn tin ti cc v tr khc nhau v
truyn d liu gia cc v tr. Mt cng c khc l thi gian p ng ciia cu vn tin, l thi gian
cn thit chy cu vn tin. Vi cc php ton c th c thc hin song song ti cc v tr
khc nhau, thi gian p ng c th nh hn nhiu so vi tng chi ph ca n. Trong mi trng
CSDL phn tn, tng chi ph cn phi gim thiu l chi ph CPU, chi ph xut nhp v chi ph
truyn. Chi ph CPU l ch ph phi tr kh thc lin cc thao tc trn d liu trong b nh
chnh. Chi ph xut nhp (1/0) l thi gian cn thit cho cc thao tc-xut nlp a. Chi ph
truyn tin l thi gian cn trao i d liu gia cc v r tham gia vo trong qu trnh thc thi
cu vn tin. Chi ph ny phi tr khi phi x l cc thng bo (nh dng/gii nh dng) v khi
truyn d liu trn mng. Chi ph truyn c l l yu t quan trng nht c xt n trong
CSDL phn tn.
phc tp ca cc php ton quan h: cc php ton chn, Chiu (Khng loi b
trng lp) c phc tp l 0(n); Cc php chiu (C loi b trng lp), trng lp, ni, ni na,
chia c phc tp l 0(n*iog); Tch Descartes c phc tp l O(n^).
(N biu th lc lng ca quan h nu cc b thu c c lp vi nhau).
83
nh gi:
+ Cc t hao t c c t nh chn l a lm gi m i lc l ng cn phi t hc hin t r c tin.
+ Cc php t on cn phi c sp xp t rnh t hc hin tch Descart es hoc li
t hc hi n sau.
2.4.2. Phn r vn tin
Phn r vn tin l giai on u tin ca qu trinh x l cu vn tin. N bin i cu vn
tin ' dng php tnh quan h t hnh cu vn tin i s quan h. Cc vn tin nhp xut u tham
chi u cc quan h t on cc v khng dng n cc t hng tin phn b d liu. V t h phn r vn
tin u gi ng nhau t r ong c h t hng t p t r ung ln phn tn, cu vn tin xut s ig v ng'
ngh a v t cht l ng t heo ngh a l loi b cc hnh ng khng cn thil. Phn r vn tin
c th xem nh bn birc lin t i p nhau: chun ho, phn tch, loi b d t ha, vit li cu vn
tin
Chun ho
Mc ch ca chun ho ( nor mal i zat i on) l bin i cu vn tin t hnh mt dng chun
x l tip. Cliin ho mt vn tin ni chung gm c t cc l ng t v l ng t ho vn tin
bng cch p dng u tin ca cc t on t logic.
Vi cc ngn ng quan h nh SQL, bin i quan t r ng nht l l ng t ho vn tin
( mnh Where) , c t h l mt v t phi l ng t vi phc t p no vi t t c cc
l ng t cn thit ( V hoc ) c t ph a trc. C hai dng chun c t h cho v t, mt c
t h bc cao cho AND( a ) v loi cn li cho t h bc cao OR ( v). Dng chun hi l hi (v t A)
ea cc t uyn v t ( cc v t v) :
( P l V P | W . . . . V p| ) A ...... A ( p, i V p,n.) V . . . . V p,n)
t rong Pi| l mt v t n gin. Ngc li, mt liig t ho dng chii n t uyn nhtr sau:
(P)l A Pi2 A. . . . A Pi,0 V ..... V( p, | A Pm2 A. . . . A p,)
Bin i cc v t phi l ng t l t m t hng bng cch s cc quy t c t ng ng
cho cc php t on logic (A, V, ~-i): 9
1 . Pl A i <->Pp A Pi
2. p V P:><:-> Pi
3. Pl A ( P2 A p . o < - > ( P l A P:> ) A P 3
4. Pi V ( P:> V p^) <-> (Pi V p. ) V P3
5. Pi a ( P2 V p O ( P l AP 2 ) V( P | AP ^ )
6. Pi V ( A y) o ( p i V P 2 ) A ( pi V )
7. ....(Pt A ) O - n P i V - np2
8. - i ( p i V p ^ ) C:> - i P i A -<p2
9.. ^ ( - . p ) cr> p
Tr ong dng chun t c t uyn, cu vn tin c t h c x l nh cc cu vn tin con hi
c lp, c ni bng php hp ( t ng ng vi cc t uyn mnh ).
84
Nhn xt: Dng chun tuyn t c dng v dn n cc v t ni v chn trng nhau.
Dng chun hi hay dng trong thc t
Vi d 2.18:
Tim tn cc nhn vin ang lm vic d n P| trong 12 thng hoc 24 thng.
Cu vn tin c din t bng SL nh sau:
SELECT TnNV
FROM NV, PC
WHERE NV.MNV=PC.MNV
AND PC. MDA=P|
AND Thi gian=12 OR Thi gian=24
Lng t ho dng chun hi l;
NV.MNV=PC.MNV A PC.MDA= P| A (Thi gian=l2 V Thi gian=24)
Cn lng t ho dng chun tuyn l
- (NV.MNV=PC.MNV A PC.MDA= P| A Thi gian= 12) V
(NV.MNV=PC.MNV A PC.MDA=P| A Thi gian-24)
dng sau, x l hai hi c lp c th l mt cng vic tha nu cc biu thc con
chung khng c loi b. '
Phn tch
Phn tch cu vn tin cho php ph b cc cu vn tin chun ho nhng khng th
tip tc x l c hoc khng cn thit, nhng [ do chnh l do chng sai kiu hoc sai ng'
ngha.
Mt cu vn tin gi i sai kiu nu n c mt thuc tnh hoc tn quan h cha c
khai bo trong lc ton cc, hoc nu n p dng cho cc thuc tnh c kiu khng thch
hp.
Vi d 2.19: Cho quan h NV(MaNV, TenNV, Chucvii, Tienliiong)
V cu vn tin sau:
Select Maphong
From NV
Where TenNV >200
Yu cu: Hy kim tra cu vn tin trn xem n c sai v kiu khng?
Tr li. Cu vn tin trn l sai v kiu, bi v hai l do sau:
1 ). Thuc tnh Maphong cha c khai bo trong lc ton cc.
2). Php so snh TenNV>200 khng ph hp vi kiu chui TenNV.
- Mt cu vn tin gi l sai ngha nu cc thnh phn ca n khng tham gia vo vic
to ra kt qu, tc l cc v t ni trong cu vn tin b thiu v cu vn tin cn c loi b.
Ngoi ra. chng ta c th thc hin kim tra mt cu vn tin xem n c sai ngha hay
khng bng cch cho n thc hin vi mt ip cc cu vn tin quan h kh rng ri, l cc
85
vn tin khng cha cc tuyn v phu nh ta c th dng th vn tin. vn 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)
NV(MaNV, TnNV, CV)
DA (MaDA, TnDA, Kph, im)
Tm tn, Nv cc ca nhng ngi c Cv=TP lm vic d n CAD/CAM trong
hn 3 nm
Select TnNV
From PC, NV,DA
Where PC.MaNV - NV.MaNV and PC.MaDA DA.MaDA
and TnDA=' CAD/CAM and CV =^'TP' and tgian >36
Cc v t n gin:
pl; PC. MaNV-NV. MaNV
p2: PC.MaDA DA.MaDA
p3:TnDA-*CAD/CAM'
p4; CV - T P
p5: tgian >36
th vn tin Ih ni
P3
86
Vi i h 2.21: Select TenNV
From PC. NV. DA
Where PC.MaNV = NV.MaNV
and TeiiDA^' CAD/CAM' and CVu - TP" and tgian >36
P5 ^
PC
P3
NV
=> thi khng lin thng
Nhn xt: Cu vn tin sai ng ngha nu th vn tin ca n khng lin thng: I hoc nhiu
th con b tch ri vi th kt qu.
Loi 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 VTrue c >True
7. p A "I p False
8. p V1p 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 ( CV=TP or CV=PP)
andnot ( CV=PP))
or TnNV=Mai
p l : C V = T P Lng t ho:
p2:CV=PP y (-^ pl A (pl Vp2) A ^ p2 ) Vp3
p3: TnNV=Mai _
p dng ; (-T pl A ((pl A 1 p2 ) V(p2 A 1 p2 ))) V p3
p dng 3: (-. p 1 A p 1 A p2 ) V(-T p 1 A p2 A Ip2 ) Vp3
p dng 7: (False -I p2) V ( - 1 pl A False) Vp3
p dng 5: False VFalse V p3 = p3
Vit li: Select CV
From NV
where TnNV= Mai'
Vit li cu vn tin
Bc ny c chia thnh hai bc nh:
(1) Bin i cu vn tin t php tnh quan h thnh i s quan h.
(2) Cu trc li cu vn tin i s nhm ci thin hiu nng.
cho d hiu, chng ta s trinh by cu vn tin i s quan h mt cch hnh nh bng
cy ton t. Mt cy ton t l mt cy vi mi nt l biu th cho mt quan h c lu trong
CSDL v cc nt khng phi l nt l biu th cho mt quan h trung gian c sinh ra bi cc
php ton quan h. Chui cc php ton i theo hng t l n gc biu th cho kt qu vri tin.
Bin i cu vn tin php tnh quan h thnh mt cy ton t c th thu c d dng
bng cch sau. Trong SQL. cc nt l c sn trong mnh FROM th hai nt gc c to ra
nh mt php chiu cha cc thuc tnh kt qu. Cc thuc tnh ny nm trong mnh
SELECT ca cu vn tin SQL. Th ba, lng t ho (mnh Where ca SQL) c dch
thnh chui cc php ton quan h thch hp (php chn, ni. hp,...) i t cc nt l n nt
gc. Chui ny c th c cho trc tip qua th t xut hin ca cc v t v ton t.
V d 2.23: Cu vn tin: tm tn cc nhn vin tr J.Doe lm cho d n CAD/CAM
trong mt hoc hai nm'.
Biu thc SQL l:
SELECT TnNV
FROM DA, PC, NV
WHERE PC.MNV=NV.MNV
88
AND
AND
AND
AND
PC.MDA=DA.MDA
TnNV ^ J.Doe
DA.TnDA=CAD/CAM
(Thi g i a n - 12 OR Thi gian^24)
Cc th c nh x thnh cy trong hnh di.
T T n NV
^ T h i g i a n = l 2 V rhi g i a n = 2 4
TnDA="CAD/CAM'
C^ r n N V 7fj , Doe'
[><3
MDA
Chiu
Chn
Ni
Bng cch p dng cc quy tc bin i, nhiu cy c th c thy rng tng ng
vi cy c to ra bng phirng php irc m t trn. Su quy tc tong ong h*Li ch nht
v c xem l cc php ton i so quan h CO' bn:
R, s, T l nhng quan h, trong R c nh ngha trn cc thuc tnh A = {A|,
A} v quan h s c nh ngha trn cc thuc tnh B ={B| , Bn}.
1. Tnh giao hon ca php ton hai ng
R X s o s X R
R c x S o s t x i R
Quy tc ny cng p dng c cho hp nhng khng p dng cho hiu tp hp hay ni
na.
2. Tnh kt hp ca cc php tor hai ngi
(R X S)x T R X (Sx T)
89
(R X I S) 1X1 T o R o o (S [XI T)
3. T'mh ly ng cuu cc php lun ov ngi
Nu R c nh ngha trn tp thuc tnh A v A ' c A. A" c A v A ' c A thi
7Ca 7a (Ka (R))C:>7rA ( R )
p I (A I )( |)2(A l( R ) )' |11(A I ),' (1. (A )( R )
trong p, l mt v t c p dng cho thuc tnh A,
4. Giao hon php chn vi php chiu
^ A l , , A n ( p ( A p ) ( R . ) ) O T I a i A n ( p ( A p ) ( 7 l A I AM. Ap( R- ) ) )
Ch rng nu Ap l phn t ca {A|, ...... A th php chiu cui cng trn {Ai.
A2,...,A} v phi ca li thc khng c tc dng.
5. Giao hon php chn vi php loan hai Ii
,An(R X S) (p(A(R)) X s
|KA)(R t x l ixA, lkl S) <-> (p(A|)(R)) o o p(j, Hlii s
p ( A , ) ( R T ) c > , a ( R ) ^ ^ p i A o ( T )
. Giuo hon php chiu vi php lon hai ni
Neu C = A' u B, trong A' c A, B' c B, v A, B l cc tp thuc tnh tonu mg ca
quan h R v s, chng ta c:
7Ic( R X S ) c-> 7tA(R)7i B(S)
I(.'(R [ X I p(i, l) ^a ( R) [ X I p(i. 1J) 7Ih(S)
71c( R U S ) TIa R) Ki i (S)
Cc quy tc trn c the dirc su (lng cii ITC li cv mt cch c h thng nhm
loi b cc cy "xu. Mt thut ton ti cu trc don gin s dng heuristic trong c p
dng cc php ton n ngi (clin/cliiu) cng sni cng tt nhm gim bi kch thc ciia
quan h trung gian.
ri cu trc cy tron hnh trn sinh ra c> tidim hinh SUI. Ket qu c xeni l t
cht lng theo ngha l n trnli truv xut nhiu ln n cng ml quan h v cc php ton
chn la nhiu nht c thc hin trc tin.
90
T^TcnNV
t x
71
M I M
TC
n
Mi ) A. TcnNV
MNV
71
MNV. Te n NV
dt , .
l e n D A = C A D / C A M ^] ' hoi gi an= 12 v' i ' hot gi an=24
DA NV
2.4.3. Cuc b ha d lieu phn tan
Tang cuc bo ha du* lieu chiu trch nhiem dich cu van tin dai so tren quan he ton cuc
sang cu van tin dai so tren cc mnh vat ly. Cuc bp ha c s dung cc thng tin dugc luu
trong mot lugc do phn mnh.
Tang ny xc dinh xem nhung mnh no cn cho cu van tin v bien doi cu van tin
phn tan thnh cu van tin tren cc mnh. Tao ra cu van tin theo mnh dirgc thuc hien qua hai
buc. Truac tien vn tin phn tn dugc nh xa thnli van tin theo mnh bng cch thay doi mi
quan he phn tn bng chuong trinh ti t hi 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. Bin i 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 nh c th,
Rt gn phn mn/ ngang nguyn thu
- Vic phn mnh ngang phn tn 1 quan h da trn cc v t chn. Do , chng
trnh cc b ho d liu phn tn cho phn mnh ngang l hp ca cc mnh.
V d 2.24: Cho quan h NV (MaNV, TenNV, CV) c th c phn thnh cc mnh
NV1, NV2, NV3 sau:
NV I MNv < V)
N V 2 - t : . v - MaNv<-R6-(NV) U NV - N V I u N V 2 u N V 3
NV3- MaNV . i.;6'(NV)
Nh vy, dng vn tin gc c xc nh trn NV s thu c nh thay NV bng
(NV - N V l u N V 2 u N V 3 ) .
Vy, rt gn vn tin trn cc quan h phn mnh ngang ch yu l:
+ Xc nh sau khi ti cu trc li cy con, xem cy no to ra cc quan h rng th loi
b chng i.
+ Phn mnh ngang c th c dng n gin ho php chn v php ni.
Rt gn vi php chn: Chn trn cc mnh c lng t mu thun vi lng t ho
ca quy tc phn mnh s sinh ra quan h rng ta loi b chng.
Cho quan h R c phn mnh ngang thnh R|, R
trong : R, Q, (R), quy tc ny c pht biu thnh:
Quy tc : a . (Rj) ^ 0 nu Vx t huc R : n( Pi(x) A Pj(x) )
y: Pi, P, l cc v t chn, X bi u th cho 1 b, p( x) bi u th ' ' v t p ng vi x".
Vi d. Cho quan h NV(MaNV, TenNV. Cvu) irc phn mnh nh sau:
N V l =MaNV. -tIv(NV)
NV2 = 'E3'< MaNV<-E6( NV)
NV3- aMnNV -t6-(NV)
92
V c cu vn tin sau;
Select MaNV
From NV
Where MaNV-' E5'
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 NV1. 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
Ma NV
M a N V = ' E 5 '
Ma NV
Mi i NV=- t ; 5-
u
NV2
Hnh 2. Kki). Vn tin gc. tin rt gn.
Rt gn v php noi:
- Ni trn cc quan h phn mnh ngang c th c on gin khi cc quan h ni c
phn mnh theo cc thuc tnh ni.
- n gin ho gm c phn phi cc ni trn cc hp ri b i cc ni v dng.
(R, u R.) X ] s - (R, I X s) ^ (R. I X s)
trong : R, l cc mnh, cn R, s l cc quan h.
Bng php bin i ny, cc hp c th c di chuyn ln trn cy ton t tt c cc
noi c th c cc mnh u c l ra.
Cc ni v dng c th xc nh c khi cc lng t ho ca cc mnh c mu thun.
Gi s rng cc mnh R R c nh ngha tng ng theo cc v t Pi v Pi trn cng
mt quan h.
93
Khi c quy tc 2\ R, IXl R| = 0 nu Vxe R Vy e R| : -, (Pi(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)
N V 2 - , , : , . MaNV . , , . ( NV)
NV3 M.NV |.;, (NV)
NV(MaNV, TnNV, CV)
PC (MaNV, MaDA. NV, Tg)
Cu hi: Select *
From NV, PC
Where NV.MaNV = PC.MaNV
+ Xy dng cy ton t gc:
*
I x l
PC I - CMiiNV 1:1 (PC)
PC2 M;iNV 13 (NV)
Hlnh 2.1 l a), vn tin gc.
+ Bng cch hon v php kt ni vi cc php hp clu'ing ta s c cy tng ng
sau;
94
PCI NV2 PCI NV3 PC2 NVl
Hnh 2.11b). Cy tng ng.
p dng quy tc 2, chng ta c:
PCI t X N V l ^ 0
PCI 1X3 NV2 = 0 => to ra quan h rng loi b
PCI IX] NV3 = 0 => to ra quan h rng => loi b
PC2 t x i NV 1 = 0 => to ra quan h rng => loi b
PC2 x NV2 / 0
PC2 I X NV3 0
+ Khi chng ta c cy rt gn sau:
PC2 NV2
PCI N V l PC2 NV2 PC2 NV3
Hnh 2.1 c). Vn tin rt gn.
95
Rt gn cho phn mnh dc
Phn mnh dc phn tn mt quan h da trn cc thuc tnh chiii. Chung trinh cc
b lio cho mt quan h phn manh dc Hm c ni cua cc manh theo tluic tnh chung.
V d 2.26: Cho quan h NV(IVlaNV, TnNV. CV) c phn mnh dc nh sau:
NVI ^ nMaNV.TnNv(NV)
NV2=^nMaNV.CVu(NV)
Cho-ng trinh cc b ho: NV ^NVl |x| NV2
Tng t nh phn manh ngang, cc vn tin trn phn manli dc c th irc rt gn
bng cch xc nh cc quan h truim uian v diii; v loi bo cc cv con d sinh ra chnu.
Cho trc quan h R c nh ngha trn cc thuc tnh :
{Al, A2,...} v irc phn mnh dc thnh R.(A") vi A' c; A.
Qui tc 3: t o k ( R - i ) l v dng nu tp cc thuc tnh chiu D khng thuc A\
K/ c: Cho quan h NV(MaNV, TnNV, CV) c phn mnh dc nh sau:
NVI riMnNV. !iiNv( N V )
NV2 nMaNV,CVu(NV)
V cu vn tin sau:
Select TnNV
From NV.
Yu cu: Hy rt gn cho cu vn tin trn.
Xy dng cy lon t gc.
TcnNV
NVl NV2
Hnh 2. 2a). vn tin gc.
Thc hin chiu trn tng mnh, chng ta c;
n r n N v ( N V I ) / 0
nTnNv(NV2) ^ 0 loi b mnh ny i
96
Rt gn c cy kt qu sau:
n ICnNV
NVl
Hnh 2. 12h). vn tin rt gn.
Rt gn cho phn mnh ngang dn xut
- 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:
NV(MaNV. TnNV, CV)
NV1= acv tp(NV)
^ NV2 ,,.(NV)
PCI P C I X N V I
PC(MaNV, MaDA. NV. Tg) -
_ PC2 PC | X N V 2
V cho cu vn tin ira ra tt c cc thuc tnh ca NV. PC vi CV " PP'
Yu cu: Hy rt gn cho cu vn tin trn?
Tr li:
+ Biu din cu vn tin di dng SL"
Select *
From NV, PC
Where NV.MaNV - PC.MaNV and NV.CV- -pp'
^ Xy dng cy ton t gc:
97
PC] PC2
NVl NV2
Hnh 2. 13a). Cy ton t gc.
+ Cu vn tin trn cc mnh NVl , NV2, PCI, PC2 c nh ngha. v php chn
xung cc mnh N V l . NV2 cu vn tin rt gn li do mu thun vi v t chn ca NVl = >
loi b NV I
x l
(V = -|jp'
PCI
NV2
Hnh 2. 3h). Cy sau khi loi b mnh NVl .
+ Hon v gia php kt ni vi php hp. chng ta thu irc cy tong ng sau
98
u
P C I ^ C v = P P '
Ix ImuNV
N V 2
N V 2
Hnh 2. 3c). Cy tng ng.
Trong cy ton t hnh 2.13c), chng ta thy;
PCI c x NVl = 0 - > loi b
PCi EXl NV2 / 0
^ ( ' m.i = P P '
P C 2
N V 2
Hnh 2 . 12d). vn tin rt gn.
99
Rt gn cho phn mnh 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 gn bng cch l hp cc quy 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:
NVl MaNV<[-:4 (flMaNV. TnNV(NV) )
NV2 - MiNV i-,4 (HMaNV. 1nNV(NV) )
NV3 "- HmNva vu(NV)
Chng trinh cc b ho: N V - (N V1 u NV2 ) | x | N V3
Cu vn tin: Cho bit tn ca nhn vin c m E5
+ Biu din cu vn tin di dng SL;
Select TenNV
From NV
Where MaNV - ^E5'
+ Xy dng cy ton t gc
I I T.
nNV
NV
+ nh x cu vn tin trn cc mnh
100
n
lctiNV
^MciNV=[;5'
l><l
NVl NV2
NV3
+ Thc hin php chn trn NV 1, NV2 v chiu trn NV3, chng ta thy:
MaNV = E 5 ' ( N V 1) = 0 => loi b
MaNV- f-:.v(NV2) 0
n T e n N v ( N V 3) ==0 = > l o i b
n
l e n NV

MaNV=' i :-:5
N V 2
2.4.4. Ti u ho vn tin phn tn
- Vic tim ra c mt cch sp xp ti u cc php ton cho mt cu vn tin chnh l
nhim v ch yu ca tng ti u ha vn tin, hoc ni ngn gn l th ti u ha (optimizer).
Vi cc vn tin phc tp c cha nhiu quan h, bi ton c th phi mt mt chi ph qu ln
thc hin ti u ha. Vi th mc tiu thc SI' ca th ti u ha l tm ra mt chin lc gn ti
u ha v quan trng hn l trnh c cc chin lc ti. Mt chin lc thc thi cho cu
vn tin phn tn c th c m t bng cc php ton i s quan h v cc nguyn thy truyn
101
tin ( cc t hao t c gi v nhn) t r uyn d liu gi a cc v tr. Bng cch hon v t h t cc
php t on t r ong mt cu vn tin t heo mnh chng t a c t h t hu c nhi u cu vn till t onu
ng.
- Ti u ha vn tin bao gm vi c t m mt t h t t t nht " cho cc php t on t rong
cu vn tin t heo mnh, k c cc php t on t r uvn t hni i nhm h i hp toi a hm chi ph. lm
chi ph t hng c nh ngh a t heo n v thi uiaii; chi ph xut nhp. chi ph C PU v chi ph
t r uyn, D vy t r ong mi t r ng phn tn, chng t a t hng n gi an ha n bng cch chi xt
n chi ph t r uyn, xem n l yu t LI t h. c t h chn l a c mt cch sp t h t' cho
cc t hao t c, i u cn t hi t l phi d on c cc chi ph t hc thi ca cc sp xp khc nhau.
Xc nh chi ph t hc thi t r c khi t hc hi n vn tin da vo cc s liu t hng k CLa cc mnh
v cc cng t hc t nh l c l ng cho cc quan h kt qu v cc php t on. Cc quyt nh ti u
ha ph t huc vo nhng t hng t in t hng k c sn v cc manh.
- Mt i m quan t r ng t r ong qu t ri nh ti u ha l xp t h t' ni , bi v hon v ca
cc ni t r ong cu vn tin c t h dn n nhi u ci t hi n c ngh a. Mt k t hut CO' bn ti
u ho dy php ni phn t n l t hc hi n cc php ni na. Gi tr ch nh CLa ni na t r ong mi
t r ng phn t n l l m gi m k ch t hc c* cc t on hng ni , nh t h lm gi m i chi ph
t r uyn. Tuy nhi n, cc k t hut gn y t r ong c xt c chi ph t nh t on cc b ln chi ph
t r uyn khng s dng ni na bi v c hng lm t ng ch ph x Iv cc b. Thnh phm ca
t ng ti u ha vn tin l cu vn tin i s ti u ho t rn cc mnh cng vi cic t hao tc
t r uyn i km.
- Cc thut ton da trn i mra
i vi mt quan h, ni na hnh ng nh mt t c nhn rt gn k ch t lnrc gi ng nh
mt php chn. Ni ca hai quan h R v s t rn t huc t nh A, rc l u t ng ng ti v tr 1 v
2, c t he c t nh bng cch t hay mt hoc c hai t on hng bng mt ni na vcVi quan h kia
nh cc quy t c sau y:
R PX] aS o (R X aS) i x i aS
<=^ t x i a(s [ x ; aR)
^ DxC I X ] ^
Chn l a gi a mt t r ong ba chi n l c ni na i hi phi II'C l i r nu cc chi ph ir ong
ng ca chng.
S dng ni na s c ch nu chi ph t o v gi n n v tr ki a nh hn chi ph gi
t on b quan h t on hng v t hc hi n ni t hc s. mi nh ha ch li ca ni na chng ta
hy so snh cc chi ph ca hai chn la R As vi ( R aS) | x | As , vi gi t hit size
( R ) < s i z e ( S )
1). 7 1 a(SV> v tr 1
2). V tr 1 t nh R' = R As
3). R' - > v tr 2
4). V tr 2 tnh R As
102
Chng ta c th so snh hai chn ia ny theo d liu c truyn. Chi ph ca thut
ton da trn ni l chi ph truyn quan li R n v tr 2. Chi ph ca thut ton da trn ni na
l chi ph ca cc bc 1 v bu''c 3 trn. V th phong php ni na s tt hn nu:
size(7tA ( S) ) +size (R i x ; aS ) < size (R)
Phng php ni na tt hn nu ni na hnh ng nh mt tc nhn rt gn y ,
ngha l ch mt s t b ca R tham gia vo trong ni. Phng php ni tt hn nu hu nh tt
c cc b ca R u tham gia vo ni bi v phng php ni na i hi thm mt ln truyn
kt qu chiu trn thuc tnh ni. iu quan trng cn bit rng khng c cch tip cn no l
tt nht, chng cn c xem nh b tr' cho nhau. Tng qut hon ni Iia c th lm gim i
kch thc ca cc quan h ton hng c trong cu vn tin, tuy nhin vic ti u ha vn tin s
tr nn phc tp hn trong nhng trng hp ny.
X l
DA
Phng php ni
I X
[ 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. QUN L GIAO DCH
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. Giao dch (Transaction)
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 thc ca mt 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.
Qun 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.
Mc d liu
Miac dHu (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.
Phng php thng dng nht iu khin vic truy cp cc mc l s dng 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 kho cht s cn t r ngn cn khng cho giao dch khc truy cp t rong t rng 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 phoni php 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.
Tr ong t hc t, mi giao d ch u c mt chui cc b'c c bn nh: c hay ^hi mt
mc d liu (i t em) vo CSDL v ihc hin CC' php nh om S() hc ((rn ian ron vn k)m
vic\ hoc cc bc s ng khc nh cc bc kho clit, iiai phn^ kho, uy hc (hotm ti)
giao dch v c t he c nhng bc khc na. Chng ta lun gi s r ng nhi g bc s ng ny
l nguyn t, Thm ch t hao t c kt t hc lt hi gian xy ra klii ang t nh t on cung c th xen
l nguyn t. Bi v n xy ra t r ong vng lm vi c cc b v khng C(S g c t h nh hng n
vng lm vic cho n khi gi ao d ch ang thc hin d cc php tnh s hc c ti hot
ng t r li [7].
2) Tnh nht qun (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 Sd liu t trng tlii nht qun ny
sang trng thi nht qun khc [5]. Vic xc nhi rang cc giao dch nll qun l vn iu
khin d liu ng ngha. Co s d' liu c th tm thi khng nht qun khi giao dch ang thc
hiii, nhng n phi tr' v trng thi nht qun khi kt ihc giao dch (hnh v 2.14).
C s d liu
mt trng thi
nht qun
C s d liu c th C s d liu (
tm thi mt trne mt trng thi
thi khng nht qun nht qun
Bt u
giao dch
ang thc thi
giao dch
Kt thc
giao dch
Hnh 2.14. Tr ng thi cua c s d liu khi thrc hin giao dch,
106
Tnh nht qun giao dch mun ni n hnh ng ca cc giao dch ng thi. Chng
ta mong rng CSDL vn nht qun ngav c khi c mt s vu cu cua ngi s dng ns 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: Giao 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.
Mc 2: Giao dch T thoa nht qun mc 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 : Giao 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: Giao dch T thoa nht qun mc 0
I . T khng ghi d liu nhp cLia giao 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| : Re ad( x) T : Read (x)
x-x+l x<~x+l
Write (x) Write (x)
Commit Commit
Di y l mt dy thc hin cc giao tc ny c th nh sau:
TI: Read (x)
TI: x<-x+ 1
T,: Write (x)
T| : Commit
T2: Read (x)
T2: x<-x+l
T2: 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 T2c gi tr 21. Ch nu T2thc thi trc T| thi T2c 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+
T2: Read(x)
T,: Write(x)
T2: x<-x+l
T2: Write(x)
T: Commit
T2: 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 T2c X trong khi gi tr ca n ang c thay i t 20 thnh 21. Hn na gi tr ca X
l 21 vo lc kt thc cc giao dch T| v T bi v hnh ng ghi ca T2 s ghi ln kt qa
ghi ca TI (iu ny ng ngha vi vic kt qa cp nht ca TI b mt).
108
Tinh c lp tu theo mc nht qun:
Mc 0: Giao tc chuyn giao trc khi tt c cc vic ghi chuyn giao tc do nu
xy ra li th i hi phi cp nht li.
Mc 2: Trnh loi b dy chuyn.
Mc 3: Cung cp y tnh bit lp cho php cc giao dch xung t khi mt giao dch
trong s chng kt thc.
4) Tnh bn vng
Tnh bn vng mun ni n tnh cht ca giao dch bo m rng mt khi giao dch u
thc, kt qu ca n c duy tr c nh v khng b xo ra khi CSDL. V th DBMS bo m
rng kt qu ca giao dch s vn tn ti c xy ra cc s c h thng. y chnh l l do m
c h n g t a n h n m n h r n g g i a o d c h u thc t r c k h i n t h n g b o c h o n g i s d n g b t
rng n hon tt thnh cng, tnh bn vng a ra cc vn khi phc d liu, ngha l cch
khi phc CSDL v ng t h i nht qun m mi hnh ng u thc u c phn nh.
2.5.2. Giao dch phn tn
). nh ngha
Nu giao dch i hi truy nhp ti CSDL trn nhiu trm th khi ta thc hin giao
dch phn tn.
V d 2.29: Chuyn 5$ t A sang B, vi A t v 1, B t v tr 2
Begin_T ransaction
reasd (A)
if A<5$ then abort
else A=A-5
write(A)
read(B)
B=B+5
Write(B)
Commit
T gm hai giao dch T] ti vj fr 1 v T2ti v tr 2.
Vy mi giao dch phn tn c nhiu giao dch con, mi giao dch con thc hin n
mt trm.
2). Nghi thc u thc hai pha
Chng ta gi thit rng ti v tr ngun ca giao ch c mt tin nh thc hin cc thao
tc ca n. Tin trnh ny gi l iu phi vin (coordinator). iu phi vin trao i vi cc
thnh vin (participant) ti nhng v fr c tham gia vo vic thc hin thc hin cc thao tc
ca giao dch.
U thc hai pha (two-phase commit, 2PC) l mt nghi thc rt om gin v tinh t, bo
m c hnh ng u thc nguyn t cho cc giao dch phn tn. N gm hai pha: pha biu
quyt v pha quyt nh.
109

iu phi vin Thnh vin
Cc hnh dng ca nghi thc y thc hai pha
110
M t ngn gn nghi thc Li thc hai pha nhng cha xt n cc tinh hung c s c.
Khi u, iu phi vin ghi mu tin begin-commit vo nht k ca n, gi thng bo prepare
(chun b) n tt c cc thnh vin v chuyn sang trng thi WAIT. Khi mt thnh vin nhn
c thng bo prepare, n kim tra xem n c tl y thc giao dch c khng. Nu c, n
ghi mt mu tin readv vo nht k. gi thng bo vote-commit (biu quvt v thc) n iu
phoi vin roi chuyn sang triiu tliais F<HADY: nu khng thnh vin ny ghi mu tin abort ri
goi thng bo vote-abort n iu phi vin. Neu quyt nh ca v tr ny l hy b. n c th
qun giao dch i bi v quyt nh hy b c dng nh mt ph quyt (nghTa l hy b n
phng). Sau khi iu phi vin nhn c hi p ca mif 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 COMMIT. 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 of 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 cho 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 ng quy tc Li thc ton cc. Cui cng 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
Cu trc giao tip 2PC tp quyn
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.
Thut 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}
Case of ev
MsgArrival:
Begin
t thng bo va n trong msg
Case of msg
Commit: {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-comniit:
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
i f nu tt c cc thnh vin hi p then
ghi mu tin end_ofJransacti on vo nht k
else
gi quyt nh ton cc cho cc thnh vin cha tr li
end-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 of ev {cc bin c kh hru ! MsgArrival v Timeout}
MsgArrival:
Begin
t thng bo va n trong msg
Case of 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-commit:
begin
ghi mu tin commit vo nht k
yu cu b x l d liu cc b u thc giao dch
end
114
end-case
end
Timeout
egin
thc thi nghi thc kt thc
end
end-case
end. {2PC-Participant}
2.5.3. Tnh kh tun t ca cc lch biu v vic s dng chung
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 mt 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+20...... WriteB C- C+2 0
Write c WriteC Write c
(a) (b) (c)
Hnh 2.15. Mt s lch biu.
Hinh 2.15 (a) l mt lch biu tun r;
Hinh 2.15 (b) l lch biu kh tun t;
Hinh 2.15 (c) l lch biu bt kh tun t;
Trong thc t, qua cc tnh cht ca i s n thun ta c th gp mt lch biu l bt
kh tun t nhng n cho cng kt qu so vi lch biu tun t.
2.5.4. Cc k thut iu khin tong tranh bng kha
H qun tr CSDL phc v nhiu ngi dng. Mi ngi tuy thc hin cc nhim v
khc nhau, nhng vn c th cng truy nhp n mt mc d liu. Vic s dng chung cc d
liu trong cng khong thi gian thng dn n cc tranh chp gia nhng ngi dng, H
tranh chp v th t truy nhp hoc tranh chp v cng mt d liu c truy nhp khi h
chp nhn khai thc tng tranh.
Vic cc giao dch cng thc hin trn cng d liu trong cng khong thi gian c th
gy ra: tht lc php ton, khng m bo tnh cht ch ca CSDL.
iu khin khai thc tng tranh l mt trang nhng chc nng ca h qun tr CSDL.
N m bo iu khin cc khai thc mt cch ng thi cc php ton trn d liu, v cho kt
116
qu nh khai thc tun t. i tng ca iu khin ny l cc gb dch. Nhng ti nguyn
c iu khin l cc khong thi gian, cc vng b nh, Ni 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 giao dch khc gi' kho trn mc ny
{kho sng trn mc A ca giao dch T l kho khng kho irc A v A lun 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 rc' 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:
T 1 : 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 qimi
kho trao tt c cc kho cho chng nu c, hoc khng trao v cho giao dch ny i nu
mt hay nhiu kho c yi! cu ang b gi bi mt giao dch khc,
(ii) Gn mt th t tuyn t h cho cc mc v yu cu tt c cc giao dch phi xin kho
theo ng th t ny.
(ii) Cch khc x l b tc l nh k kim tra yii cu kho v pht hin c x>
ra b tc khng. Bng cch dng th ch, vi cc nt biu din cc giao dch v cc cung
Tj -> Tj biu th Tj ang i nhn kho trn mt mc ang c T, gi. Nu trong th c chu
trinh, s b tc s xy ra v nu khng c chu trinh thi kt lun khng c kho gi hay b tC-
118
Nu mt kho gi b pht hin, khi h thng s buc mt trong cc giao dch b b tc phi
khi ng li v tc dng ca giao dch trn c s d liu phi c hon ton tr li.
2.5.4.I. M hnh kha c bn
Kho (Lock) l mt c quyn truy cp trn mt mc d liu m b qun l kho (lock
manager) c th trao cho mt giao dch hoc thu hi li. Trong cc m hnh giao dch c s
dng kho khng ch c cc thao tc c v ghi cc mc m cn c thao tc kho (lock) v m
kho (unlock) chng. Mi mc c kho phi c m kho sau . Vi mt mc A, gia
bc lock A v unlock A k tip ca mt giao dch, giao dch ny phi c coi l ang gi mt
kho trn A.
Trong m hnh ny, chng ta da n cc gi nh sau:
- Mt kho phi c t trn mt mc trc khi c hay ghi mc .
- Cc thao tc kho hot ng trn c s ng b ho, ngha l nu mt giao dch kho
mt mc b kho trc bi mt giao dch khc, n khng th thao tc trn mc ny cho
n khi lcho ny c gii phng bng lnh m kho do giao dch ang gi kho trc thc
hin.
- Mi giao dch u c th m c mi kho do chnh n kho.
- Mt giao dch s khng yu cu kho mt mc nu n ang hin gi kho ca mc
hoc m kho mt mc m n hin khng gi kho trn mc .
Cc lch biu tun theo quy tc ny c gi l hp l .
V d 2.31: Xt hai giao dch ng thi Ti v T2 cng truy xut n mc d liu A theo
m hnh ny s l:
Ti LockAT2 Lock A
Read A Read A
A;=A+1 A:=A+1
Write A Write A
Unlock A Unlock A
Neu T1bt u trc T2, n s yu cu kho n mc A. Gi s khng c giao dch no
ang kho A, b qun l kho s cho n kho mc ny. Khi ch c T1mi c truy xut n
mc ny. Nu T2 bt u trc khi Ti chm dt thi T2thc hin Lock A, h thng buc T2 phi
i. Chi n khi T| thc hin lnh Unlock A, h thng mi cho php T2tin hnh. Nh vy, T
hon thnh trc khi T2 bt u v kt qu l sau hai giao dch, gi ca A s l 32
Vi m hnh ny, kim tra tnh kh tun t ca mt lch biu, ta s xem xt th t m
cc giao dch kho mt mc cho. Th t ny phi thng nht vi th t trong lch biu tun
t tng omg. y thc cht l vic kim tra mt th c chu trnh hay khng.
Thut ton 3: Kim fra tnh kh tun t ca mt lch biu.
Nhp\ Mt lch biu s cho mt tp cc giao dch T), T2,, Tfc.
Xuv. Khng nh s c kh tun t hay khng? Nu c th a ra mt lch biu tun t
tng ng vi s.
119
Phng php:
B'c 1: To ra mt th c hng G (gi l th tun t lio), c cc nt l cc giao
dch, cc cung ca th ny c xc nh nh sau:
Gi s l ai, a2,... a
trong mi a, l mt thao tc ca mt giao dch c dng;
T : Lock A| hoc Tj : Unlock 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
T2: Lock A
T2: Unlock c
T2: Unlock A
T3 : Lock A
T, : Lock c
T, : Unlock B
T3 : Unlock c
T3 : Unlock A
th c 3 .lt T| , T2v T3. Cc cung c xy dirng nli sau:
bc (4) ta c T : Unlock B, bc tip theo c lnh Lock B l bc (5) T|: Lock B.
Vy ta v mt cung t Ti > T|.
bc (6) ta c T| : Unlock A, bc tip theo c lnh Lock A i bc (7) Tv Lock A.
Vy ta v mt cung t T| ^ Ti.
120
bc (8) ta c T2 : Unlock c, bc tip theo c lnh Lock c l bc (II) Tv Lock c.
Vy ta v mt cung t T2 T.
bc (9) ta c T: :Unlock A, bc tip theo c lnh Lock A l bc (10) c Ty. Lock
A. Vy ta v mt cung t T? Tv
th ny c mt chu trinh nn lch biu cho bt kh tun t.
/ 7 ( 2.33 : Lch biu ca ba giao dch T|, Ti. T
(1)
T: : Lock A
(2)
T. ; Unlock A
(3)
T3 : Lock A
(4)
T;, : Unlock A
(5)
T 1 : Lock B
(6)
T, ; Unlock B
(7)
Tt : Lock B
(8) T2: Unlock B
0-
Hnh 2. 7. th tun t cho ba giao dch.
2.5,4,2. M hnh kha c v kha ghi
Trong m hnh kho ca bn, ta gi s rng khi kho mt mc c tl thay i mc .
Trn thc t, c nhng trng hp mt giao dch truv cp mt mc theo ngha ch c gi tr
ca mc khng thay i gi tr ca mc . V vy nu ta phn bit hai loi truy cp: chi c
(read only) v c ghi (read write), thi ta c th tin hnh c mt s thao tc ng thi b cm
trong m hnh kho c bn. Khi , ta phn bit hai loi kho nh sau:
Kho c (read lock or shared lock) k hiu RLock hot ng nh sau: mt giao dch T
ch mun c mt mc A s thc hin lnh RLock A, ngn khng cho bt k giao dch khc ghi
gi tr mi vo A trong khi T kho A, nlumg cc giao dch khc vn c th gi mt kho c
trn A cng lc vi T.
Kho ghi (write lock) k hiu WLock hot ng nh trong m hinh kho c bn, ngha
l mt giao dch mun thay i gi tr ca mc A s thc hin lnh WLock A. Khi khng
mt giao dch no c ly kho c hoc kho ghi trn mc .
C kho c v kho ghi u c m bng lnh Unlock. Ngoi cc gi nh nh m
hinh kho c bn, ta c thm gi nh rng mt giao dch c th yu cLi mt kho ghi trn mc
m n ang gi kho c.
121
Hai lich bieu la tuang dirong neu; chung sinh ra cung mot gia tri cho moi muc va moi
khoa doc dugc ap dung boi mot giao dich xay ra trong ca hai lich bieu vao nhung luc muc bi
khoa COcimg gia tri.
Thuat 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 c6 kha tuan tir hay khong? Neu c6 thi dua ra mot lich bieu tuan tir
tuong duong voi S.
PhuOng phap:
Bu'oc 1: Chung ta xay dung mot do thi c6 huong G (goi la do thi tuan tir hoa), c6 cac
nut la cac 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 giao dich 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 c6 chu trinh thi S bat kha tuan tir. Neu G khong c6 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)
T2 : RLock A
(2) : RLock A
(3) T. : WLock B
(4)
T. ; Unlock A
(5)
: WLock A
(6)
T2: Unlock B
(7)
T 1 : RLock B
(8)
: Unlock A
(9)
Tj : RLock B
( 10) T 1 : RLock A
( 11)
T4 : Unlock B
( 12) T, : WLock C
(13)
T| : Unlock A
(14)
Tj : WLock A
(15)
Tj : Unlock A
(16) T, : Unlock B
(17)
T, : Unlock C
D6 thi tu4n tir hoa ciia lich bieu nay dugc trinh bay trong hinh 2.18.
Cac nut la bon giao dich Tj , , T4. Cac cung dugc xac dinh nhu sau:
122
buc (4) T2m' kho mc A.
Bc ( 5) T;, kho ghi mc A, T3 phi i sau T2, c mt cung t Ty n Tv
bc (6) T2m kho mc B.
Bc (7) T1cc kho c mc B v T4 bc (9). Nh vy T| v T4 phi i sau T., c
mt cung t T2n 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 T3, c mt cung t T3 n cc nt ny.
bc (13) T m- kho mc A, bc (14) T4 kho ghi mc A, T4 phi i sau T|, c
mt cung t T| n T4.
Hnh 2.18. th tun t ho.
Sp xp topo cho th ta c th t cc giao dch l; T| -> T7-> T3 -->T4
Giao thc hai pha ca m hnh trc cOng c the p dng cho m hinh ny. Cc kho
c v kho ghi u i trc bc m kho, v iu s m bo tnh kh tun t ca lch
biu.
Trong m hinh ny ta cng rt ra c quy tc lin quan n vic trao klio nhir sau:
Mt kho c trn mt mc c th c trao cho mt giao dch nu khng c kho ghi
no ang c mt giao dch khc gi trn n.
Mt kho ghi trn mt mc ch c th c trao cho mt giao dch nu khng c kho
c hoc kho ghi no ang c mt giao dch khc gi trn mc .
2.5,4.3, Thut ton iu khin tng tranh bng nhn thi gian
m bo tnh kh tun t ca cc lch biu, ngoi cc m hnh s dng kho nh
trinh by trn. Ta cn s dng nhn thi gian (timestamp). tng chnh l gn cho mi giao
dch mt nhn thi gian, chnh l im bt u ca giao dch. Chng hn mi khi mt giao
dch bt u, h thng s gi b xp lch v giao dch s c trao cho mt nhn thi gian hoc
gi b xp lch s trao nhn thi gian khi ln u tin giao dch ny yu cu truy xut mt mc
no ca c s d liu.
Lim : Khng xy ra trng hp hai giao dch c cng nhn thi gian.
123
Thit !p nhn thi gian
Nu tt c cc giao dch u c b lp lch g hi ih giun th b lp lch s duy
tr b m s lng cc giao dch c lp lch. Khi c mt ;iao dch mi yu cu c lp
lch, b lp lch s tng b m s lng ny ln mt on v v in tr s cho siao dch c
yu cu. Nh vy, khng th xy ra trng hp hai giao dch c cng nhn thi gian, v th t
tng i gia cc hi th gkw 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 (WT - 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, T4 c cc nhn thi gian ln lt l 100, 200,
300, 400.
bc (1), T2 (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), T3 (c nhn thi gian l t = 300) c A (c WT = 0), tc t > t.
Thao tc ny l c php, v v t > tr (bng 200) nn RT cia A c t li l 300.
bc (3), T7 (c nhn thi gian l t = 200) ghi B (c RT = 0 v WT = 0), tc t > Tr
v t > tw Thao tc ny l c php, vi t > tw (bng 0) nn WT ca B c t li l 200.
bc (4), T;, (c nhn thi gian l t 300) ghi A (c RT =" 300 v WT=0), tc t > Tf
v t > t. Thao tc 'ly l c php, vi t > t\v' (bng 0) nn WT ca A c t li l 300.
bc (5), T| (c nhn thi gian l t = 100) c B (c WT = 200), tc
t < tw Vi vy thao tc ny b hu b.
TI T| T,_________T., T4________ A___________ B__________ c
100 200 300 400 RT=0 RT=0 RT=0
WT=0 WT=0 WT=0
(1) Read A RT-200
(2) Read A RT=300
(3) Write B WT=200
(4) Write A WT=300
(5) Read B
T b hu b
Vi d 2.36\ Gi s c hai giao dch T|, T cig ng thi truy xut ti mt mc d liu
A. Vi RT l thi im c v WT l thi im ghi ca mc d liu A c ch ra khi n b
thay i. Chng ta gi s rng thi im c v thi im ghi ban u l 0. V T| , T2 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
WT=0
( 1)
Read A
R T - I 5 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 Tt 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 v6i
nhan thai gian tuong ung la 200, 150, 175. Vai RT la thai diem doc va WT 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 v6i mot day cac
.... ^ T...................... T,
^ ....150..... .......... 200
anh dong nhir sau:
( 1 )
( 2)
(3)
(4)
(5)
(6)
(7)
Read B
Write B
Write A
Read A
Write C
Read C
Write A
126
Yu cu: Anh (ch) hy cho bit giao dch no xy ra, giao dch no b hu b v din
gii? Nhn xt.
Tr li:
Xc nh RT, WT 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 RT= 150
(3)
Read c RT= 175
(4)
Write B WT = 200
(5)
Write A WT= 200
(6) Write c WT=150
(7)
Tj bi hii b Write A WT- 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
CHNG III
C S D LIU SUY DIN
3.1. G THIU CHNG
- Khi nim v CSDL suy din c nhiu nh nghin cu cp n theo hng pht
trin cc kt qu m Green t c vo nm 1969 v cc h thng cu hi - tr li.
- Xut pht t quan im l thuyt, cc CSDL suy din c th c coi nh cc chng
trnh logic vi s khi qut ho khi nim v CSDL quan h. l cch tip cn ca Brodie v
Manola vo nm 1989, ca Codd vo nm 1970, ca Date vo nm 986, ca Gardarin v
Valdurier vo nm 1989 v ca Ullman vo nm 1984.
- Lp trnh logic l mng cng vic trc tin khi chng minh nh l c hc. S tht
th vic chng minh nh l to nn c s cho hu ht h thng lp trnh logic hin nay. T
tig c bn ca lp trnh logic l s dng logic ton hc nh ngn ng lp trnh. iu ny
c cp trong ti liu ca Kowaski nm 1970, v c Colmerauer a vo thc hnh nm
1975 trong cc ci t ngn ng lp trinh logic u tin, tc l ngn ng PROLOG
(PROgramming LOGic). Nh s hnh thc ho, Kowalski xem xt tp con ca cc logic bc
mt, gi l logic mnh Hom. Mt cu hay mt mnh theo logic c th c nhiu iu kin
ng nhng ch c mt hay khng c kt lun ng.
- i vi nhu cu thc hnh CSDL suy din x l cc cu khng phc tp nh cc cu
trong h thng lp trnh logic, s cc lut, tc l s cc cu vi cc iu kin khng trng trong
CSDL suy din nh hon s cc s kin, tc cc cu vi iu kin rng.
- Mt kha cnh khc nhau na gia CSDL suy din v lp trnh logic l cc h thng
lp trnh logic nhn mnh cc chc nng, trong khi CSDL suy dier r hn mnh tnh hiu qu.
( ' ch suy dien dng trong CSDL suy din tnh ton tr li khng uc tng qut nh trong
lp trnh logic.
-Ngoi vic dng logic din t cc cu CSDL, ngi ta cn dng logic din t
nhng cu hi VC cc iu kin ton vn.
3.2. C S D LIU SUY DIN
3.2.1. M hnh c s d liu suy din
M hinh d liu gi:
+ K php ton hc m t hinh thc d liu v cc quan h ;
+ K thut x l d liu nh tr li cc cu hi, kim tra iu kin ton vn.
129
Ngn ng bc mt c dng nh k php ton hc m t d liu trong m hnh
CSDL suy din v d liu c x l trong cc m hnh nh vy nh vic nh gi cng thc
logic. Tip cn ca logic bc mt nh nn tng l thuyt ca cc h thng CSDL suy din.
Tuy nhin, d biu din hnh thc cc khi nim v CSDL suy din, ta thng dng
php ton v tr, tc logic v t bc nht. Logic v tr bc nht l ngn ng hnh thc dng th
hin quan h gia cc i tng v suy din ra quan h mi.
nh ngha 1: Mi mt hng s, mt bin s hay mt hm s p ln cc term l mt
hng thc (term).
Hm n ngi f(xl, x2,..., xn); xi I i = 1, 2,..., n l mt hng thc th f(xl, x2,..., xn) l
mt term.
nh ngha 2: Cng thc nguyn t (cng thc nh nht) l kt qu ca vic ng
dng mt v t trn cc tham s ca term di dng P(tl, 2,..., n).
Nu p l v t c n ngi v ti I i = 1, 2,..., n l mt hng thc (term).
nh ngha 3: (Literal) Dy cc cng thc nguyn t hay ph nh ca cng thc
nguyn t c phn tch qua cc lin kt logic (a, V, -T, V, 3) th cng thc
c thit lp ng n.
(i): Mt cng thc nguyn t l cng thc thit lp ng n.
(i): F, G l Cng thc thit lp ng n => F A G, F V G, F -> G, F 4- G, F , G
cng l cc cng thc thit lp ng n.
(iii): Nu F l Cng thc thit lp ng n, m Xl mt bin t do trong F => (Vx)F
v (3x)F cng l cc cng thc thit lp ng n (Vx, 3x trong F).
V d 3.1: Cho quan h R(A1, A2,.. An) vi n bc (tc n thuc tnh) => l mt v tr n
ngi. Nu reR (r b ca R) => (r.Al, r.A2,..., r.An) => R(A1, A2,..., An) nhn gi tr ng.
Nu rSR (r b ca R) => gn (r.Al, r.A2,..., r.An) => R(A1, A2,..., An) nhn gi tr sai.
nh ngha 4: Cu (Clause)
Cng thc c dng PlAP2A....APn Q1aQ2a....aQi
Trong : Pi v Qj (ij=l,2,...,n) l cc Literal dng.
Trong h thng logic, Literal dng c dng nguyn t, nh nht, tri vi Literal m l
ph nh ca nguyn t.
nh ngha 5: Cu Horn (Horn clause)
L cu c dng PlAP2A....APn -> Q1
nh ngha 6: CSDL sy din tng qut (General deductive database)
CSDL suy din tng qut, hay CSDL tng qut, hay CSDL suy din c xc nh
nh cp (D,L), trong D l p hu hn ca cc cu CSDL v L l ngn ng bc mt.
Gi s L c t nht hai k hiu, mt l k hiu hng s v mt k kiu v t.
+ Mt CSDL xc nh (hay CSDL chun) l CSDL suy din (D,L) m D ch cha cc
cu xc nh (cu chun).
+ Mt CSDL quan h l CSDL suy din (D,L) m D chi cha cc s kin xc nh.
130
Vy CSDL quan h l mt dnu c bit ca CSDL tni qut, hay chun, hay xc nh.
Cn mt CSDL. xc nh l dng c bit ca CSDL chiin hav tng qut.
3.2.2. L thuyt m hnh i vi c s d iiu quan h
3.2.2. L Nhn nhn c s d liu theo quan im logic
Mt CSDL c th c nhn nhn di quan im ca logic nh sau:
L thuyt bc mt;
Din gii ca l thuyt bc mt.
Theo quan im din gii, cc cu hi v cc iu kin ton vn l cng thc dng
nh gi vic s dng nh ngha ng' ngha. Cn theo quan im l thuyt cc cu hi c coi
nh cc nh l c th chng minh c hay cnn thc hin nhin theo l thuyt ny.
Hai tip cn ny c tham chiu en nh quan im l thuyt m hnh, hay quan im
cu trc quan h, v quan im l thuyt chng minh. Hai quan im trn c hnh thc
lo thnh khi nim tong ng ca CSDL thn thng v CSDL suy din.
T tng ng sau quan im l thuyt chng minh ca CSDL (D, L) l:
(i) Xy dng mt l thuyt T, gi l l thuyt chng minh ca (D,L). bng cch
dng cc cu D v ngn ng L;
(ii) Tr li cc cu hi trong CSDL,
3.2.2.2. Nhn li c s d liu quan h
y ta xt lp cc CSDL quan h. tc l cc s- kin lm nn da trn nn ca cc s
kin, vi cc ngn ng khng cha bt k k hiu hm no. Cc gi thit c t ra trn lp
ca cc CSDL quan h nh gi cc cii hi;
1) Gi thit v th gii ng (( 'VVA Close World Assumption): Khng nh rng cc
hig tin khng iig trong C'SDL dirc coi l sai, lc l R(al, an) coi l ng ch khi s-
kin R(aK a2.....an) khng xut hin trong CSDL.
V d. C CSDL sau; Hoc sinh(Xun)
Sinhven(ng)
Nghin cu(ng)
Thich(Xun. Ton)
Nh vy theo CWA th b .Thich(ng, Ton) c gi s l ng, tc ng khng
thch Ton.
2) G thit v tn duy nht (UNA Unique Name Assumption); Khng nh cc hng
s ca cc tn khc nhau c coi l khc nhau.
Theo v d trn c th ni rng hai hng s Xun v ng gn tn duy nht cho hai sinh
vin khc nhau.
3) Gi thit v bao ng ca min (DCA Domain Closure Assumption); Cho rng
khng c cc hng s ngoi cc hng s trong ngn ng ca CSDL.
131
Theo v d trn c ti ni rng Trit khng phi l hng ng.
Cho CSDL quan h (D,L), D c mt vi hn ch L khng cha k hiu hm no. Vy
CSDL ny c th c coi l din gii ca l thuyt bc mt gm c ngn ng L v cc bin
ca L, nh c sp t trn min trong din gii ny. Vic nh gi cng thc Logic trong
din gii ny da trn:
R(al, an) ng ch khi R(al, a2,..., an) eD
Cc tin ca ngn ng T: Theo quan im l thuyt chng minh ca CSDL quan
h thu c bng cch xy dng l thuyt T ong ngn ng L.
Tl. Xc nh: i vi mi s kin R(al, a2,...,an) E D - > R(al, an) c xc
nh.
T2. Cc tin y : Vi mi k hiu quan h R,
n u R ( a ; , a ^ , . . . , a ) , R ( a f , a ^ , . . R(a,", a ' , . . . , ) k hiu cho cc s kin
ca R th tin y i vi R l:
Vxl, Vx2,..., Vxn R(al, a2,..., an)-> (xl = a A x2 = a 2 A...A xn= a, ) v
* S '
( x l = a f a x 2 = d j a . . . A x n = a ^ ) V. .. v ( x 1 = a " a x 2 = a . . . a xn = a )
T3. Cc tin v tn duy nht: Nu al, a2,..., ap l tt c nhng k hiu hng s ca L
th:
(al a2), (al * a 3 ( a l 3p), (a2 * a3), (a2 ^ a4),..., (ap.i
T4. Cc tin v bao ng ca min: Nu al, a2,..., ap l cc k hiu hng s ca L
th: Vx((x=al) V (x=a2) V...V (x=ap))
T5. Cc tin tng ng:
1. Vx(x=x)
2. VxVy((x=y) -> (y=x))
3. VxVyVz ((x=y) A ( y = z ) ( x = z ) )
4. Vxl,Vxl,...,Vxn(P(xl, T.,..., xn) A ( x l = y l ) A (x2=y2) A . . . A (xn=yn) -> (yl,
yn))
3.2.3. Nhn nhn c s d liu suy din
y chi nhn nhn l thuyt chng minh p dng cho CSDL suy din.
Ngn ng L ca CSDL (D, L) c xy dng ch bng cc k hiu xut hin trong D, v
ngi ta c th dng bt k ng ngha th tc no trong ng cnh ca chng trinh logic nh
cng c tm cc cu tr li bng cch suy din t l thuyt chng minh T, l thuyt T m
bo ng ngha ca D nht tr vi ng ngha ca T.
Lin quan n CSDL suy din, ngi ta a ra Comp (D) nh l l thuyt chng minh
ca CSDL (D, L) v ng cch gii SLDNF tim cu tr li cho cu hi.
Gi s (D, L) l CSDL chun. Nh trong trng hp ca CSDL quan h, quan im l
thuyt chng minh ca D t c bng cch xy dng mt l thuyt T frong ngn ng L.
132
Cc tin l thuyt ca T nh sau:
1) Cc tin v y : Tin c c do hon thin mi k hiu v t ca u
tong ng vi cc cu trong D.
2) Tin v duy nht ca tn v v tnh tng ng: cc tin v l thuyt
tng o'ng l tu theo cc k hiu hng s, hm s v v t ca L.
3) Tin v bao ng ca min: Nu al , a2...., ap l tt c nhng phn t ca L v
fq l cc k hiu hm s ca L, th tin v bao ng ca min, theo Lloyd nm 1987,
Mancarella nm 1988 nh sau;
Vx((x="al) V (x=ap) V (3x1, 3x2,..., 3xm(x xm))) V ... V (3yl, 3y2,...,
3yn(x = fq(yl, Y2,...,yn))))
3.2.4. Cc giao tc trn c s d liu suy din
nh ngha / ; Giao tc (Transaction)
Mt giao tc trong CSDL suy din l mt xu hu hn ca cc php ton, hay cc
hnh ng b sung, loi b hay cp nht cc cL
V mt CSDL suy din c xem nh tp cc cu, tc l theo quan im l thuyt m
hinh, khng mt php loi b hay cp nht no c php thc hin trn s kin. Cc s kin l
ngm c trong CSDL.
nh ngha 2: Khng nh (Commit)
Mt giao tc itc gi l c khng nh tt nu ton b xu cc php ton to nn
kt qu tt ca giao tc.
L do chnh ca vic khng m bo hon thnh tt mt giao tc l s vi phm iu
kin ton vn khi thc hin cc php ton trong giao tc, hay h hng h thng, tnh ton v
hn.
3.3. C S D LiU D A TRN LOGIC
Trong phn ny ta i nghin cu CSDL da trn logic m c th l chng trnh
DATALOG.
DATALOG l mt ngn ng phi th tc da trn logic v t bc nht.
Ngi ta s dng m t thng tin cn thit khng theo cch ly thng tin trong cc
th tc bnh thng m da trn logic (ngn ng DATALOG).
3.3.1. C php
' K hiu:
+ V t so snh: <tn thuc tnh>0 <g tr>
(Bin) so snh vi (gi tr)
+ Cch biu din cc lut(Clause - Rule)
133
Q < - P 1 , P 2 , Pn
Du, 0 AND( a)
Du o OR (v)
Du Ko theo
Pi: l cc tin , gi thit, ch con, v t
Q: l kt lun hay l s kin
+ Nu n = 0 : <- Cc s kin ca CSDL ci t.
+ Nu p <Pl, P2,..., Pn thi p l lut quy (hay v t trong thn v u lut).
3.3.2. Ng ngha
L tp tt c cc s kin c suy din ra t chng trnh DATALOG.
V dy:
(rl ) Cham(x, y) < - B(x, y)
(r2) Cham(x, y) m(x, y)
(r3) ngb(x, y) <- Cham(x, z ) , Cham(z, y)
(r4) B(x, y) <- ( r 7 ) : TTin(x, y) <- Cham(x, z ) , TTin(z, y)
(r5) M(x, y) <- (r6) : TTin(x, y ) , Cham(x, y)
3.3.3. Cu trc c bn
CSDL DATALOG gm hai loi quan h:
Cc quan h c s c lu tr trong CSDL, c dng nh ngi ta thy. Ngi
ta cn gi c s ny l CSDL m rng EDB (Extended Database).
Cc quan h suy din khng cn lu trong CSDL. Chng c dng nh quan
h tm thi, cha cc kt qu trung gian khi tr li cu hi. Cc quan h ny c gi l CSDL
theo mc ch IDB (Intentional Database).
Mi quan h c tn v s ct.
Khc vi i s quan h, cc thuc tnh ca mi quan h trong DATALOG khng mng
tn hin r. Thay v c tn, mi thuc tnh cn c vo gi tr ca n.
Cc chiroTig trnh DATALOG c mt tp hu hn cc lut tc ng n cc quan h c
bn v quan h suy din.
Trc khi a ra nh ngha hnh thc ta xt v d sau:
+ C lut v ngn hng nh sa:
Ca(Y,X) <- Gitin(H Ni, X, Y, Z), z > 1200
Lut ny gm quan h c s l Gitin, quan h suy din l Ca. Lut ny rt ra cc
cp <Tn khch hng, Ti khon> ca tt c cc khch hng c ti khon ti chi nhnh H
Ni v c s d ln hn 1200.
134
+ Lut trn c th vit c di dng biu thc tnh ton tng ng trn min xc
nh v kt qu c b sung vo quan h suy din mi Ca
{<x, Y> I 3 w, z (W, X, Y, Z) GGitn A w= H Ni A z>1200}
T ta i n mt s cng thc sau:
1) Cc lut c xy dng frn cc Literal c dng sau:
P(A1, A2,..., An), trong : p l tn ca quan h c s hay quan h suy din. Mi Ai
(i = 1, 2, . . . , n) l hng s hay tn bin.
2) Mt lut trong DATALOG c dng:
P(X1, X2,..., Xn) Q1(X11, X I2 , . . . , Xlml),
Q2(X21, X22,...,X2m2),..., Qr(Xrl, Xr2,..., Xrtnr), e
trong : + p l tn ca quan h suy din;
+ Mi Qi l tn ca quan h c s hay quan h suy din;
+ e l biu thc v t s hc i vi cc bin xut hin ong p v tt c cc Qi (mi
bin xut hin ong p cng xut hin trong Qi no ).
Literal P(X1, X2,..., Xn) gi l u ca lut, phn cn li gi l thn ca lut.
hiu chnh xc cch thc din gii mt iut ong Datiog, ngi ta xc nh khi
nim thay th lut v hin trng ca lut.
nh ngha 7: Thay th lut (Rule Substitution)
Vic thay th lut c p dng cho mt lut l vic thay mi bin trong lut bng mt
bin hay mt hng.
Tc l, nu mt bin xut hin nhiu in trong mt lut th phi thy n bng cng
mt bin hay cng mt hng s.
V d: Thay th i vi lut nu trong v d n, bin z c thay bng w v cc bin
kia c thay bng hng s.
Ca(M, 123) <- Gitin(H Ni, 123, M, W), w>1200
Tuy nhin, nu thay X bng hng s 123 v 333 th khng c
Ca(M, 123) <- Gitin(H Ni, 333, M, W), w> 1200 => sai
nh ngha 8; Hin trng ca lut (Rule instantiation)
Hin trng ca lut l vic thay th hp l cc bin bng cc hng s.
Mt thay th ng cho ngi ta mt hin ng ca lut.
V d: Ca(M, 123) <- Gitin(H Ni, 123, M, 1500), 1500> 1200
i vi lut c th, c th c nhiu hin trng hp l.
xem Datalog din gii lut ra sao, ngi ta xt mt hin trng ca lut:
P(X1, X2,..., Xn) ^ Q1(X11, X12,..., X lml) , Q2(X21, X22,..., X2m2),..., Qr(Xrl,
Xr2,..., Xrmr), e
p ng nu cc biu thc:
Q1(C11, C12,..., Clml)AQ2(C21, C22,..., C2m2)A...AQr(Crl, Cr2,..., Crmr)Ae
135
C gi tr ng, Literal Qi(Cil, Ci2,..., Cimi) l ng nu n_b (Ci 1, Ci2,..., Cimi) c
mt trong quan h i.
Vi d: i vi lut: Ca(Y,X) <- Gtin(H Ni, X, Y, Z), z>1200
Ca(Y, X) l iing khi c hng s C1 thoa mn diu kin sau: c l>1200
n_b( H N^, 123, M, C1) c trong quan h "Gitin".
nh ngha 9: H qun tr CSDL suy din (Deductive DBMS)
H qun tr CSDL cho php suy din cc n_b ca v t theo mc ch bng bng cch
s dng cc lut logic.
Cc chc nng ca h qun tr CSDL suy din c m t nh sau;
CSDL suy din c xy dng da trn cc quan h c s v quan h suy din. H qun
tr CSDL ny c gi l suy din bi l n cho php suy ra cc thng tin t cc d liu lu
tr theo c ch suy din logic. Cc thng tin l cc v t theo mc ch, cc thng tin ny c
c khi ngi ta tng tc vi v t theo mc ch hoc cp nht v t c s.
nh ngha 10: Cu hi Datalog (Datalog Query)
Mt cu hi trong CSDL suy din gm c:
Mt chng trnh Datalog, tc l mt tp hu hn, c th rng ca cc lut;
Mt Literal n c dng P(xl,x2,..,xn)? Trong xi (i=l,2,..,n) l hng s hoc tn
bin.
Vic khai thc cu hi trc tin l tnh chng trnh Datalog, nu c. Tip theo P(xl,
x2,..., xn) c nh gi. Th tc ny tng t nh la chn trong quan h p theo rng buc
ph hp.
Vi d 3.2: Tm tt c cc n_b ca quan h vay ti chi nhnh H Ni.
Khi ta c: Vay(H Ni, X, Y, Z)
Cu hi ny khng c chng trnh Datalog.
V d 3.3: Tnh tp cc khch hng ca chi nhnh H Ni c ti khon m s d trn
1200. Chng trnh Datalog chi c mt lut n.
136
C(Y) Guitien( H Ni, X, Y, Z), z> 1200
C(Y)?
Cu C(Y)? l tha; v n ch nhm xc nh quan h cn th hin. loi tr hin
tng tha, ngi ta c th dng k php ngn gn, nu khng s b ln ln, nhm ln.
Nu by gi cho cu p(xl, x2,..., xn) v yu cu chng trnh Datalog bao hm mt lut
on phn bit l: Hi (xl , x2,..., xn) ...
Trong xi (i = 1, 2, . . . , n) l tn bin. iu ny hiu rng ngi ta c cu:
Hi(xl, x2,..., xn)?
Cu ny l mt phn ca cu hi. Do vy, cu hi sau l tng oTig vi cu hi trn
l:
Hi(Y) <- Guitien(H Ni, X, Y, Z), z>1200
3.3.4, Cu trc ca cu hi
trnh by cu trc ca cu hi ngi ta s dng th lut.
nh ngha 11: th lut (Rule Graph)
Mt th lu i vi cu hi q l th c hng m:
Cc nt ca th ng vi tp cc k hiu Literal c mt trong cc lut ca q.
Cung ca th ng vi quan h truYrc gia Literal trong thn ca lut v
Literal c mt trong u ca u . Do vy th s c cung
<- aj
Nu lut ny c mt trong cu hi: ai Oj...
Ch ; Vic xy dng ny khng tnh n tp cc bin v cc hng s c mt trong cc
lut a dng ca cu hi ny. Thng tin duy nht ngi ta dng l tp cc k hiu Literal v
quan h ca chng theo cc lut a dng.
Vi d 3.4: Xt cu hi:
p 1(X, Y, Z) <- q 1(X, Y), q2(X, Z), q3(Y, Z)
, p2(A, B) <- pl (A, B), q4( B, A)
Hi(B) p2(A, B), p3(B. A)
th ng vi cu hi ny l:
137
th trn l th khng c chu trnh thng c gi l cu hi khng quy.
V d 3.5: Xt cu hi:
pl(A, B, C) < ql(A. B). P2(B. C)
p2(X, Y) ^ q2(X). pl(X. Y. Z)
Hi(A, B) pl(A, B, C), p2(B. C)
th ng vi cu hi ny l:
th ny l th c chu trnh thng c gi l cu hi qiiy.
Kt lun:, + Vic xy dng cu trc ca cu hi cho php chng ta d dng trong vic
nh gi cu hi.
t Gia cu hi quy v cu hi khng quy cng c nhiu khc nhau
kha cnh loi hinh cu hi trn CSDl.. Thc t cho thv vic nh gi cu hi quy phc tp
hn nh gi cu hi thng.
3.3.5. So snh DATALOG vi i s quan h
v mt c bn ngn ng Datalog vi cc cu hi khng quy c xem nh tng
ng vi i s quan h v kh nng th hin.
Vi cc cu hi quy cho php ngi ta mt cng c niiili han cc ngn ng quan
quan h. iu ny ngn ng Datalog cho php hi cc cu hi khng c php trong i s
quan h.
( 1) Php hp', i tp cc lut c cng u lut :
Hi (Xl , X2...... Xn)< - r l ( X I . X 2 ........Xn)
Hoi (YI, Y2...... Yn)< r 2( YI , Y2.......Yn)
Vi d 3.6\ {\-\) Cliam(.\, >) < B(\, y)
(r2) Cham(x, y) < m(x, y)
Vi d J. 7: Tm tn ca cc khch hng ti chi nhnh H Ni, lm nh sau:
Hi(Y)<- Vay(H Ni. X, Y. Z)
Hi(B) < Gi tin( H Ni. A, B, C)
138
Ch v\ hai lut th hin php hp l tch bit
(2) Php chn : ng vi mt lut m thn lut c mt v t so snh -> biu thc chn.
Php chn chn cc n_b trong quan h r c vit di dng cu hi:
r(xl, x2, . . . , xn)?
trong : xi (i = 1, 2,.... n) l tn bin ha mt hng s.
V d 3.8: Cham(x, y) <- Cham(x, y ) . V Dint
iu ny ~ v - Diiiig(Cham(x, y)) ( php chn vi iu kin l y ^ ' Dng' )
V d 3.9: Chn (tim kim) tn ca nhng khch hng vay qu 1000?
Hi(Y) <- Vay(H Ni, X. Y, Z), z > 1000
(3) Php chiu: i php ton ng vi mt s lut m c mt s bin thn lut m
khng xut hin trong u lut.
Cha(x) = K(x) Cham(x, y), y = Dng
(4) Php kt n: l php ng vi lut m c bin chung cc v t ca thn lut.
Php kt ni hai quan h rl v r2 c vit di dng Datalog nh sau:
Hi(XI, X2...... Xn, Yl , Y2,.. Ym) < rl (XK X2, . . Xn), r2(YU Y2 Ym)
Trong ; Xi, Yj I i = 1, 2,..., n v j = 1, 2,..., m l cc tn bin phn bit nhau.
Vi d 3.J0: (r3) ngb(x, y) <- Cham(x, z ) , Cham(z, y)
(5) Kh nng quy.
Vi ii 3 . 1: nh (r7)
(r4) B(x. y) ( r 7 ) : TTin(x, y) < Cham(x, z ) , TTin(z, y)
Vi d 3.J2: Gi s c lc quan h:
Qun l (Tn nhn cng, tn ngi qun l)
Lc th hin mi quan h ngi qun l v nhn cng.
Gi s Qun l l mt quan h theo m hnh trn.
Tn nhn cng Tn ngi qun l
M M
Hoa M
Mai M
Lan M
Chn Hoa
Tch Hoa
139
Yu cu: 1) Tm tn ca nhng ngi lm vic trc tip di quyn ca ng M, tc
ph iuc mc 1, vit nh sau:
Hi(X) <Qun l(X, ' M)
2) e tm tn ca nhng ngi lm vic trc tip diii quyn ca ngi do ng
M qun l, tc phc thuc mc 2 vo ng M. vit nh sau:
Hi(X) ^ Qun l(X, Y). Qun l(Y, M)
Nh vy, ngi ta khng th th hin yu cu tm ngi ph thuc bc n vo ng M
trong i s quan h irc. D nhin cu hi tm tn cua nhn cng lm vic di quyn ca ng
M, trc tip hay gin tip, khng th to c bng i s quan h hay bng Datalog vi cc
cu hi khng quy. Nguyn nhn l do ngi ta khng bit ng M qun l n mc no.
Tuy nhin ngi c th to cu hi ny trong Datalog di dng cu hi quy nh sau:
e(X) <- un l(X, M)
e(X) <- un l(X, Y), e(Y)
Hi(X) e(X)
Ch ', a)
Cch al: i vi nhng cu hi quy ngi ta cng c th chuyn v cu hi khng
quy bng cch s dng ngn ng ta Pascal vi mt s ln hu hn cc bc lp. Vic lp
c th hin qua cu lnh Repeat. iu kin trong cu Until s kim tra v tp hp, nh tnh
bng nhau, bao nhau hay rng. Trong cu Until cc quan h suy din uc coi nh cc tp. Do
vy cu hi quy trn c th c vit li nh sau:
e (X) Qun l(X, M")
Repeat
e(X) < - e(X)
e' (X) Qun l(X, Y), e(Y)
Until e - e
M t:
- Lut u tin tm nhn cng m ng M trc tip qun l. Khi hon thnh cc lut
trong vng Repeat c nh gi.
- Ti mi ln lp, mc tip theo ca nhn cng c tim v c b sung vo tp e.
- Th tc ny kt thc khi tp e = e (Khi khng cn nhn cng mi c th c b
sung vo e). Mt khc, do tp nhng ngi qun l i hu hn.
Cch thc hin: Theo di chu trinh vi cc d liu trong bng khi chy,
e' = {Hoa, Lan, Mai)
e {Hoa. Lan, Mai}
140
e' ^ Hoa, Lan, Mai, Chn, Tch
e {Hoa, Lan, Mai, Chn, Tch}
Cch a2: Ngoi cch lm nh trn ngi ta c tli c cch lm khc m vn t c
kt qu nh trn:
m(X, Y) <~uni(X, Y)
m(X, Y) ^ Qun l(X, Z). m(Z. Y)
Hi(X) ^ m(X, M")
So snh gia cch al v cch a2:
Cch a l : Tm ra cc nhn cng ca ng M. Cch nv cho php tim nhanh hon.
Cch a2: Tim tt c quan h nhn cng nmri quan l ri chn ra cc cp c tn ngi
qun l l M.
b) Khc vi cu hi khng quy, ngi ta c nhiu chin lc nh gi cu hi
quy nh chin lc nh gi t di ln.
nh gi cu hi quy e c gi l nh gi th. Tuy n n gin nhng
khns my hiu qa trong s cc chin lc di - ln. S khn hiu qu l do khi ngi ta s
dng lut d quy, tp e trc c s dng trong tnh ton. hiu qu hn, ngi ta
dng nh gi na th. Di y chi cc nhn cng va c b sung trong ln lp trc mi
c lut xt n.
Cchbl:
i; - 0
ej(X) un l(X, M'')
Repeat
e(X) < - ei(X)
e i . , ( X) <-un i(X, Y),ei(Y)
i: = i +1
Until Ci Ce
Cch b2:
i: = 0
nii(X, Y) < - Qun l(X, Y)
Repeat
m(X, Y) ^ m i ( X , Y)
iTii+ i(X, Y) Qun l(X. Z), iTii(Z. Y)
i: = i +1
Until nij c m
Hi(X) Qun l(X, M)
141
Lu : D c phng php nh gi tt hon nh gi th, ngi ta vn khng t
c liiu qu nh trong cu hi clio cng kt qu trc . CCing c nhiu k thut m bo
lm tinh k thut na th.
3.3.6. Cc h COsd liu chuyn gia
Qua phn trn, ngi ta thy rng cc lut da trn logic c th tch hp irc vo
CSDL quan h. Cc lut nh vy bt u t cc s kin trong cc n b ca cc bang quan h.
Cc h chuyn gia dng ny thc hin hn na cc hot ng c iu khin.
nh ngha: H thng CSDL chuyn gia (Expert Database System)
Mt h thong CSDL chvyr gia bao gm CCCui c cn; "nu c tp cc n h no
irong CSDL th mt th tc c bit chrc khai thc
Th tc ny c th cp nlt CSDL; v cu lnh IF ea cc lut khc c th ng v th
tc khc c thc hin... Nh vy CSDL loi ny gi l CSDL nng ng.
Cu trc ca h thng CSDL chuyn gia tng t nh cu trc ca h chuyn gia trong
tr tu nhn to. Khc nhau chnh gia liai loi hnh ny l vic s dng CSDL hoc s dng b
nh trong, hay b nh o.
Theo dng chun, mt h thng CSDL chuyn gia gm CSDL chun v h chuyn gia
chun. H chuyn gia hi bng ngn ng' ca CSDL, chng hn nh ngn ng SQL v i tr
li t pha CSDL.
3.4. MT S VN KHC
Ngoi cch tip cn v CSDL suy din nh trn, ngi ta cn quan tm n mt s vn
v CSDL suy din sau:
- Th nht l; nhng c trng ca qu trinh x Iv cu hi, cn thit m t chi tit
hn v la chn cc chin lc nh gi cu hi i vi CSDL xc nh v cc ch xc nh.
Mt khc vic x l cu hoi trong mi trng song song cng c quan tm.
- Th hai l: cc nghin cu h thng v cc kha cnh ca iu kin ton vn. cn c
s phn loi chi tit tu theo bn cht ca rng buc, cch th hin ca rng buc trong cng
thc logic, v cc quan im khc nhau v tho mn v v kim tra ton vn trong CSDL suy
din. Bn cnh cn c cc phng php qun l iu kin ton vn trong CSDL suy din.
- Th ba l: mu hnh ca h thng CSDL suy din. l mt so kin trc c tli
chp nhn c i vi h thng CSDL suy din. Khi chp nhn mt s kin trc no ,
CSDL suy din mu s c pht trin trc khi dng b din gii Prolog.
- Th t l: cc CSDL suy din song song. Vic gii thiu mt vi kin trc song
song ca CSDL suy din gm cc thut ton m t chi tit qu trnh x l cu hi. Cc cu hi
c coi l xc nh v CSDL suy din c xc nh tch bit, t do v chc nng. Vic nh
gi song song i vi cc iu kin ton vn cng l quan trng.
142
- Th nm l: vic hnh tlc ho cc chc nii gp ln v cc di liu ton vn.
T"oim cc phn trc diu kin ton vn ch l tnh v khng gp ln, dng cho CSDL chun.
Khi pht tin CSDL, cc iu kin ton vn cng c lm ph hp. Ngi ta hnh thc ho cc
clc nng lp in, cc iu kin ton vn v cc rng buc trn giao tc.
Cc ni dung trnh by trn mi chi l cc hng s pht trin, lm chi tit thm.
143
CHNG IV
CO s D LIU HNG I TNG
Cc CSDL quan h, theo cc bng chim t l cao, khong 70%, trn th trng phn
mm ng dng. Cc d liu c x l thuc loi s, k t. Cn li cc d liu phc tp nh
vn bn, ho, bn , hinh nh, d' liu nhiu chiu v cc d liu ng nh chng trinh,
m phng qu trinh... trong CAD, vn phng hc, h chuyn gia... th ngi ta khng chi dng
CSDL quan h m gii quyt c. M hnh i tng hay m hnh hng i tng rt a
dng. N gm nhng mng ngCr ngha v cc ngn ng lp trinh hng i tng. Chng cho
php m hinh ho nhng i tng phc tp c c trong cc th tc x l.
D c nhiu ngn ngCr hng i tng, a s CSDL i tng da trn c++, la chn
ny do tnh hiu qu v thng dng ca c++. Cc CSDL i tng k ra gm Ontons nm
1990, Versant nm 1991, Object Store nm 1991 v CSDL Objectivity nm 1990.
Thc t cho thy CSDL i tng c cc u im:
- Cho php xt cc lin kt i tng di dng cc php lu tr vi cc i tng;
- Cc i tng dng chung gia nhiu ngi s dng;
- Kh nng pht trin kho tri thc bng cch thm cc i tng mi v cc php x l
km theo;
- Pht trin h qun tr CSDL da trn vic x l cc i tng phc tp, giao din
chng trinh, i tng ng v tru tng.
4.1. NGUYN TC CA CC M HNH HNG I TNG
4.1.1. M hnh ha cc i ttig
+ i tng (Object): L tp hp cc phn t ca cc d liu c cu trc, tham chiu
duy nht qua tn.
Vi d: C th ly v d minh ho v i tng nh; mt con ngi, ngi c cc d liu
m t chi tit v h tn v thng tin v con ci, l con ngi khc. i tng l mt my bay,
gm cc thng s bay, t li, k thut.
th hin cc i tng, ngi ta dng cch vit nh trong ngn ng c++, trong
mt nhm cc thuc tnh c xc nh sau tn ca i tng c t trong du ngoc nhn;
cc thuc tnh tch nhau bng du phy.
V d'. Ngi 1{H: Nguyn, Tn: To, Tiioi;25, a ch: H Ni}
Mt i tng c th n gin hoc gp ca tn v mt gi tr, nh s nguyn NI {Gi
tr: 25}, tuy vy chng c th phc tp v cha c cc i tng khc, nh my bay c 2 mt,
4 cch,...
145
lm vic c vi i tng cn phi bit thm mt s khi nim sau:
Tn ca i tng;
S tham chiu chung.
+ nh tn ca i tng
Mi i tng c mt tn. Hai i ng tuy c cng gi tr nhng c hai ten khc nhau
s c xem nh hai i tng khc nhau. Mt i tng c th thay i gi tr, nhng khng
th i tn.
nh ngha: nh tn i tng (Object Identifier)
Tham chiu mt cch duy nht gn vi i tng t khi to ra n, cho php ch nh
i tng.
Trong CSDL HT, tn i tng xc nh i tng, tn khc nhau ch cc i tng
khc nhau. Nhin li d liu quan h, mi n_b xc nh qua gi tr ca n b, nay dng tn, cho
php xc nh khng ch gi tr, m cn tnh cht ca i tng, dng phn bit logic v vt
l vi cc i tng khc.
- Hai i tng l trng nhau ( 01^ 02) nu chng trng tn.
- Hai i tung l bng nhau ( 0 1 - 02) khi chng c cng gi tr;
Do vy nu 01 ^ 0 2 th 0 1 ^ 02, ngc li khng ng.
+ Thm chiu chung
Tn ca i tng l phoTig tin thun li cho vic m hnh ho cc i tng phc
tp. C th mt i tng c th tham chiu en i tng khc.
V dy: i tng Ngi tham chiu n i tng Xe m h s hu. Tuy nlin c th
nhiu ngi chung chic xe .
Ngi 1{Tn: To, Xe: X I }
Ngi2{Tn;Tm, Xe: Xl }
+ Thuc tnh(Attribute)
Tnh cht ca i tng c gn tn; cho php timng ng vcVi mt gi tr hay mt tham
chiu n i tng khc.
4.1 . 2 . P h n g p h p
M hinh i tng th hin cu trc tnh, cho php m hinh ho cc i tng v cc
lin kt gia cc i tng. Mt khc m hinh i thg cn th hin kha cnh ng, cho php
qun l cu trc ca cc i tig theo clc nng, cn c gi l phong php.
nh ngha: Th tc c tmng hi tn u th tc, cc tham s gi v tham s tr v
dng p ln mt i tung c tn.
4 . 1 . 3 , L p ( C l a s s )
Lp l khun mau cho php xc nh tp cc inh chai ciia i tng, nh cc thvc
tnh v cc phng php, v to nn cc i tng marg cc tnh ch .
146
V d: Xc nh lp Ngi v Xe (c php c chn m t lp l c php ca ngn
ngCr C +), ngi ta dng k php * tham chiu n loi dCr liu khc. C hai phong php
gn vi i tng Ngi l Gi - i,cho php tng tui hng nm cho mi i tng ngi v
cho kt qu l tui mi nhn, v Li cho bit vic thay i xe lin quan n i tuQng:
Class Ngi {
String h;
String tn;
Int tui;
Xe * t;
Int Gi_i();
Void Li (Xe);
};
Class Xe{
String s;
Ch to *Mc;
String Loi;
My *Mt; };
4.1.4. Cc lin kt tha k gia cc lp
+ Tng qut ho
Lir kt phn cp gia cc lp cho php xc ih hng i tng ca lp n l tng
qut h cc i tTg cua lp di.
Lp thp gi l lp con. Lp trn gi l lp cha.
4- Tha k (Inheritance)
Vic chuyn t ng cc tnh cht ca mt p, cho cc lp con.
Tt c cc phn t ca lp con l phn t CLa lp cha thi chng k tha cc tnh cht
ca lp cha. Mc d c tha k cc tnh cht t lp cha, lp con cn c cc tnh cht khc
ni cc phng php v thuc tnh b sung.
V d. Lp ngi c hai lp con l : Ngi c vic v ngiri tht vic
Class C vic: Ngi {
Char Ngh [12];
Thnh ph Ni lm;
Double Lng;
Double Thng;
Void Lm vicO;
};
147
M t mt CSDL hirTg i tng gom cc lp, cc thuc hih VC cc phinrng php,
cng nh cc ir kt tng qut ho gita cc p.
4.2. T NH BN VVG C A C C I TNG
4 . 2 . 1 . C s d l iu h n g i t n g
Nhng khi nim trn y mi cho php m hnh ho cc i tng. Mt khi nim v
CSDL c b sung trong phn ny l tnh bn vCrng.
e nh gi mt h qun tr CSDL i tng, trc ht h thng phai c cc chc nng
ca mt h qun tr CSDL. Ngoi ra n cn m bo mt s tnh cht nh diri y.
+ Tnh bn vng ca cc i tng:
Cc i tng cn nm chc chn trn phng tin nh nh a t, khi c mt
chng trnh to ra.
i tng bn vng: l i tng c lu gL trong CSDL. c thi gian tn ti
di hn thi gian ca chng trinh to ra i tng .
i tng tm thi: l i tng c lu trong b nh trong; do vy thi hn
tn ti ca n khng qu thi hn ca chng trnh to ra i tng .
+ Tnh khai thc tng tranh:
CSDL i tng cho php cc giao tc dng chung. Vic kho giao tc, kho d liu
cn hn ch m bo tnh tng hp v d liu.
+ Tnh tin cy ca i tng
Nhng i tng c th khi phc li khi c6 sai st xy ra. Cc giao tc cn chia nh
m bo hoc chng c thc hin hon ton, hoc khng thc hin t g.
+ Tnh tin li t r a cu
Ngi ta yu cu tm c cc i tng theo gi tr ca thuc tnh i tng. Do vy
cn qun l tn gi tr thuc tnh, cc kt qu ca phng php, cc lin h gia cc i tng.
+ Chc nng khc
Phn b cc i tng;
Nhng m hinh v cc giao tc;
Nhng th h ca cc i tng.
4.2.2. Qun l tnh bn vTig
Mt m hnh CSDL i tng cho php xc nh cc loi d liu ca i tng. Trong
mi trng lp trnh, cc i tng cn c xy dng v b hu b trong b nh nh cc chc
nng c bit, gi l b to dng v b hu b.
+ To dng i tng: chc nng gn vi mt lp cho php to nn v khi ng mt
i tng trong b nh.
4.1.5. Lc lp
148
b nh.
Vn t ra trong CSDL hng i tng l m bo tnh bn vng ca cc i tng
rn a theo cch c th tim li c n. Mt gii php thng dng bo v cc i tng
trn a gm vic t tn mi i tng bn vng v trang b mt chc nng cho php mt i
irng trn a l bn vng.
+ Tha k tnh bn vng: k thut cho php xc nh cht lng ca i tng ! bn
vii do tha k t lp gc, khin cho cc i tng c kch hot hay ngng hot ng.
4- ITnh bn vng do t ham chiu: k thut cho php xc cht lng bn vng ca i
tng nh t kho, tc gc ca bn vng, hoc nh vic n c oi tng bn vng khc tham
chiu n.
-f Hu b i tng; chc nng gn vi mt lp cho php hu mt i tng ra khi
149
CHNG V
THC HNH MT S NG DNG
5 . 1 . THIT K MT H c s D LIU K TON
5.1.1. t vn bi ton
Mt trong nhng iu quan trng m bo cho kinh doanh thnh cng l c h thng k
ton, H thng k ton gip cho cc nh doanh nghip, ngi u t, ngi qun l thy r
c thc cht ca qu trnh kinh doanh qua s liu c th, chnh xc, khch quan v khoa hc.
K ton c coi l hot ng c tnh dch v. Chc nng ca k ton l o lng cc
hot ng kinh doanh bng cch lu tr' cc s liu s dng trong tng lai v qua x l
a thng tin hu ch cho nhng ngi quyt nh cng nh nhng ngi c quyn li trong
hot ng kinh doanh. Thng tin phi c bn cht ti chnh v c mc dch s dng trong
qu trnh ra cc quyt nh kinh t. Cc bo co k ton c dng m t hot iTg v thc
trng ti chnh cia cc loi hinh t chc khc nhau. T chc ny trong c lnh vc kinh t quc
doanh v kinh t ngoi quc doanh. C th ni u vo ca h thng k ton l cc s liu v
hot ng kinh doanh v u ra ca h thng k ton l thng tin hu ch cho ngi lm quyt
nh.
(1). K ton ti chnh v k ton qun tr
K ton l h thng thng tin o lng, x l v truyn t cc thng tin cn thit cho
vic lm quyt nh. Tuy nhin, cng c hai khi nim k ton qun tr v k ton ti chnh. Ni
n k ton qun tr l tt c cc loi thng tin k ton c o lng x l v truyn t
s dng trong qun tr ni b ca c s kinh doanh. K ton ti chnh cung cp thng tin k ton
ngoi vic s dng trong vic qun tr ni b ca c s kinh doanh cn c th cho ngi
ngoi c s kinh doanh s dng.
Thng tin k ton v vic lm quv nh:
Thng tin do k ton cung cp im nn tng ca nhng quyt nh kinh t quan trng
cho c bn trong cng nh bn ngoi n v kinh doanh. Vi th thng tin k ton l mt cng c
cng nh hu ht cc cng c khc cho nn ngi lm k ton phi cung cp thng tin .
Mi ngi c th s dng c d ngi chuyn nghip hay khng chuyn nghip.
K ton cung cp thng tin thc hin ba chc nng sau; lp k hoch, kim tra thc thi k
hoch v nh gi thc hin k hoch.
151
Quyt nh
N g i l m q u y t n h
Nhu cu thng
1'
o l n g
Thc hin
qua tnh
ton
in
X l
Thc hin
qua lu tr
v lp
bo co
T h n ^ t i n
T h n g t i n
Thc hin
qua bo co
(2). Nhng ngi s dng h thng thng tin k ton
a) Ban lnh o doanh nghip
Ban lnh o doanh nghip l nhm ngi trong mt c s kinh doanh c trch nhim
iu hnh v thc hin cc mc tiu ca c s kinh doanh. Trong mt c s kinh doanh nh.
ban lnh o gm c nhng ngi ch ca c s kinh doanh ny. Trong CO' s kinh doanh ln,
ban lnh o gm cc nh qun l c thu mn. Mc tiu ca cc c s kinh doanh thng
phc tp v khc nhau. Cc mc tiu ny nhm t c mc li nhun cao c th t c,
cung cp hng ho v dch v c cht lng vi gi thp, to ra cc sn phm mi. to ra nhiu
cng n vic lm cho mi ngi, ci thin mi trng v hon thnh nhiu cng vic. Mun t
c cc mc tiu ny thi n v kinli doanh phi kinh doanh c li vi mi trng kinh doanh
c tnh cnh tranh cao. Nh vy mc tiu t ra cho ngi lnh o phi cli vo hai mc tiu
quan trng: kh nng to li nhun v kh nng thanli ton cng n'. Kh nng to li nhun l
kh nng kim li nhun thu ht v duy tr vn kinh doanh. Kh nng thanh ton cng n'
l kh nng to sn tin tr n- khi ht hn thanh ton.
Cc nh qun l thng quyt nh phi lm gi, lm nh th no v nh gi kt qu t
c c ng vi k hoch ban u hay khng. Cc cng vic phi trn c s' thng tin c
gi tr v kp thi. Phn ln nhng quyt nh ny da trn s liu thng tin k ton v s phn
tch cc s liu ny. Do ban lnh o l mt trong nhng thnh phn s dng thng tin k
ton quan trng nht v nhim v ca k ton l cung cp cho ban lnh o thng tin cn thit
v hu ch.
Cic nh u t hin li hoc trig ai:
'Nhng ngi ang d tnh u t vo mt c s kinh doanh v nhng nh phn tch ti
chnh lm c vn cho cc nh u t u quan tm n kt qu thu c c trong qu kh v
tim nng to li nhun trong tng lai ca c s kinh doanh. Sau khi u t cc nh u t
phi lun lun theo i cc thng tin ny.
152
h) Nhng ngui s' dng thng tin k ton
Ngoi nhim v k trn, k ton cn phi hoch ton v bo co kt qu hot ng sn
xut kinh doanh ca n v kinh doanh . Hu hl cc c s kinh doanh u pht hnh nh k
mt b bo co k ton tng qut, nu r kt qua hot ng kinh doanh nhm mc tiu to li
nhun v thanh ton cng n. Cc bn bo co k ton ny trnh by nhng cng vic xy ra
v dng lm hirng pht trin trong tng lai. Nhng ngi ngoi c s kinh doanh cng
dng thng tin ca cc ban bo co ny.
Cc chu n hin i v txmg lai:
Hu ht cc cng ty u vay n p ng cc nhu cu ngn hn hay di hn. Cc nh
ch n cho vay tin hoc giao hng ho v cung cp dch v trc khi c thanh ton, u
quan tm n vic kh nng tr n' ca cng ty khi ht hn v tin li thu c. H s nghin
cu kh nng thanh ton cng n' cng nh lu lng tin mt cng vi kh nng to ra li
nhun ca cng ty . Cc ngn hng, cng ty ti chnh, cng ty chng khon, cng ty bo
him, cc nh cung cp, c nhn v cc c s khc cho vay tin u mun phn tch tnh hnh ti
chnh ca mt CO' s' kinh doanh trc khi cho c s' ny vay tin.
c) Nhng ngu' s dng thng tin k ton c quyn li gin tip v ti chnh
X hi ni chung, thng qua cc vin chc nh nc v cc t chc cng cng, gn y
tr' thnh mt trong nhng thnh phn quan trng s dng thng tin k ton. NhCrng thnh
phn cn thng tiVk ton lm quyt nh v nhirng vn cng cng gm cc c quan thu
v, c quan lp quy, cc k hoch gia kinh t v cc thnh phn khc.
Cc c quan thv v:
Cc c quan chnh quyn ca Nh nc c ti tr bng ngun thu thu. C nhiu
ngun thu thu, mi ngun thu tlLi c t' khai thu ring v thng i hi mt h SO' phc tp
km theo khi khai bo. Hin ti c nhiu lut chi phi vic lp bo co k ton dng vo vic
tnh thu li tc.
Ccic c quci lp qu:
Hu ht cc c quan iu hp cp Nh nc hoc a phng. Tt c cc cng ty c
ng k kinh doanh chng qun u phi bo co nh k.
Cc nhm khc:
Cc c s kinh doanh ln nghin cu bo co ca cc c s kinh doanh nh chun
b cho cc hp ng quan trng. Vic tnh ton c c cc s liu v doanh thu v chi ph
thng rt quan trng trong cc cuc thng lng. Nhng ngi c vn cho cc nh u t v
cc ch n cung c mi quan tm gin tip n kh nng ti chnh v pht trin ca c s kinh
doanh . Trong nhng ngi c vn c nhng ngi phn tch v cc c vn ti chnh, ngi
mi gii bun bn, cc cng ty bo him, lut s... v bo co v ti chnh. Nhm tiu th,
khch hng v nhn dn ni chung ngy cng quan tm nhiu hn v kh nng ti chnh v thu
nhp cia cng ty cng nh hu qu cLia cng ty gy ra nh lm pht, vn x hi v gi tr ca
i sng.
Theo m hnh nghip v ca t chc kinh doanh ni chung, chng trinh ny phn
nhm ngi tc ng n h thng k ton ny:
153
Cc i tc: l ngi mua hng ca c s kinh doanh thng qua cc n yu cu, ho
n thanh ton, phiu giao nhn hng... v ngi cung cp hng ho cho c s kinh doanh ny.
Ngn hng: l ni c s kinh doanh m ti khon v c cc hot ng nh gi tin, rt
tin, chuyn khon... vi cc i tc v cc hot ng ni b ca cng ty .
Ch doanh nghip hay ch c s kinh doanh v cc i tng sir dng thng tin k
ton: y l cc i tng bn ngoi h thng k ton nhung s dng thng tin k ton a
ra quyt nh.
B phn theo di n hng: b phn ny qun l cc n hng tp trung cc on hng
li to thng tin tc ng h thng hot ng.
B phn theo di khch hng v ngn hng: thng tin ca b phn ny quan trng i
vi cc giao dch ca doanh ngliip hay c s' kinh doanh v n l CO' s' cho cc hot ng mua
bn, chuyn khon...
(3). Nghip v kinh t pht sinh l i tng ca o lng trong k ton ti chnh
Nghip v kinh t pht sinh l nhng s kin kinh t c nh hng n tinh hinh ti
chnh ca mt c s kinh doanh. Cc c s kinh doanh c th c nhiu nghip VI kinh t pht
sinh mi ngy. Cc nghip v kinh t pht sinh dng to ra cc bn bo co k ton.
Mt nghip v kinh t pht sinh c th lin quan n nhng trao i v gi tr nh vic
mua bn, chi tr, thu n hoc vay mn gia hai hay nhiu bn. Mt nghip v kinh t pht sinh
cng c th l mt s kin kinh t khng c tnh cht trao i nhng c cng kt qu nh mt
nghip v kinh t pht sinh c tnh cht trao i.
Thc o hng tin:
Tt c cc nghip v kinh t pht sinh c ghi chp bng tin gi l thc o bng
tin. Nhng nhng s liu c c tnh phi ti chnh c th ghi chp bng ngoi t tnh the gi
trj ca cc nghip v kinh t v cc hot ng ca doanh nghip. Tin t l yu t chung nht
i vi tt c cc nghip v kinh t pht sinh v nh vy n l n v o lng duy nht c th
to c d liu ti chnh ging nhau c th so snh c.
Thng tin cc bo co ly t s nht k ci v s nht k tng qut. Cc nghip v kinh
t pht sinh c ghi vo s nht k tng qut c tm lc nh sau:
- Ghi ngy, thng, nm ca s kin kinh t pht sinh.
- Vit ng tn ca cc ti khon ghi n v ghi c trong ct din gii. Chn loi m ti
khon cp mt, ti khon cp hai ca ti khon v ghi vo nht k tng qut.
- Ghi loi ca ti khon d tnh tng ti khon khi vit ti khon vo s ci.
- Ghi s tin tng ng vi nghip v kinh t pht sinh.
T cc nghip v kinh t pht sinh phi tng kt thng tin v ghi vo s ci.
Ghi cc thng tin ca cc ti khon c cc nghip v kinh t pht sinh trong thng nh
m ti khon, tn ti khon,...
Ghi s tin tng ng vi mi ti khon cp hai. Cch tnh s tin tng ng vi mi
ti khon l tnh tng lng tin trong cc nghip v kinh t pht sinli trong thng. i vi ti
154
khon cp mt c s tin d bng tng s tin d ca cc ti khon cp hai thuc loi ti khon
cp mt.
Nguyn tac to ra bo co i cc bo co c to ra theo thng v c th to ra ngy
cui thng hay ngy no sau thng cn lm bo co.
4), Nguyn tc thit k h thng
Trong vic thit k h thng k ton, iu quan trng l phi da vo bn nguyn tc
chung: nguyn tc li hi, nguyn tc kim sot, nguyn tc ng b v nguyn tc linh ng.
Nguyn tc hi: theo nguyn tc ny th gi tr hoc li ch m thng tin do h thng
cung cp phi bng hoc ln hn chi ph s dng h thng . Ngoi nhng cng vic thng
thng ca h tlng k ton nh lp bng lng, k khai thu, lp bo co k ton v duy tr
cng tc ni kim, ban lnh o c th c cung cp cc thng tin khc. Cc thng tin ny phi
trung thc, kp thi v c ch cho ban lnh o. cn phi cn nhc gia cc li ch ca cc thng
tin ny v cc chi ph hu hinh v v hnh c s dng trong vic s dng thng tin . Trong
cc chi ph hu hinh c chi ph v nhn vin v thit b. Mt trong nhng chi ph v hinh l chi
ph do quyt nh sai lm v thiu thng tin chnh xc.
Nguyn tc kim sot: nguyn tc kim sot i hi h thng k ton phi cung cp cc
quy nh then cht ca cng tc kim tra ni b bo v ti sn v bo m c mc
trung thc ca s liu.
Ngyyn tc ng h\ nguyn tac ng b ch trng rng vic thit k mt h thng k
ton phi hi ho vi cc yu t t chc v nhn s ca doanh nghip. Mt t chc gm nhiu
ngi lm nhiu vic khc nhau v trong cc nhm khc nhau. Cc yu t t chc lin quan n
nhiu loi doanh nghip ca t chc v cc b phn khc nhau ca doanh nghip chnh thc
lin kt vi nhau theo phng cch no hon thnh cng vic.
Nguyn tc linh ng: nguyn tc linh ng i hi h thng k ton phi mm do
sau ny pht trin cc nghip v kinh t v thc hin cc thay i v t chc ca doanh
nghip. Cc doanh nghip khng bao gi gi' nguyn tnh trng ban u m lun lun pht trin,
to thm sn phm mi, m thm chi nhnh mi... hoc thrc hin nhirng thay i khc i hi
phi c s iu chnh trong h thng k ton. Mt h thng k ton c thit k phi cho php
doanh nghip pht trin v thay i m khng c s iu chinh ng k. Chng hn nh h
thng ti khon phi thit k sao c ch thm cc ti khon mi v ti sn. n phi tr, vn
ch s hu, doanh thu hoc chi ph m khng nh hTig n vic s dng h thng ti khon k
ton ny.
(5). Tnh hnh ti chnh v phoig trnh k ton
Tinh hnh ti chnh ca mt cng ty l ti nguyn kinh t ca cng ty v cc tri
quyn i vi ti nguyn ny mi thi im no . Tri quyn c ngha l vn. Nh vy
cng ty c xem xt qua hai phn ti nguyn kinh t v tri quyn i vi cc ti nguyn ny.
Ti nguyn kinh t =" vn
Mi cng ty u c hai loi vn, vn ca ch n v vn ca ch s hu. Nh vy:
Ti nguyn kinh t ==vn ch n + vn ch s hu
155
V trong thut ng k ton, ti nguyn kinh t c coi nh ti sn v vn ch
n c coi nh n phi tr, phng trnh k ton c th c vit nh sau:
Ti sn = N' phi tr + vn ch s' hu
Phng trnh ny gi l phng trinh k ton. Hai v ciia phuona trnh lun lun bng
nhau hoc cn bng. Cc thnh phn s c nh ngha sau y:
Ti sn: l ngun li kinh t m mt c s kinh doanh c th kim sot c trong
tng lai nh' vo nhng nghip v ki nh t pht sinh hoc nhng s' kin xy ra trong qu kh.
N phi tr; l nhng thit thi v quyn li v kinh t trong tng lai pht sinh t
nhng khon n hin ti ca c s' kinh doanh l phi chuyn nhng ti sn hoc phi cung
cp cc dch v cho nhng on v kinh doanh khc trong tng lai do cc nghip v kinh t
pht sinh hoc cc s kin xy ra trong qu kh.
Vn ch s hu: l phn vn cn li trong ti sn ca mt c s kinh doanh sau khi tr
i n phi tr. i v ca phng trinh k ton trn, c th xc nh vn ch s hu nh sau:
Vn ch s hu = Ti sn - N phi tr
(6). Mc tiu thng tin k ton qua cc bo co k ton
Cc bo co k ton l trng tm cia k ton vi bo co k ton l phng tin chnh
truyn t thng tin k ton quan trng i vi ngi s dng. Nhng bn bo co di y chi
l m hnh bn mu. C bn bng bo co k ton c s dng truyn t thng tin k ton
cn thit v mt c s kinh doanh.
Bo co kt qu hot ng kinh doanh: l bn k v ti chnh tng hp cc khon thu
chi ca mt c s kinh doanh qua mt giai on thi gian. C th ni y l mt bo co quan
trng nht v mc ch o ing xem doanh nghip c t c mc tiu thu li nhun hay
khng.
Bo co v vn ch s hu: trnh by tt cc nhng bin ng ca vn ch s hu qua
mt giai on thi gian.
Bo co cn i ti sn: bng cn i ti sn trinh by tnli trng ti chnh ca mt
doanh nghip vo mt thi im nht nh. V l do ny m bo co cn i ti sn c gi l
bn k tnh trng ti chnh vo ngy thng nht nh no .
Bo co lu chuyn tin mt: bo co kt qu kinh doanh ch trinh by nhng bin ng
v tnh hinh ti chnh ca cc hot ng to ra li nhun hay l. V bo co kt qu kinh doanh
khng th hin nhiu bin c quan trng khc c bit l nhng bin c lin quan n cc hot
ng ti chnh v u t pht sinh trong k k ton nhng li khng th hin trong hot ng
bo co kt qu kinh doanh. Giai on ny gm c vic r sot cc vic t chc c cu CO s
kinh doanh, cc m t cng tc v s nghin cu v cc mu biu chng t, bo co th tc v
cc phng php x l d liu v h thng ni ti ang s dng.
Thit lp h thng mi hay thay i h thng hin ti phi c bt u t giai on
thit k h thng v da trn vic nghin cu kh thi trong giai on nghin cu. Vic thit k
quan tm n ngi s diing v iu hnh h thng, ti liu v h s s dng, th tc vn hnh,
cc loi bo co cn thit lp v cc thit b s dng trong h thng. Mi quan h qua ii gia tt
c cc thnh phn trn y phi tun theo nhng nguyn tc v thit k h thng k ton.
156
Ngoi cc bo co v tnh hnh ti chnh cn c cc loi bo co ch dng trong ni b
ca CO SO kinh doanh nh bo co v i tc v ngn hng.
H thng k ton kp:
H thng k ton kp c coi nh l mt trong nhng khm ph tt ca tr tu loi
ni. H thng k ton kp da trn nguyn tc lng din, c ngha l mi bin c c tm
quan trng v kinh t u c hai mt c gng - khen thng, hy sinh - quyn li, ngun gc v
s dng. Hai kha cnh ny cn i nhau. Trong h thng k ton kp, mi nghip v kinh t
pht sinh phi c ghi chp vo s t nht l mt ln l mt ln ghi n v mt ln ghi c, lm
th no tng s tin bn n v tng s tin bn c cn bng nhau. Nh cch thit k nh vy
nn h thng k ton kp lun lun cn bng. Tt cc cc h thng k ton phc tp u dng
nguyn tc lng din ca h thng k ton kp. Nghin cu h thng k ton kp bt u bng
ti khon ch T.
Ti khon ch T: Hnh thc n gin nht ca ti khon gm ba phn: (1) tn ti khon
ti sn, n phi tr hoc vn ch s hu; (2) bn tri gi l bn n v (3) bn phi gi l bn c.
Ti khon ny gi l ti khon ch T bi v n ging ch T, dng phn tch nghip v kinh t
pht sinh.
Tn ti khon
B n t r i B n p h i
( B n n ) ( B n c )
Theo m hinh nv bl c mt mc no ghi vo bn tri ca ti khon l mt pht sinh
n hay l bt ton ghi n v bt c mc no ghi vo bn phi ca ti khon l pht sinh c hoc
bt ton ghi c.
Phn tch cc nghip c kinh t pht sinh:
Nguyn tc h thng k ton kp l mi nghip v kinh t pht sinh u c nh hng t
nht n hai ti khon. Ni cch khc phi c mt hoc nhiu ti khon c ghi vo bn N v
mt hoc nhiu ti khon c ghi vo bn C v tng s tin ca cc ti khon ghi N phi
bng vi tng s tin ca cc ti khon ghi C.
Theo phng trnh k ton:
Ti sn = N phi tr + vn ch s hu
Nh vy nu mt ti khon ghi bn N lm tng ti sn th phi s dng mt ti khon
ghi C lm tng N phi tr hay vn ch s hu. Mt khc nu mt khon ghi c lm gim
ti sn thi phi c mt khon ghi n ch s gim N phi tr hoc vn clu s hu.
Cc nguyn tc ny i nghch nhau bi v Ti sn nm v i nghch vi N phi tr
v Vn ch s hu.
T i s n
N p h i t r
V n c h s h u
T n g G i m

T n g G i m +
G i m T n g
g h i b n N g h i b n C
g h i b n N g h i b n C
g h i b n N g h i b n C
157
Pht sinh tng ca Ti sn ghi vo bn N cc ti khon Ti sn. Pht sinh gim ca Ti
sn ghi vo bn C cc ti khon ti sn.
Pht sinh tng ca N phi tr v vn ch s liLu ghi vo bn C cc ti khon N- phi
tr v Vn ch s hu. Pht sinh gim N phi tr v vn ch s' hu ghi bn N- cc ti khoi
N phi tr v vn ch s hu.
5 . 1 . 2 . C h i n l c
Qua vic tip xc vi khch hng xc nh chin lc cho bi ton, ni c th hn l
phi xc nh c nhng yu cu ca khch hng phc v cho cng vic thit k. i vi bi
ton k ton thi mc tiu ca nghip v l:
+ Vic nh khon trong k ton v cc tnh ton bo co phi c thc hin t ng,
+ Tm kim, in ra cc chng t.
+ Cc bo co k ton l trng tm ca k ton bi v chng l nhng phng tin chnh
yu truyn t thng tin k ton quan trng n ngi s dng.
+ Chng trnh phi t chc CO' s' d liu theo c ch phn quyn truy nhp ti tng c
s d liu m bo tnh bo mt.
+ Chng trnh phi c kh nng phn tn d* liu.
+ H thng phi c tnh m.
+ To ra cc bo cc chi tit theo yu cu c th nh l: Bo co v tin gi ngn
hng, Bo co v cc khon cng n vi i tc.
+ Ngoi ra cn c th to ra cc bo co v vic thanh ton i vi tng ho on mua
bn.
5 . 1 . 3 , P h n t c h
(1). Thit lp h thng k ton
Mc icli ca vic nghin cu h thng l pht hin nhng nhu cu v mt h thng
mi, hoc nhn xt v h thng ang s dng. Giai on ny lin quan n vic nghin cu cc
nhu cu thng tin ca nh qun l, tim cc ngun cung cp thng tin ny v phc ho cc birc
cng cc phng php cn thit bin cc s liu ny thnh hinh thc hu dng. Giai on
ny gm c vic r sot t chc doanh nghip, cc bng m t cng tc v nghin cu v cc
mu biu, chng t, bo co, th tc v cc phng php x l d kin v h thng ni ti ang
s dng.
Thit lp h thng mi hay thay i h thng hin ti bt u t giai on tliit k h
thng v da trn nghin cu kh thi trong giai on nghin cu. Cng vic thit k cn quan
tm n ngi s dng v diu hnh h thng, ti liu v h s s dng, th tc vn hnh, cc
loi bo co cn thit lp, cc thit b s dng trong h thng.
Cc nghip v kinh t lin quan n chc nng ny u da vo cc chng t gc l
chng c bng vn bn chng minh cho nghip v kinh t. Chng t gc chng minh s kin
nghip v kinh t xy ra v cung cp chi tit v nghip v kinh t .
158
Sau khi x l cc nghip v kinh t xong, bc tip theo l phi hon tt th tc cp
nht nht k tng qut. Thng qua cc bt ton ca s nht k tng qut ghi vo s ci cc ioi
ti khon. T thng tin ca s ci s c chng trinh tnh ton s liu sinh ra cc bo co.
Pln tch d liu:
Phch tch d iir. h thng cn c mt khi nim r rng v thng tin irc qun l v
x l, M hnh thc th - lin kt l k thut ch cht hu nh trong cc phng php phn tch
thit k h thng. Vic xc nh cc thng tin cn thit cho h thng cn phi nh ngha cc
thng tin quan trng trong mt t chc cc thc th, c trng ca cc thng tin (ca cc thuc
tnh) v mi quan h gia cc thrc th.
Cc m hnh c lp vi phng php iu tr v cp nht d liu:
- Thc th: mt thc th l mt ch im, mt i tng hay mt vn c ngha
trong thc t hay tng tng v thng tin cn quan tm hay nm gi. Thc th c th l mt
lp hay mt nhm th hin hay bn thn th hin . Mt thc th c th hin di dng hp
bng mt xu ch hoa trong h s.
Cc lut ca thc th:
- Mi i tng ch c th th hin bng mt thc th, c ngha l cc thc th loi tr
ln nhau trong mi trng hp.
- Mi thc th phi c xc nh duy nht.
- Mi th hin ca thc th phi tch bit v phn bit vi cc th hin khc ca tng
loi thc th .
Thuc tnh: Mi thuc tnh l bt c chi tit no phc v cho vic nh gi cht lng,
cch gi tn, phn p, nh gi khi lng hoc bieu in trng thi ca mt thc th, hay
thuc tnh l bt c m t c V ngha v i tng.
Qu trinh phn tch bt ngun t ngun thng tin m h thng cn x l v nm bt.
Nh vy ngun thng tin cn thit c tm ra t th gii thc, sau bin i ngun thng tin
ny thnh cc thc th v cc thuc tnh ca thc th . Cng vic ny gi l vic m hinh ho
thng tin cho h thng t th gii thc.
Chon kha : sau khi xc nh c thc th v cc thuc tnh ca thc th, theo lut
cc thc th cn phi chn cho thc th mt kha tch bit v xc nh duy nht cc th
hin ca cng mt thc th. Kha c th gm mt thuc tnh hay mt tp cc thuc tnh gi l
kha kp.
Nhiu khi xem xt tt c cc thuc tnh ca cc thc th c th khng c cc thuc tnh
no c th ring bit r rng v mi thuc tnh u c th trng lp. Trong trng hp ny phi
thm mt thuc tnh kha vo thc th.
Khi xc nh thc th v thuc tnh phi chun ha nhm m bo bt k thng tin no
ca th gii thc c biu din ch mt ln trong m hinh thc the nhm trnh trng lp, d
tha thng tin, trnh nhp nhng. Chun ho cn cn nhc:
- Vic lp mt anh sch cc mc d liu.
- Xc inh cc danh mc dir liu dn xut t cc mc khc (kt qu bi ton) chn mt
kha.
159
- Tch tt c cc nhm lp vi kho (cc thuc tnh lp).
- Tch cc thuc tnh ph thuc mt phn hay hon ton vo kha.
e xc nh cc thc th phi nghin cu cc chng t, lio on, cc hot ng v cc
khi nim tTig tng.
T cc khi nim v thc t ca bi ton k ton ti chnh xy diig ln c cc
thc th minh ho cho chc nng bo co tng qut.
Trong qu trinh tim hiu v h thng thng tin k ton v mua bn hng ca mt doanh
nghip cn phi t chc cc thc th v tin hnh chun ho chng v dne chun 3 c cc
thc th sau:
1. Thc th DAU TU dng lu cc thng tin v vn u t ca ch nhn khi mi bt u m'
doanh nghip hay khi u t thm vn m rng doanh nghip, thc th bao gm cc
thuc tnh sau:
MA DAU TU trng kho ca thc th u t.
NGAY DAU TU ngy pht sinh nghip v u t.
SO TIEN DAU TU s tin ch nhn u t.
2. Thc th RUT VON dng lu cc thng tin v vic rt vn ca cli nhn, n c nhng
thuc tnh sau:
MA_,RUT_VO'N trng kho ca thc th rt vn.
NGAY RUT VON ngy pht sinh nghip v rt vn.
SO TIEN RUT VON s tin m ch nhn rt ra.
3. Thc th HOA DON MUA lu cc thng tin chung v ho n mua, n bao gm cc thuc
tnh sau;
MA HD MUA trng kho.
NGAY HD MUA ngy pht sinh ho n mua.
MA DOI TAC lu m ca ngi cung cp.
TONG TIEN MUA tng tin ca ho n mua.
NO MUA s tin cn ncia-ho on mua ny.
NGAY PHAI TRA HDM ngy phi tr ho n mua .
THUE MUA tng tin thu phi tr cho ho n mua ny.
GHI CHU HDM ghi ch v ho n mua .
SO_CT_GOC s chng t lin quan n nghip v ny ca ngi CLiiig cp.
TRANG THAI HDM trng thi ca ho n mua ny.
4. Thc th DONG_HOA_DON_MUA dng m t chi tit v tng mt hng trong lio n
mua, gm cc thuc tnh sau:
STT HD MUA trng klio v l s tli t ca cc mt hng trong ho n mua.
MAJVIAT HANG kho ngoi lin kt vi thc th DANH MUC MAT HANG.
MA HD MUA kho ngoi lin kt vi thc th HOA DON MUA.
lO
SO LUONG MUA s lng ca hng mua.
DON V1TI NH on v tnh.
GIA MUA gi mua ca mt hng.
THANH_T1EN_DHDM thnh tin ca mt hng .
THUE DONG MUA thu ca hng .
B1EU THUE biu thu ca mt hng ,
5. Thc th HOA_DON_BAN lu cc thng tin chung v ho n bn, n bao gm cc thuc
tnh sau;
MA HD BAN trng kho.
NGAYJHD BAN ngy pht sinh ho n bn.
MA DOI TAC lu m ca khch hng.
TONG_TlEN_BAN tng tin ca ho n bn.
NO BAN s tin khch hng cn n ca ho on bn ny.
NGAY PHAI TRA HDB ngy phi tr ho n bn .
THUE_BAN tng tin thu phi tr cho ho n bn ny.
GH1CHU HDB ghi ch vho n bn .
TRANG THAI JHDB trng thi ca ho on bn ny.
6. Thc th DONG_HOA_DON_BAN dng m t chi tit v tng mt hng trong ho n
bn, gm cc thuc tnh sau:
STT HD BAN trng kho v l s th t ca cc mt hng trong ho n bn.
MAJVIAT HANG kho ngoi lin kt vi thc th DANH MUC MAT^HANG.
MA HD BAN kho ngoi lin kt vi thc th HOA DON BAN.
SO LUONG BAN s lng ca hng bn.
DV TINH n v tnh.
G1A BAN gi bn ca mt hng.
THANH_TIEN_DHDB thnh tin ca mt hng .
THUE DONG BAN thu bn ca hng .
BIEU THUE biu thu bn ca mt ling .
7. Thc th DANH JV1UC DO TAC dng lu cc thng tin v i tc (ngi cung cp v
khch hng) lin quan n doanh nghip, c cc thuc tnh sau;
MA DOI TAC trng kho ca thc th.
TEN DOI TAC tn ca i tc.
DIA CHI DOI TAC a ch ca i tc.
SO DiEN THOAI s in thoi ca i tc.
8. Thc th DANH_MUC_NGAN_HANG, dng lu danh mc cc ngn hng lin quan n
hot ng ca doanh nghip, n bao gm cc thuc tnh sau:
161
MA NGAN HANG trng kho ca thc th.
TEN_NGAN_HANG tn ca ngn hng .
DIA_CHI_NGAN_HANG a cli ca ngn hng .
SO_DIEN_THOAI_NH s in thoi ca ngn hng,
9. Thc th D01TAC NGAN HANG y l thc th trung gian gia i tc v ngn hng,
gm nhng thuc tnh sau.
MA NH DT trng kho .
MA_NGAN_HANG kho ngoi iin kt vi thc th DANH MUC NGAN HANG.
MA DOI TAC kho ngoi lin kt vi thc th DANH MUC DOI TAC.
SO TK DOI TAC s ti khon ca i tc.
10. Thc th S0_TAI_KH0AN_0_NH dng lu s ti khon ca doanh nghip ti ngn
hng, n gm nhng thuc tnh sau:
MA SO TK trng kho ca thc th.
MA NGAN HANG kho ngoi kt ni vi thc th DANH MUC NGAN HANG.
S0_TK_0_NH s ti khon ca doanh nghip ngn hng.
11. Thc th CHUNG TU NGAN HANG,dng lu cc thng tin lin quan n ngn hng
nh l vic gi tin, rt tin t ngn hng, hay vic thanh ton n hng thng qua ngn hng.
N bao gm nhng thng tin sau:
MA PHIEU trng kho ca thc th.
NGAY PHAT SINH lu ngy pht sinh chng t.
GUI_OK trng ny xc nhn vic gi hay rt tin khi ngn hng.
MA_DOI_TAC nu trng ny c n s th hin vic thanh ton ca i tc vi doaiih
nghip thng qua ngn hng.
MA_HD_BA'N trng ny th hin vic khch hng hay doanh nghip thanh ton cho ho
n mua bn no.
SO LUONG TIEN s tin ca nghip v.
TRANG THAI CT NH th hin trng thi ciia chng tir .
12. Thc th PHIEU THU CHI dng lu thng tin thu chi tin theo ho n mua bn hng.
N bao gm cc thuc tnh sau:
MA_PHIEU_THU_CH1 trng kho ca thc th.
NGAY_PHIEU_THU_CHI ngay ghi phiu thu.
MA DO TAC m ca khch hng thanh ton.
MA HD BAN m ho n thanh ton.
MAJHD MUA ta thanh ton cho m ho n no.
S0_T!EN_THU_CH1 s tin thu.
PH1EU_THU trng ny th hin y l phiu thu hay phiu chi.
TRANG THAI PTC trng thi ca phiu tlui.
162
13. Thc th DANH_MC_MAT_HANG lu cc ting tin v mt hng, bao gm cc thuc
tnh sau:
MA_MAT_HANG trng kho.
TEN HANG tn ca mt hng.
MO_TA_MAT_HANG m t v mt hng.
S0_TK_CAP_1 s ti khon cp 1 ca mt hng .
S0_TK_CAP_2 s ti khon cp 2 ca mt hng .
MA NHOM HANG m ca nhm hng nh thu.
14. Thc th MAT_HANG_VA_DOI_TAC l thc th trung gian gia thc th
DANH_MUC_MAT_HANG v thc th DANH_MUC_DOI_TAC, no bao gm cc thuc tnh
sau:
MA_MH_DT trng kho.
MA_MAT_HANG tnrmg kho ngoi kt hp vi thc th DANH_MUC_MAT_HANG.
MA DOI TAC trng kho ngoi lin kt vi thc th DANH_MUC_DOI_TAC.
GIA CHUAN gi tham kho chun ti mt thi im no .
15. Thc th NHOM HANG dng lu cc nhm hng phc v vic nh gi v mc
tiu th ca cc loi hng, c cc thuc tnh sau:
MA NHOM HANG trTig kho ca thuc tnh.
SO_TK_CAP_l s ti khon cp 1 ca mt hng .
S0_TK_CAP_2 s ti ichon cp 2 ca mt hng .
TEN NHOM HANG tn ca nhm hng.
16. Tt c cc thng tin v nghip v kinh t pht sinh th u c nh khon v lu trong s
nht k tng qut. Ta c thc th SO_NHAT_KI_TONG_QUAT, n bao gm cc thc th sau:
STT trng kho ca thc th.
TK NO CAP l s ca ti khon ghi n cp 1.
TK CO CAP l s ca ti khon ghi c cp 1.
TK_N0_CAP_2 s ca ti khon ghi n cp 2.
TK_C0_CAP_2 s ca ti khon ghi c cp 2.
LOAI_NGHIEP_VU_l loi ca nghip v pht sinh gy ra.
MA NGHIEP VU l m ca nghip v pht sinh.
NGAY_NGHIEP_VU_1 ngy pht sinh nghip v.
LOAI_NGHIEP_VU_2 loi nghip v l nguyn nhn gy ra nghip v frn.
MA_NGHIEP_VU_2 m ca nghip v i nguyn nhn gy ra nghip v fren.
DIEN GIA1 din gii v nghip v kinh t pht sinh.
SO TIEN s tin ca nghip v kinh t pht sinh.
163
MA DOI TAC lu m ca i tc phc v vic bo co theo tng i tc.
MA_NGAN_HANG lu m ngn hng phc v cho vic bo co theo tng ngn
hng.
17. Thc th SO CAI dng tng kt tt c cc ti khon, bao gm cc thuc tnh sau:
SO TK CAP 1 s ti khon cp 1.
S0_TK_CAP_2 s ti klion cp 2.
TEN_TK_CAP_1 tn ca ti khon cp 1.
TEN_TK_CAP_2 tn ca ti khon cp 2.
L 0 A 1 T K 1 loi ti khon 1 phc v cho vic lm bo co thu nhp.
L0AI TK 2 loi ti khon 2 phc v cho vic lm bng tng kt ti sn.
SO_DU_BAN_DAU s d ca ti khon ban u.
SO DU THANG l s d ca ti khon thng 1.
SO_DU_THANG_2 s d ca ti khon thng 2.
S0_DU_THANG_3 s d ca ti khon thng 3.
S0_DU_THANG_4 s d ca ti khon thng 4.
S0_DU_THANG_5 s d cia ti khon thng 5.
S0_DU_THANG_6 s d ca ti khon thng 6.
S0_DU_THANG_7 s d ca ti khon thng 7.
S0_DU_THANG_8 s d ca ti khon thng 8.
S0_DU_THANG_9 s d ca ti khon thng 9.
SO DU THANG_ 10 s d ca ti khon thng 10.
SO DU THANG l 1 s d ca ti khon thng 11.
SO_DU_THA N G 1 2 s d ca ti khon thng 12.
i 8. Thc th BAO CAO ch yu m t cc thng tin nh tiu , loi bo co, Cc thuc tnh
ca BAO CAO:
SO TT BC m t s th t ca cc bo co v cng l thuc tnh kho.
CONG TY tn cng ty lp bo co.
TEN BC tn ca bo co.
THANG thng lp bo co.
NAM nm lp bo co
NGUOI LAP tn ca ngi lp bo co.
NGAY_LAP ngy lp ra bo co.
DON VI TINH n v tnh ton cc s liu trn bo co.
LOAi BAO CAO thuc tnh ny dng phn loi cc bo co. Theo h thng k ton
c bn loi bo co chnh;
0 - bo co li l.
164
1 - bo co v vn ch s hu.
2 - bo co cn i ti sn.
3 - bo co lu chuyn tin mt. DOANH THU doanh thu CLia bo co kt qu hot
ng kinh doanh.
Trong ba loi bo co u 0 ^ 2 c lp theo thng v bo co th 4 c lp theo
nm hot i i g ca CII ty.
CH PHI chi ph ca bo co kt qu hot ng kinh doanh.
LO RONG li rng hay l rng ca bo co kt qu hot ng kinh doanh.
VON DAU THANG vn ti thi im u thng ca ch nhn.
DAU TU s tin u t ca chu nhn trong thng.
RUT VON s tin rt vn ca ch nhn trong thng.
VON_ DAU THANG vn ch s hu cui thng.
VON CUO THANG vn ch s hu cui thng.
TA1SAN ti sn ca cng ty.
NO PHAI TRA s tin n phi tr.
T1EN HD KINH DOANH lu lng tin trong hot ng kinh doanh.
TIEN HD DAU TU UL lng tin trong hot ng u t.
TIEN HD TAI CHINH lu lng tin trong hot ng ti chnh.
TANG RONG lirng tin tng rng trong nm.
TIEN DAU NAM lng tin vo cng ly u nm.
TIEN CUOl NAM lng tin vo cng ty cui nm.
Trong ba loi bo co u 0 ^ 2 c lp theo thng v bo co th 4 c lp theo
nm hot ng ca cng ty.
19. M t ii ung ca bo co dng thc th DONG BAO CAO vi cc thuc tnh nh sau:
SO TT BC number(5) foreign key l kho ngoi ca thc th lin kt hai thc th
BAO_CAO v DONG_ BAO^ CAO.
MA m CLa ti khon hay ti sn.
MO TA m t tn ti khon hay ti sn.
SO DU s d ca ti khon hay ti sn sau thng lp bo bo.
165
PhyvMOMMaM
P n l ct H> tre ttwn n'dih
3
UA^*CM_HmO
fMOM HANO
fcW>m1WQVCHMM
SOjn^_CAPJ NUMB6R0)
TE^LNMOM_HAN6VARCWa(30
80.TKCAP.2 NMBR(4)
MT HANG 001 TAC
MiS MT. _
M^DQI T yftffiHaB2u*'^-;^
01A_CHUAN NUMBEfW2)
MA NHOM tWVAaCHAR2t
OOI.TAC
MAbo TC
TEN.OOI.TAC
OIA_CHI_Da_TAC
SO_OIEN.THOAI.DTNUMBCR(9)
ST_OOi.TAC.NO NUMBE(17,2j
C ' I DOi TAC_NGAN_HANG "
VARCH*R2(3t DPITAC VfflCHftBaicj
VARCH(KR2p( j SO_TK_OOI_TAC IMTEGER I
NtMtfVRM I I .................. J
MA.MOM.HMi MA.NCUM.HAMO
....1 - . - ^ - . .
I >AN_HANO
fiNQMim VF^Vii^it
TEN_NGA^<_HANO VARCHAR2
DWuCM_NQAN_iWK/AR<i(aC3
SO.CHEN.THOAJ.KW^W(10)
S_TACwAN_0_fW 1
NaW~7<NG~
MA SQ m KKJMBERfia I
S O . T K _ O . W NUMBER(10
SO TIEN_CON_OINUMBER(17^
M\.N0MCHAN0 VARCHAR2(10 <
80.TieN_0AU_TU NUMBER(18^
NOAY_PHU.DAU_nCATE
TRANO TH*J_POT tNTEOER
RT_VON
PHEURUTVQH
W J t O M J V m VARCHA(10C,.
8O_TSN_RUT_V0N NUMBOt(15ja
N0AV_PWEUJWT_V0fCAT6
TRANO.TMAJ.PRV INTEGER
M\.PHIEU_RUT_VO#WMKR(lO)
M\.NOHIEP_VU.t VARCHAR2{t2
N0AY_N0M^_VU_1 DATE
M^.NOHCP.VU^ VARCHAR2(ia
OtEN_OtM VAACHAR2P0
M.TN NUMBERTJ)
*K_OOI.TAC VARCH*R2f10
M\_NQAfCHANQ VARCHAR2(10
- , r ''^.....
OJn^.om.j.^ nuo_oe.i
o.WwCw.a VUJOJMJ
T t ^ C A P ^
9Q TmWBW
8Q -n< CAP g N U I g B 4 t
TtHJ{_CAPJ VARCHWO
f
90J >i
WUfcggftm
VAACHAR20
LOM TI^THU NHAPINTEOER
W_TX.CTS MTiOER
80.U_aA<_0AU NUMBER(17^
SO 0U.THAN0.1 MUMBER(17J)
8O.0.T<ANO_2 NUMBER(17JZ)
80_OU_TMANO_3 NUMBER(17J9
80_DU_THAN0_4 NUMBER(17^
8O.0U_THANO_5 NUMBER(ira
80_DU.THAN0.e NM6ft(17.2)
80.0.TMAH0.7 NUEft(17^
80.DU_THAN0. NUIyeER(174
SO.OU.TMANO. NUMBER(17^
60.DU.THANOJO NUMBR(17jQ
8 0 ^ .T H W J 1 NUMBEfKir;o
8O.0U_TMIOJ2 number(17;q
NOAY.IAP
NOOt.V
LOAi.BAO.CAO
oomm. tnu
CHI.PMI
tO(.RONO
VON.CVKU.THANG
OW.TU
RT.VON
VON_CUOI.TMANO
TAI.8AN
NO_PMAI_TRA
TIEN HD K}NH_D0ANHMyKIV17;Q
TI6N_H0_DAU.TU W I R < ir2 )
T16N_H0_TAI.CHB W 6R (i7 a
TANO.RONO NUMBER(17^
T1EN.0A.MAM tMkER(17;a
TIN^CUOI.NMI tMEH(175)
O.n^.iO.TTJC
166
OONQJBM.CAO
80 Bc myBEBm
u& HueEKe
MO.TA V/MCHAR20C
so .o u MJMKR(17;2]
M hnh thc th xy dng t h thng ti chnh k ton:
Mt s thut ton chuyn s Vi tnh ton s Hu cho cc ho co
T thng tin ca cc thc th trn c sinh ra trong qu trinh h thng lm vic, thng
tin trong hai s ci v s nht k tng qut c nhp vo theo hai thut ton trnh by di
y:
Thut toi chuyn t s NKTQ sng s ci
Cho mi NK (nghip v kinh t pht sinh) n ngy cn tnh (thng l CLI thng) lm
cc cng vic sau:
Nu TK bn n ca NK thuc loi tnh s d bn n' > s dir TK ^ s d TK + s tin NK;
Nu TK bn n ca NK thuc loi tnh s d bn c ==> s d TK ^ s d TK - s tin NK;
Neu TK bn c ca NK thuc loi tnh s d bn c => s d TK = s d TK + s tin NK;
Nu TK bn c ca NK thuc loi tnh s d bn n =^> s d TK s d TK - s tin NK.
Thut ton tnh bo co doanh thu (tnh doanh thu, tnh chi ph, hiu - li nhun),
Bo co oanh thu c lp sau mi thng hot ng kinh doanh, m t li nhun ca
cng ty thng .
1.S d ca ti khon Doanh thu cp mt trong s ci.
S d ca ti khon chi ph cp mt trong s ci.
Li rng s d TK doanh thu - s d TK chi ph.
Thut lon tinh ho co v vr chu s him (tnh s d vn thng truc + u t vn
trong thng ^ li nliiin - tin ch s hu rt vn)
Bo co v vn ch s hu ghi bin ng v vn ca ch s hu u t vo c s kinh
doanh.
S d thng trirc ca ti khon u tir.
S d troig thng ca ti khon u t.
Li nhun trong thng bo co li l.
S d ca ti khon rt vn trong thng.
Vn ch s hu s d thng trc ca TK u t + s d trong thng ca TK u t
^ li nhun - s d TK rt vn
Thi ion nh ho co cn di ci sun (ti sn n phi tr vi cli s lru)
Bo co cn ti sn so snh hai v ca phoig trinh k ton.
Ti sn ==s d ca TK tin mt+ s d TK phi thu + s d TK chi ph + s d TK ti
sn c nh.
S d TK n phi tr ^ vn ch s hu trong bo co v vn ch s hu.
Thut ton tnh bo co lu chuyn tin mt
(Tin mt vo cui nm lng tin mt rng trong kinh doanh + lng tin mt rng
trong hot ng ti chnh - lng tin mt rng trong hot ng u t ^ tin mt vo u nm)
167
Lu lng tin mt trong hot ng sn xut kinh doanh ^ li nhun - (s d trong TK
phi thu - s d TK chi ph + s d trong TK n phi tr).
Lu lng tin mt trong hot ng u t s d TK c nh.
Lu lng tin mt trong hot ng ti chnh ^ s d TK u t - s dir TK rt vn.
Tin mt vo u nm s du' u nm.
Phn tch chc nig:
Qu trnh phn tch chc nng c thc hin thng qua vic nghin cu nghip v ca
h thng v tip xc vi ngi dng, phn r cc chc nng ln thnh cc chc nng nh hn
cho n khi cc chc nng khng th phn nh 'c na. Cc chc nng ny gi l chc nng
nguyn t. Sau khi phn r cc chc nng ln thnh cc chc nng nguyn t phi qua bc
kim tra t di ln pht hin cc chc nng cn thiu.
M hnh mc nh ca h thng ti chnh k ton.
168

Doiiac
Phieu gui tien
phieu tra no
F^ihleu rut tien
Phieu thu no I
Danh muc doi tai^nh mc ngan^hang
Pi'Hoa don ban
Bao cao tong hop
Phieu dau tu
Glay bao chuyen tien
Phieu yeu cau chuyen tien
Bo phan theo doi don hang yc
Danh muc mat h mg
Chu doanh nghiep yeu cau
- Bao cao ve doi tac
Bao caoltheo don hang
Danh muc ta! khoan
Bo phan theo doi doi tac yc
1.69
Danh muc doi tac
Do tacDanh mub ngan hang
U' "
Dotac
<-
Hoa don mua
Phieu veu cau chuyen tien
phieu tra no
Danh
. Danh muc m
Chu doanh nghiep
iay dmdt
luu
DcMtac
Phu igu tien
mc ta khoan ^gan hang Doi tac Doi tac
rt hang
Chu doanh nghiep
Ngan hang
----
Ngan hang
I I I-W ^
I ! '^y^^^phteJHoadpnban
1 Laydmnh '
luu dm mh
luu hd b in
Ngan hang
anh muc do tac
Chu doanh nghiep
M \
luu t)a don nh^n ie^
; Chu doanh nghiep / \ \
luudmnh luy hoaon hoadri vri
M ' / \ \ Phieu y
I -------L------- ; ____ ___luu hoa don dau tu chuy
----- 1 I Hoa on ban ^inoa don nhan ti^
^ o , i U | n..... J , 1 ;
....... i 1 M ' j dautu --------------- y
I ! hoa don tra tien r g I J ..
hoa don mua ' L J bao kh
M r : ! I rutvon guiuen :
Danh muc tai khoan ( doc ohieu da-.u
l i [ doc hd nhan tien
Danh muc mat hanc ' : !
I 1 > : :
Ngan hang
Phieu yeu cau
chuyen en
doc
lay tai khoan
i' dochd tra tien
doc gh hd ban
jh h mua......................
doc phieu gu ten
docphieu njttten
doc phieu bokh chuyen ten
doc pheu yc chuyen 1
8ao cao theo don hng
' i^mo^Un
Bo phn theo doi don hang
o ph*^o do dn hang yc
Bo phan theo dol don hang
dochoadon
doc hoa don mua
.. *
VgNtng hop
I
tng hopKcaovedoita!
i
so cai cac tai khoan

: Bo phan theo doi khach hang va ngak hang


Chu doanh nghep yei8o phan theo doi khach hang va ngan hang
[><........._
Bao cao tong hop
Chu doanh t,eo doi doi tac y
170
Trong qu trnh phn tch ch nu ra cc thng tin d liu v cch x l d liu. u
vo ca qu trinh thit k l cc c t yu cu c xy dng trong qu trnh phn tch, bao
gm:
- M hnh tlrc th lin kt.
- M hnh phn cp chc nng.
- Cc ti liu h tr'.
(1), Thit k cc bng d liu
Cng vic thit k cc bng d liu da trn cc thc the to ra phn phn tch.
Cc quy tc chuyn cc thc th ny thnh cc bng d liu nh sau:
Thc th ( entity ) Bng d liu ( table J
Thuc tnh ( artribute ) -> Colum ( c t ) trong bng d liu
Quan h ( relationship ) -> Foreign key colum
UID ( unique identifer ) -> Primary key
Domain -> Domain
Trong UID C the l mt thuc tnh, mt tp hp cc thuc lnh, t hp nhiu quan
h, t hp nhiu thuc tnh trong quan h sao cho n xc nh duy nhat mi th hin ca mt
thuc tnl. Ngoi ra cc thuc tnh ca thc th c nh ngha khiu nh varchar2(n),
niimber(n), number(n, s), char(n)... m t trong s d thc th.
(2). M t cc chc nng
H thng ti chnh k ton c nghin cu v chia lm bn chc nng chnh nh m
hini di y theo:
- Qun l bng danh mc.
- X l chng t gc.
- Kim tra v lu tr.
- Chuyn s nht k tng qut sang s ci.
- To bo co.
5.1.4. Thit k
171
5.1.5. M t thit k h CO sd d liu phn tn cho h thng k ton
phc v cho thit k mt h c s d liu phn tn cho h thng k ton ti chnh,
phn ny dng l thuyt trinh by cc chng trc lm tiu chun. Do thng thng
thit k mt h c s d liu phn tn cn phi lm cc cng vic sau:
+ Thit k c s d liu phn tn: lm cc cng vic phn on, cp pht, ti u cp
pht on.
+ Dch cc cu hi p tng th v c sd liu thnh cu hi p v cc on tng
phn ca h thng ch lm vic trn cc on.
+ Ti u ho chin lc truy cp,
+ un tr cc giao tc phn tn.
+ iu khin tong tranh.
+ Qun tr c s d liu phn tn.
172
H thng k ton ti chnh ny thit k da trn CO' sd liu ORACLE, cng c kt
ni c s d liu, h qun tr c s d liu... c sn. V vy cng vic thit k cn li ch l
thit k c s d liu phn tn v qun tr c s d liu phn tn.
H thng hot ng khi c cc nghip v kinh t pht sinh, nhn vin trong cng ty s
cp nht d liu vo c s d liu a phng ' v tr . Trong c s' d liu ny c cc phn
sau:
Qun l anh mc i tc.
un l danh mc mt hng.
Qun l danh mc ngn hng.
Qun l danh mc ti khon.
H thng cc ho on, chng t c lu tr x l.
C th xem nhir y l nhm cc ngi s dng h thng c cng tnh cht cng vic l
cp nht thng tin.
Cng vic k ton ti chnh s dng thng tin t nhm lm vic trn thng k v x
l thng tin. Nh vy cng vic k ton ti chnh cn cc bn sao ca c s d liu nhm cp
nht d liu to ra s nht k tng qut, s ci v cc bo co. Nhm lm cng vic k ton
ti chnh c cc quyn cp nht, xem v sa thng tin. Hon na khi cc bo co c to ra
cng cn c s d liu lu tr. Hai nhm ngi s dng thng tin ca cc bo co l nhm
lnh o cng ty v nhm ngi ngoi cng ty. Nhm lnh o cng ty c quyn xem v sa
thng tin ca cc bo co.
V vy cng vic cn li bao gm:
Xc nh yu cu thit k h thng k ton;
Cng vic xc nh yu cu ca h thng c nhiu yu t tc ng v c th c nhiu
mu thun nhau cho nn nhng yu cu a ra sau y i vi h thng CO' s' d liu phn tn
cng cha c th gi l u :
- Thng tin cp nht nhanh nht.
- Tr li yu cu ca khch hng cng nh cc giao dch trong khong thi gian ngn
nht.
- Thng tin h tr cho cng vic giao dch (thng tin v ngn hng, khch hng...) c
thi gian p ng nh nht tin li cho vic giao dch v bn hng.
- H thng lm vic phi tho mn sao cho gi c ca dch v gim.
- Qu trnh to ra bo co nhanh, ng k hn. Thng tin ca bo co chnh xc.
- Gi c xy dng h thng nh nht.
Trn c s cc yu cu, v tr ca cc CO' s d liu c t nh sau:
La chn v tr t c s' d liu v phn nhm ngi s dng
nh ga v tr t c s d liu theo mt s tiu clun sao cho v tr t CO s d liu
tin li nht:
+ Tn xut s dng c s' d liu.
173
+ s ln lin kt c s d' liu.
+ Cc tham chiu n c s dr liu e cp nht, c hay thay i.
Da trn cc tiu chun trn v tnh cht ca h thng tin ti chnli k ton c th la
chn h thng theo hai nhm chnh tng ng vi hai c s dCr liu:
C s d' liu 1; l nhm ngi cp nht thng tin vo h thng. Co' s d' liu ca
nhm ny t ti v tr nhm lm vic. Do yu cu ca cng vic, giCra cc nhm c th ly mt
s phn thng tin ca nhau theo quyn. Theo yu cu pht trin h thng c th m rng nhiu
c s dCr liu c cu trc v nhim v ging nh c s' d liu ].
C s d liu trung tm: gm c hai nhm l lnh o cng tv, nhm ngi imoi cng
ty v nhm k ton ti chnh. Nhm k ton ti chnh c cc quyn cp nht, sa i, ghi v
qun l c s d liu ring l s nht k tng qut, cc bo co v bn sao lp li thng tin c s
d liu ca nhm I . Nhm ngi ngoi cng ty dng c s d liu ny phn bo co v chi c
quyn duy nht l xem. Nhm lnh o c th c tt c thng tin trong c s d liu ny nhng
chi c thm quyn sa i vi phn bo co.
Theo cch thit k ny h thng s d thay i khi pht trin thm nhiu im kinh
doanh.
S m t cch kt ni thng tin gia cc c s d liu.
174
SO' thit k trn mi nhm ngi c quyn ch cp nht tng ng vi mt c s
dCr liu. V c s d liu ny c mt bn sao ti c s d liu trung tm, mi bn sao ny c
lm cp nht (update) theo chu k sau khong thi gian tng i ln nh tun, thng. H thng
ny c th c nhiu c s d liu ti nhiu noi v chi c m c s d liu trung tm. Tuy nhin,
nhn vin - cc nhm c CO' s d liu u c th phn quyn ln nhau theo nguyn tc.
Phn quyn ngi s dng d' liu:
R; quyn c
W: quyn ghi
U: cp nht
D: quyn xo
Thc th
Nhm
lnh o
Nhm
lm vic
Nhm k
ton
Nhm
ngoi h
thng
DAUTU RWU R R R
RUTVON RWU R R R
HOA_DON MUA R WRU R
DONG^HOA DON MUA R WRD R
HOA DON BAN R WRD R
DONG__HOA_DON_BAN R WRD R
DANH MUC NGAN HANG R WRD R
DANH MUC DOI TAC R WRD R
DOLTAC NGAN HANG R WRD
R
TAI KHOAN P_ NH R WRD R
CHUNG_TU.NGAN_HANG R WRD R
PHEU THU CHI R WRD R
d a n h _ m u c 1 n g a n _ h a n g R WRD R
MAT HANG VA_ DOI TAC R WRD R
NHOM HANG R WRD R
SO NHAT K TONG QUAT RWD . WRU R
SO CAI RWD , WRU R
BAO CAO RWD , WRU R
DONG BAO CAO RWD WRU R
Trong c s dCr liu, mi thc th trong c s d liu l mt bng dCr liu vt v cc
bng vt l ny c c s dfr liu ORACLE qun l v ngn ng SQL trong DELPHI s qun
l vic cp nht c s' d liu ny theo quyn.
175
S trn m t thit k hai c s d liu in hnh ca h thng k ton ti chnh.
Trong hai c s d liu c m t cc Ihnh phn ca c s d liu.
5.1.6. S phn cp chc nng ca h thng
Chng trnh c giao din menu thit k nh sau:
Qun tri h thng
- Trao quyn: chc nng ny chi c ngi qun tr h thng c s dng trao nhng
quyn tng ng khi thm c ngi tham gia vo h thng.
176
- Rt quyn: chc nng ny ngi qun tr h thng hu b cc quyn ca mt ngi
slYdng trong h thng.
- Thot khi chng trnh
ng ky h thng
- ng k i tc: lu trCr thng tin v cc i tc c giao dch vi cng ty.
- ng k ngn hng: lu thng tin v cc ngn hng m cng ty c ti khon v tin
gi ngn hng .
- ng k hng ho: lu thng tin v cc loi hng ho m cng ty mua bn.
- ng k ti khon: trong mt ngn hng, cng ty c th c nhiu ti khon, nn chc
nng ny lu thng tin v cc ti khon.
Nhp d liu
- Nhp chng t u t: lu thng tin v hot ng u t ca ch s hu vo ti sn
ca cng ty.
- Nhp chng t rt vn: lu thng tin v hot ng rt vn ca ch s hu t ti sn
ciia cng ty.
- Nhp ho n mua: nhp thiig tin mua hng ca cng ty.
- Nhp ho n bn: nhp thng tin bn hng cho khch hng.
- Nhp phiu thu chi: nhp phiu thu chi ca cng ty i vi cc khon thu chi.
- Nhp chng t ngn hng: nhp thng tin v vic giao dch ca cng ty qua ngn hng
v ti khon.
X [y
- Chuyn s: x l chuyn thng tin v cc ti khoan v s tin sang s ci lp bo
co.
- To bo co theo thng: bo co li nhun, bo co v vn, bo co cn i.
- To bo co theo nm: bo co lu chuyn tin mt.
Xem bo co
- Bo co li nhun.
- Bo co v vn ch s hu.
- Bo co cn i ti sn.
- Bo co lu chuyn tin mt.
-ro:.gR
- Ni dung,
- Tc gi.
Mi phn ca menu tng o'ng mt cng vic ca tng nhm ngi trong h thng,
Ngi s dng khi lm vic trong h thng cn phi c ng k qua ngi qun tr h thng
trn c s cc quyn v tnh cht cng vic ca ngi . Ngi qun tr h thng k ton ti
chnh c tt c cc quyn v chu trch nhim gim st h thng hot ng.
177
DELPHI h tr c ch qun l ngi s dng thng qua ngn ng SL gm cc cng
vic nh: ton vn d liu, iu khin tng tranh, xc nh lut lm vic, quyn truy cp d
liu, thit k giao din clienserver.
5.2. THC HNH VI MT s THUT TON IU KHIN TONG
TRANH TRONG QUN L GIAO DCH PHN TN
Hai thut ton iu khin tng tranh c trnh by l cc thut ton dng kha v
dng nhn thi gian. minh ha cho cc thut ton ny nh sau;
Thut ton s dng kha
S dng th tun t s ha, trong cc nh biu th cho cc giao dch, cc cung
biu th cho mi quan h th t gia cc giao dch.
Kim tra tnh kh tun t ca lch biu chnl l kim tra th c chu trnh hay khng.
178
e biu din th tun t ha ta dng ma trn k. th tun t ha l mt s th
hu hn c hng G = <T, u >, trong T = {T|, T2,. -, Tii} tp cc giao dch l cc nh ca
th, u l tp cc cung ca th c hng t giao dch Ti n T.
th G c biu din bng ma trn k vung cp n m phn t hng i ct j ca n c
gi tr bng 1 biu din di i vi cp nh (T|, T|), t T, n Tj c mt cung (ngha l giao
djch T| phi i sau giao dch T, trong lch biu tun t tng ng), ngc li nu phn t ny
c gi tr bng 0 th khng c cung no nh no i t nh T| n nh Tj (ngha l giao dch Tj
khng nht thit phi i sau giao dch Tj trong mt lch biu tun t tng ong).
Vi d: Xt th G = <T, u>
Ma trn k ca n l:
M
3x3 _
n T2
0 1
0 0
1 1
T3
1
0
1
Thut ton to ma trn k cho th tuh t ha

Ty theo m hnh kha c s dng m to ra ma trn k tng ng.
+ Ma trn k cho m hnh ha c bn:
Cc bc thc hin:
1. u tin gn cc gi tr 0 cho cc phn t ca ma trn.
2. Ln lt kim tra tng thao tc trong lch biu, mi thao tc l mt b 3 c
dng:
<T, Oj, Ai> Hay <T Operation, tem>
trong : Tj - l nh danh ca giao dch.
Operation - l cc thao tc d liu, c th l l oc k' - kha c hoc unlock'- m kha.
Item - l mc d liu, gi s A.
179
3. Neu thao tc l ' lock' th khng lm g kim tra thao tc tip theo.
4. Nu thao tc l ' unlock' thi: tm thao tc tip theo c dng Tj lock A, nu c
thao tc nh vy th gn gi tr I vo phn t tng ng ca ma trn k nm
trn hng i ct j, kim tra thao tc tip theo.
5. Lp li vic kiem tra cho n khi khng cn thao tc no tronu lch biu.
Thut ton 5,1: Ma trn k cho m hnh kha CO' bn
Decelaret ype
Operation^ recod {bn ghi mt thao tc trong lch biu
Td: Byte {Sitelci nh danh mt giao dch
Op, {thao tc: kha I m kha ^Li')
Item : char {Mc d liu cn thao tc)
End
Declare var
A ; array[byte,byte] of 0... 1
NumberOfOpe : byte {So cc thao tc trong lch biu}
S : array[byte] of Operation {Mng cha cc lch biu}
Begin
For \: ~] to NumberOfOpe do
Forj:^^l to NumberOfOpe do A[ij]-^0
For i:^ 1to NumberOfOpe do
ifS[i].op=u' then
begin
j H + I
while(j<= NumberOfOpe) do
begin
if (S[i].op= 1) and (Sfij.ltem) then
Begin
A [ i J ] r - l
Thot khi vng lp while
End.
180
end
end.
+ Ma Irn k cho m hnh kha c v kha ghi
1. u tin gn gi tr 0 cho cc phn t ca ma trn
2. Ln it kim tra tng thao tc trong lch biu, mi thao tc l mt b ba c dng;
<T o,. A,> Hay <T,. Operation, tem>
trong : T, - l nh danh ca giao dch.
Operation - l cc thao tc dCr liu, c th l ' rlock' - kha c hoc ' wlock' - m kha.
Item - l mc d liLKgi s A.
3. Neu thao tc l ' rlock' hoc ' wlock' th khng lm g. kim tra thao tc tip theo.
4. Nu thao tc l ' unlock' th: tim thao tc tip theo c dng Tj wlock A, nu c thao
tc nh vy th gn gi tr ] vo phn t tng ng ca ma trn k nm trn hng i
ctj.
5. Lp li vic kim tra cho n khi khng cn thao tc no trn lch biu.
Thut on 5.2: Ma trn k cho m hnh kha c v kha ghi
Decelare type
Operation recod (bn ghi mt thao tc trong lch biu}
Tid: Byte {Siteld nh danh mt giao dch}
Op. {thao tc; kha ' I \ m kha 'Li'}
Item ; char {Mc d liu cn thao tc
End
Declare var
A : arravfbyte,byte] o f 0... 1
NumberOfOpe : byte {S cc thao tc trong lch biul
s : array[byte] of Operation Mng cha cc lch biu)
Begin
For i: 1 to NumberOfOpe do
For j : ' 1 to NumberOfOpe do A[iJ]: ~0
Fori: I to NumberOfOpe do
if"S|iJ.op ' u then
end
18
while(j<^ NumberOfOpe)'do
begin
if (S[i].op 1') and (S[i].ltem) then
Begin
Thot khi vng lp while
End.
lf(S[i].op - > ) and (S[j].ltem S[i].Item) and (S[il.Tid<>S[i].Tici)
then A[i,j]
end
end
end.
Thut ton kim tra tnh kh tun t ca lch biu
e xc nh rang mt b lp lch no l ng, chng ta cling minh rng mi lch
bieu c n cho php u c c tnh kh tun t.
kim tra th c chu trinh hay khng v tim ra mt lch biu tun t tng ng
Vc l thc hin vic sp xp topo nu lch biii ny l kh tun t), ta cia Irn cc lp lun sau:
Nu th khng c chu trinh, ta lun tim c mt inh khng c cung vo. Trong ma
trn k, inh tng ng vi ct cha ton phn t 0. Loi b nh ny khi tp inh (trong
ma trn k l loi b ct ny v dng c cng ch s vi n). Lp li qu trnh ny cho n khi
xy ra mt trong hai trng hp sau:
1. Neu tp inh l rng, ngha l tp nh th khng c chu trnh, ta kt lun lch
biii c l kh tun t, th t tim c theo quy tc trn l th t cc giao dch
trong lch biu tun t tng ng.
2. Nu tp inh khng khc rng m ta khng tim c ct no cha ton gi tr 0,
ngha l th c chu trinh, kt lun lch biu cho bt kh tun t.
T/u ton 5,3: Thut ton kim tra th c chu trnh khng, Neu khn c chu trnh th
ch ra th i thc hin cc giao dch trong ich biu tun t (ng ivng.
Declare var
Index, {th t cc giao dch trong lch biu tng ng}
i, j : byte; {ch s nh danh cc giao dch}
begin
182
{tp hp inh}
{S nh
mng cha th t cc giao dch trong lch
SetofVer: set of byte:
NumOfVer: byte;
Od e r ; array [byte] of byte:
bieu tun t toim ong}
Fouiid: Bolean {Bin kim tra
A: arravfbyte^bvte] of 0... 1; {Mng cha ma trn k}
Begin
Index: ]
While SetOVer // 0 do
Begin
Forj; 1 to NumOfVer do
I f j e SetOfVerthen
Begin
Found: true
For i : ^l t oNumOfVerdo
i f ( i e SetOfVer) and then Foundi^false
If Found then
Begin
SetOfVer - SetOfVer
Order[lndex]: j
Index : Index^ 1
Thot khi vnu lp j
End
End
If SetOfVer // o then
Begin
7 hng bo lch bieu kh tun t
For i: 1 to NuniOVer do in ra Order[i]
End
Else thng bo lch biu bt kh tun t
End
183

Dng hai chng trnh; Ma trn k, kim tra tnh kh tun t ca lch biu, m phng
thut ton. Chng trnh hot ng nh sau;
Giao din khi ng chnh:
Kt qu chy th
Motep Xem ch bieu ihuchien Ihoat
' ' V y r A
0mmMSS'MSiM*m^
c d liu tp cc giao dch tng tranh tr mt file vn bn, mi dng trong file ny
cha mt thao tc ca lch biu c dng;
<Ti, Operation, Item>
184
p Danh Sach lich bieu ; Table
J
1 T2 RIock
2 T3 Pl uck
a
3 T2 VVIock b
4 T2 Unl ock a
5 T3 VVIock a
6 T2 Unl ock b
7 TI RIock b
S T3 Unlock a
9 T4 RIock b
10 T1 RIock a
11 T4 Unl ock b
12 T1 VVIock c
13 T1 Unl ock a
14 T4 VVIock
15 T4 Unl ock a
16 TI Unl ock b
17 T1 Unlock cl
Hanh (Jong Vat t h i
Dng
Hin th lch biu ln mn hnh.
Xeni ma trn k
Ma Iin k theo thut ton 3?
0 0 0 1
1 0 1 1
1 0 0 1
0 0 0 0
Xem do thi
2. To ma trn k biu din th tun t ha theo thut ton 5.1 hoc 5.2.
3. Dng vo ma trn k dng thut ton 5.3 sp xp topo v kim tra th c chu
trnh hay khng. Neii c th thc hin tip giao dch nu khng thi dng li.
185
sp xp topo v kim tra chu trnh, kt lun lch biu l kha tun t hay bt kha tun t
Kt un
tli tui t ha khng c chu tiiiili
Lch biu ny.l kh tiiii t
Lch biu tuii t tng ng l:
T2 -> T 3- > T i - > T 4
iu khin
Dng
Dng
VlDUl.PAS File d liu cha giao dch din ra ng thi nh sau;
la
ua
la
ua
Ib
Lib
Ib
Lib
186
V1DU2. PAS file d liu cha thng tin v 4 ng thi nh sau;
1
ra
J ra
wb
2 ua
3 wa
n
ub
1 rb
lia
3 rb
1 ra
4 Lib
1 \vc
1 a
4 wa
4 ua
1 Iib
1 11c
187
MT S THI QUA CC NM
De S 1:
Cu 1:
Cu 2:
Anh (ch) hy pht biu nh ngha c s d liu phn tn v giai thch nh neha?
Xt quan h Duan (MaDA, TenDA. Ngansacli. Diadiem) um cc diT liu sau:
Ma D A Ten DA Ngansach Uiadiem
Thit b o c 40000 riiai IMgiiii
P: Xy dng nh 34000 H Ni
p, Chn nui 27000 H Ni
P4
Khai thc 24000 Thanh Ho 1
\ \ Trnu trt 15000 Thanh Ho
a. Xc nh cc v t on gin c th nh ngha c trn quan h Duan
theo TenDA, v ciig vi hai v t Ngansach < 30000 v Ngansach >30000.
b. Da vo (a) hy xc nh cc v t hi s cp c th nh ngha irc trn
quan h Duan.
c. Da vo (b) hy xc nh tuyn ca cc hi SO' cp.
d. Da vo (b) hy phn mnh ngang cho quan h Duan.
Cu 3:
Cho bit quy tc duy tri tnh tun t ca nhn thi gian? p dng; xc nh cc thi im c,
thi im ghi cho cc giao dch T. ' ; . T;i, T4c cc nhn thi gian ii lt l 400. 500, 300,
600 trn cc mc d liu A. B, c (Cc giao dch thc hin int dy cc hnh ng do th sinh t
xy dim).
s 2:
Cu 1:
So snh s ging nhau v khc nhau gia c s d liu phn tn v c s d liu tp
trung? Cho v d.
Cu 2:
Xt quan h Nhanvien (MaNV, TenNV, Clnicvii. LAiong) gm cc d liu sau:
189
MaNV TenNV Chucvu Luong
E| Nguyn Vn Hoa G 150000
E: Trn Tun Anh TP 135000
e] Nguyn Th Hng PG 250000
E4
Bi An Phng TP 310000
E5 Nguyn Tliu Hng PG 140000
a. Xc nh cc v t n gin c th nh ngha c trn quan h Nhanvien theo
TenNV, v cng vi hai v t Luong < 150000 v Luong >150000.
I>. Da vo (a) hy xc nh cc v t hi s cp c th nh ngha c trn quan h
Nhanvien .
c. Da vo (b) hy xc nh tuyn ca cc hi s cp.
d. Da vo (b) hy phn mnh ngang cho quan h Nhanvien.
Cu 3:
Gi s c 3 giao dch T| , T2, cng truy xut n 2 mc d liu A, B vi nhn thi
gian tng ng l 200, 350, 170. Thi im c (RT) v thi im ghi (WT) lc khi u u
bng 0.
Gi s cc giao dch c thc hin vi mt dy cc hnh ng nh sau:
( 1 )
(2)
(3)
(4)
(5)
(6)
(7)
200
Read B
Write B
Write A
350
Read A
Write B
70
Read B
Write A
Yu cu: Anh (ch) hy cho bit giao dch Iio xy ra, giao dch no b huv b v din gii?
Nhn xt.
s 3:
Cu 1:
Cu 2:
Anh (ch) hiu nh th no v H un tr CO' s d liu phn tn? Cho v d.
Gi s c hai quan h sau;
Nhanvien (MaNV, TenNV, Chucvu) v
Duan (MaDA, TenDA, Nhiemvu, iadiem, Thoigian, MaNV) c phn mnh nh
sau:
190
Nhanvienl = MaNv< [-;j (Nhanvien)
Nhanvien2 ^ r;j, MnNv-^ n n (Nhanvien)
Nhanvien3 " MNV 11(1 (Nhanvien)
V Duanl ^ D i i a n X MNVNhanvienl
Diian2 =- Duan 0<c MaNv Nhanvien2
Duan3 = Duan [ X MaNv Nhanvien3
Cho cu vn tin: "Cho bit tn ca d n v tn ca nhng nhn vin hin ang lm
nhim v "un l" cc d n Thnh ph "TN", c thi gian l 3 nm v c M nhn vin l
E I O" .
Hy thc hin ti u ho cu vn tin trn y bng cch s dng cy ton t bin i
a v dng ti u.
Cu 3:
Cho bit quy tc diiv tr tnh tun t ca nhn thi gian? p dng: xc nh cc thi
im c, thi im ghi cho cc giao dch Tl . T2 . T3, c cc nhn thi gian ln lt l 700,
300, 400 trn cc mc d liu A, B, c (Cc giao dch thc hin mt dy cc hnh ng do th
sinh t xy dng).
p s 4:
Cu 1:
Hy trnh by kin trc c bn ca c s d liu phn tn? ,
Cu 2:
Gi s c hai quan h sau:
Nhanvien (MaNV, TenNV, Chiicvu) v
Duan (MaDA, TenDA, Nhiemvu, Thoigian. MaNV) c phn mnh nh sau:
Nhanvienl MSNVS H.v (Nhanvien)
Nhanvien2 -= h,v< MaNv < H/ (Nhanvien)
Nhanvien3 = MaNv r- (Nhanvien)
V Duan 1 = Duan [ x ; M n N v Nhanvienl
Duaii2 Diian [ x ; ; MiiNv Nhanvien2
Duan3 Duan t x MaNv Nhanvien3
Cho cu vn tin sau: Cho bit tn ca nhng nhn vin hin ang lm nhim v ' un
l d n ca nhng d n c thi gian l 1 nm hoc 2 nm v c M nhn vin l E3.
Hy thc hin ti u ho cu vn tin trn y bng cch s dng cy ton t bin i
a v dng ti u.
191
Cu 3:
Gi s c 3 giao dch T|, T:, T cng truy xut n 3 mc d liu A, B. c vi Iihn thi
gian tong ng l 200, 350,170. Thi im c (RT) v thi im hi (WT) lc khi u u
bng 0.
Gi s cc giao dch c thc hin vi Iiil d;l\ cc hnli ng nhu' sau:
^.......................... T, ......... r T,
...i p o 170
() ....... Red^B.............. ...... - .............. .
(2) Read A
(3) Read c
(4) Write B
(5) Write A
(6) Write c
(7) Write A
(8) Write B
Yu cu: Anh (chi) hy cho bit giao dich no xy ra. giao dch no b hii b v din gii?
Nhn xt.
D s 5:
Cu 1:
Cho bit khi iu khin tng tranh bng kh c th xy ra cc tinh huiig no? Cch
x l khi c b tc (Deadlock)?
Cu 2:
Gi s c hai quan h sau:
Nhanvien (MaNV, TeiiNV, Chucvu) v
Diiaii (MaDA, TenDA, Nhiemvu, iadiem, Thoigian. MaNV) c phn mnh nh sau:
Nhanvienl - M;|NV< 1-4 (Nlianvien)
Nhanvien2 Ir . MiiNv 11(1 (Nhanvien)
Nhanvieiij = m;nv I.IO'(Nhanvien)
V Duanl Duan [ X M;,NVNhanvienl
Duan2 " Duan ( X MnNv Nhanvien2
Duan3 Duan [ x ^ MaNv Nhiiivieii.3
Cho cu vn tin: "(?ho bit tn cua d n v tn cua nhng nhn vin hin ang lni
nh.im v Qun l" cc d n '1hnh ph " I N, c thi gian l 3 Iim v c M nhn vin l
Eli'.
Hy thc hin ti iru ho cu vn tin trn y bng cch s dng cy ton t bin i
a v dng ti u.
192
Cu 3:
Gi s c 3 giao dch T| , T_, T cng truv xut n 3 mc d liu A, B, c vi nhn thi
gian tong ng l 250, 120J70. Thi im c (RT) v thi im ghi (WT) lc khi u u
bng 0.
Gi s cc giao dch c thc hin vi mt dy cc hnh ng nh sau:
T| T: T.-,
..... 250............... 120 170
(1) ^
Read B
(2)
Read A
(3)
Read c
(4)
Write B
(5)
Write A
(6)
Write C
(7)
Write A
(8)
Write B
(9)
Write B
Yu cu: Anh (ch) hy cho bit iao dch no xy ra, giao dch no b hu b v din
^i? Nhn xt.
D s 6:
Cu 1:
Trinh by khi nim kho (Lock). Trnh by cc loi khoc bn?
Cu 2:
Gi s c hai quan h sau:
Nhanvien (MaNV, TenNV. Chucvii) v
Duan (MaDA, TenDA, Nhiemvu, MaNV) c phn mnh nh sau;
Nhanvienl = MaNvs H.v (Nhanvien)
Nhanvieii2 =-a B.v< MaNv i If. (Nhanvien)
Nhaiivieii3 - MaNv 1()- (Nhanvien)
V Diianl ^ Duan [ x ; M n N v Nlianvien 1
Duan2 Diian [ X [ MaNv Nhanvien2
Duan3 = Duan [ X MaNv Nhanvien3
Cho cu vn tin sau: 'Cho bit tn ca nhng nhn vin hin ang lm nhim v un
l" d n v c M nhn vin l E5'. .
193
Hy thc hin ti u ho cu vn tin trn y bng cch s dng cv ton t bin i
a v dng ti u.
Cu 3:
Trnh by m hinh giao dch n gin dng kho. p dng; cho mt lch biu hy xc
nh xem lch biu c phi l lch biu kh tun t khng? Neii ng a ra mt lch biu
tun t tng ng vi n? Gi s ta c lch biu ca ba giao dch TI, Ti, T;, nh sau:
Bc
(i)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
( 10)
( 11)
( 12)
(13)
(14)
T,
Lock A
Lock B
Unlock A
Unlock B
Lock B
Lock c
Unlock B
Lock A
Unlock c
Unlock A
T
Lock A
Lock c
Unlock c
Unlock A.
s 7:
Cu 1:
Cu 2:
V
Hy pht biu nh ngha phn mnh ngang dn xut? Cho v d.
Gi s c hai quan h sau:
Nhanvien (MaNV, TenNV, Chucvu) v
Duan (MaDA, TenDA, Nhiemvu, MaNV) c phn mnh nh sau:
Nhanvien 1 = MaNv s E.v (Nhanvien)
Nhanvien2 = a v < MaNv < R6' (Nhanvien)
NhanvienS - MaNv i-:6 (Nlianvien)
Duanl = Duan X M i i N v Nhanvienl
Duan2 = Duan t x MaNv Nhanvien2
Duan3 = Duan t x MaNV Nhanvien3
194
Cho cau vail tin sau; Cho biet ten ciia nhiing nhan vien hien dang lam nhiem vu Quan
ly" du an va c6 Ma nhan vien la E5". .
Hay thiic hien toi uu hoa cau van tin tren day bang cach su' dung cay toan tir de bien doi
dua ve dang toi uu.
Cau 3:
Trinh bay mo hinh giao dich don gian dung tchoa. Ap dung: cho mot lich bieu hay xac
dinh xem lich bieu do c6 phai la lich bieu kha tuan tu khong? Neu dung dua ra mpt lich bilu
tuan tir tuong duong voi no?
Gia sii' ta c6 lich bieu cua ba giao dich T|, Ti, T Tj nhu sau:
Biro-c T| T2 Tj T4
( I ) Lock A
(2)
Lock B
(3)
Lock C
(4)
Lock D
(5) Unlock A
(6)
UnLock B
(7)
Lock A
(8)
Lock B
(9)
Unlock A
(10) Unlock B
(11)
Lock B
(12) UnLock D
(13)
Unlock C
(14)
Unlock B
f)e so 8:
Cau 1:
Trinh bay cac quy tac phan manh dung dan? Cho vi du.
Cau 2:
Cho ca sa dir lieu sau:
Nhanvien (MaNV, TenNV, Chucvu),
Duan (MaDA, TenDA, Diadiem. Ngansach) va
Phancong (MaNV, MaDA, Nhiemvu)
a) Quan he Duan c6: Dom(TenDA) = {A', B, C };
Dom (Ngansach) = 100 ... 700; Cho pi: Ngansach <=250; pi: Ngansach > 250
- Hay xac dinh phan manh ngang cho quan he Duan theo cac vi tir dugc dinh nghTa tren
thuoc tinh TenDA va Ngansach.
- Cho biet tinh dimg dan cua phan manh ngang a tren.
195
b)
Cho quan h Duan c phn mnh ngang:
Duan, = asgns;.ch <350 (Duan)
Duan2= >350 (Duan)
- Vit cc phn mnh ngang dn xut ciia quan h Phancong theo cc mnh CLia quan h
Diian.
- V cy ton t (gc, trung gian, rt gn) biu din s cc b ho d liu phn tn trn
cc mnh ca Nhanvien, Duan v Phancong, vi cu hi; a ra TenNV, Cluicvii, Nhiemvu ca
cc nhn vin hin ang tham gia vo d n c ngn sch khng nh hn 350.
Cu 3:
Cho bit quy tac duy tri tnh tun t cua nhn tlii gian? Ap dn: Gi s c 3 giao dch
T| . Ti, cng truy xut n 3 mc d liu A. B. c vi nhn thi gian tng ng l 250,
120,170. Thi im c (RT) v thi im ghi (WT) lc khi u u bng 0.
Gi s cc giao dch c thc hin vi mt dy cc hnh ng nh sau:
( 1 )
( 2)
(3)
(4)
(5)
( 6)
(7)
( 8)
(9)
T|_ _
250 ^
Read B
Write B
Write A
T.
120
Read A
T,
170
Read c
Write C
Write B
Write A
Write B
Yeu cu; Anil (chi) liv cho bit giao dich no xy ra, giao dich no bi huy b v din
gii? Nhn xt.
s 9:
Cu 1;
Trnh by bc loi b d tha trong qu trnh phn r vn tin? Cho v d.
Cu 2:
Cho c s d liu sau:
Nhanvien(MaNV. TenNV, Cliucvu).
Diian(MaDA, TenDA. iadiem, Ngansach) v
196
Phancong(MaNV, MaDA, Nhiemvu)
a) uan h Duan c: Dom(TenDA)^ {A", B", C };
Dom(Ngansach)=^IOO .. 700; Cho Pi: Ngansach < 250; p?: Ngansach > 250
- Hy xc nli phn mnh ngang cho quan h Duan theo cc v t c nh ngha trn
thuc tnh TenDA v Ngansach.
- Cho bit tnh ng n ca phn mnh ngang trn.
b) Cho quan h Duan c phn mnh ngang:
Duan, = avgansach <350 (Duan)
Duanj = ^gansl.ch >J5() (Duan)
- Vit cc phn mnh ngang dn xut ca quan h Phancong theo cc mnh ca quan h
Duan.
- V cy ton t (gc, trung gian, rt gn) biu din s cc b ho d liu phn tn trn
cc mnh ca Nhanvien. Duan v Phaiicong, vi cu hi; a ra TeiiNV, Cliucvu, Nhiemvii ca
cc nhn vin hin ang tham gia vo d n c ngn sch khng ln hn 350.
Cu 3:
Trinh by m hnh giao dch n gin dng kho. p dng: cho mt lch biu hy xc
nh xem lch biu c plii l lch biu kh tun t khng? Nu ng a ra mt lch biu
tiin t tong ng vi n?
Gi s ta c lcli biu ca ba giao dch Ti, Ti, Ti, T4nh sau;
Unlock A
B c T|
(1) Lock A
( 2 )
(3)
(4)
(5)
( 6)
(7)
( 8)
(9)
( 10)
(11)
( 12)
(13)
(14)
Lock B
UnLock B
T,
Lock C
l.ock D
Lock A
Lock B
Unlock A
Unlock B
Lock B
UnLock D
Unlock c
Unlock B
197
s 10:
Cul:
Trnh by bG chun ha trong qu trnh phn r vn tin? Cho v d.
Cu 2:
SV: Sinh vin
{DT: ti
{SD:SV tham ia cc DTj
Cho CO' s dr liu sau:
s v (#MaSV, TenSV, Lop, DTB)
DT (#MaDT, TenDT, GVHD)
SD (#MaSV, #MaDT, KetQuaTT)
a) Quan h s v c: om(Lop)= {'A'. 'B', 'C' }; P i ; DTB <5 ; P2: DTB > 5
- Hy xc dnli phn mnh ngang ch quan h s v theo cc v t c nh ngha trn
thuc tnh Lop v v t Pi, p.,
- Cho bit tnh ng n ca phn mnh ngang trn.
b) Cho quan h DT irc phn mnh ngang:
DT1= Vlai) I <1)50(D I ) DT2= 0 #Mal)T >'D50'(DT)
- Vit ce plin mnh ngang ca quan h SD theo cc mnh ngang ca quan h DT.
- V cy ton t (gc, trung gian, rt gn) biu din s cc b ho d liu phn tn trn
cc mnh ca quan h DT, SD, vi cu hi: Cho bit TenDT, KetiiaTT ca cc s v c #MaDT
< D9.
Cu 3:
Gi s c lc quan h:
Quanly(Tennhancong, Tenngiioiquanly)
Lc th hin mi quan h ngi qun l v nhn cng.
Gi s Quanly l mt quan h theo m hnh trn:
Tennhancong Tennguoiquanly
M M
HoxT M
Mai M
Lan M
Chn Hoa
Tch Hoa
Cu hi; 1) Tm tn ca nhng ngi lm vic trc tip dui quyn ca ng M, tc
ph thuc mc 1, vit nh sau; Hoi(X) <..uanly(X, ' M')
2) tim tn ca nhng ngi lm vic trc tip di quyn ca ngi do ng
M qun l, te phc thuc mc 2 vo ng M, vit nh sau:
198
{CT: Cng ty}
{HH; Hngho}
{CC: Cung cp}
Hoi(X) uanly(X, Y), Quanly(Y, M)
Yu cu: a) Hy vit cu hi trn di dng cu hi quy s dng Datalog.
b) Trnh by cch kh cu hi quy trn cu (a) bng cch khng dng cu
lnh Repeat ...Until.
D s 11:
Cu 1:
Trinh by bc phn tch trong qu trinh phn r vn tin? Cho v d.
Cu 2:
Cho c s d liu sau;
CT (#MCT, TenCTy, Von, DiaChi)
HH (#MI, TenH, Mau, MoTa)
c c (#MCT, #MH, SL, DGia)
a) Quan h CT c: Dom(DiaClii)= {TN". BK", -'BG" }; Dom(Von)-IOO .. 700;
Cho Pi! Von <300 ; P : Von >= 300
- Hy xc nh phn mnh ngang cho quan h CT theo cc v t c nh ngha trn
thuc tnh DiaChi v Von.
- Cho bit tnh ng n ca phn mnh ngang trn.
b) Cho quan h HH c phn mnh ngang;
HH, = aM. x.nh" (HH) HH, = aM,
- Vit cc phn mnh ngang dn xut ca quan h c c theo cc mnh ca quan h HH.
- V cy ton t (gc, trung gian, rt gn) biu din s cc b ho d liu phn tn trn
cc mnh ca HH v c c , vi cu hi: a ra TenH, SL ca cc mt hng c cung cp c
Mau - "Vng"
Cu 3:
Trinh by m hnh giao dch n gin dng kho. p dng: cho mt lch biu hy xc
nh xem lch biu c phi l lch biu kh tun t khng? Nu ng a ra mt lch biu
tun t tng ng vi n?
Gi s ta c lch biu ca ba giao dch T| , T, T^, T4nh sau:
199
Bc
( 1 )
( 2)
(3)
(4)
(5)
( 6)
(7)
( 8)
(9)
( 10)
( 1 1 )
( 12)
(13)
(14)
T,
Lock A
Unlock A
2
Lock B
UnLock B
I 3
Lock c
Lock D
I 4
Lock A
L.ock B
Unlock A
Unlock B
Lock B
UnLock D
Unlock c
Unlock B
De s 12;
Cu 1;
Trnh by m hinh c s d liu suy din?
Cu 2:
Cho c s d liu sau:
Nhanvien(MaNV,TenNV.Chiicvu),
Duan(MaDA,TenDA.iadiem,Ngansach) v
Phancong(MaNV, MaDA, Nhiemvu)
a)
uan h Duan c: Dom(TenDA)= {A, B, C };
Dom(Ngansach)=100 .. 700; Cho P i : Ngansach <250; P7: Ngansach > = 250
- Hy xc nh phn mnh ngang cho quan h Duaivtheo cc v t c nh ngha trn
thuc tnh TenDA v Ngansach.
- Cho bit tnh ng n ca phn mnh ngang trn,
b) Cho quan h Duan c phn mnh ngang:
Duani = Ngi,nsch<J5o(Duan)
Duani = >350 (Duan)
- Vit cc phn mnh ngang dn xut ca quan h Phancong theo cc mnh ca quan h
Duan.
- V cy ton t (gc, trung gian, rt gn) biu din s cc b ho d liu phn tn trn
cc mnh ca Nhanvien, Diian v Phancong. vi cu hi: a ra TenNV, Chiicvu, Nhiemvii ca
cc nhn vin hin ang tham gia vo d n c ngn sch di 350.
200
Cu 3:
Trinh by thut ton ' Kim tra tnh kh tun t ca mt lch biu"? p dng; Kim tra
ba giao dch T| , T2 , Ti xem chng c kh tun t hay bt kh tun tr. Gi s cc giao dch c ba giao
lch biu sau:
T: Lock A
T: Lock B
T: Lock C
T7: Unlock B
T|; Lock B
T|: Unlock A
Tj: Lock A
2: Unlock c
Tt: Unlock A
T3: Lock A
T3: Lock c
T|: Unlock B
Tv Unlock c
Tv Unlock A
s 13:
Cu 1:
Trnh by tnh bn vng ca cc i tng?
Cu 2:
Cho c s' d liu sau:
Nhanvien(MaNV,TenNV,ChucvLi),
Diian(MaDA,TenDA,iadiem,Ngansach) v
Phancong(MaNV, MaDA, Nhiemvu)
a) iian h Duan c: Dom(TenDA)= {A, B, C };
Dom(Ngansach) 100 .. 700; Cho Pii Ngansach <450; P3: Ngansach 450
- Hy xc nh phn mnh ngang cho quan h Duan tlieo cc v t c nh ngha trn
thuc tnh TenDA v Ngansach.
- Cho bit tnh ng n ca phn mnh ngang trn.
b) Cho quan h Duan c phn mnh ngang:
Duan, = ^ g s a c h < J S 0 (Duan)
Duanj = N g a n s a c h > 3 5 0 (Duan)
- Vit cc phn mnh ngang dn xut ca quan h Phancong theo cc mnh ca quan h
Duan.
201
- V cy ton t (gc, trung gian, rt gn) biu din s cc b lio d liu phn tn trn
cc mnh ca Nlianvien, Duan v Phancong. vi cu hi: f3a ra TenNV. Chucvii. Nhiemvu cua
cc nhn vin hin ang tham gia vo d n c ngn sch trn 350.
Cu 3:
Trinh by tliut ton Kim tra tnh kha tun t cua int lch biu vi cc kho
c/glii? p dng: Kim tra bn giao dch T|. T2 , T. T4 xem clinii c kh tun t hav bt kli
tun t. Gi s cc giao dch c lch biu sau:
( 1)
T-: RLock A
(2) T,: RLock A
(3)
T.: WLock B
(4)
Ti; Unlock A
(5) T,: WLock A
(6) T.; Unlock B
(7) T|: RLock B
(8)
Tv' Unlock A
(9) T4: RLock B
( 10) T|: RLock A
( 11)
T4: UnLock B
( 12) T,: WLocl^C
(13) T,: Unlock A
(14) T4: WLock A
(15) T4: Unlock A
(16) T,: Unlock B
(17) T|: Unlock C
s 14:
Cu 1;
Trnh by nguyn tc m hnh ho cc i tng?
Cu 2:
Cho c s d iiu sau:
Nhanvien(MaNV,TenNV,Chiicvii),
Duan(MaDA,TenDA,iadiem.Ngansach) v
Phancong(MaNV. MaDA, Nhiemvii)
.
a) Quan h uan c: Dom{TenDA)' A", "B". '
DonXNgansachKIOO .. 700; Cho P i : Ngansach <450; pi: Nansach :> 450
- Hy xc nh phn manh ngang cho quan h Diian theo cc v tir irc nh ngha trn
thuc tnh TenDA v Ngansach.
- Cho bit tnh ng n ca phn mnh ngang trn.
b) Cho quan h Nhanvien c plin mnh ngang:
N h a n v i e n , = OienNx ( N h a n v i e n )
N h a n v i e n 2 = TenNN "Hieu"( N h a n v i e n )
202
- Vit cc phn mnh ngang dn xut ca quan h Phancong theo cc mnh cua quan h
Nhanvien.
- V cy ton t (gc, trung gian, rt gn) biu din s cc b ho d liu phn tn trn
cc mnh ca Nhanvin v Phancong, vi cu hi; a ra TenNV, ChucvLi, Nhiemvu ca cc
nhn vin c tn nhn vin l "Hieu".
Cu 3:
Trinh by m hnh giao dch n gin dng kho. p dng: cho mt lch biu hy xc
nh xem lch biu c phi l lch biu kh tun t khng? Neu ng a ra mt lch biu
tun t tng ng vi n?
Gi s ta c lch biu ca ba giao dch T| , Ti. T;, nh sau:
Bc
(14)
(15)
( 16)
(17)
( 18)
(19)
( 20)
(21)
( 22)
(23)
(24)
(25)
(26)
(14)
T,
Lock A
Lock B
Unlock A
Unlock B
Ti
Lock B
Lock c
Unlock B
Lock A
Unlock c
Unlock A
T j
Lock A
Lock c
Unlock c
Unlock A
S 15:
Cu 1:
Trinh by cu trc ca cu hi ca c s d liu da trn logic? Cho v d.
Cu 2:
Cho c s d liu sau;
Nhanvien(IVlaNV,TenNV,Chucvu),
Diian(MaDA,TenDA,iadiem,Ngansach) v
Phancong(MaNV, MaDA, Nhiemvu)
a) uan h Duan c: Dom(TenDA)= {A, B", C" };
Dom(Ngansach)=100 .. 700; Cho Pi; Ngansach <300; p-.: Ngansach >- 300
- Hy xc nh phn mnh ngang cho quan h Duan theo cc v t c nh ngha trn
thuc tnh TenDA v Ngansach.
- Cho bit tnh ng n ca phn mnh ngang trn.
203
Nhanvieni = |enN\ ="Thanh(Nhanvien)
Nhanvien2= ienNv/ Thanh (Nhanvien)
- Vit cc phn mnh ngang dn XLit ca quan h Phancoim theo cc mnh cua quan h
Nhanvien.
- V cy ton t (gc, trung gian, rt gn) biu din s cc b ho d liu phn tn trn
cc mnh ca Nhanvien v Phancong, vi cu hi: a ra TenNV, Nhiemvu ca cc nhn vin
c tn nhn vin l "Thanh".
Cu 3:
Gi s c lc quan h:
Quanly(Tennhancon, Tennguoiquanly)
Lc th hin mi quan h ngi quan l v nhn cng
Gi s Quanly l mt quan h theo m hinh trn
b) Cho quan h Nhanvien c phn mnh ngang:
Tennhancong Tennmioiqiianlv
M M
Hoa M
Mai M
Lan M
Chn Hoa
Tch Hoa
Cu hi: 1) Tm tn ca nhng ngi lm vic trc tip di quyn ca ng M, tc
ph thuc mc 1, vit nh sau; Hoi(X) <uanly(X, M")
2) e tm tn ca nhng ngi lm vic trc tip di quyn ca ngi do
ng M qun l, tc phc thuc mc 2 vo ng Mcx vit nh sau:
Hoi(X) ^ Quanly(X, Y), Quanly(Y, ' M")
Yu cu: a) Hy vit cu hi trn di dng cu hi quy s dng Datalog.
b) Trnh by cch kh cu hi quy trn cu a) bng cu lnh Repeal
...Until.
204
TI LIU THAM KHO
[1]. Nguyn Vn Hun, ht s k thut x l song song 'ong c s d liu phn
tn. Tp ch KH&CN - i hc Thi Nguyn, s 4/2004.
[2]. Nguyn Vn Hun. Xy dng bi ton cp pht v ng dng trong c s d
liu phn tn. Hi ngh khoa hc - Khoa CNTT - HTN, 14/12/2004.
[3]. M. Temer zsu, Paick Valduriez. Nguyn l cc h c s d liu phn tn.
NXB Thng k, 2000.
[4]. Nguyn B Tng. Nhp mn C s d liu phn tn. NXB Khoa hc v K
thut, 2005.
[5]. Nguyn B Tng. C s d liu - kin thc v thc hnh. NXB Khoa hc v
K thut, 2001.
[6]. Trung Tun. C s d liu. NXB Gio dc 1998.
[7]. V c Thi. C s d liu - kin thc v thc hnh. NXB Thng k, 1997.
[8]. L Tin Vng. Nhp mn c s d liu quan h. NXB Khoa hc v K thut,
1997.
[9]. Phng Kim Hong. Kin thc thit yu v mng my tinh. NXB Nng,
2000.
[10]. Nguyn Trung Trc. Tp slide bi ging, 2005.
[11]. Nguyn Trung Trc. Gio trnh C s d liu phn b. Nh xut bn i hc
Quc gia Tp.HCM, 2005.
[12]. David W.Embly. Object Database Development - concepts and Principles.
NXB Addision Wesley Longman, Inc, 1997.
[13]. Distributed Database (Principle and systems) Stefano Ceri - Giuseppee
Pelagatti-1985.
[14], Database Systems: The Complete Book. Hector Garcia - Molina, Jeffrey D.
Ullman, Jennifer Widom, Prentice Hall, 2002.
[15] M. Tamer Ozsu and Patrick Valduriez. Principles o f Distributed Database
Systems. Second Edition, Prentice Hall 1998.
[16]. Slide bi ging ca Anand Rajaraman (Tittp://www.stanford.edu/cIass/cs347).
205

Вам также может понравиться