Chuong 6 - Distributed Database

Embed Size (px)

Citation preview

  • 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