Post on 13-Oct-2015
5/23/2018 Chuong 6 - Distributed Database
1/114
1
Distributed Database
TS. Nguyn nh Thun
5/23/2018 Chuong 6 - Distributed Database
2/1142
* Thit k h thng thng tin c CSDL phn tn
bao gm:- Phn tn v chn nhng v tri t d liu;- Cc chng trnh ng dng ti cc im;- Thit k t chc khai thc h thng trn mng
*nh ngha 1:C s d liu (CSDL) phn tn l tp hp d liu,
m v mt log ictp hp ny thuc cng mt hthng, nhng v mt vt ld liu c phntntrn cc v tr khc nhau ca mt mng my tnh.
3.1 Gii thiu v CSDLPT
5/23/2018 Chuong 6 - Distributed Database
3/114
3
S phn tn d liu(data distribution): d liu phi c phn
tn nhiu ni.S tng quan lun l(logical correlation): d liu ca cc nic s dng chung cng gii quyt mt vn .
V d:- Mt ngn hng c ba chi nhnh cc v tr a l khc nhau.- Ti mi chi nhnh c mt my tnh v mt c s d liu tikhon, to thnh mt ni(site) ca c s d liu phn tn.- Cc my tnh c kt ni vi nhau thng qua mt mngmy tnh truyn thng.- Mt khch hng c th gi tin v rt tin ti cc chi nhnh.
3.1 Gii thiu v CSDLPT
5/23/2018 Chuong 6 - Distributed Database
4/114
4
nh ngha 2: C s d liu phn tnl tp hp d liu c
phn tntrn cc my tnh khc nhau ca mt mng my tnh.Mi ni ca mng my tnh c kh nng x l t tr v c th thchincc ng dng cc b. Mi ni cng tham gia thc hintnht mt ng dng ton cc, m ni ny yu cu truy xut d liu
nhiu ni bng cch dng h thng truyn thng.- S phn tn d liu(data distribution): d liu phi c phntn nhiu ni.- ng dng cc b(local application): ng dng c chy hon
thnh ti mt ni v ch s dng d liu cc b ca ni ny.- ng dng ton cc(hoc ng dng phn tn) (global application/ distributed application): ng dng c chy hon thnh v sdng d liu ca t nht hai ni.
3.1 Gii thiu v CSDLPT
5/23/2018 Chuong 6 - Distributed Database
5/114
5
My tnh 1
TerminalTT
My tnh 3TTT
Mng truynthng
C sd liu 1
My tnh 2
TTT
C sd liu 2
C sd liu 3
Chi nhnh 1 Chi nhnh 2
Chi nhnh 3
3.1 Gii thiu v CSDLPT
5/23/2018 Chuong 6 - Distributed Database
6/114
6
My tnh 1 My tnh 2
My tnh 3
Mng cc b
Trung tm my tnhChi nhnh 1
TTT C s
d liu 1C s
d liu 2
C sd liu 3
Chi nhnh 2TTT
Chi nhnh 3TTT
C s d liu phn tn trn mt mng cc b.
3.1 Gii thiu v CSDLPT
5/23/2018 Chuong 6 - Distributed Database
7/114
7
H thng a x l (multiprocessor system)
My tnhpha sau 1
Mng cc b
My tnh ng dng (pha trc)
C sd liu 1
C sd liu 2
C sd liu 3
Trung tm my tnh
My tnhpha sau 2
My tnhpha sau 3
Chi nhnh 1TTT
Chi nhnh 2TTT
Chi nhnh 3TTT
3.1 Gii thiu v CSDLPT
5/23/2018 Chuong 6 - Distributed Database
8/114
8
Hquntrcsdliuphn tn (DDBMSs)
Chcnng:- Htrvictov botr csdliuphn tn- C cc thnh phntngtnhmthquntrcsdliutptrung- Cc thnh phnhtrtrong vicchuyntidliuncctrmv ngcli.
Thnh phn ca DDBMS:- Qun tr d liu (Database management): DB- Truyn thng d liu (Data Communication): DC
- T in d liu (Data Dictionary): DDdng m t thngtin v s phn tn ca d liu trn mng.- C s d liu phn tn (Distributed Database): DDB
3.1 Gii thiu v CSDLPT
5/23/2018 Chuong 6 - Distributed Database
9/114
9
Localdatabase 1
DB DCDDB
TT T
Site 1
Site 2
Localdatabase 2 DB DC DDB
T
Cc thnh phncamtDDBMS thngmi
T T
DD
DD
3.1 Gii thiu v CSDLPT`
5/23/2018 Chuong 6 - Distributed Database
10/114
10
So snh csdl phn tn v csdl tptrung
Nhn xt: CSDL phn tn khng ngin l nhngs thchinphn tn caCSDL tp trung, biv chng cho php
thitkcc ctrngkhc viCSDL tptrung.
Cc cimtiu biucaCSDL truynthng: iukhintptrung
clpdliu
gimdtha
bitlpv bomtdliu.
3.1 Gii thiu v CSDLPT
5/23/2018 Chuong 6 - Distributed Database
11/114
11
a. iu khin tp trungTrong CSDL tpt rung:
- Khnngiukhintptrung trn ton ngunti nguyn thngtin catchc- Mingdngc cc tptin ring can.
Trong CSDL phn tn,- CSDL phn tn ciukhinvicutrc phn lpdavomt h qun tr CSDL ton cc (c trch nhim trn ton bCSDL phn tn) v hquntrCSDL ccb(c trch nhimviCSDL ccb).- HquntrCSDL ccbc thc mtmcttrcao.- Cc CSDL phn tn c th rtkhc nhau vmc t tr: thon ton ttr,khng c btcmthquntrCSDL tptrungno, nhunhhon ton iukhintptrung.
3.1 Gii thiu v CSDLPT
5/23/2018 Chuong 6 - Distributed Database
12/114
12
b. c lp d liu
Trong sut phn tn:- Vi trong sut phn tn chng ta hiu rng cc chngtrnh ng dng c th s dng CSDL nh l n khng ct chc phn tn.- S chnh xc ca chng trnh khng b nh hng bi
vic dch chuyn d liu t trm ny n trm khc. Tuynhin, tc thc hin ca chng b nh hng.`
3.1 Gii thiu v CSDLPT
5/23/2018 Chuong 6 - Distributed Database
13/114
13
c. GimdthadliuTrong CSDL tptrung:
- Dliudthacgimnmctithiubiv: Skhng tngthch gianhiubnsao cacng mt
tpdliu. Titkim khng gian lu trbngcch loibcc d
tha.Trong CSDL phn tn:- Dthaphctphnv Hotngcacc trnh ngdngc thbtngln khi
d liucsao li ttccc vtr, nitrnh ngdngcnn.
Tnh thngtrccahthngstngln, biv khi cli xy ra mt trm no s khng dng vic thchincc ngdngca trmkhc nud liuc
sao chp li.
3.1 Gii thiu v CSDLPT
5/23/2018 Chuong 6 - Distributed Database
14/114
14
u v nhc im ca h phn tn
u im p ng nhanh hu ht cc ng dng s dng d liu ti
cc trm
Tng cng cc n th ng dng v CSDL m khng lmcn tr ngi s dng hin ti.
Kim sot d liu a phng theo hng hon thin s
tch hp v qun tr d liu t xa.
Tng cng kh nng ca h thng lin quan n s dtha d liu.
3.1 Gii thiu v CSDLPT
5/23/2018 Chuong 6 - Distributed Database
15/114
15
u v nhc im ca h phn tn
Nhc im
Phn mm t v phc tp
Phi x l cc thay i thng bo trong mi a im
Kh kim sot tnh ton vn d liu vi nhiu bn sao d
liu c phn b khp mi ni.
p ng chm nhu cu ca cc trm trong trng hp cc
phn mm ng dng khng c phn b ph hp vi vic
s dng chung.
3.1 Gii thiu v CSDLPT
5/23/2018 Chuong 6 - Distributed Database
16/114
16
Kin trc CSDL phn tn
5/23/2018 Chuong 6 - Distributed Database
17/114
17
3.2 KIN TRC C BN CA CSDL PHN TN
S tng th(Global Schema)
S phn mnh(Fragmentation Schema)
S nh v(Allocation Schema)
CcS
clpvtr
S nh x a phng 1(Local mapping Schema 1)
S nh x a phng n(Local mapping Schema n)
H qun tr CSDL ti v tr 1(DBMS 1)
H qun tr CSDL ti v tr n(DBMS n)
Kin trc tham kho dng cho CSDL phn tn
CSDL aphng 1
(LocalDatabase 1)
CSDL aphng n
(LocalDatabase n)
5/23/2018 Chuong 6 - Distributed Database
18/114
18
3.2 Kin trc c bn ca mt c s d liuphn tn
a. Stngth(GlobalSchema):
Xc nhttccc d liusc lutrtrong csd
liuphn tn cngnh cc d liu khng cphn tn
cc trmtrong hthng.
Stngthcnhnghatheo cch nhtrong CSDL
tptrung.
Trong m hnh quan h,stngthbao gmnhngha
catpcc quan htngth(Global relation) .
5/23/2018 Chuong 6 - Distributed Database
19/114
19
b. Sphn on/ phn mnh(fragment schema):
Miquan htngthc thchia thnh mtvi phnkhnggiao nhau gil phn mnh(fragment).
C nhiucch khc nhau thchinvicphn chia ny
Sphn mnhm tcc nh xgiacc quan htngth v cc on c nh ngha trong s phn mnh
(fragmentation Schema),
Cc oncm tbngtn caquan htngthcngvichmccamnh. Chnghn,Richiul onthi
caquan hR.
3.2 Kin trc c bn ca mt c s d liuphn tn
5/23/2018 Chuong 6 - Distributed Database
20/114
20
c. Snhv(allocation schema):
Cc onl cc phnlogic camtquan htngthcnhvvtl trn mthay nhiutrm.
S nh v xc nh on d liu no c nh v ti
trmno trn mng.
Ttc cc onc lin ktvi cng mtquan h tng
thR v cnhvticng mttrmj cuthnh nhvtl
quan htngthR titrmj.
Do ta c thnh xmt-mtgiamtnhvtl v mtcp(quan htngth,trm).
Cc nhvtl c thchra bngtn camtquan htng
thv mtchmctrm.
3.2 Kin trc c bn ca mt c s d liuphn tn
5/23/2018 Chuong 6 - Distributed Database
21/114
21
K hiu Ri ch on/mnh th i ca quan h tng th R
K hiu Rj ch nh vt l ca quan h tng th R titrm j
Tng t nh vy, bn sao ca on i thuc quan h R
ti trm j c k hiu l Rij
d. S nh x a phng (Local mapping schema):
Thc hin nh x cc nh vt l ln cc i tng c
thc hin bi h qun tr c s d liu a phng Tt c cc on ca mt quan h tng th trn cng mt
trm to ra mt nh vt l
3.2 Kin trc c bn ca mt c s d liuphn tn
5/23/2018 Chuong 6 - Distributed Database
22/114
22
RR1
R2
R3
R4
R11
R2
1
R12
R2
2
R23
R33
R43
Cc onQuan h tng th Hnh nh vt l
R1
(Trm 1 )
R2(Trm 2 )
R3
(Trm 3 )
Cc on v hnh nh vt l ca mt quan h tng th
3.2 Kin trc c bn ca mt c s d liuphn tn
5/23/2018 Chuong 6 - Distributed Database
23/114
23
3.3 CC C IM CHNH CA H PHN TN
1. Ch ia sti nguyn
cthchinqua mngtruynthng.Mi ti nguyn cn phi c qun l bi mt chngtrnh c giao dintruynthngCc ti nguyn c thctruy nhp,cpnhtmtcch
tin cyv nhtqun.Qunl ti nguyn: bao gmLpkhochdphngttn cho cc lpti nguyn
Cho php ti nguyn c truy nhptniny nnikhcnh xtn ti nguyn vo achtruynthng.
5/23/2018 Chuong 6 - Distributed Database
24/114
24
2. Tnh mTnh mcahthngphn tn l tnh ddng mrng
phncngcan. Mththngcgil c tnh mthphic cc iukinsau: H thng c th to nn bi nhiu loi phn cng vphnmmcanhiunh cung cpkhc nhau.
C thbsung vo cc dchvdng chung ti nguynm khng ph hnghay nhn icc dchvangtnti. Tnh mchon thinbngcch xc nhhay phnnh r cc giao din chnh ca mt h v lm cho n
tngthch vicc nh pht trinphnmm. Tnh mcahphn tn datrn viccung cpcchtruynthng giacc tintrnh v cng khai cc giao dindng truy nhpcc ti nguyn chung.
3.3 CC C IM CHNH CA H PHN TN
5/23/2018 Chuong 6 - Distributed Database
25/114
25
3. Khnngsong song
H phn tn hot ng trn mt mng truyn thng cnhiumy tnh, mimy c thc mthay nhiuCPU. C th thc hin nhiu tin trnh trong cng mt thiim. Vic thchin tintrnh theo cchphn chia thi
gian (mtCPU) hay (nhiuCPU).
Khnnglm vicsong song t rong hphn tncthhinqua hai tnh hungsau:
Nhiungisdngngthiara cc lnhhay cctngtc vicc chngtrnh ngdng. Nhiu tin trnh Server chy ng thi, mi tin trnhphipngyu cutcc Clients.
3.3 CC C IM CHNH CA H PHN TN
5/23/2018 Chuong 6 - Distributed Database
26/114
26
4. Khnngmrng
Khnngmrngcamthphn tn cctrngbitnh khng thay iphnmmhthngv phnmmngdngkhi hcmrng.
Yu cu cho vic m rng khng ch l m rng phn
cng,vmngm n tritrn cc kha cnhkhi thitkhphn tn.V d: tnsutsdngtrn mngtngt,trnh tnh
trng tcnghnxy ra khi ch c mtServer v phip
ngcc yu cutruy nhpcc file . Ngita nhn bncc file trn mtServer khc v hthngcthitksaocho victhm Server cddng. Mtsgiiphp khcl sdngCache v cc bngsao dliu.
3.3 CC C IM CHNH CA H PHN TN
5/23/2018 Chuong 6 - Distributed Database
27/114
27
5.Khnngchuli
Victhitkkhnngchulicc hthngmy tnh da
trn hai giiphp sau:
Dng khnng thay thmboshotng lintcv hiuqu.
Dng cc chng trnh hi phc d liu khi xy ra s
c.
3.3 CC C IM CHNH CA H PHN TN
5/23/2018 Chuong 6 - Distributed Database
28/114
28
6. mbot in cyvnhtqun
Hthngyu cutin cynh:
. B mtcadliu
. Cc chcnngkhi phchhngphimbo
. Ngoi ra cc yu cucah thngv tnh nhtqun
cng thhinch: khng c mu thun trong nidung
csdliu.
3.3 CC C IM CHNH CA H PHN TN
5/23/2018 Chuong 6 - Distributed Database
29/114
29
7. 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 nhng ngi lp trnh ng dng.Cc loi trong sut trong h phn tn:
a.Trong sut phn on (fragmentation transparency)
b.Trong sut v v tr (location transparency)c.Trong sut nh x a phng (local mapping transparency)
3.3 CC C IM CHNH CA H PHN TN
3 4 TRONG SUT PHN TN
5/23/2018 Chuong 6 - Distributed Database
30/114
30
a. Trong sut phn on(fragmentation transparency):Khi d liu c phn on th vic truy cp vo CSDL
c thc hin bnh thng nh l cha b phn tn vkhng nh hng ti ngi s dng.V d:Xt quan h tng th NCC (Id, Tn, Tui)v cc phn on c tch ra t n:
NCC1 (Id, Tn, Tui)NCC2 (Id, Tn, Tui)NCC3 (Id, Tn, Tui)
Gi s DDBMS cung cp tnh trong sut v phn on,khi ta c th thy tnh trong sut ny c th hin nh
sau:Khi mun tm mt ngi c Id=Id1th ch cn tm trn
quan h tng th NCC m khng cn bit quan h NCC cphn tn hay khng.
3.4 TRONG SUT PHN TN
3 4 TRONG SUT PHN TN
5/23/2018 Chuong 6 - Distributed Database
31/114
31
SELECT *
FROM NCCWHERE Id=Id1
DDBMS
NCC1
NCC2
NCC3
V tr1
V tr2
V tr3
Trong sut phn on
3.4 TRONG SUT PHN TN
3 4 TRONG SUT PHN TN
5/23/2018 Chuong 6 - Distributed Database
32/114
32
b.Tnh trong sutvvtr(location transparency):
Ngisdngkhng cnbitvvtr vtl cad lium c quyntruy cpncsdliutibtcvtr no.
Cc thao tc lyhoccpnhtmtdliutxa c
tngthchinbihthngtiimara yu cu.
Tnh trong sutvv tr rthu ch, n cho php ngi
sdngbqua cc bnsao d liutntimivtr.
Do c thdi chuynmtbnsao dliutmtvtr ny
nmtv tr khc v cho php to cc bn sao mi m
khng nhhngncc ngdng.
3.4 TRONG SUT PHN TN
3 4 TRONG SUT PHN TN
5/23/2018 Chuong 6 - Distributed Database
33/114
33
V d: Viquan h tng thR v cc phn onnh
ni trn nhnggisrngDDBMS cung cptrong sutvvtr nhngkhng cung cptrong sutvphn on.
Xt cu truy vn tm ngi c Id=Id1.
SELECT *
FROM NCC1
WHERE Id=Id1
IF NOT #FOUND THEN
SELECT *FROM NCC2
WHERE Id=Id1
3.4 TRONG SUT PHN TN
3 4 TRONG SUT PHN TN
5/23/2018 Chuong 6 - Distributed Database
34/114
34
u tin h thng s thc hin tm kim phn on NCC1
v nu DBMS tr v bin iu khin #FOUND th mt culnh truy vn tng t c thc hin trn phn on NCC2,... y quan h NCC2c sao lm hai bn trn hai v tr2v v tr3, ta ch cn tm thng tin trn quan h NCC2m
khng cn quan tm n v tr no.DBMS
NCC1
NCC2
NCC2
V tr 1
V tr 2
V tr 3
S trong sut v v tr
3.4 TRONG SUT PHN TN
3 4 TRONG SUT PHN TN
5/23/2018 Chuong 6 - Distributed Database
35/114
35
c. Trong sut nh x a phng(local mapping transparency): L mt c tnh quan trng trong mt h thng DBMS khng
ng nht ng dng tham chiu n cc i tng c cc tn c lp tcc h thng cc b a phng. ng dng c ci t trn mt h thng khng ng nht
nhng c s dng nh mt h thng ng nht.
DBMS
NCC1
NCC2
V tr 1
V tr 2
S trong sut nh x a phng
3.4 TRONG SUT PHN TN
3 5 Ph bit CSDL h t CSDL
5/23/2018 Chuong 6 - Distributed Database
36/114
36
3.5 Phn bit CSDL phn tn v CSDL song song+ Kintrc bnhcam hnh song
song: B nh chia s hoc B nhphn tn
+ Cc hqun trCSDL c thitk s dng kin trc bnh lhqun trCSDL song song: tndngcng nghmy song song
+ Kin trc khng chia s: mi bx l c b nh chnh v b nh thcp ring, khng c b nh dngchung, cc bx l giao tipvinhaubng mng tc cao (bus hoc
switch)+ Kin trc khng chia s cngc xem nh mi trng cho CSDLsong song theo tnh ixngv ngnhtcacc nt.
M hnh kin trc khng chia s
5/23/2018 Chuong 6 - Distributed Database
37/114
37
M hnh d liu tp trung
M hnh d liu phn tn
3 6 L i h CSDLPT
5/23/2018 Chuong 6 - Distributed Database
38/114
38
3.6 Li ch ca CSDLPT
Qun l d liu phn tn vi cc mc trong sut
khc nhau:+ Phn tn trong sut hay mng trong sut: chia
thnh cc phntrong sutv tn trong sut
+ Bnsao (replication) trong sut: khincho ngidng khng nhnthysc mtcacc bnsao+ Phn on (fragmentation) trong sut: khinngidng khng nhn thys c mtca cc
phn on(phn ontheo chiudc/ngang)
3 6 L i h CSDLPT (tt)
5/23/2018 Chuong 6 - Distributed Database
39/114
39
Tng tnh tin cy (reliability): l xc sut h thng
chy(khng dng)tithiimxc nh,- Tnh sn sng (availability): l xc suth thngckhnngvnhnh lin tctrong sutmtkhongthigian.
Nng cao nng lchthng: do vicnhvd liulm gimstngtranh giaCPU v cc dchvI/Ov dnnvictrtrong cc mngdinrng.
Ddng mrng.
3.6 Li ch ca CSDLPT (tt)
3 6 L i h CSDLPT (tt)
5/23/2018 Chuong 6 - Distributed Database
40/114
40
Cc chcnngkhc caCSDL phn tn:+ Luvtcadliuphn tn, phn onv bnsao bngvic
mrngcatalog DDBMS+ Tin trnh truy vnphn tn: truy cpcc site txa v truyncc cu truy vnv dliugiacc site thng qua mng
+ Qunl cc giao dchphn tn: nhra cch thchincccu truy vnv giao dch truy cpd liu t xa tnhiu site,ngbv mbotnh ton vn
+ Qunl sao ludliu: quytnhxem truy cpbnsao nov duy tr tnh nhtqun ca cc i tngd liu trong bnsao
+ Khi phcdliuphn tn: khi phctcc site bcrash, cclin ktbhng
+ Bomt: bomqunl trnvntnh bomtcadliuvquyntruy cp/cpphp (authorization/access) cangidng
+ Qunl cc khonmcphn tn
3.6 Li ch ca CSDLPT (tt)
3 7 PHNG PHP THIT K CSDL PHN TN
5/23/2018 Chuong 6 - Distributed Database
41/114
41
3.7 PHNG PHP THIT K CSDL PHN TN
S thit k tng th c s d liu phn tn
Hin nay cha c mt k thut c th no ni mt cchchi tit vic thit k mt CSDL phn tn.
Thit k lc quan h tng th
Thit k phn on
Thit k nh v cc on(To cc nh vt l)
Thit k CSDL vt l
S thit k tng th
3 7 PHNG PHP THIT K CSDL PHN TN
5/23/2018 Chuong 6 - Distributed Database
42/114
42
1. Thit k lc quan h tng th:
Thit k cc quan h tng th M t ton b d liu s c dng trong h thng2. Thit k phn on:thc hin chia nh d liu thnh
cc phn.
3. Thit k nh v cc on: l qu trnh thc hin nh x cc on vo cc trmkhc nhau
To cc nh vt l ti cc trm.
Cc on d liu c a vo cc v tr lu tr thchhp vi yu cu hot ng thc t ca h thng.4. Thit k c s d liu vt l:thit k d liu vt l cho
cc quan h ti cc trm
3.7 PHNG PHP THIT K CSDL PHN TN
3 7 PHNG PHP THIT K CSDL PHN TN
5/23/2018 Chuong 6 - Distributed Database
43/114
43
Cc phng php thit k CSDL phn tn
C 2 phng php thit k CSDL phn tn
Phng php tip cn t trn xung
Phng php tip cn t di ln.
3.7 PHNG PHP THIT K CSDL PHN TN
3 7 PHNG PHP THIT K CSDL PHN TN
5/23/2018 Chuong 6 - Distributed Database
44/114
44
3.7.1 Phng php thit k t trn xung (Top-Down)
Thit k t tng th n ring bit
Phn r mt h thng ln thnh cc h thng con
Phn tch cc yu cu nhm nh ngha mi trng h thng
Thu thp cc yu cu v d liu v nhu cu x l ca cc
trm c s dng CSDL.
3.7 PHNG PHP THIT K CSDL PHN TN
3 7 PHNG PHP THIT K CSDL PHN TN
5/23/2018 Chuong 6 - Distributed Database
45/114
45
Thit k view: xy dng khung nhn d liu cho ngi
s dng cc trm.
Thit k mc quan nim: l mt tin trnh kim tra v
xc nh r hai nhm quan h:phn tch thc thv
phn tch chc nng.
+ Phn tch thc th: xc nh cc tp thc th, cc
thuc tnh v cc mi quan h gia chng.
+ Phn tch chc nng: xc nh cc chc nng ca
h thng v a ra cc chc nng c s.
3.7 PHNG PHP THIT K CSDL PHN TN
3 7 PHNG PHP THIT K CSDL PHN TN
5/23/2018 Chuong 6 - Distributed Database
46/114
46
Thit k phn tn: bao gm hai phn:
+ Thit k phn on
+ Thit k nh v
Thit k lc quan nim a phng: to ra cc
lc mc quan nim ti cc a phng
Thit k vt l: thc hin nh x lc mc quan
nim ti cc a phng ra cc n v lu tr vt l
Quan st v kim tra: kim tra cc giai on ca qu
trnh thit k c s d liu
3.7 PHNG PHP THIT K CSDL PHN TN
3 7 PHNG PHP THIT K CSDL PHN TN
5/23/2018 Chuong 6 - Distributed Database
47/114
47
3.7 PHNG PHP THIT K CSDL PHN TN
3 7 PHNG PHP THIT K CSDL PHN TN
5/23/2018 Chuong 6 - Distributed Database
48/114
48
3.7.2 Phng php thit k t di ln (Bottom-Up)Nhn xt
Phng php thit k trn xung thc s c hiu qu khixy dng mt h thng mi. Trong thc t, mt s CSDL tn ti trc, c t
chc trong mi trng tp trung v CSDL phn tn cpht trin bng cch lin kt chng li thnh mt CSDLmi thng nht (Cc DBMS cc b khc nhau c sdng)
Cch thit k1. Chn mt m hnh d liu chung m t lc tng
th2. Chuyn mi lc cc btheo m hnh d liu chung
chn3. Tch hp cc lc cc b vo lc tng th
3.7 PHNG PHP THIT K CSDL PHN TN
3 8 PHN MNH D LIU
5/23/2018 Chuong 6 - Distributed Database
49/114
49
Phn mnh (theo chiu ngang, dc,kthp),bn
sao (replication), cppht trong CSDL phn tn: M hnh phn on ca mt CSDL l vic nhngha tp cc cch phn on bao gm cc thuctnh v tuple trong CSDL v vic thocc iukin
c xy dng CSDL ban u t cc phn onbng cch s dng cc ton t OUTER UNION(hocOUTER JOIN) v UNION
Numtphn onclutrnhiusite, ta ni
rngphn oncsao lu(replicated)
3.8 PHN MNH D LIU
3 8 1 Phn mnh ngang (horizontal fragmentation)
5/23/2018 Chuong 6 - Distributed Database
50/114
50
- Phn mnh ngang mt quan h tng th n-b R l tch Rthnh cc quan hcon n-bR1, R2, ..., Rksao cho quan hR
c thckhi phclitcc quan hcon ny bngphphp: R = R1R2 ... RkPhn mnhonngang mtquan h l tp con ca cc b
trong quan h.Cc bthucvphn onno th cchra bngiukin
vtnh chtcaquan h.Phn onngang chia ngang mtquan hbngcch nhm
cc dng tothnh tpcon cc b. Phn on ngang c c t vic phn hoch quan h
primary thnh cc cc quan h secondary, cc quan hnylin ktviquan hprimary thng qua kho ngoi.
Phn onngang caquan hR cvitl (R) trong isquan h
3.8.1 Phn mnh ngang (horizontal fragmentation)
3 8 2 Phn mnh dc (vertical fragmentation)
5/23/2018 Chuong 6 - Distributed Database
51/114
51
Phn on dc chia mt quan h theo chiu dc bi cc ct Mi phn on dc ca quan h ch lu cc thuc tnh ca quan h
Phn on dc ca quan h R c vit l trong i s quan h Mt tp cc phn on dc m php chiu danh sch L1,L2,,Lngm tt c cc thuc tnh trong R nhng ch chia s ch thuc tnhkho ca R gi l phn on y ca R
Trong trng hp ny, php chiu danh sch tho:
++ vi mi i j trong ATTTRS(R) l tp cc thuc tnhca R v PK(R) l kho chnh ca R
xy dng li R t cc phn on dc ta s dng ton t OUTERUNION trn phn on dc
- Phn mnh dc mt quan h tng th n-b R l tch R thnh cc quanh con R1, R2, ..., Rk sao cho quan h R c th c khi phc lit cc quan h con ny bng php ni:
R = R1 R2 ..., Rk
3.8.2 Phn mnh dc (vertical fragmentation)
3 8 3 Phn mnh kt hp (hybrid fragmentation)
5/23/2018 Chuong 6 - Distributed Database
52/114
52
3.8.3 Phn mnh kt hp (hybrid fragmentation)
L victhpphn ondcv phn onngang
Quan hban uc thxy dng libngcch pdngcc ton tUNION v OUTER UNION Thng thng, mi phn on ca quan h R ccbngcch thpton tSELECTPROJECT,k
hiuL(C(R)):+ If C = TRUE and L ATTRS(R): phn ondc+ If C TRUE and L = ATTRS(R): phn onngang+ If C TRUE and L ATTRS(R): phn onhnhp
V d v phn mnh d liu
5/23/2018 Chuong 6 - Distributed Database
53/114
53
V d:Xt c s d liu ca mt cng ty phn mm c t
chc nh sau: NHANVIEN (MANV, TENNV, CHUCVU): quan h ny
cha d liu v nhn vin ca cng ty.
TLUONG (CHUCVU, LUONG):quan h ny cha d liu
lin quan v lng v chc v ca nhn vin.
DUAN (MADA, TENDA, NGANSACH):quan h ny cha
d liu v cc d n m cng ty ang thc hin.
HOSO (MANV, MADA, NHIEMVU, THOIGIAN):quan hny cha d liu v h s ca nhn vin c phn cng
thc hin d n).
V d v phn mnh d liu
C s d liu ca mt cng ty my tnh
5/23/2018 Chuong 6 - Distributed Database
54/114
54
NHANVIEN (E) HOSO(G)
C s d liu ca mt cng ty my tnh
MANV TENNV CHUCVU
A1
A2
A3
A4
A5
A6A7
A8
Nam
Trung
ng
Bc
Ty
HngDng
Chin
Phn tch HT
Lp trnh vin
Phn tch HT
Phn tch HT
Lp trnh vin
K s inPhn tch HT
Thit k DL
MANV MADA NHIEMVU THOIGIAN
A1A2
A2
A3
A3
A4A5
A6
A7
A8
D1D1
D2
D3
D4
D2D2
D4
D3
D3
Qun lPhn tch
Phn tch
K thut
Lp trnh
Qun lQun l
K thut
Qun l
Lp trnh
1234
6
12
10
620
36
48
15
MADA TENDA NGANSACH
D1D2D3D4
CSDLCITBOTRPHT TRIN
20000120002800025000
CHUCVU LUONG
K s inPhn tch HT
Lp trnh vinThit k DL
1000
2500
3000
4000
DUAN (J) TLUONG (S)
V d v phn mnh d liu
5/23/2018 Chuong 6 - Distributed Database
55/114
55
V d v phn mnh d liu
V d v phn mnh d liu
5/23/2018 Chuong 6 - Distributed Database
56/114
56
V d v phn mnh d liu
3.8.4 Bn sao (replication) v cp pht (allocation)
5/23/2018 Chuong 6 - Distributed Database
57/114
57
3.8.4 Bn sao (replication) v cp pht (allocation)
Bn sao c dng tng tnh sn sng (availability) ca dliu
+ Vic sao lu ton b d liu ca tt c cc site trong h phntn s to ra bn sao y ca CSDL phn tn+ Mi phn on c lu ng mt site s khng c bn
sao (khng c tnh hon nguyn). Trong trng hp ny mi
phn on c tch ri ra tr kho chnh c lp li trongphn on dc (hoc hn hp)+ Mt s phn on ca CSDL c th c sao lu trong khi
mt s khc li khng: sao lu tng phn Mi phn on (hoc mi bn sao phn on) cn c ch
nh vo mt site ring bit trong h phn tn. Cng vic nyc hi l phn tn d liu (data distribution) hay cp pht dliu (data allocation)
3.9 Cp pht ti nguyn trong h phn tn
5/23/2018 Chuong 6 - Distributed Database
58/114
58
3.9 Cp pht ti nguyn trong h phn tn
3.9.1 Bi ton cp pht (allocation problem):
Gi s c mt tp cc mnh F = {F1, F2, ..., Fk } v mtmng my tnh bao gm cc v tr S= {S1, S2, ..., Sm }trn c mt tp cc ng dng Q={Q1, Q2, ..., Qq }ang thc thi.
Hy tm mt phn phi ti u cc mnh F cho cc vtr S.
3.9 Cp pht ti nguyn trong h phn tn
5/23/2018 Chuong 6 - Distributed Database
59/114
59
a. Chi ph nh nht: hm chi ph bao gm:
Chi ph lu mi mnh d liu Fiti v tr Sj Chi ph truy vn Fiti v tr Sj Chi ph cp nht Fi ti tt c cc v tr c cha n
Chi ph truyn d liu.Bi ton cp pht s tm mt lc cp pht vi hm chi ph
l cc tiu.
b. Hiu qu: chin lc cp pht c thit k nhm cc tiuha thi gian thc hin v tng ti a lu lng h thng ti
mi v tr.
3 9 Cp p t t guy t o g p tMt phn phi c gi l ti u nu tha mn hai yu t sau:
3.9 Cp pht ti nguyn trong h phn tn
5/23/2018 Chuong 6 - Distributed Database
60/114
60
Bi ton cp pht tng qut, k hiu DAP (Database
Allocation Problem), l mtbi ton NP-y. V thhuhtcc nghin cucdnh cho victm ra ccc
thut gii heuristic c c li gii ti u cho loi bi
ton ny. Hinnay chac mtm hnh heuristic tngqut no nhn
mt tpcc mnhv sinh ra mtchin lccppht gn
tiungvicc rng buccho trcm chmiara
mt s gi thit n gin ha v d p dng cho mt s
cch tvnngin.
p p g y g p
3.9 Cp pht ti nguyn trong h phn tn
5/23/2018 Chuong 6 - Distributed Database
61/114
61
3.9.2 Thng tin cp pht
giai on cp pht, chng ta cn cc thng tin nh lngv c s d liu, v cc ng dng chy trn , v cu trc
mng, v kh nng x l v gii hn lu tr ca mi v tr
trn mng.a. Thng tin v c s d liu
b. Thng tin v ng dng
c. Thng tin v v tr
d. Thng tin v mng
p p g y g p
3.10 X L TRUY VN TRONG CSDL PHN TN
5/23/2018 Chuong 6 - Distributed Database
62/114
62
+ Vai tr cath xl vntin phn tn l nh xcu truy vncpcao trn mtCSDL phn tn vo mtchuicc thao tc cais
quan htrn cc mnh,thhinccbc:- Cu truy vnphicphn r thnh mtchuicc php ton
quan hcgil vntin is.- Th hai, d liu cn truy xutphi c ccb ha cc
thao tc trn cc quan hcchuynthnh cc thao tc trndliuccb(cc mnh).- Cui cng cu truy vn i s trn cc mnhphi c m
rngbao gmcc thao tc truynthng v ctiuha
hm chi ph l thpnht.+ Hm chi ph munni ncc tnh ton nh thao tc xutnhp
a,ti nguyn CPU, v mngtruynthng.
3.10 X L TRUY VN TRONG CSDL PHN TN
5/23/2018 Chuong 6 - Distributed Database
63/114
63
1. Bi ton x l vn tin C hai phng php ti u ha c bn c s dng trong
cc b x l vn tin:- Phng php bin i i s- Chin lc c lng chi ph.
Phng php bin i i s n gin ha cc cu vn tinnh cc php bin i i s nhm h thp chi ph tr licu vn tin, c lp vi d liu thc v cu trc vt l cad liu.
Nhim v chnh ca th x l vn tin quan h l bin icu vn tin cp cao thnh mt cu vn tin tng ng cp thp hn c din t bng i s quan h. Vic bini ny phi t c c tnh ng n ln tnh hiu qu.
3.10 X L TRUY VN TRONG CSDL PHN TN
5/23/2018 Chuong 6 - Distributed Database
64/114
64
Th d 3.1:Xt mt tp con ca lc CSDL c cho
NV( MNV, TnNV, Chc v)PC (MNV, MDA, Nhim v, Thi gian)
V mt cu truy vn n gin sau:Lit k tn ca cc nhn vin hin ang qun l mt d n
Biu thc truy vn bng php tnh quan h theo c php caSQL l:
SELECT TnNVFROM NV, PC
WHERE NV.MNV=PC.MNV
AND Nhimv=Qunl
3.10 X L TRUY VN TRONG CSDL PHN TN
5/23/2018 Chuong 6 - Distributed Database
65/114
65
Th d 3.1:Hai biu thc tng ng trong i s quan h do bin i chnh xc
t cu vn tin trn l:TnNV( Nhimv=Qunl NV.MNV=PC.MNV (NV x PC))
v
TnNV(NV|>
5/23/2018 Chuong 6 - Distributed Database
66/114
66
Th d 3.2:
Th d ny minh ha tm quan trng ca vic chn la v tr v cch
truyn d liu ca mt cu vn tin i s. Chng ta xt cu vn tin cath d trn:
TnNV(NV|> E3(NV)
PC1=MNV E3(PC)
PC2=MNV E3(PC)
Cc mnh PC1, PC2, NV1, NV2 theo th t c lu ti cc v tr 1, 2,3 v 4 v kt qu c lu ti v tr 5
5/23/2018 Chuong 6 - Distributed Database
67/114
67
5/23/2018 Chuong 6 - Distributed Database
68/114
68
Mitn tvtr i nvtr j c nhn R chra rngquan hRcchuyntv tr i nvtr j. Chinlca) sdngskin l cc quan hcphn mnh theo cng mt cch thchinsong song cc php ton chnv ni. Chinlcbtptrung ttccc dliutivtr luktqutrckhi xlcu truy vn.
3.10 X L TRUY VN TRONG CSDL PHN TN
5/23/2018 Chuong 6 - Distributed Database
69/114
69
Sdngm hnh chi ph ngin,gis:
- Thao tc truy xutmtb(tuple access) ck hiul tupacc, l mtnvv thao tc truynmtb(tupletransfer) tuptrans l 10 nv.
- Cc quan hNV v PC tngngc 400 v 1000b,v c 20 gim cdn thngnhtcho cc vtr.
- Cc quan h PC v NV c gom ccb tngng
theo cc thuc tnh Nhimv v MNV. V vy c thtruy xuttrctipnccbcaPC datrn gi trcathuctnhNhimv(tngngl MNV cho NV)
3.10 X L TRUY VN TRONG CSDL PHN TN
5/23/2018 Chuong 6 - Distributed Database
70/114
70
* Tng chi ph ca chin lc a c th c tnh nh sau:
1.To ra PC bng cch chn trn PC cn (10+10)* tupacc = 20
2. Truyn PC n v tr ca NV cn (10+10)*tuptrans = 200
3. To NV bng cch ni PC v NV cn (10+10)*tupacc*2 = 40
4. Truyn NV n v tr nhn kt qu cn (10+10)*tuptrans = 200
Tng chi ph 460* Tng chi ph cho chin lc b c th c tnh nh sau:
1. Truyn NV n v tr 5 cn 400*tuptrans = 4.000
2. truyn PC n v tr 5 cn 1000*tuptrans =10.000
3. To ra PC bng cch chn trn PC cn 1000*tupacc = 1.0004. Ni NVv PC cn 400*20*tupacc = 8.000
Tng chi ph l 23.000
3.10 X L TRUY VN TRONG CSDL PHN TN
5/23/2018 Chuong 6 - Distributed Database
71/114
71
- Ch s nh gi tiu dng ti nguyn l tng chi ph (totalcost) phi tr khi x l truy vn.- Tng chi ph l tng thi gian cn x l cc php tonvn tin ti cc v tr khc nhau v truyn d liu gia ccv tr.
- Mt cng c khc l thi gian p ng ca cu vn tin, lthi gian cn thit chy cu vn tin.- Trong mi trng CSDL phn tn, tng chi ph cn phigim thiu l chi ph CPU, chi ph xut nhp v chi ph
truyn.
3.10 X L TRUY VN TRONG CSDL PHN TN
5/23/2018 Chuong 6 - Distributed Database
72/114
72
- phctpcacc php ton quan h:+ Cc php ton chn,Chiu(Khng loibtrng lp)c phctpl O(n);+ Cc php chiu(C loibtrng lp),trng lp,ni,nina,chia c phctpl O(n*logn);
+ Tch Descartes c phctpl O(n2
)(Nbiuthlclngcaquan hnuccbthu cclpvinhau)
nhgi:
- Cc thao tc c tnh chnlalm gimilclngcnphithchintrctin.- Cc php ton cnphicspxptrnh thchintch Descartes hoclithchinsau.
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
73/114
73
Lc tngth
Truy vn mnh c ti u vi cc php ton truyn thng
Ti u ho cc b
Cc truy vn cc b ti u
S phn lp chung cho x l truy vn phn tn
Cc trma phng
Cu truy vn phn tn
Phn r truy vn
Truy vn i s trn cc quan h phn tn
nh v d liu
Truy vn mnh
Ti u ho ton cc
Trmiu
khin
Lc phnmnh
Cc thng ktrn cc mnh
Lc aphng
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
74/114
74
Phn r truy vnGiai onny chia lm bnbc: chunho, phn tch, loi
bdthav vitli.1. ChunhoMc ch: chuyn i truy vn thnh mt dng chun
thun licho cc xl tiptheo.
Vi SQL, c hai dng chun cho cc v t trong mnh WHERE l:Dngchunhi l hi() canhngphp ton tuyn():
(p11p12... p1n) ... (pm1pm2... pmn)
Dngchuntuynl tuyn() canhngphp ton hi():(p11p12 ... p1n) ... (pm1pm2... pmn), trong pij
l cc biuthcnguyn t.
I S MNH
5/23/2018 Chuong 6 - Distributed Database
75/114
75
Bng cc tng ng logic thng dngt T= hng ng, F = hng sai
1. pF F
2. pT T
3. pF p
4. pT p5. pp p
6. pp p
7. (p) p
8. pp F9. pp T
10.pq qp
I S MNH
5/23/2018 Chuong 6 - Distributed Database
76/114
76
Bng cc tng ng logic thng dng(tt)
11. pq qp12. (pq)r p(qr)
13. (pq)r p(qr)
14. p(qr) (pq)(pr)
15. p(qr) (pq)(pr)16. (pq) pq
17. (pq) pq
18. (pq) (pq)
19. p ( p q ) = p
20. p ( p q ) = p
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
77/114
77
V d minh ha: xt CSDL cng ty phn mm cho
T cc quan h: E= E (MANV, TENNV, CHUCVU) v
G= HOSO (MANV, MADA, NHIEMVU, THOIGIAN).Xt truy vn:Tm tn cc nhn vin lm d n c m s J1 vi thi gian 12
hoc 24 thng .
Truy vn trn c biu din trong SQL:
SELECT E. TENNVFROM E, G
WHERE E.MANV= G.MANV
AND G.MADA=J1
AND THOIGIAN=12 OR THOIGIAN=24
iu kin trong dng chun hi l:
E.MANV=G.MANV G.MADA=J1 (THOIGIAN=12 THOIGIAN=24)
iu kin trong dng chun tuyn l:
(E.MANV=G.MANV G.MADA=J1 THOIGIAN=12)
(E.MANV=G.MANV G.MADA=J1 THOIGIAN=24)
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
78/114
78
2. Phn tch
Mc ch: Pht hin ra nhng thnh phn khng ng (sai
kiu hoc sai ng ngha) v loi b chng sm nht nu c th.Truy vn sai kiu:nu mt thuc tnh bt k hoc tn quan
h ca n khng c nh ngha trong lc tng th, hocphp ton p dng cho cc thuc tnh sai kiu.
V d: truy vn di y l sai kiuSELECT E#FROM EWHERE E.TENNV > 200
v hai l do: Thuc tnh E# khng khai bo trong lc Php ton >200 khng thch hp vi kiu chui ca thuctnh E.TENNV
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
79/114
79
Truy vn sai ng ngha:nu cc thnh phn ca nkhng tham gia vo vic to ra kt qu.
xc nh truy vn c sai v ng ngha hay khng, ta
da trn vic biu din truy vn nh mt th gi l th
truy vn. th ny c xc nh bi cc truy vn lin quan
n php chn, chiu v ni. Nu th truy vn m khnglin thng th truy vn l sai ng ngha
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
80/114
80
tht ruy vn:
C mtnt dng biudincho quan hktqu Cc nt khc biudincho cc ton hngtrong cu truy vn(cc
quan h)
Cnhnigiahai nt m khng phi l nt ktquth biudin
mtphp ni. Cnhc nt chl nt ktquth biudinmtphp chiu.
Mtnt khng phil nt ktquc thcgn nhn biphp
chnhocphp tni(seft-join: nicaquan hvichnh n).
thktni: L mtthcon cathtruy vn(join graph), trong chc
php ni.
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
81/114
81
V d: T cc quan h E=E (MANV, TENNV, CHUCVU) v G =
HOSO (MANV, MADA, NHIEMVU, THOIGIAN) v J=DUAN
(MADA, TENDA, NGANSACH).Hy xc nh Tn v nhim v cc lp trnh vin lm d n
CSDL c thi gian ln hn 3 nm.
Truy vn SQL tng ng l:
SELECT E.TENNV, G.NHIEMVU
FROM E, G, JWHERE E.MANV=G.MANV
AND G.MADA.= J.MADAAND TENDA=CSDLAND THOIGIAN36AND NHIEMVU=LTRINH
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
82/114
82
G.MANV=G.MANV G.MANV=J.MANV
E J(b) th kt ni tng ng
G
th truy vn v th kt ni tng ng
THOIGIAN 36
E.MANV=G.MANV G.MADA=J.MADA
CHUCVU= Lp trnh
TENDA=CSDL
E JG.NHIEMVU
E.TENNV
(a) th truy vn
G
Ktqu
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
83/114
83
Xt cu truy vnSQL tngng:
SELECT E.TENNV, NHIEMVU
FROM E, G, JWHERE E.MANV=G.MANV
AND TENDA=CSDL
AND THOIGIAN 36
AND CHUCVU=Lptrnh
Truy vn ny l sai ng ngha v th truy vn ca n khng lin thng.
THOIGIAN 36
E.MANV=G.MANV
thiu AND G.MADA=J.MADA
CHUCVU= Lp trnh
TENDA=CSDL
G
E J
Kt qu
G.NHIEMVU
E.TENNV
th truy vn
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
84/114
84
3. Loi b d tha iu kin trong cc truy vn c th c cha cc v t d
tha. Mt nh gi s si v mt iu kin d tha c th dn
n lp li mt s cng vic. S d tha v t v d tha cng vic c th c loi b
bng cch lm n gin ho cc iu kin thng qua cclut lu ng sau:1. p pp 2. p true true3. p pp 4. p p false
5. p true p 6. p p true7. p false p 8. p1(p1p2) p19. p false false 10.p1(p1p2) p1
V d: n gin ho cu truy vn sau:
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
85/114
85
SELECT E.CHUCVUFROM E
WHERE (NOT(E.CHUCVU=Lp trnh)AND (E.CHUCVU=Lp trnh ORE.CHUCVU=K s in)ANDNOT(E.CHUCVU=K s in)OR E.TENNV=Dng
t p1:, p2:,
p3: .Cc v t sau mnh WHERE c m t li:p: (p1 (p1 p2) p2) p3((p1 p1 p2) (p1 p2 p2)) p3 (p dng lut 7)((false p2) (p1 false) )p3 (p dng lut 5)
(false false ) p3 (p dng lut 4) P3Vy cu truy vn c bin i thnh:SELECT E.CHUCVUFROM E
WHERE E.TENNV=Dng
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
86/114
86
4. Vit li
Bc ny c chia lm hai bc con nh sau: Bin i trc tip truy vn php tnh sang i s quan h.
Cu trc li truy vn i s quan h ci thin hiu qu
thc hin. i s quan h l mt cy m nt lbiu din
mt quan h trong CSDL, cc nt khng ll cc quan h
trung gian c sinh ra bi cc php ton i s quan h.
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
87/114
87
Cch chuyn mt truy vn php tnh quan h thnh mt cy
i s quan h:
Cc nt l khc nhau c to cho mi bin b khc nhau
(tng ng mt quan h). Trong SQL cc nt l chnh l
cc quan h trong mnh FROM.
Nt gc c to ra bi mt php chiu ln cc thuc tnhkt qu. Trong SQL nt gc c xc nh qua mnh
SELECT.
iu kin (mnh WHERE trong SQL) c bin i
thnh dy cc php ton i s thch hp (php chn, ni,php hp, v.v...) i t l n gc, c th thc hin theo th
t xut hin ca cc v t v cc php ton.
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
88/114
88
V d:
Truy vn Tm tn cc nhn vin khng phi l Dng, lm
vic cho d n CSDL vi thi gian mt hoc hai nm.
Biu din truy vn ny trong SQL l:
SELECT E.TENNVFROM J, G, E
WHERE G.MANV=E.MANV
AND G.MADA= J.MADA
AND E.TENNV Dng
AND J.TENDA= CSDL
AND (THOIGIAN=12 OR THOIGIAN=24)
C s d liu ca mt cng ty my tnh
5/23/2018 Chuong 6 - Distributed Database
89/114
89
NHANVIEN (E) HOSO(G)MANV TENNV CHUCVU
A1
A2
A3
A4
A5
A6
A7
A8
Nam
Trung
ng
Bc
Ty
Hng
Dng
Chin
Phn tch HT
Lp trnh vinPhn tch HT
Phn tch HT
Lp trnh vin
K s in
Phn tch HT
Thit k DL
MANV MADA NHIEMVU THOIGIAN
A1A2
A2
A3
A3
A4A5
A6
A7
A8
D1D1
D2
D3
D4
D2D2
D4
D3
D3
Qun lPhn tch
Phn tch
K thut
Lp trnh
Qun lQun l
K thut
Qun l
Lp trnh
1234
6
12
10
620
36
48
15
MADA TENDA NGANSACH
D1D2D3D4
CSDLCITBOTRPHT TRIN
20000120002800025000
CHUCVU LUONG
K s inPhn tch HT
Lp trnh vin
Thit k DL
1000
2500
3000
4000
DUAN (J) TLUONG (S)
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
90/114
90
SELECTE.TENNV
FROM J, G, E
WHEREG.MANV=E.MANV
ANDG.MADA= J.MADA
ANDE.TENNV Dng
ANDJ.TENDA= CSDL
AND(THOIGIAN=12 OR
THOIGIAN=24)
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
91/114
91
6 lutbiniphp ton isquan h:Mcch: dng binicy isquan h thnh cc
cy tngng(trong c thc cy tiu).Gi s R, S, T l cc quan h, R c nh ngha trn tonb thuc tnh A={A1, ..., An}, S c nh ngha trn ton bthuc tnh B={B1, ..., Bn}.
1.Tnh giao hon ca cc php ton hai ngi:Php tch Decartes v php ni hai quan h c tnh giao hon.i. R S S R ii. R S S R
2. Tnh kt hp ca cc php ton hai ngi:Php tch Decartes v php ni hai quan h c tnh kt hp.i. (RS) T R (ST) ii. (R S) T R (S T)
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
92/114
92
3. Tnh lu ng ca nhng php ton mt ngi
Dy cc php chiu khc nhau trn cng quan h c thp thnh mt php chiu v ngc li:
A(A(R)) A(R) A, AR v A A Dy cc php chn khc nhau trn cng mt quan
h, vipil mt v t c gn vo thuc tnhAi, c th
c t hp thnh mt php chn.
)())(( )()()()( 22112211 RR ApApApAp
)( ii Ap
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
93/114
93
4. Php chn giao hon vi php chiu
NuApl thnh vin ca {A1, ..., An}, biu thc trn tr thnh
5. Php chn giao hon vi nhng php ton hai ngi Php chn vi php nhn: Php chn vi php ni:
Php chn vi php hp: Nu R v T cng b thuc tnh.
S)()( ),()()( ),( kiik
B
i
Ai BAApAp RSR
)))((())(( ,,...,)(,...,)(,..., 111 RR pnpnpn AAAApAAApAA
))(())(( ,,...,)()(,..., 11 RR pnppn AAAApApAA
SRSRpp ApAp
)()( )()(
)()()( )()()( TRTR iii ApApAp
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
94/114
94
)()()( ''),p(A ),ip(AiSRSR BABC
jBj
6. Php chiu giao hon vi nhng php ton hai ngi Php chiu v tch Decartes:
Nu C=AB vi AA, BB, v A, B l tp cc thuc tnhtrn quan h R, S ta c:
Php chiu v php ni:
Php chiu v php hp:
Ch :Vic s dng su lut trn c kh nng sinh ra nhiucy i s quan h tng ng nhau. Vn l xc nhcho c cy ti u.
)()()( '' SRSR BAC
)()()( '' SRSR BAC
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
95/114
95
Ch :Trong giai on ti u, s so snh cc cy c th thc hin
da trn chi ph d on ca chng. Tuy nhin, nu slng cc cy qu ln th cch tip cn ny s khng hiuqu. Chng ta c th dng 6 lut trn cu trc li cy,nhm loi b nhng cy i s quan h ti.
Cc lut trn c th s dng theo bn cch nh sau: Phn r cc php ton mt ngi, n gin ha biu thc truyvn .
Nhm cc php ton mt ngi trn cng mt quan h gim s ln thc hin.
Giao hon cc php ton mt ngi vi cc php ton haingi u tin cho mt s php ton (chng hn phpchn).
Sp th t cc php ton hai ngi trong thc hin truy vn.
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
96/114
96
V d: Cu trc li cy truy vn v d trn, cho ra cy kt qu tt hn cyban u.
tuy nhin vncn xa cy ti u
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
97/114
97
2. nh v d liu phn tn-Ti u ha cc b
Lp nh v bin i mt truy vn i s quan h tng ththnh mt truy vn i s c biu th trn cc mnh vt l.
S dng thng tin c lu tr trn cc lc phn mnh nh v.
Chng trnh i s quan h xy dng li quan h tng tht cc phn mnh ca n gi l chng trnh nh v.
Truy vn c c t chng trnh nh v gi l truy vn banu.
Ch : Trong phn di y, vi mi kiu phn mnhchng ta s biu din mt k thut rt gn sinh ra truyvn c ti u v n gin ho.
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
98/114
98
1. Rt gn theo phn mnh ngang nguyn thuXt quan h E(MANV,TENNV,CHUCVU). Tch quan h ny
thnh ba mnh ngang E1, E2v E3nh sau:E1=MANVE3(E) E2=E3< MANVE6(E) E3=MANV > E6(E)
Chng trnh nh v cho quan h E: E = E1E2E3.
Dng ban u ca bt k truy vn no c xc nh trn El c c bng cch thay th n bi E1E2E3. Vic rt gn cc truy vn trn cc quan h c phn
mnh ngang bao gm vicxc nh cu truy vn, sau khi cu trc li cy con. iu ny s sinh ra mt s quan h
rng, v s loi bchng. Phn mnh ngang c th c khai thc lm n gin c
php chn v php ni.
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
99/114
99
a. Rt gn vi php chn: cho mt quan h R c phnmnh ngang thnh R1, R2,..., Rn vi
Lut 1: nu xR : (pi(x) pj(x)).Trong ,pi, pjl v t chn, x l b d liu, p(x) l v t p chim gi x.V d: Hy rt gn truy vn
SELECT *FROM EWHERE MANV=E5
Vi E c tch thnh ba mnh ngang E1, E2v E3:E1=MANVE3(E) E2=E3< MANVE6(E) E3=MANV > E6(E)
)( jp Rj
)(RRjpj
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
100/114
100
MANV=E5 MANV=E5
E1 E2 E3E2
(a) Truy vn ban u (b) Truy vn rt gn
Rt gn bng cch s dng tnh cht giao hon php chn vi phphp, chng ta thy v t chn i lp vi v t E1 v E3 nn sinh ra cc
quan h rng.
E1=MANV E3(E)E2=E3< MANV E6(E)
E3=MANV > E6(E)
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
101/114
101
b. Rt gn vi php ni
Cc php ni trn quan h c phn mnh ngang cth n gin khi chng c phn mnh theo thuc tnh ni.
Vic rt gn c thc hin da trn tnh phn phi gia
php ni v php hpv loi b cc php ni v ch. Vi tnh cht, (R1R2) R3= (R1 R3) (R2 R3) , Ril
cc phn mnh. Chng ta c th xc nh c cc php
ni v ch ca cc mnh khi cc iu kin ni mu thunnhau. Sau , dng lut 2 di y loi b cc php ni
v ch.
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
102/114
102
Lut 2: Ri Rj=nu xRi, yRj : (pi(x)pj(y)). Trong Ri, Rjc xc nh theo cc v t pi, pjtrn cng thuctnh.
Nhn xt:
Vic xc nh cc php ni v ch c thc hin bngcch ch xem xt cc v t mnh.
Truy vn rt gn khng phi lun tt hn hoc n gin hn
truy vn ban u. Mt thun li ca truy vn rt gn l nhng php ni c th
thc hin song song.
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
103/114
103
V d: Gi s quan h E c phn mnh thnh cc mnh
E1=
MANV E3(E) E
2=
E3< MANV E6(E) E
3=
MANV > E6(E)
Quan h G c phn lm hai mnh:
G1=MANVE3(G) v G2=MANV>E3(G).
Nhn xt:
E1v G1c nh ngha bi cng v t. V t nh ngha G2l hp ca cc nh ngha ca nhng v
t E2v E3.
Xt truy vnSELECT *
FROM E, G
WHERE E.MANV=G.MANV
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
104/114
104
MANV
MANV
E1 E3E2 G1 G2
(a) Truy vn ban u
MANV MANV
E1 E2E3G1 G2
G2
(b) Truy vn rt gn
Hnh 4.8: S rt gn phn mnh ngang vi php ni
E1=MANV E3(E) E2=E3< MANV E6(E) E3=MANV > E6(E)
G1=MANVE3(G) G2=MANV>E3(G).
E G = (E1E2E3) (G1G2)
= (E1 G1)(E1 G2)(E2 G1)(E2 G2)(E3 G1)(E3 G2)
= (E1 G1) (E2 G2) (E3 G2)
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
105/114
105
2. Rt gn phn mnh dc Chc nng ca vic phn mnh dc l tch quan h da
vo thuc tnh ca cc php chiu. V php ton xy dng li i vi phn mnh dc l ni,
nn chng trnh nh v mt quan h c phn mnhdc l ni ca cc mnh trong vng thuc tnh chung.
V d: Quan h E c phn mnh dc thnh E1, E2, vithuc tnh kho MANV c lp li nh sau:E1= MANV,TENNV(E) v E2= MANV,CHUCVU(E)Chng trnh nh v l: E = E1 MANVE2 Cc truy vn trn phn mnh dc c th rt gn bng cch
xc nh cc quan h trung gian v ch v loi b cc cycon cha chng.
Cc php chiu trn mt phn mnh dc khng c thuctnh chung vi cc thuc tnh chiu (ngoi tr kha ca
quan h) l v ch mc d cc quan h l khc rng
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
106/114
106
Lut 3: D,K(Ri) l v ch nu DA=. Trong , quan h Rxc nh trn A={A1, ...,An}; R = A(R), AA , K l kho ca
quan h, KA, D l tp cc thuc tnh chiu, D A.V d: Vi quan h E c phn mnh dc nh sau:E1= MANV,TENNV(E) v E2= MANV,CHUCVU(E)
Xt truy vn SQL:
SELECT TENNVFROM E
TENNV TENNV
MANV
E1 E2 E1
(a) Truy vn ban u (b) Truy vn rt gn
Hnh 4.9: Rt gn i vi vic phn mnh dc
Nhn xt: php chiu trn E2l v ch v TENNV khng c trong E2,nn php chiu ch cn gn vo E1
3 Rt gn theo phn mnh gin tip
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
107/114
107
3. Rt gn theo phn mnh gin tip S phn mnh ngang gin tip l mt cch tch hai quan h
vic x l ni ca cc php chn v php ni Nu quan h R ph thuc vo s phn mnh ngang gin tip
nh quan h S, th cc mnh ca R v S, m c cng gi trthuc tnh ni s c nh v ti cng trm. Ngoi ra, S c thc phn mnh ty thuc vo v t chn.
Khi cc b ca R c t tu theo nhng b ca S, th s phnmnh gin tip ch nn s dng mi quan h mt nhiu t SR(i.e. vi mt b ca S c th ph hp vi n b ca R, Nhng vimt b ca R ch ph hp vi mt b ca S).
Truy vn trn cc phn mnh gin tip cng c th rt gn
c, nu cc v t phn mnh mu thun nhau th php ni sa ra quan h rng.
Chng trnh nh v mt quan h c phn mnh nganggin tip l hpca cc mnh.
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
108/114
108
V d: Cho mi quan h mt nhiu t E n G, quan hG (MANV, MADA, NHIEMVU, THOIGIAN) c th c phn
mnh gin tip theo nhng lut sau:G1 = G MANVE1 v G2 = G MANVE2.Trong E c phn mnh ngang nh sau:E1= CHUCVU=Lp trnh(E) v E2= CHUCVULp trnh(E)
Chng trnh nh v cho mt quan h c phn mnhgin tip l hp ca cc mnh G=G1G2.
rt gn cc truy vn trn phn mnh gin tip ny, php
ni s a ra quan h rng nu cc v t phn mnh muthun nhau.
V d v t G1v E2mu thun nhau, nn G1 E2=.
G1 = G MANVE1 v G2 = G MANVE2.E1= CHUCVU=Lp trnh(E) v E2= CHUCVULp trnh(E)
5/23/2018 Chuong 6 - Distributed Database
109/114
109
V d: Xt truy vnSELECT *
FROM E, GWHERE G.MANV=E.MANV
AND CHUCVU=KS c kh
CHUCVU=KS c kh
(b) Truy vn sau khi y php chn xung
MANV
G1 G2 E2
CHUCVU=KS c kh
MANV
G1 G2
E1 E2(a) Truy vn ban u
Ch : (G1G2 ) CHUCVU=ksc kh(E2)= (G1 CHUCVU=ksc kh(E2)) (G2 CHUCVU=ksc kh(E2))
5/23/2018 Chuong 6 - Distributed Database
110/114
110
Nhn xt:
Truy vn ban u trn cc mnh E1, E2, G1v G2tng ng hnh 4.10a. Bng cch y php chn xung cc mnh E1v E2, c truy vn rtgn hnh 4.10b.
Phn phi cc php ni vi php hp, chng ta thu c cy hnh4.10c.
Cy con bn tri a ra mt quan h rng, nn cy rt gn c ctron hnh 4.10d.
Hnh 4.10: Rt gn ca phn mnh gin tip
MANV
CHUCVU=KS c kh
G1 G2E2
(c) Truy vn sau khi y php hp ln
MANV
CHUCVU=KS c kh
E2 G2
MANV
CHUCVU=KS c kh
E2
(d) Truy vn rt gn
4 Rt th h h h h
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
111/114
111
4. Rt gn theo phn mnh hn hp
S phn mnh hn hp l s kt hp gia phn dc v
phn mnh ngang. Mc ch ca phn mnh hn hp l h tr cc truy vn lin
quan n php chiu, php chn v php ni
Chng trnh nh v cho mt quan h phn mnh hn
hp l php hp v php ni ca cc mnh.
V d: Xt quan h E c phn mnh hn hp nh sau:
E1=MANV E4(MANV,TENNV(E)), E2=MANV > E4(MANV,TENNV(E))
E3=MANV,CHUCVU(E)
Chng trnh nh v l: E = (E1E2) MANVE3
3.11 X l truy vn trong mi trng phn tn
5/23/2018 Chuong 6 - Distributed Database
112/114
112
Cc truy vn trn cc mnh hn hp c th c rt gn
bng cch kt hp cc lut s dng trong phn mnhngang nguyn thy, phn mnh dc, phn mnh ngang gintip, tng ng nh sau:
1.Loi b cc quan h rng sinh bi s mu thun gia cc
php chn trn cc phn mnh ngang.
2.Loi b cc quan h v ch sinh bi cc php chiu trn ccphn mnh dc.
3.Phn phi cc php ni vi cc php hp tch v loi bcc php ni v ch.
V d: E1=MANV E4(MANV,TENNV(E)), E2=MANV > E4(MANV,TENNV(E))E3=MANV,CHUCVU(E)
5/23/2018 Chuong 6 - Distributed Database
113/114
113
SELECT TENNVFROM E
WHERE MANV=E5
TENNV
MANV=E5
E2
(b) Truy vn rt gn(a) Truy vn ban u
TENNV
MANV=E5
E1 E2 E3
Hnh 4.11: Rt gn ca phn mnh hn hp
5/23/2018 Chuong 6 - Distributed Database
114/114
Distributed Database
TS. Nguyn nh Thun