Professional Documents
Culture Documents
WHERE F
16
- Ti u bng bin i biu thc i s quan h: Bin i th t thc hin cc php ton ca
biu thc i s quan h sao cho cc php ton mt ngi c thc hin trc cc php ton
hai ngi, do cc php ton chiu, chn th c chi ph nh hn so vi cc php kt ni, tch
cc.
- Mt s php bin i tng ng:
o Tch iu kin trong php chn:
o Tnh cht giao hon ca php chn:
o Dy cc php chiu lin tip:
o Php chn php tch cc v php kt ni :
o Tnh cht giao hon ca php kt ni :
o Tnh cht giao hon ca php kt ni t nhin:
o Tnh cht kt hp ca php kt ni t nhin:
o Tnh cht kt hp ca php kt ni :
ch thuc
.
o Php chn v php kt ni :
.
o Php chiu v php kt ni :
, nu:
Cc thuc tnh trong
ch thuc
.
Cc thuc tnh trong
ch thuc
.
17
Cc thuc tnh trong u c trong
Cc thuc tnh trong
ch thuc
.
Cc thuc tnh trong
ch thuc
.
Cc thuc tnh trong
ch c trong
, lin quan n
nhng khng
thuc
.
Cc thuc tnh trong
ch c trong
, lin quan n
nhng khng
thuc
.
o Php hp Php giao v php tr
Tnh cht giao hon:
Tnh cht kt hp:
Tnh cht phn phi ca php chn qua php hp giao tr:
Tnh cht phn phi ca php chiu qua php hp:
2.3. Thut ton ti u ha cy i s quan h
2.3.1. Thut ton
- Bc 1: Biu din truy vn di dng cy vi l l cc quan h, nh trong l cc php ton
i s quan h.
- Bc 2: p dng cc php bin i tng ng y cc php ton mt ngi xung di
cc php ton hai ngi.
- Bc 3: Thm vo cc php chiu gim bt kch thc ca cc quan h.
2.3.2. V d
Xt hai bng nhn vin v n v sau:
o NhanVien (MaNV, MasoDV, HoTen, NgaySinh, GioiTinh, Luong)
o DonVi(MaDV, TenDV)
18
Truy vn a ra h tn ca cc nhn vin n n v c tn l PhongDaoTao:
19
2.4. Cu hi n tp chng 2
- Trnh by cc bc trong qu trnh x l truy vn.
- Trnh by cc php bin i tng ng.
- Trnh by thut ton ti u ha cy i s quan h.
- Cho hai bng nhn vin v n v sau:
o NhanVien (MaNV, MasoDV, HoTen, NgaySinh, GioiTinh, Luong)
o DonVi(MaDV, TenDV)
Hy vit biu thc i s quan h thc hin truy vn sau: a ra h tn ca cc nhn vin
n n v c tn l PhongDaoTao. Ti u ha truy vn trn s dng phng php bin
i i s quan h.
- Cho cc quan h:
o DonVi(MDV, TenDV, MaNQL, DiaDiem)
o DuAn (MaDA, TenDA, KinhPhi, MaDV)
Truy vn no di y ti u?
Q1.
Q2.
Q3.
Q4.
20
CHNG 3: GIAO DCH TRONG C S D LIU
3.1. Gii thiu
Thut ng giao dch (Transaction) cp ti mt tp hp cc lnh to thnh mt n v lm
vic logic, hoc n c thc hin mt cch y hoc b hy b hon ton.
V d 3.1: Chuyn tin t ti khon A sang ti khon B l mt giao dch:
- Kim tra tin trong ti khon A (c X khng?).
- A = A X.
- B = B + X.
Thng giao dch c to ra bi cc chng trnh ngi dng c vit trong ngn ng x
l d liu bc cao hoc ngn ng lp trnh (vd: SQL, C++, Java).
Mc d liu (data item) l n v d liu trong CSDL. Bn cht, kch thc ca cc mc d
liu do nh thit k chn. Chng c la chn sao cho vic truy xut d liu t hiu qu nht. V
d trong m hnh d liu quan h, ta c th chn mc d liu l: cc quan h, cc b, hay cc thnh
phn ca b. Kch thc ca cc mc d liu m h thng s dng gi l mn ca h thng
(granularity).
B lp lch (Scheduler) l mt thnh phn ca h thng CSDL chu trch nhim to ra mt
lch biu (th t thc hin) cc thao tc trong cc giao dch.
3.2. Cc tnh cht ca giao dch
m bo tnh ton vn ca d liu, h c s d liu cn duy tr cc tnh cht sau ca giao
dch:
- Tnh nguyn t (Atomicity): Hoc ton b cc thao tc ca giao dch c phn nh ng
n trong c s d liu hoc khng c g c.
- Tnh nht qun (Consistency): S thc hin ca mt giao dch phi bo m tnh nht qun
ca c s d liu.
- Tnh c lp (Isolation): Nhiu giao dch c th thc thi ng thi nhng mi giao dch
khng cn bit n cc giao dch khc ang thc hin ng thi. Cc kt qu trung gian ca
giao dch phi c che giu trc cc giao dch khc.
- Tnh lu bn (Durability): Sau khi giao dch hon thnh, cc thay i c to ra i vi
c s d liu vn cn ngay c khi xy ra s c h thng.
21
3.3. Cc trng thi ca giao dch
Khi giao dch bt u thc hin n vo trng thi active v c th thc hin thao tc c, ghi
cc mc d liu. Khi kt thc thao tc cui cng giao dch t ti trng thi partially committed. Ti
thi im ny, giao dch hon thnh s thc hin ca n, nhng n vn c th b b d do cc
thay i c th vn lu tm thi trong b nh chnh v nh th mt s c phn cng vn c th
ngn cn s hon tt ca giao dch. Nu khng c s c, tt c cc giao dch u hon tt thnh
cng (tt c cc thao tc trong giao dch u c phn nh trong c s d liu), khi giao dch
c bn giao (commited). Tuy nhin, trong thc t mt giao dch c th khng hon tt s thc
hin ca n. Giao dch nh vy c gi l b b d (abort). m bo c tnh nguyn t, mt
giao dch b b d khng c php lm nh hng ti trng thi ca c s d liu. Nh vy, tt c
thay i c to ra trc phi b hu b (rollback).
- Active: Giao dch s i vo trng thi Active khi bt u v trng thi ny s c duy tr
trong khi giao dch ang thc hin.
- Partially Committed: Sau khi thao tc cui cng trong giao dch c thc hin.
- Failed: Sau khi pht hin rng s thc hin khng th tip tc c na.
- Aborted: Sau khi rollback v c s d liu phc hi li trng thi ca n trc khi khi
ng giao dch.
- Committed: Giao dch hon tt thnh cng (tt c cc thao tc c phn nh y trong
c s d liu).
- S trng thi tng ng vi mt giao dch nh sau:
Hnh 3.1: Cc trng thi ca giao dch
3.4. Lch biu
Lch biu: L mt dy (c th t) cc thao tc ca mt tp cc giao dch m trong th t ca cc
thao tc trong mi giao dch c bo ton.
22
V d 3.2: Xt hai giao dch chuyn tin:
- 10$ t ti khon A sang ti khon B
- 20$ t ti khon B sang ti khon C.
Hnh 3.2: Lch biu
3.5. Tnh kh tun t ca lch biu
Lch biu tun t (Serial Schedule): L lch biu m trong mi giao dch cc thao tc c thc
hin k tip nhau, khng c thao tc ca giao dch khc xen vo (Thc hin ln lt, ht giao dch
ny n giao dch khc). Khng th c ng trong mt lch biu tun t.
- Vi mt tp S gm n giao dch {T1, T2, .., Tn} s c n! lch biu tun t. Hnh 3.3 l mt v
d v lch biu tun t ca hai giao dch T1 v T2.
Hnh 3.3: Lch biu tun t
- Lch biu gi l kh tun t (Serializable): nu n tng ng vi mt lch biu tun t.
Tng ng theo ngha cho ra cng mt trng thi CSDL sau khi kt thc vic thc hin
lch biu).
- Lch biu bt kh tun t nu n khng tng ng vi mt lch biu tun t.
23
3.6. Thut ton kim tra tnh kh tun t ca lch biu
- Input: S {T1, T2, , Tn}
- Output: S kh tun t hay k?
- Thut ton:
o Xy dng th ph thuc G:
Nt: l cc giao dch.
Cung Ti Tj:
o Nu G khng c chu trnh th lch biu S l kh tun t, ngc li lch biu S l
bt kh tun t.
- V d: Lch biu S ca hai giao dch T1, T2 v th ph thuc G ca S:
Hnh 3.4: V d kim tra tnh kh tun t ca lch biu
Trong v d ny ta thy th G c chu trnh, do vy lch biu S l bt kh tun t.
24
3.7. Cu hi n tp chng 3
- Trnh by khi nim v giao dch. Cho v d.
- Trnh by bn tnh cht ca giao dch.
- Trnh by khi nim lch biu. Cho v d.
- Trnh by cc khi nim lch biu tun t, lch biu bt tun t v lch biu kh tun t. Cho
v d.
- Trnh by thut ton kim tra tnh kh tun t ca lch biu.
- Lch biu no di y l kh tun t?
o R2(Y), R1(X), R1(Y), R3(X), W3(X), W2(Y), W1(X)
o R2(Y), R1(X), R1(Y), R3(Z), W3(Z), W2(Y), W1(X)
o R2(Y), R1(X), R1(Y), R3(X), W2(Y), W1(X), W3(X)
o R1(X), R1(Y), R3(X), R2(Y), W2(Y), W1(X), W3(X)
- Cho th ph thuc ca lch biu S. Lch biu no di y l lch biu tun t tng
ng vi S:
o T1 T2 T3 T4
o T2 T1 T3 T4
o T4 T2 T3 T1
o T4 T3 T1 T2
T1 T2
T3
T4
25
CHNG 4: IU KHIN NG THI V KHI PHC H THNG
4.1. Cc giao thc da vo kha
4.1.1. M hnh kha nh phn
- Mt kha nh phn (Binary Lock) c hai trng thi (gi tr): Locked v Unlocked (1 hoc 0).
- Lock(X): Kha trn mc d liu X. Lock(X) = 1 ngha l mc d liu X b kha bi mt
giao dch; Cc giao dch khc nu c yu cu truy cp mc d liu ny s phi i n khi
Lock(X) = 0.
- Hai thao tc lock_item, unlock_item c s dng vi kha nh phn.
o lock_item(X);
B: if LOCK(X)=0 (*item is unlocked*)
then LOCK(X) 1 (*lock the item*)
else begin
wait (until LOCK(X)=0 and
the lock manager wakes up the transaction);
go to B;
end;
o unlock_item(X);
LOCK(X) 0 (*unlock the item*)
if any transactions are waiting
then wakeup one of the waiting transations;
- Trong m hnh kha nh phn, mi giao dch phi tun theo cc lut sau:
o Mt giao dch phi thc hin lock_item(X) trc cc thao tc read_item(X),
write_item(X).
o Mt giao dch phi thc hin unlock_item(X) sau khi hon tt cc thao tc
read_item(X), write_item(X).
o Mt giao dch khng c thc hin lock_item(X) nu n ang gi kha trn X
(Hold the lock).
o Mt giao dch khng c thc hin unlock_item(X) nu n khng gi kha trn X.
4.1.2. M hnh kha c ghi (chia s c quyn)
- Cho php nhiu hn mt giao dch c th truy cp trn cng mt mc gi liu X nu cc
giao dch ch c d liu.
26
- Nu mt giao dch mun thc hin ghi trn mc d liu X, n phi c c quyn truy cp
trn X.
- Mt kha trn mc d liu X: LOCK(X) c 3 trng thi: read locked (share locked),
write locked (exclusive locked) v unlocked.
- Cc thao tc: read_lock, write_lock, unlock c s dng vi kha c ghi.
- Trong m hnh kha c ghi, mt bn ghi trong bng kha (Lock Table) gm 4 trng:
Data item name LOCK No_of_reads Locking Transactions
o Data item name: Tn mc d liu.
o LOCK: read_locked hoc write_locked.
o Nu LOCK l write_locked: Locking transactions l mt giao dch duy nht ang
gi kha ghi trn mc d liu.
o Nu LOCK l read_locked: Locking transactions l mt danh sch cc giao dch gi
kha c trn mc d liu. No_of_reads: S lng cc giao dch ang gi kha c
trn X.
- Trong m hnh kha c ghi, mi giao dch phi tun theo cc lut sau:
o Mt giao dch phi thc hin read_lock(X) hoc write_lock(X) trc khi
read_item(X).
o Mt giao dch phi thc hin write_lock(X) trc khi write_item(X).
o Mt giao dch phi thc hin unlock_item(X) sau khi hon tt cc thao tc
read_item(X), write_item(X).
o Mt giao dch khng c thc hin read_lock(X) nu n ang gi kha c, hoc
ghi trn X (Hold the lock).
1
o Mt giao dch khng c thc hin write_lock(X) nu n ang gi mt kha c
trn X.
1
o Mt giao dch khng c thc hin unlock_item(X) nu n khng gi kha trn X.
- Hnh 4.1 di y ch ra qu trnh x l yu cu kha trong m hnh kha chia s - c
quyn.
1
Cc lut ny c th c ni lng.
27
Hnh 4.1: X l yu cu kha trong m hnh kha chia s c quyn
4.1.3. Giao thc kha 2 pha
- Giao thc kha hai pha (Two phase locking protocol 2PLP) l mt giao thc m
bo tnh kh tun t. Mt giao dch T c gi l tun theo giao thc kha hai pha nu
trong T tt c cc yu cu kha (read_lock, write_lock) c a ra trc yu cu m
kha (unlock).
- Vi giao thc ny, cc giao dch c chia thnh hai pha:
o Pha tng trng: (expanding or growing phase): Trong pha ny giao dch c
php kha (read_lock, write_lock) trn cc mc d liu nhng khng c php
m kha (unlock) bt c mt mc d liu no.
o Pha thu li (shrinking phase): Trong pha ny, giao dch c php m kha trn
cc mc d liu nhng khng c php kha thm bt k mt mc d liu no.
Hnh 4.2: Giao thc kha 2 pha
28
- V d:
Hnh 4.3: Giao dch T1 v T2 khng tun theo 2PLP
Giao dch T1 v T2 tun theo 2PLP
- Cc bin th ca giao thc kha 2 pha:
o Conservative 2PLP: Yu cu giao dch phi kha tt c cc mc d liu cn truy
cp trc khi thc thi giao dch, bng cch a ra cc tp: read-set v write-set.
(Giao thc ny c kh nng ngn nga deadlock trnh by trong cc slide k
tip)
o Strict 2PLP: Yu cu giao dch khng c gii phng bt k kha c quyn
no (exclusive lock) cho n khi commit hoc abort.
o Rigorous 2PLP: Yu cu giao dch khng c gii phng bt k kha no cho
n khi commit hoc abort.
Hnh 4.4: Giao thc kha 2 pha v cc bin th
29
4.1.4. Deadlock
- Deadlock l hin tng xy ra khi mi giao dch T trong mt tp S (gm hai hay nhiu giao
dch) i mt s mc b kha bi cc giao dch khc trong S.
- V d: Hai giao dch ang trong trng thi Deadlock:
T1 T2
read_lock(Y)
read_item(Y)
read_lock(X)
read_item(X)
write_lock(X)
write_lock(Y)
Trong v d ny giao dch T1 ang i kha ghi trn mc d liu X nhng X li ang b
kha bi giao dch T2; cn giao dch T2 ang i kha ghi trn mc d liu Y nhng Y li ang b
kha bi giao dch T1. Hai giao dch ny i ln nhau v ta gi hin tng ny l Deadlock.
4.1.4.1. Cc chin lc ngn cn Deadlock
Mt chin lc c s dng gii quyt vn Deadlock l s dng cc giao thc c kh
nng ngn cn Deadlock (Deadlock prevention protocol). Tuy nhin cc giao thc ny t c s
dng trong thc t.
Conservative two phase locking l giao thc c s dng ngn cn Deadlock. Giao
thc ny yu cu giao dch phi kha tt c cc mc d liu cn truy cp trc khi thc thi giao
dch. Nu mt yu cu kha no khng c p ng th tt c yu cu kha cn li s b b qua,
giao dch s phi i v th li ln sau. Tuy nhin, giao thc ny li gii hn vic thc thi ng
thi cc giao dch.
Mt s chin lc khc ngn cn Deadlock l quyt nh lm g vi cc giao dch lin
quan trong tnh hung Deadlock: c th l chn li v bt phi ch i, hoc b qua. Nhng chin
lc ny s dng khi nim nhn thi gian ca giao dch (Transaction Timestamp). Nhn thi gian
ca mt giao dch T (K hiu TS(T)) l mt nh danh duy nht c gn cho T khi T bt u. Nu
giao dch T1 bt u trc giao dch T2 th TS(T1) < TS(T2). Hai chin lc ngn nga cn
Dealock s dng nhn thi gian l Wait Die v Wound Wait. Gi s giao dch Ti c gng kha
30
mc d liu X nhng khng th v X ang b kha bi Tj vi mt kha xung t (Conflicting
lock)
2
. Khi :
- Vi Wait Die: Nu TS(Ti) < TS(Tj) th Ti c php i (wait); ngc li b qua Ti (Ti
die) v khi ng li Ti sau vi cng nhn thi gian.
- Vi Wound Wait: Nu TS(Ti) < TS(Tj) th b qua Tj (Ti wound Tj) v khi ng li Tj
sau vi cng nhn thi gian; ngc li Ti phi i (wait).
Mt nhm cc giao thc ngn cn Deadlock m khng dng ti nhn thi gian l no waiting
(NW) v cautious waiting (CW). Vi NW, nu mt giao dch khng nhn c kha n s lp tc
b b qua v khi ng li sau mt khong thi gian tr m khng cn kim tra Deadlock c tht s
xy ra hay khng, nh vy NW c th b qua cc giao dch khng cn thit (cc giao dch khng
gy ra Deadlock). gim s lng cc giao dch b b qua khng cn thit CW c xut. Gi
s Ti c gng kha mc d liu X nhng khng c bi X ang b kha bi Tj vi mt kha xung
t. Vi Cautious Waiting: Nu Tj khng b chn (Khng i kha mt mc d liu) th Ti s c
php i; ngc li Ti s b b qua.
4.1.4.2. Chin lc pht hin Deadlock
Chin lc ny t ra hiu qu khi cc giao dch l ngn v mi giao dch ch yu cu kha
mt vi mc d liu. tng ca chin lc ny l xy dng v duy tr mt th i (Wait for
graph):
o Mt nt tng ng vi mt active transaction.
o Ti c gng kha mc X nhng khng th do X ang b kha bi Tj vi mt kha xung
t: To mt cung t Ti n Tj; Khi Tj
loi b kha xung t th xa cung
tng ng i.
o th c chu trnh Deadlock xy ra.
Khi mt s giao dch gy ra
Deadlock s b loi b.
Hnh 4.5: Wait for graph
2
Hai kha c gi l xung t nu tn ti mt kha l kha ghi (Write lock).
31
4.1.4.3. Starvation
- Starvation: L hin tng mt giao dch khng c thc hin trong mt thi gian di trong khi
cc giao dch khc vn thc hin bnh thng.
- Starvation c th xy ra do:
o Chin lc ch i kha khng cng bng. Gii php cho vn ny l a ra mt
chin lc ch i cng bng nh s dng hng i n trc phc v trc (first
come first served queue), hoc tng u tin ca cc giao dch ch i lu.
o Thut ton chn cc giao dch b qua (victim selection) khng tt: Chn lp li mt
giao dch b qua.
4.2. Giao thc th t nhn thi gian (Timestamp Ordering protocol)
4.2.1 Nhn thi gian (Timestamp)
Ta kt hp vi mi giao dch Ti trong h thng vi mt nhn thi gian c nh. Nhn thi gian
ca giao dch Ti, k hiu TS(Ti). Nhn thi gian ny c gn bi h CSDL khi giao dch Ti bt u
thc hin. Gi s mt giao dch Ti c gn nhn thi gian TS(Ti) v mt giao dch mi Tj i
vo h thng, khi TS(Ti) < TS(Tj). Nhn thi gian c th c to ra theo mt vi cch:
- S dng gi tr ca ng h h thng nh nhn thi gian: Mt nhn thi gian ca mt giao
dch bng gi tr ca ng h khi giao dch i vo h thng.
- S dng b m logic: b m c tng ln mi khi mt nhn thi gian c gn, nhn
thi gian ca mt giao dch bng vi gi tr ca b m khi giao dich i vo h thng.
Nhn thi gian ca cc giao dch xc nh th t kh tun t. Nh vy, nu TS(Ti) < TS(Tj), h
thng phi m bo rng lch trnh c sinh ra l tng ng vi mt lch trnh tun t trong
Ti xut hin trc Tj . Giao thc duy tr trn mi mc d liu hai gi tr TS:
- Read_TS(X): read timestamp ca X; l TS ln nht trong s cc TS ca cc giao dch
read_lock(X) thnh cng.
- Write_TS(X): read timestamp ca X; l TS ln nht trong s cc TS ca cc giao dch
write_lock(X) thnh cng.
4.2.2. Giao thc th t nhn thi gian (Timestamp Ordering Protocol)
- Giao dch T mun thc hin write_item(X):
1. Nu Read_TS(X) > TS(T) hoc Write_TS(X) > TS(T) th b qua v rollback.
2. Nu iu kin 1 khng tha mn, cho php T write_item(X) v gn li:
Write_TS(X) = TS(T).
32
- Giao dch T mun thc hin read_item(X):
1. Nu Write_TS(X) > TS(T) th b qua v rollback.
2. Nu iu kin 1 khng tha mn, cho php T read_item(X) v gn li:
Read_TS(X) = Max{Read_TS(X), TS(T)}.
4.3. Phc hi h thng da vo nht k giao dch (Log-based)
Mt cu trc thng c dng ghi li nhng thay i trn c s d liu l s ghi l trnh
(log). Log l mt dy cc mu tin l trnh (log records). Mt thao tc cp nht trn c s d liu s
c ghi nhn bng mt log record. Mt log record kiu mu cha cc trng sau:
- nh danh giao dch ( transaction identifier ): nh danh duy nht ca giao dch thc hin
hot ng write.
- nh danh hng mc d liu ( Data-item identifier ): nh danh duy nht ca hng mc d
liu c vit ( thng l v tr ca hng mc d liu trn a ).
- Gi tr c ( Old value ): gi tr ca hng mc d liu trc thao tc write.
- Gi tr mi ( New value ): gi tr hng mc d liu s c sau khi write.
C mt vi log record c bit mang cc ngha ring. Bng sau y ch ra mt s loi log record
v ngha ca chng:
LOI LOG RECORD NGHA
< Ti start > Giao dch Ti khi ng.
< Ti, Xj, V1, V2 >
Giao dch Ti thc hin thao tc ghi trn hng mc d liu Xj, Xj
c gi tr V1 trc khi ghi v nhn gi tr V2 sau khi ghi.
< Ti commit > Giao dch Ti bn giao.
< Ti abort > Giao dch Ti hu b.
Giao dch mun thc hin mt thao tc ghi, trc tin phi to ra mt log record cho thao
tc ghi (trong log file), trc khi giao dch thay i c s d liu. Nh vy, h thng c c s
hu b (undo) mt thay i c lm trn c s d liu bng cch s dng trng Old-value
trong log record. Log phi c lu trong nhng thit b lu tr bn. Mi mt log record mi ngm
nh s c thm vo cui tp tin log.
4.3.1 Cp nht tr hon c s d liu (Deferred Database Modification)
- T tng chnh ca k thut cp nht tr hon l tr hon vic cp nht thc s vo csdl cho
n khi giao dch t ti trng thi commit.
33
- Mt giao dch khng th thay i csdl trn a cho n khi n t ti trng thi commit.
- Mt giao dch khng th t ti trng thi commit cho n khi tt c cc thao tc cp nht
ca n c ghi li trn file log (WAL: write ahead logging).
- Cc thao tc CSDL s khng c cp nht cho n khi giao dch hon tt nn khng cn
cc thao tc UNDO. C th phi REDO trong trng hp h thng li sau khi giao dch
hon tt nhng trc khi tt c cc thay i c ghi vo c s d liu. Giao dch Ti cn
c REDO nu trong file log cha c hai bn ghi: <Ti start> v <Ti commit>. Cng v vy
m k thut phc hi ny cn c gi l NO UNDO/ REDO recovery algorithm. Bng
sau ch ra cc loi bn ghi c to ra trong file log:
Thao tc ca giao dch Bn ghi trong file Log
Giao dch Ti bt u Ti, Start
Ti Write(X) Ti, X, New_Value
Giao dch Ti hon tt Ti, Commit
- V d: Xt ba mc d liu A, B, C vi cc gi tr ban u ln lt l 1000, 2000, 700 v hai
giao dch T1, T2:
T0: Read(A)
Bn ghi trong file log
A = A 50 T0,Start
Write(A) T0, A, 950
Read(B) T0, B, 2050
B = B + 50 T0, Commit
Write(B) T1, Start
T1, C, 600
T1:
Read(C) T1, Commit
C = C 100
Write(C)
Sau y l mt s tnh hung xy ra v hnh ng ca h thng phc hi s dng k thut
cp nht tr hon c s d liu:
34
Tnh hung H thng phc hi
Gi tr cc mc d liu
A B C
Li sau khi T0 va thc hin thao tc write B. Khng lm g. 1000 2000 700
Li sau khi T1 thc hin Write(C). REDO(T0) 950 2050 700
4.3.2. Cp nht tc thi (Immediate Database Modification)
K thut cp nht tc thi cho php cc thao tc sa i c s d liu c quyn xut d liu
tc thi ra a trong khi giao dch vn cn trong trng thi hot ng (active state).
Trong k thut ny khi giao dch thc hin thao tc ghi, c s d liu s c cp nht tc
thi m khng cn i n khi giao dch t ti trng thi commit. Cc thao tc cp nht vn phi
c ghi li trong file log trc khi ghi li trong csdl.
Bng sau ch ra cc loi bn ghi c to ra trong file log:
Thao tc ca giao dch Bn ghi trong file Log
Giao dch Ti bt u Ti, Start
Ti Write(X) Ti, X, Old_Value, New_Value
Giao dch Ti hon tt Ti, Commit
4.4. K thut phn trang bng (Shadow Paging)
K thut Phn trang bng cng l k thut cho php phc hi sau li, nhng tng thc
hin khc vi cc k thut da trn s ghi l trnh va trnh by phn trn.
Bng trang v ngha ca n: Khi nim trang ni c mn t l thuyt v H iu
hnh. Cch qun l trang cng c tha k t . Gi s rng c s d liu c phn thnh n
trang v s phn b trn a ca chng c th khng theo mt th t c th no c. Tuy nhin, phi
c cch tm ra nhanh mt trang. Ngi ta dng bng trang cho mc ch ny. Bng trang c n
u vo (entry). Mi u vo ng vi mt trang. Mt u vo cha mt con tr, tr n mt trang
trn a. u vo u tin ch n trang u tin ca c s d liu, u vo th hai ch n trang th
hai ...
35
Hnh 4.3: V d v bng trang
tng then cht ca k thut Phn trang bng l ngi ta s duy tr hai bng trang trong
sut chu k sng ca giao dch, mt bng trang gi l bng trang hin hnh (current page table),
bng trang cn li gi l bng trang bng (shadow page table). Khi giao dch khi ng, hai bng
trang ny ging nhau. Bng trang bng s khng thay i sut qu trnh hot ng ca giao dch.
Bng trang hin hnh s b thay i mi khi giao dch thc hin tc v write. Tt c cc thao tc
input v output u s dng bng trang hin hnh nh v cc trang trong a. im quan trng
khc l nn lu bng trang bng vo thit b lu tr bn.
Hnh 4.4: Current Page v Shadow Page
36
Gi s giao dch thc hin tc v write(X) v hng mc d liu X c cha trong trang th i.
Tc v write c thc thi nh sau:
1. Nu trang th i cha c trong b nh chnh, thc hin input(X).
2. Nu y l lnh ghi c thc hin ln u tin trn trang th i bi giao dch, sa i bng
trang hin hnh nh sau:
a) Tm mt trang cha c dng trn a.
b) Xo trang va c tm xong bc 2.a khi danh sch cc khung trang t do.
c) Sa li bng trang hin hnh sao cho u vo th i tr n trang mi va tm c trong
bc 2.a.
d) Gn gi tr xi cho X trong trang m (buffer page).
bn giao mt giao dch, cn lm cc bc sau:
B1. m bo rng tt c cc trang m trong b nh chnh c giao dch sa i phi
c xut ra a.
B2. Xut bng trang hin hnh ra a (khng c ghi ln trang bng).
B3. Xut a ch a ca bng trang hin hnh ra v tr c nh trong thit b lu tr bn. V tr
ny chnh l ni cha a ch ca bng trang bng. Hnh ng ny s ghi ln a ch
ca bng trang bng c. Nh vy, bng trang hin hnh s tr thnh bng trang bng v
giao dch c bn giao.
Nu s c xy ra trc khi hon thnh bc th 3, h thng s tr v trng thi trc khi giao
dch c thc hin. Nu s c xy ra sau khi bc th 3 hon thnh, hiu qu ca giao dch c
bo tn; khng cn thc hin thao tc redo no c.
- K thut phn trang bng c mt s im li hn so vi cc k thut da vo file log:
o Khng mt thi gian ghi cc log record.
o Khi phc sau s c nhanh hn, do khng cn cc thao tc undo hoc redo.
- Tuy nhin k thut phn trang bng li c nhiu nhc im:
o Tn chi ph bn giao, xut nhiu khi ra a: cc khi d liu hin ti, bng trang hin
hnh, a ch ca bng trang hin hnh. Trong khi k thut da vo file log ch cn xut ra
cc log record.
o Gy ra hin tng phn mnh d liu: Do k thut phn trang bng i v tr ca trang khi
trang ny b sa i.
o Ngoi ra, k thut phn trang bng s gp nhiu kh khn khi cn p ng yu cu phc v
song song cho nhiu giao dch. V nhng l do trn, k thut phn trang bng khng c
s dng rng ri.
37
4.5. Cu hi n tp chng 4
- Trnh by m hnh kha nh phn.
- Trnh by cc lut trong m hnh kha nh phn.
- Trnh by m hnh kha c ghi.
- Trnh by cc lut trong m hnh kha c ghi.
- Trnh by m hnh kha 2 pha.
- Trnh by v cc bin th ca giao thc kha hai pha.
- Trnh by hin tng Deadlock.
- Trnh by cc chin lc ngn cn v pht hin Deadlock.
- Trnh by v giao thc th t nhn thi gian.
- Phn bit hai k thut cp nht tr hon v cp nht tc thi.
- Trnh by k thut Shadow Paging.
38
CHNG 5: C S D LIU PHN TN
5.1. Gii thiu
- C s d liu phn tn (Distributed Database) l c s d liu c phn on v c lu
tr trn cc trm trong h thng mng. Hnh 6.1 di y l mt v d v c s d liu phn
tn.
Hnh 5.1: V d c s d liu phn tn
- Thit k h thng thng tin c CSDL phn tn bao gm:
o Phn tn v chn nhng v tr t d liu;
o Cc chng trnh ng dng ti cc im;
o Thit k t chc khai thc h thng trn nn mng.
- Khi thit k cc h thng CSDL phn tn ngi ta thng tp trung xoay quanh cc cu hi?
o Ti sao li cn phi phn mnh?
o Lm th no thc hin phn mnh?
o Phn mnh nn thc hin n mc no?
o C cch g kim tra tnh ng n ca vic phn mnh?
o Cc mnh s c cp pht trn mng nh th no?
o Nhng thng tin no s cn thit cho vic phn mnh v cp pht?
- H qun tr c s d liu phn tn (DDBMS)
o Cho php ngi dng to, s dng csdl.
o m bo an ninh (cp pht quyn, 1 nhm ngi c s dng, )
o m bo tnh trong sut ca csdl (Transperence):
o Ngi dng s dng nh csdl tp trung.
o Truy vn tp trung Truy vn phn tn.
- Cc ng dng:
o ng dng cc b (Local App): Ch quan tm ti d liu 1 trm.
o ng dng ton cc (Global App): Lin quan n nhiu trm.
39
- Cc bc thit k c s d liu phn tn
o Thit k lc quan nim: i tng + Mi quan h ER (Ging csdl tp trung).
o Thit k logic vt l:
Thit k phn on: Chia cc quan h thnh cc on L phn on CSDL.
Thit k nh v: t cc on ln cc trm L nh v.
5.2. u nhc im ca c s d liu phn tn
- u im:
o D liu gn vi ni x l Hiu sut cao.
o Tnh sn sng ca h thng cao: Nu mt trm b li s khng nh hng ti cc trm
khc trong h thng.
o Vic tng cc trm s dng trong h thng l n gin nn vic m rng CSDL l d
dng.
- Nhc im:
o Lu tr: Ngoi lc CSDL nh trong CSDL tp trung (Thuc tnh, kiu d liu, )
cn thm cc lc phn on CSDL, lc nh v CSDL (cho bit cc on c
lu tr u).
o X l: Truy vn tp trung l n gin cn truy vn phn tn phc tp.
o An ton: CSDL c lu tr nhiu ni ny sinh vn : m bo an ton d liu khi
truyn qua mng.
5.3. Cu trc chung ca mt c s d liu phn tn
Cu trc mu ca mt c s d liu phn tn c dng:
Hnh 5.2: Cu trc mu ca mt c s d liu phn tn
40
- Lc ton cc:
o Xc nh ton b d liu c lu tr trong CSDLPT.
o c nh ngha nh trong CSDL tp trung.
o Trong m hnh quan h: lc ton cc l cc quan h v mi lin kt gia
chng.
- Lc phn on:
o Mi quan h tng th c th c chia thnh cc phn khng giao nhau gi l
phn on (Fragment).
o C nhiu cch khc nhau phn on: Phn on dc, phn on ngang, phn
on hn hp.
o Cc on c m t bng tn ca quan h tng th cng vi ch mc on. V
d Ri l on th i ca quan h ton cc R.
- Lc nh v:
o Xc nh on d liu no c nh v ti trm no trn mng.
o R
i
j
: Cho bit on th i ca quan h tng th R c nh v trn trm j.
- Lc nh x a phng:
o nh x cc nh vt l v cc i tng c lu tr ti mt trm.
Hnh 5.3: Cc on v hnh nh vt l ca mt quan h tng th
5.4. Phn on d liu (Fragmentation)
Trc tin vic phn tn d liu c thc hin trn c s cp pht cc tp tin cho cc nt
trn mt mng my tnh. Cc nt mng thng nm cc v tr a l khc nhau tri rng trn mt
41
din tch ln. Do vy ti u vic khai thc thng tin th d liu khng th tp trung m phi
phn tn trn cc nt ca mng.
Hn na mt quan h khng phi l mt n v truy xut d liu tt nht. V d nh, nu
ng dng c thc hin trn mt b phn nh cc d liu ca quan h m quan h nm ti cc
v tr khc nhau th c th gy ra nhng truy xut tha v hn th vic nhn bn cc quan h lm tn
khng gian b nh. Do vy phn r mt quan h thnh nhiu mnh, mi mnh c x l nh mt
n v s cho php thc hin nhiu giao dch ng thi. Mt cu truy vn ban u c th c chia
ra thnh mt tp cc truy vn con, cc truy vn ny c th c thc hin song song trn cc mnh
s gip ci thin tc hot ng ca h thng.
Tuy nhin chng ta cng s gp nhng rc ri ca vic phn mnh, v d nu cc ng dng c
nhng xung t s ngn cn hoc gy kh khn cho vic truy xut d liu. Phn r cc mnh ni
chung lm tng chi ph trong vic truy xut d liu. Mt vn na lin quan n vic kim sot
ng ngha v tnh ton vn d liu.
Th hin ca cc quan h chnh l cc bng, v th vn l tm nhng cch khc nhau chia
mt bng thnh nhiu bng nh hn. R rng c hai phng php khc nhau: Chia bng theo chiu
dc v chia bng theo chiu ngang. Chia dc ta c cc quan h con m mi quan h cha mt tp
con cc thuc tnh ca quan h gc gi l phn mnh dc. Chia ngang mt quan h ta c cc
quan h con m mi quan h cha mt s b ca quan h gc gi l phn mnh ngang. Ngoi ra
cn c mt kh nng hn hp, l phn mnh kt hp cch phn mnh ngang v dc.
- Phn on mt quan h R l chia R thnh cc on Ri:
- iu kin phn on ng n:
o iu kin y : Mt mc d liu trong R phi c a vo mt Ri no . m bo
d liu trong R c nh x vo cc on m khng b mt.
Hnh 5.4: Phn on y v phn on khng y
o iu kin xy dng li: Nu R c phn on thnh cc Ri th phi nh ngha c
mt ton t quan h V sao cho: R = VR
i
.
- iu kin tch ri
42
o Nu R tch thnh cc R
i
v d l mt mc d liu trong R
i
th d khng nm trong R
k
(
k i).
o Trong phn on ngang: iu kin ny m bo cc on ngang l tch bit.
o Trong phn on dc tnh tch bit ch p dng cho cc thuc tnh khng kha.
5.4.1. Phn on ngang
- on ngang (Horizontal Fragmentation) ca mt quan h R l mt nhm cc b trong R c
cng mt tnh cht no .
, C
i
l iu kin phn on.
- V d: KhachHang (MaKH, HoTen, NgaySinh, SoDT, DiaChi)
o
m bo iu kin phn on ng n:
o iu kin y : Mi b u thuc mt on.
o iu kin xy dng li:
o iu kin tch ri:
.
5.4.2. Phn on ngang dn xut
- Phn on ngang dn xut (Derived Horizontal Fragmentation) L phn on ngang da
trn mt quan h khc c phn on ngang.
- V d: Quan h nhn vin c phn on theo n v:
o
C quan h NV_DA(MaNV, MaDA, SoGio). Cn phn on quan h ny thnh 3 on theo
NV1, NV2, NV3.
Ta s dng php na kt ni (Semi Join):
. Khi
quan h NV_DA c phn on thnh:
o
43
5.4.3. Phn on dc
- Phn on dc (Vertical Fragmentation): L s phn chia tp thuc tnh ca quan h ton
cc thnh cc tp thuc tnh con.
- Cc on dc c c bng cch chiu quan h ton cc trn mi tp thuc tnh con:
.
- xy dng li R: Mi Ri u phi cha kha chnh ca R:
,
- Khi biu thc xy dng li:
.
- V d: NhanVien(MaNV, TenNV, Luong, Thue, MaNQL, MaPB)
o
Khi ,
5.4.4. Phn on hn hp
Mt mnh ngang c phn on dc hoc mt mnh dc c phn on ngang.
Biu din di dng cy Ch r phn on nh th no.
Hnh 5.5: Cy phn on hn hp ca mt quan h
V d: Xt quan h emp (empnum, name, sal, tax, mgrnum, deptnum) v thng tin phn
on:
o emp c phn on dc thnh 2 on: emp4 v emp5.
emp4: cc thng tin v lng: empnum, sal, tax.
emp5: Cc thng tin v nhn s: empnum, name, mgrnum, deptnum.
o Emp5: phn mnh ngang thnh 3 on emp1, emp2, emp3 theo deptnum: <=10,
(10,20] v >20.
44
5.5. Thit k nh v d liu
- Thit k nh v d liu da trn nguyn tc:
o Nu tn s s dng ca on Ri ti trm j vt qu mt ngng no th on Ri
s c t ti trm j.
o Mi on c th c t trn nhiu trm.
- C 3 cch nh v:
o Nhn bn y : Mi trm cha ton b CSDL.
u im: X l nhanh.
Nhc im: Mt thi gian cp nht, sa
i.
o Khng nhn bn:
V d:
u im: Cp nht nhanh.
Nhc im: X l chm trong vic thng k, tng hp d liu.
o Kt hp.
V d mt cng ty c h thng mng my tnh vi 3 trm tng ng vi 3 n v c m s: 1, 2
v 3.
o Trm 1: Ban qun l d n.
o Trm 2 v 3 dnh cho hai n v 2, 3. Trong mi trm, phng nhn s thng xuyn cn
cc thng tin: MasoNV, HoDem, Ten, NgaySinh, GioiTinh, DiaChi. Phng k ton
thng xuyn cn cc thng tin v: MasoNV, MasoNGS, MasoDV, Luong.
Cc bng c s d liu nh sau:
- DonVi(MasoDV, TenDV, MasoNQL, Ngay)
- NhanVien(MasoNV, HoDem, Ten, NgaySinh, GioiTinh, DiaChi, Luong, MaSoNGS,
MasoDV)
45
- DuAn(MasoDA, TenDA, DiaDiemDA, MasoDV)
- NV_DA (MasoNV, MasoDA, SoGio)
Thit k nh v nh sau:
- Trm 1: Ton b CSDL
- Trm 2:
o
- Trm 3: Tng t trm 2.
5.6. Bin i truy vn ton cc thnh truy vn on
- K thut:
o Biu din truy vn ton cc di dng cy
o Thay th mi quan h bng biu thc xy dng li:
Phn on ngang:
.
Phn on dc:
.
o Bin i truy vn: S dng cc php bin i tng ng.
o B cc nhnh ca cy trong iu kin truy vn v iu kin phn on mu thun
vi nhau.
- V d: Xt hai bng NhanVien, DonVi:
o NhanVien(MaNV, HoDem, Ten, Luong, MaDV)
o DonVi(MaDV, TenDV, MaNQL)
o NhanVien c phn on ngang lm 2 theo MaDV = 1, 2:
o Cho truy vn ton cc: a ra h m, tn, tn n v ca cc nhn vin c MaDV =
1.
Truy vn ton cc Q:
. Chuyn Q
thnh truy vn on:
46
47
5.7. Cu hi n tp chng 5
- nh ngha c s d liu phn tn. Cho v d.
- Trnh by u nhc im ca CSDLPT.
- Phn on ngang l g. Cho v d.
- Phn on ngang dn xut l g. Cho v d.
- Phn on dc l g. Cho v d.
- Phn on hn hp l g. Cho v d.
- Trnh by cc cch nh v c s d liu.
- Trnh by phng php chuyn i truy vn ton cc thnh truy vn on.
- Cho cc quan h ton cc:
o KhoHang (MaKH, TenKH, ViTri)
o LoaiHang (MaLH, TenLH, MoTa, MaKH)
Gi s KhoHang, LoaiHang c phn on ngang theo MaKH =1 v MaKH = 2 thnh
KhoHang1, KhoHang2, LoaiHang1, LoaiHang2.
Vit biu thc i s quan h ca cc on trn.
Vit biu thc xy dng li ca 2 quan h ton cc DonVi, NhanVien.
Hy vit truy vn ton cc Q
TC
: Lp danh sch gm TenLH, ViTri ca loi hng c
MaLH=LH01 v kho hng c MaKH = 2.
Chuyn truy vn Q
TC
trn thnh truy vn on.
48
MT S THI MU
49
Trng i Hc Hng Hi Vit Nam
Khoa Cng ngh Thng tin
B MN H THNG THNG TIN
-----***-----
THI KT THC HC PHN
Tn hc phn: C S D LIU NNG CAO
Nm hc: 2010 2011
thi s: K duyt :
1
Thi gian: 60 pht
Thang im: 100
PHN I TRC NGHIM (30 IM)
Cu 1: (10 im)
Cho cc quan h:
o Khoa (MKhoa, TenKhoa, DiaDiem)
o Lop (MaLop, TenLop, SiSo, MaKhoa)
v truy vn Q: Hin th TenLop ca cc lp c SiSo > 50 v thuc khoa Kinh T. Hi biu
thc i s quan h no di y ti u?
A.
B.
C.
D.
Cu 2: (10 im)
Cho th ph thuc ca lch biu S. Lch
biu no di y l lch biu tun t
tng ng vi S:
A. T1 T2 T3 T4
B. T2 T1 T3 T4
C. T4 T2 T3 T1
D. T4 T3 T1 T2
Cu 3: (10 im)
Lch biu no di y l kh tun t:
T1 T2
T3
T4
50
A. R1(X), R2(Y), R1(Y), W1(X), R3(Y), W2(Y), W3(Y)
B. R1(X), R2(Y), R1(Y), W1(X), R3(Z), W2(Y), W3(Z)
C. R1(X), R2(Z), R1(Y), W1(X), R3(Z), W2(Z), W3(Z)
D. R1(Z), R2(Z), R1(Y), W1(Z), R3(Y), W2(Z), W3(Y)
PHN II T LUN (70 IM)
Cu 4: (30 im)
Cho cc quan h sau:
- LoaiHang (MaLH, TenLH, MoTa)
- HangHoa (MaHH, TenHH, HinhThuc, SoLuong, MaLH)
v truy vn Q: Lp danh sch gm MaHH, TenHH ca cc mt hng c s lng >100 v
thuc loi hng M phm.
a. Vit biu thc i s quan h thc hin truy vn Q.
b. S dng phng php ti u Heuristic ti u ha Q.
Cu 5: (40 im)
Cho cc quan h ton cc:
o Khoa (MaKhoa, TenKhoa, DiaDiem)
o Lop (MaLop, TenLop, SiSo, MaKhoa)
Gi s Khoa v Lop c phn on ngang theo MaKhoa =1 v MaKhoa = 2 thnh Khoa1,
Khoa2, Lop1, Lop2.
a. Vit biu thc i s quan h ca cc on trn.
b. Vit biu thc xy dng li ca 2 quan h ton cc Khoa, Lop.
c. Hy vit truy vn ton cc Q
TC
: Lp danh sch gm TenLop, TenKhoa ca cc lp c
MaKhoa = 2.
d. Chuyn truy vn Q
TC
cu c thnh truy vn on.
----------------------------***HT***----------------------------
Lu : - Khng sa, xa thi, np li sau khi thi
51
Trng i Hc Hng Hi Vit Nam
Khoa Cng ngh Thng tin
B MN H THNG THNG TIN
-----***-----
THI KT THC HC PHN
Tn hc phn: C S D LIU NNG CAO
Nm hc: 2010 2011
thi s: K duyt :
2
Thi gian: 60 pht
Thang im: 100
PHN I TRC NGHIM (30 IM)
Cu 1: (10 im)
Cho cc quan h:
o Khoa (MKH, TenKH, DiaDiem, MaCNK)
o Lop (MaLH, TenLH, SiSo, MaKH)
v truy vn Q: Hin th MaLH, TenLH, SiSo ca cc lp thuc khoa CNT. Hi biu thc
i s quan h no di y ti u?
A.
B.
C.
D.
Cu 2: (10 im)
Cho th ph thuc ca lch biu S.
Lch biu no di y l lch biu tun
t tng ng vi S?
A. T4 T1 T2 T3
B. T4 T3 T2 T1
C. T3 T1 T4 T2
D. T4 T3 T1 T2
Cu 3: (10 im)
Lch biu no di y l kh tun t?
T1 T2
T3
T4
52
A. R1(X), R1(Y), R3(Z), R2(Y), W3(Z), W2(Y), W1(X)
B. R2(Y), R1(X), R1(Y), R3(X), W3(X), W2(Y), W1(X)
C. R3(X), R2(Y), R1(X), R1(Y), W2(Y), W1(Y), W3(X)
D. R1(X), R1(Y), R3(X), R2(Y), W2(Y), W1(Y), W3(X)
PHN II T LUN (70 IM)
Cu 4: (30 im)
Cho cc quan h sau:
- HoaDon (MaHD, MaKH, NgayLap)
- ChiTiet (MaHD, MaHang, SoLuong, GiaBan, ChietKhau)
v truy vn Q: Lp danh sch gm MaHang, SoLuong ca cc mt hng bn vo ngy
29/04/2011.
a. Vit biu thc i s quan h thc hin truy vn Q.
b. S dng phng php ti u Heuristic ti u ha Q.
Cu 5: (40 im)
Cho cc quan h ton cc:
o KhoHang (MaKH, TenKH, ViTri)
o LoaiHang (MaLH, TenLH, MoTa, MaKH)
Gi s KhoHang, LoaiHang c phn on ngang theo MaKH =1 v MaKH = 2 thnh
KhoHang1, KhoHang2, LoaiHang1, LoaiHang2.
a. Vit biu thc i s quan h ca cc on trn.
b. Vit biu thc xy dng li ca 2 quan h ton cc DonVi, NhanVien.
c. Hy vit truy vn ton cc Q
TC
: Lp danh sch gm TenLH, ViTri ca loi hng c
MaLH=LH01 v kho hng c MaKH = 2.
d. Chuyn truy vn Q
TC
cu c thnh truy vn on.
----------------------------***HT***----------------------------
Lu : - Khng sa, xa thi, np li sau khi thi
53
Trng i Hc Hng Hi Vit Nam
Khoa Cng ngh Thng tin
B MN H THNG THNG TIN
-----***-----
THI KT THC HC PHN
Tn hc phn: C S D LIU NNG CAO
Nm hc: 2010 2011
thi s: K duyt :
3
Thi gian: 60 pht
Thang im: 100
PHN I TRC NGHIM (30 IM)
Cu 1: (10 im)
Cho cc quan h:
o LoaiHang (MLH, TenLH, MoTa)
o Hang (MaHH, TenHH, HinhThuc, SoLuong, MaLH)
v truy vn Q: Hin th TenHH ca cc mt hng c SoLuong <10 v thuc loi hng in
T. Hi biu thc i s quan h no di y ti u?
A.
B.
C.
D.
Cu 2: (10 im)
Cho th ph thuc ca lch biu S.
Lch biu no di y l lch biu tun
t tng ng vi S:
A. T3 T1 T2 T4
B. T3 T2 T1 T4
C. T4 T2 T3 T1
D. T4 T3 T1 T2
Cu 3: (10 im)
Lch biu no di y l kh tun t:
T1 T2
T3
T4
54
A. R1(X), R2(Y), R1(Y), W2(Y), R3(Y), W1(X), W3(Y)
B. R1(X), R2(Y), R1(Y), R3(Y), W1(X), W3(Y), W2(Y)
C. R1(X), R2(Y), R1(Y), R3(Y), W3(Y), W2(Y), W1(X)
D. R1(Y), R3(Y), R1(X), R2(Y), W3(Y), W2(Y), W1(X)
PHN II T LUN (70 IM)
Cu 4: (30 im)
Cho cc quan h sau:
- Khoa (MKhoa, TenKhoa, DiaDiem)
- Lop (MaLop, TenLop, SiSo, MaKhoa)
v truy vn Q: Lp danh sch gm MaLop, TenLop ca cc lp c s s nh hn 30 v thuc
khoa in t ng.
a. Vit biu thc i s quan h thc hin truy vn Q.
b. S dng phng php ti u Heuristic ti u ha Q.
Cu 5: (40 im)
Cho cc quan h ton cc:
o DonVi (MaDV, TenDV, DiaDiem)
o NhanVien (MaNV, HoTen, NgaySinh, GioiTinh, Luong, MaDV)
Gi s DonVi v NhanVien c phn on ngang theo MaDV = 1 v MaDV = 2 thnh
DonVi1, DonVi2, NhanVien1, NhanVien2.
a. Vit biu thc i s quan h ca cc on trn.
b. Vit biu thc xy dng li ca 2 quan h ton cc DonVi, NhanVien.
c. Hy vit truy vn ton cc Q
TC
: Lp danh sch gm HoTen, TenDV ca cc nhn vin
thuc n v c MaDV = 1.
d. Chuyn truy vn Q
TC
cu c thnh truy vn on.
----------------------------***HT***----------------------------
Lu : - Khng sa, xa thi, np li sau khi thi
55
Trng i Hc Hng Hi Vit Nam
Khoa Cng ngh Thng tin
B MN H THNG THNG TIN
-----***-----
THI KT THC HC PHN
Tn hc phn: C S D LIU NNG CAO
Nm hc: 2010 2011
thi s: K duyt :
4
Thi gian: 60 pht
Thang im: 100
PHN I TRC NGHIM (30 IM)
Cu 1: (10 im)
Cho cc quan h:
o SinhVien (MSV, TenSV, NgaySinh, DiaChi, MaLop)
o KetQua (MaSV, MaMH, Diem)
v truy vn Q: Hin th MaMH, Diem ca sinh vin Trn Huyn. Hi biu thc i s
quan h no di y ti u?
A.
B.
C.
D.
Cu 2: (10 im)
Cho th ph thuc ca lch biu S. Lch
biu no di y l lch biu tun t
tng ng vi S?
A. T2 T4 T1 T3
B. T4 T3 T2 T1
C. T2 T1 T4 T3
D. T4 T3 T1 T2
Cu 3: (10 im)
Lch biu no di y l kh tun t?
T1 T2
T3
T4
56
A. R1(X), R1(Z), R3(Z), R2(Y), W3(Z), W2(Y), W1(Z)
B. R1(X), R2(Y), R1(Y), R3(X), W3(X), W1(X), W2(Y)
C. R3(Z), R2(Y), R1(X), R1(Y), W1(X), W3(Z), W2(Y)
D. R3(X), R1(X), R1(Y), R2(Y), W2(Y), W1(Y), W3(X)
PHN II T LUN (70 IM)
Cu 4: (30 im)
Cho cc quan h sau:
- DonVi(MDV, TenDV, MaNQL, DiaDiem)
- DuAn (MaDA, TenDA, KinhPhi, MaDV)
v truy vn Q: Hin th TenDA ca cc d n c KinhPhi > 100000 v do n v c TenDV
= XD1 qun l.
a. Vit biu thc i s quan h thc hin truy vn Q.
b. S dng phng php ti u Heuristic ti u ha Q.
Cu 5: (40 im)
Cho cc quan h ton cc:
o NhanVien (MaNV, TenNV, DiaChi, Luong, PhuCap, MaNQL, MaPB)
v thng tin phn on nh sau:
o NhanVien c phn on dc thnh:
o NV1 cha cc thng tin: MaNV, TenNV, DiaChi, MaNQL, MaPB
o NV2 cha cc thng tin: MaNV, Luong, PhuCap
o NV1 c phn on ngang thnh:
o NV11: Nhng nhn vin c MaPB < 5.
o NV12: Nhng nhn vin c MaPB 5.
a. Vit biu thc i s quan h ca cc on trn.
b. Vit biu thc xy dng li ca 2 quan h ton cc NhanVien.
c. Hy vit truy vn ton cc Q
TC
: Lp danh sch gm TenNV, Luong, PhuCap ca cc
nhn vin c MaPB = 8.
d. Chuyn truy vn Q
TC
cu c thnh truy vn on.
----------------------------***HT***----------------------------
Lu : - Khng sa, xa thi, np li sau khi thi
57
Trng i Hc Hng Hi Vit Nam
Khoa Cng ngh Thng tin
B MN H THNG THNG TIN
-----***-----
THI KT THC HC PHN
Tn hc phn: C S D LIU NNG CAO
Nm hc: 2010 2011
thi s: K duyt :
5
Thi gian: 60 pht
Thang im: 100
PHN I TRC NGHIM (30 IM)
Cu 1: (10 im)
Cho cc quan h:
o DonVi (MDV, TenDV, DiaDiem)
o NhanVien (MaNV, HoTen, NgaySinh, GioiTinh, Luong, MaDV)
v truy vn Q: Hin th HoTen ca cc nhn vin n thuc n v PKD. Hi biu thc i
s quan h no di y ti u?
A.
B.
C.
D.
Cu 2: (10 im)
Cho th ph thuc ca lch biu S.
Lch biu no di y l lch biu tun
t tng ng vi S:
A. T3 T1 T2 T4
B. T3 T2 T1 T4
C. T3 T1 T4 T2
D. T4 T3 T1 T2
Cu 3: (10 im)
Lch biu no di y l kh tun t:
T1 T2
T3
T4
58
A. R2(X), R1(X), R1(Y), R3(Z), W3(Z), W2(X), W1(X)
B. R1(Y), R2(X), R1(X), R3(Z), W3(Z), W2(X), W1(X)
C. R1(Z), R2(X), R1(Y), W2(X), R3(Z), W1(Y), W3(Z)
D. R1(Y), R2(X), R1(X), R3(Z), W1(X), W3(Z), W2(X)
PHN II T LUN (70 IM)
Cu 4: (30 im)
Cho cc quan h sau:
- DonHang (MaDH, MaNV, MaNhaCC, NgayLap, TongTien)
- ChiTiet (MaDH, MaHang, SoLuong, DonGia, ChietKhau)
v truy vn Q: Lp danh sch gm MaHang, SoLuong ca cc mt hng c DonGia > 90000
trong n hng c NgayLap = 29/04/2011.
a. Vit biu thc i s quan h thc hin truy vn Q.
b. S dng phng php ti u Heuristic ti u ha Q.
Cu 5: (40 im)
Cho cc quan h ton cc:
o DonVi(MaDV, TenDV, MaNQL)
o DuAn (MaDA, TenDA, KinhPhi, MaDV)
Gi s DonVi v DuAn c phn on ngang theo MaDV = 1 v MaDV = 2 thnh
DonVi1, DonVi2, DuAn1, DuAn2.
a. Vit biu thc i s quan h ca cc on trn.
b. Vit biu thc xy dng li ca 2 quan h ton cc DonVi, DuAn.
c. Hy vit truy vn ton cc Q
TC
: Lp danh sch gm TenDA, TenDV ca cc d n c
KinhPhi > 900000 v do n v c MaDV = 1 qun l.
d. Chuyn truy vn Q
TC
cu c thnh truy vn on.
----------------------------***HT***----------------------------
Lu : - Khng sa, xa thi, np li sau khi thi