+ All Categories
Home > Documents > co so dlieu

co so dlieu

Date post: 07-Apr-2018
Category:
Upload: 0916161230
View: 215 times
Download: 0 times
Share this document with a friend

of 108

Transcript
  • 8/6/2019 co so dlieu

    1/108

    TRNGI HC LT

    KHOA CNG NGH THNG TIN

    Th.S Cao Th Nhn

    BI GING TM TT

    CSDLIU

    Dnh cho sinh vin ngnh Cng ngh Thng tin

    (Lu hnh ni b)

    Lt 2008

  • 8/6/2019 co so dlieu

    2/108

    MC LCLi mu .......................................................................................................1

    Chng 1: Gii thiu chung .........................................................................2

    1. Gii thiu .................................................................................................21.1. Gii thiu h thng cc tp tin cin ..............................................21.2. nh ngha CSDL...............................................................................41.3. Cc i tng s dng CSDL............................................................51.4. H qun tr CSDL...............................................................................61.5. Cc mc biu din mt CSDL. ..........................................................61.6. S tng qut mt h qun tr CSDL..............................................81.7. Tnh c lp gia d liu v chng trnh.........................................9

    2. Cc cch tip cn ca mt CSDL .............................................................92.1. M hnh d liu mng ........................................................................102.2. M hnh d liu phn cp...................................................................112.3. M hnh d liu quan h thc th ......................................................122.4. M hnh d liu quan h. ...................................................................122.5. M hnh d liu hng i tng ......................................................13

    3. Bi tp .......................................................................................................13Chng 2: M hnh thc th kt hp ..........................................................15

    1. M hnh thc th kt hp..........................................................................151.1. Thc th - tp thc th .......................................................................151.2. Thuc tnh ..........................................................................................151.3. Mi kt hp ........................................................................................161.4. Bn s.................................................................................................171.5. Kho ...................................................................................................181.6. S chiu ca mi kt hp ...................................................................191.7. Tng qut ha v chuyn bit ha .....................................................191.8. Tp thc th yu.................................................................................20

    2. V d..........................................................................................................213. Bi tp .......................................................................................................23

  • 8/6/2019 co so dlieu

    3/108

    Chng 3: M hnh dliu quan h............................................................24

    1. Cc khi nim cbn................................................................................241.1. Thuc tnh ..........................................................................................241.2. Quan h n ngi ...................................................................................251.3. B .......................................................................................................251.4. Lc quan h.................................................................................261.5. Kha ca mt quan h........................................................................271.6. Rng buc ton vn............................................................................29

    2. Cc thao tc cbn trn quan h ..............................................................292.1. Php thm...........................................................................................292.2. Php xa.............................................................................................302.3. Php sa .............................................................................................30

    3. Cc bc chuyn i t m hnh thc th kt hpsang m hnh quan h..................................................................................31

    3.1. Bin cc tp thc th chuyn bit ha v dng bnh thng .............313.2. Chuyn tt c cc tp thc th thnh quan h ....................................323.3. Mi kt hp ........................................................................................333.4.Nhp tt c cc quan h c cng kha ...............................................33

    4. Bi tp .......................................................................................................33Chng 4: Ngn ngi s quan h .........................................................34

    1. Cc php ton cs..................................................................................341.1. Cc php ton tp hp........................................................................341.2. Cc php ton quan h .......................................................................37

    2. Cc php ton khc...................................................................................402.1. Php kt hai quan h ..........................................................................402.2. Php kt ni ni..................................................................................412.3. Php kt ni tri .................................................................................422.4. Php kt ni phi................................................................................432.5. Hm kt hp v gom nhm................................................................432.6. Cc php ton cp nht trn quan h..................................................44

    3. Bi tp .......................................................................................................46

  • 8/6/2019 co so dlieu

    4/108

    Chng 5: Ngn ngtn t ........................................................................49

    1. Ngn ng tn t c bin l b...................................................................491.1. Mt s khi nim................................................................................491.2. nh ngha hnh thc ca php tnh b .............................................491.3. Lng t tn ti v vi mi ......................................................51

    2. Ngn ng tn t c bin l min gi tr ....................................................523. Bi tp .......................................................................................................53Chng 6: Ngn ngtruy vn SQL ..........................................................55

    1. Cc lnh hi ..............................................................................................551.1. C php lnh truy vn ........................................................................551.2. Php chiu ..........................................................................................561.3. Php chn...........................................................................................561.4. Php kt..............................................................................................571.5. Mt s lu .......................................................................................57

    2. Truy vn lng............................................................................................593. Nhm lnh thc hin tnh ton .................................................................624. Cc lnh khai bo cu trc CSDL.............................................................635. Nhm lnh cp nht d liu......................................................................66

    5.1. Thm ..................................................................................................665.2. Xa .....................................................................................................665.3. Sa......................................................................................................67

    6. Bi tp .......................................................................................................67Chng 7: Ph thuc hm, kha, rng buc ton vn ...........................68

    1. Ph thuc hm ..........................................................................................681.1. Khi nim ..........................................................................................681.2. H lut dn Amstrong ........................................................................691.3. Thut ton tm bao ng ca tp thuc tnh.......................................711.4. Bi ton thnh vin.............................................................................721.5. Ph ti thiu ca mt tp ph thuc hm...........................................72

    2. Kha..........................................................................................................76

  • 8/6/2019 co so dlieu

    5/108

    2.1. nh ngha..........................................................................................762.2. Thut ton tm kha ...........................................................................76

    3. Rng buc ton vn...................................................................................793.1. nh ngha cc yu t ca rng buc ton vn ...............................793.2. Cc loi rng buc ton vn...............................................................81

    4. Bi tp .......................................................................................................87Chng 8: Dng chun v chun ha CSDL.............................................90

    1. Dng chun ca lc quan h ..............................................................901.1. Dng chun 1........................................................................................901.2. Dng chun 2........................................................................................911.3. Dng chun 3........................................................................................941.4. Dng chun BC ....................................................................................951.5. Kim tra dng chun.............................................................................952. Php phn r..............................................................................................962.1. Phn r bo ton thng tin....................................................................962.2. Phn r bo ton ph thuc hm ..........................................................973. Thit k CSDL bng cch phn r............................................................983.1. Phn r thnh dng chun BC (hoc dng chun 3)

    bo ton thng tin.................................................................................983.2. Phn r thnh dng chun 3 va bo ton thng tin

    va bo ton ph thuc hm.................................................................102

    4. Bi tp .......................................................................................................102Ti liu tham kho............................................................................................103

  • 8/6/2019 co so dlieu

    6/108

    Trang 1/103

    LI MU

    p ng nhu cu hc tp ca sinh vin chuyn ngnh Cng ngh Thng tin, bi gingCsd liu c bin son theo chng trnh h thng tn ch ca Trng i hc Lt, cung cp cc kin thc cbn v l thuyt csd liu.

    Mc d rt c gng trong qu trnh bin son bi ging nhng chc chn bi ging scn nhiu thiu st v hn ch. Rt mong nhn c sng gp kin qu bu ca sinhvin v cc bn c bi ging ngy mt hon thin hn.

  • 8/6/2019 co so dlieu

    7/108

    Trang 2/103

    Chng 1

    Gii Thiu Chung

    Chng 1 gii thiu cho hc vin cc khi nim cbn v csd liu (CSDL) v hqun tr CSDL.

    1. Gii thiu1.1. Gii thiu h thng cc tp tin cinXt mt h thng cc tp tin cin: c t chc mt cch ring r, phc v cho mtmc ch ca mt n v hay mt n v con trc thuc c th. ng dng l mt h qunl nhn s ca mt cng ty.

    Ti mt cng ty c trang b my vi tnh cho tt c cc phng ban. Trong :

    Phng T chc lu gi nhng thng tin v l lch ca nhn vin nh h tn, bdanh, gii tnh, ngy sinh, ngy vo on, ngy vo ng, ngy tuyn dng, h slng, h s ph cp, hon cnh gia nh Phn mm c s dng qun l lMicrosoft Access.

    Phng Ti v lu gi nhng thng tin v h tn, h s lng, h s ph cp, n v tnh ton lng v ph cp da trn danh sch do phng t chc gi sang.Cc bng tnh ny c lm bi Microsoft Excel.

    B phn Vn th s dng Microsoft word tho cc vn bn bo co v tnh hnhca n v trong c nu tng s cng nhn vin v trnh chuyn mn co to.

    Trong khi ti tng cng ty cc phng ban cng c trang b my vi tnh vcng qun l nhng thng tin ca cc cn b ch cht ca cng ty con l gim c,

    ph gim c, trng ph phng.

    Vic pht trin ca h thng qun l nh sau:

    Nhng chng trnh ng dng mi phi c vit khi mt nhu cu ny sinh.

    Cc tp tin thng trc mi c to ra theo yu cu.

    Trong mt thi gian di cc tp tin c thcc dng thc khc nhau.

    Nhng chng trnh ng dng c th vit bi cc ngn ng khc nhau.

  • 8/6/2019 co so dlieu

    8/108

    Trang 3/103

    u im:

    Vic xy dng nhng h thng tp tin ring l ti tng n v qun l t tn thigian bi lng thng tin cn qun l v khai thc l nh, khng i hi u tnhiu nn trin khai nhanh.

    Thng tin c khai thc ch phc v cho mc ch h p nn kh nng p ngnhanh chng, kp thi.

    Hn ch:

    Do thng tin c t chc mi phng ban mi khc (thng tin v cng c trin khai)nn r rng s phi hp v mt t chc v khai thc cc phng ban rt kh khn. Thngtin phng ban ny khng c s dng cho phng ban khc, ti cng ty con vi tngcng ty. Hn na cng mt thng tin c cp nht vo my ti nhiu ni khc nhau. Do c nhng hn ch sau:

    Dliu dtha v khng nht qun

    Nhng thng tin ging nhau c th b trng lp mt s ni.

    Tt c nhng bn sao d liu c th khng c cp nht ng.

    Kh khn trong vic truy xut dliu

    C th phi vit mt trnh ng dng mi tha yu cu mi t ra.

    C th to ra d liu ny mt cch th cng nhng mt thi gian.

    Kh khn khi vit chng trnh ng dng i hi thng tin lin quan nnhiu n v

    D liu nhng tp tin khc nhau.

    D liu cc dng thc khc nhau.

    Ngoi ra cn mt s vn cha c gii quyt nh:

    Nhiu ngi sdng

    Mun thi gian tr li nhanh hn cho cc tc vng thi.

    Cn s bo vi vi nhng cp nht ng thi.

    Cc vn bo mt

    Mi ngi s dng h thng ch c th truy xut nhng d liu m hcphp thy.

  • 8/6/2019 co so dlieu

    9/108

    Trang 4/103

    Chng hn nh nhng ngi tnh lng v ph cp ch gii quyt cc mu tinnhn vin, v khng th thy c thng tin v l lch nhn vin; nhng th quch truy xut nhng d liu v cc khon chi

    Kh khn rng buc iu ny trong nhng chng trnh ng dng.

    Cc vn ton vn.

    D liu c thc yu cu tha mn nhng rng buc.

    Chng hn nh nhn vin ang hng ch no phng t chc th skhng c hng ch trcp cao nht ca phng cng on.

    Vi cch tip cn x l-tp tin, kh khn thc hin hoc thay i nhng rngbuc nh vy.

    Kh khn khi nng cp h thng.

    Do h thng c t chc thnh cc tp tin ring l nn thiu s chia x thngtin gia cc phng ban. Bn cnh vic kt ni cc h thng ny vi nhau haynng cp ng dng s gp rt nhiu kh khn.

    Nhng nhc im ny dn ti vic pht trin cc h thng qun tr csd liu.

    1.2. nh ngha csdliuCsd liu (database) l mt h thng cc thng tin c cu trc c lu tr trn ccthit b lu tr th c p (bng t, a t) nhm tho mn yu cu khai thc thng tin

    ng thi ca nhiu ngi s dng hay nhiu chng trnh ng dng vi nhiu mc chkhc nhau.

    u im ca CSDL:

    Gim s trng lp thng tin xung mc thp nht v do bo m c tnh nhtqun v ton vn d liu

    D liu c thc truy xut theo nhiu cch khc nhau

    Kh nng chia x thng tin cho nhiu ngi s dng v nhiu ng dng khc nhau

    t c nhng u im trn CSDL t ra nhng vn cn gii quyt, l:

    Tnh ch quyn ca dliu. Do s chia x ca CSDL nn tnh ch quyn ca dliu c th b lu mi v lm mnht tinh thn trch nhim, c th hin trn vn an ton d liu, kh nng biu din cc mi lin h ng ngha ca d liu vtnh chnh xc ca d liu. Ngha l ngi khai thc CSDL phi c ngha v cpnht cc thng tin mi nht ca CSDL.

  • 8/6/2019 co so dlieu

    10/108

    Trang 5/103

    Tnh bo mt v quyn khai thc thng tin ca ngi sdng (NSD). Do cnhiu ngi cng khai thc CSDL mt cch ng nn cn phi c mt cch bomt v phn quyn khai thc CSDL.

    Tranh chp dliu. Nhiu ngi c php truy cp vo cng mt ti nguyn dliu (data source) ca CSDL vi nhng mc ch khc nhau nh xem, thm, xa,

    sa d liu. Nh vy cn phi c cchu tin truy nhp d liu cng nh cchgii quyt tnh trnh kho cht (DeadLock) trong qu trnh khai thc cnh tranh.Cchu tin c thc thc hin da trn:

    Cp quyn u tin cho ngi khai thc CSDL, ngi no c quyn u tin caohn th c u tin cp quyn truy nhp d liu trc.

    Thi im truy nhp, ai c yu cu truy xut trc th c quyn truy nhp dliu trc.

    Hoc da trn cch lp lch truy xut hay cch kho.

    m bo d liu khi c sc. Vic qun l tp trung c th lm tng kh nngmt mt hoc sai lch thng tin khi c s c nh mt in t xut, mt phn hayton ba lu tr d liu b h Mt s hiu hnh mng c cung cp dch vsao lu a cng (cch s dng a cng d phng - RAID), tng kim tra vkhc phc li khi c s c. Tuy nhin bn cnh dch v ca hiu hnh, mtCSDL nht thit phi c mt cch khi phc d liu khi cc s c bt ngxy ram bo CSDL lun n nh.

    1.3. Cc i tng sdng CSDL Nhng ngi s dng khng chuyn v lnh vc tin hc v CSDL, do CSDL

    cn c cc cng c gip cho ngi s dng khng chuyn c th khai thc hiuqu CSDL

    Cc chuyn vin tin hc bit khai thc CSD, y l nhng ngi c th xy dngcc ng dng khc nhau phc v cho nhng yu cu khc nhau trn CSDL.

    Nhng ngi qun tr CSDL, l nhng ngi hiu bit v tin hc, cc h qun tr

    CSDL v h thng my tnh. H l ngi t chc CSDL (khai bo cu trc CSDL,ghi nhn cc yu cu bo mt cho cc d liu cn bo v), do h cn phinm r cc vn v k thut c th phc hi d liu khi c s c. H l nhngngi cp quyn hn khai thc CSDL nn h c th gii quyt cc vn tranhchp d liu.

  • 8/6/2019 co so dlieu

    11/108

    Trang 6/103

    1.4. H qun tr CSDL gii quyt tt nhng vn t ra cho mt CSDL nh trnh by trong 1.2 th cn cmt h thng cc phn mm chuyn dng. H thng ny c gi l h qun tr CSDL(Database Management System - DBMS), l cng c h tr tch cc cho cc nh phntch, thit k v khai thc CSDL. Hin nay c nhiu h qun tr CSDL trn th trng nh:

    Visual Foxpro, SQL server, DB2, Microsoft Access, Oracle

    Mt h qun tr CSDL phi c:

    Ngn ng giao tip gia NSD v CSDL:

    Ngn ng m t d liu (Data Definition Language - DDL) cho php khai bo cu trc ca CSDL, khai bo cc mi lin h ca d liu (DataRelationship) v cc quy tc (Rules, Constraint) qun l p t trn d liu.

    Ngn ng thao tc d liu (Data Manipulaton Language - DML) cho php NSD

    c th thm, xo, d liu trong CSDL.

    Ngn ng truy vn d liu (Structured Query Language - SQL) cho php NSDtruy vn cc thng tin cn thit.

    Ngn ng qun l d liu (Data Control Language - DCL) cho php nhngngi qun tr h thng thay i cu trc ca cc bng d liu, khai bo bo mtthng tin v cp quyn khai thc CSDL cho NSD.

    Tin d liu (Data dictionary) dng m t cc nh x lin kt, ghi nhn ccthnh phn cu trc ca CSDL, cc chng trnh ng dng, mt m, quyn sdng

    C bin php bo mt tt.

    C cch gii quyt tranh chp d liu.

    C cch sao lu v phc hi d liu khi c s c xy ra.

    C giao din tt, d s dng.

    Bo m tnh c lp gia d liu v chng trnh: khi c s thay i d liu (nhsa i cu trc lu tr cc bng d liu, thm cc ch mc,) th cc chngtrnh ng dng ang chy trn CSDL vn khng cn phi vit li hay cng khngnh hng n NSD khc.

    1.5. Cc mc biu din mt CSDL h thng c th dng c th phi tm d liu mt cch hiu qu. iu ny dn nvic cn phi thit k nhng cu trc d liu phc tp i vi vic biu din d liu trong

  • 8/6/2019 co so dlieu

    12/108

    Trang 7/103

    c sd liu. V nhiu ngi s dng cc h thng c sd liu khng phi l ngihiu bit nhiu v my tnh nn nhng ngi pht trin h thng phi che du i s phct p khi ngi s dng thng qua mt s mc tru tng, nhm lm n gin ha stng tc ca ngi s dng i vi h thng.

    C 3 mc biu din d liu, c th nh sau:

    Mc trong (mc vt l - Physical level)

    Ni n cch thc d liu c lu tr thc s. Tr li cu hi d liu g v lutr chng nh th no? Cn cc ch mc g?

    V d nh ch mc, B-cy, bm.

    Nhng ngi thao tc ti mc ny l ngi qun tr CSDL v nhng NSD chuynmn.

    Mc quan nim hay mc logic (conception level, logical level)

    Tr li cu hi cn phi lu tr bao nhiu loi d liu? l nhng d liu g?Mi quan h gia chng nh th no?

    Nh vy CSDL mc vt l l s ci t c th ca CSDL mc quan nim.

    Mc ngoi hay mc nhn (view level)

    L mc ca NSD v cc chng trnh ng dng.

    Lm vic ti mc ny l cc nh chuyn mn, k s tin hc, NSD khng chuyn.

    Mi NSD hay mi chng trnh ng dng c thc nhn CSDL theo mt gc khc nhau. Tu thuc vo vai tr ca NSD m c th thy tt c hoc mt phnca CSDL. NSD hay chng trnh ng dng c th khng c bit v cu trc tchc lu tr thng tin trong CSDL. H ch c th lm vic trn mt phn CSDLtheo cch nhn do ngi qun tr hay chng trnh ng dng quy nh, gi lkhung nhn.

  • 8/6/2019 co so dlieu

    13/108

    Trang 8/103

    Hnh 1.1. Ba mc tru tng dliu

    1.6. S tng qut mt h qun tr CSDL

    Hnh 1.2. S tng qut ca mt h qun tr CSDL

    Hnh 1.2 minh ha s tng qut ca mt h qun tr CSDL. C 3 mc: mc chngtrnh khai bo cu trc v chng trnh ng dng; mc m t CSDL, thao tc CSDL vcc tin d liu; mc CSDL.

    MCNGOI

    MC QUANNIM

    KHUNGNHN NGOI

    KHUNGNHN NGOI

    LC QUAN NIM

    LC TRONG

    C S DLIU LU TR

    NGI SDNG

    MCTRONG

    Chng trnhkhai bo (mt) cu trc

    Chng trnhng dng A

    Ngnng m

    t dliu

    Ngnng thao

    tc dliu

    Cc tin d

    liuCSDL

  • 8/6/2019 co so dlieu

    14/108

    Trang 9/103

    Mi h qun tr CSDL c mt ngn ng khai bo hay m t (Data Definition Language -DDL) cu trc CSDL ring. Nhng ngi thit k v qun tr CSDL thc hin cc cngvic khai bo cu trc CSDL.

    Cc chng trnh khai bo cu trc CSDL c vit bng ngn ng m h qun tr CSDLcho php. Hai cng vic khai bo cu trc logic (l vic khai bo cc loi d liu v cc

    mi lin h gia cc loi d liu , cng cc rng buc ton vn d liu) v khai bo vtl (d liu c lu tr theo dng no, c bao nhiu ch mc)

    Cc chng trnh ng dng c vit bng ngn ng thao tc CSDL (Data ManipulationLangage - DML) vi mc ch:

    Truy xut d liu

    Cp nht d liu (thm, xa, sa)

    Khai thc d liu

    Ngn ng thao tc CSDL cn c s dng cho nhng ngi s dng thao tctrc tip vi CSDL.

    Tin d liu (Data Dictionary - DD) l mt CSDL ca h qun tr CSDL s dng lu tr cu trc CSDL, cc thng tin bo mt, bo m an ton d liu v cc cu trcngoi. Tin d liu cn c gi l siu CSDL (Meta-Database)

    1.7. Tnh c lp gia dliu v chng trnh c lp dliu vt l

    Kh nng c p nht lc vt l khng lm cho cc chng trnh ng dngphi b vit li.

    Vic cp nht mc ny thng cn thit ci tin hiu sut.

    c lp dliu logic

    Kh nng cp nht lc logic m khng lm cho cc chng trnh ng dngphi b vit li.

    Nhng cp nht thng c thc hin khi cu trc logic ca csd liu thayi.

    2. Cc cch tip cn ca mt CSDLNn tng ca cu trc csd liu l m hnh d liu. M hnh d liu c nh nghal mt su tp cc cng c khi nim dng cho vic m t d liu, cc mi quan h dliu, cc ng ngha d liu v cc rng buc d liu.

  • 8/6/2019 co so dlieu

    15/108

    Trang 10/103

    2.1. M hnh dliu mngM hnh d liu mng (Network Data Model) hay gi tt l m hnh mng (NetworkModel) l m hnh c biu din bi mt th c hng. M hnh ny c xy dng

    bi Honeywell vo nm 1964-1965. Trong m hnh ny, c 3 khi nim c s dng:mu tin hay bn ghi (record), loi mu tin (record type) v loi lin h (set type).

    Loi mu tin: c trng cho mt loi i tng ring bit. Chng hn nh trong qun lnhn s ti mt n v th i tng cn phn nh ca th gii thc c th l Phng, nhnvin, cng vic, l lch do c cc loi mu tin c trng cho tng i tng ny.Trong m hnh mng, mi loi mu tin c th hin bng mt hnh ch nht, mt thhin (instance) ca mt loi mu tin c gi l bn ghi (record) . v d trn loi mutin Phng c cc mu tin l cc phng ban trong cng ty, loi mu tin Nhn vin c ccmu tin l cc nhn vin ang lm vic ti cc phng ban ca cng ty

    Loi lin h: l s lin kt gia mt loi mu tin ch vi mt mu tin thnh vin. Trongm hnh mng, mt loi lin hc th hin bng hnh bu dc v s lin kt gia hailoi mu tin c th hin bng cc cung c hng i t loi mu tin chn loi lin hv t loi lin hn loi mu tin thnh vin.

    Trong loi lin kt ngi ta cn ch ra s lng cc mu tin tham gia vo trong mi kthp. C mt s loi sau:

    1 1 (One to One): Mi mu tin ca loi mu tin ch kt hp vi ng 1 mu tinca loi mu tin thnh vin. V d, mi nhn vin c duy nht mt l lch c nhn.

    1 n (One to Many): Mi mu tin ca loi mu tin ch kt hp vi 1 hay nhiu

    mu tin ca loi mu tin thnh vin. V d, mi phng ban c th c mt hocnhiu nhn vin.

    n 1 (Many to One): Nhiu mu tin ca loi mu tin ch kt hp vi ng 1 mutin ca loi mu tin thnh vin. V d, nhiu nhn vin cng lm mt cng vic.

    quy (Recursive): Mt loi mu tin ch cng c thng thi l mu tin thnhvin vi chnh n. V d, trng phng cng l mt nhn vin thuc phng trongcng ty.

    Hnh 1.4 minh ho mt m hnh d liu mng.

  • 8/6/2019 co so dlieu

    16/108

    Trang 11/103

    Hnh 1.4. M hnh dliu mng

    u im:n gin, d s dng.

    Hn ch: khng thch hp trong vic biu din CSDL ln do hn ch v kh nng din

    t ng ngha ca d liu, c bit l cc d liu v mi lin h phc tp ca d liutrong thc th l rt hn ch.

    2.2. M hnh dliu phn cpM hnh d liu phn c p (Hieracical Data Model), cn gi l m hnh phn cp(Hieracical Model), c thc hin thng qua s kt hp gia IBM v North AmericanRockwell vo khong nm 1965. M hnh l mt cy, trong mi nt ca cy biu dinmt thc th, gia nt con vi nt cha c lin h vi nhau theo mt mi quan h xcnh.

    Loi mu tin: ging trong m hnh d liu mng

    Loi mi lin h: kiu lin h l phn cp:

    Mu tin thnh vin chng vai tr thnh vin ca mt mi lin h duy nht, tc l nthuc mt ch duy nht. Nh vy, mi lin h t mu tin ch ti cc mu tin thnh vinl 1 n v t mu tin thnh vin vi mu tin ch l 1 1

    1 1

    PHNG L LCH

    NHNVIN

    CNGVIC

    Gm C

    Cng lm

    THNNHN

    C

    1 n

    n 1 1 n

  • 8/6/2019 co so dlieu

    17/108

    Trang 12/103

    Gia hai loi mu tin ch tn ti mt mi quan h duy nht.

    Hnh 1.5 minh ho m hnh d liu phn cp mt CSDL viu tra dn s.

    Hnh 1.5. M hnh dliu phn cp

    2.3. M hnh dliu quan hM hnh d liu quan h (Relational Data Model) cn c gi l m hnh quan h(Relational Model) do E.F.Codd xut nm 1970. Nn tng c bn l khi nim lthuyt tp hp trn cc quan h, tc l tp ca cc b gi tr (value tuples). Trong mhnh d liu ny nhng khi nim c s dng l thuc tnh (attribute), quan h(relation), lc quan h (relation schema), b (tuple), kha (key).

    M hnh quan h l m hnh c nghin cu nhiu nht, v c csl thuyt vng chcnht. M hnh quan h cng vi m hnh d liu thc th kt hp ang c s dngrng ri nht hin nay trong vic phn tch v thit k CSDL. Chng ta s nghin cu chitit v m hnh ny trong chng sau.

    2.4. M hnh dliu thc th - kt hpM hnh d liu thc th - kt hp (Entity Relationship Model) do Peter Pin_Shan Chen xut nm 1976. M hnh quan h-thc thc da trn s nhn thc th gii gm c

    TON QUC

    TP. H NI TP. HCM TP. CN TH TNH

    QU N 1 QU N 2 QU N 3 H. CN GI

    P. A KAO P. TN NH P. B N NGH P.n

    A BN 1 A BN 2 A BN 3 A BN n

    H 1 H 2 H 3 H n

    Nhn khu 1 Nhn khu 2 Nhn khu 3 Nhn khu n

    Loi mu tin Tnh, tph

    Loi mu tin qun huyn

    Loi mu tin phng x

    Loi mu tin a bn

    Loi mu tin h

    Loi mu nhn khu

  • 8/6/2019 co so dlieu

    18/108

    Trang 13/103

    mt su tp cc i tng cn bn, c gi l cc tp thc th, v cc mi quan hgia cc i tng ny.Trong m hnh ny cc khi nim c s dng l tp thc th(entity set), thc th (entity), thuc tnh ca loi thc th (entity attribute), kha ca loithc th (entity key), loi mi kt h p (entity relationship), s ngi ca mi kt hp(relationship degree), thuc tnh ca mi kt hp (relationship attribute), bn s ca mikt hp (relationship cardinal).

    Chi tit ca m hnh ny sc nghin cu trong chng sau.

    2.5. M hnh dliu hng i tngM hnh d liu hng i tng (Object Oriented Data Model) ra i vo cui nhngnm 80 v u nhng nm 90. y l loi m hnh tin tin nht hin nay da trn cchtip cn hng i tng. M hnh ny s dng cc khi nim nh lp (class), s k tha(inheritance), k tha bi (multi - inheritance). c trng cbn ca cch tip cn ny ltnh ng gi (encapsulation), tnh a hnh (polymorphism) v tnh ti s dng(reusability).

    3. Bi tpBi 1:

    Da vo nhng khi nim hc, hy biu din CSDL c cc loi mu tin Phng, Nhnvin, Cng vic, l lch trnh by trong m hnh mng theo cch tip cn phncp.Bit:

    Loi lin h l phn cp.

    Phng c nhiu nhn vin, mi nhn vin ch thuc mt phng duy nht

    Cng vic c nhiu nhn vin cng lm; mi nhn vin ch lm mt cng vic duynht

    Mi nhn vin c mt l lch, mi l lch ch thuc duy nht mt nhn vin.

    Bi 2:

    Da vo nhng khi nim hc, hy biu din CSDL v tng iu tra dn s ton quc

    c cc loi mu tin tnh thnh ph, qun huyn, phng x, a bn, hiu tra v nhnkhu trnh by trong m hnh phn cp theo cch tip cn mng. Bit:

    Nhn khu thuc mt hiu tra

    Hiu tra thuc mt a bn

    a bn iu tra thuc mt phng x

  • 8/6/2019 co so dlieu

    19/108

    Trang 14/103

    Phng x thuc mt qun huyn

    Qun huyn thuc mt tnh, thnh ph

  • 8/6/2019 co so dlieu

    20/108

    Trang 15/103

    Chng 2

    M Hnh Thc ThKt Hp

    M hnh d liu thc th kt h p (E-R - entity-relationship data model) do PeterPin_Shan Chen xut nm 1976, nhn th gii thc nh l mt tp cc i tng cn

    bn c gi l cc thc th, v cc mi quan h gia cc i tng ny. M hnh c pht trin lm thun tin cho vic thit k csd liu bng cch c t mt tchc. Mt lc nh vy biu din mt cu trc logic tng qut ca csd liu.

    1. M hnh thc th kt hpNhng khi nim cn bn m m hnh thc th kt h p dng: thc th, t p thc th,

    kha, mi quan h, v thuc tnh.1.1. Thc th - Tp thc thMt thc th (an entity) l mt s vt hoc i tng m n tn ti v c th phn

    bit c vi cc i tng khc. V d nh mt nhn vin trong mt t chc l mt thcth.

    Mt tp thc th (an entity set) l mt tp hp cc thc th cng loi m chng chia scng nhng tnh cht hoc thuc tnh. V d nh tp hp tt c nhng ngi m h lnhn vin ca mt t chc l mt tp thc thkhch hng.

    Mi t p thc th c t mt tn gi, thng thng l danh t. V d nhKHACHHANG, HOADON,

    K hiu: hnh ch nht vi tn gi

    NHANVIEN

    Hnh 2.1. Tp thc th

    1.2. Thuc tnhMi mt tp thc th c nhiu c trng ring c gi l cc thuc tnh. Mi mt thuctnh c t mt tn, chng hn nh MaKH (m khch hng), HoTenKH (h tn khchhng)

    K hiu: hnh oval vi tn gi, c ng ni vi thc th

  • 8/6/2019 co so dlieu

    21/108

    Trang 16/103

    MaPhong

    PHONGBAN

    TenPhong

    Hnh 2.2.Thuc tnh ca tp thc th

    Khi phn tch mt thuc tnh, thng thng cn xt n kiu d liu v min gi tr tngng ca thuc tnh . Chng hn cc thuc tnh M nhn vin (MANV), H tn(HoTen), a ch (DiaChi) l nhng chui k t phn nh nhng thng tin trn v nhnvin; n gi l s nguyn dng,

    C mt s loi thuc tnh sau:

    Thuc tnh n, kt hp: Thuc tnh n l thuc tnh khng th chia ra thnhnhng phn con nh hn. Cn thuc tnh kt hp th c th chia ra thnh nhng

    phn con (tc l thnh nhng thuc tnh khc). V dtn nhn vin c th cu trcnh l thuc tnh kt hp bao gm tn, ch lt, v h. Thuc tnh kt hp c thxut hin theo s phn cp. V d thuc tnh a chnhn vin c cc thuc tnhthnh phn lsnh, ng, thnh ph, tnh.

    Thuc tnh rng. Mt gi rng (null value) c dng n khi mt thc th khngc gi tri vi mt thuc tnh. V d mt nhn vin no khng c ngi tronggia nh th gi tr ca thuc tnh tn ngi trong gia nhi vi nhn vin

    phi l rng. Gi tr rng cng c thc dng ch ra rng gi tr ca thuctnh l cha bit. Mt gi tr cha bit c th hoc l gi tr tn ti nhng chng ta

    khng c thng tin , hoc l khng bit c (khng bit gi tr thc s c tnti hay khng).

    Thuc tnh suy ra. Gi tr ca loi thuc tnh ny c thc suy ra t cc thuctnh hoc thc th lin h khc. V d tp thc thkhch hngc thuc tnh slng ti khon vay cho bit bao nhiu ti khon vay m khch hng c t ngnhng. Chng ta c th suy ra gi tr ca thuc tnh ny bng cch m s lng ccthc th ti khon vayc kt hp vi khch hng. Mt v d khc v tp thcthnhn vin c cc thuc tnh ngy btu, cho bit ngy bt u lm vic tingn hng ca nhn vin, v thuc tnh thi gian lm vic, cho bit tng s gi

    lm vic ca nhn vin. Gi tr ca thi gian lm vic c thc suy ra t gi trca ngy btu v ngy hin thi.

    1.3. Mi kt hpQuan h gia cc tp thc thc gi l mi kt hp. Mi mi kt hp cng c ttn th hin mi kt hp, chng hn nh mi ha n ch bn cho mt khch hng, mtkhch hng c th mua hng nhiu ln (nhiu ha n)

  • 8/6/2019 co so dlieu

    22/108

    Trang 17/103

    K hiu l hnh thoi ni vi nhng thc th tham gia vo mi kt hp

    Hnh 2.3. a. Mi kt hp khng c thuc tnh

    Hnh 2.3.b. Mi kt hp c thuc tnh

    1.4. Bn s1.4.1. Th hin ca mt thc th

    Trong t p thc th KHACHHANG c nhiu khch hng, v d nh {KH01, NguynTrng, V, 11 Nguyn Cng Tr, 063552540} l mt khch hng, y c gi l mtth hin ca thc th KHACHHANG.

    Mt th hin ca mt tp thc thc nhn bit bng tp hp tt c cc gi tr ca tt ccc thuc tnh ca th hin thuc tp thc th, chnh l d liu ca i tng trong thgii thc.

    1.4.2. Th hin ca mt mi kt hpXt mi kt hp bn gia HA N v MT HNG, trong mt th hin ca quan hny s tng ng vi vic mt ha n bn mt hng vi s lng v n gi l baonhiu.

    Nh vy, mt th hin ca mt mi kt hp l tp hp cc th hin ca cc tp thc th

    tham gia vo mi kt hp .

    1.4.3. Bn sBn s ca mt tp thc thi vi mt mi kt hp l cp (bn s ti thiu, bn s tia). Trong chngc nh ngha nh sau:

    Bn s ti thiu:bng 0 hoc 1, l s ln ti thiu m mt th hin bt k ca mttp thc th tham gia vo cc th hin ca mi kt hp.

  • 8/6/2019 co so dlieu

    23/108

    Trang 18/103

    Bn s ti a: bng 1 hoc n, l s ln ti a m mt th hin bt k ca mt tpthc th tham gia vo cc th hin ca mi kt hp.

    K hiu:

    Hnh 2.4. Bn s

    V d mt nhn vin thuc v mt hoc nhiu phng ban, mt phng ban c th c mthoc nhiu nhn vin trc thuc.

    1.5. Kha1.5.1. Kha ca mt tp thc th

    Kha ca mt tp thc th l mt thuc tnh hoc mt s thuc tnh ca thc th, sao chovi mi gi tr ca cc thuc tnh ny, tng ng mt v ch mt th hin ca tp thc th(xc nh mt thc th duy nht).Trong nhiu trng hp kha ca tp thc th thng l thuc tnh chnh ca tp thcth.

    Mt thc th c th c nhiu kha. Khi cn chn ra mt kha lm kha chnh.

    K hiu: L thuc tnh c gch di.

    Hnh 2.5. Kha

    1.5.2. Kha ca mt mi kt hpKha ca mt mi kt hp nhn c bng cch kt hp kha ca cc tp thc th thamgia vo mi kt hp . Tp hp tt c cc gi tr ca cc thuc tnh kha ca mt mi kthp xc nh duy nht mt th hin ca mi kt hp .

    Trong m hnh, kha ca mi kt hp ngm hiu m khng c ghi ra nu khng quantm.

  • 8/6/2019 co so dlieu

    24/108

    Trang 19/103

    1.6. S chiu (bc) ca mt mi kt hp, mi kt hp tthn ( quy)1.6.1. S chiu ca mt mi kt hp

    S chiu ca mt mi kt hp l s tp thc th tham gia vo mi kt hp .

    Hnh 2.6. Mi kt hp nhphn

    1.6.2. Mi kt hp tthn ( quy, vai tr)Mi kt hp t thn l mt mi kt hp t mt tp thc thi n chnh tp thc th.

    V d mt nhn vin c th khng chu s qun l ca ai hoc mt ngi, mt ngi cth khng qun l ai hoc nhiu ngi.

    Hnh 2.7. Mi kt hp quy

    1.7. Tng qut ha v chuyn bit haMc d khi nim bn s ca tp thc thi vi mi kt hp cho chng ta nhn bit mith hin ca tp thc th tham gia ti thiu l bao nhiu, v ti a l bao nhiu vo mikt hp. Nhng trong thc t, mt lp cc i tng trong t chc c khi tn ti tnh trngl: mt si tng (tp con) ca n tham gia vo mt mi kt hp ny, s cn li c ththam gia hoc khng vo nhng mi kt hp khc, trong khi c th tt c cc phn t cachng li cng tham gia vo mi kt hp khc na. Hoc mt tp con ny c nhng ctnh ny, cn nhng phn t khc th c thm nhng c tnh khc hoc khng. Chng

    hn cng l nhn vin trong nh my, th cng nhn trc tip tham gia sn xut, nhn vinqun l tham gia cng tc qun l. i vi nhn vin qun l ngi ta quan tm n chcv, cn i vi nhn vin cng nhn th ngi ta li quan tm n bc. phn nh tnhtrng trong phng php m hnh ha, ngi ta dng khi nim chuyn bit ha / tngqut ha.

    Chuyn bit ha ngha l phn hoch mt thc th thnh cc tp (thc th) con.

  • 8/6/2019 co so dlieu

    25/108

    Trang 20/103

    Tng qut ha l gp cc tp thc th thnh mt tp thc th bao hm tt c cc th hinca cc tp thc th con. Cc chuyn bit c tha hng tt c cc thuc tnh ca cct p thc th mc trn v chnh n c th c nhng thuc tnh khc. Cc t p thc thchuyn bit c th c nhng mi kt hp khc nhau vi nhng tp thc th khc v do cc x l s c th khc nhau ty theo tng chuyn bit thnh phn.

    K hiu:

    Hnh 2.8. Chuyn bit ha / tng qut ha

    1.8. Tp thc th yuMt tp thc th c th khng c cc thuc tnh cu thnh mt kha chnh, cgi l tp thc thyu. Mt tp thc th m n c kha chnh c gi l tp thc thmnh. Tp thc th yu phi tham gia vo mi quan h m trong c mt tp thc thmnh (tp thc th m tp thc th yu ph thuc)

    Coi tp thc th thn nhn (THANNHAN) c cc thuc tnh l tn thn nhn (TenTN),ngy sinh (NTNS), phi (Phai), quan h vi nhn vin (QuanHe). Nh vy tp thc thny khng c kha chnh nn n l tp thc th yu.

    Mc d tp thc th yu khng c kha chnh nhng chng ta cn mt phng tin phn bit trong s nhng thc th thuc tp thc th ny m chng ph thuc vo mtthc th mnh no .

    Phn phn bitca mt t p thc th yu l tp hp cc thuc tnh cho php sphn bit ni trn c thc hin. V d thuc tnh tn thn nhn (TenTN) l phnphn bit ca tp thc th yu thn nhn (THANNHAN).

    Phn phn bit ca mt tp thc th yu cng cn c gi l kha b phn catp thc th yu.

  • 8/6/2019 co so dlieu

    26/108

    Trang 21/103

    Kha chnh ca tp thc th yu c hnh thnh bi kha chnh ca tp thc thmnh m tp thc th yu ph thuc vo, cng vi phn phn bit ca tp thc thyu. V d kha chnh ca THANNHANl MaNV, TenTN.

    K hiu:

    Mt tp thc th yu c ch ra bi mt hp nt i trong lc , v quan hnh danhtng ng c v bi hnh thoi nt i. Trong hnh,phn phn bitc gch di ginon.

    Hnh 2.9. Tp thc thyu

    2. V d2.1. Qun l nGi s sau y l mt s yu cu d liu i vi mt cng ty chuyn thc hin cc n:

    Cng ty gm nhiu nhn vin, mi nhn vin c gn m nhn vin tin vic qun l,c h tn, ngy sinh, mc lng c hng. Cng ty gm nhiu phng ban, mi phng

    ban c chc nng ring ca mnh, c m phng, tn phng, c mt trng phng. Minhn vin ch thuc vo mt phng ban v mt phng c th c nhiu nhn vin. Mi

    nhn vin trong phng cn c th chu s qun l trc tip t mt nhn vin khc.

    Do cng ty thc hin n, nn mi phng c th c nhiu vn phng giao dch hay lmvic khc nhau ti nhng a im khc nhau.

    Mi mt n khi c xy dng, c m n, tn n, a im thc hin n vdo mt phng ban chu trch nhim ch tr n.

    Qu trnh thc hin n c thc chia nh thnh nhiu cng vic v phn cn chocc nhn vin thc hin, khi cng ty s ghi nhn li thi gian phn cng cng vic chonhn vin (tnh bng s gi/ tun) theo di tin thc hin.

    Nhm c th chm lo i sng ca nhn vin, cng ty c ghi nhn li nhng thng tin vnhng thn nhn ca nhn vin, bao gm nhng ngi nh cha m, chng v, v con ci.

    T m t tnh hung trn, m hnh quan h thc th nh sau:

  • 8/6/2019 co so dlieu

    27/108

    Trang 22/103

    Thuoc

    MaNV

    NHANVIEN

    HoNV

    DiaChiTenNV

    MaPhg

    PHONGBAN

    TenPhg

    (1,1)(1,n)

    Phai

    Luong

    La truong phong

    (1,1) (1,1)

    Quan Ly

    (1, n)

    (0, n)

    DiaDiem

    DIADIEM

    Co

    (1,n)

    (1,n)

    MaDA

    DEAN

    DDiemDATenDA

    Chu tri

    (1,n)

    (1,1)

    Tham gia

    ThoiGian

    THANNHAN

    (1,n)

    (1,n)

    MaTN

    HoTN

    TenTN

    Phai

    NgaySinh

    NgayNhanChuc

    Moi quan he

    Quan he

    (1,n)

    (1,n)

  • 8/6/2019 co so dlieu

    28/108

    Trang 23/103

    3. Bi tpHy xy dng m hnh thc th kt hp cho tnh hung sau:

    Gi s sau y l mt s yu cu d liu i vi v d hot ng ngn hng:Ngn hng c t chc thnh cc chi nhnh. Mi chi nhnh ta lc ti mt thnh ph vc nh danh bi mt tn duy nht. Ngn hng theo di ti sn ca mi chi nhnh.

    Cc khch hng ca ngn hng c nh danh bi s CMND ca h. Ngn hng lu trcc tn khch hng, ng ph v thnh ph m khch hng sinh sng. Khch hng cth c ti khon gi v ti khon vay. Mt khch hng c thc kt hp vi mt nhnvin ngn hng. Nhn vin ny c th l nhn vin cho vay hoc nhn vin bnh thng.

    Cc nhn vin ngn hng c nh danh bi m s nhn vin ca h. B phn qun l

    ngn hng lu tr tn v s phone ca mi nhn vin, tn ca cc ngi ph thuc nhnvin v m s nhn vin ca ngi qun l nhn vin. Ngn hng cng theo di ngy btu lm vic ca nhn vin, v thi gian thu nhn vin lm vic.

    Ngn hng a ra cc loi ti khon gi, ti khon tit kim v ti khon sc. Cc tikhon gi c thc nm gi bi nhiu hn mt khch hng, v mt khch hng c thc nhiu hn mt ti khon. Mi ti khon gi c gn bi mt s ti khon duy nht.

    Ngn hng duy tr thng tin v cn i ca mi ti khon gi v ngy gn nht m tikhon gi c truy cp bi mi khch hng nm gi ti khon . Ngoi ra, mi tikhon tit kim cn c mc li sut, v ti khon sc c s tin rt vt mc.

    Mt ti khon vay u tin xut pht t mt chi nhnh no , v n c thc nm gibi mt hoc nhiu khch hng. Mi ti khon vay c gn bi mt s ti khon duynht. Vi mi ti khon vay ngn hng theo di s tin vay v s tin tr. Mc d s tht ln tr tin vay (gi tt l s ln tr) khng xc nh duy nht ln tri vi cc tikhon vay ca ngn hng nhng n xc nh duy nht ln tri vi mt ti khon vayc th. Ngy v s tin tri vi mi ln tr tin vay cng c ngn hng theo di ghinhn.

  • 8/6/2019 co so dlieu

    29/108

    Trang 24/103

    Chng 3

    M Hnh DLiu Quan H

    M hnh d liu quan h ln u tin c ngh bi Edgar F. Codd vo nm 1970.Hin nay m hnh quan h l m hnh u thi vi cc ng dng x l d liu thngmi. Chng ny s trnh by chi tit v cc khi nim nhc ti trong chng 1 v coi nh l nhng csnn tng tip tc nghin cu cc phn tip theo.

    1. Cc khi nim cbn1.1. Thuc tnhThuc tnh (attribute) l mt tnh cht ring bit ca mt i tng cn c lu tr trongCSDL phc v cho vic khai thc d liu vi tng.

    V d:

    i tng LOPHOC c cc thuc tnh m lp, tn lp, kha, s hc vin.

    i tng SINHVIEN c cc thuc tnh m sinh vin, h tn, ngy sinh, qu qun.

    Cc thuc tnh c c trng bi mt tn thuc tnh, kiu gi tr (data type) v min gitr (domain).

    Trong cc ng dng thc t, ngi phn tch thit k thng t tn thuc tnh mt cchgi nh, tuy nhin khng nn t tn qu di (v lm cho vic vit cu lnh truy vn vtv hn) nhng cng khng nn qu ngn (v khng th hin c ng ngha mt cch rrng).

    V d: nu c hai i tng HCVIEN v GIAOVIEN u c thuc tnh tn th nn t

    tn mt cch r rng l Tn_hc_vin v Tn_gio _vin v chng mang ng ngha honton khc nhau.

    Mi mt thuc tnh u phi thuc mt kiu dliu. Kiu d liu c th l v hng - lcc kiu d liu cbn nh chui, s, logic, ngy thng hoc cc kiu c cu trc cnh ngha da trn cc kiu d liu c sn.

    Mi h qun tr CSDL c th gi tn cc kiu d liu ni trn bng cc tn gi khc nhau,ngoi ra cn b sung thm mt s kiu d liu ring ca mnh. V d, Microsoft Access

  • 8/6/2019 co so dlieu

    30/108

    Trang 25/103

    c kiu d liu text, memo l kiu chui; SQL Server c kiu d liu text, char, varchar,nvarchar l kiu chui.

    Mi mt thuc tnh c th ch chn ly nhng gi tr trong mt tp hp con ca kiu dliu. Tp hp cc gi tr m mt thuc tnh A c th nhn c gi l min gi tr cathuc tnh A, thng c k hiu l MGT(A) hoc Dom(A).

    V d:

    im ca sinh vin l mt s, nhng lun nm trong on t 0 n 10.

    Vi kiu d liu cu trc th min gi tr chnh l tch cc (hoc tp con ca tch cc) ca cc min gi tr thnh phn.

    Trong nhiu h qun tr CSDL, thng a thm vo min gi tr ca cc thuc tnh mtgi trc bit gi l gi tr null. Ty theo ng cnh m gi tr ny c th l mt gi trkhng th xc nh c hay mt gi tr cha c xc nh thi im nhp tin v c

    thc xc nh vo mt thi im khc.

    Nu thuc tnh c kiu d liu v hng th n c gi l thuc tnh n hoc nguynt, nu thuc tnh c kiu d liu c cu trc th ta ni rng n l thuc tnh kp.

    1.2. Quan h n ngiMt quan h R c n ngi c nh ngha trn tp cc thuc tnh { }nAAAU ,..., 21= v km

    theo n l mt tn t, xc nh mi quan h gia cc thuc tnh Ai , v c k hiu l( )nAAAR ,..., 21 . Tp thuc tnh ca quan h R cn c k hiu l R

    +.

    Vi Ai l mt thuc tnh c min gi tr l MGT(Ai), nh vy ( )nAAAR ,..., 21 l tp con

    ca tch cc: MGT(A1)x MGT(A2)xx MGT(An)

    Quan h cn c gi l bng (table).

    V d:

    KHOA(M_khoa, Tn_khoa) l mt quan h 2 ngi vi tn t : Mi khoa c mt mkhoa duy nhtphn bit vi cc khoa khc, c mt tn gi.

    SINHVIEN (M_sinh_vin, Tn_sinh_vin, Ngy_sinh, Qu_qun, Khoa) l mt quanh 5 ngi vi tn t : Mi sinh vin c mt m sinh vin duy nhtphn bit vi cc sinh vin khc, c h tn, ngy thng nm sinh, qu qun v hc ti mt khoa trongtrng.

    1.3. BMt b (tuple) gi tr l cc thng tin ca mt i tng thuc quan h. B gi tr cngthng c gi l mt mu tin hay bn ghi (record), dng ca bng (row).

  • 8/6/2019 co so dlieu

    31/108

    Trang 26/103

    Mt b q l mt vecto gm n thnh phn thuc tp hp con ca tch cc min gi trca cc thuc tnh v tha mn tn t cho ca quan h.

    V d: cc b gi tr da trn cc thuc tnh ca quan h SINHVIEN

    q1 = (SV001, Trn Vn Mnh, 10/10/1980, Lm ng, CTK27)

    q2 = (SV002, Nguyn Th Hoa Hu, 25/11/1985, Khnh Ha, MTK27)

    q3 = (SV003, Tng Thanh H, 11/11/1982, Tp. H Ch Minh, NVK27)

    ly thnh phn Ai l gi tr thuc tnh Ai ca mt b gi tr q, k hiu q.Ai. yc gi lphp chiu mt b ln thuc tnh Ai

    V d:

    q1.Tn_sinh_vin = Trn Vn Mnh

    q2.Khoa= MTK27

    1.4. Lc quan hLc quan h (Relation schema) l s tru tng ha ca quan h, mt s tru tngha mc cu trc ca mt bng hai chiu. Khi ni n lc quan h tc l cp ticu trc tng qut ca mt quan h; khi ni n mt quan h th hiu rng l mt bngc cu trc c th trn mt lc quan h vi cc b gi tr ca n.

    Lc csd liu l tp hp cc lc quan h con { }iR , k hiu l .

    Th hin (hay tnh trng) ca quan h R, k hiu l TR, l tp hp cc b gi tr ca quanh R vo mt thi im. Nh vy, ti nhng thi im khc nhau th quan h c nhngth hin khc nhau.

    Th hin ca cc lc quan h con TRi gi l tnh trng ca lc CSDL

    V d v th hin ca quan h KHOA v LOPHOC

    Bng 3.1. Th hin ca quan h KHOA

    M khoa Tn khoa Ngy thnh lp

    CNTT Cng ngh thng tin 10/10/1994

    TH Ton hc 20/10/1976

    VL Vt l 20/10/1976

    HH Ha hc 20/10/1976

  • 8/6/2019 co so dlieu

    32/108

    Trang 27/103

    Bng 3.2. Th hin ca quan h LOPHOC

    M l p Tn lp S hc vin M khoaCTK27 Cng ngh thng tin K27 75 CNTT

    HHK18 Ha hc K18 95 HH

    THK20 Ton hc K20 120 TH

    1.5. Kha ca mt quan hQuan h Rnh ngha trn tp cc thuc tnh { }nAAAU ,...,, 21=

    Khi UK l kha ca quan h R nu tho:

    (i) K xc nh c gi tr ca jA , vi mi nj ,...,2,1=

    (ii) Khng tn ti KK ' m 'K c th xc nh c gi tr ca jA , vi mi

    nj ,...,2,1=

    Theo nh ngha trn, K l tp con nh nht m gi tr ca n c th xc nh c duynht mt b gi tr ca quan h.

    Kha theo nh ngha trn gi l kha ngh (candidate key).

    Kc gi lsiu kha (superkey) ca quan h R nu KK ' l mt kha ca quan h.Nh vy mt quan h Q lun c t nht mt siu kha v c th c nhiu siu kha.

    V d:

    Vi quan h LOPHOC (MaLop, TenLop, SoSV, MaKhoa)

    Siu kho :

    K1 = {MaLop, TenLop}

    K2 = {MaLop, SoSV}

    K3= {MaLop, TenLop, MaKhoa}

    K4= {MaLop, SoSV, MaKhoa}

  • 8/6/2019 co so dlieu

    33/108

    Trang 28/103

    ngha thc t ca kha l dng nhn din mt b trong mt quan h, khi cn thittm thng tin mt b q no ta ch cn bit gi tr ca kha ca q l d tm vhon ton xc nh c n trong quan h.

    Trong thc t, i vi cc loi thc th tn ti khch quan nh NHANVIEN, SINHVIEN,MATHANG, ngi thit k CSDL thng gn thm mt thuc tnh gi l m s lm

    kha nh MaNV, MSSV, MaHang, i vi cc lc quan h biu din cho s trutng ha thng c kha chnh l mt t hp ca hai hay nhiu thuc tnh.

    Trong trng hp lc quan h c nhiu kha ngh, khi ci t ln mt h qun trCSDL ngi ta chn ra mt kha trong s cc kho ngh ny s dng. Khi khany c gi l kha chnh (primary key) v cc kha cn li l khatngng. Khachnh ch tht s c ngha trong qu trnh khai thc CSDL, kha chnh hon ton khngc vai tr g khc so vi cc kha chnh cn li.

    Trong cc h qun tr CSDL c ci t cch tng kim tra tnh duy nht ca khachnh. Khi ngi s dng thm mt b mi q

    2c gi tr kha chnh trng vi gi tr kha

    chnh ca mt b q1 c trong quan h th h thng s bo li v yu cu nhp li gi trkhc.

    Cc thuc tnh tham gia vo mt kha c gi l thuc tnh kho. V mt k hiu, tronglc quan h cc thuc tnh kha c gch di.

    Trong mt b ca quan h, cc thuc tnh kha khng cha gi tr rng.

    Khng c php sa i gi tr ca thuc tnh kho, nu ngi s dng mun sa gi trthuc tnh kho ca b q, cn phi hy b b q sau thm vo b q vi gi tr kha

    c sa i.V d: Mt lc CSDL nh sau:

    KHOA (MaKhoa, TenKhoa, NgayThanhLap)

    LOPHOC (MaLop, TenLop, NienKhoa, SoHocvien, MaKhoa)

    MONHOC (MaMon, TenMon, SoTC)

    HOCVIEN (MaHV, HoHV, TenHV, NgaySinh, QueQuan, MaLop)

    GIAOVIEN (MaGV, HoGV, TenGV, NgaySinh, HocVi, ChuyenNganh)

    KQUATHI (MaHV, MaMon, LanThi, NgayThi, DiemThi, GhiChu)

    DAY (MaGV, MaLop, MaMon)

    Vi hai quan h R v S, mt t p thuc tnh K ca quan h Rc gi l kha ngoi(foreign key) ca quan h R nu K l kha ca quan h S.

  • 8/6/2019 co so dlieu

    34/108

    Trang 29/103

    V d:

    Trong quan h LOPHOC, MaKhoa l kho ngoi v MaKhoa l kha ca quan hKHOA.

    Trong quan h HOCVIEN, MaLop l kho ngoi v MaLop l kha ca quan h

    LOPHOC.

    1.6. Rng buc ton vnRng buc ton vn (RBTV) l mt quy tc nh ngha trn mt hay nhiu quan h domi trng ng dng quy nh. chnh l quy tc bo m tnh nht qun ca dliu trong CSDL.

    Thng thng mi RBTV c nh ngha bng mt thut ton trong CSDL.

    V d:

    Trong quan h KQUATHI, DiemThi l mt s nguyn nm trong khong t 0 n10.

    Trong quan h KQUATHI, LanThi l 1 hoc 2.

    2. Cc thao tc cbn trn quan hCc thao tc cbn trn mt quan h l thm (insert), xa (delete), sa (update) cc bgi tr ca quan h.

    2.1. Php thmVic thm mt b mi t vo quan h ( )nAAAR ,...,, 21 lm cho th hin TR tng thm mt

    phn t mi tRTR =

    Dng thc ca php thm b mi l:

    ( )nn vAvAvARINSERT === ,...,,; 2211 ,

    vi: nAAA ,...,, 21 l cc thuc tnh v nvvv ,...,, 21 l gi tr mun thm vo (vi iu kin l

    cc gi tr ny thuc MGT(A1), MGT(A2), MGT(An) tng ng)Trong trng hp ny nu nh cc thuc tnh khng c lit k trong danh sch gn gitr ca b t trong cu lnh INSERT s nhn gi tr null.

    Nu xem th t ca cc thuc tnh l cnh v cc gi tr nvvv ,...,, 21 l hon ton tng

    ng th php chn c th vit di dng tng minh nh sau:

    ( )nvvvRINSERT ,...,,; 21

  • 8/6/2019 co so dlieu

    35/108

    Trang 30/103

    Ch rng c th php chn khng c thc hin hoc lm mt tnh nht qun ca dliu v cc l do sau:

    Gi tr kha ca b mi l null hoc trng vi gi tr kha ca mt b c trongCSDL. H qun tr CSDL s khng cho thm mi trong trng hp ny.

    B mi khng ph hp vi lc quan h. Trng hp ny xy ra khi ngi sdng thm mi cc gi tr sai th t, sai kiu hoc ln ca cc thuc tnh tronglc . H qun tr CSDL c th s khng cho b sung nu khng tng thchkiu gi tr, hoc vn cho b sung b mi nhng tnh nht qun ca d liu khngc m bo.

    Mt s gi tr ca b mi khng thuc min gi tr ca thuc tnh tng ng.Trong trng h p ny, nu quan h c m bo tnh nht qun bi ccRBTV v min gi tr th h qun tr CSDL s khng cho b sung; ngc li, nukhng c RBTV v min gi tr th tnh nht qun ca CSDL b vi phm m h

    qun tr CSDL khng pht hin c.2.2. Php xaPhp xa b t ca quan h s xa i mt (hoc nhiu) b t khi th hin ca quan h

    tRTR \=

    Dng thc ca php xa l:

    ( )nn vAvAvARDELETE === ,...,,; 2211 ,

    vi njvA ji ..1; == chnh l iu kin tha mt s thuc tnh ca b t loi mt b t rakhi quan h.

    V d: Vi quan h:

    HOCVIEN (MaHV, HoHV, TenHV, NgaySinh, QueQuan, Khoa),

    v php loi b : ( )""; NhaTrangQueQuanHOCVIENDELETE =

    th tt c cc b trong th hin HOCVIEN c qu qun Nha trang s b loi b.

    2.3. Php saDng thc ca php sa l:

    ( )nnnn vAvAvAcAcAcARUPDATE ====== ,...,,;,...,,; 22112211 ,

    vi njcA ji ..1; == l iu kin tha tm kim b mun sa v njvA ji ..1; == l gi tr

    mi cn cp nht

  • 8/6/2019 co so dlieu

    36/108

    Trang 31/103

    V d: Vi quan h:

    HOCVIEN (MaHV, HoHV, TenHV, NgaySinh, QueQuan, MaLop),

    Trong th hin ca HOCVIEN c b:

    q = {HV001, Nguyn Vn, Mnh, 20/10/85, Ngh An, CNTT}v php cp nht: ( )ongLam== QueQuanHVMaHVHOCVIENUPDATE ;001;

    khi kt qut c s l b q c sa li vi gi tr :

    q = {HV001, Nguyn Vn, Mnh, 20/10/85, Lm ng, CNTT}

    3. Cc bc chuyn i tm hnh thc th kt hp sang m hnh quan h3.1. Bin cc tp thc th chuyn bit ha v dng bnh thng3.1.1. Tp thc th chuyn bit khng c thuc tnh ringTrong trng hp ny, a tp thc th chuyn bit ln lm thuc tnh ca tp thc thmc tng qut, khi c thuc tnh mi cho bit loi ca thc th chuyn bit

    Hnh 3.1. Bin i tp thc thchuyn bit khng c thuc tnh ring

    Trong v d trn Loai={NV_QL, NV_CN}

    3.1.2. Tp thc th chuyn bit c thuc tnh ringNu s lng thuc tnh ring tp thc th chuyn bit t, gom ln mc tng qut, vb sung thm rng buc.

  • 8/6/2019 co so dlieu

    37/108

    Trang 32/103

    MaNV

    NHANVIEN

    HoTen DiaChi

    ISA

    QUANLY CONGNHAN

    Chuc vu BacBac

    MaNV

    NHANVIEN

    HoTen DiaChi Loai

    BacBacChuc vu

    Hnh 3.2. Bin i tp thc thchuyn bit c thuc tnh ring

    Trong v d trn Loai={NV_QL, NV_CN} v cc rng buc:

    RBTV1: Nu Loai = NV_QL th thuc tnh Chucvu mi c gi tr

    RBTV2: Nu Loai = NV_CN th thuc tnh Bac mi c gi tr

    3.2. Chuyn tt c cc tp thc th thnh quan hTp thc th mnh

    Vi mi tp thc th mnh, chuyn thnh quan h vi kha l kha ca tp thc th.

    NHANVIEN (MaNV, HoTen, DiaChi)

    PHONGBAN (MaPhong, TenPhong)

    Tp thc th yu

    Vi mi tp thc th yu, chuyn thnh quan h vi:

    Cc thuc tnh l cc thuc tnh ca t p thc th yu v kha ca t p thc thmnh m n ph thuc

    Kha ca quan h l kha ca tp thc th mnh v phn phn bit ca tp thcth yu.

    THANNHAN (MaNV, TenTN, NTNS, Phai, QuanHe)

  • 8/6/2019 co so dlieu

    38/108

    Trang 33/103

    3.3. Mi kt hpMi kt hp c bn s (1,1) v (1, n), chuyn thnh cc quan h vi:

    Tp thc th c s tham gia (1, n) chuyn nh bnh thng

    Tp thc th c s tham gia (1, 1) chuyn thnh quan h gm tt c cc thuc tnhca thc thv thuc tnh kha ca thc thc stham gia (1, n).

    NHANVIEN (MaNV, HoTen, DiaChi, MaPhong)

    PHONGBAN (MaPhong, TenPhong)Mi kt hp khc, chuyn thnh mt quan h vi:

    Thuc tnh l khc kha ca cc t p thc th tham gia vo mi kt h p v mithuc tnh ca mi kt hp

    Kha l kha ca cc tp thc th tham gia vo mi kt hp v c th c thmthuc tnh ca mi kt hp

    THAMGIA (MaNV, MaDA, ThoiGian):Kha l kha ca cc tp thc ththam gia vomi kt hp

    3.4. Nhp tt c cc quan h c cng khaSau khi thc hin chuyn i, c th c mt s quan h c cng kha, khi thc hinvic nhp tt c cc quan h c cng kha li thnh mt quan h.

    4. Bi tpVi bi tp trong chng 2, hy chuyn i sang lc quan h.

  • 8/6/2019 co so dlieu

    39/108

    Trang 34/103

    Chng 4

    Ngn Ngi SQuan H

    Ngn ngi s quan h l ngn ng phi th tc. N bao gm tp hp cc php tonc p dng trn cc th hin ca quan h, kt qu ca mt cu truy vn l mt th hinca quan h. Ngn ngi s quan h c u im trong vic th hin k hoch thc hincu truy vn v cc k thut ti u ha cu truy vn.

    1. Cc php ton cs1.1. Cc php ton tp hpCc php ton cbn c p dng trn tp cc b gi tr ca cc quan h, c hnhthnh t l thuyt tp hp ton hc: hp hay hi (union), hiu (minus), giao (intersection),tch cc (cartesian product operation), chia (division), b (complement). Quan h ktqu ca cc php ton hp, hiu, tr c cng tn thuc tnh vi quan hu tin (quyc).

    Gi thit: ( )nAAAR ,...,, 21 v ( )nBBBS ,...,, 21

    Tnh kh hp

    Quan h ( )nAAAR ,...,, 21 v ( )nBBBS ,...,, 21 c gi l kh hp khi:

    Sbc ca R v S l bng nhau, ngha l cng slng thuc tnh.

    Min gi tr ca thuc tnh phi tng thch ( ) ( ) niBMGTAMGT ii = 1, vi

    1.1.1. Php hp (union)Hp (hay cn gi l hi) ca hai quan h kh hp R v S, k hiu SR , l quan h Qc nh ngha nh sau:

    { }StRttSRQ == |

    V d:

    A B A B A B

    A1 b1 a1 b2 a1 b1

  • 8/6/2019 co so dlieu

    40/108

    Trang 35/103

    a1 b2 a2 b3 a1 b2

    a2 b1 a2 b1

    a2 b3

    R S SR

    Ni cch khc, hp ca hai quan h R v S l mt quan h c cng ngi vi quan h R vS, vi cc b gi tr bng gp cc b ca c R v S, nhng b gi tr trng nhau ch gili 1 b. Trong v d trn b {a1, b2} xut hin trong c R v S, do ch xut hin 1 lntrong SR

    1.1.2. Php tr(minus)Php tr (hay cn gi l hiu) ca hai quan h kh hp R v S, k hiu SR , l quan hQ c nh ngha nh sau:

    { }StRttSRQ == |

    V d:

    A B A B A B

    a1 b1 a1 b2 a1 b1

    a1 b2 a2 b3 a2 b1

    a2 b1

    R S SR

    Ni cch khc, hp ca hai quan h R v S l mt quan h c cng ngi vi quan h R vS, vi cc b gi tr l cc b ca c R sau khi loi b cc b c mt trong S.

    1.1.3. Php giao (intersect)Giao ca hai quan h kh hp R v S, k hiu SR , l quan h Q c nh ngha nhsau:

    { }StRttSRQ == |

    V d:

    A B A B A B

    a1 b1 a1 b2 a1 b2

  • 8/6/2019 co so dlieu

    41/108

    Trang 36/103

    a1 b2 a2 b3

    a2 b1

    R S SR

    Ni cch khc, giao ca hai quan h R v S l mt quan h c cng ngi vi quan h Rv S, vi cc b gi tr l cc b ging nhau trong c R v S.

    1.1.4. Php tch cc (Cartesian Product Operation)Gi thit: ( )nAAAR ,...,, 21 v ( )mBBBS ,...,, 21

    Php tch cc ca hai quan h ca hai quan h R v S, k hiu RxS, l quan h Q cnh ngha nh sau:

    { }SqRttqRxSQ == |

    V d:

    A B C D A B C D

    a1 b1 c1 d2 a1 b1 c1 d2

    a1 b2 c2 d3 a1 b1 c2 d3

    a2 b1 a1 b2 c1 d2

    a1 b2 c2 d3

    a2 b1 c1 d2

    a2 b1 c2 d3

    R S RxS

    Vy tch cc ca hai quan h R v S l mt quan h gm (n+m) ngi vi n thuc tnhu l mt b ca R v m thuc tnh sau l mt b thuc S.

    1.1.5. Php chia (division)Gi thit: ( )nAAAR ,...,, 21 v ( )mBBBS ,...,, 21 ( > Smn , ), c m thuc tnh chung. Khi

    php chia trn 2 quan h R v S, k hiu SR , l quan h Q c (n-m) ngi c nhngha nh sau:

    ( ){ }RutSutSRQ == ,,|

  • 8/6/2019 co so dlieu

    42/108

    Trang 37/103

    V d 1:

    A B C D C D A B

    a1 b1 c1 d1 C1 d1 a1 b1

    a1 b1 c2 d3 C2 d3 a2 b1a2 b1 c2 d3

    a2 b1 c1 d1

    a3 b1 c1 d3

    R S SR

    Ni cch khc, php chia ca quan h R cho S a ra tt c cc b trong quan h R, sao

    cho khp vi tt c cc b trong quan h S1.2. Cc php ton quan hPhn ny trnh by cc php ton trn quan h v v d minh ha da trn lc csd liu Qun l n:

    NHANVIEN (MaNV, HoNV, tenNV, NgaySinh, DiaChi, Phai, Luong, MaNQL,Phong)

    Tn t: Mi nhn vin c M nhn vin (MaNV) duy nht phn bit vi cc nhn vin

    khc, c h tn (HoNV, TenNV), ngy sinh (NgaySinh), a ch (DiaChi), phi Nam hocN (Phai), mc lng (Luong), ngi qun l trc tip (MaNQL) v thuc v mt phngban (Phong)

    PHONGBAN (MaPhong, TenPhong, TruongPhong, NgayNhanChuc)

    Tn t: Mi mt phng ban c mt m phng duy nht (MaPhong) phn bit vi ccphng ban khc, c tn phng (TenPhong), ngi trng phng (TruongPhong), v ngynhn chc ca trng phng (NgayNhanChuc)

    DIADIEMPHONG (MaPhong, DiaDiem)

    Tn t: Mi mt phng ban (MaPhong) c th c nhiu a im lm vic khc nhau(DiaDiem)

    DEAN (MaDA, TenDA, DdiemDA, Phong)

    Tn t: Mi mt n c mt m n duy nht (MaDA) phn bit vi cc nkhc, c tn n (TenDA), a im thc hin (DdiemDA), v do mt phng ban chtr n (Phong)

  • 8/6/2019 co so dlieu

    43/108

    Trang 38/103

    PHANCONG (MaNV, MaDA, ThoiGian)

    Tn t: Mi mt nhn vin (MaNV) c phn cng tham gia n (MaDA) di dngtham gia s gitrn 1 tun (ThoiGian)

    THANNHAN(MaTN, HoTN, TenTN, Phai, NgaySinh)

    Tn t: Mi thn nhn c M thn nhn (MaTN) duy nht phn bit vi cc thn nhnkhc, c h tn (HoTN, TenTN), phi (Phai) ngy sinh (NgaySinh)

    NVIEN_TNHAN(MaNV, MaTN, QuanHe)

    Tn t: Mi nhn vin (MaNV) c th c nhiu thn nhn (MaTN), c din gii biquan h (QuanHe) nh v, chng, con, anh em

    1.2.1. Php chn (selection)Cho php chn ra nhng b trong R tha mn biu thc iu kin chn P cho trc. Khiu l )(RP vi nh ngha:

    { })(|)( tPRttRP =

    vi R l quan hc chn, P l biu thc logic cha cc php so snh ( ,..,,, = ), ccphp ton logic ( ,, ) dng:

    hay

    Nh vy kt qu ca php chn l mt quan h c cng danh sch thuc tnh vi quan h

    R.

    V d:

    Chn nhng nhn vin c lng >= 500000

    ( )NHANVIENLuong 500000

    Cho bit nhng nhn vin thuc phng s 5 v c lng >= 500000

    ( )NHANVIEN

    PhongLuong 5500000 =

    1.2.2. Php chiu (projection)Cho php trch chn ra nhng ct (thuc tnh) trong R ch ra trong danh sch thuc tnh.K hiu l )(,...,, 21 RkAAA vi nAAA ,..,, 21 l danh sch cc thuc tnh cn chn v R l quan

    h cn trch chn.

  • 8/6/2019 co so dlieu

    44/108

    Trang 39/103

    Nhn thy rng s lng cc b kt qu lun nh hn hoc bng s lng cc b trongR. Cc b trng nhau s loi i v ch gi li b.

    V d:

    Cho bit m nhn vin, h tn ca tt c cc nhn vin

    ( )NHANVIENTenNVHoNVMaNV ,,

    Cho bit m nhn vin, h tn, phng lm vic v mc lng ca tt c cc nhnvin

    ( )NHANVIENLuongPhongTenNVHoNVMaNV ,,,,

    Cho bit cc n cng vi cc phng ph trch n

    ( )DEANPhongTenDAMaDA ,,

    1.2.3. Php gn (assignment)Khi gp nhng truy vn phc tp, php gn cho php din t mt cch r rng hn cutruy vn. Khi , cu truy vn chnh l mt chui cc php gn theo sau l mt biuthc c gi tr nh l kt qu ca cu truy vn.

    K hiu:

    Vic gn c thc hin cho mt bin quan h tm v c s dng cho cc biu thctheo sau.

    1.2.4. Php i tn:V cho php t tn nn c th tham chiu ti kt qu ca biu thc i s quan h, vcho php tham chiu ti mt quan h bng nhiu tn

    Cc php i tn sau:

    i tn quan h v tn thuc tnh: Cho biu thc i s quan h E c n thuc tnh,biu thc ( ) )(,...,,,1 EnAAA tr v kt qu biu thc E di tn v cc tn ca thuc

    tnh i thnh nAAA ,...,, 21

    i tn quan h: Cho biu thc i s quan h E, biu thc )(E tr v kt qu

    biu thc E di tn

  • 8/6/2019 co so dlieu

    45/108

    Trang 40/103

    i tn thuc tnh: Cho biu thc i s quan h E c n thuc tnh, biu thc( ) )(,...,,,1 EnAAA tr v kt qu biu thc E vi cc tn ca thuc tnh i thnh

    nAAA ,...,, 21

    1.2.5. Chui cc php tonKt hp cc php ton i s quan h vi nhau to ra mt quan h kt qu theo yucu.

    C nhiu cch th hin mt truy vn cho trc.

    V d: Cho bit m nhn vin, h tn cng lng ca nhn vin lm vic trong phng s 4

    Cch 1: ( ))NHANVIENPhongLuongTenNVHoNVMaNV 4,,, =

    Cch 2:

    ( )

    ( )4_

    4_

    ,,,

    4

    PNVIENKQ

    NHANVIENPNVIEN

    LuongTenNVHoNVMaNV

    Phong

    =

    Cch 3:

    ( )

    ( ) ( )4_,,,

    4_

    ,,,

    4

    PNVIENLuongNVTenNVHoNVMaNVKQ

    NHANVIENPNVIEN

    LuongTenNVHoNVMaNV

    Phong

    =

    Trong c s dng php gn v php t li tn.2. Cc php ton khc2.1. Php kt hai quan hGi thit: ( )nAAAR ,...,, 21 v ( )mBBBS ,...,, 21 , vic ghp b Raaat n = ),...,,( 21 vo

    Sbbbv m = ),...,,( 21 c nh ngha nh sau:

    +RA v + SB l hai thuc tnh c th so snh c.

    Gi l mt trong cc php so snh { }=>< ,,,,,

    Khi , php kt ni hai quan h R v S trn cc thuc tnh A, B vi php so snh c nh ngha:

    R S = ( ){ }BuAtSuRtutv ..,,|, =

    AB

  • 8/6/2019 co so dlieu

    46/108

    Trang 41/103

    C th nhn thy rng php kt ni c thc hin qua 2 bc: (1) tch cc hai quan hR v S, (2) chn cc b tha iu kin AB.

    Nu l php ton so snh bng nhau c gi l php kt ni bng(equi join). Nu ccthuc tnh so snh l ging tn nhau th trong kt qu ca php nis loi i mt ct(thuc tnh), khi php kt c gi l php kt tnhin (natural join) v v mt k

    hiu bi AB. Cc trng hp cn li c gi l php kt ni theta ( join)

    V d:

    A B C C D E A B C C D E

    a1 1 1 1 d1 e1 a1 1 1 1 d1 E1

    a2 2 1 2 d2 e2 a2 2 1 1 d1 E1

    a3 2 2 3 d3 e3 a2 2 1 1 d1 E1

    a2 2 1 1 d1 E1

    a3 2 2 2 d2 E2

    R S R S

    V kt qu ca php ni t nhin (kt bng trn thc tnh C) l

    A B C D E

    a1 1 1 d1 e1

    a2 2 1 d1 e1

    a3 2 2 d2 e2

    2.2. Php kt ni ni (inner join)Thc cht ca php kt ni ni l php kt ni bng nu trn. Tuy nhin, ngay c khihai thuc tnh c cng tn th kt qu vn gi li 2 tn thuc tnh .

    V d:

    R.BS.C

  • 8/6/2019 co so dlieu

    47/108

    Trang 42/103

    A B C A D E A B C A D E

    a1 B1

    c1 a1 d1 e1 a1 b1 c1 a1 d1 e1

    a2 B

    2

    c1 a2 d2 e2 a2 b2 c1 a2 d2 e2

    a3 B3

    c2 a4 d4 e4 a7 b7 c7 a7 d7 e7

    a5 B5

    c5 a6 d6 e6

    a7 B7

    c7 a7 d7 e7

    R S R S

    2.3. Php kt ni tri (left join)Php kt ni tri hai quan h R v S trn cc thuc tnh A v B vi php so snh bngc nh ngha l tt c cc b v t c bng cch xp b gi tr ca R v S cnhnhau, nu c gi tr ging nhau trn hai thuc tnh kt ni; v cc b v t c nhccht b R vi cc b null ca S, nu khng tm c gi tr tng ng ca thuc tnh kt

    ni trn quan h S.

    R S = ( ) ( ) [ ]( ){ }BSAtuuRtBuAtSuRtutv null == .:,..:,|,

    Vi S[B] l tp tt c cc gi tr ca thuc tnh B ca S

    V d:

    A B C A D E A B C A D E

    a1 B1

    c1 a1 d1 e1 a1 B1

    c1 a1 d1 e1

    a2 B2

    c1 a2 d2 e2 a2 B2

    c1 a2 d2 e2

    a3 B c2 a4 d4 e4 a3 B c2 null null null

    R.A=S.A

    R.A=S.B

  • 8/6/2019 co so dlieu

    48/108

    Trang 43/103

    3 3

    a5 B5

    c5 a6 d6 e6 a5 b5 c5 null null null

    A

    7

    B

    7

    c7 a7 d7 e7 a7 b7 c7 a7 d7 e7

    R S R S

    ngha ca php kt ni ny l xc nh c cc b gi tr ca quan h bn tri nhngkhng c b gi tr tng ng trong quan h bn phi.

    2.4. Php kt ni phi (right join)Php kt ni phi hai quan h R v S trn cc thuc tnh A v B vi php so snh bngc nh ngha l tt c cc b v t c bng cch xp b gi tr ca R v S cnhnhau, nu c gi tr ging nhau trn hai thuc tnh kt ni; v cc b v t c nhccht b null ca R vi cc b ca S, nu khng tm c gi tr tng ng ca thuc tnhkt ni trn quan h R.

    R S = ( ) ( ) [ ]( ){ }ARBuSuttBuAtSuRtutv null == .:,,..:,|,

    Vi R[A] l tp tt c cc gi tr ca thuc tnh A ca R

    V d:

    A B C A D E A B C A D E

    A1 B1

    c1 a1 d1 e1 a1 B1 c1 a1 d1 e1

    A2 B

    2

    c1 a2 d2 e2 a2 B2 c1 a2 d2 e2

    A3 B3

    c2 a4 d4 e4 null null Null a4 d4 e4

    A5 B5

    c5 a6 d6 e6 null null Null a6 d6 e6

    R.A=S.A

    R.A=S.B

  • 8/6/2019 co so dlieu

    49/108

    Trang 44/103

    A7 B7

    c7 a7 d7 e7 a7 b7 c7 a7 d7 e7

    R S R S

    ngha ca php kt ni ny l xc nh c cc b gi tr ca quan h bn phi nhngkhng c b gi tr tng ng trong quan h bn tri.

    Ch rng trong mt s ngn ng truy vn CSDL, ngi ta gi hai php kt ni tri vphi chung li l php kt ni ngoi (outer join) v cho php gi li tt c cc b ca haiquan h khng tm c b gi tr ging nhau trn cc thuc tnh kt ni.

    2.5. Hm kt hp v gom nhmDng tnh ton cc gi tr mang tnh cht tng hp trong i s quan h. Trong :

    Hm kt hp: u vo l mt tp gi tr v tr v mt gi trn

    Avg(): gi tr trung bnh

    Min(): gi tr nh nht

    Max(): gi tr ln nht

    Sum(): tnh tng

    Count(): m s mu tin

    Gom nhm: cng thc nh sau: )()(),...,2(2),1(1,.., 21 EAnFnAFAFGGG N , vi:

    E l biu thc i s quan h

    Gi l tn thuc tnh gom nhm (c th khng c)

    Fi l hm gom nhm

    Ai l tn thuc tnh tnh ton trong hm gom nhmV d:

    Cho bit s nhn vin trong cng ty v mc lng trung bnh

    )()(),( NHANVIENLuongAVGMaNVCOUNT

    Cho bit s lng nhn vin v lng trung bnh ca mi phng ban

    R.A=S.A

  • 8/6/2019 co so dlieu

    50/108

    Trang 45/103

    )()(),( NHANVIENLuongAVGMaNVCOUNTPhong

    2.6. Cc php ton cp nht trn quan hCc thao tc c vit thng qua php ton gn. C th nh sau:

    2.6.1. ThmPhp thm: Err , vi r l mt quan h v E l mt biu thc i s quan h.

    Thng thng, a ra b cn chn mt cch tng minh hoc vit mt cu truy vn mkt qu truy vn chnh l mt tp cc b cn chn.

    V d: Chn mt b tng minh

    }4,','','01{' Trong'choctincapPhoDADEANDEAN

    2.6.2. XaPhp xo: : Err , vi r l mt quan h v E l mt biu thc i s quan h. Ch rng php xa thc hin xa mt hoc nhiu b m khng th xa i gi tr ca cc thuctnh.

    V d:

    Xa tt c cc phn cng cng tc tham gia n ca nhn vin mang m s NV01

    ( )( )NHANVIENPHANCONGPHANCONG NVMaNV '01'=

    Xa tt c cc n do phng mang tn Qun L ch tr

    2

    )1(2

    1

    ,,,

    ''

    rDEANDEAN

    rr

    DEANPHONGBANr

    PhongDDiemDATenDAMaDA

    QuanLTenPhong

    ==

    PhongMaPhong>=5: t, ngcli: khng t.

  • 8/6/2019 co so dlieu

    54/108

    Trang 49/103

    Chng 5

    Ngn NgTn T

    Trong CSDL thc hin vic m hnh ha thng tin gm cc s kin c lin kt haybiu din mt tnh trng th gii thc. Ngn ng tn tng dng logic ton th hintruy vn. Ngn ng tn t c hai loi, ngn ng tn t c bin l b v ngn ng tn t c

    bin l min gi tr.

    1. Ngn ngtn tc bin l b1.1. Mt s khi nimDng thc: { })(| tPt , vi:

    t: bin b, nhn gi tr l mt b ca quan h. Khi t.A l gi tr ca b t tithuc tnh A.

    P(t): cng thc lin quan n bin b t, ph thuc vo gi tr ca t m P(t) cho ktqung hay sai.

    Kt qu tr v l tp hp cc b t tho P(t)

    V d:

    Tm tt c nhng nhn vin nam

    { }''.)(| NamPhaittNHANVIENt =

    Tm tt c nhng nhn vin n v c lng trn 1500000

    { }1500000.'''.)(| >= LuongtPhaittNHANVIENt N

    Vi mi bin b t, quan h R m t bin thin trn c gi l quan h vng ca binb. Gi tr ny c chnh bng iu kin dng R(t).

    1.2. nh ngha hnh thc ca php tnh bDng tng qut: { }),...,,,...,,(|.,...,.,. 1212211 mnnnnn tttttPAtAtAt ++ , vi:

  • 8/6/2019 co so dlieu

    55/108

    Trang 50/103

    mnnn ttttt ++ ,...,,,...,, 121 l cc bin b

    Ai l thuc tnh ca quan h m bin b ti bin thin

    P l cng thc hay iu kin ca php tnh b.

    Cng thc c hnh thnh t cc cng thc nguyn t

    Cng thc nguyn t:

    C 3 dng:

    a. R(ti) l cng thc nguyn t, vi

    R l mt quan h v ti l mt bin b

    Cng thc ny xc nh vng ca bin b ti di hnh thc quan h c tn R

    V d: DEAN(t), NHANVIEN(x)

    b. BtAt ji .. l cng thc nguyn t, vi:

    l php so snh ( )=>< ,,,,,

    ti, tj l cc bin b

    A l thuc tnh ca quan h trn b ti bin thin, Bl thuc tnh ca quan h

    trn b tj bin thin V d: x.MaPhong = y.Phong, vi PHONGBAN(x) v DEAN(y)

    c. BtccAt ji .. hoac l cng thc nguyn t, vi:

    l php so snh ( )=>< ,,,,,

    ti, tj l cc bin b

    A l thuc tnh ca quan h trn b ti bin thin, Bl thuc tnh ca quan h

    trn b tj bin thin

    c l gi tr hng

    V d: x.MaPhong = PH01, y.Luong > 500000

    Nhn thy rng mi cng thc nguyn tu mang gi trng hoc sai. Vi (a), R(t)ng nu t l mt b thuc R, ngc li mang gi tr sai; vi (b, c) gi trng sai phthuc vo kt qu thay th gi tr thc s ca b vo v tr bin b.

  • 8/6/2019 co so dlieu

    56/108

    Trang 51/103

    Mt cng thc (hay iu kin) c hnh thnh t mt hay nhiu cng thc nguyn t vc ni vi nhau bng cc ton t v, hoc, phnh ( ,, ) v c nh ngha nhsau:

    a. Mi cng thc nguyn t l cng thc

    b. Nu 1F v 2F l cc cng thc th ( ) ( ) 212121 ,,, FFFFFF l cng thc v cgi tr:

    ( )21 FF chng khi c 1F v 2F u ng

    ( )21 FF ch sai khi c 1F v 2F u sai

    1F ng nu 1F sai, 1F sai nu 1F ng

    1.3. Lng ttn ti v vi mi Bin b tdo v bin kt buc

    Mt bin b t l kt buc nu c km lng t, ngha l n xut hin trong mnh ( ))(tPSt hay ( ))(tPSt , ngc li n c gi l bin tdo.

    Nu F l cng thc nguyn t th mi bin b t trong F u l bin t do.

    Tt c cc bin b t do t trong F c xem l bin kt buc trong cng thc ( )FtF =' hay ( )FtF ='

    i vi cc cng thc ( ) ( ) 212121 ,,, FFFFFFFFFF ==== , bin t l t do hay ktbuc ph thuc vo n l t do hay kt buc trong 1F v 2F

    Bin b t do ch ra cc b m cu truy vn tr v, ngha l c s dng trong v tri.Ngc li bin b kt buc thng c s dng thc hin vic khng nh cc btrong CSDL, ngha l c s dng trong v phi.

    V d:

    Cho bit nhng nhn vin thuc phng c m s 5 v c lng >= 500000

    { }500000.5.)(| = LuongnPhongnnNHANVIENn

    Cho bit nhng n do phng Qun L ph trch

    ( )( ){ }''...)(| QuanLyTenPhongpMaPhongpPhongdPHONGBANpdDEANd ==

    Tm nhng nhn vin tham gia trong tt c cc n ca cng ty

  • 8/6/2019 co so dlieu

    57/108

    Trang 52/103

    ( )( )( ){ }MaNVnMaNVpMaDAdMaDApPHANCONGpDEANdnNHANVIENn ....)(| ==

    Ch rng

    )(Ft ng nu F ng vi mi b t, sai nu t nht mt b sai.

    )(Ft sai nu F sai vi mi b t, ng nu t nht mt bng.

    2. Ngn ngtn tc bin l min gi trBin min gi tr nhn gi tr t min gi tr ca mt thuc tnh.

    Dng thc: { }Pxxx n |,...,, 21 , vi:

    nxxx ,...,, 21 l danh sch cc bin min gi tr

    P l iu kin hay cng thc theo nxxx ,...,, 21

    Kt qu cu truy vn l tp hp cc chn la ca cc b nxxx ,...,, 21 sao cho, vimi i, gi tr xic thay th cho cc bin t do x i th iu kin ng. Bin xi cth l hng s, khi tt c cc b trong tp hp u l hng s trong v tr i.

    V d:

    Cho bit m nhn vin thuc phng c m s 5 v c lng >= 500000

    ( )

    =

    5000005

    ,,,,,,,,|,,

    LgPhg

    PhgMaQLLgPhaiDChiNSinhTenHoMaNHANVIENLgPhgTenHoMa

    Nhn thy rng TenHoMa ,, chnh l thuc tnh c yu cu; Phg, Lgl bin thc sxut hin trong mt cu iu kin.

    Tm h tn, a ch ca nhn vin thuc phng Qun L

    ( )

    ( )

    =

    Ly'Quan',,,

    ,,,,,,,,|,,,

    TenPhgNgayNCTrPhgTenPhgMaPhgTenPhg

    PhgMaQLLgPhaiDChiNSinhTenHoMaNHANVIENPhgDChiTenHoMa

    Cng thc nguyn t:

    C 3 dng:

  • 8/6/2019 co so dlieu

    58/108

    Trang 53/103

    a. ( )jxxxR ,..,, 21 l cng thc nguyn t, vi

    R l mt quan h bc j

    Mi nixi 1, l mt bin min.

    Cng thc ny cho bit ( )jxxx ,..,, 21 l mt b ca quan h R, vi xi l gi trth i ca b.

    V d: ( ){ }...,|,..,, 2121 xxRxxx n

    b. jix x l cng thc nguyn t, vi:

    l php so snh ( )=>< ,,,,,

    xi, xj l cc bin min

    V d: MaPhg = Phg.

    c. ji ccx xhoac l cng thc nguyn t, vi:

    l php so snh ( )=>< ,,,,,

    xi, xj l cc bin min

    c l hng

    V d: MaPhg = 1.

    Mt cng thc nguyn t c trng hoc sai vi mt tp gi tr c th tng ng vi ccbin min.

    Cc nh ngha v cng thc da trn cng thc nguyn t, cc nh ngha v bin ktbuc v t do, cc lng t trong trng hp php tnh min cng tng t php tnh b.

    3. Bi tpBi 1:

    Hy vit bng ngn ng tn t theo yu cu nh bi tp 1 trong chng 4.

    Bi 2:

    Hy vit bng ngn ng tn t theo yu cu nh bi tp 2 trong chng 4.

  • 8/6/2019 co so dlieu

    59/108

    Trang 54/103

  • 8/6/2019 co so dlieu

    60/108

  • 8/6/2019 co so dlieu

    61/108

  • 8/6/2019 co so dlieu

    62/108

    Trang 57/103

    WHERE Phai=Nam

    1.4. Php ktTrong mnh WHERE thng c iu kin kt nu nh trong mnh FROM c nhiuhn hai quan h.

    V d:

    Tm m nhn vin, h tn tt c cc nhn vin tham gia vo n c m DA01

    SELECT MaNV, HoNV, TenNV

    FROM NHANVIEN, PHANCONG

    WHERE NHANVIEN.MaNV= PHANCONG.MaNV AND MaDA=DA01

    Tm m nhn vin, h tn tt c cc nhn vin lm vic ti phng Ti chnh

    SELECT MaNV, HoNV, TenNV

    FROM NHANVIEN, PHONGBAN

    WHERE Phong=MaPhong AND TenPhong = Ti chnh

    1.5. Mt s lu Sdng *

    Khi cn ly thng tin v tt c cc ct ca bng th s dng du sao (*) thay v phi litk mi tn thuc tnh.

    V d:

    SELECT *

    FROM NHANVIEN

    Tn b danh

    Khi cu truy vn cn tham chiu ti cng mt quan h 2 ln th dng b danh cho tnquan h. SQL cho php i tn quan h v tn thuc tnh c thc hin bng AS (c thdng hoc khng) theo quy tc: Tn c [as] tn mi

    V d:

    SELECT MaNV, HoNV as Ho, TenNV as Ten

    FROM NHANVIEN

  • 8/6/2019 co so dlieu

    63/108

    Trang 58/103

    WHERE Phai=Nam

    Biu thc trong mnh SELECT

    Tn thuc tnh c th km theo tn bng nu cn lm r bng cch thm du chm (.)trc tn thuc tnh. V d: NHANVIEN.MaNV.

    Cu lnh SELECT cn cho php thc hin tnh ton theo cng thc da trn cc ct cabng.

    V d:

    Tm m nhn vin, h tn v lng nhn vin, trong lng c tng thm20% cho mi nhn vin

    SELECT MaNV, HoNV, TenNV, Luong*1.2

    FROM NHANVIENDISTINCT

    Nh trnh by trn, SQL cho php cc b trng nhau trong kt qu cu truy vn. loi b cc b trng nhau, s dng t kha DISTINCT sau SELECT.

    V d:

    Cho bit nhng mc lng hin c trong cng ty

    SELECT DISTINCT LuongFROM NHANVIEN

    Php so snh trn chui

    S dng LIKE so snh chui, c 2 k tc bit sau:

    % (hoc *): thay th cho mi k t bt k

    _ (hoc ?) : thay th cho mt k t bt k

    V d:

    Tm tt c nhng nhn vin c tn bt u bng M nh Mai, Minh,

    SELECT MaNV, HoNV, TenNV

    FROM NHANVIEN

    WHERE TenNV LIKE M%

  • 8/6/2019 co so dlieu

    64/108

    Trang 59/103

    Ththin th

    Mnh ORDER BY s dng sp xp cc b trong kt qu cu truy vn da trn gitr cc thuc tnh. Trong :

    Asc: sp theo th t tng dn (mc nh)

    Desc: sp theo th t gim dn

    V d:

    Tm tt c nhng nhn vin phng 1 v lng tng ng, sp xp gim dn theolng

    SELECT MaNV, HoNV, TenNV, Luong

    FROM NHANVIEN

    WHERE Phong = 1

    ORDER BY Luong desc

    2. Truy vn lng cc v d trnh by, mnh WHERE bao gm thuc tnh n, cc php so snhhng s. Phn ny gii thiu cu truy vn lng, cho php lng cc cu truy vn li vinhau. Khi cu truy vn con thng thng c s dng kim tra cc tp hp thnhvin, so snh tp hp, kim tra s tn ti.

    Khi s dng truy vn con trong mnh WHERE ca mt truy vn khc, mnh SELECT trong truy vn con phi ph hp vi s thuc tnh v kiu d liu ca mnh WHERE trong cu truy vn ngoi.

    Truy vn con tr v gi tr tp hp trong mnh WHERE c dng:

    [NOT] IN ()

    ANY ()

    ALL ()

    Kim tra s tn ti:

    [NOT] EXISTS ()

    Cc cu truy vn con trong mt mnh WHERE c thc kt hp bng cch s dngcc php ni logic

  • 8/6/2019 co so dlieu

    65/108

    Trang 60/103

    V d:

    Tm tt c nhng nhn vin nam lm vic trong phng Ti chnh

    SELECT MaNV, HoNV, TenNV

    FROM NHANVIENWHERE Phong IN (SELECT MaPhong as Phong

    FROM PHONGBAN

    WHERE TenPhong = Ti chnh)

    AND Phai = Nam

    Trong trng hp iu kin mnh WHERE ca cu truy vn con tham chiu ti mtthuc tnh ca quan hc khai bo trong truy vn cha th hai cu truy vn c gi ltng quan. Cc tham chiu ti cc quan h v cc thuc tnh cha xut hin thng quavic s dng b danh.

    V d:

    Tm tt c nhng nhn vin c cng tn vi ngi thn

    SELECT nv.MaNV, nv.HoNV, nv.TenNV

    FROM NHANVIEN as nv

    WHERE nv.MaNV IN (SELECT MaNV

    FROM THANNHAN

    WHERE TenTN = nv.TenNV)

    Tm tt c nhng nhn vin c lng ln hn mi nhn vin phng s 5

    SELECT MaNV, HoNV, TenNV

    FROM NHANVIEN

    WHERE Luong > ALL (SELECT Luong

    FROM NHANVIEN

    WHERE Phong = 5)

    Tm tt c nhng nhn vin c lng ln hn t nht 1 nhn vin phng s 5

  • 8/6/2019 co so dlieu

    66/108

    Trang 61/103

    SELECT nv1.MaNV, nv1.HoNV, nv1.TenNV

    FROM NHANVIEN as nv1, NHANVIEN as nv2

    WHERE nv1.Luong > nv2.Luong AND nv2.Phong = 5

    Cm t ln hn t nht mt c th din t bng >SOME. V d trn c vit li nhsau:

    SELECT MaNV, HoNV, TenNV

    FROM NHANVIEN

    WHERE Luong > SOME (SELECT Luong

    FROM NHANVIEN

    WHERE Phong = 5)

    Hm EXISTS s dng kim tra kt qu ca cu truy vn tng quan c rng haykhng. Khi

    EXISTS (r) mang gi tr true nu c t nht mt b trong r, false nu ngc li.

    NOT EXISTS (r) mang gi tr true nu khng c b no trong r, false nu ngcli.

    V d

    Cho bit nhng nhn vin c cng tn vi thn nhn

    SELECT nv.MaNV, nv.HoNV, nv.TenNV

    FROM NHANVIEN nv

    WHERE EXISTS (SELECT *

    FROM THANNHAN

    WHERE MaNV = nv.MaNV AND TenTN= nv.TenNV)

    Gi tr null

    SQL cho php s dng cc gi tr null ch ra gi tr ca thuc tnh khng bit haykhng tn ti.

    Ch rng kt qu ca iu kin mnh WHERE l false nu n lin quan n null.

    Trong SQL s dng IS NULL hay IS NOT NULL kim tra cc gi tr rng. Trong :

  • 8/6/2019 co so dlieu

    67/108

    Trang 62/103

    Php so snh bng (=) khng dng c

    Cc hm gom nhm ngoi tr COUNT() b qua cc gi tr null trong tp cc dliu u vo

    Nu c iu kin kt th cc b c gi tr null trn thuc tnh kt s khng c trong

    kt qu.

    3. Nhm lnh thc hin tnh tonHm kt hp

    Hm kt hp c u vo l mt tp gi tr v tr v mt gi trn

    Avg(): gi tr trung bnh

    Min(): gi tr nh nht

    Max(): gi tr ln nht

    Sum(): tnh tng

    Count(): m s mu tin

    V d

    Cho bit nhng mc lng trung bnh v cao nht ca cc nhn vin phng c ml 5

    SELECT AVG(Luong), MAX(Luong)

    FROM NHANVIEN

    WHERE Phong = 5

    Gom nhm

    Cc hm gom nhm c p dng trn cc nhm b cng thuc tnh trong quan h. Minhm b bao gm tp hp cc b c cng gi tr trn cc thuc tnh gom nhm. Trong

    SQL s dng c php nh sau:

    SELECT

    FROM

    WHERE

    GROUP BY

  • 8/6/2019 co so dlieu

    68/108

    Trang 63/103

    HAVING

    Mnh GROUP BY ch ra cc thuc tnh gom nhm, cc thuc tnh trong mnh SELET nm ngoi mt hm kt hp phi xut hin trong mnh GROUP BY

    Mnh HAVING ly cc gi tr ca hm gom nhm ch trn nhng nhm no

    tha iu kin nht nh. Mnh HAVING ch ra iu kin lc trn cc nhm,khng phi iu kin lc trn tng b.

    V d

    Cho bit tn phng v lng trung bnh ca cc nhn vin trong phng ban lnhn 100000.

    SELECT TenPhong, AVG(Luong)

    FROM NHANVIEN, PHONGBAN

    WHERE Phong = MaPhong

    GROUP BY TenPhong

    HAVING AVG(Luong)>100000

    4. Cc lnh khai bo cu trc CSDLKiu dliu

    Chn h qun tr CSDL SQL Server minh ha, Ta c mt s kiu d liu cbn: S (number)

    Chui (text, char, varchar, nvarchar)

    Ngy thng (datetime)

    Logic (bit)

    To bng

    CREATE TABLE

    (

    [not null][unique] [],

    [not null][unique] [],

  • 8/6/2019 co so dlieu

    69/108

  • 8/6/2019 co so dlieu

    70/108

    Trang 65/103

    Trong SQL server, mi RBTV c th c t tn bng cch s dngCONSTRAINT . Ch rng tn rng buc phiduy nht trong mt lc CSDL.

    V d:

    CREATE TABLE PHONGBAN(

    MaPhong char(5) not null,

    TenPhong nvarchar(30),

    TruongPhong char(5),

    NgayNhanChuc datetime,

    CONSTRAINT PK_PHONGBAN PRIMARY KEY (MaPhong),

    CONSTRAINT U_PHONGBAN UNIQUE (TenPhong)

    CONSTRAINT PK_PHONGBAN FOREIGN KEY (TruongPhong)REFERENCES NHANVIEN (MaNV)

    )

    Xa bng

    DROP TABLE xa bng

    V d DROP TABLE PHONGBAN

    Thay i cu trc

    Thm ct

    ALTER TABLE NHANVIEN ADD ChuyenMon char(40)

    Xa ct

    ALTER TABLE NHANVIEN DROP ChuyenMon

    B sung, thay i RBTV

    ALTER TABLE NHANVIEN DROP CONSTRAINT FK_NHANVIEN

    ALTER TABLE NHANVIEN ADD CONSTRAINT FK_NHANVIEN FOREIGNKEY (MaNQL) REFERENCES NHANVIEN (MaNV)

  • 8/6/2019 co so dlieu

    71/108

    Trang 66/103

    5. Nhm lnh cp nht dliu5.1. ThmC th thm mt b vo bng bng cch s dng:

    INSERT INTO [, ,, ] VALUES(, ,,)

    Ch rng th t gi tr trong VALUES l th t cc thuc tnh c ch ra trongCREATE TABLE

    V d

    INSERT INTO PHANCONG VALUES (NV01, DA01, 10 )

    C th thm nhiu b vo bng bng cch s dng:

    INSERT INTO [, ,, ]

    SELECT FROM WHERE

    5.2. XaC th xa mt hay nhiu b khi bng bng cch s dng

    DELETE FROM

    [WHERE ]

    V d

    Xa nhng nhn vin c mc lng di 100000

    DELETE FROM NHANVIEN

    WHERE Luong

  • 8/6/2019 co so dlieu

    72/108

  • 8/6/2019 co so dlieu

    73/108

    Trang 68/103

    Chng 7

    Ph thuc hm, kha v rng buc

    ton vn ca lc quan h

    Ph thuc hm (functional dependency) dng biu din mt cch hnh thc cc rngbuc ton vn (RBTV). Ph thuc hm c tm quan trng rt ln trong vic gii quytcc bi ton tm kha, ph ti thiu v chun ha csd liu. Ni dung chng cngtrnh by rng buc ton vn (RBTV), cc yu t lin quan n rng buc ton vn nhm

    bo m tnh ng n ca d liu.

    1. Ph thuc hm1.1. Khi nimXt quan h DEAN(MaDA, TenDA, DdiemDA, Phong). Nhn thy rng quan h DEANc MaDA l kha, ngha l t MaDA c th xc nh c tt c cc thng tin v tn n, a im thc hin n v phng ban ch tr n. C th pht biu li nh sau:

    MaDA xc nh TenDA hay TenDA ph thuc hm vo MaDA

    MaDA xc nh DdiemDA hay DdiemDA ph thuc hm vo MaDA

    MaDA xc nh Phong hay Phong ph thuc hm vo MaDA

    c k hiu:

    MaDA TenDA

    MaDA DdiemDA

    MaDA Phong

    Mt cch tng qut, ta c:

    nh ngha ph thuc hm

    Q(A1, A2,, An ) l quan h; Q+= {A1, A2,, An }; X, Y l hai tp con ca Q

    +;

    t1, t2 l hai b bt k ca Q.

  • 8/6/2019 co so dlieu

    74/108

    Trang 69/103

    Khi : XY (t1.X = t2.X t1.Y = t2.Y)

    Ta ni X xc nh Y hay Y ph thuc hm vo X. X c gi l v tri ph thuc hm, Yc gi l v phi ph thuc hm.

    Ph thuc hm hin nhin

    X Y gi l ph thuc hm hin nhin nu XY .

    Ph thuc hm nguyn t

    X Y c gi l ph thuc hm nguyn t (hoc ni cch khc Y c gi l phthuc y vo X) nu XX ' u khng c ph thuc hm XY.

    Nh vy cc ph thuc hm MaDA TenDA, MaDA DdiemDA, MaDA Phong lph thuc hm nguyn t.

    Xt quan h CTIETHOADON (SoHD, MaHang, SoLuong, DonGia, ThanhTien) v ccph thuc hm nh sau:

    {SoHD, MaHang} SoLuong

    {SoHD, MaHang} DonGia

    {SoHD, MaHang} ThanhTien

    Nhn thy rng SoLuong ph thuc y vo {SoHD, MaHang} nhng DonGia chph thuc vo MaHang (l mt thuc tnh kha) ch khng ph thuc y vo kha

    {SoHD, MaHang}. Nh vy, trn mt lc quan h c th tn ti nhiu ph thuchm.

    Tp cc ph thuc hm c k hiu F

    1.2. H lut dn AmstrongGi F l tp ph thuc hm i vi lc quan h Rnh ngha trn tp thuc tnh U v

    XY l mt ph thuc hm; UYX , . Khi ta ni rng XY c suy din logic tF nu R tha cc ph thuc hm ca F th cng tha XY v k hiu l F|=XY

    Bao ng ca tp ph thuc hm

    Bao ng ca tp ph thuc hm F, k hiu l F+ l l tp tt c cc ph thuc hm cduy din t F.

    Trong trng hp F=F+ th F l hy ca cc ph thuc hm.

  • 8/6/2019 co so dlieu

    75/108

    Trang 70/103

    H lut dn Amstrong

    Amstrong a ra h lut tin cn c gi l h lut dn Amstrong sau:

    Vi UWZYX ,,, . Ph thuc hm c cc tnh cht sau:

    (1)Tnh phn xNu XY th YX

    (2)Tnh tng trng

    Nu YX th YZXZ

    (3)Tnh bc cu

    Nu YX v ZY th ZX

    Th tin Amstrong suy ra mt s tnh cht sau:

    (1)Tnh phn r

    Nu YZX v YX th ZX

    (2)Tnh kt hp

    Nu YX v ZX th YZX

    (3)Tnh ta bc cu

    Nu YX v WYZ th WXZ

    V d

    Cho lc quan h R(A, B, C, D, E, G, H) v tp ph thuc hm

    F={ABC, BD, CDE, CEGH, GA}

    Chng t ABE c suy din t F.

    (1)ABC

    (2)ABAB (tnh phn x)

    (3)ABB (tnh phn r)

    (4)BD

    (5)ABD (tnh bc cu 3+4)

  • 8/6/2019 co so dlieu

    76/108

    Trang 71/103

    (6)ABCD (tnh hp 1+5)

    (7)CDE

    (8)ABE (tnh bc cu 6+7)

    1.3.

    Thut ton tm bao ng ca tp thuc tnhBao ng ca tp thuc tnh

    Bao ng ca tp thuc tnh X i vi tp ph thuc hm F, k hiu l +FX l tp tt ccc thuc tnh A c th suy dn t X nhtp bao ng ca cc ph thuc hm F+

    { }+++ = FAXQAXF |

    Thut ton tm bao ng ca tp thuc tnh

    Input: ( )+

    QXFQ ,,

    Output: +FX

    Bc 1: Tnh dy )()1()0( ,...,, iXXX :

    XX =)0(

    ( ) ( ))()()1( , iii XYFZYZXX =+ , loi ( )ZY ra khi F

    Dng khi )()1( ii XX =+ hoc khi += QX i)(

    Bc 2: Kt lun )(iF XX =+ :

    V d 1

    Cho lc quan h R(A, B, C, D, E, G, H) v tp ph thuc hm

    F={ f1: BA ,

    f2: DACE,

    f3: DH,

    f4: GHC,

    f5: ACD}

    Tm +FAC

  • 8/6/2019 co so dlieu

    77/108

    Trang 72/103

    Bc 1: ACX =0

    Bc 2: T f1 n f4 khng tho, f5 tho nn ACDDACX ==1

    Lp li bc 2:

    f1 khng tho, f2 tha nn ACDECEACDX ==2

    f3 tha nn ACDEHHACDEX ==3

    f4 khng tha, f5 tha

    Lp li bc 2: f2, f3 v f5 tha, f1 v f3 khng tha. Nn ACDEHXX == 34

    Vy ACDEHACF =+

    1.4. Bi ton thnh vinCho tp thuc tnh Q, tp ph thuc hm F trn Q v mt ph thuc hm XY trn Q.Cu hi t ra rng + FYX hay khng?

    Gii quyt: ++ XYFYX

    V d

    Cho lc quan h R(A, B, C, D, E, G, H) v tp ph thuc hm

    F={ f1: B

    A ,f2: DACE,

    f3: DH,

    f4: GHC,

    f5: ACD}

    Cho bit EAC c thuc F+ khng?

    Ta c ACDEHACF =+

    V + FACE nn+ FEAC

    1.5. Ph ti thiu ca mt tp ph thuc hm1.5.1. Hai tp ph thuc hm tng ng

  • 8/6/2019 co so dlieu

    78/108

    Trang 73/103

    Hai tp ph thuc hm F v G tng ng nu ++ = GF . K hiu GF

    F c gi l ph G nu ++ GF

    Thut ton xc nh F v G c tng ng khng

    Bc 1: Vi mi ph thuc hm FYX , kim tra YX c l thnh vin ca Gkhng.

    Bc 2: Vi mi ph thuc hm GYX , kim tra YX c l thnh vin ca Fkhng.

    Bc 3: Nu c bc 1 v 2 u ng th kt lun GF

    V d

    Cho lc quan h R(A, B, C, D, E) v tp ph thuc hm

    F={ ABC , AD, CDE}

    G={ ABCE , AABD, CDE}

    Cho bit F v G c tng ng khng?

    Bc 1:

    ( )+++ = GDAGBCAABCDEAG

    Hn na ta c ( )GECDFECD

    Vy mi ph thuc hm trong F u l thnh vin ca G

    Bc 2:

    ( )+++ = FABDAFBCEAABCDEAF

    Hn na ta c ( )FECDGECD

    Vy mi ph thuc hm trong G u l thnh vin ca F

    Bc 3: Kt lun GF

    1.5.2. Ph ti thiu ca tp ph thuc hmPh thuc hm c thuc tnh v tri dtha

    Cho F l tp cc ph thuc hm trn lc quan h Q. Khi FYZ l ph thuchm c thuc tnh v tri d tha nu tn ti ZA m ( ) ( )YAZYZFF = )(

  • 8/6/2019 co so dlieu

    79/108

    Trang 74/103

    Ngc li YZ l ph thuc hm c thuc tnh v tri khng d tha hay Y ph thucy vo Z. YZ cn c gi l ph thuc hm y .

    V d

    Cho lc quan h R(A, B, C, D, E) v tp ph thuc hm

    F={ AB , BCD, CD}

    Khi AB , CD l nhng ph thuc hm y . BCD l ph thuc hm khng cthuc tnh v tri d tha.

    Vn l tm cc ph thuc hm y tng ng bng cch loi b cc thuc tnh dtha.

    Thut ton tm cc ph thuc hm y tng ng

    Thc hin vi mi ph thuc hm FYX Bc 1: X = A1, A2, An (n>=2, vi n=1 th XY l y )

    t Z=X

    Bc 2: Vi mi Ai, thc hin

    - Tam = Z \ Ai

    - Nu + FYTam th Z=Tam

    Tp ph thuc hm c v phi mt thuc tnh

    Mi tp ph thuc hm F u tng ng vi mt tp ph thuc hm G m v phi cacc ph thuc hm thuc G ch gm mt thuc tnh

    V d:

    Cho lc quan h R(A, B, C, D, E) v tp ph thuc hm

    F={ ABC , AD, CDE}

    Khi G={ AB, AC , AD, CDE} l tp ph thuc hm c v phi mtthuc tnh v GF

    Tp ph thuc hm khng dtha

    F l t p ph thuc hm khng d tha nu khng tn ti FF' sao cho FF' .Ngc li F c gi l tp ph thuc hm d tha.

  • 8/6/2019 co so dlieu

    80/108

    Trang 75/103

    Thut ton loi nhng ph thuc hm dtha

    Vi mi ph thuc hm FYX , nu YX l thnh vin ca { }YXF thloi YX khi F.

    1.5.3. Ph ti thiu ca tp ph thuc hmF c gi l ph ti thiu ca tp ph thuc hm (hay tp ph thuc hm ti thiu) nutha:

    (i) F l tp ph thuc hm c thuc tnh v tri khng d tha

    (ii) F l tp ph thuc hm c v phi mt thuc tnh

    (iii) F l tp ph thuc hm khng d tha

    Thut ton tm ph ti thiu ca tp ph thuc hm

    Bc 1: Loi cc thuc tnh c v tri d tha ca mi ph thuc hm

    Bc 2: Phn r cc ph thuc hm c v phi nhiu thuc tnh thnh cc ph thuc hmc v phi mt thuc tnh

    Bc 3: Loi cc ph thuc hm d tha khi F

    V d

    Cho lc quan h R(A, B, C, D, E, G, H) v tp ph thuc hm

    F={ BA , DACE, DH, GHC, ACD}

    Tm ph ti thiu ca F.

    Bc 1:

    Vi DACE:

    o Gi s D tha th+

    FCEA : ta c AAF =+

    ,+

    FACE nn D khng thao Gi s A tha th + FCEB : ta c DHDF =

    + , + FDCE nn A khng tha

    Vi GHC:

    o Gi s G tha th + FCH : ta c HHF =+ , + FHC nn G khng tha

  • 8/6/2019 co so dlieu

    81/108

    Trang 76/103

    o Gi s H tha th + FCG : ta c GGF =+ , + FGC nn H khng tha

    Vi ACD:

    o Gi s A tha th + FDC : ta c CCF =+ , + FCD nn A khng tha

    o Gi s C tha th + FDA : ta c AAF =+ , + FAD nn C khng tha

    Vy mi ph t


Recommended