5_thietkecsdl

Upload: canh-luu

Post on 07-Apr-2018

220 views

Category:

Documents


1 download

TRANSCRIPT

  • 8/4/2019 5_thietkecsdl

    1/127

    BAN CH O CNG NGH THNG TIN CA C QUAN NG

    ***

    GIO TRNH

    TTHHIITT KK,, XXYYDDNNGG VV QQUUNN TTRR

    CCSSDDLLIIUU

    H NI, 2004

  • 8/4/2019 5_thietkecsdl

    2/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 1

    MC LC

    CHNG 1: CC KHI NIM C BN V H C S D LIU .. ........ 4

    I. C S D LIU .................................................................................................. 5

    1.nh ngha c s d liu ........................................................................ 5

    2.Cc tnh cht ca mt c s d liu ....................................................... 6

    II. H QUN TR C S D LIU ...................................................................... 6

    1.nh ngha h qun tr C s d liu ..................................................... 6

    2.Cc chc nng ca mt h qun tr c s d liu .................................. 8

    3.Cc c trng ca gii php c s d liu ............................................. 9

    a.Bn cht t m t ca h c s d liu .............................................. 9

    b. S c lp gia cc chng trnh v d liu. ...................................... 9

    c. H tr cc khung nhn d liu nhiu thnh phn ............................. 10

    d. Chia s d liu v nhiu ngi s dng........................................... 10

    e. V d v mt c s d liu ................................................................ 10

    III. M HNH C S D LIU ........................................................................... 12

    1.nh ngha m hnh c s d liu ........................................................ 13

    2.Cc loi m hnh c s d liu............................................................. 133.Con ngi trong h c s d liu ......................................................... 15

    a.Ngi qun tr h c s d liu (Database Administrator-DBA) .... 16

    b.Ngi thit k c s d liu (Database Designer)........................... 16

    c. Nhng ngi s dng (End User) .................................................... 16

    d.Nhng ngi phn tch h thng v nhng ngi lp trnh ng dng17

    e. Nhng ngi thit k v ci t h qun tr c s d liu ............... 17

    f. Nhng ngi pht trin cng c....................................................... 17

    g. Cc thao tc vin v nhng ngi bo tr ........................................ 17

    CHNG 2 : M HNH THC TH-LIN KT.............................................18

    I. S DNG M HNH KHI NIM BC CAO CHO VIC THIT K C SD LIU................................................................................................................... 18

    II. CC THNH PHN C BN CA M HNH THC TH-LIN KT.... 20

    1.Kiu thc th, tp thc th, cc thuc tnh v cc kho ....................... 20

    a. Cc thc th v cc thuc tnh ......................................................... 20

    b. Cc loi thuc tnh............................................................................ 21

  • 8/4/2019 5_thietkecsdl

    3/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 2

    c. Kiu thc th, tp thc th, khov tp gi tr ................................. 22

    2.Cc lin kt, cc kiu lin kt, cc vai tr v cc rng buc cu trc .. 24

    a. Cc kiu lin kt, tp lin kt v cc th hin ................................ 24

    b. Cp lin kt, tn vai tr v lin kt quy..................................... 25

    c. Cc rng buc trn cc kiu lin kt............................................. 26

    III. V D V THIT K MT M HNH ER ................................................... 29

    1.t vn ............................................................................................. 29

    2.Xc nh cc kiu thc th, cc thuc tnh v cc kiu lin kt .......... 29

    CHNG 3: M HNH QUAN H, CC RNG BUC QUAN H V IS QUAN H .........................................................................................................32

    I. CC KHI NIM CA M HNH QUAN H ............................................... 32

    1.Min, thuc tnh, b v quan h ........................................................... 32

    2.Cc c trng ca cc quan h ............................................................. 34

    II. CC RNG BUC QUAN H, LC CSDL QUAN H...................... 36

    1.Cc rng buc min.............................................................................. 36

    2.Rng buc kho v rng buc trn cc gi tr rng (null) .................... 36

    3.C s d liu quan h v lc c s d liu quan h ..................... 37

    4.Ton vn thc th, ton vn quy chiu v kho ngoi ......................... 40III. CC PHP TON CA M HNH QUAN H ............................................ 42

    1.Cc php ton cp nht ........................................................................ 42

    a. Php chn (Insert) ............................................................................. 42

    b. Php xo (Delete) ............................................................................. 42

    c. Php sa i (Update)...................................................................... 43

    2. Cc php ton i s quan h ............................................................... 43

    a.Php chn (SELECT)........................................................................ 44

    b.Php chiu (PROJECT) .................................................................... 45

    c. Php t li tn (RENAME) ............................................................. 46

    d. Cc php ton l thuyt tp hp ....................................................... 48

    e. Php ni (JOIN)................................................................................ 50

    f. Tp hp y cc php ton quan h ............................................ 52

    g. Php chia .......................................................................................... 52

    3.Cc php ton quan h b sung ............................................................ 53

  • 8/4/2019 5_thietkecsdl

    4/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 3

    IV. CHUYN I M HNH THC TH-LINKT THNH M HNH QUANH.............................................................................................................................. 55

    1.Cc quy tc chuyn i ........................................................................ 56

    2.Chuyn i m hnh c th .................................................................. 59

    CHNG 4: PH THUC HM V CHUN HO C S D LIU QUANH ............................................................................................................................60

    I. CC NGUYN TC THIT K LC QUAN H ................................. 60

    1.Ng ngha ca cc thuc tnh quan h ................................................. 60

    2.Thng tin d tha trong cc b v cp nht d thng ........................ 61

    3.To ra cc b gi .................................................................................. 62

    II. CC PH THUC HM ................................................................................. 62

    III. CC DNG CHUN DA TRN KHO CHNH ...................................... 69

    1.Nhp mn v chun ho ....................................................................... 69

    a.Dng chun 1 ...................................................................................... 70

    b.Dng chun 2 ...................................................................................... 72

    c. Dng chun 3 ...................................................................................... 73

    CHNG 5: GII THIU NGN NG VN TIN C CU TRC SQL .74

    I. GII THIU SQL............................................................................................... 74II. CC LNH NH NGHA D LIU ............................................................. 76

    1.To cu trc CSDL............................................................................... 76

    2.To cu trc bng ................................................................................. 77

    3.Cc rng buc ton vn SQL ............................................................... 81

    III. QUN L D LIU C BN ....................................................................... 82

    2.Nhp d liu ......................................................................................... 83

    3.Kim tra ni dung bng ........................................................................ 834.Lu ni dung bng ............................................................................... 84

    5.B sung d liu cho bng ..................................................................... 85

    6.Sa cha ............................................................................................... 86

    7. Xo hng............................................................................................... 87

    8.Khi phc ni dung bng ..................................................................... 87

    IV. VN TIN ......................................................................................................... 87

    1.Lit k tng phn ni dung bng.......................................................... 88

    2.Cc ton t lgic: AND, OR v NOT .................................................. 91

  • 8/4/2019 5_thietkecsdl

    5/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 4

    3.Cc ton t c bit .............................................................................. 93

    V. CC LNH QUN L D LIU NNG CAO ............................................. 97

    1.Thay i kiu d liu ca ct ............................................................... 98

    2.Thay i c im thuc tnh............................................................... 98

    3.B sung ct cho bng ........................................................................... 98

    4.Nhp d liu cho ct mi ..................................................................... 99

    5.Sao chp mt phn bng .................................................................... 101

    6.Xo bng khi CSDL ......................................................................... 102

    VI. VN TIN PHC TP V CC HM SQL .................................................. 103

    1.Sp xp danh sch .............................................................................. 103

    2.Loi b trng lp ................................................................................ 106

    3.Cc hm s hc SQL .......................................................................... 106

    4.Nhm dliu...................................................................................... 110

    5.Bng o: vic to cc khung nhn ...................................................... 111

    6.Ch mc SQL...................................................................................... 112

    7.Lin kt cc bng CSDL .................................................................... 113

    VII. TM TT ..................................................................................................... 115

    VIII. CU HI N TP ..................................................................................... 122IX. BI TP ........................................................................................................ 124

  • 8/4/2019 5_thietkecsdl

    6/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 5

    CHNG I

    CC KHI NIM C BNV H C S D LIU

    Cc c s d liu v h c s d liu tr thnh mt thnh phn chyu ca cuc sng hng ngy trong x hi hin i. Trong vng mt ngy conngi c th c nhiu hot ng cn c s giao tip vi c s d liu; chnghn, n ngn hng rt tin v gi tin, ng k ch trn my bay hockhch sn, truy cp vo mt th vin tin hc ho tm sch bo, t muatp ch mt nh xut bn, . Ti ccngn hng, cc ca hng, ngi tacng cp nht t ng vic qun l tin bc hoc hng ho.

    Tt c nhng giao tip nh trn c gi l cc p dng ca c s dliu truyn thng. Trong cc c s d liu truyn thng, hu ht cc thng tinc lu gi v truy cp l vn bn hoc s. Mt vi nm li y, nhng tinb v k thut a n nhng p dng mi ca h c s d liu. Cc c sd liu a phng tin by gi c th lu tr hnh nh, phim v ting ni. Cch thng thng tin a l c th lu tr v phn tch cc bn , cc d liu vthi tit v cc nh v tinh. Kho d liu v cc h thng phn tch trc tuync s dng trong nhiu cng ty ly ra v phn tch nhng thng tin c

    li t cc c s d liu rt ln nhm a ra cc quyt nh. Cc k thut c sd liu ng v thi gian thc c s dng trong vic kim tra cc tin trnhcng nghip v sn xut. Cc k thut tm kim c s d liu ang c pdng cho World Wide Web cung cp vic tm kim cc thng tin cn thitcho ngi s dng bng cch duyt qua Internet.

    hiu c cc c s k thut c s d liu chng ta phi bt u tcc c s ca ca vic p dng c s d liu truyn thng. Trong chng nychng ta s nh ngha c s d liu, h qun tr c s d liu, m hnh c sd liu v cc thut ng c bn khc.

    I.C S D LIU

    1. nh ngha c s d liu

    C s d liu v k thut c s d liu c nh hng rt ln n vics dng my tnh. C th ni rng c s d liu ng vai tr quan trng trongmi lnh v c s dng my tnh nh gio dc, thng mi, k ngh, khoahc th vin,. Thut ng c s d liu tr thnh mt thut ng ph dng.

    Mt c s d liul mt tp hp cc d liu c lin quan vi nhau, c

  • 8/4/2019 5_thietkecsdl

    7/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 6

    nhiu ngi s dng v c t chc theo mt m hnh.

    D liul nhng s kin c th ghi li c v c ngha.

    V d, qun l vic hc tp trong mt mi trng i hc, cc d liul cc thng tin v sinh vin, v cc mn hc, v im thi, Chng ta t chc

    cc d liu thnh cc bng v lu gi chng vo s sch hoc s dng mtphn mm my tnh lu gi chng trn my. l mt tp hp cc d liuc lin quan n nhau v mang nhiu ngha, l mt c s d liu.

    2. Cc tnh cht ca mt c s d liu

    Mt c s d liu c cc tnh cht sau:

    Mt c s d liu biu th mt kha cnh no ca th gii thc: hotng ca mt cng ty, ca mt nh trng, mt ngn hng. Nhng thay i

    ca th gii thc phi c phn nh trung thc trong c s d liu. Nhngthng tin c a vo trong c s d liu to thnh mt khng gian c s dliu, i khi n c gi l mt th gii nh(miniword) hoc mt khnggian tranh lun(Universe of Discourse).

    Mt c s d liu l mt tp hp d liu c kt mt cch logic v mangmt ngha bn trong no . Mt c s d liu khng phi l mt tp hptu tin cc d liu.

    Mt c s d liu c thit k v c ph bin vi cc d liu chomt mc ch ring. N c mt nhm ngi s dng c ch nh v c mt sp dng c xc nh ph hp vi nhng li chca ngi s dng.

    Mt c s d liu c th c c tu v c phc tp thay i. Cnhng c s d liu ch gm vi trm bn ghi (nh c s d liu phc vqun l lng ca mt c quan nh) v c nhng c s d liu c dung lngrt ln (nh c s dliu phc v cho tnh cc in thoi, qun l nhn strn mt phm vi ln). Cc d liu phi c t chc qun l sao cho nhngngi s dng c th tm kim, cp nht v ly ra khi cn thit. Mt c s dliu c th c to ra v bo tr mt cch thcng v cng c th c tinhc ho. Mt c s d liu c tin hc ho c to ra v duy tr bng mtnhm chng trnh p dng hoc bng mt h qun tr c s d liu.

    II.H QUN TR C S D LIU

    1. nh ngha h qun tr C s d liu

    Mt h qun tr c s d liu l mt tp hp chng trnh gip cho

    ngi s dng to ra v duy tr mt c s d liu. N l mt h thng phnmm ph dng lm d qu trnh nh ngha, xy dng v thao tc c s dliu cho cc p dng khc nhau.

  • 8/4/2019 5_thietkecsdl

    8/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 7

    nh ngha mt c s d liubao gm vic c t cc kiu d liu, cccu trc v cc rng buc cho d liu s c lu gi trong c s d liu.

    Xy dng mt c s d liu l qu trnh lu tr cc d liu trn ccphng tin lu tr c h qun tr c s d liu kim sot.

    Thao tc mt c s d liu bao gm cc chc nng nh truy vn c sd liu ly ra cc d liu c th, cp nht c s d liu phn nh ccthay i trong th gii nh v to ra cc bo co t cc d liu.

    Cc h qun tr c s d liu th hin mt c sd liu tin hc ho cth l ph dng (l mt tp cc phn mm ng gi) hoc c th l chuyndng (l mt tp cc phn mm c to ra vi mt mc ch ring).

    Ta gi c s d liu v h qun tr c s d liu bng mt thut ngchung l h c s d liu. Mi trng ca mt h c s d liu c m tbng hnh v (hnh 1.1) di y.

    Ngi s dng / Ngi lp trnh

    Hnh 1: Mi trng h c s d liu

    Chng trnh p dng/Truy vn

    Phn mm x l

    tru vn / chn trnh

    Phn mm truy cp ncc d

    nh ngha cs d liu clu gi (Siu d

    C s d liuc lu gi

  • 8/4/2019 5_thietkecsdl

    9/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 8

    2. Cc chc nng ca mt h qun tr c s d liu

    Mt h qun tr c s d liu ngy nay c cc chc nng sau:

    Lu tr cc nh ngha ca cc mi lin kt d liu (gi l siu d liu)vo mt t in d liu. Ln lt, tt c cc chng trnh truy cp n c s

    d liu lm vic thng qua h qun tr c s d liu. H qun tr c sd lius dng d liu trong t in d liu tm kim cc cu trc thnh phn dliu v cc mi lin kt c yu cu. Tm li, chng ta c gii phng khivic lp trnh cho cc mi lin kt phc tp nh vy trong tng mi chngtrnh. Mi s thay i c thc hin trong cc tp c s d liu s c tng ghi li vo t in d liu, iu gii phng ta khi vic sa i tt ccc chng trnh truy cp n tp c s d liu b sa i. Ni cch khc,h qun tr c s d liu loi b s ph thuc d liu v cu trc ra khi hthng

    To ra cc cu trc phc tp theo yu cu lu tr d liu, iu giiphng chng ta khi nhim v kh khn l nh ngha v lp trnh cho cc ctrng d liu vt l.

    Bin i cc d liu c nhp vo ph hp vi cc cu trc d liu im 2. Nh vy h qun tr c s d liu gip ta khng phi lm phn bitgia dng logic v dng vt l ca d liu. Bng vic duy tr s c lp d

    liu, h qun tr c s d liu chuyn cc yu cu logic thnh cc lnh nh vmt cch vt l v ly ra cc d liu yu cu. iu c ngha l h qun trc s d liu to khun dng cho cc d liu c ly ra lm cho n phhp vi cc mong mun logic ca ngi s dng.

    To ra mt h thng bo mt v p t tnh bo mt v ring t trong CSDL.

    To ra cc cu trc phc tp cho php nhiu ngi s dng truy cp n dliu.

    Cung cp cc th tc sao lu v phc hi d liu m bo s an ton vton vn d liu

    Xc tin v p t cc quy tc an ton loib vn ton vn d liu.iu cho php ta lm ti thiu s d tha d liu v lm ti a tnh nhtqun d liu

    Cung cp vic truy cp d liu thng qua mt ngn ng truy vn. (Mtngn ng truy vn l mt ngn ng phi th tc cho php ngi s dngch raci g cn phi lm m khng cn phi ch ra n c lm nh th no). Cch qun tr c s d liu cng cung cp vic truy cp d liu cho nhng ngilp trnh thng qua cc ngn ng th tc.

  • 8/4/2019 5_thietkecsdl

    10/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 9

    3. Cc c trng ca gii php c s d liu

    Trc khi khi nim c s d liu ra i, h thng tp l mt phngphp c p dng rng ri. Mt tp c th xem l mt cp h s lu tr ccthng tin lin quan n tng loi cng vic ring bit. V d, trong mt c

    quan, b phn ti v s c mt cp h s linquan n lng ca cc nhnvin; b phn t chc c cp h s lin quan n vn nhn s,.Vic xl ly ra cc thng tin nh l cc thng k v lng, v qu trnh cngtc, lc u c thc hin th cng. Dn dn khi lng thng tin ngycng ln, vic x l thng tin ngy cng phc tp, ngi ta s dng my tnhvo vic qun l. Cc cp h s c chuyn thnh cc tp d liu trn mytnh v vic x l thng tin c thc hin bng cch lp trnh (trong mtngn ng lp trnh th h 3). Vicqun l theo gii php h thng tp c rtnhiu nhc im. Th nht, l s d ttha thng tin : cng mt thng tin

    (chng hn danh sch cc nhn vin) c lu tr nhiu ln (trong tp lngv c trong tp nhn s ), nh vy s gy ra vic lng ph b nh v dgy sai st trong khi cp nht d liu, c th sinh ra cc d liu khng ng.Th hai, l s ph thuc gia cc chng trnh p dng v d liu. Mi khic s thay i cu trc tp v cc d liu trong tp, chng trnh p dng khai thc thng tin trn tp cng phi thay i theo, iu lm cho vicbo tr rt kh khn.

    Gii php c s d liu ra i gii quyt c nhng nhc im .

    C th, gii php c s d liu c nhng c trng sau:

    a.Bn cht t m t ca h c s d liuMt c trng c bn ca gii php c s d liu l h thng c s d

    liu khng ch gm bn thn c s d liu m cn c c mt nh ngha hocm t y v cu trc c s d liu v cc rng buc. nh ngha ny clu tr trong t in h thng, n cha thng tin nh l cu trc ca mi tp,kiu v dng lu tr ca tng mc d liu. Cc thng tin c lu tr trong t

    in c gi l siu d liu (meta-data), v chng m t ca cu trc c sd liu nguyn thu (hnh 1.1). Phn mm h qun tr c s d liu v ccngi s dng c s d liu s dng t in d liu ly thng tin v cutrc ca c s d liu.

    b.S c lp gia cc chng trnh v d liu.Trong h thng tp, cu trc ca cc tp c s d liu c nhng vo

    trong cc chng trnh truy cp v vy bt k mt thay i no v cu trc camt tp cng i hi phi thay i tt c cc chng trnh truy cp n tp .Ngc li, cc chng trnh truy cp ca h qun tr c s d liu khng i

  • 8/4/2019 5_thietkecsdl

    11/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 10

    hi vic thay i nh th. Cu trcca cc tp d liu c lu tr trong tin tch ri vi cc chng trnh truy cp. Tnh cht ny gi l s c lp dliu-chng trnh.

    c.H tr cc khung nhn d liu nhiu thnh phnMt c s d liu c nhiu ngi s dng, mi mt ngi c th i hi

    mt phi cnh hoc mt khung nhn (view) khc nhau. Mt khung nhn c thl mt tp con ca c s d liu hoc n c th cha cc d liu o, l ccd liu c trch ra t cc tp c s d liu khc nhau nhng khng clu tr mt cch r rng.Mt h qun tr c s d liu nhiu ngi s dngphi cung cp nhiu cng c nh ngha cc khung nhn nhiu thnh phn.

    d. Chia s d liu v nhiu ngi s dngMt h qun tr c s d liu nhiu ngi s dng phi cho php nhiu

    ngi s dng truy cp ng thi n c s d liu. H qun tr c s d liuphi c phn mm kim tra cnh tranh m bo rng cc ngi s dngcp nht n cng mt d liu phi c thc hin theo cch c kim tra cho kt qu ca cc cp nht l ng n.

    e. V d v mt c s d liuChng ta hy xem mt c s d liu m nhiu bn c quen bit: c

    s d liu trng. C s d liu ny nhm lu gi thng tin lin quan nsinh vin, cc mn hc, im trong mt mi trng i hc. C s d liuc t chc thnh 5 tp, mi tp lu tr cc bn ghi d liu cng mt kiu.

    Tp sinhvin lu gi d liu v mi sinh vin; tp mnhc lu gi dliu v mi mn hc, tp hcphn lu gi cc d liu v mi hc phn camn hc, tp im lu gi cc im ca tng hc phn ca sinh vin, v tpbittrc lu gi cc mn hc cn bit trc ca tng mn hc. Cu trc cac s d liu v mt vi mu d liu v d c ch ra hnh 1.2

    Sinhvin Htnsinhvin Mssinhvin Lp Chuyn ngnh

    Nguyn Nam 17 K45T Tinhc

    L Bc 8 K45C CngnghTT

    Mnhc Tnmnhc M s mn hc S vht Khoa

    Tin hc C s 101 8 Cng ngh

  • 8/4/2019 5_thietkecsdl

    12/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 11

    Cu trc DL&GT 102 5 Cng ngh

    Ton ri rc 103 5 Cng ngh

    C s d liu 104 4 Cng ngh

    hcphn M s HP Ms mnhc Hck Nm Tngiovin

    1011 101 1 2001 Vn

    1012 101 2 2002 Vn

    1031 103 1 2001 Hong

    1032 103 2 2002 Hong

    1020 102 3 2002 Ln

    1040 104 4 2002 Huy

    im Mssinhvin M sHP im

    17 1031 8

    17 102 6

    8 1031 9

    8 1011 10

    8 1020 7

    8 1040 9

    Bittrc Msmn

    hc

    Msmnbittrc

    104 102

    104 103

    102 101

    Hnh 1.2: C s d liu v d trng

    nh nghac s d liu ny, chng ta phi ch ra ca mi bn ghica mi tp bng cch c t cc kiu khc nhau ca cc phn t d liu s

    c lu tr trong cc bn ghi. Theo hnh 2, mi bn ghi sinhvinbao gm ccd liu biu din H tn sinh vin, m s sinh vin, lp, chuyn ngnh.

  • 8/4/2019 5_thietkecsdl

    13/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 12

    Mi bn ghi mn hc bao gm cc d liu biu din tn mn hc, m smn hc, s n v hc trnh, khoa, . Chng ta phi ch ra mtkiu d liu

    cho mi phn t d liu bn trong mt bn ghi. V d: ta c th c t h tnsinh vin l mt dy k t c di 30, m s sinh vin l mt s nguyn,

    xy dngc s d liu trng, chng ta lu gi cc d liu biudin mi sinh vin, mi mn hc, hc phn, im, bit trc vo cc tp thchhp. rng cc bn ghi trong cc tp khc nhau c th c mi quan h vinhau. V d, bn ghi i vi Nguyn Namtrong tp sinhvinc lin quan nhai bn ghi trong tp imch ra im ca Nguyn Nam trong hai hc phn.Tng t nh vy, mt bn ghi bittrc c lin quan n hai bn ghimnhc. Thng thng mt c s d liu cha nhiu kiu ca cc bn ghiv cha nhiu mi lin kt gia cc tp.

    Thao tc c s d liu bao gm vic truy vn v cp nht c s dliu.Cc truy vn c dng : Lit k cc mn hc v im ca sinh vinNguyn Nam, a ra danh sch cc sinh vin thi trt mn c s d liu,v..v Cp nht c s d liu bao gm thm vo mt mn hc mi, sa limt im ca mt hc phn, Cc truy vn v cc cp nht phi c c tchnh xc trong ngn ng h c s d liu mt cch chnh xc trc khichng c x l.

    III.M HNH C S D LIU

    Cc h qun tr c s d liu to ra kh nng gii quyt cc s dng tinguyn d liu phc tp hn rt nhiu nu c s d liu c thit k sdng nng lc sn c . Cc loi cu trc d liu c to ra trong c s dliu v mi lin kt gia chng ng vai tr rt ln trong vic xc nh tnhhiu qu ca h qun tr c s d liu. V vy, thit k c s d liu tr thnhhot ng chnh trong mi trng c s d liu.

    Vic thit k c s d liu c thc hin n gin hn nhiu khi bndng cc m hnh. Cc m hnh l s tru tng n gin ca cc s kintrong th gii thc.Cc tru tng nh vy s cho php chng ta kho st ccc im ca cc thc th v cc mi lin kt c to ra gia cc thc th. Nu cc m hnh khng ng n logic, cc thit k c s d liu rt ra t s khng cho php rt ra c cc thng tin ng n. Cc m hnh tt sa ra cc c s d liu tt v trn c s s c cc ng dng tt. Ngcli, m hnh khng tt s a n thit k c d liu ti v dn n nhng pdng khng ng.

  • 8/4/2019 5_thietkecsdl

    14/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 13

    1. nh ngha m hnh c s d liu

    Mt m hnh c sd liu l mt tp hp cc khi nim dng biudin cc cu trc ca c s d liu. Cu trc ca mt c s d liu l cc kiud liu, cc mi lin kt v cc rng buc phi tun theo trn cc d liu. a

    s cc m hnh cn c thm mt tp hp cc php ton c bn c t ccphp rt ra v cp nht trn c s d liu.

    2. Cc loi m hnh c s d liu

    C rt nhiu cc m hnh d liu c ngh, chng ta c th phnloi chng theo cc kiu khi nim m chng dng m t cu trc c s dliu.

    Cc m hnh d liu bc caohoc m hnh d liu quan nim cung cp

    cc khi nim gn lin vi cch cm nhn d liu ca nhiu ngi s dng.Cc m hnh ny tp trung vo bn cht logic ca biu din d liu, n quantm n cic biu din trong c s d liu ch khng phi cch m nc biu din. Ccm hnh d liu bc thphoc cc m hnh d liu vtlcung cp cc khi nim m t chi tit v vic cc d liu c lu tr trongmy tnh nh th no. Cc khi nim do m hnh d liu vt l cung cp nichung c ngha i vi cc chuyn gia my tnh ch khng c ngha my

    i vi cc ngi s dng thng thng. gia hai loi m hnh ny l mtlp cc m hnh d liu th hin, chng cung cp nhng khi nim mnhng ngi s dng c th hiu c v khng xa vi cch t chc d liubn trong my tnh. Cc m hnh d liu th hin che du mt s chi tit vvic lu tr d liu nhng c th c ci t trc tip trn h thng mytnh.

    Cc m hnh d liu quan nim s dng cc khi nim nh cc thc th,cc thuc tnh, cc mi lin kt. Mt thc thbiu din mt i tng hoc

    mt khi nim ca th gii thc, chng hn nh mt nhn vin hoc mt dn c m t trong mt c s d liu. Mt thuc tnh biu din mt ctrng no ca mt thc th, chng hn nh tn hay lng ca nhn vin.Mt mi lin kt gia hai hay nhiu thc th biu din mt mi quan h quali gia cc thc th, v d mi lin kt lm vic trnl mi quan h gia mtnhn vin v mt d n (Nhn vin lm vic trn d n). Trong chng 2,chng ta s nghin cu m hnh lin kt -thc th (Entity-Relationshipmodel), gi tt l m hnh ER, v mt s m rng ca m hnh ny. M hnhd liu hng i tng cng l mt m hnh bc cao, cung cp nhng khinim nh lp, phng thc, thng ip,...

  • 8/4/2019 5_thietkecsdl

    15/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 14

    Cc m hnh d liu th hin l cc m hnh c s dng thng xuynnht trong cc h c s d liu thng mi, chng gm cc m hnh d liuquan h, m hnh d liu mng v m hnh d liu phn cp. Cc m hnhmng v phn cp c s dng rng ri trong qu kh nhng t khi m hnh

    d liu quan h ra i (vo u nhng nm 70), do tnh u vit ca n, mhnh quan h n dn thay th cc m hnh mng v phn cp. Trong chng3, chng ta s nghin cu m hnh c s d liu quan h, cc ngn ng v ccphp ton ca chng.

    Cc m hnh d liu vt l m t cch lu tr d liu trong my tnh bng cch gii thiu thng tin nh khun dng bn ghi, sp xp bn ghi,ng truy cp,

    Trong mt m hnh d liu cn phi phn bitr gia m t ca c s

    d liu vbn thn c s d liu. M t ca mt c s d liu c gi llc c s d liu,n c xc nh r trong qu trnh thit k c s dliu v khng b thay i thng xuyn. a s cc m hnh d liu c cc quyc hin th cc lc nh cc biu . Mt lc c hin th c gil mt biu ca lc . Mt biu lc ch th hin mt vi khacnh ca lc nh l tn ca cc kiu bn ghi v cc mc d liu, v mts kiu rng buc. Cc kha cnh khc khng c th hin trong biu lc . Hnh v sau y trnh by biu lc ca c s d liu v d hnh 1.2

    sinhvin

    H tn Mssinhvin Lp Chuyn ngnh

    Mnhc

    Msmnhc Tn mn hc Svht Khoa

    Bittrc

    Msmnhc Msmnbittrc

    Hcphn

    Ms HP Msmnhc Hck Nm Tngiovin

    im

    M s sinh vin M s HP im

    Hnh 1.3 S lc cho c s d liu hnh 1.2

  • 8/4/2019 5_thietkecsdl

    16/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 15

    Cc d liu hin ti trong mt c s d liu c th thay i mt cchthng xuyn. Cc d liu trong mt c s d liu mt thi im c thc gi l mt trng thi c s d liu hoc nh ca c s d liu(snapshot). N cn c gi l tp hp hin ti cc th hin trong c s d

    liu. Nhiu trng thi quan h c th c xy dng lm tng ng vimt lc c s d liu c th. Mi khi chng ta chn vo hoc loi b mtbn ghi, sa i mt gi tr ca mt mc d liu trong mt bn ghi, chng talm thay i trng thi ca c s d liu sang trng thi khc.

    Vic phn bt gia lc c s d liu v trng thi c s d liu lrt quan trng. Khi chng ta nh ngha mt c s d liu mi, chng ta chc t lc c s d liu cho h qun tr c s d liu. Ti thi im ny,trng thi c s d liu l mt trng thi rng, khng c d liu. Chng ta

    nhn c trng thi ban u ca c s d liu khi c s d liu ln u tinc cung cp hoc c nhp d liu. T tr i, mi khi mt php toncp nht c thc hin i vi c s d liu, chng ta nhn c mt trngthi c s d liu khc. ti mi thi im, c s d liu c mt trng thi hinti. H qun tr c s d liu c trch nhim m bo rng ti mi trng thica c s d liu l mt trng thi vng chc, iu c ngha l mt trngthi tho mn cu trc v cc rng buc c dc t trong lc . V vy,vic c t mt lc ng n cho mt h qun tr c s d liu l mtvic lm cc k quan trng, v lc phi c thit k cc k cn thn. Hqun tr c s d liu lu tr cc m t ca cc cu trc lc v cc rngbuc cn gi l siu d liu vo trong catalog ca h qun tr sao cho phnmm h qun tr c s d liu c th tham kho n lc khi n cn. Lc i khi cn c gi l mc tiu (intension) v mt trng thi c s d liuc gi lm rng (extension) ca lc .

    3. Con ngi trong h c s d liu

    Vi cc c s d liu nh, ni chung ch c mt ngi nh ngha, xydng, v thao tc c s d liu. Tuy nhin, vi mt c s d liu ln, rtnhiu ngi tham gia vo vic thit k, s dng v bo tr c s d liu. Phnny chng ta gii thiu nhng ngi lin quan n mt h c s d liu v vaitr ca h.

    Nhng ngi lin quan n c s d liu c chia lm hai nhm chnh.Nhm th nht gm nhng ngi m cng vic ca h lin quan hng ngy

    n c s d liu; l nhng ngi qun tr c s d liu, thit k c s dliu, s dng c s d liu, phn tch h thng v lp trnh ng dng. Nhm

  • 8/4/2019 5_thietkecsdl

    17/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 16

    th hai gm nhng ngi lm vic duy tr mi trng h c s d liunhng khng quantm nhiu n bn thn c s d liu; l nhng ngithit k v ci t h qun tr c s d liu, pht trin cng c, thao tc vinv bo tr.

    a.Ngi qun tr h c s d liu (Database Administrator-DBA)Trong mt t chc c nhiu ngi cng s dngcc ti nguyn cn phi

    c mt ngi gim st v qun tr cc ti nguyn . Trong mi trng h cs d liu, cc ti nguyn l c s d liu, h qun tr c s d liu v cc phn mm lin quan. Ngi qun tr h c s d liu l ngi chu trchnhim qun l cc ti nguyn . Ngi ny chu trch nhim v vic chophp truy cp c s d liu, t chc v hng dn vic s dng c s d liu,

    cp cc phn mm v phn cng theo yu cu.

    b.Ngi thit k c s d liu (Database Designer)Ngi ny chu trch nhim xc nh cc d liu s c lu gi trong

    c s, chn cc cu trc thch hp biu din v lu gi cc d liu .Nhng nhim v ny c thc hin trc khi c s d liu c ci t vph bin. Ngi thit k c trch nhim giao thip vi tt c nhng ngi sdng tng lai hiu c cc i hi ca h v a ra mt thit k tho

    mn cc yu cu . Anh ta cng c nhim v giao tip vi cc nhm ngis dng v c kh nng h tr cc yu cu ca cc nhm.

    c.Nhng ngi s dng (End User)Nhng ngi s dng l nhng ngi m cng vic ca h i hi truy

    cp n c s d liu truy vn, cp nht v sinh ra cc thng tin. C nhiuloi ngi s dng:

    Ngi s dng khng thng xuyn: Nhng ngi ny khng thng

    xuyn truy cp n c sd liu, nhng mi mt ln truy cp h c th cnnhiu thng tin. H s dng mt ngn ng truy vn c s d liu ch ra ccyu cu ca mnh. y l nhng ngi qun l bc trung bnh hoc bc cao.

    Ngi s dng ngy th:Nhng ngi ny chim phn ln cc ngis dng. Chc nng cng vic ca h gn lin vi vic truy vn v cp nhtthng xuyn c s d liu bng cch s dng cc cu hi v cc cp nht c lp trnh v kim tra cn thn (gi l cc giao dch nh sn).

    Ngi s dng tinh t: l cc k s, cc nh khoa hc, cc nh phn

    tch thng mi,.. Nhng ngi ny hiu bit cc tin ch ca h qun tr cs d liu v bit s dng ci t cc chng trnh ng dng nhm thomn cc yu cu phc tp ca h.

  • 8/4/2019 5_thietkecsdl

    18/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 17

    Ngi s dng c lp: L nhng ngi duy tr cc c s d liu cnhn bng cch s dng cc chng trnh ng gi lp sn cung cp cc bngchn d s dng hoc cc giao din ho

    d.Nhng ngi phn tch h thng v nhng ngi lp trnh ngdng

    Nhng ngi phn tch h thng xc nh cc yu cu ca nhng ngis dng, ch yu l nhng ngi s dng ngy th, dc t cc chngtrnh ph hp vi yu cu ca h.

    Nhng ngi vit chng trnh ng dng th hin cc c t ca nhngngi phn tch thnh chng trnh; sau kim th, g ri, lm ti liu, vbo tr cc giao dch nh sn.

    e.Nhng ngi thit k v ci t h qun tr c s d liu l nhng ngi thit k v ci t cc m ul v giao din ca h

    qun tr c s d liu thnh cc phn mm ng gi. Mt h qun trj c s dliu l mt h thng phn mm phc tp bao gm nhiu thnh phn (module). l cc module ci t t in d liu, ngn ng truy vn, b x l giaodin, truy cp d liu, kim tra cnh tranh, phc hi v an ton. H qun tr cs d liu phi giao din vi cc h thng phn mm khc nh h iu hnh

    v cc chng trnh dch cho nhiu ngn ng khc nhau.

    f. Nhng ngi pht trin cng cL nhng ngi thit k v ci t cc cng c (tool); l cc phn

    mm ng gi lm d vic thit k v s dng c s d liu.

    g. Cc thao tc vin v nhng ngi bo trL nhng ngi qun tr h thng; h chu trch nhim v vic chy v

    bo tr mi trng phn cng v phn mm ca h c s d liu.

  • 8/4/2019 5_thietkecsdl

    19/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 18

    CHNG 2 : M HNH THC TH-LIN KT

    Trong chng ny chng ta s lm qun vi m hnh thc th-lin kt(Entity-Relationship model), gi tt l m hnh ER. l mt m hnh dliu quan nim bc cao ph bin, tp trung vo cc cu trc c s d liu vcc rng buc.

    M hnh ny thng c p dng thit k khi nim cc p dng cs d liu v nhiu cng c thit k c s d liu s dng cc khi nim can.

    I.S DNG M HNH KHI NIM BC CAO CHO VIC THITK C S D LIU

    Qu trnh thit k mt c s d liu bng hnh v 2.1. Bc u tin l

    tp hp cc yu cu v phn tch. Trong bc ny, ngi thit k c s d

    liu phng vn nhng ngi s dng c s d liu hiu v lm ti liu v

    cc i hi v d liu ca h. Kt qu ca bc ny l mt tp hp ghi chp

    sc tch v cc i hi ca nhng ngi s dng. Nhng i hi ny s c

    c t di mt dng cng y v cng chi tit cng tt. Song song vivic c t cc yu cu d liu, cn phi c t cc yu cu v chc nng ca

    ng dng; l cc thao tc do ngi dng nh ngha s c p dng i

    vi c s d liu.

    Mi khi tt c cc yu cu c thu thp v c phn tch, bc

    tip theo l to ra lc quan nim cho c s d liu bng cch s dng m

    hnh d liu quan nim mc cao. Bc ny c gi l thit k khi nim .

    Lc khi nim l mt m t sc tch v cc yu cu d liu ca cc ngis dng, n bao gm cc m t chi tit ca cc kiu thc th, cc kiu lin kt

    v cc rng buc ; chng c biu din bng cc khi nim do cc m hnh

    d liu bc cao cung cp. V nhng khi nim ny khng cha cc chi tit ci

    t (th hin), chng thng d hiu v c th s dng giao lu vi cc

    ngi s dng. Lc quan nim mc cao cng c th c s dng nh

    mt dn chng m bo rng tt c cc i hi ca ngi s dng u tho

    mn v cc i hi ny khng cha cc mu thun. Gii php ny cho phpnhng ngi thit k c s d liu tp trung vo vic c t cc tnh cht ca

    d liu m khng cn quan tm n cc chi tit lu tr. Mt thit k c s d

  • 8/4/2019 5_thietkecsdl

    20/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 19

    liu quan nim tt lm d cho cng vic ca nhng ngi thit k c s d

    liu.

    Trong qu trnh (hoc sau khi) thit k lc quan nim, ta c th s

    dng cc php ton m hnh d liu c bn c t cc thao tc ca ngi

    s dng c xc nh trong khi phn tch chc nng. iu cng gipkhng nh rng lc quan nim tho mn mi yu cu chc nng c

    xc nh. Nu c mt s yu cu chc nng khng th ch ra trong lc

    ban u th bc ny c th c s sa i lc khi nim cho ph hp.

    Bc tip theo trong thit k c s d liu l vic th hin (ci t) c

    s d liu bng cch s dng mt h qun tr c s d liu c sn. Hu ht

    cc h qun tr c s d liu s dng mt m hnh d liu th hin (chng hn

    nh m hnh c s d liuquan h hoc i tng) v vy lc quan nim

    c chuyn i t m hnh d liu bc cao thnh m hnh d liu th hin.

    Bc ny gi l thit k l gichoc l nh x m hnh d liu. Kt qu ca

    bc ny l mt lc c s d liu di dng mt m hnh d liu th hin

    ca h qun tr c s d liu.

    Bc cui cng trong thit k c s d liu l thit k vt l. Trong

    bc ny ta phi ch ra cc cu trc lu tr bn trong, cc ng dn truy cp,

    t chc tp cho cc tp c s d liu. Song song vi cc hot ng , cc

    chng trnh p dng cng c thit k v ci t nh l cc giao dch c s

    d liu tng ng vi cc c t giao dch mc cao.

  • 8/4/2019 5_thietkecsdl

    21/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 20

    Th gi thc

    Tp hp v phntch cc yu cu

    thit k quan nim

    thit k ch ngtrnh ng dng

    ci t giao tc

    Thit k logic

    thit k vt l

    Cc yu cu c s d liuCc yu cu c s d liu

    Phn tch chc nng

    L c quan nim

    L c logic

    L c bn trong

    c t giao tc mc cao

    (c lp vi h QTCSDL)

    Cc ch ng trnh ng dng

    Hnh 2.1 S m t cc bc chnh ca vic thit k c s d liu

    II.CC THNH PHN C BN CA M HNH THC TH-LINKT

    1. Kiu thc th, tp thc th, cc thuc tnh v cc kho

    a. Cc thc th v cc thuc tnhi tng c bn c trnh by trong m hnh ER l thc th. Thc th

    l mt vttrong th gii thc c s tn ti c lp. Mt thc th c th lmt vt c th, (chng hn nh mt ngi, mt ci t,..)hoc c th l mtvt tru tng(chng hn mt cng ty, mt cng vic, mt mn hc). Mithc th c cc thuc tnh, l cc tnh cht c th m t n. V d, mt thcth nhn vin c mt t bng htn, tui, a ch, lng v cng vic ca

  • 8/4/2019 5_thietkecsdl

    22/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 21

    nhn vin . Mt thc th c th s c mt gi tr cho mi thuc tnh ca n.Cc gi tr thuc tnh m t mi thc th s tr thnh mt phn chnh ca ccd liu c lu tr trong c s d liu.

    Hnh v 2.2 ch ra mt s thc th v cc thuc tnh ca chng. Thc th

    nhn vin e1c 4 thuc tnh : H tn, a ch, Tui, v S in thoi. Gi trca cc thuc tnh tng ng l L Vn, H ni, 32, (04)855641.Thc th cng ty c1c ba thuc tnh Tn, a im, Gim c vi cc gi trtng ng l Cng ty Dt may, Thanh tr, Hni, Phm M Hoa.

    NHN VIN(H tn, a ch, Tui, T)

    CNG TY(Tn, a im, Gim c)

    e1(L Vn, H Ni, 32, (04)855641)

    c1(CT dt may, Thanh Tr HN, Phm

    M Hoa)e2

    (Trn B, Hi Phng, 45, 8739455)c2

    (CT Hoa qu, Hi phng, L H)e3

    (Hong Vn, H Ni, 8431845)..

    .

    c3CT My tnh, H Ni, Phan Anh

    .

    .

    .

    Hnh 2.2 Kiu thc th v tp thc th

    b. Cc loi thuctnhTrong m hnh ER c mt nhiu kiu thuc tnh : thuc tnh n v

    thuc tnh phc hp, thuc tnh n tr v thuc tnh a tr, thuc tnh c

    lu tr v thuc tnh suy din c. Chng ta s nh ngha cc kiu thuctnh v minh ho chng thng qua cc v d.

    Thuc tnh n v thuc tnh phc hp :Cc thuc tnh phc hp l ccthuc tnh c th c phn chia ra thnh cc phn nh hn, biu din ccthuc tnh c bn hn vi cc ngha c lp. V d, thuc tnh H tn cathc th Nhn vin cth c phn chia thnh H m, Tn. Cc thuc tnhkhng th phn chia c c gi l thuc tnh n hay thuc tnh nguynt. Gi tr ca mt thucc tnh phc hp l s kt hp cc gi tr ca cc thuc

    tnh thnh phn to nn n.

    Cc thuc tnh phc hp c li cho hon cnh m hnh m trong mt

  • 8/4/2019 5_thietkecsdl

    23/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 22

    ngi s dng i khi tham kho n mt thuc tnh phc hp nh l mtn v nhng vo lc khc th tham kho n cc thnh phn ca n. Nu mtthuc tnh phc hp c tham kho ch nh l mt th khng cn thit phichia n thnh cc thuc tnh thnh phn.

    Thuc tnh n tr v thuc tnh a tr:a s cc thuc tnh c mt gitr duy nht cho mt thc th c th, cc thuc tnh nh vy gi l cc thuctnh n tr. V d, Tui l mt thuc tnh ntr ca mt ngi. Trong mts trng hp, mt thuc tnh c th c mt tp hp cc gi tr cho cng mtthc th. V d, thuc tnh Bng cp ca mt ngi. Mt ngi c th khngc bng cp no, ngi khc c th c mt bng, ngi khc na c th cnhiu bng,. Nh vy cc ngi khc nhau c th c mt s cc gi tr khcnhau cho thuc tnh Bng cp. Nhng thuc tnh nh vy c gi l thuc

    tnh a tr.Thuc tnh c lu tr v thuc tnh suy din c: Trong mt s

    trng hp, hai hay nhiu gi tr thuc tnh c lin quan n nhau, v d thuctnh Tui v thuc tnh Ngy sinh ca mt ngi. Vi mt ngi c th ta cth tnh Tui ca anh ta bng cch ly nm hin ti tr i nm ca Ngy sinh.Thuc tnh Tui nh vy gi l thuc tnh suy dinc v n c suy dint thuc tnh Ngy sinh. Thuc tnh Ngy sinh c gi l thuc tnh lu tr.

    Cc gi tr khng xc nh (null values):Trong mt s trng hp, mtthc th c th c th khng c cc gi tr p dng c cho mt thuc tnh.Vd, Thuc tnh S in thoi ca thc th Nhn vin s khng c gi tr ivi cc nhn vin khng c s in thoi. Trong trng hp nh vy, ta phito ra mt gi tr c bit gi l gi tr khng xc nh (null value). Gi trkhng xc nh c to ra khi mt thuc tnh khng c cc gi tr p dngc hoc khi khng bit.

    Cc thuc tnh phc tp:L nhng thuc tnh phc hp v a tr.

    c.Kiu thc th, tp thc th, khov tp gi trCc kiu thc th v cc tp thc th: Mt c s d liu thng cha

    nhng nhm thc th tng t nh nhau. V d, mt cng ty thu hng trmnhn vin mun l gi nhng thng tin tng t lin quan n mi nhnvin. Cc thc th nhn vin ny chia s cc thuc tnh ging nhau nhng mithc th c cc gi tr ring cho cc thuc tnh. Mt kiu thc thl mt tphp cc thc th c cc thuc tnh nh nhau. Mt kiu thc th trong c s dliu c m t tn ca n v cc thuc tnh. Hnh v 2.2 ch ra hai kiu thcth c tn l CNGTY v NHNVIN v cc thuc tnhca chng. Mt tp

  • 8/4/2019 5_thietkecsdl

    24/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 23

    hp tt c cc thc th ca mt kiu thc th c th trong c s d liu timt thi im c gi l mt tp thc th, n thng c tham chiu nbng cch s dng tn ca kiu thc th. V d, NHNVIN dng ch val mt kiu thc th, va l tp hp hin ti ca tt c cc thc th nhn vin

    trong c s d liu.Mt kiu thc th c biu din trong s ER nh l mt hp hnh

    ch nht c cha tn kiu thc th. Cc tn thuc tnh c t trong cc hnh van v c ni vi kiu thc th bng cc ng thng. Cc thuc tnh phc hp c ni vi cc thuc tnh thnh phn ca n bng cc ngthng. Cc thuc tnh a tr c hin th trong cc hnh van p.

    NHN VIN

    M sNV

    H tn

    H m Tn

    Ngy sinh

    Bng cp

    Hnh 2.3 Biu din kiu thc th v cc thuc tnh

    Mt kiu thc th mt t mt lc hoc mt mc ch cho mt tpcc thc th chia s cng mt cu trc. Tp hp cc thc th ca mt kiuthc th c th c nhm vo mt tp thc th v c gi l mt th hinca mt kiu thc th.

    Cc thuc tnh kho ca mt kiu thc th:Mt rng buc quan trngtrn cc thc th ca mt kiu thc th l Khohoc l rng buc v tnh duynht trn cc thuc tnh. Mi mt kiu thc th thng c mt thuc tnh mcc gi tr ca n l khc nhau i vi mi thc th ring bit trong mt tphp. Thuc tnh nh vy gi l thuc tnh kho v cc gi tr ca n c thdng xc nh tng thc th mt cch duy nht. V d, thuc tnh Tn cakiu thc th CNGTY l kho ca kiu thc th v mi thc th cng tyc mt tn duy nht. i khi, nhiu thuc tnh kt hp vi nhau to thnh mtkho, ngha l t hp cc gi tr ca cc thuc tnh phi khc nhau i vi mithc th. Trong trng hp nh vy ta c th nh ngha mt thuc tnh kho

  • 8/4/2019 5_thietkecsdl

    25/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 24

    phchp. Ch rng kho phc hp phi ti thiu, ngha l tt c cc thuctnh thnh phn phi c mt trong thuc tnh phc hp tho mn tnh chtduy nht. Trong biu din ho ca m hnh ER, thuc tnh kho c tnc gch di bn trong hnh van.

    Khi ch ra rng mt thuc tnh l kho ca mt kiu thc th ngha ltnh cht duy nht nu trn phi c tho mn i vi mi m rng cakiu thc th. Do , l rng buc cm hai thc th bt k c gi tr chothuc tnh kho nh nhau ti cng mt thi im. khng phi l tnh chtca mt th hin c th, m ng hn, n l mt rng buc trn tt c cc thhin ca kiu thc th. Rng buc kho ny cng nh cc rng buc khc sc gii thiu sau c ly ra t cc rng buc ca th gii nhm c sd liu biu din.

    Mt kiu thc th c th c nhiu hn mt thuc tnh kho. V d, kiuthc th NHNVIN c th c hai thuc tnh Schngminhth vSthbohim, c hai u l thuc tnh kho. Mt kiu thc th cng c thkhng c kho; trong trng hp , n c gi l kiu thc th yu

    Cc tp hp gi tr (min) ca cc thuc tnh: Mi thuc tnh n camt kiu thc th c kt hp vi mt tp hp gi tr (hay cn gi l mingi tr). l tp hp cc gi tr c th gn cho thuc tnh ny i vi mi

    thc th ring bit. Cc tp gi tr khng c hin th trong s ER.Mt cch ton hc, mt thuc tnh A ca kiu thc th E c tp gi

    tr l V c th c nh ngha nh l mt hm t E vo tp hp lc lngP(V) ca V:

    A: E P(V)

    Chng ta tham chiu n gi tr ca thuc tnh A i vi thc th e nhl A(e). nh ngha trn ng cho c cc thuc tnh n tr, thuc tnh a tr,v c thuc tnh khng xc nh.

    2. Cc lin kt, cc kiu lin kt, cc vai tr v cc rng buc cu trc

    a. Cc kiu lin kt, tp lin kt v cc th hinMt kiu lin kt R gia n kiu thc th E1, E2,., En xc nh mt tp

    hp lin kt gia cc thc th ca cc kiu . Cng nh cc kiu thc th vcc tp thc th, mt kiu lin kt v tp lin kt tng ng vi n cng ctn chung l R. Mt cch ton hc, tp lin kt R l mt tp hp cc th hinlin kt ri ,trong mi ri lin kt n thc th ring bit (e1, e2, , en), v mithc th ej trong ri l mt thnh phn ca kiu thc th Ej, 1

  • 8/4/2019 5_thietkecsdl

    26/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 25

    mt kiu lin kt l mt quan h ton hc trn E1,E2,,En, hoc c th nh

    ngha nh l mt tp ca tch cc E1x E2x .x En. Mi kiu thc th E1,E2,., En oc gi l tham gia vo kiu lin kt R, v tng t, mi thc thring bit e1, e2, ., en c gi l tham gia vo th hin lin kt ri= (e1, e2,

    .., en).Mt cch khng hnh thc, mi th hin lin kt ri trong R l mt s kt

    hp ca cc thc th, mi thc th thuc v mt kiu thc th tham gia volin kt. Mi th hin lin kt ri nh th biu din mt s kin rng cc thcth tham gia trong ri c mt quan h vi nhau theo mt cch no trongth gii thc. V d, trong thc t, cc nhn vin lm vic cho cc n v; nhvy, c mt kiu lin kt gia kiu thc th NHNVIN v kiu thc thNV lin kt cc nhn vin vi cc n v m h lm vic cho.

    Trong s ER, cc kiu lin kt c biu din bng mt hnh thoic ni trc tip vi cc hnh ch nht biu din cc kiu thc th tham giavo lin kt. Hnh v 2. 4 minh ho cc v d v kiu lin kt, th hin linkt.

    Lm vic choNHN VIN n v

    e1

    e2

    e3

    e4

    e5

    .

    .

    .

    c1

    e2

    .

    .

    .

    Lm vic choNHN VIN n v

    Hnh 2.4 Kiu lin kt v th hin lin kt

    b. Cp lin kt, tn vai tr v lin kt quyCp ca mt lin kt: Cp ca mt kiu lin kt l s cc kiu thc th

    tham gia. Mt kiu lin kt c th c cp 1, cp 2, cp 3, V d, kiu linkt gia kiu thc th NHNVIN v kiu thc th NV

  • 8/4/2019 5_thietkecsdl

    27/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 26

    l mt kiu lin kt cp 2. Kiu lin kt gia kiu thc thMnhc vi chnh n lmt kiu lin kt cp 1. v.v

    Cc lin kt nh cc thuc tnh:i khi chng ta c th coi mt kiulin kt nh mt thuc tnh ca mt kiu thc th. V d, nu kiu thc th

    NHNVIN c thuc tnh NV ch ra tn n v m nhn vin lmvic cho, th thuc tnh NV biu th mt lin kt. Cc thuc tnh kiu nyc th n tr hoc a tr tu theo bn cht ca mi lin kt.

    Cc tn vai tr v cc lin kt quy:Mi mt kiu thc th tham giavo mt kiu lin kt c mt vai tr c th trong lin kt. Tn vai trch rvai tr m thc th ca kiu thc th tham gia c trong mi th hin lin kt,v gip vic gii thch ngha lin kt l g. V d: trong kiu lin kt, kiu thc th NHNVIN ng vai tr ca nhn vin hoc

    cng nhn, cn kiu thc th NV ng vai tr ca n v hoc ngi thunhn vin.

    Cc tn vai tr l hon ton khng cn thit trong cc kiu lin kt mtrong cc kiu thc th tham gia u khc nhau, bi v mi tn kiu thcth c th c s dng nh l mt tn vai tr. Tuy nhin, trong mt strng hp, mt kiu thc th c th tham gia vo kiu lin kt vi cc vai trkhc nhau. Trong nhng trng hp nh vy tn vai tr tr nn quan trng

    phn bit ngha ca mi s tham gia. Cc kiu linkt nh vy gi l linkt quy. Hnh v 2.5 ch ra mt v d v lin kt quy: Trong cc nhnvin lm vic cho mt n v, c nhn vin c giao nhim v theo di ccnhn vin khc (chng hn lm t trng, qun c, vv). Nh vy s cmt kiu lin kt lin kt mt nhn vin vi mt ngi theo di(cng l mt nhn vin). Kiu thc th NHNVIN tham gia hai ln vo kiulin kt < theo di>, mt ln vi vai tr ngi b theo di v mt ln vi vaitr ngi theo di.

    c. Cc rng buc trn cc kiu lin ktCc kiu lin kt thng c mt s rng buc hn ch s cc t hp

    c th ca cc thc th c th tham gia trong tp hp lin kt tng ng. Ccrng buc ny c xc nh t tnh trng ca th giid thc m cc lin ktbiu din. V d, nu cng ty c quy tc l mi nhn vin ch phi lm viccho mt n v th ta phi m t rng buc ny trong lc . C hai loi rngbuc lin kt chnh: t s lc lng v s tham gia.

    Cc t s lc lng cho cc mi lin kt cp 2: T s lclng cho mtlin kt cp 2 ch ra s cc th hin lin kt m mt thc th c th tham gia

  • 8/4/2019 5_thietkecsdl

    28/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 27

    vo. V d, trong kiu lin kt gia ONVI v NHNVIN,

    t s lc lng l 1:N, iu c ngha l mi n v c th lin kt vinhiu nhn vinnhng mt nhn vin ch c th lin kt vi mt n v. Cct s lc lng c th c l 1:1, 1:N, N:1 v M:N.

    Mt v d v lin kt 1:1 l: mt nhn vin c th mt n vv mt n v c mt nhn vin . Kiu lin kt NHNVIN Dn c t s lclng l N:M v n phn nh quy tc ca th giithc l mt nhn vin c th lm vic trn nhiu d n v mt d n c nhiunhn vin lm vic.

    Cc t s lc lng cho cc lin kt cp 2 c hin th trn cc lc ER bng cch ghi 1, N, M trn cc hnh thoi (hnh v 2.5).

    Qun lNHN VIN n v1 1

    Lm vic choNHN VIN n vN 1

    Lm vic trnNHN VIN D nM N

    Hnh 2.5 T s lc lng ca cc kiu lin kt

    Cc rng buc tham gia v s ph thuc tn ti:Rng buc tham gia chra rng c phi s tn ti ca mt thc th ph thuc vo lin quan n mtthc th khc thng qua mt kiu lin kt hay khng. C hai kiu rng buctham gia: rng buc tham gia ton b v rng buc tham gia b phn. V d,nu chnh sch ca mt cng ty n nh rng mi nhn vin phi lm vic chomt n v,th mt thc th NHNVIN ch c th tn ti khi tham gia vo

    mt th hin ca lin kt < lm vic cho>. Nh vy, s tham gia ca kiu thcth NHNVIN vo lin kt c gi l tham gia ton b,ngha l mi thc th trong tp hp ton bcc thc th NHNVIN phic lin kt vi mt thc th NV thng qua kiu lin kt < lm vic cho>.S tham gia ton b cn c gi ls ph thuc tn ti. Xt mt v d khc:Mt nhn vin c th qun l (hoc khng) mt n v. Nh vy, vic thamgia ca kiu thc th Nhn vin vo kiu lin kt l b phn, nghal ch c mt s hoc mt phn ca tp hp cc thc th NHNVIN l c

    lin kt vi mt n v thng qua kiu lin kt < qun l>, ch khng phi ttc. Chng ta gi t s lc lng v cc rng buc tham gia bng mt ci tnchung l cc rng buc cu trc.

  • 8/4/2019 5_thietkecsdl

    29/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 28

    Trong lc ER, s tham gia ton b c hin th nh mt ngthng i ni cc kiu thc th tham gia vo kiu lin kt. S tham gia bphn c biu din bng mt ng thng n.

    Thuc tnh ca cc kiu lin kt

    Cc kiu lin kt cng c th c cc thuc tnh, ging nh cc thuc tnhca cc kiu thc th. V d, ghi li s gi trong tun mt nhn vin lmvic trn mt d n, chng ta c th a vo thuc tnhSgi cho kiu linkt hoc ghi li vic qun l n v ca mt nhn vinchng ta c th a vo thuc tnh Ngy bt u cho kiu lin kt .

    Cc kiu thc th yu

    Cc kiu thc th khng c cc thuc tnh kho cho chnh mnhc

    gi l cc thc th yu. Ngc li, cc kiu thc th thng thng (ngha l cthuc tnh kho) c gi l thc th mnh. Cc thc th ca mt kiu thcth yu c xc nh bng cch lin kt vi cc thc th c th ca mt kiuthc th khc t hp vi mt s gi tr thuc tnh ca n. Ta gi kiu thc thkhc l kiu thc th xc nh hoc kiu thc th chv ta s gi kiu linkt lm lin kt mt kiu thc th yu vi ch ca n l lin kt xc nhcakiu thc th yu. Mt kiu thc th yu lun lun c mt rng buc tham giahon ton (tn ti ph thuc) vo lin kt xc nh ca n bi v mt thc th

    yu khng th c xc nh m khng c thc th ch. V d, ta xt kiuthc th PHTHUC, lin kt vi kiu thc th NHNVINc s dng gi du vt ca cc ngi ph thuc vo mi nhn vinthng qua mt lin kt1:N. Cc thuc tnh ca PHTHUC l Htn, Ngysinh, Gii tnh, vMiquanh (i vi nhn vin). Hai ngi ph thuc ca hai nhn vin khcnhau c th c cng gi tr cho cc thuc tnh nhng n l hai thc th khcnhau. Chng ch c xc nh nh hai thc th khc nhau sau khi xc nhmt thc th nhn vin c th c lin quan n tng ngi ph thuc. Mi

    thc th nhn vin c gi l ch ca cc thc th ph thuclin kt vi n.

    Thng thng mt kiu thc th yu c mt kho b phn, l mt tphp cc thuc tnh c th xc nh mt cch duy nht cc thc th yu lin ktvi cng mt thc th ch. V d, nu nh hai ngi ph thuc khng bao gic tn gingnhau th thuc tnh Htn ca PHTHUC l mt kho b phn.Trong trng hp xu nht, thuc tnh phc hp gm tt c cc thuc tnh cathc th yu s l mt kho b phn.

    Trong s ER kiu thc th yu v mi lin kt xc nh ca n cbiu dinbng mt hnh ch nht v mt hnh thoi nt p.

  • 8/4/2019 5_thietkecsdl

    30/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 29

    III. V D V THIT K MT M HNH ER

    Trong phn ny chng ta xt v d v vic xy dng m hnh ER cho cs d liu CNGTY.

    1. t vn Gi s rng sau khi tp hp cc yu cu v sau bc phn tch, nhng

    ngi thit k c s d liu m t li hot ng ca cng ty bng nhng cunh sau:

    Cng ty c t chc thnh cc n v. Mi n v c mt tn duy nht,mt m s duy nht, v mt nhn vin c th qun l cng ty.Vic nhn vinqun l cng ty c ghi li bng ngy m nhn vin bt u lm qun l.

    Mt n v c th c nhiu a im.Mt n v kim sot mt s d n. Mi d n c mt tn duy nht, mt

    m s duy nht v mt a im.

    Vi mi nhn vin chng ta lu gi H tn, M s bo him x hi, ach, lng, gii tnh, ngy sinh. Mt nhn vin c phn cng vo mt nv nhng c th lm vic trn nhiu d n do nhiu n v kim sot. Chngta lu gi li s gi / tun m mt nhn vin lm vic trn mi d n. Chngta cng lu gi du vt ca ngi theo di trc tip ca mi nhn vin

    Mi nhn vin c nhng ngi ph thuc, nhng ngi ny c hngch bo him. Thng tin v nhng ngi ph thuc gm H tn, gii tnh,ngy sinh v mi quan h vi nhn vin (l con hoc b, m, .).

    2. Xc nh cc kiu thc th, cc thuc tnh v cc kiu lin kt

    Theo cc ghi chp trn, chng ta c th c 4 kiu thc th:

    Mt kiu thc th NV vi cc thuc tnh Tn, Ms, aim,

    Ngiqunl, v Ngybtuqunl. Cc thuc tnh Tn, M s u l ccthuc tnh kho (do tnh duy nht ca chng). a im l mt thuc tnh atr (v mt n v c th c nhiu a im).

    Mt kiu thc th dn vi cc thuc tnh Tn, Ms, aim,NVkimsot. C hai thuc tnh Tn, Ms u l cc thuc tnh kho.

    Mt kiu thc th NHNVIN vi cc thuc tnh Htn, MsBHXH(M s bo him x hi), Giitnh, a ch, lng, Ngy sinh, NV, v

    Ngi theodi. Thuc tnh Htn l mt thuc tnh phc hp (gm Hm,Tn). Thuc tnh a ch cng l phc hp. Thuc tnh MsBHXH l thuctnh kho.

  • 8/4/2019 5_thietkecsdl

    31/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 30

    Mt kiu thc th PHTHUCvi cc thuc tnh NHNVIN, HtnPT(H tn ca ngi ph thuc), Gii tnh, Ngysinh, v Miquanh (i vinhn vin).

    Gia cc kiu thc th trn c cc kiu lin kt nh sau:

    GiaNVv v dnc mt kiu lin kt: NVkim sotcc d n.y l mt lin kt kiu 1:N. S tham gia ca d nvo kiu lin kt l ton b (ngha l mt d n bao gi cng c mt n v kim sot). Nu nhkhng phi mi n v u qun l d n th s tham gia ca NV l bphn, ngc li, s tham gia l ton b. Thuc tnh NVkimsot yng vai tr l n v kim sot d n, n ch kiu lin kt kim sot

    Gia NHNVIN v NV c hai kiu lin kt: Nhn vin lm viccho n v v nhn vin qun lmt n v

    Kiu lin kt lm vic chol mt lin kt kiu N:1. S tham gia ca chai kiu thc th l ton b (mt nhn vin phi lm vic cho mt n v vmt n v phi c cc nhn vin lm vic). Thuc tnh NV ca kiu thcth nhn vinng vai tr l n v m nhn vin lm vic cho n. Thuc tnhny ch kiu lin kt lm vic choKiu lin kt qun l l mt lin kt kiu1:1. S tham gia ca NHNVIN l b phn bi v khng phi nhn vin nocng qun l n v. S tham gia ca NV l ton b v n v no cng

    phi c mt ngi qun l. Thuc tnh Ngi qun l ca NVng vai trngi nhn vin qun l n v v thuc tnh Ngybtuqunl l thuc tnhca kiu lin kt qun l

    Gia kiu thc th NHNVIN v kiu thc th NHNVINc mt kiulin kt quy : NHNVIN theo di NHNVIN. y l mt lin kt kiu1:N, mt nhn vin theo di trc tip cc nhn vin khc. S tham gia caNHNVIN ( c hai pha) l b phn bi v khng phi nhn vin no cngc ngi theo di trc tip v khng phi nhn vin no cng theo di nhn

    vin khc. Thuc tnh Ngitheodi ng vai tr l nhn vin theo di.

    Gia kiu thc th NHNVINv kiu thc th dnc mt kiu lin kt:NHNVINlm vic trn dn, y l mt lin kt kiu M:N,mt nhn vin cth lm vic trn nhiu d n v mt d n c th c nhiu nhn vin lmvic. S tham gia ca NHNVINl b phn v mt nhn vin c th khnglm vic cho d n no, ngc li, s tham gia ca d nl ton b v d nno cng phi c nhn vin lm vic.

    Gia kiu thc th NHNVINv kiu thc th PHTHUCc mt mi

  • 8/4/2019 5_thietkecsdl

    32/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 31

    lin kt : ngiph thucph thuc voNHNVINhoc NHNVINc nhngngi PHTHUC. y l kiu lin kt 1:N, nhn vin c th c nhng ngiph thuc. S tham gia ca NHNVIN l b phn v s tham gia ca phthucl ton b v khng phi nhn vin no cng c ngi ph thuc nhng

    mt ngi ph thuc phi ph thuc vo mt nhn vin. thuc tnh Nhn vinca kiu thc th PHTHUCng vai trca nhn vin m ngi ph thucph thuc vo. Thuc tnh ny ch lin ktph thuc vo.

    Sau khi phn tch nh trn ta, loi b cc thuc tnh c xem nh cckiu lin kt ra khi cc kiu thc th. l cc thuc tnh Ngiqunl vNgybtuqunl ca kiu thc th NV, thuc tnh NVkimsot cakiu thc th d n, cc thuc tnh NV, Ngitheodi, Lmvictrn cakiu thc th NHNVIN v thuc tnh NHNVIN ca kiu thc th

    PHTHUC. Kt qu chng ta nhn c s ER nh hnh v 2.6

    NHN VINM sNV

    H tn

    H m Tn

    Ngysinh

    Qun l

    n v

    1 1

    Gim st

    D n1

    L ng

    Giitnh

    Ngy bt u

    Lm vic choN 1

    1 N

    Lm vic trnM N

    Kim sot

    1

    NS gi

    CC

    Ph thucPh thuc

    N

    TnNgysinh

    Quan hGiitnh

    TnM s a im

    Hnh 2.6Lc ER CNG TY

  • 8/4/2019 5_thietkecsdl

    33/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 32

    CHNG 3: M HNH QUAN H,CC RNG BUC QUAN H V I S QUAN H

    M hnh quan h c Ted Codd a ra u tin vo nm 1970 v gyc ch ngay tc khc v tnh n gin v cc c ston hc ca n. Mhnh quan h s dng khi nim quan h ton hcnh l khi xy dng c sv c c s l thuyt ca n trong l thuyt tp hp v logic v t bc nht.Trong chng ny chng ta s ni v cc c trng c bn ca m hnh, ccrng buc ca chng v tp hp cc php ton ca m hnh quan h.

    I. CC KHI NIM CA M HNH QUAN H

    M hnh quan h biu th c s d liu nh mt tp cc quan h. Miquan h c th c biu din nh mt bng gi tr, mi mt dng trong bng biu th mt tp hp cc gi tr d liu lin quan vi nhau. Trong chngtrc, chng ta a ra cc khi nim v kiu thc th v kiu lin kt nhl cc khi nim m hnh ho d liu ca th gii thc. Trong m hnhquan h, mi mt dng trong bng biu th mt s kin tng ng vi mtthc th hoc mt lin kt ca th gii thc. Tn bng v tn cc ct dng

    gip gii thch ngha ca cc gi tr trong mi hng. Mi gi tr trong mtct u cng mt kiu d liu

    Theo thut ng m hnh quan h hnh thc, mi hng c gi l mtb, mi u ct c gi l mt thuc tnh, v bng c gi l mt quan h.

    1. Min, thuc tnh, b v quan h

    Mt min D l mt tp hp cc gi tr nguyn t, iu c ngha lmi gi tr trong min l khng th phn chia trong phm vi m hnh quan h.

    dc t mt min, ngi ta ch ra mt tn min, mt kiu d liu v khundng d liu. Mt s v d v min:

    . H tn : L mt tp hp cc dy ch ci c di

  • 8/4/2019 5_thietkecsdl

    34/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 33

    c gi l min gi tr ca Ai v c k hiu l Dom(Ai). Mt lc quan h c s dng mt t mt quan h ; R c gi l tn ca quan h. Cp ca mt quan h l s cc thuc tnh ca lc quan h ca n.Vd, ta c lc cp 5: Sinhvin(Ms, Htn, Ngysinh, Giitnh, ach).

    Quan h tng ng vi n l mt bng c tn l Sinhvin, c 5 ct c tn lcc thuctnh, mi thuc tnh c mt min.

    Mt quan h hoc trng thi quan h r ca lc quan h

    R(A1,A2,., An) c k hiu l r(R), l tp hp cc n-b r = {t1, t2, .., tn}. Mi n-b t l mt danh sch c th t ca n gi tr, t = < v 1, v2, , vn >,trong mi vi ,1

  • 8/4/2019 5_thietkecsdl

    35/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 34

    min u hu hn th tng s cc b trong tch cac l

    dom(A1)*dom(A2)* ..*dom(An)

    ngoi tt c cc t hp c th c ny, mt trng thi quan h mtthi im cho trc gi l trng thi quan h hin ti ch phn nh cc b

    gi tr biu din mt trng thi c th ca th gii thc. Ni chung, do trngthi ca th gii thc thay i, quan h cng b thay i thnh trng thi quanh khc. Lc R l n nh, khng thay i, tr phi phi thm vo mt sthuc tnh biu din mt thng tin mi cha c lu tr trong quan h.

    C th xy ra trng hp nhiu thuc tnh c cng mt min gi tr. Ccthuc tnh ch ra cc vai tr khc nhau i vi min. V d, hai thuc tnhachNV v achV c cng min gi tr nhng thuc tnh th nht thamchiu n a ch ca nhn vin cn a ch th hai tham chiu n a ch can v.

    2. Cc c trng ca cc quan h

    a) Th t ca cc b trong mt quan h :Mt quan h c nh nghanh mt tp hp cc b. Cc phn t trong mt tp hp khng c th t, vvy cc b trong mt quan h khng c mt th t c th. Tuy nhin, trongmt tp, cc bn ghi c lu tr mt cch vt l trn a v vy lun c mt

    th t gia cc bn ghi.Th t ny ch r bn ghi th nht, bn ghi th i, ,bn ghi th n. Mt cch tng t, khi ta biu din mt quan h nh l mtbng, cc hng c hin th theo mt th t nht nh.

    Th t cc b khng phi l mt phn ca nh ngha quan h bi vmt quan h c gng biu din cc s vt mc tru tng hoc lgic. C thc nhiu th t l gic trn mt quan h. V d, cc b gi tr trong quan hSINHVIN hnh 3.1 c th sp xp theo nhiu cch khc nhau: theo th tlogic ca Htn, theo th t logic ca M s, . nh ngha quan h khng

    ch ra th t lgic no c, v vy khng c th t logic no hn th t lgickhc. Cc quan h cha cng mt s hng nh nhau nhng cc hng c spxp khc nhau c xem nh ng nht vi nhau. Khi mt quan h c cit nh mt tp, mt th t vt l c th c ch ra trn cc bn ghi ca tp.

    b) Th t ca cc gi tr bn trong mt b: Theo nh ngha quan h trn, mt n-b l mt danh sch c th t ca n gi tr. Nh vy th t ca ccgi tr trong mt b l quan trng, t suy ra th t ca cc thuc tnh trong

    mt lc quan h cng quan trng. Tuy nhin, mc l gic, th t ca ccthuc tnh v cc gi tr ca n l khng thc s quan trng khi g c stng ng gia cc thuc tnh v cc gi tr.

  • 8/4/2019 5_thietkecsdl

    36/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 35

    C th a ra mt nh ngha khcv quan h, nh ngha ny s lmcho th t ca cc gi tr trong mt b l khng cn thit. Theo nh nghany, mt lc quan h R = { A 1, A2, .An} l mt tp hp cc thuc tnhv mt quan h r = {t1, t2, . tm}l mt tp hp hu hn cc nh x t R vo

    D, trong D = dom(A1) dom(A2) ..dom(An). Trong nh nghany, vi mi nh x t trong r, t[Ai] phi trong dom(Ai) vi 1

  • 8/4/2019 5_thietkecsdl

    37/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 36

    cc s kin v mi lin kt. V d, lc quan h NHNVIN_Dn(MsNV, MsDA, Sgi) khng nh cc nhn vinlm vic vi cc d n. Mi b trong quan h ny lin kt mt sinh vin vimt d n m anh ta lm vic cho n.

    Nh vy, m hnh quan h biu din cc s kin v thc th v cc skin v lin kt di dng duy nht l cc quan h.

    II. CC RNG BUC QUAN H, LC CSDL QUAN H

    Trong phn ny chng ta tho lun v cc hn ch trn cc d liutrong mt lc c s d liu quan h. Cc hn ch c gi l cc rngbuc. C cc loi rng buc : rng buc min, rng buc kho, rng buc tonvn thc th v rng buc ton vn quy chiu.

    1. Cc rng buc min

    Cc rng buc min ch ra rng gi tr ca mi thuc tnh A phi l mtgi tr nguyn t thuc min gi tr dom(A). Cc kiu d liu lin kt vi ccmin bao gm: cc kiu d liu s chun cho cc s nguyn (short integer,integer, long integer), cc s thc (float, double precision float). Ngoi ra cncc kiu d liu k t (dy k t vi di c nh, dy k t vi di thayi), ngy, thi gian v tin t. Cc loi min khc c th l cc min con ca

    mt kiu d liu hoc mt kiu d liu m c trong mi gi tr c thc lit k r rng

    2. Rng buc kho v rng buc trn cc gi tr rng (null)

    Mt quan h c nh ngha nh mt tp hp cc b. Theo nh ngha,cc phn t ca mt tp hp l khc nhau, v vy, mi b trong quan h phikhc nhau. iu c ngha l khng c hai b c cng mt t hp gi tr chott c cc thuc tnh ca chng. Thng thng, c tn ti cc tp con ca ccthuc tnh ca mt lc quan h c tnh cht l khng c hai b no trong mi trng thi quan h r ca R c cng mt t hp gi tr cho cc thuctnh ca n. Gi s chng ta k hiu mt tp con nh vy l SK; khi vihai b khc nhau bt k t1 v t2trong mt trng thi quan h r ca R chng ta

    c rng buc l t1[SK] t2[SK].

    Tp hp thuc tnhSK nh vy c gi l mt siu khoca lc quan h R. Mt siu kho SK xc nh r mt rng buc v tnh duy nht,

    pht biu rng khng c hai b khc nhau trong mt trng thi r ca R ccng mt gi tr cho SK. Mi quan h c it nht l mt siu kho mc nh, l tp hp tt c cc thuc tnh ca n. Mt khoK ca mt lc quan h

  • 8/4/2019 5_thietkecsdl

    38/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 37

    R l mt siu kho ca R vi tnh cht l nu b i bt k thuc tnh A no rakhi K th s cn li mt tp K khng phi l siu kho ca R. Nh vy, mtkho l mt siu kho ti thiu, ngha l l mt siu kho m ta khng thvt b thuc tnh no ra khi n m vn gi c rng buc v tnh duy nht.

    V d, xt quan h SINHVIN vi cc thuc tnh Ms, Htn, Ngysinh, Giitnh, ach. Tp thuc tnh {Ms} l mt kho caSINHVIN bi v khng c hai b sinh vin c cng mt gi tr cho Ms.Mi tp hp thuc tnh c cha Ms, v d { Ms, Htn, Ngysinh}, ul mt siu kho. Tuy nhin, siu kho { Ms, Htn, Ngysinh} khng phil kho bi v nu b i thuc tnh Htn hoc Ngysinh hoc c hai th nvn cn l mt siu kho.

    Gi tr ca mt thuc tnh kho c th c s dng xc nh mt

    cch duy nht mi b trong mt quan h. V d, gi tr SV305 ca Ms xcnh mt cch duy nht b gi tr tng ng vi sinh vin L Nam trong quanh sinhvin. Ch rng mt tp hp thuc tnh to nn mt kho l mt tnhcht ca lc quan h. iu rng buc l tnh cht phi tho mn trnmi trng thi ca lc . Mt kho c xc nh t ngha ca cc thuctnh v tnh cht l bt bin ; tnh cht phi tha mn khi chng ta chnthm cc b mi vo quan h. V d, ta khng th v khng c ch nhthuc tnh Htn ca quan h SINHVIN l kho bi v khng c g m borng khng tn ti hai sinh vin c cng h tn.

    Ni chung, mt lc quan h c th c nhiu hn mt kho. Trongtrng hp , mi mt kho c gi l mt kho d tuyn.Thng thngta phi ch nh mt trong cc kho d tuyn lm kho chnhca quan h.Kho chnh l mt kho d tuyn m cc gi tr ca chng c dng xcnh cc b trong quan h. Ta quy c rng, cc thuc tnh to nn khochnh ca mt lc quan h c gch di. V d:

    Sinhvin(Ms, Htn, Ngysinh, Giitnh, ach).Ch rng khi mt lc quan h c nhiu kho d tuyn, vic la

    chn mt kho d tuyn lm kho chnh l tu ; tuy nhin tt nht l chnkho chnh gm mt thuc tnh hoc c s cc thuc tnh it nht.

    Mt rng buc khc trn cc thuc tnh ch r khi no th cho php ccgi tr null. Nhng thuc tnh lun lun phi c mt gi tr xc nh v hp lth b rng buc l not null.

    3. C s d liu quan h v lc c s d liu quan h

    trn, chng ta ni n cc lc quan h n l v cc quan h

  • 8/4/2019 5_thietkecsdl

    39/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 38

    n l. Mt c s d liu quan h thng gm nhiu quan h vi cc b gitr trong cc quan h c lin kt vi nhau theo nhiu cch. Trong phn nychng ta s nh ngha mt c s d liu quan h v mt lc c s d liuuan h. Mt lc c s d liu quan h Sl mt tp hp cc lc quan

    h S = {R1, R2, ., Rn} v mt tp cc rng buc ton vn. Mt trng thic s d liu quan h (hoc mt c s d liu quan h) DB ca S l mt tphp cc trng thi quan h DB = {r1, r2, ., rn} sao cho mi ri l mt trngthi ca Ri v sao cho cc trng thi quan h ri tho mn cc rng buc tonvn ch ra trong tp cc rng buc ton vn.

    V d, Hnh v 3.2 trnh by mt lc c s d liu CNGTY vhnh v 3.3 Trnh by mt c s d liu cng ty

    NHNVIN(Hm, Tn, MsNV, Ngy sinh, a ch, Gii tnh, Lng, M s NGS, M s V)

    NV(TnV, M sV, M s NQL, Ngy btu)

    NV_AIM(M sV,aimV)

    DN(Tn DA, M s DA,aim DA, M sV)

    NHNVIN_D N(M s NV, M s DA, S gi)

    PHTHUC(M s NV, Tn PT, Gii tnh, Ngy sinh, Quan h)

    Hnh 3.2 : Lc c s d liu cng ty.

    NHNVIN

    MsNV

    Hm

    Tn

    Ngysinh

    ach

    Giitnh

    Lng

    MsNGS

    MsV

    NV001 L Vn 12/02/79 H Ni Nam 3000 NV002 5NV002 Trnc Nam 14/02/66 H Ni Nam 4000 NV061 5NV010 Hong Thanh 05/08/79 Ngh An N 2500 NV014 4NV014 Phm Bng 26/06/52 Bc Ninh Nam 4300 NV061 4NV016 Nguyn Sn 14/08/73 H Nam Nam 3800 NV002 5NV018 V Hng Giang 26/03/83 Ph Th N 2500 NV002 5NV025 Trn L Hoa 15/05/80 Ph Th N 2500 NV014 4NV061 Hong Gip 02/05/47 H Ni Nam 5500 Null 1

    NV M s V Tn V M s NQL Ngy bt u5 Nghin cu NV002 15/09/20004 Hnh Chnh NV014 24/06/19971 Lnh o NV061 25/01/1992

    NV_AIM M s V a im V1 H Ni4 H Ni5 Namnh

  • 8/4/2019 5_thietkecsdl

    40/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 39

    5 H Ni5 Bc Ninh

    DN Tn DA M s DA a im DA M s VDA01 1 H Ni 5DA02 2 Namnh 5

    DA03 3 Bc Ninh 5DA04 10 H Ni 4DA05 20 H Ni 1DA06 30 H Ni 4

    NHNVIN_D N M s NV M s DA S giNV001NV001NV016NV018

    NV018NV002NV002NV002NV002NV010NV010NV025NV025NV014NV014

    NV061

    PHTHUC M s NV Tn PT Gii tnh Ngy sinh Quan hNV002 Giang N 04/05/1997 ConNV002 Bnh Nam 25/10/1994 ConNV002 Hoa N 03/05/1969 VNV014 Lan N 28/02/1953 VNV001 Bnh Nam 04/01/1999 ConNV001 Ha N 04/01/1999 ConNV001 Hng N 05/05/1981 V

    Hnh 3.3 : C s d liu cng ty

    Trong mt lc c s d liu quan h, cc thuc tnh biu din cngmt khi nim th gii thc c th (hoc khng) c cng tn nh nhau trongcc quan h khc nhau. Ngc li, cc thuc tnh biu din cc khi nimkhc nhau c th c tn nh nhau trong cc quan h khc nhau.

    Trong mt s phin bn trc ca m hnh quan h, ngi ta yu cu

    rng cc thuc tnh biu din cng mt khi nim ca th gii thc th phi ctn nh nhau trong mi quan h. iu s gy ra kh khn khi cng mtkhi nim th gii thcc s dng trong cc vai tr khc nhau.

  • 8/4/2019 5_thietkecsdl

    41/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 40

    Mt h qun tr c s d liu phi c ngn ng nh ngha d liu(Data definition language DDL) nh ngha lc c s d liu quan h.Cc h qun tr c s d liu hin nay hu nh s dng SQL cho mc chny.

    Cc rng buc ton vn c ch ra trn mt lc c s d liu vc tn trng lm tho mn trn mi trng thi c s d liu ca lc ny. Ngoi cc rng buc min v rng buc kho cn c thm cc rng bucc xem nh mt phn ca m hnh quan h: rng buc ton vn thc th vrng buc ton vn quy chiu.

    4. Ton vn thc th, ton vn quy chiu v kho ngoi

    Rng buc ton vn thc thc pht biu l : kho chnh phi lun

    lun c gi tr xc nh, ngha l khng c php c gi tr null. S d ciu l do gi tr ca kho chnh c s dng xc nh cc b gi trring bit trong mt quan h. Vic c gi tr null cho kho chnh ko theo vicchng ta khng th xc nh c mt s b gi tr. V d, nu c hai haynhiu hn cc b gi tr c gi tr null cho kho chnh th chng ta khng ckh nng phn bit chng.

    Cc rng buc kho v rng buc ton vn thc th c ch ra trn ccquan h ring bit. Rng buc ton vn quy chiuc ch ra gia hai quanh duy tr s tng ng gia cc b ca hai quan h. Mt cch khng hnhthc, rng buc ton vn quy chiu c pht biu l: mt b gi tr trong mtquan h c lin kt n mt quan h khc phi lin kt n mt b gi tr tnti trong quan h .

    nh ngha ton vn quy chiu mt cch hnh thc hn, trc tinchng ta a ra khi nim kho ngoi: Mt tp hp cc thuc tnh FK trongmt lc quan h R1l mt kho ngoi ca R1quy chiu n quan h R2

    nu n tho mn hai quy tc sau:qt1. Cc thuc tnh trong FK c cng min gi tr nh cc thuc tnh ca

    kho chnh PK ca R2. Cc thuc tnh FK c gi l quy chiu n (hoc llin h n) quan h R2.

    qt2. Mt gi tr ca FK trong mt b t1 ca trng thi hin ti r1(R1)hoc c my nh mt gi tr ca kho chnh ca mt b t2no y trong trngthi hin ti r2(R2), hoc l null. Trong trng hp ny ta c t1[FK] = t2[PK]

    v ta ni rng b t1 lin h (quy chi) n b t2. R1c gi l quan h quychiu v R2c gi l quan h b quy chiu.

    Trong mt c s d liu c nhiu quan h thng c nhiu rng buc

  • 8/4/2019 5_thietkecsdl

    42/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 41

    ton vn quy chiu. ch ra cc rng buc ny, trc tin ta phi c mthiu bit r rng v ngha hoc vai tr ca mi tp thuc tnh trong cclc quan h khc nhau ca c s d liu. Cc rng buc ton vn quychiu thng ny sinh t cc mi lin kt gia cc thc th c biu din

    bng cc lc quan h.Ch rng mt kho ngoi c th quy chiu n quan h ca chnh n.

    Trong trng hp , kho ngoi biu th mt lin kt quy.

    Chng ta c th biu din cc rng buc quy chiu bng s . lmiu ta v mt cnh c hng t mi kho ngoi n quan h m n quychiu. Hnh v 3.4 biu din lc hnh 3.2 vi cc rng buc quy chiuc biu din theo cch ny.

    NhnVIn(Hm, Tn, MsNV, NgySinh, ach, Giitnh, L ng, MsNGS, MsV )

    nv(TnV, MsV, MsNQL, Ngybtu)

    nv_IAim(MsV, aimV)

    Dn(TnDA,MsDA, aimDA, MsV)

    phthuc(MsNV, TnPT, Giitnh, NgySinh, Quanh)

    NhnVIn_Dn(MsNV, MsDA, Sgi)

    Hnh 3.4 Lc v s tham chiu

    Ngoi cc rng buc ton vn trn, c s d liu cn phi tho mnmt s rng buc khc, nh rng buc trng thi, rng buc chuyn tip,.

    Cc rng buc trng thi xc nh cc rng buc m mt trng thi vng chcca c s d liu phi tho mn. V d v cc rng buc l:lng ca mtnhn vin khng c vt qu lng ca ngi gim st nhn vin hocs gi nhiu nht m mt nhn vin c th lm vic trong mt tun trn ttc cc d n l 56. Cc rng buc nh vy c th c c t v bt tuntheo bng cch s dng mt ngn ng c t rng buc. Ngi ta c th sdng cc c cu nh l trigger hoc assertion. Cc rng buc chuyn tip cth c nh ngha lm vic vi nhng thay i trng thi trong c s d

    liu. V d v rng buc ny l : lng ca mt nhn vin ch c th tng .Cc rng buc nh vy thng c nh ngha bng cch s dng cc quytc hoc bng cc trigger.

  • 8/4/2019 5_thietkecsdl

    43/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 42

    III.CC PHP TON CAM HNH QUAN H

    Trong phn ny chng ta tho lun v cc php ton ca m hnh quanh. Cc php ton ca m hnh quan h c th phn thnh hai loi : cc phpton cp nht v cc php ton i s quan h. Cc php ton cp nht c

    s dng to ra mt quan h ng n; cc php ton i s quan h cs dng c t cc php ly thng tin ra.

    1. Cc php ton cp nht

    Cc php ton cp nht gm ba php ton c bn l chn, xo v sai. Php chn c dng chn mt b gi tr hoc nhiu b gi tr vomt quan h. Php xo dng loi b cc b gi tr v php sa i dng sa i cc gi tr ca mt s thuc tnh trong cc b gi tr c. Mi khi

    cc php ton cp nht c p dng, cc rng buc trn lc c s dliu c th b vi phm. Trong phn ny chng ta s ni n kh nng vi phmcc rng buc ca tng php ton v cc kiu hnh ng c th thc hin khimt rng buc b vi phm.

    a.Php chn (Insert)Php chn cung cp mt danh sch cc gi tr cho mt b mi t c

    chn vo trong mt quan h R. Php chn c th vi phm cc kiu rng bucc m t trn. Cc rng buc min c th b vi phm nu mt gi trthuc tnh c cho khng thuc vo min tng ng. Cc rng buc kho cth b vi phm nu mt gi tr kho trong b mi t tn ti trong mt bkhc trong quan h r(R). S ton vn thc th c th b vi phm nu khochnh ca b mi t l null. S ton vn quy chiu c th b vi phm nu mtgi tr ca mt kho ngoi trong t quy chiu n mt b khng tn ti trongmt quan h c quy chiu.

    Nu mt php chn vi phm mt hoc nhiu rng buc, tu chn mcnh l loi b php chn. Trong trng hp ny, thng l cc h qun tr cs d liu c th thng bo cho ngi s dng nguyn nhn ca vic loi bphp chn.

    b. Php xo (Delete)Php xo c s dng xo mt hoc nhiu b gi tr ca mt quan

    h. Php xo ch c th vi phm rng buc quy chiu trong trng hp b b

    xo c quy chiu bi mt kho ngoi t cc b khc trong c s d liu. Ba tu chn c sn sng c s dng nu mt php xo gy ra s vi

  • 8/4/2019 5_thietkecsdl

    44/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 43

    phm. Tu chn th nht l loi b php xo. Tu chn th hai l c gng lantruyn php xo (cascade the deletion) bng cch xo ng thi cc b quychiu n b b xo. Tu chn th ba l sa i cc gi tr ca cc thuc tnhquy chiu gy ra s vi phm; mi gi tr nh vy hoc l lm cho bng null

    hoc c thay i thnh b c hiu lc quy chiu khc. Ch ya rng, numt thuc tnh quy chiu gy ra s vi phm l mt phn ca kho chnh thkhng th lm cho thnh null, bi v nu lm vy th s vi phm rng bucton vn thc th.C th kt hp c ba tu chn trn.

    c.Php sa i (Update)Php ton sa i c dng thay i cc gi tr ca mt hoc nhiu

    thuc tnh trong mt (hoc nhiu) b ca mt quan h R no y. la chn

    cc b cn c thay i, ngi s dng phi ch ra mt iu kin trn ccthuc tnh.

    Vic sa i mt thuc tnh khng phi l mt kho chnh hac mtkho ngoi thng khng gy ra cc vi phm rng buc; h quntr c s dliu ch cn kim tra khng nh rng gi tr mi l thuc min v kiu gitr ng n. Vic sa i gi tr mt kho chnh tng t nh vic xo mtb v chn b khc vo ch ca n. Nh vy chng ta tr v trng hp tho lun vi php chn v php xo. Nu mt thuc tnh kho ngoi b sa

    i th h qun tr c s d liu phi m bo rng gi tr mi quy chiu nmt b c tn ti trong quan h c quy chiu (hoc l null).

    2. Cc php ton i s quan h

    Ngoi vic nh ngha cu trc c s d liu v cc rng buc, mt mhnh d liu phi cha mt tp hp php ton thao tc d liu. Tp hp cs cc php ton m hnh quan h to nn i s quan h. Cc php ton ny

    gip cho ngi s dng xc nh r cc yu cu ly tin c bn. Kt qu camt php ly tin l l mt quan h mi, c th c to ra t mt hoc nhiuquan h.. Cc quan h c th c thao tc tip theo bng cch s dngcc php ton ca cng i s. Mt dy cc php ton quan h to nn mtbiu thc i s quan h m kt qu ca n cng l mt quan h.

    Cc php ton i s quan h c chia thnh hai nhm. Mt nhm baogm cc php ton tp hp ly t l thuyt tp hp ton hc. Cc php ton l php hp, php giao, php tr tp hp v php tch cc. Nhm kia

    bao gm cc php ton c xy dng c bit cho cc c s d liu quan h.Cc php ton l php chn, php chiu, php ni v mt s cc php tonkhc.

  • 8/4/2019 5_thietkecsdl

    45/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 44

    a. Php chn (SELECT)Php chn c s dng chn mt tp hp cc b tho mn iu kin

    chn t mt quan h. Ta c th xem php chn nh mt b lc, n ch gi licc b tho mn iu kin t ra.

    Php chn c k hiu l

    < iu kin chn>(R)trong k hiu c dng k hiu php chn, cn iu kin chon

    l mt biu thc l gic c ch ra trn cc thuc tnh ca R. V d, chncc b NHNVIN thuc v n v c m s l 4 hoc cc b NHNVINc lng ln hn 800000 ta c th vit nh sau:

    < Ms = 4>(NHNVIN)hoc < Lng > 800000>(NHNVIN)

    Ch rng R ni chung l mt biu thc i s quan h m kt qu can l mt quan h; biu thc n gin nht chnh l tn ca mt quan h camt c s d liu. Quan h kt qu ca php chn c cng thuc tnh nh R.Biu thc lo gic ch ra trong c to nn t mt s hngmc c dng :

    < tn thuc tnh> < php so snh> < gi tr hng>

    hoc < tn thuc tnh> < php so snh> < tn thuc tnh>

    trong l tn ca mt thuc tnh trong R, l mt trong cc php ton so snh { , } cn < gi trhng> l mt gi tr hng t min gi tr ca thuc tnh. Cc hng mc c thc ni vi nhau bng cc php ton l gic AND, OR, NOT to ra mtiu kin chn chung. V d, chn ra cc b gi tr NHNVIN lm vic

    n v c m s l 4 v c lng ln hn 800000 hoc cc b gi trNHNVIN lm vic n v c m s l 5 v c lng ln hn 500000 tac th vit php chn nh sau:

    < Ms = 4>AND 800000>OR< Ms = 5>AND 500000 >(NHNVIN)MsNV Hm Tn Ngysinh ach Giitnh Lng MsNGS MsV

    NV002 Trn c Nam 14/02/66 H Ni Nam 4000 NV061 5

    NV014 Phm Bng 26/06/52 Bc Ninh Nam 4300 NV061 4

    NV016 Nguyn Sn 14/08/73 H Nam Nam 3800 NV002 5

    Hnh 3.5 Kt qu php chn

  • 8/4/2019 5_thietkecsdl

    46/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 45

    Ch rng cc php ton so snh trong tp hp { , }pdng cho cc thuc tnh c min gi tr l cc gi tr c th t nh l min gitr s. Min gi tr cc dy k t c xem nh c th t da trn vic so snhcc dy k t. Nu min gi tr ca mt thuc tnh l mt tp hp cc gi tr

    khng c th t th ch c cc php so snh trong tp hp { =, } l c th pdng c. Ngoi ra, c th cn cc php so snh b sung, chng hn nh lmt dy con ca hoc trong khong t. n .. .

    Kt qu mt php chn c xc nh nh sau: < iu kin chn> cp dng cho mi b t trong R mt cch c lp. iu c thc hin bngcch thay th mi xut hin ca mt thuc tnh Ai trong iu kin chon bnggi tr t[Ai]ca n trong b. Nu iu kin chn cho gi tr ng th b t sc chn. Tt c cc b c chn xut hin trong kt qu ca php ton

    chn. Cc php ton logic AND, OR, NOT c thc hin theo quy tc bnhthng ca chng.

    Php chn l php ton mt ngi, ngha l n c p dng cho mtquan h. Hn na, php chn c p dng cho tng b mt cch c lp, vvy, cc cc iu kin chon khng th lin quan n nhiu b. Quan h ktqu ca php ch c cpging nh cp ca R. S cc b trong quan h ktqu lun lun nh hn hoc bng s cc b trong R.

    Php chn l mt php ton c tnh cht giao hon, ngha l< iu kin 1> (< iu kin 2>(R)) =< iu kin 2> (< iu kin 1>(R))

    Hn na ta c th kt hp mt lot cc php chn thnh mt php chnn gin bng cch s dng php ton AND, V d:

    < iu kin 1> (< iu kin 2>(R)) =< iu kin 2>AND< iu kin 1>(R)

    b.Php chiu (PROJECT)Nu ta coi mt quan h nh mt bng th php chn chn mt s hng

    ca bng tho mn iu kin chn v b qua cc hng khng tho mn iukin chn. Php chiu l php ton chn mt s ct ca bng. Nu chng tach quan tm n mt s thuc tnh ca quan h, chng ta dng php chiu chiu ln ccthuc tnh . Php chiu c k hiu l:

    (R)

    trong l k hiu dng biu din php chiu v l mt danh sch con cc thuc tnh ca quan h R. Ni chung Rl mt biu thc i s quan h m kt qu ca n l mt quan h ; trng

  • 8/4/2019 5_thietkecsdl

    47/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 46

    hp n gin nht n l tn ca mt quan h ca c s d liu. Kt qu caphp chiu l mt quan h ch c cc thuc tnh nm trong v c cng th t nh th t ca chng c trong danh sch. Nhvy, cp ca quan h kt qu l s cc thuc tnh c trong .Nu ch bao gm cc thuc tnh khng phi

    thuc tnh kho ca R th quan h kt qu c th c nhng b trng nhau.Phpchiu loi b mi b trng lp, v nh vy, kt qu ca php chiu l mt tphp cc b v l mt quan h ng n.

    V d, php chiu < Ms, Htn, Lng>(NHNVIN) cho kt qu l mtuan h c cc thuc tnh Ms, Htn, Lng (xem hnh v 3.6)

    MsNV Hm Tn ach Lng

    NV001 L Vn H Ni 3000

    NV002 Trnc Nam H Ni 4000

    NV010 Hong Thanh Ngh An 2500

    NV014 Phm Bng Bc Ninh 4300

    NV016 Nguyn Sn H Nam 3800

    NV018 V Hng Giang Ph Th 2500

    NV025 Trn L Hoa Ph Th 2500

    NV061 Hong Gip H Ni 5500

    Hnh 3.6 Kt qu ca php chiu

    S cc b trong quan h kt qu t mt php chiu lun lun nh hnhoc bng s cc b trong R. Nu danh sch chiu l mt siu kho ca R ngha l n cha mt kho no ca R th quan h kt qu c cng mt s

    b nh R. Ngoi ra, nu < danh sch 2> cha tt c cc thuc tnh coa trong th

    < danh sch1>(< danh sch2> (R)) = < danh sch 1> (R)Php chiu khng c tnh giao hon.

    c.Php t li tn (RENAME)Chng ta c th p dng nhiu php ton quan h lin tip nhau. Trong

    trng hp hoc chng ta c th vit cc php ton nh l mt biu thci s quan h n bng cch xp lng cc php ton li vi nhau, hoc chng

  • 8/4/2019 5_thietkecsdl

    48/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 47

    ta c th p dng mi php ton ti mt thi im v to ra cc quan h ktqu trung gian. Trong trng hp to cc quan h trung gian, ta phi t tncho quan h . V d: a ra Htn v Lng ca cc NHNVIN lmvic n v c Ms l 4 chng ta phi p dng mt php chn v mt php

    chiu. Chng ta c th vit mt biu thc i s quan h n nh sau :< Htn, Lng >( (NHNVIN))

    Mt cch khc, chng ta c th to ra kt qu trung gian v vit biuthc trn thnh dy cc php ton nh sau:

    KQTG (NHNVIN)

    Ketqua < Htn, Lng >(FQTG)Thng thng vic phn tch mt dy phc tp cc php ton bng cch

    ch ra cc quan h kt qu trung gian l d hn vic vit mt biu thc i squan h n. Chng ta c th dng k thut ny t li tn (rename) chocc thuc tnh trong cc quan h trung gian v kt qu. t li tn cho ccthuc tnh ca mt quan h, chng ta lit k cc tn mi ca cc thuc tnhtrong cp du ngoc. V d:

    R(H_v_tn, Lng) < Htn,Lng >(FQTG)Cho kt qu l quan h R, trong thuc tnh Htn c t li tn

    thnh Ho_v_tn.

    Nu khng c vic t li tn th tn ca cc thuc tnh trong quan hkt qu ca mt php chn l ging nh cc tn trong quan h ban u v ccng mt th t nh th t ca cc thuc tnh . i vi php chiu, nukhng c vic t li tn th quan h kt qu c cc tn thuc tnh ging nhcc tn trong danh sch chiu v c cng th t nh chng xut hin trong

    danh sch.Chng ta c th nh ngha mt php ton t li tn, n c th t li

    tn cho mt tn quan h hoc cc tn thuc tnh hoc c hai. Php t li tnc k hiu l

    S(B1,B2,.Bn)(R) hoc S(R) hoc (B1,B2,.Bn)(R)trong k hiu c dng k hiu php ton t li tn, S l tn

    quan h mi, B1,B2,.Bn l cc tn thuc tnh mi. Biu thc th nht t li

    tn quan h v cc thuc tnh ca n; biu thc th hai ch t li tn quan hv biu thc th ba ch t li tn cc thuc tnh. Nu cc thuc tnh ca R l

  • 8/4/2019 5_thietkecsdl

    49/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 48

    A1,A2, ..An th sau khi t li tn chng c tn l B1, B2, ..Bn.

    d. Cc php ton l thuyt tp hpNhm tip theo ca cc php ton i s quan h l cc php ton ton

    hc thng thng trn cc tp hp. l cc php ton hp, giao v tr tphp. Cc php ton ny l cc php ton hai ngi, ngha l mi php tonc p dng cho hai tp hp. Khi p dng cc php ton ny cho c s dliu quan h, hai quan h tham gia vo mt trong cc php ton trn phi ckiu ca cc b nh nhau, hay ni cch khc, chng phi c cng mt cutrc. iu kin ny c gi l tng thch ng nht. Hai quan h R(A1,A2,, An) v S(B1, B2, .,Bn) c gi l tng thch ng nht nu chng ccng cp n v dom(Ai) = dom(Bi) vi 1

  • 8/4/2019 5_thietkecsdl

    50/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 49

    DD 25 N R S Htn Tui Giitnh

    EE 20 Nam AA 20 Nam

    FF 21 Nam CC 21 Nam

    Hnh 3.7 Kt qu ca ccphp ton tp hp

    Ch rng cc php ton hp v giao l cc php ton giao hon, ngha l:

    R S = S R v R S = S R

    Cc php ton trn cng c tnh cht kt hp, ngha l

    R (S T) = (R S) T v R (S T) = (RS) T

    Php ton tr tp hp khng c tnh cht giao hon.Ngoi cc php ton trn, cn c mt php ton gi l tch cc. Tch

    cc cn gi l tch hn hp (cross product) hoc l ni hn hp (cross

    join), c k hiu l . cng l mt php ton hai ngi nhng nhngquan h m n p dng trn khng phi l tng thch ng nht. Phpton ny c s dng ni cc b ca hai quan h vo mt kiu kt hp.

    Kt qu ca R(A1, A2,.., An) S(B1, B2, ,Bm) l mt quan h Q vi n+m

    thuc tnhQ(A1, A2, , An, B1, B2, ,Bm). Quan h kt qu Q c cc b c

    to thnh do s kt hp mt b ca R v mt b ca S. V d, xt hai quan hR v S nh sau:

    RA1 A2 A3 S B1 B2 B3

    aa bb cc dd da db

    ab ba ac cd cb ac

    Khi kt qu ca Tch cc s l:

    R S A1 A2 A3 B1 B2 B3

    aa bb cc dd da db

    aa bb cc cd cb ac

    ab ba ac dd da db

    ab ba ac cd cb ac

    Hnh 3.8 Tch cc ca hai quan h R v S.

  • 8/4/2019 5_thietkecsdl

    51/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 50

    Nh vy, nu R c nR b v S c nS b th R S c nR * nSb. Phpton ny nu p dng mt mnh th khng c ngha my. N ch c li khitip theo bng mt php chn cc gi tr tng thch ca cc thuc tnh xutpht t cc quan h thnh phn. Tch cc kt hp vi mt php chn cho

    ta mt php ni.e.Php ni (JOIN)Php ni c k hiu l c dng kt hp cc b c lin h vi

    nhau t hai quan h thnh mt b. Php ton ny rt quan trng i vi c sd liu quan h c nhiu bng bi v n cho php ta x l cc mi lin ktgia cc quan h. Dng tng qut ca php ni trn hai quan h R(A 1, A2, ,An) v S (B1, B2, , Bm) l

    R S< iu kin ni>

    Kt qu ca php ni l mt quan h Q(A1, A2, , An, B1, B2, Bm)c n+m thuc tnh theo th t . Mi b ca Q l mt s kt ni gia mt bca R v mt b ca S khi chng tho mn iu kin ni. S khc nhau giatch cc v php ni l ch trong php ni, ch c cc b tho mn iukin ni mi xut hin trong kt qu, trong khi trong tch cc mi t

    hp ca cc b u c trong kt qu. iu kin ni c ch ra trn cc thuctnh ca hai quan h R v S v c tnh ton cho mi t hp cc b. Mi thp b m iu kin ni l ng c cha trong quan h kt qu Q nh lmt b n. Mt iu kin ni tng qut c dng

    AND AND ..AND

    trong mi iu kin c dng Ai Bj, Ai l mt thuc tnh ca R, Bjl mt thuc tnh ca S, Ai v Bj c cng min v l mt trong cc du phpton so snh { , }. Mt php ton ni vi iu kin tng qutnh vy gi l mt php ni t-ta. Cc b c cc thuc tnh ni l null khngxut hin trong kt qu. Theo ngha , php ton khng nht thit phi x lmi thng tin trong cc quan h tham gia. V d v php ni:

    Gi s ta c hai quan h R v S nh sau:

    R A1 A2 A3 S B1 B2 B3

    Aa Ca Ba Ba Aaa Bbb

    Ab Cb Bb Bb Ccc Ddd

  • 8/4/2019 5_thietkecsdl

    52/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 51

    Ac Ca Ba

    Ad Cc Null

    Ae Cd Bb

    kt qu php ni s l:

    R S A1 A2 A3 B1 B2 B3

    Aa Ca Ba Ba Aaa Bbb

    Ab Cb Bb Bb Ccc Ddd

    Ac Ca Ba Ba Aaa Bbb

    Ac Cd Bb Bb Ccc Ddd

    Hnh 3.8 Php ni hai quan h

    Phn ln cc php ni ch cho php cc iu kin ni vi cc so snhbng. Nhng php ni ch s dng php so snh bng c gi l ni bng(equi join). V d trong hnh 3.8 l mt php ni bng. Ch rng trong ktqu ca php ni bng chng ta thy lun lun c mt hoc nhiu cp thuctnh c cc gi tr nh nhau trong mi b. Vic c cc cp thuc tnh c gi trnh nhau l tha, v vy ngi ta ngh mt php ni mi gi l ni tnhin, k hiu l *.Php ni t nhin nhm loi b thuc tnh th hai (thuctnh tha) trong iu kin ni bng. nh ngha chun ca ni t nhin i hihai thuc tnh ni (hoc mi cp thuc tnh ni) phi c tn nh nhau trong chai quan h. Nu cc thuc tnh khng cng tn th trc khi ni phi pdng php ton t li tn. V d, ta cn ni t nhin hai quan h NV(MsDV, TnDV) v Dn(MsDA,TnDA, NVkimsot,..), trong thuc tnh NVkimsot ng vai tr ca n v kim sot d n, ngha ln c cng min gi tr vi thuc tnh MsDV ca quan h NV. c

    th thc hin c php ni t nhin vi iu kin so snh bng, ta phi itn thuc tnh NVkimsot thnh MsDV, ngha l ta phi vit

    NV * (M sDA, TnDA, M sDV,..)(Dn)

    Nu cc thuc tnh m trn ni t nhin c ch ra c tn nh nhauth vic t li tn l khng cn thit.

    Ch rng nu khng c mt t hp cc b no tho mn iu kin nith kt qu ca mt php ni l mt quan h rng khng cha b no. Ni

    chung, nu R c nR b v S c nS b th kt qu ca php ni R vi S s cs cc b ln hn 0 v nh hn nR*nS. C ca mt kt qu ni chia cho ccc i nR*nS to nn mt t k gi l chn la ni, l mt tnh cht ca

  • 8/4/2019 5_thietkecsdl

    53/127

    BAN CH O CNTT CA C QUAN NG Thit k, xy dng v qun tr CSDL

    Trang 52

    mi iu kin ni. Nu khng c iu kin ni, mi t hp cc b s cchn v php ni tr thnh mt tch cc.

    Php ni c s dng kt hp cc d liu t nhiu quan h sao chocc thng tin c lin h vi nhau c th c biu din trong mt bng. oi

    khi php ni c p dng ni mt bng vi chnh n. Chng ta c th pdng php ni t nhin v ni bng ni nhiu bng vi nhau. Nu ta ni nbng vi nhau th phi ch ra n-1 iu kin ni.

    f. Tp hp y cc php ton quan hNgi ta ch rng tp hp cc php ton i s quan h {, , , -,

    }l mt tp y ; ngha l mi php ton i s quan h khc c th cbiu din thng qua cc php ton ca tp hp ny. V d, php giao c th

    c biu din bng cch s dng cc php hp v tr tp hp nh sau: R S (R S) ((R-S) (S R))

    Nh vy, ni mt cch chnh xc l khng cn phi c php giao. Mikhi cn thc hin mt php giao, ta ch cn a ra biu thc phc tp ny l.

    Mt v d khc, mt php ni c th c ch ra nh mt tch cc vsau l mt php chn:

    R S = < iu kin chn> (R S)< iu kin ni>

    Mt cch tng t, ta c th t