Upload
0916161230
View
216
Download
0
Embed Size (px)
Citation preview
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