You are on page 1of 129

U BAN NHN DN THNH PH H NI S BU CHNH VIN THNG THNH PH

GIO TRNH
C S D LIU
(M s gio trnh: 2CD3)

H NI 2005

Li m u Ngy nay, c s d liu c nhiu ng dng trong mi hot ng ca x hi. Mun thit k v s dng c s d liu chng ta phi nm c cc k thut c bn ca c s d liu. Gio trnh ny nhm trnh by cc k thut c s ca c s d liu truyn thng, l m hnh lin kt thc th, m hnh c s d liu quan h. Gio trnh cng trnh by cch thit k mt c s d liu quan h, cch s dng cc php ton i s quan h to, cp nht v truy vn c s d liu v khi nim ph thuc hm ng dng trong l thuyt thit k v chun ha c s d liu quan h. Gio trnh cn thit cho tt c cc i tng mun tm hiu v thit k cc c s d liu quan h ng dng trong cng tc qun l.

- Tn mn hc: C s d liu. - M s mn hc: 2CD3. - Thi gian: L thuyt + Bi tp 45 tit. - Mc tiu: Trang b cc kin thc c bn v C s d liu truyn thng. - Nhng kin thc cn phi c trang b trc khi hc: khng. - Ni dung: Chng I: Chng II: CC KHI NIM C BN V C S D LIU M HNH LIN KT THC TH

Chng III: M HNH QUAN H, CC RNG BUC QUAN H V I S QUAN H Chng IV: PH THUC HM V CHUN HA CSDL QUAN H, CC THUT TON THIT K CSDL QUAN H

MC LC
LI M U...................................................... ERROR! BOOKMARK NOT DEFINED. CHNG I- CC KHI NIM C BN V H C S D LIU .......................... 7 C s d liu ........................................................................................................... 7 I.1- nh ngha c s d liu ..................................................................................... 7 I.2- Cc tnh cht ca mt c s d liu .................................................................... 8 II- H qun tr c s d liu ....................................................................................... 9 II.1nh ngha h qun tr c s d liu .............................................................. 9 II.2Cc chc nng ca mt h qun tr c s d liu .......................................... 9 II.3Cc c trng ca gii php c s d liu................................................... 11 II.4V d v mt c s d liu............................................................................. 13 III- M hnh c s d liu........................................................................................... 15 III.1- Cc loi m hnh c s d liu ..................................................................... 15 III.2- Lc v trng thi c s d liu.............................................................. 17 IV- Con ngi trong h c s d liu........................................................................ 18 IV.1- Ngi qun tr h c s d liu (Database Administrator DBA).............. 18 IV.2- Ngi thit k c s d liu (Database Designer) ....................................... 18 IV.3- Nhng ngi s dng (End User)................................................................. 18 IV.4- Ngi phn tch h thng v lp trnh ng dng.......................................... 19 IV.5- Ngi thit k v ci t h qun tr d liu ................................................ 19 IV.6- Nhng ngi pht trin cng c ................................................................... 19 IV.7- Cc thao tc vin v nhng ngi bo tr .................................................... 19 V- Ngn ng c s d liu v giao din ................................................................... 20 V.1Cc ngn ng h qun tr c s d liu........................................................ 20 V.2Cc loi giao din h qun tr c s d liu ................................................ 21 VI- Cu hi n tp....................................................................................................... 21 CHNG IIIIIM HNH THC TH - LIN KT .................................................. 23 I-

S dng m hnh quan nim bc cao cho vic thit k c s d liu .............. 23 Cc thnh phn c bn ca m hnh ER ........................................................... 25 II.1Thc th v thuc tnh................................................................................... 25 II.2Kiu thc th, tp thc th, kha v tp gi tr ............................................ 27 II.3Kiu lin kt, tp lin kt v cc th hin ..................................................... 30 II.4Cp lin kt, tn vai tr v kiu lin kt quy ............................................ 31 II.5Cc rng buc trn cc kiu lin kt ........................................................... 32

II.6Thuc tnh ca cc kiu lin kt.................................................................... 33 II.7Cc kiu thc th yu.................................................................................... 34 III- V d v thit k m hnh ER .............................................................................. 35 III.1- Xc nh cc kiu thc th, cc thuc tnh v cc kiu lin kt.................... 35 IV- M hnh thc th lin kt m rng (m hnh EER) .......................................... 39 IV.1- Lp cha, lp con v s tha k ..................................................................... 39 IV.2- Chuyn bit ha, tng qut ha .................................................................... 40 IV.2.1- Chuyn bit ha........................................................................................ 40 IV.2.2- Tng qut ha........................................................................................... 42 IV.2.3- Phn cp chuyn bit v li chuyn bit................................................ 43 IV.2.4- Cc rng buc v cc c trung ca chuyn bit ha, tng qut ha ....... 43 IV.3- S m hnh EER ....................................................................................... 44 V- Tng kt chng v cu hi n tp..................................................................... 45 V.1Tng kt chng............................................................................................ 45 V.2Cu hi n tp............................................................................................... 45 V.3Bi tp........................................................................................................... 46 CHNG III- M HNH QUAN H, CC RNG BUC QUAN H V I S QUAN H 48 ICc khi nim ca m hnh quan h .................................................................. 48 I.1- Min, thuc tnh, b v quan h ........................................................................ 48 I.2- Cc c trng ca cc quan h ......................................................................... 50 I.2.1- Th t ca cc b trong mt quan h....................................................... 50 I.2.2- Th t ca cc gi tr bn trong mt b ................................................... 51 I.2.3- Cc gi tr trong mt b ........................................................................... 51 I.2.4- Th hin ca mt quan h ........................................................................ 52

II-

Cc rng buc quan h, lc c s d liu quan h .................................... 52 II.1Cc rng buc min ...................................................................................... 52 II.2Rng buc kho v rng buc trn cc gi tr khng xc nh (null) .......... 53 II.3C s d liu quan h v lc c s d liu quan h ............................. 54 II.4Ton vn thc th, ton vn tham chiu v kho ngoi................................ 58 III- Cc php ton trn m hnh quan h ................................................................. 60 III.1- Cc php ton cp nht ................................................................................ 60 III.1.1- Php chn (Insert) .................................................................................... 60 III.1.2- Php xo (Delete) ..................................................................................... 61 III.1.3- Php sa i (Update) .............................................................................. 62 III.2- Cc php ton i s quan h....................................................................... 62 III.2.1- Php chn (SELECT)............................................................................... 63

III.2.2- Php chiu (PROJECT)............................................................................ 65 III.2.3- Php t li tn (RENAME) .................................................................... 66 III.2.4- Cc php ton l thuyt tp hp............................................................... 67 III.2.5- Php ni (JOIN) ....................................................................................... 70 III.2.6- Tp hp y cc php ton quan h .................................................... 72 III.2.7- Php chia .................................................................................................. 73 III.3- Cc php ton quan h b sung.................................................................... 74 III.3.1- Cc hm nhm v cc php nhm............................................................ 74 III.3.2- Cc php ton khp kn quy ................................................................ 75 III.3.3- Cc php ton ni ngoi (outer join), hp ngoi (outer union)................ 75 III.4- Mt s v d v truy vn trong i s quan h.............................................. 76 IV- Chuyn i m hnh ER thnh m hnh quan h.............................................. 77 IV.1- Cc quy tc chuyn i ................................................................................. 77 IV.2- Chuyn i m hnh c th............................................................................ 81 VTng kt chng v cu hi n tp..................................................................... 81 V.1Tng kt chng............................................................................................ 81 V.2Cu hi n tp............................................................................................... 82 V.3Bi tp........................................................................................................... 83

CHNG IV- PH THUC HM V CHUN HA C S D LIU QUAN H, CC THUT TON THIT K C S D LIU QUAN H............................................ 86 ICc nguyn tc thit k lc quan h ........................................................... 86 I.1- Ng ngha ca cc thuc tnh quan h .............................................................. 86 I.2- Thng tin d tha trong cc b v s d thng cp nht ................................ 87 I.3- Cc gi tr khng xc nh trong cc b ........................................................... 89 I.4- Sinh ra cc b gi.............................................................................................. 89 II- Cc ph thuc hm .............................................................................................. 90 II.1nh ngha ph thuc hm............................................................................ 90 II.2Cc quy tc suy din i vi cc ph thuc hm.......................................... 93 II.3S tng ng ca cc tp ph thuc hm ................................................ 97 II.4Cc tp ph thuc hm ti thiu ................................................................... 98 III- Cc dng chun da trn kha chnh................................................................. 99 III.1- Nhp mn v chun ho................................................................................ 99 III.2- Dng chun 1.............................................................................................. 101 III.3- Dng chun 2.............................................................................................. 102 III.4- Dng chun 3.............................................................................................. 104 III.5- Dng chun Boyce-Codd ............................................................................ 104 IV- Cc thut ton thit k c s d liu quan h v cc dng chun cao hn... 106

IV.1- nh ngha tng qut cc dng chun........................................................ 107 IV.2- Cc thut ton thit k lc c s d liu quan h ............................... 108 IV.2.1- Tch quan h v tnh khng y ca cc dng chun ....................... 108 IV.2.2- Php tch v s bo ton ph thuc ....................................................... 109 IV.2.3- Php tch v kt ni khng mt mt ...................................................... 111 IV.3- Cc ph thuc hm a tr v dng chun 4 ................................................ 118 IV.3.1- nh ngha ph thuc a tr.................................................................... 118 IV.3.2- Cc quy tc suy din i vi cc ph thuc hm v ph thuc a tr .... 120 IV.3.3- Dng chun 4.......................................................................................... 121 IV.3.4- Tch c tnh cht ni khng mt mt thnh cc quan h 4NF .............. 121 IV.4- Cc ph thuc ni v dng chun 5 ........................................................... 122 V- Tng kt chng v cu hi n tp................................................................... 124 V.1Tng kt chng.......................................................................................... 124 V.2Cu hi n tp............................................................................................. 125 V.3Bi tp......................................................................................................... 126

Chng I-

CC KHI NIM C BN V H C S D LIU

Cc c s d liu v cc h c s d liu tr thnh mt thnh phn ch yu trong cuc sng hng ngy ca x hi hin i. Trong vng mt ngy con ngi c th c nhiu hot ng cn c s giao tip vi c s d liu nh: n ngn hng rt tin v gi tin, ng k ch trn my bay hoc khch sn, truy cp vo th vin tin hc ho tm sch bo, t mua tp ch mt nh xut bn Ti cc ngn hng, cc ca hng, ngi ta cng cp nht t ng vic qun l tin bc, hng ho. Tt c cc giao tip nh trn c gi l cc ng dng ca c s d liu truyn thng. Trong cc c s d liu truyn thng, hu ht cc thng tin c lu gi v truy cp l vn bn hoc s. Nhng nm gn y, nhng tin b v k thut a n nhng ng dng mi ca c s d liu. Cc c s d liu a phng tin by gi c th lu tr hnh nh, phim v ting ni. Cc h thng thng tin a l c th lu tr v phn tch cc bn , cc d liu v thi tit v cc nh v tinh. Kho d liu v cc h thng phn tch trc tuyn c s dng trong nhiu cng ty ly ra v phn tch nhng thng tin c li t cc c s d liu rt ln nhm a ra cc quyt nh. Cc k thut c s d liu ng v thi gian thc c s dng trong vic kim tra cc tin trnh cng nghip v sn xut. Cc k thut tm kim c s d liu ang c p dng cho World Wide Web cung cp vic tm kim cc thng tin cn thit cho ngi s dng bng cch duyt qua Internet. hiu c cc c s k thut ca c s d liu chng ta phi bt u t cc c s k thut ca c s d liu truyn thng. Mc ch ca gio trnh ny l nghin cu cc c s k thut . Trong chng ny chng ta s nh ngha c s d liu, h qun tr c s d liu, m hnh c s d liu v cc thut ng c bn khc.

I-

C s d liu
I.1nh ngha c s d liu

C s d liu v k thut c s d liu c nh hng rt ln n vic s dng my tnh. C th ni rng c s d liu ng vai tr quan trng trong mi 7

lnh vc c s dng my tnh nh gio dc, thng mi, k ngh, khoa hc, th vin,. Thut ng c s d liu tr thnh mt thut ng ph dng. Mt c s d liu l mt tp hp cc d liu c lin quan vi nhau, c lu tr trn my tnh, c nhiu ngi s dng v c t chc theo mt m hnh. D liu l nhng s kin c th ghi li c v c ngha. V d, qun l vic hc tp trong mt mi trng i hc, cc d liu l cc thng tin v sinh vin, v cc mn hc, im thi.Chng ta t chc cc d liu thnh cc bng v lu gi chng vo s sch hoc s dng mt phn mm my tnh lu gi chng trn my tnh. Ta c mt tp cc d liu c lin quan n nhau v mang nhiu ngha, l mt c s d liu. I.2Cc tnh cht ca mt c s d liu

Mt c s d liu c cc tnh cht sau: 1. Mt c s d liu biu th mt kha cnh no ca th gii thc nh hot ng ca mt cng ty, mt nh trng, mt ngn hng Nhng thay i ca th gii thc phi c phn nh mt cch trung thc vo trong c s d liu. Nhng thng tin c a vo trong c s d liu to thnh mt khng gian c s d liu hoc l mt th gii nh (miniworld) . 2. Mt c s d liu l mt tp hp d liu lin kt vi nhau mt cch logic v mang mt ngha c hu no . Mt c s d liu khng phi l mt tp hp tu tin. 3. Mt c s d liu c thit k v c ph bin cho mt mc ch ring. N c mt nhm ngi s dng c ch nh v c mt s ng dng c xc nh ph hp vi mi quan tm ca ngi s dng. Ni cch khc, mt c s d liu c mt ngun cung cp d liu, mt mc tng tc vi cc s kin trong th gii thc v mt nhm ngi quan tm tch cc n cc ni dung ca n. Mt c s d liu c th c c tu v c phc tp thay i. C nhng c s d liu ch gm vi trm bn ghi (nh c s d liu phc v vic qun l lng mt c quan nh), v c nhng c s d liu c dung lng rt ln (nh cc c s d liu phc v cho vic tnh cc in thoi, qun l nhn s trn mt phm vi ln). Cc c s d liu phi c t chc qun l sao cho nhng ngi s dng c th tm kim d liu, cp nht d liu v ly d liu ra khi cn thit. Mt c s d liu c th c to ra v duy tr mt cch th cng v cng c th c tin hc 8

ho. Mt c s d liu tin hc ho c to ra v duy tr bng bng mt nhm chng trnh ng dng hoc bng mt h qun tr c s d liu.

II-

H qun tr c s d liu
II.1- nh ngha h qun tr c s d liu

Mt h qun tr c s d liu l mt tp hp chng trnh gip cho ngi s dng to ra, duy tr v khai thc mt c s d liu. N l mt h thng phn mm ph dng, lm d qu trnh nh ngha, xy dng v thao tc c s d liu cho cc ng dng khc nhau. nh ngha mt c s d liu bao gm vic c t cc kiu d liu, cc cu trc v cc rng buc cho cc d liu s c lu tr trong c s. Xy dng mt c s d liu l qu trnh lu tr cc d liu trn cc phng tin lu tr c h qun tr c s d liu kim sot. Thao tc mt c s d liu bao gm cc chc nng nh truy vn c s d liu ly ra cc d liu c th, cp nht c s d liu phn nh cc thay i trong th gii nh v to ra cc bo co t cc d liu. Cc h qun tr c s d liu dng th hin mt c s d liu tin hc ho c th l ph dng (l mt phn mm ng gi) hoc c th l chuyn dng (l mt tp cc phn mm c to ra vi mt mc ch ring). Ngi ta gi c s d liu v h qun tr c s d liu bng mt thut ng chung l h c s d liu. Mi trng ca mt h c s d liu c m t bng hnh v di y (hnh I-1). II.2- Cc chc nng ca mt h qun tr c s d liu Mt h qun tr c s d liu hin nay c cc chc nng sau : 1. Lu tr cc nh ngha, cc mi lin kt d liu (gi l siu d liu) vo mt t in d liu. Cc chng trnh truy cp n c s d liu lm vic thng qua h qun tr c s d liu. H qun tr c s d liu s dng d liu trong t in d liu tm kim cc cu trc thnh phn d liu v cc mi lin kt c yu cu. Mi s thay i trong cc tp c s d liu s c t ng ghi li vo t in d liu. Nh vy, h qun tr c s d liu gii phng ngi s dng khi vic lp trnh cho cc mi lin kt phc tp trong mi chng trnh, vic sa i cc 9

chng trnh truy cp n tp c s d liu b sa i. Ni cch khc, h qun tr c s d liu loi b s ph thuc gia d liu v cu trc ra khi h thng. Ngi s dng / Ngi lp trnh

Chng trnh ng dng / Truy vn

Phn mm x l Truy vn / Chng trnh

Phn mm truy cp n cc d liu c lu tr

nh ngha c s d liu (Siu d liu )

C s d liu

nh I-1. Mi trng h c s d liu 2. To ra cc cu trc phc tp theo yu cu lu tr d liu. N gip ngi s dng lm nhim v kh khn l nh ngha v lp trnh cho cc c trng vt l ca d liu. 3. Bin i cc d liu c nhp vo ph hp vi cc cu trc d liu im 2. Nh vy, h qun tr c s d liu gip ngi s dng phn bit dng logic v dng vt l ca d liu. Bng vic duy tr s c lp d liu, h qun tr c s d liu chuyn cc yu cu logic thnh cc lnh nh v mt cch vt l v ly ra cc d liu yu cu. iu cng c ngha l h qun tr c s d liu to khun dng 10

cho cc d liu c ly ra lm cho n ph hp vi mong mun logic ca ngi s dng. 4. To ra mt h thng bo mt v p t tnh bo mt v ring t trong c s d liu. 5. To ra cc cu trc phc tp cho php nhiu ngi s dng truy cp n d liu 6. Cung cp cc th tc sao lu v phc hi d liu m bo s an ton v ton vn d liu. 7. Xc tin v p t cc quy tc an ton loi b vn ton vn d liu. iu cho php ta lm ti thiu s d tha d liu v lm ti a tnh nht qun d liu. 8. Cung cp vic truy cp d liu thng qua mt ngn ng truy vn. Mt ngn ng truy vn l mt ngn ng phi th tc cho php ngi s dng ch ra ci g cn phi lm m khng cn phi ch ra n c lm nh th no. Cc h qun tr c s d liu cng cung cp vic truy cp d liu cho nhng ngi lp trnh thng qua cc ngn ng th tc. II.3- Cc c trng ca gii php c s d liu Trc khi khi nim c s d liu ra i, h thng tp (file) l mt phng php c p dng trong vic qun l. Mt tp c th c xem l mt cp h s lu tr cc thng tin lin quan n tng cng vic ring bit. V d, trong mt c quan, b phn ti v s c mt cp h s lin quan n lng ca cc nhn vin, b phn t chc c cp h s lin quan n vn nhn s Vic x l ly ra cc thng tin nh l cc thng k v lng, v qu trnh cng tc lc u c thc hin mt cch th cng. Dn dn, khi lng thng tin ngy cng ln, vic x l thng tin ngy cng phc tp, ngi ta s dng my tnh vo vic qun l. Cc cp h s c chuyn thnh cc tp trn my tnh v vic x l thng tin c thc hin bng cch lp trnh (trong mt ngn ng lp trnh th h 3). Vic qun l theo gii php h thng tp c rt nhiu nhc im. Th nht, l s d tha thng tin: cng mt thng tin c lu tr nhiu ln (chng hn, danh sch nhn vin c mt trong tp lng v cng c mt c trong tp nhn s). iu gy ra vic lng ph b nh v d gy sai st trong khi cp nht d liu, d sinh ra cc d liu khng ng n. Th hai, l vic ph thuc gia chng 11

trnh ng dng v d liu. Mi khi c s thay i cu trc tp v cc d liu trong tp, chng trnh ng dng khai thc thng tin trn tp cng thay i theo. iu gy ra kh khn ln cho vic bo tr. Gii php c s d liu ra i gii quyt c nhng nhc im . C th, gii php c s d liu c nhng c trng sau: 1. Bn cht t m t ca h c s d liu. Mt c trng c bn ca gii php c s d liu l h thng c s d liu khng ch gm c bn thn c s d liu m cn c c nh ngha hoc m t y v cu trc c s d liu v cc rng buc. nh ngha ny c lu tr trong t in h thng, n cha cc thng tin nh l cu trc ca mi tp, kiu v dng lu tr ca tng mc d liu. Cc thng tin c lu gi trong t in gi l siu d liu (meta-data) v chng m t cu trc ca d liu nguyn thu (hnh I-1). Phn mm h qun tr c s d liu v nhng ngi s dng c s d liu s dng t in ly thng tin v cu trc ca c s d liu. 2. S c lp gia chng trnh v d liu. Trong h thng tp, cu trc ca cc tp c s d liu c nhng vo trong cc chng trnh truy cp, v vy bt k mt thay i no v cu trc ca mt tp cng i hi phi thay i tt c cc chng trnh truy cp n tp . Ngc li, cc chng trnh truy cp ca h qun tr c s d liu khng i hi vic thay i nh th. Cu trc ca cc tp d liu c lu tr trong t in tch ri vi cc chng trnh truy cp. Tnh cht ny gi l s c lp d liu chng trnh. 3. H tr cc khung nhn d liu nhiu thnh phn. Mt c s d liu c nhiu ngi s dng, mi mt ngi c th i hi mt phi cnh hoc mt khung nhn (view) khc nhau. Mt khung nhn c th l mt tp con ca c s d liu hoc n c th cha cc d liu o, l cc d liu c trch ra t cc tp c s d liu khc nhau nhng khng c lu tr mt cch r rng. Mt h qun tr c s d liu nhiu ngi s dng phi cung cp nhiu cng c nh ngha cc khung nhn nhiu thnh phn. 4. Chia s d liu v nhiu ngi s dng. Mt h qun tr c s d liu nhiu ngi s dng phi cho php nhiu ngi s dng truy cp ng thi n c s d liu. H qun tr c s d liu phi c phn mm kim tra cnh tranh m bo rng cc ngi s dng cp nht n 12

cng mt c s d liu phi c thc hin theo cch c kim tra cho kt qu ca cc cp nht l ng n. II.4- V d v mt c s d liu Chng ta hy xem xt mt c s d liu m nhiu ngi quen bit: c s d liu TRNG. C s d liu ny lu gi cc thng tin lin quan n sinh vin, cc mn hc, im trong mt mi trng i hc. C s d liu c t chc thnh 5 bng, mi bng lu tr cc bn ghi d liu cng mt kiu. Bng SINHVIN lu gi d liu v cc sinh vin, bng MNHC lu gi cc d liu v cc mn hc, bng HCPHN lu gi cc d liu v cc hc phn ca cc mn hc, bng IM lu gi im ca tng hc phn ca cc sinh vin v bng BITTRC lu gi thng tin v cc mn hc cn bit trc ca cc mn hc. Cu trc ca c s d liu v mt vi mu d liu v d c trnh by hnh I-2. SINHVIN MsSV 17 8 MNHC MsMH 101 102 103 104 HCPHN MsHP 1011 1012 1031 1032 1020 1040 HtnSV Nguyn Nam L Bc TnMH Tinhc c s Cu trc DL v GT Ton ri rc C s d liu MsMH 101 101 103 103 102 104 Hck 1 2 1 2 3 4 13 Lp K45T K45C Svht 8 5 5 3 Nm 2001 2002 2001 2002 2002 2002 Chuynngnh Tinhc CngnghTT Khoa Cng ngh Cng ngh Cng ngh Cng ngh Tngiovin Vn Vn Hong Hong Ln Huy

IM

MsSV 17 17 8 8 8 8

MsHP 1031 1020 1031 1011 1020 1040

im 8 6 9 10 7 9

BIT TRC M sMH 104 104 102

MsMHbittrc 102 103 101

Hnh I-2. C s d liu TRNG nh ngha c s d liu ny, chng ta phi ch ra cu trc ca cc bn ghi ca mi tp (bng) bng cch c t cc kiu khc nhau ca cc phn t d liu s c lu tr trong mi bn ghi. Theo hnh I-2 , mi bn ghi SINHVIN bao gm cc d liu biu din M s sinh vin, H tn sinh vin, Lp, Chuyn ngnh. Mi bn ghi MNHC bao gm cc d liu biu din Tn mn hc, M s mn hc, S n v hc trnh, Khoa, Chng ta phi ch ra mt kiu d liu cho mi phn t d liu bn trong cc bn ghi. V d, ta c th c t H tn sinh vin l mt dy k t c di nh hn hoc bng 30, M s sinh vin l mt s nguyn,. xy dng c s d liu TRNG, chng ta lu gi cc d liu biu din mi sinh vin, mi mn hc, vo cc tp thch hp. rng cc bn ghi trong cc tp khc nhau c th c mi quan h vi nhau. V d, bn ghi i vi Nguyn Nam trong tp SINHVIN c lin quan n hai bn ghi trong tp IM. Cc bn ghi ny ch ra im ca Nguyn Nam trong hai hc phn. Tng t nh vy, cc bn ghi trong tp c mi quan h vi cc bn ghi trong tp MNHC Thng thng mt c s d liu cha nhiu kiu bn ghi v cha nhiu mi quan h gia cc tp. 14

Thao tc c s d liu bao gm vic truy vn v cp nht c s d liu. Truy vn c s d liu l a ra cc yu cu i vi c s d liu ly ra cc thng tin cn thit. V d, chng ta c th c cc truy vn nh: Lit k cc mn hc v im thi ca sinh vin Nguyn Nam, a ra danh sch cc sinh vin thi trt mn c s d liu. Cp nht c s d liu bao gm vic thm vo c s d liu bn ghi, xo b cc bn ghi hoc sa i cc gi tr trong cc bn ghi. Cc truy vn v cc cp nht phi c c t trong ngn ng h c s d liu mt cch chnh xc trc khi chng c x l.

III-

M hnh c s d liu

Cc loi cu trc c s d liu v mi lin h gia chng ng vai tr rt ln trong vic xc nh tnh hiu qu ca h qun tr c s d liu. V vy, thit k c s d liu tr thnh hot ng chnh trong mi trng c s d liu. Vic thit k c s d liu c thc hin n gin hn nhiu khi ta s dng cc m hnh. Cc m hnh l s tru tng n gin ca cc s kin trong th gii thc. Cc tru tng nh vy cho php ta kho st cc c im ca cc thc th v cc mi lin h c to ra gia cc thc th . Vic thit k cc m hnh tt s a ra cc c s d liu tt v trn c s s c cc ng dng tt. Ngc li, m hnh khng tt s a n thit k c s d liu ti v dn n cc ng dng khng ng. Mt m hnh c s d liu l mt tp hp cc khi nim dng biu din cc cu trc ca c s d liu. Cu trc ca mt c s d liu l cc kiu d liu, cc mi lin kt v cc rng buc phi tun theo trn cc d liu. Nhiu m hnh cn c thm mt tp hp cc php ton c bn c t cc thao tc trn c s d liu. III.1- Cc loi m hnh c s d liu C rt nhiu m hnh d liu c ngh. Chng ta c th phn loi cc m hnh d liu da trn cc khi nim m chng s dng m t cc cu trc c s d liu. Cc m hnh d liu bc cao hoc m hnh d liu mc quan nim cung cp cc khi nim gn lin vi cch cm nhn d liu ca nhiu ngi s dng. Cc m hnh ny tp trung vo bn cht logic ca biu din d liu, n quan tm n ci c biu din trong c s d liu ch khng phi cch biu din d liu. 15

Cc m hnh d liu bc thp hoc cc m hnh d liu vt l cung cp cc khi nim m t chi tit v vic cc d liu c lu tr trong my tnh nh th no. Cc khi nim do m hnh d liu vt l cung cp ni chung c ngha i vi cc chuyn gia my tnh ch khng c ngha my i vi ngi s dng thng thng. gia hai loi m hnh ny l mt lp cc m hnh d liu th hin, chng cung cp nhng khi nim m ngi s dng c th hiu c v khng xa vi cch t chc d liu bn trong my tnh. Ngi ta cn gi loi m hnh d liu ny l loi m hnh d liu mc logic. Cc m hnh d liu th hin che giu mt s chi tit v vic lu tr d liu nhng c th c ci t trc tip trn h thng my tnh. Trong chng II, chng ta s nghin cu mt m hnh d liu mc quan nim, m hnh thc th - lin kt, gi tt l m hnh ER (Entity Relationship Model). M hnh ny s dng cc khi nim thc th, thuc tnh, mi lin kt, din t cc i tng ca th gii thc. Mt thc th din t mt i tng hoc mt khi nim ca th gii thc. V d, mt thc th l mt nhn vin hoc mt d n c m t trong c s d liu. Mt thuc tnh din t mt c trng no ca thc th. Chng hn, h tn, lng l cc thuc tnh ca thc th nhn vin. Mt mi lin kt gia hai hay nhiu thc th din t mt mi quan h qua li gia cc thc th. V d, gia thc th nhn vin v thc th d n c mi lin kt mt nhn vin lm vic trn mt d n. M hnh d liu hng i tng cng l mt m hnh d liu bc cao. N s dng cc khi nim nh lp, phng thc, thng ip Bn c c th tm hiu v m hnh ny trong cc ti liu [1], [2]. Cc m hnh d liu th hin l cc m hnh c s dng thng xuyn nht trong cc h c s d liu thng mi. Ba m hnh ni ting thuc loi ny l m hnh quan h, m hnh mng v m hnh phn cp. Cc m hnh mng v phn cp ra i trc v c s dng rng ri trong qu kh (trc 1970). Vo u nhng nm 70, m hnh quan h ra i. Do tnh u vit ca n, m hnh quan h dn dn thay th cc m hnh mng v phn cp. Chng ta s nghin cu v m hnh quan h trong chng III. Cc m hnh d liu vt l m t cch lu tr d liu trong my tnh gii thiu cc thng tin nh khun dng bn ghi, sp xp bn ghi, ng truy cp

16

III.2- Lc v trng thi c s d liu Trong mt m hnh d liu cn phi phn bit r gia m t ca c s d liu v bn thn c s d liu. M t ca mt c s d liu c gi l lc c s d liu, n c xc nh r trong qu trnh thit k c s d liu v khng b thay i thng xuyn. a s cc m hnh d liu c cc quy c hin th cc lc . Hin th ca mt lc c gi l biu ca lc . Mt biu lc ch th hin mt vi kha cnh ca lc nh l cc kiu bn ghi, cc mc d liu v mt s kiu rng buc. Cc kha cnh khc khng c th hin trong biu lc . Cc d liu trong mt c s d liu c th thay i mt cch thng xuyn. Cc d liu trong mt c s d liu ti mt thi im c th c gi l mt trng thi c s d liu hoc l nh (snapshot) ca c s d liu. Nhiu trng thi quan h c th c xy dng lm tng ng vi mt lc c s d liu c th. Mi khi chng ta chn vo hoc loi b mt bn ghi, sa i gi tr ca mt mc d liu trong mt bn ghi, chng ta lm thay i trng thi ca c s d liu sang mt trng thi khc. Vic phn bit gia lc c s d liu v trng thi c s d liu l rt quan trng. Khi chng ta nh ngha mt c s d liu mi, ta ch c t lc c s d liu cho h qun tr c s d liu. Ti thi im ny, trng thi ca c s d liu l mt trng thi rng, khng c d liu. Chng ta nhn c trng thi ban u ca c s d liu khi ta nhp d liu ln u tin. T tr i, mi khi mt php ton cp nht c thc hin i vi c s d liu, chng ta nhn c mt trng thi c s d liu khc. Ti mi thi im, c s d liu c mt trng thi hin ti. H qun tr c s d liu c trch nhim m bo rng mi trng thi c s d liu l mt trng thi vng chc, ngha l mt trng thi tho mn cu trc v cc rng buc c c t trong lc . V vy, vic c t mt lc ng n cho h qun tr c s d liu l mt vic lm cc k quan trng v lc phi c thit k mt cch cn thn. H qun tr c s d liu lu tr cc m t ca cc cu trc lc v cc rng buc cn gi l siu d liu vo trong t in (catalog) ca h qun tr sao cho phn mm h qun tr c s d liu c th tham kho n lc khi n cn. i khi ngi ta cn gi lc l mc tiu (intension) v trng thi c s d liu l m rng (extension) ca lc .

17

IV- Con ngi trong h c s d liu


Vi mt c s d liu ln, rt nhiu ngi tham gia vo vic thit k, s dng v duy tr c s d liu. Nhng ngi lin quan n h c s d liu c chia thnh hai nhm chnh. Nhm th nht gm nhng ngi m cng vic ca h lin quan hng ngy n c s d liu, l nhng ngi qun tr c s d liu, thit k c s d liu, s dng c s d liu, phn tch h thng v lp trnh ng dng. Nhm th hai gm nhng ngi lm vic duy tr mi trng h c s d liu nhng khng quan tm n bn thn c s d liu, l nhng ngi thit k v ci t h qun tr c s d liu, pht trin cng c, thao tc vin v bo tr. IV.1- Ngi qun tr h c s d liu (Database Administrator DBA) Trong mt t chc c nhiu ngi cng s dng cc ti nguyn, cn phi c mt ngi gim st v qun l. Trong mi trng h c s d liu, cc ti nguyn l c s d liu, h qun tr c s d liu v cc phn mm lin quan. Ngi qun tr h c s d liu l ngi chu trch nhim qun l cc ti nguyn . Ngi ny chu trch nhim v vic cho php truy cp c s d liu, t chc v hng dn vic s dng c s d liu, cp cc phn mm v phn cng theo yu cu. IV.2- Ngi thit k c s d liu (Database Designer) Ngi ny chu trch nhim xc nh cc d liu s c lu gi trong c s, chn cc cu trc thch hp biu din v lu gi cc d liu . Nhng nhim v ny c thc hin trc khi c s d liu c ci t v ph bin. Ngi thit k c trch nhim giao thip vi nhng ngi s dng tng lai hiu c cc i hi ca h v a ra mt thit k tho mn cc yu cu . Anh ta cng c nhim v giao thip vi cc nhm ngi s dng v c kh nng h tr cc yu cu ca cc nhm. IV.3- Nhng ngi s dng (End User) Nhng ngi s dng l nhng ngi m cng vic ca h i hi truy cp n c s d liu truy vn, cp nht v sinh ra cc thng tin. C th chia nhng ngi s dng thnh hai nhm chnh: nhng ngi s dng th ng (tc l nhng ngi s dng khng c nhiu kin thc v h c s d liu) v nhng ngi s dng ch ng (l nhng ngi c hiu bit tt v h c s d liu).

18

Chc nng cng vic ca nhng ngi s dng th ng (chim phn ln nhng ngi s dng) gn lin vi vic truy vn v cp nht thng xuyn c s d liu bng cch s dng cc cu hi v cc cp nht chun (gi l cc giao tc nh sn) c lp trnh v kim tra cn thn. Nhng ngi ny ch cn hc mt t v cc phng tin do h qun tr c s d liu cung cp v hiu cc kiu giao tc chun c thit k v ci t l . Nhng ngi s dng ch ng c hiu bit tt v h c s d liu, h c th t ci t cc ng dng ring ca mnh lm tho mn cc yu cu phc tp ca h. IV.4- Ngi phn tch h thng v lp trnh ng dng Ngi phn tch h thng xc nh cc yu cu ca nhng ngi s dng (ch yu l nhng ngi s dng th ng) c t cc chng trnh ph hp vi yu cu ca h. Ngi vit chng trnh ng dng th hin cc c t ca nhng ngi phn tch thnh chng trnh, sau kim th, sa li lm ti liu v bo tr cc giao tc nh sn. IV.5- Ngi thit k v ci t h qun tr d liu l nhng ngi thit k, ci t cc m un, giao din ca h qun tr c s d liu thnh cc phn mm ng gi. Mt h qun tr c s d liu l mt h thng phn mm phc tp bao gm nhiu thnh phn (m un). l cc m un ci t t in d liu, ngn ng truy vn, b x l giao din, truy cp d liu, kim tra cnh tranh, phc hi v an ton. H qun tr c s d liu phi giao tip vi cc h thng phn mm khc nh h iu hnh v cc chng trnh dch cho nhiu ngn ng khc nhau. IV.6- Nhng ngi pht trin cng c L nhng ngi thit k v ci t cc cng c (tool), l cc phn mm ng gi lm d vic thit k v s dng c s d liu. IV.7- Cc thao tc vin v nhng ngi bo tr L nhng ngi chu trch nhim v vic chy v bo tr phn cng v phn mm ca h thng. 19

V-

Ngn ng c s d liu v giao din


V.1- Cc ngn ng h qun tr c s d liu

Mt khi vic thit k c s d liu hon thnh, cn phi chn mt h qun tr c s d liu ci t c s d liu. Trong cc h qun tr c s d liu hin nay thng c cc ngn ng: ngn ng nh ngha d liu (data definition language DDL) v ngn ng thao tc d liu (data manipulation language DML). Ngn ng nh ngha d liu c s dng nh ngha cc lc . H qun tr c s d liu c mt chng trnh dch ngn ng DDL, nhim v ca n l x l cc cu lnh DDL xc nh m t ca cu trc lc v lu tr m t lc vo t in ca h qun tr c s d liu. Ngn ng thao tc c s d liu c s dng thao tc c s d liu. Cc thao tc chnh gm c ly ra, chn vo, loi b v sa i cc d liu. C hai kiu ngn ng thao tc d liu chnh: ngn ng thao tc d liu mc cao hoc ngn ng phi th tc hoc ngn ng thao tc d liu mc thp. Ngn ng thao tc d liu mc cao c th c s dng din t cc php ton c s d liu mt cch ngn gn. Phn ln cc h qun tr c s d liu cho php nhp cc lnh ca ngn ng thao tc d liu mc cao theo cch lp (ngha l sau khi nhp mt lnh, h thng s thc hin lnh ri mi nhp lnh tip theo) hoc c nhng vo mt ngn ng lp trnh vn nng. Trong trng hp nhng vo ngn ng khc, cc lnh ca ngn ng thao tc d liu phi c xc nh bn trong chng trnh sao cho mt chng trnh tin dch c th nhn ra chng v c h qun tr c s d liu x l. Ngn ng thao tc c s d liu mc thp hoc ngn ng th tc phi c nhng vo trong mt ngn ng lp trnh vn nng. Ngn ng thao tc c s d liu kiu ny thng rt ra cc bn ghi hoc cc i tng ring r v x l chng mt cch ring r. V vy, chng cn phi s dng cc cu trc ngn ng lp trnh nh vng lp, iu kin, rt ra tng bn ghi mt t mt tp cc bn ghi. Ngn ng thao tc d liu mc thp c gi l ngn ng mt ln mt bn ghi. Cc ngn ng thao tc d liu mc cao c th dng mt lnh rt ra mt lc nhiu bn ghi nn chng c gi l ngn ng mt ln mt tp hp.

20

V.2- Cc loi giao din h qun tr c s d liu Cc h qun tr c s d liu cung cp rt nhiu loi giao din ngi dng thn thin. Cc loi giao din chnh gm c: Giao din da trn bng chn: Cc giao din ny cung cp cho ngi s dng danh sch cc la chn, gi l bng chn (menu) v hng dn ngi s dng din t mt yu cu t u n cui. Cc bng chn lm cho ngi s dng khng cn nh cc lnh v c php ca ngn ng truy vn. Cc bng chn th xung tr thnh k thut ph bin trong cc giao din da trn ca s. Chng thng c s dng trong cc giao din qut, cho php ngi s dng nhn thy ni dung ca mt c s d liu theo cch khng c cu trc. Giao din da trn mu biu: Cc giao din ny hin th mt mu biu cho ngi s dng. Nhng ngi s dng c th in vo tt c cc ca mu biu nhp cc d liu mi hoc h ch in vo mt s cn h qun tr c s d liu s a ra cc d liu ph hp cho cc khc. Cc mu biu thng c thit k v c lp trnh cho cc ngi dng n gin. Mt s h thng c cc tin ch gip ngi s dng tng bc xy dng mt mu biu trn mn hnh. Giao din ho: Mt giao din ho (GUI) thng hin th mt lc cho ngi s dng di dng biu . Ngi dng c th thc hin mt truy vn bng cch thao tc trn biu . Trong nhiu trng hp, GUI s dng c cc bng chn v cc mu biu. a s cc GUI s dng cc cng c tr nh chut, phm kch cc phn ca s . Giao din cho ngi qun tr h thng: a s cc h qun tr c s d liu c cc lnh u tin, ch c nhng ngi qun tr h thng mi s dng cc lnh . l cc lnh to ra cc ti khon (account), t cc tham s cho h thng, cp cc ti khon, thay i lc hoc t chc li cc cu trc lu tr ca c s d liu.

VI- Cu hi n tp
1. nh ngha cc thut ng : c s d liu, h qun tr c s d liu, h c s d liu, t in c s d liu, m hnh c s d liu. 2. Nu cc tnh cht ca mt c s d liu 3. Nu cc chc nng ca mt h qun tr c s d liu 4. Gii thch cc c trng ca gii php c s d liu 21

5. nh ngha m hnh c s d liu v phn loi 6. Lit k cc ngi c lin quan n h c s d liu.

22

Chng II- M HNH THC TH - LIN KT


Trong chng ny chng ta s lm quen vi m hnh thc th - lin kt, gi tt l m hnh ER ( Entity-Relationship Model). l mt m hnh d liu mc quan nim ph bin, tp trung vo cc cu trc d liu v cc rng buc. M hnh ny thng c s dng thit k cc ng dng c s d liu v nhiu cng c thit k c s d liu s dng cc khi nim ca n.

I-

S dng m hnh quan nim bc cao cho vic thit k c s d liu

Qu trnh thit k mt c s d liu s dng m hnh quan nim bc cao c minh ha bng hnh II.1. Bc u tin l tp hp cc yu cu v phn tch. Trong bc ny, ngi thit k c s d liu phng vn nhng ngi s dng c s d liu hiu v lm ti liu v cc yu cu v d liu ca h. Kt qu ca bc ny l mt tp hp ghi chp sc tch v cc yu cu ca nhng ngi s dng. Nhng yu cu s c c t cng y v chi tit cng tt. Song song vi vic c t cc yu cu d liu, cn phi c t cc yu cu v chc nng ca ng dng: l cc thao tc do ngi s dng nh ngha s c p dng i vi c s d liu. Mi khi tt c cc yu cu c thu thp v phn tch, bc tip theo l to ra lc quan nim cho c s d liu bng cch s dng m hnh d liu quan nim mc cao. Bc ny gi l thit k quan nim. Lc quan nim l mt m t sc tch v cc yu cu d liu ca nhng ngi s dng. N bao gm cc m t chi tit ca cc kiu thc th, kiu lin kt v cc rng buc, chng c biu din bng cc khi nim do cc m hnh d liu bc cao cung cp. V nhng khi nim ny khng cha cc chi tit ci t, chng thng d hiu v c th s dng chng giao lu vi nhng ngi s dng. Lc quan nim mc cao cng c th c s dng nh mt dn chng m bo rng tt c cc i hi ca ngi s dng u tha mn v cc i hi ny khng cha cc mu thun. Gii php ny cho php nhng ngi thit k c s d liu tp trung vo vic c t cc tnh cht ca d liu m khng cn quan tm n cc chi tit lu tr. Mt thit k c s d liu quan nim tt s lm d cho cng vic ca nhng ngi thit k c s d liu. 23

Trong qu trnh (hoc sau khi) thit k lc quan nim, chng ta c th s dng cc php ton c bn ca m hnh d liu c t cc thao tc ca ngi s dng c xc nh trong khi phn tch chc nng. iu cng gip khng nh rng lc quan nim tha mn mi yu cu chc nng c xc nh. Nu c mt s yu cu chc nng khng th nu ra c trong lc ban u th bc ny c th c s sa i lc quan nim cho ph hp. Bc tip theo trong vic thit k c s d liu l vic ci t mt c s d liu bng cch s dng mt h qun tr c s d liu c sn. Hu ht cc h qun tr c s d liu s dng mt m hnh d liu ci t (th hin), chng hn nh m hnh quan h hoc i tng, v vy lc quan nim c chuyn t m hnh d liu bc cao thnh m hnh d liu ci t. Bc ny gi l thit k logic hoc l nh x m hnh d liu. Kt qu ca bc ny l mt lc c s d liu di dng mt m hnh d liu ci t ca h qun tr c s d liu. Bc cui cng trong thit k c s d liu l thit k vt l. Trong bc ny ta phi ch ra cc cu trc bn trong, cc ng dn truy cp, t chc tp cho cc tp c s d liu. Song song vi cc hot ng , cc chng trnh ng dng cng c thit k v ci t nh l cc giao tc (transaction) c s d liu tng ng vi cc c t giao tc mc cao.

24

Th gii thc

TP HP V PHN TCH CC YU CU

Cc yu cu chc nng

Cc yu cu c s d liu
THIT K QUAN NIM

PHN TCH CHC NNG

c t giao tc mc cao (c lp vi h QTCSDL)

Lc quan nim
THIT K L GIC

THIT K CHNG TRNH NG DNG

Lc l gic
THIT K VT L

CI T GIAO TC

Lc bn trong

Cc chng trnh ng dng

Hnh II-1. S m t cc bc chnh ca vic thit k

II- Cc thnh phn c bn ca m hnh ER


II.1- Thc th v thuc tnh i tng c trnh by trong m hnh ER l thc th. Thc th l mt vt trong th gii thc, c s tn ti c lp. Mt thc th c th l c th, tc l chng ta c th cm nhn c bng cc gic quan, hoc c th l tru tng, tc l ci m chng ta khng cm nhn c bng cc gic quan nhng c th nhn bit c 25

bng nhn thc. Mt ci t, mt nhn vin, l nhng thc th c th. Mt n v cng tc, mt trng hc l nhng thc th tru tng. Mi mt thc th c cc thuc tnh, l cc c trng c th m t thc th . V d, mt thc th Nhnvin c m t bng Htn, Tui, ach, Lng ca nhn vin . Mt thc th c th s c mt gi tr cho mi thuc tnh ca n. V d, nhn vin nv1 c cc gi tr cho cc thuc tnh Htn, Tui, ach, Lng ca n l L Vn, 32, H ni, 500000. Cc gi tr thuc tnh m t mi thc th s tr thnh mt phn chnh ca cc d liu s c lu gi trong c s d liu. Trong m hnh ER c mt nhiu kiu thuc tnh: thuc tnh n, thuc tnh phc hp, thuc tnh n tr, thuc tnh a tr, thuc tnh c lu tr, thuc tnh suy din c, thuc tnh c gi tr khng xc nh, thuc tnh phc tp. Thuc tnh n l thuc tnh khng th phn chia ra c thnh cc thnh phn nh hn. V d, thuc tnh Tui ca mt nhn vin l mt thuc tnh n. Thuc tnh phc hp l thuc tnh c th phn chia c thnh cc thnh phn nh hn, biu din cc thuc tnh c bn hn vi cc ngha c lp. V d, thuc tnh Htn ca thc th nhn vin c th phn chia thnh cc tnh Hm v Tn. Gi tr ca mt thuc tnh l s kt hp kt hp cc gi tr ca cc thuc tnh thnh phn to nn n. Vic phn chia mt thuc tnh phc hp thnh cc thuc tnh n ty thuc vo hon cnh c th. Nhng thuc tnh c gi tr duy nht cho mt thc th c th gi l cc thuc tnh n tr. V d, Htn l mt thuc tnh n tr ca thc th nhn vin, mi nhn vin c mt h tn duy nht. Trong mt s trng hp, mt thuc tnh c th c mt tp gi tr cho cng mt thc th. Nhng thuc tnh nh vy gi l thuc tnh a tr. V d, thuc tnh Bngcp ca mt ngi. Mt ngi c th khng c bng cp no, ngi khc c th c mt bng, ngi khc na c th c nhiu bng. Nh vy, cc ngi khc nhau c th c mt s gi tr khc nhau cho thuc tnh Bngcp. Thuc tnh Bngcp l mt thuc tnh a tr. Thuc tnh c lu tr l cc thuc tnh m gi tr ca n c nhp vo khi ci t c s d liu. Trong mt s trng hp, hai hay nhiu thuc tnh c gi tr lin quan n nhau. V d, thuc tnh Tui v thuc tnh Ngysinh ca mt ngi. Vi mt ngi c th, ta c th tnh tui ca anh ta bng cch ly nm hin ti tr i nm ca Ngysinh. Thuc tnh m gi tr ca n c th tnh c thng qua gi tr ca cc thuc tnh khc gi l thuc tnh suy din c. 26

Cc gi tr khng xc nh (null values): Trong mt s trng hp, mt thc th c th c th khng c cc gi tr p dng c cho mt thuc tnh. V d, thuc tnh Sinthoi ca thc th nhn vin s khng c gi tr i vi cc nhn vin khng c s in thoi. Trong trng hp nh vy, ta phi to ra mt gi tr c bit gi l gi tr khng xc nh (null). Gi tr khng xc nh c to ra khi mt thuc tnh c gi tr khng p dng c hoc khi khng bit. Cc thuc tnh phc tp: L s kt hp ca cc thuc tnh phc hp v a tr. II.2- Kiu thc th, tp thc th, kha v tp gi tr Cc kiu thc th v cc tp thc th: Mt c s d liu thng cha nhng nhm thc th nh nhau. V d, mt cng ty thu hng trm nhn vin v lu gi nhng thng tin tng t lin quan n mi nhn vin. Cc thc th nhn vin ny chia s cc thuc tnh ging nhau nhng mi thc th c cc gi tr ring cho cc thuc tnh . Mt kiu thc th l mt tp hp cc thc th c cc thuc tnh nh nhau. Mt kiu thc th trong c s d liu c m t bng tn v cc thuc tnh. Vd: NHNVIN (Htn, Tui, Lng), CNGTY (Tn, aim, Gimc). Mt tp hp cc thc th ca mt kiu thc th c th trong c s d liu ti mt thi im c gi l mt tp thc th, n thng c tham chiu n bng cch s dng tn ca kiu thc th. V d, NHNVIN va dng ch mt kiu thc th, va ch tp hp hin ti ca tt c cc thc th nhn vin trong c s d liu. Hnh II-2 minh ha cc kiu thc th NHNVIN, CNGTY v cc tp thc th tng ng. Mt kiu thc th c biu din trong lc ER nh l mt hp hnh ch nht c cha tn kiu thc th. Cc thuc tnh c t trong cc hnh van v c ni vi cc kiu thc th bng cc ng thng. Cc thuc tnh phc hp cng c ni vi cc thuc tnh thnh phn ca n bng ng thng. Cc thuc tnh a tr c hin th trong cc hnh van p (hnh II-3). Mt kiu thc th m t mt lc (hoc mt mc ch) cho mt tp cc thc th chia s cng mt cu trc. Tp hp cc thc th ca mt kiu thc th c th c nhm vo mt tp thc th v c gi l mt th hin ca mt kiu thc th.

27

NHNVIN (Htn, Tui, Lng) Nv1 (L Lan, 30, 800000) Nv2 (Trn B, 45, 1000000) Nv3

CNGTY (Tn, adim, Gimc) Ct1 (CT Phn mm, H ni, V An) Ct2 (CT Hoa qu, Hi phng, L H) Ct3

(Hong Vn, 25, 600000) (CT My tnh, H ni, Phan Anh) . . . . . . Hnh II-2. Kiu thc th v tp thc th Thuc tnh kha ca mt kiu thc th: Mt rng buc quan trng trn cc thc th ca mt kiu thc th l kha. Mt kiu thc th thng c mt thuc tnh m cc gi tr ca n l khc nhau i vi mi thc th ting bit trong mt tp thc th. Thuc tnh nh vy gi l thuc tnh kha v cc gi tr ca n c th dung xc nh tng thc th mt cch duy nht. V d, thuc tnh Tn ca kiu thc th CNGTY l kha ca kiu thc th v mi thc th cng ty c mt tn duy nht. i khi, nhiu thuc tnh kt hp vi nhau to thnh mt kha, ngha l t hp cc gi tr ca cc thuc tnh ny phi khc nhau i vi mi thc th. Trong trng hp nh vy ta c mt thuc tnh kha phc hp. Ch rng kha phc hp phi ti thiu, ngha l tt c cc thuc tnh thnh phn phi c mt trong thuc tnh phc hp tha mn tnh cht duy nht. Trong biu ha ca m hnh ER, thuc tnh kha c biu din bng cch gch ngang di tn ca n (hnh II-3). Khi ch ra rng mt thuc tnh l kha ca mt kiu thc th ngha l tnh cht duy nht nu trn phi c tha mn i vi i vi mi m rng ca kiu thc th. Nh vy, rng buc kha cm hai thc th bt k c gi tr cho thuc tnh kha nh nhau ti cng mt thi im. l mt rng buc trn tt c cc th hin ca thc th. Rng buc kha cng nh cc rng buc s c gii thiu v sau c ly ra t cc rng buc ca th gii nh ca c s d liu. 28

Mt kiu thc th c th c nhiu hn mt thuc tnh kha. V d, nu mt cng ty c mt m s duy nht v mt tn duy nht th cc thuc tnh Mscng ty v Tncngty u l cc thuc tnh kha. Mt kiu thc th cng c th khng c kha. Mt thc th khng c kha c gi l kiu thc th yu. Hm Tn

MsNV

Htn

Ngysinh

Bngcp

NHNVIN Hnh II-3. Biu din kiu thc th v cc thuc tnh Min gi tr ca cc thuc tnh: Mi thuc tnh n ca mt kiu thc th c kt hp vi mt min gi tr. l mt tp cc gi tr c th gn cho thuc tnh ny i vi mi thc th ring bit. Cc min gi tr khng hin th trong cc s ER. Mt cch ton hc, mt thuc tnh A ca kiu thc th E c tp gi tr V c th c nh ngha nh l mt hm t E vo tp hp lc lng P(V) ca V: A: E P(V) Ta k hiu gi tr ca thuc tnh A i vi thc th e l A(e). nh ngha trn ng cho cc thuc tnh n tr, a tr v thuc tnh khng xc nh. Mt gi tr khng xc nh c biu din bng mt tp rng. Vi cc thuc tnh n tr, A(e) l mt gi tr n cho thc th e. Cc thuc tnh a tr khng c cc hn ch trn A(e). Vi mt thuc tnh phc hp A, tp gi tr V l tch cc ca P(V1)x P(V2)x.xP(Vn), trong V1, V2, , Vn l tp cc gi tr cho cc thnh phn n ca A.

29

II.3- Kiu lin kt, tp lin kt v cc th hin Mt kiu lin kt R gia n kiu thc th E1, E2, ,En xc nh mt tp lin kt gia cc thc th ca cc kiu . Cng nh cc kiu thc th v tp thc th, mt kiu lin kt v tp lin kt tng ng vi n cng c tn chung l R. Mt cch ton hc, tp lin kt R l mt tp hp cc th hin lin kt ri , i= 1,2, trong mi ri lin kt n thc th ring bit e1,e2,,en v mi mt thc th ej trong ri l mt thnh phn ca kiu thc th Ej , 1 j n. Nh vy, mt kiu lin kt R l mt quan h ton hc trn E1, E2, , En hoc c th nh ngha nh l mt tp con ca tch cc E1 x E2 x x En. Mi kiu thc th E1,E2, , En c gi l tham gia vo kiu lin kt R, v tng t, mi thc th ring bit e1, e2, , en c gi l tham gia vo th hin lin kt ri = ( e1,e2,,en). Mt cch khng hnh thc, mi th hin lin kt ri trong R l mt s kt hp ca cc thc th, mi thc th thuc v mt kiu thc th tham gia vo lin kt. Mi lin kt ri nh vy din t mt s kin rng cc thc th tham gia trong ri c mi quan h vi nhau theo mt cch no trong th gii thc. V d, trong thc t, cc nhn vin lm vic cho cc n v, nh vy, c mt kiu lin kt lin kt lm vic cho, lin kt gia kiu thc th NHNVIN v kiu thc th NV. Trong s ER, kiu lin kt c biu din bng mt hnh thoi ni trc tip vi cc hnh ch nht biu din cc kiu thc th tham gia vo lin kt. Hnh II-4 minh ha kiu lin kt v th hin lin kt a) Kiu lin kt NHNVIN b) Th hin lin kt
Lm vic

NV

30

NHNVIN Nv1 Nv2 Nv3 Nv4

lm vic cho

NV v1

.
Hnh II-4. Kiu lin kt v th hin lin kt

v2

II.4- Cp lin kt, tn vai tr v kiu lin kt quy Cp ca mt kiu lin kt l s cc kiu thc th tham gia vo kiu lin kt . Mt kiu lin kt c th c cp 1, cp 2, cp 3,. V d, kiu lin kt <lm vic cho> gia kiu thc th NHNVIN v kiu thc th NV l mt kiu lin kt cp 2. Kiu lin kt <bit trc> gia kiu thc th MNHC vi chnh n l mt kiu lin kt cp 1 i khi chng ta c th coi mt kiu lin kt nh mt thuc tnh ca mt kiu thc th. V d, nu kiu thc th NHNVIN c thuc tnh nv ch ra tn n v m nhn vin lm vic cho, th thuc tnh nv biu th mt kiu lin kt. Ni cch khc, mt thuc tnh ca mt kiu thc th hoc c chc nng biu th mt c trng ca kiu thc th, hoc c chc nng biu th mt kiu lin kt gia kiu thc th vi cc kiu thc th khc. Cc thuc tnh biu th mt kiu lin kt c th n tr hoc a tr tu theo bn cht ca mi lin kt. Cc tn vai tr v cc kiu lin kt quy: Mi mt kiu thc th tham gia vo mt kiu lin kt c mt vai tr c th trong lin kt. Tn vai tr dng ch r vai tr ca cc thc th ca kiu thc th tham gia lin kt, n gip vic gii thch ngha ca lin kt. V d, trong kiu lin kt NHNVIN <lm vic cho > NV, vai tr ca cc thc th ca kiu thc th NHNVIN l nhn vin hoc cng nhn cn vai tr ca cc thc th ca kiu thc th NV l n v hoc ni thu cng nhn. Nu cc kiu thc th tham gia vo kiu lin kt l khc nhau th tn vai tr l hon ton khng cn thit bi v c th s dng tn cc kiu thc th lm tn vai tr. Tuy nhin, trong mt s trng hp, mt kiu thc th c th tham gia vo mt kiu lin kt vi cc vai tr khc nhau. Trong nhng trng hp nh 31

vy, tn vai tr tr nn cn thit phn bit ngha ca mi s tham gia. Cc kiu lin kt nh vy gi l kiu lin kt quy. V d, trong s cc nhn vin lm vic cho mt n v, c cc nhn vin c phn cng gim st cc nhn vin khc. Nh vy s c mt kiu lin kt gia cc thc th ca kiu thc th NHNVIN: NHNVIN <gim st> NHNVIN. Kiu thc th NHNVIN tham gia hai ln vo kiu lin kt <gim st>, mt ln vi vai tr ngi gim st, mt ln vi vai tr ngi b gim st. II.5- Cc rng buc trn cc kiu lin kt Cc kiu lin kt thng c mt s rng buc hn ch s cc t hp c th ca cc thc th c th tham gia trong tp hp lin kt tng ng. Cc rng buc ny c xc nh t tnh trng ca th gii thc m kiu lin kt biu din. V d, nu cng ty c quy ch l mt nhn vin ch lm vic cho mt n v th chng ta phi m t rng buc ny trong lc . C hai loi rng buc chnh: t s lc lng v s tham gia. T s lc lng: T s lc lng cho mt kiu lin kt ch ra s cc th hin lin kt m mt thc th c th tham gia. Vi cc kiu lin kt cp 2, c th c cc t s lc lng 1:1, 1:N, v M:N. Mt kiu lin kt c t s lc lng 1:1 gia hai kiu thc th A v B c ngha l trong kiu lin kt , mt thc th ca kiu A ch lin kt vi mt thc th ca kiu B v ngc li, mt thc th ca kiu B ch lin kt vi mt thc th ca kiu A. T s lc lng 1:N c ngha l mt thc th ca kiu A c th lin kt vi nhiu thc th ca kiu B nhng mt thc th ca kiu B ch lin kt vi mt thc th ca kiu A. Trong kiu lin kt c t s lc lng M:N, mi thc th ca kiu A c th lin kt vi nhiu thc th ca kiu B v ngc li, mi thc th ca kiu B c th lin kt vi nhiu thc th ca kiu A. Trong biu din ca lc ER, cc t s lc lng c biu din bng cch ghi 1, N, M trn cc hnh thoi biu din kiu lin kt (hnh II-5) .

32

NHNVIN

Qun l

NV

NHNVIN

Lm vic cho

NV

NHNVIN

Lm vic trn

DN

Hnh II-5. T s lc lng ca cc kiu lin kt Cc rng buc tham gia v s ph thuc tn ti: Rng buc tham gia ch ra rng c phi s tn ti ca mt kiu thc th ph thuc vo mt kiu thc th khc thng qua mt kiu lin kt hay khng. C hai kiu rng buc tham gia: rng buc tham gia ton b v rng buc tham gia b phn. Tham gia ton b ngha l tt c cc thc th ca kiu thc th phi tham gia vo kiu lin kt cn tham gia b phn ngha l ch mt b phn cc thc th ca kiu thc th tham gia vo kiu lin kt. V d, xt kiu lin kt NHNVIN <qun l> NV. Trong thc t, mi n v phi c mt ngi qun l (l mt nhn vin) nhng khng phi nhn vin no cng qun l mt n v. Nh vy, s tham gia ca cc thc th n v vo kiu lin kt l ton b cn s tham gia ca cc thc th nhn vin vo kiu lin kt l b phn. S tham gia ton b cn c gi l s ph thuc tn ti. Trong lc ER, s tham gia ton b c biu th bng ng ni i t kiu thc th n kiu lin kt. V d : II.6- Thuc tnh ca cc kiu lin kt Cc kiu lin kt cng c th c cc thuc tnh, ging nh cc thuc tnh ca cc kiu thc th. V d, kiu lin kt <lm vic trn> gia cc kiu thc th NHNVIN v DN c th c thuc tnh Sgi ghi li s gi lm vic ca mt nhn vin trn mt d n. Cc thuc tnh ca kiu lin kt cng c biu din bng mt hnh van v c ni vi kiu lin kt. V d:

33

S gi

NHNVIN

Lm vic trn

DN

II.7- Cc kiu thc th yu Cc kiu thc th khng c cc thuc tnh kho cho chnh mnh c gi l cc kiu thc th yu. Ngc li, cc kiu thc th thng thng (ngha l c thuc tnh kho) c gi l kiu thc th mnh. Cc thc th ca mt kiu thc th yu c xc nh bng cch lin kt vi cc thc th c th ca mt kiu thc th khc phi hp vi mt s gi tr thuc tnh ca n. Ta gi kiu thc th khc l kiu thc th xc nh hoc kiu thc th ch. Ta gi kiu lin kt gia kiu thc th yu v kiu thc th ch ca n l lin kt xc nh ca thc th yu. Mt kiu thc th yu lun lun c mt rng buc tham gia ton b (tn ti ph thuc) vo lin kt xc nh ca n bi v mt kiu thc th yu khng th c xc nh m khng c kiu thc th ch. V d, trong mt cng ty, con ca nhn vin v nhn vin c th hng ch bo him theo nhn vin. Nh vy, s c mt kiu lin kt NHNVIN <c> < CON>. y l mt kiu lin kt c t s lc lng 1:N. Cc thuc tnh ca kiu thc th CON l Htn, Ngaysinh, Giitnh. Hai ngi con ca hai nhn vin khc nhau c th c cng gi tr cho cc thuc tnh nhng n l hai thc th khc nhau. Chng ch c xc nh nh hai thc th khc nhau sau khi xc nh mt thc th nhn vin c th c lin quan n tng ngi ph thuc. Mi thc th ca kiu thc th NHNVIN c gi l ch ca cc thc th ca kiu thc th CON lin kt vi n. Thng thng, cc kiu thc th yu c mt kho b phn, l mt tp hp cc thuc tnh c th xc nh mt cch duy nht cc thc th yu lin kt vi cng mt thc th ch. V d, nu hai ngi con ca mt nhn vin khng bao gi c tn ging nhau th thuc tnh Htn ca kiu thc th CON l mt kho b phn. Trong trng hp xu nht, thuc tnh phc hp gm tt c cc thuc tnh ca thc th yu s l mt kho b phn.

34

Trong s ER, kiu thc th yu v kiu lin kt xc nh ca n c biu din bng mt hnh ch nht v mt hnh thoi nt i. V d: NHNVIN 1
C

CON

III- V d v thit k m hnh ER


Trong phn ny, chng ta xt v d v vic xy dng m hnh ER cho c s d liu cng ty. Nh trong phn I ni, bc u tin trong vic thit k mt c s d liu l tp hp v phn tch cc yu cu. Kt qu ca bc ny l mt tp hp cc ghi chp sc tch v cc yu cu ngi s dng cng nh tnh trng ca ni ta cn xy dng c s d liu. Gi s rng sau khi tp hp cc yu cu v phn tch, hot ng ca cng ty c ghi chp li nh sau: 1. Cng ty c t chc thnh cc n v. Mi n v c mt tn duy nht, mt m s duy nht, mt nhn vin c th qun l n v. Vic nhn vin qun l n v c ghi li bng ngy nhn vin bt u qun l. Mt n v c th c nhiu a im. 2. Mi n v kim sot mt s d n. Mt d n c mt tn duy nht, mt m s duy nht v mt a im. 3. Vi mi nhn vin chng ta lu gi li H tn, M s, a ch, lng, gii tnh, ngy sinh. Mt nhn vin ch lm vic cho mt n v nhng c th lm vic trn nhiu d n do nhiu n v kim sot. Chng ta lu gi li s gi lm vic ca mi nhn vin trn mt d n. Mi nhn vin c th c mt ngi gim st trc tip, ngi cng l mt nhn vin. 4. Mi nhn vin c nhng ngi con. Nhng ngi ny c hng bo him theo nhn vin. Vi mi ngi con ca nhn vin, chng ta lu gi H tn, gii tnh, ngy sinh . III.1- Xc nh cc kiu thc th, cc thuc tnh v cc kiu lin kt Theo cc ghi chp trn, chng ta c th xc nh cc kiu thc th v cc kiu lin kt nh sau:

35

1. CNGTY khng phi l mt kiu thc th v y ta c mt cng ty duy nht. 2. NV l mt kiu thc th vi cc thuc tnh Tn, Ms, Ngiqunl, Ngybtu v aim. Cc thuc tnh Tn, Ms, aim l cc thuc tnh m t n v, cc thuc tnh Ngiqunl, Ngybtu l cc thuc tnh biu th mt kiu lin kt (vi kiu thc th NHNVIN). Cc thuc tnh u l n v n tr, tr thuc tnh aim, n l mt thuc tnh a tr (mt n v c nhiu a im). Cc thuc tnh Tn, Ms l cc thuc tnh kha (v mi n v c mt tn v mt m s duy nht). 3. Kiu thc th DN c cc thuc tnh Tn, Ms, aim, nvkimsot. Cc thuc tnh Tn, Ms, a im l cc thuc tnh m t DN, thuc tnh nvkimsot biu th kiu lin kt vi kiu thc th NV (mt n v kim sot mt s d n). Cc thuc tnh Tn, Ms l cc thuc tnh kha. 4. Kiu thc NHNVIN vi cc thuc tnh Htn, Ms, Gii tnh, Ngysinh, Lng, nv, Ngigimst. Thuc tnh Htn l mt thuc tnh phc hp (gm Hm, Tn). Cc thuc tnh nv, Ngigimst m t cc kiu lin kt gia kiu thc th NHNVIN v cc kiu thc th NV v NHNVIN tng ng. Thuc tnh Ms l thuc tnh kha. 5. Kiu thc th CON vi cc thuc tnh Nhnvin, Htn, Gii tnh, Ngysinh. Thuc tnh Nhnvin m t kiu lin kt vi kiu thc th NHNVIN. 6. Kiu lin kt NV <kim sot> DN l kiu lin kt c t s lc lng 1:N (mt n v kim sot mt s d n, mt d n do mt n v qun l). S tham gia ca DN vo kiu lin kt l ton b (bi v d n no cng c mt n v kim sot). Nu n v no cng c d n th vic tham gia ca NV vo kiu lin kt l ton b, ngc li s tham gia l b phn. 7. Kiu lin kt NHNVIN <lm vic cho> NV c t s lc lng N:1 (mi nhn vin lm vic cho mt n v nhng mi n v c nhiu nhn vin l vic). S tham gia ca hai kiu thc th vo lin kt l ton b. 8. Kiu lin kt NHNVIN <qunl> NV c t s lc lng 1:1 (mt nhn vin qun l mt n v v mt n v c mt nhn vin qun l). S tham gia ca kiu th NHNVIN vo kiu lin kt l b phn (bi v khng phi nhn 36

vin no cng qun l n v), ngc li, s tham gia ca kiu thc th NV vo kiu lin kt l ton b (bi v n v no cng phi c ngi qun l). 9. Kiu lin kt NHNVIN <gim st > NHNVIN c t s lc lng 1:N (mt nhn vin c th gim st nhiu nhn vin khc). S tham gia ca ca kiu thc th NHNVIN ( c hai pha) l b phn (bi v khng phi nhn vin no cng gim st nhn vin khc, v khng phi nhn vin no cng b gim st). Kiu thc th NHNVIN y ng hai vai tr khc nhau: vai tr ngi gim st v vai tr ngi b gim st. 10. Kiu lin kt NHNVIN <lm vic trn> DN l c t s lc lng l M:N (mt nhn vin c th lm vic trn nhiu d n khc nhau v mi d n c nhiu nhn vin lm vic). S tham gia ca kiu thc th NHNVIN l b phn (bi v khng phi tt c nhn vin u lm vic trn d n) ngc li, s tham gia ca kiu thc th DN l ton b (bi v d n no cng phi c nhn vin lm vic). Kiu lin kt ny c mt thuc tnh l Sgi, ghi li s gi lm vic ca mt nhn vin trn mt d n. 11. Kiu lin kt NHNVIN <c> CON biu th mi lin h gia kiu thc th NHNVIN v kiu thc th CON (mt nhn vin c th c nhng ngi con). Kiu lin kt ny c t s lc lng 1:N (mt nhn vin c th c nhiu ngi con nhng mi con l con ca ch mt nhn vin). S tham gia ca kiu thc th NHNVIN l b phn (khng phi nhn vin no cng c con), ngc li, s tham gia ca kiu thc th CON l ton b (ngi con no cng phi l con ca mt nhn vin). Ngoi ra, kiu thc th CON l mt kiu thc th yu. Sau khi phn tch nh trn, v lc ER ta loi b cc thuc tnh c xem nh cc kiu lin kt ra khi cc kiu thc th. l cc thuc tnh Ngiqunl v Ngybtu ca kiu thc th NV, thuc tnh nvkimsot ca kiu thc th DN, thuc tnh nv v thuc tnh Ngigimst ca kiu thc th NHNVIN, thuc tnh Nhnvin ca kiu thc th PHTHUC . Kt qu, chng ta c lc ER nh sau:

37

Hm

Tn Ngysinh Htn Qunl Ngybt Ms Tn aim

Giitnh

Lng

ach

M s

NHNVIN

NV

Lmviccho

Gim st Sgi Kim

Lmvic

DN

CON

Tn

Ms

aim

Tn

Ngysinh

Giitnh

Hnh II-6. Lc ER CNGTY

38

IV- M hnh thc th lin kt m rng (m hnh EER)


Mt cch truyn thng, khi xy dng mt c s d liu chng ta thng bt u bng vic xy dng m hnh lin kt thc th (m hnh ER) ri sau chuyn i n thnh m hnh quan h. Cc khi nim v m hnh ER c th c coi l kh y trnh by cc lc c s d liu trong cc ng dng c s d liu truyn thng, ch yu l cc ng dng x l d liu trong kinh doanh v trong cng nghip. Ngy nay, cc ng dng mi hn cho cng ngh c s d liu tr nn ph bin. Cc c s d liu loi ny i hi nhng yu cu phc tp hn so vi cc ng dng truyn thng. trnh by c cc yu cu ny mt cch chnh xc v r rng, ngi thit k c s d liu phi s dng thm cc khi nim mi. Vic thm vo m hnh ER nhng khi nim mi lm m rng m hnh ny v to nn m hnh ER m rng (gi tt l m hnh EER Enhanced Entity Relationship Model). M hnh EER bao gm tt c cc khi nim ca m hnh ER, ngoi ra cn c cc khi nim nh lp, kiu lin kt lp cha/ lp con, tnh tha k, chuyn bit, tng qut, phm tr. IV.1- Lp cha, lp con v s tha k Khi nim u tin trong m hnh EER l lp con ca mt kiu thc th. Nh ta bit, kiu thc th c s dng biu din c kiu ca thc th v tp hp cc thc th cng mt kiu trong c s d liu. Trong nhiu trng hp, mt kiu thc th c th c cc nhm con cc thc th ca n v nhng nhm con ny cn c trnh by r rng do ngha ca n i vi c s d liu. V d, cc thc th thnh vin ca kiu thc th NHNVIN c th c chia thnh cc nhm nh: KS, NGIQUNL, KTHUTVIN Tp cc thc th trong cc nhm l mt tp con ca cc thc th trong tp thc th nhn vin, ngha l mi thc th l thnh vin ca mt trong nhng nhm ny cng l mt nhn vin. Chng ta gi mi nhm ny l mt lp con ca kiu thc th NHNVIN. Kiu thc th NHNVIN c gi l lp cha ca cc lp con . Ta gi quan h gia lp cha v mt trong nhng lp con ca n l kiu lin kt lp cha/ lp con. Kiu lin kt lp cha/ lp con thng c gi l kiu lin kt l mt (IS_A). Chng ta thng ni rng mt k s l mt nhn vin, mt k thut vin l mt nhn vin. 39

Ch rng mt thc th thnh vin trong lp con cng biu din mt thc th thc ti nh mt thnh vin trong lp cha, v vy, cc thc th thnh vin trong lp con v cc thc th thnh vin trong lp cha l ging nhau, nhng vai tr ca chng hon ton khc nhau. Khi chng ta to mt kiu lin kt lp cha/ lp con trong h thng c s d liu, chng ta c th trnh by mt thnh vin ca lp con nh nh l mt i tng ring bit, mt bn ghi ring bit kt hp vi cc thc th ca lp cha ca n qua thuc tnh kho. Kiu lin kt lp cha/ lpcon l mt kiu lin kt c t s lc lng 1:1. Mt khi nim quan trng gn vi cc lp con l s tha k kiu. Kiu ca mt thc th c xc nh bng cc thuc tnh v cc kiu lin kt m n tham gia. V mi thc th thnh vin trong lp con cng biu din mt thc th thc ti nh thc th trong lp cha nn cc gi tr ca thuc tnh ca n trong lp con cng phi ging nh l gi tr ca cc thuc tnh ca n khi n ng vai tr l mt thnh vin trong lp cha. Thc th ny cng c tha k cc lin kt trong lp cha. Mt lp con vi cc thuc tnh ring ca n cng vi tt c cc thuc tnh v kiu lin kt k tha c t lp cha c quyn c coi nh l mt kiu thc th. IV.2- Chuyn bit ho, tng qut ho IV.2.1- Chuyn bit ho L qu trnh xc nh tp hp cc lp con ca mt kiu thc th. Kiu thc th ny c gi l lp cha trong chuyn bit ho. Tp cc lp con to nn mt chuyn bit ho c xc nh da trn c s mt c trng phn bit no ca cc thc th trong lp cha. V d, tp cc lp con {THK, KS, KTHUTVIN} l mt chuyn bit ho ca lp cha NHNVIN c xc nh da trn kiu cng vic ca cc thc th. Mt kiu thc th c th c mt s chuyn bit ho da trn cc c trng khc nhau. V d, mt chuyn bit ho khc ca kiu thc th NHNVIN sinh ra tp cc lp con {NHNVIN_BINCH, NHNVIN_HPNG}. Trong chuyn bit ho ny, cc thc th c phn bit da trn c s hnh thc tr tin. Mt chuyn bit ho c biu din trong s EER nh sau: Cc lp con xc nh mt chuyn bit ho c ni bng cc ng n mt vng trn, vng trn c ni vi lp cha. K hiu tp con (trn mi ng ni mt tp con vi vng trn ch hng ca kiu lin kt lp cha / lp con). Cc thuc tnh ch p dng 40

cho cc thc th ca mt lp con c th - v d nh Tcnhmy ca lp con THK - c ni vi hnh ch nht biu din lp con . Cc thuc tnh nh vy gi l cc thuc tnh ring hoc l cc thuc tnh a phng ca lp con. Tng t, mt lp con c th tham gia vo cc kiu lin kt ring, v d, lp con NHNVIN_HPNG tham gia vo kiu lin kt <thuc v> (hnh II-7). C hai l do chnh t cc kiu lin kt lp cha/lp con v chuyn bit ho vo m hnh d liu. Th nht l c mt s thuc tnh c th p dng cho mt s cc thc th ch khng phi cho ton b cc thc th ca lp cha. Khi , mt lp con s c xc nh nhm cc thc th m cc thuc tnh c th p dng c. Cc thnh vin ca lp con ny c th vn chia s phn ln cc thuc tnh ca chng vi cc thnh vin khc ca lp cha.V d, lp con THK c thuc tnh ring l Tcnhmy, lp con KS c thuc tnh ring l Kiuks nhng cc thuc tnh khc ca chng l chung vi kiu thc th NHNVIN. L do th hai l ch c cc thnh vin ca lp con c th tham gia vo mt s kiu lin kt no . V d, nu ch c cc nhn vin hp ng mi tham gia v cng on th chng ta c th din t s kin bng cch to ra mt lp con NHNVIN_HPNG ca NHNVIN v lin kt lp con ny vi kiu thc th CNGON thng qua kiu thc th <thuc v>. Tm li, qu trnh chuyn bit ho cho php chng ta lm cc vic sau: Xc nh mt tp hp cc lp con ca mt kiu thc th. Thit lp cc thuc tnh ring cho mi lp con. Thit lp cc kiu lin kt ring gia mi lp con v cc kiu thc th khc hoc cc lp con khc.

41

Hm

Tn ach

Ms

Htn

Ngy

Kiucngvic

NHN VIN

Tc nhmy Bc THK

d
KiuK s NGI QUNL Lng

d
LngH

KTHUT VIN

K S

NHNVIN BINCH

NHNVIN HP NG

Qunl

Thuc

D N

CNG ON

Hnh II-7. Biu din lc EER ca chuyn bit ho IV.2.2- Tng qut ho L qu trnh o ngc ca chuyn bit ho, trong ta b qua s khc nhau gia mt s kiu thc th, xc nh cc c tnh chung ca chng v tng qut ho chng thnh mt lp cha ca cc kiu thc th . V d, ta c kiu thc th XECON vi cc thuc tnh (Ms, Sgiyphp, Gi, Tctia, Schngi) v kiu thc th XETI vi cc thuc tnh (Ms, Sgiyphp, Gi, Trngti, Scctrc), cc kiu thc th ny c mt s thuc tnh chung, chng c th c tng qut ho thnh kiu thc th XET vi cc thuc tnh (Ms, Sgiyphp, Gi). Cc kiu thc th XECON v XETI tr thnh cc lp con ca lp cha XET. Nh vy, tng qut ho l qu trnh tng qut mt kiu thc th t cc kiu thc th cho trc. 42

Mt tng qut ho c biu din trong s EER ging nh l mt chuyn bit ho. Tng qut l lp cha cn chuyn bit l cc lp con c s dng to nn lp cha (hnh II-8).
Ms Sgiyphp Gi

Xet

d
Sch Tc Strc Trngti

Xe con

Xe ti

Hnh II-8. Xet c tng qut ho t Xecon v Xeti IV.2.3- Phn cp chuyn bit v li chuyn bit Bn thn cc lp con cng c cc lp con ca n. Nh vy s to ra mt phn cp chuyn bit ho hoc mt li chuyn bit ho. Mt phn cp chuyn bit ho c rng buc l mt lp con ch tham gia vo mt kiu lin kt lp cha/lp con nh l mt lp con. Mt li chuyn bit c iu kin l mt lp con c th tham gia vo nhiu kiu lin kt lpcha/lpcon nh l mt lp con. Ni cch khc, mt lp con trong phn cp chuyn bit ch tha k mt lp cha, ngc li, mt lp con trong li chuyn bit c th tha k nhiu lp cha. Mt lp con tha k nhiu lp cha thuc cc kiu khc nhau c gi l mt kiu hp (union type) hoc mt phm tr (category). IV.2.4- Cc rng buc v cc c trung ca chuyn bit ho, tng qut ho Trong mt s chuyn bit ho, chng ta c th xc nh mt cch chnh xc cc thc th s l thnh vin ca mt lp con bng cch t mt iu kin trn mt thuc tnh no y ca lp cha. Cc lp con nh vy c gi l cc lp con c xc nh bng iu kin. Nu cc lp con ca mt chuyn bit ho c iu kin thnh vin trn cng mt thuc tnh ca lp cha th chuyn bit ho cng c gi l chuyn bit ho c xc nh bng thuc tnh. Nu vic xc nh mt lp 43

con khng theo mt iu kin no th lp con c gi l c ngi s dng xc nh. C hai rng buc p dng cho mt chuyn bit ho. Rng buc ri rc ch ra rng cc lp con ca mt chuyn bit phi ri rc. iu ny c ngha l mt thc th c th l mt thnh vin ca nhiu nht l mt trong s cc lp con ca chuyn bit ho. Mt chuyn bit ho c xc nh bng thuc tnh tho mn rng buc ri rc nu thuc tnh c s dng xc nh thnh vin l n tr. Nu cc lp con khng tho mn rng buc ri rc, cc tp thc th ca chng c th chng cho nhau, ngha l mt thc th c th l mt thnh vin ca nhiu lp con trong chuyn bit ho. Rng buc th hai trong chuyn bit ho gi l rng buc y , n c th l ton b hoc tng phn. Mt rng buc chuyn bit ton b ch ra rng mi thc th trong lp cha phi l mt thnh vin ca mt lp con no trong chuyn bit. Mt rng buc chuyn bit tng phn cho php mt thc th ca lp cha khng thuc v bt k lp con no. V d, nu mt nhn vin phi hoc l mt nhn vin bin ch hoc l mt nhn vin hp ng th (NHNVIN_BINCH, NHNVIN_HPNG) l mt chuyn bit ton b ca NHNVIN. Nu mt nhn vin c th khng phi l mt th k, mt k s hoc mt k thut vin th chuyn bit (THK, KS, KTHUTVIN) l mt chuyn bit tng phn ca NHNVIN. Trong s ca m hnh EER, nu mt chuyn bit ho l ri rc th gia hnh trn ni vi cc lp con c ghi ch d (disjoin), cn mt chuyn bit l chng cho th gia hnh trn ni cc lp con c ghi ch o (overlap). IV.3- S m hnh EER M hnh EER c biu din ho ging nh m hnh ER, ngha l cc kiu thc th (cc lp) c biu din bng cc hnh ch nht c ghi tn gia, cc thuc tnh ca chng c biu din bng cc hnh van ni vi hnh ch nht. Cc kiu lin kt c biu din bng cc hnh thoi v c ni vi cc kiu thc th tham gia lin kt. Ti cc hnh thoi c ghi r cc t s lc lng tham gia ca cc kiu thc th tham gia vo kiu lin kt. Ngoi ra, kiu lin kt lpcha/lpcon c biu din bng mt ng ni c thm mt k hiu tp con gia ng ni. Cc lp con trong mt chuyn bit c ni vi mt vng trn v vng trn c ni vi lp cha. Nu chuyn bit l ri rc, gia vng trn s ghi ch d, nu chuyn bit l chng cho, gia vng trn c ghi ch o. 44

V-

Tng kt chng v cu hi n tp
V.1- Tng kt chng

Trong chng ny chng ta tho lun v vai tr ca m hnh d liu bc cao trong qu trnh thit k c s d liu. Ta lm quen vi cc khi nim c bn ca m hnh lin kt - thc th: kiu thc th, kiu lin kt, v cc thuc tnh ca chng. Cc kiu thuc tnh khc nhau cng c xem xt: thuc tnh n, thuc tnh phc hp, thuc tnh n tr, thuc tnh a tr, thuc tnh lu tr, thuc tnh suy din c v cc thuc tnh c gi tr null. Thng qua mt v d c th, ta tin hnh xy dng m hnh ER CNGTY. Ngoi ra, chng ta cng ni n m hnh EER, m rng ca m hnh ER. Cc khi nim m rng nh lp, lp con, kiu lin kt lp cha/lp con, chuyn bit ho, tng qut ho cng c gii thiu v phn tch. Chng ta cng ni n cch biu din ho ca cc m hnh ER v EER. V.2- Cu hi n tp 1- Hy ni v vai tr ca m hnh d liu bc cao trong qu trnh thit k c s d liu. 2- Lit k cc trng hp cn phi s dng gi tr null. 3- nh ngha cc thut ng sau: thc th, thuc tnh, gi tr thuc tnh, th hin lin kt, thuc tnh phc hp, thuc tnh a tr, thuc tnh suy din c, thuc tnh phc tp, thuc tnh kho, min gi tr. 4- Kiu thc th l g? Tp thc th l g? Gii thch s khc nhau gia mt thc th, mt kiu thc th v mt tp thc th. 5- Gii thch s khc nhau gia mt thuc tnh v mt tp gi tr. 6 - Kiu lin kt l g? Gii thch s khc nhau gia mt th hin lin kt, mt tp lin kt v mt kiu lin kt. 7- Vai tr tham gia l g? Khi no cn phi s dng cc tn vai tr trong m t cc kiu lin kt. 8- M t cch ch ra cc rng buc cu trc trn cc kiu lin kt. 9- Vi iu kin no mt thuc tnh ca mt kiu lin kt cp 2 c th chuyn thnh mt thuc tnh ca mt trong cc kiu thc th tham gia vo kiu lin kt. 45

10- Khi chng ta ngh n cc lin kt nh l cc thuc tnh, cc tp gi tr ca cc thuc tnh l g? 11- Kiu lin kt quy l g? Cho mt s v d v cc kiu lin kt quy. 12- Khi no khi nim kiu thc th yu c dng trong m hn ho c s d liu? nh ngha cc thut ng: kiu thc th ch, kiu thc th yu, kho b phn, kiu lin kt xc nh. 13- Trnh by cc khi nim lp, lp con, chuyn bit ho, tng qut ho. Trong hon cnh no ta cn tch mt lp thnh cc lp con. 14- Trnh by cch biu din ho ca cc m hnh ER v EER. V.3- Bi tp Bi 1: Xy dng m hnh ER cho c s d liu TRNG Hy xy dng lc ER cho CSDL TRNG, da trn cc ghi chp sau: 1) Trng c chia thnh cc trng con: Trng KHTN, Trng KHXH, Trng Cng ngh,. Mi trng c mt hiu trng qun l. Mi hiu trng qun l mt trng. 2) Mi trng c nhiu khoa. Chng hn, trng KHTN c cc khoa Ton, L, Ho, Mi mt khoa ch thuc v mt trng. Thng tin v Khoa gm M khoa, tn khoa, a ch, s in thoi, tn trng. 3) Mi Khoa cung cp nhiu mn hc. Mi mn hc gm c Tn mn hc, m s, s n v hc trnh, trnh , tn Khoa. 4) Mi mn hc c th c nhiu hc phn.Mi hc phn c lu gi bng cc thng tin: M hc phn, Tn mn hc, Tn gio vin dy, hc k. 5) Mi khoa c nhiu gio vin lm vic, nhng mi gio vin ch lm vic cho mt khoa. Mi mt khoa c mt ch nhim khoa, l mt gio vin. 6) Mi gio vin c th dy nhiu nht l 4 hc phn v cng c th khng dy hc phn no. 7) Mi sinh vin phi hc nhiu hc phn. 8) Mi mt khoa c nhiu sinh vin, mi sinh vin ch thuc v mt khoa. Thng tin v mi sinh vin gm: M sinh vin, H tn, a ch, ngy sinh, gii tnh, Lp, Tn Khoa v ch o to. 46

9) Mi sinh vin c mt ngi gim st (gio vin ch nhim), ngi l mt gio vin. 10) Sau mi hc k s c mt danh sch im phn loi. N gm cc thng tin: M sinh vin, m hc phn, im bng ch, im bng s.

Bi 2: Xy dng m hnh ER cho c s d liu TH VIN. Hy xy dng lc ER cho CSDL TH VIN, da trn cc ghi chp sau: 1) Th vin c chia ra thnh cc nhnh. Thng tin v mi nhnh gm c M nhnh, Tn nhnh v a ch. 2) Mi cun sch trong th vin c cc thng tin v M sch, Tn sch Nh xut bn v Tc gi 3) Mt tc gi c th vit nhiu cun sch. Mt cun sch c th c nhiu tc gi vit. 4) Mt nh xut bn xut bn nhiu cun sch. Mt cun sch do mt nh xut bn xut bn. Thng tin v Nh xut bn gm c Tn, ach v Sinthoi. 5) Mt cun sch c th c nhiu bn sao c lu tr ti cc nhnh. Thng tin v bn sao sch gm M sch, s cc bn sao. 6) Th vin c nhng ngi mn sch. Thng tin v nhng ngi mn sch gm c S th, H tn, a ch v S in thoi. 7) Sch c cho cc ngi mn mn ti cc nhnh. Thng tin v mt ln mn gm c Ngy mn v ngy tr.

47

Chng III- M HNH QUAN H, CC RNG BUC QUAN H V I S QUAN H


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

I-

Cc khi nim ca m hnh quan h

M hnh quan h biu th c s d liu nh mt tp cc quan h. Mi quan h c th c biu din nh mt bng gi tr, mi mt dng trong bng biu th mt tp hp cc gi tr d liu lin quan vi nhau. Trong chng trc, chng ta a ra cc khi nim v kiu thc th v kiu lin kt nh l cc khi nim m hnh ho d liu ca th gii thc. Trong m hnh quan h, mi mt dng trong bng biu th mt s kin tng ng vi mt thc th hoc mt lin kt ca th gii thc. Tn bng v tn cc ct dng gip gii thch ngha ca cc gi tr trong mi hng. Mi gi tr trong mt ct u cng mt kiu d liu Theo thut ng m hnh quan h hnh thc, mi hng c gi l mt b, mi u ct c gi l mt thuc tnh, v bng c gi l mt quan h. Kiu d liu m t cc kiu ca d liu xut hin trong mi ct gi l mt min I.1Min, thuc tnh, b v quan h

Mt min D l mt tp hp cc gi tr nguyn t, iu c ngha l mi gi tr trong min l khng th phn chia c trong phm vi m hnh quan h. c t mt min, ngi ta ch ra mt tn, mt kiu d liu v khun dng d liu. Mt s v d v nh ngha min: . H tn: Tp hp cc dy ch ci c di <= 30. . Tui: Tp cc s nguyn nm trong khong t 1 n 80. . Gii tnh: Tp hp gm hai gi tr Nam, N. 48

Ngoi ra, trong c s d liu ngi ta cn ch ra cc thng tin ph th hin cc gi tr ca min, chng hn cc n v tnh nh tin, trng lng, Mt lc quan h R, k hiu l R(A1,A2,..., An), c to nn t mt tn quan h R mt danh sch cc thuc tnh A1,A2,, An. Mi mt thuc tnh Ai l tn vai tr ca mt min D no trong lc quan h R. D c gi l min gi tr ca Ai v c k hiu l Dom(Ai). Mt lc quan h c s dng m t mt quan h, R c gi l tn ca quan h . Cp ca mt quan h l s cc thuc tnh ca lc quan h ca n. V d, ta c lc cho quan h cp 5: SINHVIN (Ms, Htn, Ngysinh, Giitnh, ach). Vi lc quan h ny, SINHVIN l tn ca quan h. Mt quan h (hoc trng thi quan h) r ca lc quan h R(A1,A2,, An) c k hiu l r(R), l tp hp cc n-b r = {t1, t2, ..., tn }. Mi n-b t l mt danh sch c th t ca n gi tr, t = <v1, v2, , vn>, trong mi vi ,1<= i <= n , l mt phn t ca Dom(Ai) hoc l mt gi tr khng xc nh (null value). Gi tr th i ca b t, tng ng vi thuc tnh Ai c k hiu l t[Ai] . Hnh III-1 ch ra mt v d ca quan h SINHVIN tng ng vi lc quan h SINHVIN trn. Mi b trong quan h biu din mt thc th sinh vin c th. Quan h c biu din nh mt bng, trong mi b c hin th nh mt hng v mi thuc tnh tng ng vi mt u ct ch ra vai tr ca cc gi tr trong ct . Cc gi tr khng xc nh biu th cc thuc tnh m gi tr ca n khng bit c hoc khng tn ti i vi tng b SINHVIN c th. SINHVIN Htn L Vn Hong Tng Trng nh Phm An Cung M s 4515202 4516802 4620503 4612203 4521402 Ngysinh 12/09/84 21/03/84 15/05/85 16/04/85 20/01/84 Giitnh N Nam Nam Nam Nam ach H ni Bc ninh H nam Nam nh Ngh an

Hnh III-1. Quan h SINHVIN

49

nh ngha quan h trn c th pht biu li nh sau: Mt quan h r(R) l mt quan h ton hc cp n trn cc min gi tr dom(A1), dom(A2), , dom(An), l tp con ca tch cc ca cc min gi tr xc nh R: r( R) (dom(A1) x dom(A2) x dom(An)) Tch cc ch ra mi t hp c th c ca cc gi tr t cc min cho. Nh vy, nu ta k hiu lc lng ca mt min D l D v gi thit rng mi min u hu hn th tng s cc b trong tch cac l: dom(A1)*dom(A2)*.*dom(An) Ngoi tt c cc t hp c th c ny, mt trng thi quan h mt thi im cho trc - gi l trng thi quan h hin ti - ch phn nh cc b gi tr biu din mt trng thi c th ca th gii thc. Ni chung, do trng thi ca th gii thc thay i, quan h cng b thay i thnh trng thi quan h khc. Tuy nhin, lc R l n nh, khng thay i, tr phi phi thm vo mt s thuc tnh biu din mt thng tin mi cha c lu tr trong quan h. C th xy ra trng hp nhiu thuc tnh c cng mt min gi tr. Cc thuc tnh ch ra cc vai tr khc nhau i vi min. V d, hai thuc tnh achNV v achV c cng min gi tr nhng thuc tnh th nht tham chiu n a ch ca nhn vin cn a ch th hai tham chiu n a ch ca n v. I.2Cc c trng ca cc quan h I.2.1- Th t ca cc b trong mt quan h Mt quan h c nh ngha nh mt tp hp cc b. Cc phn t trong mt tp hp khng c th t, v vy cc b trong mt quan h khng c mt th t c th. Tuy nhin, trong mt tp, cc bn ghi c lu tr mt cch vt l trn a v vy lun c mt th t gia cc bn ghi. Th t ny ch r bn ghi th nht, bn ghi th hai, , bn ghi th n. Mt cch tng t, khi ta biu din mt quan h nh l mt bng, cc hng c hin th theo mt th t nht nh. Th t cc b khng phi l mt phn ca nh ngha quan h bi v mt quan h c gng biu din cc s vt mc tru tng hoc lgic. C th c nhiu th t lgic trn mt quan h. V d, cc b gi tr trong quan h SINHVIN hnh III-1 c th sp xp theo nhiu cch khc nhau: theo th t logic ca Htn, theo th t logic ca Ms, nh ngha quan h khng ch ra th t lgic no c, v 50

vy khng c th t lgic no hn th t lgic khc. Cc quan h cha cng mt s hng nh nhau nhng cc hng c sp xp khc nhau c xem nh ng nht vi nhau. Khi mt quan h c ci t nh mt tp, mt th t vt l c th c ch ra trn cc bn ghi ca tp. I.2.2- Th t ca cc gi tr bn trong mt b Theo nh ngha quan h trn, mt n-b l mt danh sch c th t ca n gi tr. Nh vy th t ca cc gi tr trong mt b l quan trng, t suy ra th t ca cc thuc tnh trong mt lc quan h cng quan trng. Tuy nhin, mc lgic, th t ca cc thuc tnh v cc gi tr ca n l khng thc s quan trng khi gi c s tng ng gia cc thuc tnh v cc gi tr. C th a ra mt nh ngha khc v quan h, nh ngha ny s lm cho th t ca cc gi tr trong mt b l khng cn thit. Theo nh ngha ny, mt lc quan h R = {A1, A2,,An} l mt tp hp cc thuc tnh v mt quan h r(R) l mt tp hp hu hn cc nh x r = {t1, t2, ., tm}, trong mi ti l mt nh x t R vo D, trong D = dom(A1)dom(A2) dom(An). Trong nh ngha ny, t[Ai] phi trong dom(Ai) vi 1<= i <= n vi mi nh x ti trong r. Mi nh x ti c gi l mt b. Theo nh ngha ny, mt b c th xem nh mt tp hp cc cp (<thuc tnh>, <gi tr>), trong mi cp cho mt gi tr ca nh x t mt thuc tnh Ai n mt gi tr vi ca dom(Ai) . V tn thuc tnh xut hin cng vi gi tr ca n nn th t ca cc thuc tnh l khng quan trng. iu ny lm nn ngha mc tru tng hoc lgic v chng c l do g thch c mt gi tr thuc tnh xut hin trc mt gi tr thuc tnh khc trong mt b. Khi mt quan h c ci t nh mt tp, cc thuc tnh c sp xp mt cch vt l nh l cc trng trong mt bn ghi. Trong trng hp chng ta s s dng nh ngha th nht ca quan h, trong cc gi tr ca cc thuc tnh trong mt b l c th t v n lm n gin rt nhiu khi nim. Tuy nhin, nh ngha th hai l tng qut hn. I.2.3- Cc gi tr trong mt b Mi gi tr trong mt b l mt gi tr nguyn t, iu c ngha l n khng phn chia c thnh cc thnh phn trong phm vi ca m hnh quan h. Nh vy, trong m hnh quan h khng cho php c cc thuc tnh phc hp v cc thuc 51

tnh a tr. Cc thuc tnh a tr phi c biu din bng cc quan h cn cc thuc tnh phc hp ch c biu din bng cc thuc tnh thnh phn n ca n. Cc gi tr ca mt vi thuc tnh trong mt b c th c th khng bit c hoc khng thch ng cho n. Trng hp , ngi ta s dng mt gi tr c bit gi l gi tr null.V d, gi s quan h SINHVIN c thuc tnh Sinthoinh. Trong mt tp th sinh vin, c ngi c in thoi nh, c ngi khng c v cng c ngi c nhng khng bit chc. Vi nhng trng hp khng c hoc khng bit chc, thuc tnh Sinthoinh c gi tr null. I.2.4- Th hin ca mt quan h Mt lc quan h c th c th hin nh l mt tuyn b hoc mt khng nh. V d lc quan h SINHVIN trn khng nh rng, ni chung, mt thc th sinh vin c mt m s, h tn, ngy sinh, gii tnh, a ch. Mi b trong quan h c th hin nh l mt s kin hoc nh mt th hin c th ca mt khng nh. Ngoi cc quan h biu din cc s kin v cc thc th, mt s quan h c th biu din cc s kin v mi lin kt. V d, lc quan h NHNVIN_DN(MsNV, MsDA, Sgi) khng nh cc nhn vin lm vic vi cc d n. Mi b trong quan h ny lin kt mt nhn vin vi mt d n m anh ta lm vic cho n. Nh vy, m hnh quan h biu din cc s kin v thc th v cc s kin v lin kt di dng duy nht l cc quan h.

II- Cc rng buc quan h, lc c s d liu quan h


Trong phn ny chng ta tho lun v cc hn ch trn cc d liu trong mt lc c s d liu quan h. Cc hn ch c gi l cc rng buc. C cc loi rng buc: rng buc min, rng buc kho, rng buc ton vn thc th v rng buc ton vn tham chiu. II.1- Cc rng buc min Cc rng buc min ch ra rng gi tr ca mi thuc tnh A phi l mt gi tr nguyn t thuc min gi tr dom(A). Cc kiu d liu lin kt vi cc min bao gm: cc kiu d liu s chun cho cc s nguyn (short integer, integer, long integer), cc s thc (float, double precision float). Ngoi ra cn cc kiu d liu k t (dy k t vi di c nh, dy k t vi di thay i), ngy, thi gian v 52

tin t. Cc loi min khc c th l cc min con ca mt kiu d liu hoc mt kiu d liu m c trong mi gi tr c th c lit k r rng II.2- Rng buc kho v rng buc trn cc gi tr khng xc nh (null) Mt quan h c nh ngha nh mt tp hp cc b. Theo nh ngha, cc phn t ca mt tp hp l khc nhau, v vy, mi b trong quan h phi khc nhau. iu c ngha l khng c hai b c cng mt t hp gi tr cho tt c cc thuc tnh ca chng. Thng thng, c tn ti cc tp con ca cc thuc tnh ca mt lc quan h c tnh cht l khng c hai b no trong mi trng thi quan h r ca R c cng mt t hp gi tr cho cc thuc tnh ca n. Gi s chng ta k hiu mt tp con nh vy l SK, khi vi hai b khc nhau bt k t1 v t2 trong mt trng thi quan h r ca R chng ta c rng buc l t1[SK] t2[SK]. Tp hp thuc tnh SK nh vy c gi l mt siu kho ca lc quan h R. Mt siu kho SK xc nh r mt rng buc v tnh duy nht, pht biu rng khng c hai b khc nhau trong mt trng thi r ca R c cng mt gi tr cho SK. Mi quan h c t nht l mt siu kho mc nh, l tp hp tt c cc thuc tnh ca n. Mt kho K ca mt lc quan h R l mt siu kho ca R vi tnh cht l nu b i bt k thuc tnh A no ra khi K th s cn li mt tp K khng phi l siu kho ca R. Nh vy, mt kho l mt siu kho ti thiu, ngha l l mt siu kho m ta khng th vt b thuc tnh no ra khi n m vn gi c rng buc v tnh duy nht. V d, xt quan h SINHVIN vi cc thuc tnh Ms, Htn, Ngysinh, Giitnh, ach. Thuc tnh {Ms} l mt kho ca SINHVIN bi v khng c hai b sinh vin c cng mt gi tr cho Ms. Mi tp hp thuc tnh c cha Ms, vd {Ms, Htn, Ngysinh}, u l mt siu kho. Tuy nhin, siu kho {Ms, Htn, Ngysinh} khng phi l kho bi v nu b i thuc tnh Htn hoc Ngysinh hoc c hai th n vn cn l mt siu kho. Gi tr ca mt thuc tnh kho c th c s dng xc nh mt cch duy nht mi b trong mt quan h. V d, gi tr 4515202 ca Ms xc nh mt cch duy nht b gi tr tng ng vi sinh vin L Vn trong quan h SINHVIN. Ch rng mt tp hp thuc tnh to nn mt kho l mt tnh cht ca lc quan h. iu rng buc l tnh cht phi tha mn trn mi trng thi ca lc . Mt kho c xc nh t ngha ca cc thuc tnh v tnh cht l bt bin, tnh cht phi tha mn khi chng ta chn thm cc b mi vo quan h. V d, ta 53

khng th v khng c ch nh thuc tnh Htn ca quan h SINHVIN l kho bi v khng c g m bo rng khng tn ti hai sinh vin c cng h tn. Ni chung, mt lc quan h c th c nhiu hn mt kho. Trong trng hp , mi mt kho c gi l mt kho d tuyn. Thng thng ta phi ch nh mt trong cc kho d tuyn lm kho chnh ca quan h. Kho chnh l mt kho d tuyn m cc gi tr ca chng c dng xc nh cc b trong quan h. Ta quy c rng, cc thuc tnh to nn kho chnh ca mt lc quan h c gch di. V d: SINHVIN( Ms, Htn, Ngysinh, Giitnh, ach ). Ch rng khi mt lc quan h c nhiu kho d tuyn, vic la chn mt kho d tuyn lm kho chnh l tu , tuy nhin tt nht l chn kho chnh gm mt thuc tnh hoc c s cc thuc tnh t nht. Mt rng buc khc trn cc thuc tnh ch r khi no th cho php cc gi tr null. Nhng thuc tnh lun lun phi c mt gi tr xc nh v hp l th b rng buc l NOT NULL. II.3- C s d liu quan h v lc c s d liu quan h trn, chng ta ni n cc lc quan h n l v cc quan h n l. Mt c s d liu quan h thng gm nhiu quan h vi cc b gi tr trong cc quan h c lin kt vi nhau theo nhiu cch. Trong phn ny chng ta s nh ngha mt c s d liu quan h v mt lc c s d liu quan h. Mt lc c s d liu quan h S l mt tp hp cc lc quan h S = {R1, R2,, Rn} v mt tp cc rng buc ton vn. Mt trng thi c s d liu quan h (hoc mt c s d liu quan h) DB ca S l mt tp hp cc trng thi quan h: DB = {r1, r2, , rn} sao cho mi ri l mt trng thi ca Ri v sao cho cc trng thi quan h ri tho mn cc rng buc ton vn ch ra trong tp cc rng buc ton vn. V d, Hnh III-2 trnh by mt lc c s d liu CNGTY v hnh III-3 trnh by mt c s d liu cng ty. NHNVIN(Hm, Tn, MsNV, Ngysinh, ach, Giitnh, Lng, MsNGS, MsV) 54

NV(TnV, MsV, MsNQL, Ngybtu) NV_AIM(MsV, aimV) DN(TnDA, MsDA, aimDA, M sV) NHNVIN_DN(MsNV, MsDA, Sgi) CON(MsNV, TnPT, Giitnh, Ngysinh) Hnh III-2. Lc c s d liu CNG TY

NHNVIN MsNV Hm

Tn

Ngy sinh ach

Giitnh

Lng MsNGS MsV

NV001 NV002 NV010 NV014 NV016 NV018 NV025 NV061

L Trn c Hong Phm

Vn Nam

12/02/79 H ni Nam 14/02/66 H ni Nam N Nam

3000 4000

NV002 NV061

5 5 4 4 5 5 4 1

Thanh 05/08/79 Ngh an Bng 26/06/52 Bc ninh

2500 NV014 4300 NV061 3800 NV002

Nguyn Sn V Hng

14/08/73 Hnam Nam N N

Giang 26/03/83 Nam nh 15/03/80 Ph th

2500 NV002 2500 NV014 5500 Null

Trn L Hoa Hong Gip

02/05/47 H tnh Nam

NV

MsV TnV 5 4 1 Nghin cu Hnhchnh Lnho

M sNQL Ngybtdu NV002 NV014 NV061 15/09/2000 24/06/1997 25/01/1992

55

NV_AIM M sV 1 4 5 5 5

aimV H ni H ni Nam inh H ni Bc ninh

DN

TnDA DA01 DA02 DA03 DA04 DA05 DA06

M sDA 1 2 3 10 20 30

aimDA H ni Nam nh Bc Ninh H ni H ni H ni

M sV 5 5 5 4 1 4

NHNVIN_DN

M sNV NV001 NV001 NV016 NV018 NV018 NV002 NV002 NV002 NV002

M sDA 1 2 3 1 2 2 3 10 20

Sgi 32 7 40 20 20 10 10 10 10

56

NV010 NV010 NV025 NV025 NV014 NV014 NVO61

30 10 10 30 30 20 20

30 10 35 5 20 15 null

CON

MsNV NV002 NV002 NV002 NV014 NV001 NV001 NV001

Tncon Giang Bnh Hoa Lan Bnh Ha Hng

Giitnh N Nam N N Nam N N

Ngy sinh 04/05/1997 25/10/1994 03/05/1969 29/02/1953 04/01/1999 04/01/1999 05/05/1981

Hnh III-3. C s d liu CNGTY Trong mt lc c s d liu quan h, cc thuc tnh biu din cng mt khi nim th gii thc c th (hoc khng) c cng tn nh nhau trong cc quan h khc nhau. Ngc li, cc thuc tnh biu din cc khi nim khc nhau c th c tn nh nhau trong cc quan h khc nhau. V d, trong c s d liu CNGTY trn, cc thuc tnh MsNV, MsNGS, MsNQL c tn khc nhau nhng u biu din mt khi nim l m s nhn vin (bi v ngi gim st hoc ngi qun l cng l nhn vin). Trong lc , thuc tnh Giitnh c mt trong hai quan h NHNVIN v CON, tuy nhin Giitnh trong quan h NHNVIN l biu th gii tnh ca nhn vin cn Giitnh trong CON l biu th gii tnh ca ngi con. Trong mt s phin bn trc ca m hnh quan h, ngi ta yu cu rng cc thuc tnh biu din cng mt khi nim ca th gii thc th phi c tn nh nhau 57

trong mi quan h. iu s gy ra kh khn khi cng mt khi nim th gii thc c s dng trong cc vai tr khc nhau. Mt h qun tr c s d liu phi c ngn ng nh ngha d liu (Data definition language DDL) nh ngha lc c s d liu quan h. Cc h qun tr c s d liu hin nay hu nh s dng SQL cho mc ch ny. Cc rng buc ton vn c ch ra trn mt lc c s d liu v c tn trng lm tho mn trn mi trng thi c s d liu ca lc ny. Ngoi cc rng buc min v rng buc kho cn c thm cc rng buc c xem nh mt phn ca m hnh quan h, l rng buc ton vn thc th v rng buc ton vn tham chiu. II.4- Ton vn thc th, ton vn tham chiu v kho ngoi Rng buc ton vn thc th c pht biu l: kho chnh phi lun lun c gi tr xc nh, ngha l khng c php c gi tr null. S d c iu l do gi tr ca kho chnh c s dng xc nh cc b gi tr ring bit trong mt quan h. Vic c gi tr null cho kho chnh ko theo vic chng ta khng th xc nh c mt s b gi tr. V d, nu c hai hay nhiu hn cc b gi tr c gi tr null cho kho chnh th chng ta khng c kh nng phn bit chng. Cc rng buc kho v rng buc ton vn thc th c ch ra trn cc quan h ring r. Rng buc ton vn tham chiu c ch ra gia hai quan h duy tr s tng ng gia cc b ca hai quan h. Mt cch khng hnh thc, rng buc ton vn tham chiu c pht biu l: mt b gi tr trong mt quan h c lin kt n mt quan h khc phi lin kt n mt b gi tr tn ti trong quan h . nh ngha ton vn tham chiu mt cch hnh thc hn, trc tin chng ta a ra khi nim kho ngoi: Mt tp hp cc thuc tnh FK trong mt lc quan h R1 l mt kho ngoi ca R1 tham chiu n quan h R2 nu n tho mn hai quy tc sau: qt1. Cc thuc tnh trong FK c cng min gi tr nh cc thuc tnh ca kho chnh PK ca R2. Cc thuc tnh FK c gi l tham chiu n (hoc l lin h n) quan h R2. qt2. Mt gi tr ca FK trong mt b t1 ca trng thi hin ti r1(R1) hoc c mt nh mt gi tr ca kho chnh ca mt b t2 no y trong trng thi hin ti r2(R2), hoc l null. Trong trng hp ny ta c t1[FK] = t2[PK] v ta ni rng b t1 58

lin h (tham chiu) n b t2. R1 c gi l quan h tham chiu v R2 c gi l quan h b tham chiu. Trong mt c s d liu c nhiu quan h thng c nhiu rng buc ton vn tham chiu. ch ra cc rng buc ny, trc tin ta phi c mt hiu bit r rng v ngha hoc vai tr ca mi tp thuc tnh trong cc lc quan h khc nhau ca c s d liu. Cc rng buc ton vn quy chiu thng ny sinh t cc mi lin kt gia cc thc th c biu din bng cc lc quan h. Ch rng mt kho ngoi c th tham chiu n quan h ca chnh n. Trong trng hp , kho ngoi biu th mt lin kt quy. Chng ta c th biu din cc rng buc tham chiu bng s . lm iu ta v mt cnh c hng t mi kho ngoi n quan h m n tham chiu n. Hnh III-4 biu din lc hnh 3.2 vi cc rng buc quy chiu c biu din theo cch ny.
NHNVIN( Hm,Tn, MsNV, Ngysinh, ach, Giitnh,Lng, MsNGS, MsV)

NV ( TnV, MsV, MsNQL, Ngybtu)

NV_AIM( MsV, aimV)

DN( TnDA, MsDA, aimDA, M sV)

NHNVIN_DN( MsNV, MsDA, Sgi)

PHTHUC( MsNV, TnCon, Giitnh, Ngysinh)

Hnh III-4. Lc v s tham chiu Ngoi cc rng buc ton vn trn, c s d liu cn phi tho mn mt s rng buc khc, nh rng buc trng thi, rng buc chuyn tip Cc rng buc trng thi xc nh cc rng buc m mt trng thi vng chc ca c s d liu phi tho mn. V d v cc rng buc l: lng ca mt nhn vin khng c 59

vt qu lng ca ngi gim st nhn vin hoc s gi nhiu nht m mt nhn vin c th lm vic trong mt tun trn tt c cc d n l 56 gi. Cc rng buc nh vy c th c c t v bt tun theo bng cch s dng mt ngn ng c t rng buc. Ngi ta c th s dng cc c cu nh l trigger hoc assertion. Cc rng buc chuyn tip c th c nh ngha lm vic vi nhng thay i trng thi trong c s d liu. V d v rng buc ny l: lng ca mt nhn vin ch c th tng. Cc rng buc nh vy thng c nh ngha bng cch s dng cc quy tc hoc bng cc trigger.

III- Cc php ton trn m hnh quan h


Trong phn ny chng ta tho lun v cc php ton ca m hnh quan h. Cc php ton ca m hnh quan h c th phn thnh hai loi: cc php ton cp nht v cc php ton i s quan h. Cc php ton cp nht c s dng to ra mt quan h ng n. Cc php ton i s quan h c s dng c t cc php ly thng tin ra. III.1- Cc php ton cp nht Cc php ton cp nht gm ba php ton c bn l chn, xo v sa i. Php chn c dng chn mt b gi tr hoc nhiu b gi tr vo mt quan h. Php xo dng loi b cc b gi tr v php sa i dng sa i cc gi tr ca mt s thuc tnh trong cc b gi tr c. Mi khi cc php ton cp nht c p dng, cc rng buc trn lc c s d liu c th b vi phm. Trong phn ny chng ta s ni n kh nng vi phm cc rng buc ca tng php ton v cc kiu hnh ng c th thc hin khi mt rng buc b vi phm. III.1.1- Php chn (Insert) Php chn cung cp mt danh sch cc gi tr cho mt b mi t c chn vo trong mt quan h R. Php chn c th vi phm cc kiu rng buc c m t trn. Cc rng buc min c th b vi phm nu mt gi tr thuc tnh c cho khng thuc vo min tng ng. Cc rng buc kho c th b vi phm nu mt gi tr kho trong b mi t tn ti trong mt b khc trong quan h r(R). S ton vn thc th c th b vi phm nu kho chnh ca b mi t l null. S ton vn tham chiu c th b vi phm nu mt gi tr ca mt kho ngoi trong t tham chiu n mt b khng tn ti trong mt quan h c tham chiu. V d (vi cc bng trong c s d liu CNGTY) : 60

Chn b gi tr <null, V, Hi, 15/07/81, Hni, Nam, 3200, null, 4> vo quan h NHNVIN. Php chn ny vi phm rng buc ton vn thc th (gi tr null cho kho chnh). Php chn b loi b. Chn b gi tr <NV002,Trng,Phi,15/07/81, Hni, Nam, 3200, NV067, 4> vo quan h NHNVIN. Php chn ny vi phm rng buc kho, bi v gi tr NV002 c trong bng. Php chn b loi b. Chn b gi tr <NV072, V, Hi, 15/07/81, Hni, Nam, 3200, NV002 , 7> vo quan h NHNVIN. Php chn ny vi phm rng buc ton vn tham chiu, trong quan h NV khng c n v c m s = 7. Php chn b loi b. Chn b gi tr <NV045l, V, Hi, 15/07/81, Hni, Nam, 3200, NV002, 4> vo quan h NHNVIN. Php chn tho mn tt c cc rng buc, v th n c chp nhn. Nu mt php chn vi phm mt hoc nhiu rng buc, tu chn mc nh l loi b php chn. Trong trng hp ny, thng l cc h qun tr c s d liu c th thng bo cho ngi s dng nguyn nhn ca vic loi b php chn. III.1.2- Php xo (Delete) Php xo c s dng xo mt hoc nhiu b gi tr ca mt quan h. Php xo ch c th vi phm rng buc tham chiu trong trng hp b b xo c tham chiu bi mt kho ngoi t cc b khc trong c s d liu. ch r mt php xo, cn phi a ra mt iu kin trn cc thuc tnh ca quan h chn cc b s b xo. V d: Xo mt b gi tr ca quan h NHNVIN_DN c MsNV = NV010 v MsDA = 10. Php xo ny c chp nhn. Xo b gi tr ca NHNVIN c MsNV = NV010. Php xo ny khng chp nhn c bi v c cc b trong NHNVIN_DN tham chiu n b ny, nh vy l vi phm rng buc ton vn tham chiu. Xo b gi tr ca NHNVIN c MsNV = NV002. Php xo ny cng vi phm rng buc ton vn tham chiu . Ba tu chn c sn sng c s dng nu mt php xo gy ra s vi phm. Tu chn th nht l loi b php xo. Tu chn th hai l c gng lan truyn php 61

xo (cascade the deletion) bng cch xo ng thi cc b tham chiu n b b xo. Tu chn th ba l sa i cc gi tr ca cc thuc tnh tham chiu gy ra s vi phm. Mi gi tr nh vy hoc l lm cho bng null hoc c thay i thnh b c hiu lc tham chiu khc. Ch rng, nu mt thuc tnh tham chiu gy ra s vi phm l mt phn ca kho chnh th khng th lm cho thnh null, bi v nu lm vy th s vi phm rng buc ton vn thc th. C th kt hp c ba tu chn trn. III.1.3- Php sa i (Update) Php ton sa i c dng thay i cc gi tr ca mt hoc nhiu thuc tnh trong mt (hoc nhiu) b ca mt quan h R no y. la chn cc b cn c thay i, ngi s dng phi ch ra mt iu kin trn cc thuc tnh. V d: Sa i Lng ca b NHNVIN c MsNV = NV018 thnh 2800. Php sa i ny c chp nhn. Sa i MsV ca b NHNVIN c MsNV = NV018 thnh 7. Php sa i ny vi phm rng buc ton vn tham chiu. Sa i MsNV ca b NHNVIN c MsNV = NV018 thnh NV014. Php sa i ny vi phm rng buc ton vn thc th v ton vn tham chiu. Vic sa i mt thuc tnh khng phi l mt kho chnh hocc mt kho ngoi thng khng gy ra cc vi phm rng buc, h qun tr c s d liu ch cn kim tra khng nh rng gi tr mi l thuc min v kiu gi tr ng n. Vic sa i gi tr mt kho chnh tng t nh vic xo mt b v chn b khc vo ch ca n. Nh vy chng ta tr v trng hp tho lun vi php chn v php xo. Nu mt thuc tnh kho ngoi b sa i th h qun tr c s d liu phi m bo rng gi tr mi tham chiu n mt b c tn ti trong quan h c tham chiu (hoc l null). III.2- Cc php ton i s quan h Ngoi vic nh ngha cu trc c s d liu v cc rng buc, mt m hnh d liu phi cha mt tp hp php ton thao tc d liu. Tp hp c s cc php ton m hnh quan h to nn i s quan h. Cc php ton ny gip cho ngi s dng xc nh r cc yu cu ly tin c bn. Kt qu ca mt php ly tin 62

l mt quan h mi, c th c to ra t mt hoc nhiu quan h. Cc quan h c th c thao tc tip theo bng cch s dng cc php ton ca cng i s. Mt dy cc php ton quan h to nn mt biu thc i s quan h m kt qu ca n cng l mt quan h. Cc php ton i s quan h c chia thnh hai nhm. Mt nhm bao gm cc php ton tp hp ly t l thuyt tp hp ton hc. Cc php ton l php hp, php giao, php tr tp hp v php tch cc. Nhm kia bao gm cc php ton c xy dng c bit cho cc c s d liu quan h. Cc php ton l php chn, php chiu, php ni v mt s cc php ton khc. III.2.1- Php chn (SELECT) Php chn c s dng chn mt tp hp cc b tho mn iu kin chn t mt quan h. Ta c th xem php chn nh mt b lc, n ch gi li cc b tho mn iu kin t ra. Php chn c k hiu l

< iu kin chn>( R)


trong k hiu c dng k hiu php chn, cn iu kin chn l mt biu thc lgic c ch ra trn cc thuc tnh ca R. Ch rng R ni chung l mt biu thc i s quan h. Kt qu ca mt biu thc i s quan h l mt quan h. Biu thc n gin nht chnh l tn ca mt quan h ca mt c s d liu. Quan h kt qu ca php chn c cng thuc tnh nh R. V d, chn cc b NHNVIN thuc v n v c m s l 4 hoc cc b NHNVIN c lng ln hn 3000 ta c th vit mt cch ring r nh sau:

< Ms = 4>( NHNVIN) < Lng > 3000>( NHNVIN)


Biu thc logic ch ra trong <iu kin chn> c to nn t mt s hng mc c dng : <tn thuc tnh> <php so snh> <gi tr hng> hoc <tn thuc tnh> <php so snh> <tn thuc tnh> trong <tn thuc tnh> l tn ca mt thuc tnh trong R, <php so snh> l mt trong cc php ton so snh {<, <=, =, >=, >, } cn <gi tr hng> l mt gi 63

tr hng t min gi tr ca thuc tnh. Cc hng mc c th c ni vi nhau bng cc php ton l gic AND, OR, NOT to ra mt iu kin chn chung. V d, chn ra cc nhn vin lm vic n v c m s l 4 v c lng ln hn 3000 hoc cc nhn vin lm vic n v c m s l 5 v c lng ln hn 4000 ta c th vit php chn nh sau:

< MsV = 4>AND <lng>3000>OR< MsV = 5>AND <lng>3500>( NHNVIN)


Kt qu ch ra hnh III-5.
MsNV Hm NV002 NV014 NV016 Tn Ngysinh ach 14/02/66 H ni Giitnh Lng Nam 4000 4300 3800 MsNGS MsV NV061 NV061 NV002 5 4 5

Trn c Nam Phm Nguyn

Bng 26/06/52 Bc ninh Nam Sn 14/08/73 H nam Nam

Hnh III-5. Kt qu php chn Ch rng cc php ton so snh trong tp hp {<, <=, =, >=, >, } p dng cho cc thuc tnh c min gi tr l cc gi tr c th t nh l min gi tr s. Min gi tr cc dy k t c xem nh c th t da trn vic so snh cc dy k t. Nu min gi tr ca mt thuc tnh l mt tp hp cc gi tr khng c th t th ch c cc php so snh trong tp hp { =, } l c th p dng c. Ngoi ra, c th cn cc php so snh b sung, chng hn nh l mt dy con ca hoc trong khong t n. Kt qu mt php chn c xc nh nh sau: <iu kin chn> c p dng cho mi b t trong R mt cch c lp. iu c thc hin bng cch thay th mi thuc tnh Ai trong iu kin chon bng gi tr t[Ai] ca n trong b. Nu iu kin chn cho gi tr ng th b t s c chn. Tt c cc b c chn xut hin trong kt qu ca php chn. Cc php ton logic AND, OR, NOT c thc hin theo quy tc bnh thng ca chng. Php chn l php ton mt ngi, ngha l n c p dng cho mt quan h. Hn na, php chn c p dng cho tng b mt cch c lp, v vy, cc iu kin chn khng th lin quan n nhiu b. Quan h kt qu ca php chn c cp ging nh cp ca R. S cc b trong quan h kt qu lun lun nh hn hoc bng s cc b trong R. 64

Php chn l mt php ton c tnh cht giao hon, ngha l

< iu kin 1> (< iu kin 2>( R)) = < iu kin 2> (< iu kin 1>( R))
Hn na ta c th kt hp mt lot cc php chn thnh mt php chn n gin bng cch s dng php ton AND. V d:

< iu kin 1> (< iu kin 2>( R)) = < iu kin 2>AND< iu kin 1>( R)
III.2.2- Php chiu (PROJECT) Nu ta coi mt quan h nh mt bng th php chn chn mt s hng ca bng tho mn iu kin chn v b qua cc hng khng tho mn iu kin chn. Php chiu l php ton chn mt s ct ca bng. Nu chng ta ch quan tm n mt s thuc tnh ca quan h, chng ta dng php chiu chiu ln cc thuc tnh . Php chiu c k hiu l:

<danh sch cc thuc tnh>( R)


trong l k hiu dng biu din php chiu v <danh sch cc thuc tnh> l mt danh sch con cc thuc tnh ca quan h R. Ni chung R l mt biu thc i s quan h. Trng hp n gin nht n l tn ca mt quan h ca c s d liu. Kt qu ca php chiu l mt quan h ch c cc thuc tnh nm trong <danh sch cc thuc tnh> v c cng th t nh th t ca chng c trong danh sch. Nh vy, cp ca quan h kt qu l s cc thuc tnh c trong <danh sch cc thuc tnh>. Nu <danh sch cc thuc tnh> ch bao gm cc thuc tnh khng phi thuc tnh kho ca R th quan h kt qu c th c nhng b trng nhau. Php chiu loi b mi b trng lp, v nh vy, kt qu ca php chiu l mt tp hp cc b v l mt quan h ng n. V d, php chiu:

< MsNV, Hm,Tn, Lng>(NHNVIN)


cho kt qu l mt quan h c cc thuc tnh MsNV, Hm, Tn, Lng (hnh III-6).
MsNV NV001 Hm L Tn Vn ach H ni Lng 3000

65

NV002 NV010 NV014 NV016 NV018 NV025 NV061

Trn c Hong Phm Nguyn V Hng Trn L Hong

Nam Thanh Bng Sn Giang Hoa Gip

H ni Ngh an Bc ninh Hnam Nam nh Phth H tnh

4000 2500 4300 3800 2500 2500 5500

Hnh III-6. Kt qu php chiu S cc b trong quan h kt qu t mt php chiu lun lun nh hn hoc bng s cc b trong R. Nu danh sch chiu l mt siu kho ca R (ngha l n cha mt kho no ca R) th quan h kt qu c cng mt s b nh R. Ngoi ra, nu <danh sch 2> cha tt c cc thuc tnh c trong <danh sch 1> th

< danh sch1>(< danh sch2> ( R)) = < danh sch 1> ( R)
Php chiu khng c tnh giao hon. III.2.3- Php t li tn (RENAME) Chng ta c th p dng nhiu php ton quan h lin tip nhau. Trong trng hp hoc chng ta c th vit cc php ton nh l mt biu thc i s quan h n bng cch xp lng cc php ton li vi nhau, hoc chng ta c th p dng mi php ton ti mt thi im v to ra cc quan h kt qu trung gian. Trong trng hp to cc quan h trung gian, ta phi t tn cho quan h . V d: a ra Htn v Lng ca cc Nhnvin lm vic n v c Ms l 4 chng ta phi p dng mt php chn v mt php chiu. Chng ta c th vit mt biu thc i s quan h n nh sau :

< Htn, Lng >( <Ms = 4> (NHNVIN))


Mt cch khc, chng ta c th to ra kt qu trung gian v vit biu thc trn thnh dy cc php ton nh sau: KQTG <Ms = 4>(NHNVIN) Ketqua < Htn, Lng >(KQTG) 66

Thng thng vic phn tch mt dy phc tp cc php ton bng cch ch ra cc quan h kt qu trung gian l d hn vic vit mt biu thc i s quan h n. Chng ta c th dng k thut ny t li tn (rename) cho cc thuc tnh trong cc quan h trung gian v kt qu. t li tn cho cc thuc tnh ca mt quan h, chng ta lit k cc tn mi ca cc thuc tnh trong cp du ngoc. V d: R(Hv tn, Lng) < Htn , Lng >( KQTG) Cho kt qu l quan h R, trong thuc tnh Htn c t li tn thnh Hvtn. Nu khng c vic t li tn th tn ca cc thuc tnh trong quan h kt qu ca mt php chn l ging nh cc tn trong quan h ban u v c cng mt th t nh th t ca cc thuc tnh . i vi php chiu, nu khng c vic t li tn th quan h kt qu c cc tn thuc tnh ging nh cc tn trong danh sch chiu v c cng th t nh chng xut hin trong danh sch. Chng ta c th nh ngha mt php ton t li tn , n c th t li tn cho mt tn quan h hoc cc tn thuc tnh hoc c hai. Php t li tn c k hiu l:

S(B1,B2,Bn)(R) hoc S(R)

hoc (B1,B2,Bn)(R)

trong k hiu c dng k hiu php ton t li tn, S l tn quan h mi, B1,B2,Bn l cc tn thuc tnh mi. Biu thc th nht t li tn quan h v cc thuc tnh ca n. Nu cc thuc tnh ca R l A1,A2, ...An th sau khi t li tn, quan h c tn mi l S cn cc thuc tnh c tn mi l B1, B2, , Bn. Biu thc th hai ch t li tn quan h, ngha l sau php t li tn, quan h c tn mi l S, cn cc thuc tnh vn mang tn c. Biu thc th ba ch t li tn cc thuc tnh, nu cc thuc tnh ca R l A1,A2, ...An th sau khi t li tn chng c tn l B1, B2, ...Bn. III.2.4- Cc php ton l thuyt tp hp Nhm tip theo ca cc php ton i s quan h l cc php ton ton hc thng thng trn cc tp hp. l cc php ton hp, giao v tr tp hp. Cc php ton ny l cc php ton hai ngi, ngha l mi php ton c p dng cho hai tp hp. Khi p dng cc php ton ny cho c s d liu quan h, hai quan h tham gia vo mt trong cc php ton trn phi c kiu ca cc b nh nhau, hay ni cch khc, chng phi c cng mt cu trc. iu kin ny c gi l tng 67

thch ng nht. Hai quan h R(A1,A2,, An) v S(B1, B2, ,Bn) c gi l tng thch ng nht nu chng c cng cp n v dom(Ai) = dom(Bi) vi 1<= i <= n. iu c ngha l hai quan h c cng s cc thuc tnh v mi cp thuc tnh tng ng c cng min gi tr. Cc php ton c nh ngha nh sau: . Php hp: Hp ca hai quan h R v S, c k hiu l R S, cho kt qu l mt quan h cha tt c cc b c trong R hoc trong S hoc trong c hai. Cc b trng lp b loi b. . Php giao: Giao ca hai quan h R v S , c k hiu l R S , cho kt qu l mt quan h cha tt cc cc b c trong c hai quan h R v S. . Php tr quan h: Php tr quan h R v S , c k hiu l R - S, cho kt qu l mt quan h cha tt c cc b c trong R nhng khng c trong S. V d, xt hai quan h:
R Htn AA BB CC DD Tui 20 18 21 25 Giitnh Nam N Nam N S Htn BB EE DD FF Tui 18 20 25 21 Giitnh N Nam N Nam

RS

Htn AA BB CC DD EE FF

Tui 20 18 21 25 20 21

Giitnh Nam N Nam N Nam Nam

RS

Htn BB DD

Tui 18 25

Giitnh N N

R - S Htn AA CC

Tui 20 21

Giitnh Nam Nam

Hnh III-7. Kt qu ca cc php ton tp hp 68

Ch rng cc php ton hp v giao l cc php ton giao hon, ngha l: R S = S R v RS = SR

Cc php ton trn cng c tnh cht kt hp, ngha l R (S T) = (R S) T v R (S T) = (RS) T Php ton tr tp hp khng c tnh cht giao hon. R-S S-R Ngoi cc php ton trn, cn c mt php ton gi l tch cc. Tch cc cn gi l tch hn hp (cross product) hoc l ni hn hp (cross join), c k hiu l . cng l mt php ton hai ngi nhng nhng quan h m n p dng trn khng phi l tng thch ng nht. Php ton ny c s dng ni cc b ca hai quan h vo mt kiu kt hp. Kt qu ca R(A1, A2, .. , An) S(B1, B2, ,Bm) l mt quan h Q vi n+m thuc tnh Q(A1, A2,, An, B1, B2,,Bm). Quan h kt qu Q c cc b c to thnh do s kt hp mt b ca R v mt b ca S. V d, xt hai quan h R v S nh sau:

A1 aa ab

A2 bb ba

A3 cc ac

B1 dd cd

B2 da cb

B3 db ac

RS

A1 aa aa ab ab

A2 bb bb ba ba

A3 cc cc ac ac

B1 dd cd dd cd

B2 da cb da cb

B3 db ac db ac

Hnh III-8. Tch cc ca hai quan h R v S.

69

Nh vy, nu R c nR b v S c nS b th R S c nR*nS b. Php ton ny nu p dng mt mnh th khng c ngha my. N ch c li khi tip theo bng mt php chn cc gi tr tng thch ca cc thuc tnh xut pht t cc quan h thnh phn. Tch cc kt hp vi mt php chn cho ta mt php ni. III.2.5- Php ni (JOIN) Php ni c k hiu l v c dng kt hp cc b c lin h vi nhau t hai quan h thnh mt b. Php ton ny rt quan trng i vi c s d liu quan h c nhiu bng bi v n cho php ta x l cc mi lin kt gia cc quan h. Dng tng qut ca php ni trn hai quan h R(A1, A2,,An) v S(B1,B2,, Bm) l R S
< iu kin ni>

Kt qu ca php ni l mt quan h Q(A1,A2,,An,B1,B2,,Bm) c n+m thuc tnh. Mi b ca Q l mt s kt ni gia mt b ca R v mt b ca S khi chng tho mn iu kin ni. S khc nhau gia tch cc v php ni l ch trong php ni, ch c cc b tho mn iu kin ni mi xut hin trong kt qu, trong khi trong tch cc mi t hp ca cc b u c trong kt qu. iu kin ni c ch ra trn cc thuc tnh ca hai quan h R v S v c tnh ton cho mi t hp cc b. Mi t hp b m iu kin ni l ng c cha trong quan h kt qu Q nh l mt b n. Mt iu kin ni tng qut c dng <iu kin> AND <iu kin> AND AND <iu kin> trong mi iu kin c dng Ai Bj, Ai l mt thuc tnh ca R, Bj l mt thuc tnh ca S, Ai v Bj c cng min v l mt trong cc du php ton so snh {<, <=, =, >=, >, }. Mt php ton ni vi iu kin tng qut nh vy gi l mt php ni t-ta. Cc b c cc thuc tnh ni l null khng xut hin trong kt qu. Theo ngha , php ton khng nht thit phi x l mi thng tin trong cc quan h tham gia. V d : Gi s ta c hai quan h R v S nh sau:
R A1 Aa Ab A2 Ca Cb A3 Ba Bb S B1 Ba Bb B2 Aaa Ccc B3 Bbb Ddd

70

Ac Ad Ae

Ca Cc Cd

Ba Null Bb

Khi kt qu ca php ni t-ta R v S vi iu kin A3 = B1 s cho kt qu l:


R S A1 Aa Ab Ac Ae A2 Ca Cb Ca Cd A3 Ba Bb Ba Bb B1 Ba Bb Ba Bb B2 Aaa Ccc Aaa Ccc B3 Bbb Ddd Bbb Ddd

<A3 = B1>

Hnh III-9. Php ni t-ta hai quan h Phn ln cc php ni ch cho php cc iu kin ni vi cc so snh bng. Nhng php ni ch s dng php so snh bng c gi l ni bng (equi join). V d trong hnh III-8 l mt php ni bng. Ch rng trong kt qu ca php ni bng chng ta thy lun lun c mt hoc nhiu cp thuc tnh c cc gi tr nh nhau trong mi b. Vic c cc cp thuc tnh c gi tr nh nhau l tha, v vy ngi ta ngh mt php ni mi gi l ni t nhin, k hiu l *. Php ni t nhin nhm loi b thuc tnh th hai (thuc tnh tha) trong iu kin ni bng. nh ngha chun ca ni t nhin i hi hai thuc tnh ni (hoc mi cp thuc tnh ni) phi c tn nh nhau trong c hai quan h. Nu cc thuc tnh khng cng tn th trc khi ni phi p dng php ton t li tn. V d, ta cn ni t nhin hai quan h R(A1,A2,A3) v S(B1,B2,B3) nh trong v d trn. c th thc hin c php ni t nhin vi iu kin so snh bng, ta phi i tn thuc tnh B1 thnh A3, ngha l ta phi vit: R * (A3, B2,B3)(S) Php ni s c kt qu nh sau:
R*S A1 Aa A2 Ca A3 Ba B2 Aaa B3 Bbb

71

Ab Ac Ae

Cb Ca Cd

Bb Ba Bb

Ccc Aaa Ccc

Ddd Bbb Ddd

Hnh III-10. Php ni t nhin hai quan h Nu cc thuc tnh m trn ni t nhin c ch ra c tn nh nhau th vic t li tn l khng cn thit. Ch rng nu khng c mt t hp cc b no tho mn iu kin ni th kt qu ca mt php ni l mt quan h rng khng cha b no. Ni chung, nu R c nR b v S c nS b th kt qu ca php ni R vi S s c s cc b ln hn 0 v nh hn nR.nS. C ca mt kt qu ni chia cho c cc i nR.nS to nn mt t l gi l chn la ni, l mt tnh cht ca mi iu kin ni. Nu khng c iu kin ni, mi t hp cc b s c chn v php ni tr thnh mt tch cc. Php ni c s dng kt hp cc d liu t nhiu quan h sao cho cc thng tin c lin h vi nhau c th c biu din trong mt bng. i khi php ni c p dng ni mt bng vi chnh n. Chng ta c th p dng php ni t nhin v ni bng ni nhiu bng vi nhau. Nu ta ni n bng vi nhau th phi ch ra n-1 iu kin ni. III.2.6- Tp hp y cc php ton quan h Ngi ta ch rng tp hp cc php ton i s quan h {, , , , } l mt tp y , ngha l mi php ton i s quan h khc c th c biu din thng qua cc php ton ca tp hp ny. V d, php giao c th c biu din bng cch s dng cc php hp v tr tp hp nh sau: R S = (R S) ((R- S) (S R)) Nh vy, ni mt cch chnh xc l khng cn phi c php giao. Mi khi cn thc hin mt php giao, ta ch cn a ra biu thc phc tp ny l . Mt v d khc, mt php ni c th c ch ra nh mt tch cc v sau l mt php chn: R S = < iu kin chn> (R S)

< iu kin ni>

72

Mt cch tng t, ta c th thay th php ni t nhin bng mt tch cc i sau mt php t li tn v sau l cc php ton chn v chiu. Nh vy cc php ton ni cng khng cn thit. Tuy nhin cc php ton rt quan trng bi v chng tin dng v rt thng xuyn c p dng trong cc c s d liu. Cc php ton c a vo trong i s quan h l do tin dng hn l do cn thit. Mt php ton khc cng c a vo, l php chia. III.2.7- Php chia Php chia c li cho mt loi truy vn c bit i khi c cc ng dng trong c s d liu. Php chia c p dng cho hai quan h R(Z) v S(X) v c k hiu l R(Z) S(X), trong X Z . Gi s Y = Z - X (nh vy Z = X Y). Kt qu ca php chia l quan h T(Y) cha mt b t nu cc b tR xut hin trong R vi tR[Y] = t v vi tR[X] = tS vi mi b tS trong S. iu c ngha l mt b t xut hin trong kt qu T ca php chia, cc gi tr trong t phi xut hin trong R trong s kt ni vi mi b ca S. V d: Xt php chia quan h R(A,B) cho quan h S(A) nh hnh v di y. Ta thy ch c cc thuc tnh B1 v B4 l kt ni vi tt c cc b ca S trong R. V vy kt qu nhn c l mt quan h T(B) vi hai gi tr ca B l B1 v B4. Php chia c th c biu din thng qua cc php ton , , nh sau: T1Y( R ) ; T2 Y((S T1) R ) ; T T1 T2
R A A1 A2 A3 A4 A1 A3 A2 A3 A4 B B1 B1 B1 B1 B2 B2 B3 B3 B3 T A B1 B4 S B A1 A2 A3

73

A1 A2 A3

B4 B4 B4

Hnh III-11. Php chia T(B) = R(A,B) S(B). III.3- Cc php ton quan h b sung C nhiu truy vn c s d liu khng th thc hin c bng cc php ton i s c bn trnh by trn. Trong phn ny chng ta s trnh by cc php ton b sung biu din cc truy vn . Cc php ton ny lm tng cng sc mnh ca i s quan h. III.3.1- Cc hm nhm v cc php nhm Kiu cu hi u tin khng th biu din c trong i s quan h c s l ch ra cc hm nhm ton hc trn cc tp hp gi tr ca cc c s d liu. Cc v d v cc hm nh vy c th l a ra lng trung bnh hoc tng lng ca tt c nhn vin, hoc cho bit s cc b ca bng nhn vin. Cc hm hay p dng thu thp cc gi tr s l hm Tng (SUM), Trungbnh (AVERAGE), Tnh gi tr ln nht (MAX), Gi tr b nht (MIN). Hm m (COUNT) c s dng m cc b gi tr. Mt kiu cu hi hay dng khc l i hi nhm cc b trong mt quan h theo mt gi tr ca mt s cc thuc tnh ca chng v sau p dng cc hm nhm mt cch c lp cho tng nhm. V d, nhm cc b ca quan h NHNVIN theo MsV. Nh vy, mi nhm bao gm cc nhn vin cng lm vic trong mt n v. Sau chng ta c th a ra mi gi tr ca MsV cng vi lng trung bnh ca cc nhn vin trong n v. Chng ta c th nh ngha mt php ton nhm nh sau:
< cc thuc tnh nhm>

< danh sch cc hm>(R)

trong l k hiu php ton hm nhm, <cc thuc tnh nhm> l mt danh sch cc thuc tnh ca quan h c ch ra trong R, <danh sch hm> l danh sch cc cp (<hm><thuc tnh)>). Trong cc cp nh vy, <hm> l mt trong cc hm cho php nh SUM, AVERAGE, MAX, MIN, COUNT, v <thuc tnh> l mt thuc tnh ca quan h c ch ra trong R. Quan h kt qu c cc 74

thuc tnh nhm cng vi mt thuc tnh cho mi phn t trong danh sch hm. V d, ly ra theo MsV cc nhn vin v lng trung bnh ca cc nhn vin theo tng n v, ta c th vit:
MsDV

COUNT ( ), AVERAGE(Lng)(

NHNVIN)

Kt qu c minh ho hnh III-10.


MsV 1 4 5 COUNT() 1 3 4 AVERAGE(Lng) 5500 3100 3325

Hnh 3.10 Minh ho php ton nhm Nu khng ch ra thuc tnh nhm th cc hm c p dng cho cc gi tr thuc tnh ca tt c cc b trong quan h, v vy quan h kt qu ch c mt b. Cn ch rng, ni chung, cc trng lp khng c loi b khi hm nhm c p dng. Kt qu ca vic p dng mt hm nhm l mt quan h ch khng phi l mt i lng v hng, thm ch nu n ch c mt gi tr. III.3.2- Cc php ton khp kn quy Mt kiu php ton khc, ni chung, khng ch ra c trong cc php ton i s quan h c s l php ton khp kn quy. Php ton ny c p dng cho mi lin kt quy gia cc b cng kiu.Vi cc php ton ny chng ta phi s dng k thut lp. III.3.3- Cc php ton ni ngoi (outer join), hp ngoi (outer union) Trong phn ny chng ta tho lun mt vi m rng ca php ton ni v hp. Cc php ton ni m t trn lin kt cc b tho mn iu kin ni. Nh vy, cc b khng c b lin kt s b loi khi kt qu ni. Cc b vi gi tr null trong cc thuc tnh ni cng b loi. Mt tp hp cc php ton gi l ni ngoi c th c s dng khi chng ta mun gi cc b trong R hoc S hoc trong c hai quan h trong kt qu ca php ni d chng c nhng b lin kt trong quan h kia hay khng. C ba php ni ngoi gi l ni ngoi tri (left outer join), ni ngoi phi (right outer join) v ni ngoi y (full outer join), c k hiu tng ng l: 75

Ni ngoi tri

Ni ngoi phi

Ni ngoi y

Php ni ngoi tri gi li mi b trong quan h bn tri R trong php ni. Nu khng c b lin kt no c tm thy trong S th cc thuc tnh ca S trong kt qu php ni c lm y bng cc gi tr null. Tng t nh vy i vi cc php ni ngoi phi v cc php ni ngoi y . Php ton hp ngoi c m rng ly hp ca cc b t cc quan h nu cc b khng tng thch ng nht. Php ton ny ch ly hp ca cc quan h m chng ch tng thch b phn, ngha l ch mt vi thuc tnh ca chng l tng thch php hp. iu phi tn trng l danh sch cc thuc tnh tng thch phi cha mt kho cho c hai quan h. Cc b t cc quan h thnh phn vi cng mt kho ch c biu din mt ln trong kt qu v c gi tr cho tt c cc thuc tnh trong kt qu. Cc thuc tnh khng tng thch php hp t bt k quan h no cng c gi trong kt qu v cc b khng c gi tr cho cc thuc tnh ny cng c lp y bng nhng gi tr null. III.4- Mt s v d v truy vn trong i s quan h Trong phn ny, chng ta xt mt s v d minh ha vic s dng cc php ton i s quan h. Cc v d y thc hin trn c s d liu CNG TY mc II.3 chng III. Ni chung, mt truy vn c th c thc hin bng nhiu cch, s dng cc php ton khc nhau. Trong cc v d sau, chng ta xt mt cch thc hin, cc bn c c th t a ra cc cch thc hin khc. Truy vn 1: a ra H m, Tn v a ch ca tt c cc nhn vin lm vic cho n v c tn l Nghin cu: (Cc quan h TG1, TG2 l cc kt qu trung gian) TG1 TnV = Nghincu (NV) TG2 (TG1 NHNVIN) KETQUA Hm, Tn, ach (TG2) Theo cch thc hin ny, quan h TG1 cha thng tin v n v c tn Nghin cu, quan h TG2 cha thng tin v cc nhn vin lm vic cho n v Nghin cu v quan h KTQU cha cc thng tin theo yu cu ca truy vn. 76

Trong cc bng ca chng ta, cc thuc tnh ni c tn nh nhau nn c th dng php ni t nhin. Truy vn 2: Vi mi d n t ti H ni, hy lit k MsDA, TnV, Tn, ach, Ngysinh ca ngi qun l n v. TG1 DiadiemDA=Hanoi(DN) TG2 (TG1 NV) TG3 (TG2 * NHNVIN) KTQU MsDA, MsV, Hm,ach, Ngysinh (TG3) Truyvn 3: Hy tm tn ca cc nhn vin lm vic trn tt c cc d n do n v c m s = 5 kim sot. TG1 MsDA (M sDV = 5 (DN)) TG2 MsNV, MsDA (NHNVIN_DN) TG3 TG2 TG1 KETQUA Hm, Tn (TG3 * NHNVIN)

IV- Chuyn i m hnh ER thnh m hnh quan h


Nh tho lun chng II, bc tip theo sau vic xy dng m hnh d liu mc khi nim, ta phi chuyn i m hnh thnh mt m hnh d liu lgic. Trong phn ny chng ta s tho lun v thut ton chuyn i mt m hnh ER thnh ra m hnh quan h. IV.1- Cc quy tc chuyn i Thut ton chuyn i c thc hin theo cc bc sau (da trn CSDL CNG TY): Bc 1 : Vi mi kiu thc th thng thng E trong lc ER, hy to mt quan h R cha mi thuc tnh n ca E. Vi cc thuc tnh phc hp, ch ly cc thuc tnh thnh phn n ca n. Chn mt trong cc thuc tnh kho ca E lm kho chnh cho R. Nu kho c chn ca E l phc hp (gm nhiu thuc tnh) th tp cc thuc tnh n s cng nhau to nn kho chnh ca R.

77

V d: Gi s ta c kiu thc th NV vi cc thuc tnh l MsV, TnV, aimV trong cc thuc tnh kho l MsV, TnV (do mi n v c mt tn duy nht), v aimV l mt thuc tnh a tr (do mi n v c nhiu a im). Khi kiu thc th NV c chuyn thnh quan h NVI vi cc thuc tnh MsV, TnV. Kho chnh ca quan h l MsV (chn mt trong hai thuc tnh kho ca kiu thc th). Bc 2: Vi mi kiu th th yu W trong lc ER cng vi kiu thc th ch E, hy to mt quan h R cha tt cc cc thnh phn n (hoc cc thnh phn n ca cc thuc tnh phc hp) ca W nh l cc thuc tnh ca R. a cc thuc tnh kho chnh ca cc quan h tng ng vi kiu thc th ch lm kho ngoi ca R. Cc thuc tnh ny s xc nh kiu lin kt ca W. Kho chnh ca R l mt t hp ca kho chnh ca cc quan h tng ng vi kiu thc th ch v kho b phn ca kiu thc th yu W nu c. V d: Gi s ta c kiu lin kt NHNVIN <c> CON trong NHNVIN l kiu thc th ch vi cc thuc tnh MsNV, Hm, Tn, Ngysinh, Giitnh. Thuc tnh kho ca NHNVIN l MsNV. CON l kiu thc th ph thuc (vo thc th NHNVIN) vi cc thuc tnh l Htncon, Ngysinh, Giitnh. Kiu thc th ny khng c thuc tnh kho. Khi kiu thc th NHNVIN c chuyn thnh quan h NHNVIN vi cc thuc tnh nh trn. Kiu thc th CON c chuyn thnh quan h CON vi cc thuc tnh MsNV, Htncon, Ngysinh, Giitnh. Quan h ny c kho ngoi l MsNV, kho chnh l M sNV, Htncon. Bc 3: Vi mi kiu lin kt 1:1 R trong lc ER, hy xc nh cc quan h S v T tng ng vi cc kiu thc th tham gia trong R. Hy chn mt trong cc quan h, chng hn S, v a kho chnh ca T vo lm kho ngoi trong S. Tt nht l chn S l mt kiu thc th tham gia ton b vo R. a tt cc cc thuc tnh n (hoc cc thnh phn n ca cc thuc tnh phc hp) ca kiu lin kt 1:1 R vo lm cc thuc tnh ca S. Ch : C mt cch chuyn i mi lin kt 1:1 na l nhp hai kiu thc th v mi lin kt thnh mt quan h. Cch ny thng c p dng khi c hai kiu thc th u tham gia ton b vo lin kt. V d: Gi s ta c kiu lin kt NHNVIN <qun l> NV, vi cc thuc tnh ca cc kiu thc th ging nh trn. Kiu lin kt <qun l> l mt 78

kiu lin kt 1:1, ng thi s tham gia ca NHNVIN vo kiu lin kt l b phn (khng phi nhn vin no cng qun l n v), s tham gia ca NV l y (mt n v lun lun phi c mt ngi qun l). Khi , kiu thc th NHNVIN s c chuyn thnh quan h NHNVIN vi cc thuc tnh ca n, cn kiu thc th NV s c chuyn thnh quan h NV vi cc thuc tnh ca kiu thc th NV cng thm vi thuc tnh MsNV v thuc tnh ca kiu lin kt <qun l>, nu c. Thuc tnh MsNV s l kho ngoi cho quan h NV. lm r vai tr ngi qun l, khi chuyn sang quan h NV, ngi ta i tn thuc tnh MsNV thnh MsNQL (M s ngi qun l). Ngoi ra, kiu lin kt <qun l> c mt thuc tnh l Ngybtu, thuc tnh ny cng c a vo quan h NV. Bc 4: Vi mi kiu lin kt hai ngi R kiu 1:N, hy xc nh quan h S biu din kiu thc th tham gia pha N ca kiu lin kt. a kho chnh ca quan h T biu din kiu thc th tham gia vo R pha 1 vo lm kho ngoi trong S. Lm nh vy l v mi thc th c th ca pha N c lin kt vi nhiu nht l mt thc th c th ca pha 1 ca kiu lin kt. a cc thuc tnh n (hoc cc thnh phn n ca cc thuc tnh phc hp) ca kiu lin kt 1:N vo lm cc thuc tnh ca S. V d: Gi s ta c kiu lin kt NHNVIN <lm vic cho> NV, trong cc kiu thc th NHNVIN, NV l cc kiu thc th trn. Kiu lin kt <lm vic cho> l kiu lin kt N:1 (mt nhn vin ch lm vic cho mt n v v mi n v c nhiu nhn vin lm vic cho). Khi , Kiu thc th NV s c chuyn thnh quan h NV vi cc thuc tnh ca kiu thc th NV cn kiu thc th NHNVIN s c chuyn thnh quan h NHNVIN vi cc thuc tnh ca kiu thc th NHNVIN cng thm vi thuc tnh MsV (l kho chnh ca quan h NV). Thuc tnh MsV s l thuc tnh kho ngoi ca quan h NHNVIN. Bc 5: Vi mi kiu lin kt N:M hai ngi R, hy to ra mt quan h mi S biu din R. a cc kho chnh ca cc quan h biu din cc kiu thc th tham gia vo lm kho ngoi ca S. T hp cc kho chnh s to nn kho chnh ca S. a tt c cc thuc tnh n (hoc cc thnh phn n ca cc thuc tnh phc hp) ca kiu lin kt N:M vo lm cc thuc tnh ca S. Ch rng ta khng th biu din mt kiu lin kt N:M bng mt thuc tnh kho ngoi n 79

gin trong mt trong cc quan h tham gia (nh lm vi cc kiu lin kt 1:1 v 1:N) v t s lc lng N:M. V d: Gi s ta c kiu lin kt NHNVIN <lm vic vi> DN. Kiu thc th NHNVIN c cc thuc tnh nh trn vi thuc tnh kho l MsNV. Kiu thc th DN c cc thuc tnh l MsDA, TnDA, aimDA trong thuc tnh kho l MsDA. Kiu lin kt < lm vic vi> l mt kiu lin kt N:M (mt nhn vin c th lm vic vi nhiu d n v mi d n c nhiu nhn vin lm vic vi). Kiu lin kt ny c mt thuc tnh l Sgi lu s gi m mi nhn vin lm vic cho mt d n. Khi kiu lin kt <lm vic vi> s c chuyn thnh mt quan h c tn l NHNVIN_D N vi cc thuc tnh MsNV, MsDA, Sgi trong hai thuc tnh MsNV, MsDA to thnh kho chnh (phc hp) cho quan h. Bc 6: Vi mi thuc tnh a tr A, hy to ra mt quan h mi R. Quan h R ny s cha mt thuc tnh tng ng vi A cng vi thuc tnh kho K ca quan h biu din kiu thc th hoc kiu lin kt c thuc tnh l A lm kho ngoi ca R. Kho chnh ca R l mt t hp ca A v K. Nu thuc tnh a tr l phc hp th chng ta ch a vo R cc thnh phn n ca n. V d: Xt kiu thc th NV trn. Thuc tnh aimV l mt thuc tnh a tr. Khi chuyn thnh m hnh quan h n s c chuyn thnh mt quan h c kho chnh l MsV, a im v c th c thm mt s thuc tnh khc lu thng tin v a im. Bc 7: Vi mi kiu lin kt n ngi R, trong n > 2, hy to ra mt quan h S biu din R. a cc kho chnh ca cc quan h biu din cc kiu thc th tham gia vo lm kho ngoi ca S. a tt c cc thuc tnh n (hoc cc thnh phn n ca cc thuc tnh phc hp) ca kiu lin kt n-ngi vo lm thuc tnh ca S. Kho chnh ca S thng l mt t hp cc kho chnh ca cc quan h biu din cc kiu thc th tham gia. Tuy nhin, nu rng buc lc lng trn mt kiu thc th E no tham gia vo R l 1 th kho chnh ca S khng c cha thuc tnh kho ngoi tham chiu n quan h E tng ng vi kiu thc th E. V d: Gi s chng ta c kiu lin kt IL <cung cp> VTT <cho> DN. y l mt kiu lin kt cp ba. Gi s rng kiu thc th IL c thuc tnh kho l MsL, kiu thc th VTT c thuc tnh kho l MsVT, kiu thc th DN c thuc tnh kho l MsDA cn kiu lin kt <cung cp> c 80

thuc tnh l Slng lu s lng vt t m mt ai l cung cp cho mt d n. Khi kiu lin kt <cung cp> s c chuyn thnh mt quan h c tn l CUNGCP vi cc thuc tnh MsL, MsVT , MsDA, Slng v kho chnh gm ba thuc tnh MsL, MsVT , MsDA. IV.2- Chuyn i m hnh c th Trong chng 2 chng ta phn tch v thit k m hnh ER cho bi ton CNGTY. p dng cc bc ca thut ton trn, chng ta c m hnh quan h cho bi ton CNGTY nh sau: NHNVIN(Hm,Tn, MsNV, Ngysinh, ach, Giitnh, Lng, MsNGS, MsV) NV(TnV, MsV, MsNQL, Ngybtu) NV_AIM(MsV, aimV) DN(TnDA, MsDA, aimDA, MsV) NHNVIN_DN(MsNV, MsDA, Sgi) PHTHUC(MsNV, Tncon, Giitnh, Ngysinh) Hnh III-12. Lc c s d liu CNGTY

V- Tng kt chng v cu hi n tp
V.1- Tng kt chng Trong chng ny chng ta trnh by cc khi nim c bn ca m hnh d liu quan h. Chng ta cng tho lun v i s quan h v cc php ton b sung c s dng thao tc cc quan h. Chng ny bt du bng vic gii thiu cc khi nim min, thuc tnh v b gi tr. Lc quan h c nh ngha nh mt danh sch cc thuc tnh m t cu trc ca mt quan h. Mt quan h (hoc trng thi quan h) l mt tp hp cc b gi tr ph hp vi lc . C nhiu c trng lm phn bit cc quan h v cc bng hoc cc tp thng thng. Trc tin, cc b trong mt quan h l khng c th t. c trng th hai lin quan n th t ca ca cc thuc tnh trong mt lc quan h v th t tng ng ca cc gi tr bn trong mt b. Mc d ta a ra mt nh ngha quan h khc chng minh rng hai th t ny l khng cn thit, tuy nhin, thun tin ta vn i hi cc thuc tnh v cc gi tr trong b l c th t. Chng ta 81

cng tho lun v cc gi tr trong cc b v gii thiu cc gi tr null biu din thng tin b thiu hoc khng bit. Tip theo, chng ta tho lun v cc rng buc m hnh quan h. l cc rng buc min, rng buc kha, cc khi nim v siu kha, kha d tuyn, kha chnh v rng buc NOT NULL trn cc thuc tnh. Sau , chng ta nh ngha c s d liu v lc c s d liu quan h. Cc rng buc ton vn thc th v ton vn tham chiu cng c nh ngha v phn tch. Ton vn thc th ngn cm vic kha chnh c gi tr null. Ton vn tham chiu c s dng duy tr s nht qun ca vic tham chiu trong cc b t cc quan h khc nhau. Cc php cp nht trn m hnh quan h gm Insert, Delete, Update. Mi mt php ton c th vi phm cc kiu rng buc nht nh. Mi khi mt php ton uc p dng, trng thi c s d liu sau khi php ton c thc hin phi c kim tra m bo rng khng c mt rng buc no b vi phm. Tip theo chng ta m t i s quan h c s, l mt tp hp cc php ton thao tc quan h v c th c s dng a ra cc truy vn. Chng ta nh ngha v phn tch cch s dng cc php ton nh chiu, chn, tch cc, ni, php t li tn. Cc php ton tp hp nh giao, hp, tr cng c nh ngha v phn tch. Tip theo, chng ta tho lun v cc kiu truy vn quan trng khng th s dng c cc php ton i s quan h c s. Chng ta gii thiu php ton hm nhm lm vic vi cc kiu yu cu nhm. Cc kiu truy vn quy cng c tho lun v gii thiu cch ch ra mt s kiu truy vn quy. Cc php ni ngoi, hp ngoi, m rng ca php ni v php hp cng c tho lun cui chng. Cui cng, chng ta lm quen vi thut ton chuyn i t m hnh ER sang m hnh quan h. M hnh ER cho CNGTY c xy dng chng II c chuyn i thnh lc c s d liu quan h. V.2- Cu hi n tp 1) nh ngha cc thut ng sau: min, thuc tnh, n-b, lc quan h, trng thi quan h, cp ca quan h, lc c s d liu, trng thi c s d liu. 2) V sao cc b trong mt quan h l khng c th t. 82

3) V sao khng cho php cc b trng lp trong mt quan h. 4) Siu kha v kha khc nhau ch no. 5) V sao phi ch nh mt trong cc kha d tuyn lm kha chnh. 6) Nu nhng c trng lm cho cc quan h khc vi cc bng hoc cc tp thng thng. 7) Nu cc l do v vic tn ti cc gi tr khng xc nh trong cc quan h. 8) Hy gii thch v rng buc ton vn thc th v rng buc ton vn tham chiu. V sao cc rng buc ny l quan trng? 9) nh ngha kha ngoi. Khi nim ny dng lm g? Cc kha ngoi ng vai tr nh th no trong php ni? 10) Hy gii thch cc php ton cp nht trn cc quan h v cc kiu rng buc ton vn phi c kim tra i vi mi php ton cp nht. 11) Lit k cc php ton i s quan h v mc ch ca tng php ton. 12) Tng thch hp l g? V sao cc php ton hp, giao, tr i hi cc quan h tham gia vo php ton phi tng thch hp? 13) Hy gii thch cc kiu truy vn cn c vic t li tn cc thuc tnh ch ra truy vn mt cch r rng. 14) Hy nu cc kiu php ton ni khc nhau. 15) Php ton hm l g? N c dng v mc ch no? 16) Cc php ni ngoi khc vi cc php ni trong nh th no? Php hp ngoi khc vi php hp nh th no?

V.3- Bi tp 1) Chuyn i cc lc ER ca cc bi tp 1, 2 chng II thnh lc c s d liu quan h. 2) Cho lc c s d liu Thvin: SACH(Msch, Tnsch, TnNXB) SACH_TACGIA(Masach, TnTG) 83

NHAXUATBAN(TnNXB, ach, inthoi) SACH_BANSAO(Msch, Mnhnh, Slngbnsao) NHANH_THUVIEN(Mnhanh, Tnnhnh, ach) SACH_MUON(Msch, Mnhnh, Sth, Ngymn, Ngytr) NGUOIMUON(Sth, Tn, ach, inthoi) Hy vit cc biu thc quan h cho cc truy vn sau y trn c s d liu Thvin: 1. C bao nhiu bn sao ca cun sch The Lost Tribe c trong nhnh th vin c tn l Shapstown. 2. C bao nhiu bn sao ca cun sch The Lost Tribe c trong mi nhnh th vin. 3. a ra tn ca tt c ngi mun cha mn cun sch no. 4. Vi mi cun sch c mn ra t nhnh th vin Shapstown c ngy tr l ngy hm nay, hy a ra Tn sch, Tn ngi mn v a ch ngi mn. 5. Vi mi th vin nhnh, hy a ra tn nhnh th vin v tng s sch c mn ra t nhnh ny. 6. a ra tn, a ch v s cc sch do ngi ny mn vi nhng ngi mn nhiu hn 5 cun sch. 7. Vi mi cun sch c tc gi (hoc ng tc gi) l Stephen King, hy a ra tn sch v s lng cc bn sao c ti nhnh th vin c tn l Central. 3) Cho c s d liu CNGTY gm cc lc : NHNVIN(M sNV, Hm, Tn, Ngysinh, Giitnh, ach, Lng, MsNGS, M sV) NV(MsV, TnV, MsNQL, Ngybtu) DN(MsDA, TnDA, aimDA, MsV) PHTHUC(MsNV, TnPT, Ngy sinh, Giitnh, Quanh) 84

NHNVIN_DN(MsNV, MsDA, Sgi) NV_AIM(MsV, aim) Hy vit cc biu thc quan h thc hin cc truy vn sau: a) a ra tn v a ch ca tt c cc nhn vin lm vic cho n v nghin cu. b) Vi mi d n c a im ti H ni, hy lit k m s d n, m s ca n v kim sot, Tn, a ch v ngy sinh ca ngi qun l n v c) Tm tn ca cc nhn vin lm vic trn tt c cc d n do n v c m s 5 kim sot. d) To ra mt danh sch cc m s d n i vi cc d n c mt nhn vin hoc mt ngi qun l n v kim sot d n c tn l Nam. e) a ra tn ca tt c cc nhn vin c nhiu hn hoc bng 2 ngi ph thuc. f) a ra cc nhn vin khng c ngi ph thuc. g) a ra tn ca nhng ngi qun l c t nht l mt ngi ph thuc.

85

Chng IV- PH THUC HM V CHUN HA C S D LIU QUAN H, CC THUT TON THIT K C S D LIU QUAN H
Trong chng ny chng ta s tho lun v mt s vn l thuyt c pht trin nhm mc ch chn c lc quan h tt, ngha l o c mt cch hnh thc v sao tp hp cc thuc tnh ny nhm vo trong cc lc quan h th tt hn nhm kia. Chng ta c th ni n tnh tt ca cc lc quan h hai mc: mc th nht l mc lgic, mc th hai l mc ci t. Mc th nht lin quan n vic cc ngi s dng th hin cc lc quan h v ngha ca cc thuc tnh ca chng nh th no. Mc th hai lin quan n vic cc b trong mt quan h c s c lu tr v cp nht nh th no. Vic thit k c s d liu c th c thc hin bng cch s dng hai gii php: di ln (bottom-up) hoc trn xung (top-down). Phng php thit k di ln xem cc mi lin kt c bn gia cc thuc tnh ring r nh l im xut pht v s dng chng xy dng nn cc quan h. Gii php ny cn c tn gi l thit k bng tng hp (design by synthesis). Ngc li, phng php thit k trn xung, cn gi l thit k bng phn tch (design by analyse) bt u t mt s cc nhm thuc tnh trong cc quan h nhn c t thit k quan nim v cc hot ng chuyn i. Sau vic thit k bng phn tch c p dng i vi cc quan h mt cch ring r v tp th dn n vic tch cc quan h cho n khi t c tnh cht mong mun.

I-

Cc nguyn tc thit k lc quan h


I.1Ng ngha ca cc thuc tnh quan h

Khi chng ta nhm cc thuc tnh to nn mt lc quan h, ta gi thit rng c mt ngha no gn vi cc thuc tnh. ngha ny, cn gi l ng ngha, ch ra vic hiu cc gi tr thuc tnh lu gi trong cc b ca mt quan h nh th no. Ni cch khc, cc gi tr thuc tnh trong mt b lin h vi nhau nh th no. Nu vic thit k khi nim c lm mt cch cn thn, sau l mt chuyn i sang cc quan h th hu ht ng ngha c gii thch v thit k kt qu c mt ngha r rng. Ni chung, vic gii thch ng ngha ca quan h cng 86

d dng th vic thit k lc quan h cng tt. Mt v d v thit k lc quan h tt l lc c s d liu CNG TY. Trong lc , cc thuc tnh u c ngha r rng, khng c tnh mp m. Nguyn tc sau s h tr cho vic thit k lc quan h. Nguyn tc 1: Thit k mt lc quan h sao cho d gii thch ngha ca n. ng t hp cc thuc tnh t nhiu kiu thc th v kiu lin kt vo mt quan h n. Mt cch trc quan, nu mt lc quan h tng ng vi mt kiu thc th hoc mt kiu lin kt th ngha tr nn r rng. Ngc li, mt quan h tng ng vi mt hn hp cc thc th v lin kt th ngha tr nn khng r rng. I.2Thng tin d tha trong cc b v s d thng cp nht

Mt mc tiu ca thit k lc l lm ti thiu khng gian lu tr cc quan h c s. Cc thuc tnh c nhm vo trong cc lc quan h c mt nh hng ng k n khng gian lu tr. Nu cng mt thng tin c lu gi nhiu ln trong c s d liu th ta gi l d tha thng tin v iu s lm lng ph khng gian nh. V d, gi s ta c bng c s sau y: NHNVIN_NV
MsNV Hm NV001 NV002 NV010 NV014 NV016 NV018 NV025 NV061 L Trn c Hong Phm Nguyn V Hng Trn L Hong Tn Vn Nam Ngy sinh ach 12/02/79 14/02/66 H ni H ni Ngh an Bc ninh H nam MsV TnV 5 5 4 4 5 Nghincu Nghincu Hnhchnh Hnhchnh Nghincu Nghincu Hnhchnh Lnho MsNQL NV002 NV002 NV014 NV014 NV002 NV002 NV014 NV061

Thanh 05/08/79 Bng Sn Giang Hoa Gip 26/06/52 14/08/73 26/03/83 15/03/80 02/05/47

Nam nh 5 Ph th H tnh 4 1

y c s d tha thng tin. Nu mt n v c nhiu nhn vin lm vic th thng tin v n v (M s, Tn n v, M s ngi qun l) c lu gi nhiu 87

ln trong bng. So vi vic dng hai bng NHNVIN v NV ring r nh trong lc CNG TY, vic s dng bng ny lm lng ph khng gian nh. Ngoi vic lng ph khng gian nh n cn dn n mt vn nghim trng l s d thng cp nht. D thng cp nht bao gm: D thng Chn, d thng Xo, d thng Sa i. Nhng d thng cp nht ny s a vo c s d liu nhng thng tin l v lm cho c s d liu mt tnh ng n. D thng Chn: Gy ra kh khn khi chn cc b gi tr vo bng hoc dn n vi phm rng buc. V d: chn mt b gi tr cho mt nhn vin mi vo bng NHNVIN_NV ngoi cc thng tin v nhn vin, ta phi a vo cc thng tin v n v m anh ta lm vic hoc cc gi tr null (nu nhn vin khng lm vic cho n v no c). Cc thng tin v n v phi c a vo mt cch ng n, ph hp vi cc thng tin ca n v trong cc b khc. Trong lc , vi lc c s d liu CNGTY chng ta khng phi lo lng g, v cc thng tin v mt n v ch c lu tr mt ln. Rt kh chn mt n v mi vo quan h NHNVIN_NV nu n v khng c nhn vin no lm vic. Cch gii quyt duy nht l in cc gi tr null vo cc thuc tnh ca nhn vin. iu lm ny sinh vn v rng buc bi v MsNV l kha chnh ca quan h. D thng Xa: Gy ra vic mt thng tin khi xa. V d khi ta xa mt b gi tr trong bng NHNVIN_NV. Nu nhn vin tng ng vi b gi tr l ngi cui cng lm vic cho n v th php xa s ko theo vic lm mt thng tin v n v. D thng Sa i: Gy ra vic sa i hng lot khi ta mun sa i mt gi tr trong mt b no . V d, ta mun sa gi tr ca thuc tnh MsNQL ca n v 5. iu ko theo ta phi sa gi tr ca thuc tnh ny trong tt c cc b ng vi n v 5. Da trn cc d thng trn, chng ta c th pht biu nguyn tc sau: Nguyn tc 2: Thit k cc lc quan h c s sao cho khng sinh ra nhng d thng cp nht trong cc quan h. Nu c xut hin nhng d thng cp nht th phi ghi chp li mt cch r rng v phi m bo rng cc chng trnh cp nht d liu s thc hin mt cch ng n. 88

I.3-

Cc gi tr khng xc nh trong cc b

Trong mt s thit k lc , chng ta c th nhm nhiu thuc tnh vi nhau vo mt quan h bo. Nu nhiu thuc tnh khng thch hp cho mi b trong mt quan h, chng ta s kt thc vi nhiu gi tr null trong cc b . iu c th lm tng khng gian mc lu tr v c th dn n vn v hiu ngha ca cc thuc tnh. Vic ch ra cc php ni mc lgic cng s gp kh khn. Mt vn na vi cc gi tr null l cc hm nhm nh COUNT, SUM khng m c i vi chng. Hn na, cc gi tr null c th nhiu cch gii thch, chng hn nh thuc tnh khng p dng c cho b ny, gi tr ca thuc tnh cho b ny l khng c hoc gi tr cho thuc tnh l c nhng vng mt. Tm li, cc gi tr null c nhiu ngha khc nhau . Nguyn tc 3: Trnh cng xa cng tt vic t vo trong cc quan h c s nhng thuc tnh m cc gi tr ca chng thng xuyn l null. Nu khng th trnh c cc gi tr null th phi m bo rng chng ch p dng trong cc trng hp c bit v khng p dng cho mt s ln cc b trong quan h. I.4Sinh ra cc b gi

Nhiu khi chng ta a vo c s d liu nhng quan h khng ng, vic p dng cc php ton (nht l cc php ni) s sinh ra cc b gi tr khng ng, gi l cc b gi. V d, xt hai lc quan h: NV_ (Tn, aimDA) NV_DA1(M sNV, M sDA, Sgi, TnDA, aimDA)
NV_ Tn Vn Vn Sn Giang aimDA Hni Namnh Bcninh Hni

NV_DA1

MsNV NV001

MsDA 1

Sgi 32

TnDA DA01

aimDA Hni

89

NV001 NV016 NV018

2 3 1

7 40 20

DA02 DA03 DA01

Namnh Bcninh Hni

By gi ta ni t nhin hai quan h trn vi nhau, ta c quan h


MsNV NV001 NV001 * NV001 NV016 NV018 * NV018 1 20 DA01 Hni Giang 2 3 1 7 40 20 DA02 DA03 DA01 Namnh Bcninh Hni Vn Sn Vn MsDA 1 1 Sgi 32 32 TnDA DA01 DA01 aim Hni Hni Tn Vn Giang

Ta thy cc dng nh du * l cc b gi. y l cc b gi tr khng c trn thc t. Nguyn tc 4: Thit k cc lc quan h sao cho chng c th c ni vi iu kin bng trn cc thuc tnh l kho chnh hoc kho ngoi theo cch m bo khng sinh ra cc b gi. ng c cc quan h cha cc thuc tnh ni khc vi cc t hp kho chnh-kho ngoi. Nu khng trnh c nhng quan h nh vy th ng ni chng trn cc thuc tnh , bi v cc php ni c th sinh ra cc b gi.

II- Cc ph thuc hm
Khi nim c bn nht trong thit k lc quan h l khi nim ph thuc hm. Trong phn ny chng ta s nh ngha hnh thc khi nim ny v cch s dng n nh ngha cc dng chun cho cc lc quan h. II.1- nh ngha ph thuc hm Mt ph thuc hm l mt rng buc gia hai nhm thuc tnh ca mt c s d liu. Gi s rng lc c s d liu ca ta c n thuc tnh A1,A2,,An v ta 90

hy ngh rng ton b c s d liu c m t bng mt lc quan h chung R={A1, A2,., An}. ng nn ngh rng c s d liu ca chng ta s c lu tr trong mt bng chung, chng ta ch s dng khi nim ny pht trin l thuyt hnh thc v s ph thuc d liu. Gi s X v Y l hai tp con ca R. Mt ph thuc hm, k hiu l X Y, gia hai tp thuc tnh X v Y ch ra mt rng buc trn cc b c th c to nn mt trng thi quan h r ca R. Rng buc l: vi hai b bt k t1 v t2 trong r , nu c t1[X] = t2[X] th cng phi c t1[Y] = t2[Y]. iu c ngha l cc gi tr ca thnh phn Y ca mt b trong R ph thuc vo, hoc c xc nh bi, cc gi tr ca thnh phn X. Ni cch khc, cc gi tr ca thnh phn X ca mt b xc nh mt cch duy nht cc gi tr ca thnh phn Y. Chng ta cng ni rng c mt ph thuc hm t X vo Y hoc Y ph thuc hm vo X. Ph thuc hm c vit tt l FD (functional dependency). Tp thuc tnh X c gi l v tri ca FD, tp thuc tnh Y c gi l v phi ca FD. Nh vy, X xc nh hm Y trong lc quan h R khi v ch khi nu hai b ca r(R) bng nhau trn cc gi tr ca X th chng nht thit phi bng nhau trn cc gi tr ca Y. Ta c cc nhn xt sau: Nu c mt rng buc trn cc trng thi ca R l ch c mt b gi tr duy nht ca X trong mi th hin quan h r(R) th iu ko theo X Y vi mi tp con cc thuc tnh Y ca R. Nu X Y th khng th ni g v Y X. Mt ph thuc hm l mt tnh cht ng ngha ca cc thuc tnh. Nhng ngi thit k c s d liu s dng hiu bit ca h v ngha ca cc thuc tnh ca R ch ra cc ph thuc hm c th c trn mi trng thi quan h ca r(R) ca R. Khi ng ngha ca hai tp thuc tnh trong R ch ra rng c th c mt ph thuc hm, chng ta s c t ph thuc hm nh mt rng buc. Cc trng thi quan h r(R) tho mn cc rng buc ph thuc hm c gi l cc trng thi hp php ca R, bi v chng tun theo cc rng buc ph thuc hm. Nh vy, vic s dng ch yu ca cc ph thuc hm l dng m t mt lc quan h R bng vic ch ra cc rng buc trn cc thuc tnh phi tho mn mi thi im. Mt ph thuc hm l mt tnh cht ca lc quan h R ch khng phi l tnh cht ca mt trng thi hp php r ca R. V vy, mt ph thuc hm khng 91

th c pht hin mt cch t ng t mt trng thi r m phi do mt ngi hiu bit ng ngha ca cc thuc tnh xc nh mt cch r rng. V d, ta c quan h sau
DY Giovin AA AA BB CC Mnhc Mnhc1 Mnhc2 Mnhc3 Mnhc4 Tiliu XX YY ZZ TT

Mi nhn qua, chng ta c th ni c mt ph thuc hm Tiliu Mnhc, tuy nhin chng ta khng th khng nh c v iu ch ng vi trng thi quan h ny, bit u trong trng thi quan h khc c th c hai mn hc khc nhau s dng cng mt ti liu tham kho. Vi mt trng thi c th, chng ta ch c th khng nh l khng c mt ph thuc hm gia nhm thuc tnh ny v nhm thuc tnh khc. lm iu chng ta ch cn a ra mt phn v d. Chng hn, trong quan h trn chng ta c th khng nh rng khng c ph thuc hm gia Giovin v Mnhc bng cch ch ra v d l AA dy hai mn hc Mnhc1 v Mnhc2 vy Gio vin khng th xc nh duy nht Mn hc. biu din cc ph thuc hm trong mt lc quan h, chng ta s dng khi nim s ph thuc hm. Mi FD c biu din bng mt ng nm ngang. Cc thuc tnh v tri ca FD c ni vi ng biu din FD bng cc ng thng ng, cc thuc tnh v phi ca FD c ni vi ng biu din FD bng mi tn ch n cc thuc tnh. V d: Ta c lc quan h MN(Sth, Mssch, Tnngimn, Tnsch, Ngymn) Vi cc ph thuc hm: Sth Tnngimn Mssch Tnsch Sth, Mssch Ngymn C s ph thuc hm nh sau: 92

MN
Sth M s sch Tn ngi mn Tn sch Ngymn

II.2- Cc quy tc suy din i vi cc ph thuc hm Chng ta k hiu F l tp cc ph thuc hm c xc nh trn mt lc quan h R. Mt ph thuc hm X Y c gi l suy din c t mt tp cc ph thuc hm F c xc nh trn R nu X Y ng trong mi trng thi quan h r l m rng hp php ca R, ngha l mi khi r lm tho mn mi ph thuc hm trong F, X Y cng ng trong r. Tp hp tt c cc ph thuc hm suy din c t F c gi l bao ng ca F v c k hiu l F+. xc nh mt cch suy din cc ph thuc hm c h thng, chng ta phi pht hin mt tp hp cc quy tc suy din. Tp quy tc ny s c s dng suy din cc ph thuc hm mi t mt tp cc ph thuc hm cho trc. Ta s dng k hiu F |= X Y k hiu ph thuc hm X Y c suy din t tp cc ph thuc hm F. cho tin, ta vit tt ph thuc hm c dng {X,Y} Z thnh XY Z ( ngha l ta ni cc bin v b du ngoc nhn i). C 6 quy tc suy din i vi cc ph thuc hm: QT1 (quy tc phn x) QT2 (quy tc tng) QT3 (quy tc bc cu) QT4 (quy tc chiu) QT5 (quy tc hp) : Nu X Y th X Y : { X Y } |= XZ YZ : { X Y, Y Z } |= X Y : { X YZ } |= X Y v X Z : { X Y , X Z } |= X YZ

QT6 (quy tc ta bc cu) : { X Y, WY Z } |= WX Z Quy tc phn x pht biu rng mt tp hp cc thuc tnh lun lun xc nh chnh n hoc mt tp con bt k ca n. V QT1 to ra cc ph thuc lun lun ng, nhng ph thuc nh vy c gi l tm thng. Mt cch hnh thc, mt ph thuc hm X Y l tm thng nu X Y, ngc li, n c gi l khng tm thng. Quy tc tng ni rng vic thm cng mt tp thuc tnh vo c hai v 93

ca mt ph thuc hm s to ra mt ph thuc hm ng n. Theo quy tc 3, cc ph thuc hm l bc cu. Quy tc chiu (QT4) ni rng chng ta c th b bt cc thuc tnh ra khi v phi ca ph thuc hm. Vic p dng nhiu ln quy tc ny c th tch ph thuc hm X {A1, A2,, An} thnh mt tp hp ph thuc hm { X A1, X A2, ..., X An}. Quy tc hp cho php chng ta lm ngc li, ta c th gp cc ph thuc hm { X A1, XA2, ..., X An} thnh mt ph thuc hm n X {A1, A2, ..., An}. C th chng minh cc quy tc suy din trn mt cch trc tip hoc bng phn chng da trn nh ngha ca ph thuc hm. chng minh phn chng, ta gi thit mt quy tc l khng ng v ch ra rng iu l khng th. Sau y l chng minh cc quy tc. Quy tc 1: Gi s rng X Y v hai b t1 v t2 trong mt th hin quan h r ca R sao cho t1[X] = t2[X]. Khi t1[Y] = t2[Y] bi v X Y, nh vy X Y phi xy ra trong r. Quy tc 2: (chng minh phn chng) Gi s rng XY ng trong mt th hin quan h r ca R nhng XZ YZ khng ng. Khi phi c hai b t1 v t2 trong r sao cho: (1) t1[X] = t2[X], (2) t1[Y] = t2[Y], (3) t1[XZ] = t2[XZ] v (4) t1[YZ] t2[YZ]. iu l khng th bi v t (1) v (3) chng ta suy ra (5) t1[Z] = t2[Z], v t (2) v (5) ta suy ra t1[YZ] = t2[YZ], mu thun vi (4). Quy tc 3: Gi s rng (1) X Y v (2) Y Z c hai ng trong mt quan h r. Khi vi mi b t1 v t2 trong r sao cho t1[X] = t2[X] ta phi c (3) t1[Y] = t2[Y] theo gi thit (1). Nh vy chng ta cng phi c (4) t1[Z] = t2[Z] theo (3) v gi thit (2). Vy X Z phi ng trong r.

94

Chng ta c th chng minh cc quy tc t quy tc 4 n quy tc 6 theo phng php trn. Tuy nhin ta c th li dng cc quy tc c chng minh l ng chng minh chng. Sau y ta chng minh theo cch . Quy tc 4: 1. X YZ (cho trc) 2. YZ Y (s dng QT1 v YZ Y) 3. X Y (s dng QT3 trn 1. v 2.) Quy tc 5: 1. X Y (cho trc) 2. X Z (cho trc) 3. X YX (s dng QT2 trn 1. bng cch thm vo c hai v X, v XX=X) 4. YX YZ (s dng QT2 trn 2. bng cch thm vo c hai v Y) 5. XYZ (s dng QT3 trn 3. v 4.) Quy tc 6: 1. XY (cho trc ) 2. WYZ (cho trc) 3. WXWY (s dng QT2 trn 1. bng cch thm vo c hai v W) 4. WX Y (s dng QT3 trn 3. v 2.) Amstrong chng minh rng cc quy tc suy din t QT1 n QT3 l ng v y . ng c ngha l cho trc mt tp cc ph thuc hm F trn mt lc quan h R , bt k mt ph thuc hm no suy din c bng cch p dng cc quy tc t QT1 n QT3 cng ng trong mi trng thi quan h r ca R tho mn cc ph thuc hm trong F. y c ngha l vic s dng cc quy tc t QT1 n QT3 lp li nhiu ln suy din cc ph thuc hm cho n khi khng cn suy din c na s cho kt qu l mt tp hp y cc ph thuc hm c th c suy din t F. Ni cch khc, tp hp cc ph thuc hm F+ (bao ng ca F) c th xc nh c t F bng cch p dng cc quy tc suy din t QT1 n QT3. Cc quy tc t QT1 n QT3 c gi l cc quy tc suy din Amstrong. 95

Thng thng, nhng ngi thit k c s d liu u tin ch ra mt tp cc ph thuc hm d xc nh c nh ng ngha ca cc thuc tnh ca R. Sau , s dng cc quy tc Amstrong suy din cc ph thuc hm b sung. Mt cch c h thng, xc nh tt c cc ph thuc hm b sung l u tin hy xc nh mi tp thuc tnh X xut hin v tri ca mt ph thuc hm no y trong F v sau xc nh tp hp tt c cc thuc tnh ph thuc vo X. Nh vy, vi mi tp thuc tnh X, chng ta xc nh tp X+ cc thuc tnh ph thuc hm vo X da trn F. X+ c gi l bao ng ca X di F. Thut ton xc nh X+ nh sau: Thut ton 4.1: ( xc nh X+, bao ng ca X di F) X+ = X; Repeat Old X+ = X+ ; vi mi ph thuc hm Y Z trong F thc hin nu X+ Y th X+ = X+ Z; until ( X+ = Old X+ ); V d: Xt lc quan h R = {MsNV, HtnNV, MsDA, TnDA, aimDA, Sgi} v tp ph thuc hm F = {MsNV HtnNV, MsDA TnDA, aimDA, {MsNV, MsDA} S gi} p dng thut ton 4.1 ta c: {MsNV}+ = { MsNV, HtnNV} {MsDA }+ = { MsDA, TnDA, aimDA} {MsNV, MsDA}+ = {MsNV, HtnNV, MsDA, TnDA, Sgi} Bao ng v kha: rng nu X+ l l tp tt c cc thuc tnh ca quan h th c ngha l X xc nh hm cc thuc tnh cn li, hay ni cch khc X l mt siu kha. Chng ta c th kim tra xem mt tp thuc tnh X c phi l kha ca mt quan h bng cch trc tin xem X+ c cha tt c cc thuc tnh ca quan h hay khng sau kim tra khng c mt tp con S no c lp t X bng 96

cch loi b mt thuc tnh ca X tha mn S+cha tt c cc thuc tnh ca quan h (ngha l X l siu kha ti thiu). V d: Xt lc quan h R( A,B,C,D,E,F) v tp ph thuc hm F ={ A,B F ; A C,D; B E } Ta c {A,B}+ = {A,B,C,D,E,F}, A+ = {A,C,D}, B+ = {B,E} , vy AB l kha ca quan h. II.3- S tng ng ca cc tp ph thuc hm Trong phn ny chng ta tho lun v s tng ng ca hai tp ph thuc hm. Mt tp hp cc ph thuc hm E c ph bi mt tp cc ph thuc hm F - hoc F ph E - nu mi mt ph thuc hm trong E u trong F+ ,iu c ngha l mi ph thuc hm trong E c th suy din c t F. Hai tp ph thuc hm E v F l tng ng nu E+ = F+. Nh vy tng ng c ngha l mi ph thuc hm trong E c th suy din c t F v mi ph thuc hm trong F c th suy din c t E. Chng ta c th xc nh xem F c ph E hay khng bng cch tnh X+ i vi F i vi mi thuc hm XY trong E v sau kim tra xem X+ ny c cc thuc tnh trong Y hay khng (ngha l X+ Y). Nu iu xy ra vi mi ph thuc hm trong E, th F ph E. Chng ta xc nh xem E v F c tng ng hay khng bng cch kim tra E ph F v F ph E. V d : Xt hai tp ph thuc hm F = {A C, AC D, EAD, E H } E = { A CD, E AH } Ta chng minh F ph E: Tm bao ng ca cc v tri ca cc ph thuc hm trong E theo F. p dng thut ton 4.1 trn, ta c: {A}+ = { A, C, D }; {E}+ = {E, A,D, H} ta thy cc bao ng ny cha cc v phi tng ng. T suy ra F ph E. Ta chng minh E ph F: Tm bao ng ca cc v tri ca cc ph thuc hm trong F theo E. Ta c 97

{A}+ ={A,C,D}, {AC}+ = { A,C,D}, {E}+ = {E,A,H}, ta thy cc bao ng ny cha cc v phi tng ng. T suy ra E ph F. Tm li E tng ng vi F. II.4- Cc tp ph thuc hm ti thiu Mt tp ph thuc hm l ti thiu nu n tho mn cc iu kin sau y: 1. V phi ca cc ph thuc hm trong F ch c mt thuc tnh. 2. Chng ta khng th thay th bt k mt ph thuc hm X A trong F bng ph thuc hm YA, trong Y l tp con ng ca X m vn cn l mt tp ph thuc hm tng ng vi F. 3. Chng ta khng th b i bt k ph thuc hm no ra khi F m vn c mt tp ph thuc hm tng ng vi F. Chng ta c th ngh v tp ti thiu cc ph thuc hm nh l mt tp hp dng chun khng c s d tha. iu kin 1 m bo rng mi ph thuc hm l dng chnh tc vi mt thuc tnh v phi. iu kin 2 v 3 m bo rng khng c s d tha trong cc ph thuc hoc do c cc thuc tnh d tha v tri ca ph thuc, hoc do c mt ph thuc c th c suy din t cc ph thuc khc trong F. Mt ph ti thiu ca mt tp ph thuc hm F l mt tp ti thiu cc ph thuc hm Fmin tng ng vi F. Thng c rt nhiu cc ph ti thiu cho mt tp cc ph thuc hm. Chng ta lun lun c th tm c t nht l mt ph ti thiu G cho mt tp cc ph thuc hm F bt k theo thut ton 4.2 sau y: Thut ton 4.2: ( Tm ph ti thiu G cho F) 1. t G := F; 2. Thay th mi ph thuc hm X {A1, A2, ..., An} trong G bng n ph thuc hm X A1, X A2, , X An. 3. Vi mi ph thuc hm X A trong G, vi mi thuc tnh B l mt phn t ca X 98

nu ((G (X A) ((X {B}) A) l tng ng vi G th thay th XA bng (X {B})A trong G 4. Vi mi ph thuc hm XA cn li trong G nu (G {X A}) l tng ng vi G th loi b X A ra khi G V d p dng : Tm ph ti thiu cho tp ph thuc hm: {A B, A C, B A, B C, C A, C B} p dng thut ton trn, chng ta c th tm c cc ph ti thiu sau: 1) Do AB v BC nn AC l tha. Do CB v BA nn CA l tha. B nhng ph thuc hm tha i, ta c {AB, BA, BC, CB} l mt ph ti thiu. 2) Do AB v BC nn AC l tha. Do c BC v CA nn BA l tha. Do c CA v AB nn CB l tha. B nhng ph thuc hm tha i, ta nhn c mt ph ti thiu khc l {AB, BC, CA}

III- Cc dng chun da trn kha chnh


Sau khi nghin cu cc ph thuc hm v mt s tnh cht ca chng, by gi chng ta s s dng chng nh thng tin v ng ngha ca cc lc quan h. Ta gi s rng mi mt quan h c cho trc mt tp cc ph thuc hm v mi quan h c mt kho chnh. Trong phn ny chng ta s nghin cu cc dng chun v qu trnh chun ho cc lc quan h. III.1- Nhp mn v chun ho Qu trnh chun ho (do Codd ngh 1972) ly mt lc quan h v thc hin mt lot cc kim tra xc nhn n c tho mn mt dng chun no hay khng. Qu trnh ny c thc hin theo phng php trn xung bng vic nh gi mi quan h vi tiu chun ca cc dng chun v tch cc quan h nu cn. Qu trnh ny c th xem nh l vic thit k quan h bng phn tch. Lc u, Codd ngh ba dng chun gi l dng chun 1, dng chun 2 v dng chun 3. Mt nh ngha mnh hn cho dng chun 3 gi l dng chun Boyce-Codd do Boyce v Codd ngh mun hn. Tt c cc dng chun ny da trn cc ph 99

thuc hm gia cc thuc tnh ca mt quan h. Sau , dng chun 4 (4NF) v dng chun 5 (5NF) c ngh da trn cc ph thuc hm a tr v cc ph thuc hm ni. Chun ho d liu c th c xem nh mt qu trnh phn tch cc lc quan h cho trc da trn cc ph thuc hm v cc kho chnh ca chng t n cc tnh cht mong mun: (1) Cc tiu s d tha v (2) Cc tiu cc php cp nht bt thng. Cc lc quan h khng tho mn cc kim tra dng chun s c tch ra thnh cc lc quan h nh hn tho mn cc kim tra v c cc tnh cht mong mun. Nh vy, th tc chun ho cung cp cho nhng ngi thit k c s d liu: Mt c cu hnh thc phn tch cc lc quan h da trn cc kho ca n v cc ph thuc hm gia cc thuc tnh ca n. Mt lot cc kim tra dng chun c th thc hin trn cc lc quan h ring r sao cho c s d liu quan h c th c chun ho n mt mc cn thit. Dng chun ca mt quan h lin quan n iu kin dng chun cao nht m n tho mn. Cc dng chun khi c xem xt c lp vi cc s kin khc khng m bo mt thit k c s d liu tt. Ni chung, vic xc minh ring bit tng lc quan h dng chun ny dng chun n l cha . Tt hn l qu trnh chun ho thng qua php tch phi khng nh mt vi tnh cht h tr m tt c cc lc quan h phi c. Chng gm hai tnh cht sau: Tnh cht ni khng mt mt (hoc ni khng ph thm), n m bo rng vn to ra cc b gi khng xut hin i vi cc lc quan h c to ra sau khi tch. Tnh cht bo ton s ph thuc, n m bo rng tng ph thuc hm s c biu hin trong cc quan h ring r nhn c sau khi tch. Tnh cht ni khng mt mt l rt quan trng, phi t c bng mi gi, cn tnh cht bo ton ph thuc th cng rt mong mun nhng i khi c th hy sinh. 100

Trc khi nh ngha cc dng chun chng ta xem li nh ngha cc kha ca mt quan h. Mt siu kha (superkey) ca mt lc quan h R = {A1, A2, .., An} l mt tp con S cc thuc tnh ca R, S R, c tnh cht l khng c hai b t1, t2 trong mt trng thi quan h hp php r no ca R m t1[S] = t2[S]. Mt kha K l mt siu kha c tnh cht l nu b i bt k thuc tnh no ra khi K th K khng cn l siu kha na. iu c ngha l kha l mt siu kha ti thiu. Nu mt lc quan h c nhiu hn mt kha th cc kha c gi l cc kha d tuyn. Mt trong nhng kha d tuyn s c ch nh lm kha chnh v cc kha cn li c gi l cc kha ph (secondary key). Mt lc quan h phi c mt kha chnh. Mt thuc tnh ca mt lc quan h R c gi l mt thuc tnh kha ca R nu n l mt thnh phn ca kha chnh ca R. Mt thuc tnh c gi l thuc tnh khng kha nu n khng phi l mt thuc tnh kha. III.2- Dng chun 1 Mt quan h c gi l dng chun 1 (1NF) nu min gi tr ca mt thuc tnh ch cha cc gi tr nguyn t (n, khng phn chia c) v gi tr ca mi thuc tnh trong mt b phi l mt gi tr n ly t min gi tr ca thuc tnh . Nh vy, 1NF khng cho php quan h c cc thuc tnh a tr hoc c cc nhm thuc tnh lp (quan h trong quan h). N ch cho php cc gi tr ca cc thuc tnh l nguyn t. V d, xt cc quan h NV v NHNVIN_DN nh hnh v di y. Cc quan h ny khng tha mn iu kin 1NF. Quan h NV cha thuc tnh a tr aim, quan h NHNVIN_DN cha nhm cc thuc tnh lp (Tnnhnvin, Sgi).
NV MsV 5 4 1 TnV Nghincu Hnhchnh Lnho M sNQL NV002 NV014 NV061 aim Namnh, Hni,Bcninh Hni Hni

NHNVIN_DN MsDA TnDA 1 DA01

Tnnhnvin Sgi Vn 15

101

Nam 2 DA02 Nam Thanh Bng 3 DA03 Thanh

20 10 12 28 20

t n dng chun 1 i vi cc quan h trn chng ta dng phng php sau: Loi b cc thuc tnh vi phm dng chun 1 v t chng vo mt bng ring cng vi kho chnh ca quan h ban u. Kho chnh ca bng ny l mt t hp ca kho chnh ca quan h ban u v thuc tnh a tr hoc kho b phn ca nhm lp. Cc thuc tnh cn li lp thnh mt quan h vi kha chnh l kha chnh ban u. p dng : Lc quan h NV trn s c tch thnh hai: NV (M sV, TnV, M sNQL) NV_AIM ( MsV, aim) Lc quan h NHNVIN_DN cng c tch thnh hai: DN (MsDA, TnDA) NHNVIN_DN(MsDA, Tnnhnvin, Sgi) III.3- Dng chun 2 Dng chun 2 (2NF) da trn khi nim ph thuc hm y . Mt ph thuc hm X Y l mt ph thuc hm y nu loi b bt k thuc tnh A no ra khi X th ph thuc hm khng cn ng na. iu c ngha l, vi thuc tnh A bt k, A X, (X {A}) khng xc nh Y. Mt ph thuc hm X Y l ph thuc b phn nu c th b mt thuc tnh A X, ra khi X ph thuc hm vn ng, iu c ngha l vi A X, (X {A}) Y. V d, xt lc quan h NHNVIN_DN(MsNV, MsDA, Sgi, HtnNV, TnDA, aimDA) 102

MsNV, MsDA Sgi l ph thuc hm y MsNV, MsDA HtnNV l ph thuc hm b phn, bi v c ph thuc hm MsNV HtnNV Vic kim tra i vi 2NF bao gm vic kim tra i vi cc ph thuc hm c cc thuc tnh v tri ca n l mt b phn ca kho chnh. Nu kho chnh cha mt thuc tnh n th khng cn phi kim tra. Mt lc quan h R l dng chun 2 nu n tha mn dng chun 1 v mi thuc tnh khng kho A trong R l ph thuc hm y vo kho chnh ca R. Nu mt quan h khng tho mn iu kin 2NF ta c th chun ho n c cc quan h 2NF nh sau: Loi b cc thuc tnh khng kho ph thuc vo mt b phn kho chnh v tch thnh ra mt bng ring, kho chnh ca bng l b phn kho m chng ph thuc vo. Cc thuc tnh cn li lp thnh mt quan h, kha chnh ca n l kha chnh ban u. V d, xt lc quan h: NHNVIN_DN(MsNV, MsDA, Sgi, HtnNV, TnDA, aimDA) vi cc ph thuc hm: MsNV, MsDA Sgi MsNV HtnNV MsDATnDA, aimDA Ta thy y c nhng thuc tnh khng kho ph thuc vo mt b phn ca kho chnh, nh vy n khng tho mn iu kin 2NF. p dng phng php chun ho trn, lc c tch thnh cc lc nh sau: N_D1(MsDA, TnDA, aimDA) N_D2(MsNV , HtnNV) N_D3(MsNV, MsDA, Sgi)

103

III.4- Dng chun 3 Dng chun 3 (3NF) da trn khi nim ph thuc bc cu. Mt ph thuc hm X Y trong mt lc quan h R l mt ph thuc hm bc cu nu c mt tp hp thuc tnh Z khng phi l mt kho d tuyn cng khng phi l mt tp con ca mt kho no v c hai X Z v Z Y u ng. Theo nh ngha nguyn thu ca Codd, mt lc quan h R l 3NF nu n tho mn 2NF v khng c thuc tnh khng kho no ca R l ph thuc bc cu vo kho chnh. Nu mt lc quan h khng tho mn iu kin 3NF, ta c th chun ho n c c cc lc 3NF nh sau: Loi b cc thuc tnh ph thuc bc cu ra khi quan h v tch chng thnh mt quan h ring c kho chnh l thuc tnh bc cu. Cc thuc tnh cn li lp thnh mt quan h c kha chnh l quan h ban u. V d: Xt lc quan h NHNVIN_NV(HtnNV, MsNV, Ngysinh, ach, MsV, TnV, MsNQL) Vi cc ph thuc hm: MsNV HtnNV, Ngy sinh, ach, MsV, TnV, MsNQL MsDV TnV, M sNQL Cc thuc tnh TnV, MsNQL ph thuc bc cu vo kho chnh, lc quan h khng tho mn iu kin 3NF. p dng phng php chun ho trn, lc c tch ra nh sau: NV_DV1(HtnNV, MsNV, Ngysinh, ach, MsV) NV_DV2(MsV, TnV, MsNQL) III.5- Dng chun Boyce-Codd Mt lc quan h R c gi l dng chun Boyce-Codd (BCNF) nu n l dng chun 3NF v khng c cc thuc tnh kha ph thuc hm v thuc tnh khng kha. V d: Lc R (A1,A2,A3,A4,A5) 104

Vi cc ph thuc hm: A1,A2 A3,A4,A5 A4 A2 Quan h ny vi phm dng chun BCNF bi v c thuc tnh kha (A2) ph thuc hm vo thuc tnh khng kha (A4). Nu mt lc quan h khng tho mn iu kin BCNF, ta c th chun ho n c c cc lc BCNF nh: Loi b cc thuc tnh kha ph thuc hm vo thuc tnh khng kha ra khi quan h v tch chng thnh mt quan h ring c kho chnh l thuc tnh khng kha gy ra ph thuc. p dng phng php chun ha trn, lc c tch ra nh sau: R1( A4, A2) R2(A1, A4, A3, A5) V d p dng: Cho lc quan h R = {A,B,C,D,E,F,G,H,I,J} c kha chnh l A,B Vi tp cc ph thuc hm : A,B C,D,E,F,G,H,I,J A E,F,G,H,I,J F I, J D B Do c c ph thuc hm A E,F,G,H,I,J m A l mt b phn ca kha chnh nn quan h R l vi phm 2NF. Ta tch R thnh R1(A,E,F,G,H,I,J) v R2(A,B,C,D). Trong R1, do c ph thuc hm F I, J, nn ta c I,J ph thuc bc cu vo kha chnh, R1 l quan h vi phm 3NF. Trong R2 ta c ph thuc hm D B trong B l mt thuc tnh kha, R2 vi phm BCNF. Tch R1 v R2 ta c: R11( F,I,J) , R12( A,E,F,G,H), R21(D,B), R22( A,D,C)

105

IV- Cc thut ton thit k c s d liu quan h v cc dng chun cao hn


Nh chng ta tho lun trong u chng IV, c hai cch chnh thit k c s d liu quan h. Cch th nht l thit k trn-xung (top-down design). y l cch hay c s dng nht trong thit k ng dng c s d liu thng mi. N bao gm vic thit k mt lc quan nim trong mt m hnh d liu bc cao, chng hn nh m hnh EER, sau nh x lc quan nim vo mt tp quan h s dng cc th tc nh x nh ni n trong chng III. Sau , mi mt quan h c phn tch da trn cc ph thuc hm v cc kha chnh c ch nh bng cch p dng cc th tc chun ha nh ni n trong phn III chng ny loi b cc ph thuc hm b phn v cc ph thuc hm bc cu. Vic phn tch cc ph thuc khng mong mun cng c th c thc hin trong qu trnh thit k quan nim bng cch phn tch cc ph thuc hm gia cc thuc tnh bn trong cc kiu thc th v cc kiu lin kt ngn nga s cn thit c s chun ha ph thm sau khi vic nh x c thc hin. Cch th hai l thit k di-ln (bottom-up design), mt k thut tip cn v nhn nhn vic thit k lc c s d liu quan h mt cch cht ch trn c s cc ph thuc hm c ch ra trn cc thuc tnh ca c s d liu. Sau khi ngi thit k ch ra cc ph thuc, ngi ta p dng mt thut ton chun ha tng hp cc lc quan h. Mi mt lc quan h ring r dng chun 3NF hoc BCNF hoc dng chun cao hn. Trong phn ny chng ta ch yu trnh by cch tip cn th hai. Trc tin chng ta s nh ngha li cc dng chun mt cch tng qut, sau trnh by cc thut ton chun ha v cc kiu ph thuc khc. Chng ta cng s trnh by chi tit hn v hai tnh cht cn c l ni khng ph thm (mt mt) v bo ton ph thuc. Cc thut ton chun ha thng bt u bng vic tng hp mt lc quan h rt ln, gi l quan h ph qut (universal relation), cha tt c cc thuc tnh ca c s d liu. Sau chng ta thc hin lp i lp li vic tch (decomposition) da trn cc ph thuc hm v cc ph thuc khc do ngi thit k c s d liu ch ra cho n khi khng cn tch c na hoc khng mun tch na.

106

IV.1- nh ngha tng qut cc dng chun Ni chung, chng ta mun thit k cc lc ca chng ta sao cho chng khng cn cc ph thuc b phn v cc ph thuc bc cu bi v cc kiu ph thuc ny gy ra cc sa i bt thng. Cc bc chun ha thnh 3NF, BCNF c trnh by trong phn trc loi b cc ph thuc b phn v bc cu da trn kha chnh. Cc nh ngha ny khng tnh n cc kha d tuyn ca quan h. Trong phn ny chng ta s a ra cc nh ngha v cc dng chun tng qut hn, c tnh n tt c cc kha d tuyn. C th, thuc tnh kha c nh ngha li l mt b phn ca mt kha d tuyn. Cc ph thuc hm b phn, y , bc cu by gi s c nh ngha i vi tt c cc kha d tuyn ca quan h. nh ngha dng chun 1: Mt lc quan h R l dng chun 1 (1NF) nu min gi tr ca cc thuc tnh ca n ch cha cc gi tr nguyn t (n, khng phn chia c) v gi tr ca mt thuc tnh bt k trong mt b gi tr phi l mt gi tr n thuc min gi tr ca thuc tnh . nh ngha dng chun 2: Mt lc quan h R l dng chun 2 (2NF) nu mi thuc tnh khng kha A trong R khng ph thuc b phn vo mt kha bt k ca R. V d: Xt lc quan h R={A,B,C,D,E,F} Vi cc ph thuc hm A B,C,D,E,F; B,C A,D,E,F; B F; D E. Lc trn c hai kha d tuyn l A v {B,C}. Ta chn A lm kha chnh. Do c ph thuc hm B F nn F ph thuc b phn vo kha {B,C}, lc vi phm chun 2NF (ch rng, trong nh ngha dng chun da trn kha chnh, lc ny khng vi phm 2NF). nh ngha dng chun 3: Mt lc quan h R l dng chun 3 (3NF) nu khi mt ph thuc hm X A tha mn trong R, th: 1) Hoc X l mt siu kha ca R. 2) Hoc A l mt thuc tnh kha ca R. V d: Xt lc quan h R v d trn. Gi s n c tch thnh hai lc : R1 = {A,B,C,D,E} 107

R2 = {B, F}. Do c ph thuc hm D E trong D khng phi thuc tnh kha, E cng khng phi l thuc tnh kha, nn R1 vi phm chun 3NF nh ngha dng chun Boyce- Codd: Mt lc quan h l dng chun Boyce-Codd (BCNF) nu khi mt ph thuc hm X A tha mn trong R th X l mt siu kha ca R. V d: Xt lc R = {A, B, C, D} c A l kha chnh v {B,C} l kha d tuyn. Nu c tn ti mt ph thuc hm D B th lc ny vi phm BCNF v B l mt thuc tnh kha (ch rng trong trng hp nh ngha dng chun da trn kha chnh, lc ny khng vi phm BCNF). IV.2- Cc thut ton thit k lc c s d liu quan h IV.2.1- Tch quan h v tnh khng y ca cc dng chun Tch quan h: Cc thut ton thit k c s d liu quan h c trnh by trong phn ny bt u t mt lc quan h v tr n R = {A1, A2, , An} cha tt c cc thuc tnh ca c s d liu. Vi gi thit quan h v tr, tn ca mi thuc tnh l duy nht. Tp hp F cc ph thuc hm tha mn trn cc thuc tnh ca R do nhng ngi thit k c s d liu ch ra s c cc thut ton s dng. S dng cc ph thuc hm, cc thut ton s tch lc quan h v tr R thnh mt tp hp cc lc quan h D = {R1, R2, , Rm}, tp hp s l lc c s d liu quan h. D c gi l mt php tch (decomposition) ca R. Chng ta phi m bo rng mi thuc tnh trong R s xut hin trong t nht l mt lc quan h Ri trong php tch n khi b mt . Mt cch hnh thc, ta c iu kin bo ton thuc tnh sau y:

Ri

=R

Tnh khng y ca cc dng chun: Mc ch ca chng ta l mi quan h ring r Ri trong php tch D l dng chun BCNF hoc 3NF. Tuy nhin, iu khng m bo mt thit k c s d liu tt. Bn cnh vic xem xt tng quan h ring r, chng ta cn xem xt ton b php tch. V d, xt hai quan h: NV_(Tn, aimDA) NV_DA1(M sNV, M sDA, Sgi, TnDA, aimDA) 108

phn I.4 chng ny, ta thy rng d quan h NV_ l mt quan h dng BCNF nhng khi chng ta em ni t nhin vi quan h NV_DA1 th chng ta nhn c mt quan h c cha cc b gi. iu xy ra l do ng ngha khng r rng ca quan h NV_. l mt lc quan h c thit k ti. Chng ta cn phi c tiu chun khc cng vi cc iu kin 3NF v BCNF ngn nga cc thit k ti nh vy. Trong cc phn tip theo chng ta s ni n cc iu kin ph thm phi tha mn trn php tch D. IV.2.2- Php tch v s bo ton ph thuc Vic mi ph thuc hm X Y trong F hoc c xut hin trc tip trong mt trong cc lc quan h Ri trong php tch D hoc c th c suy din t cc ph thuc hm c trong Ri l rt c li. Ta gi l iu kin bo ton ph thuc. Chng ta mun bo ton ph thuc bi v mi ph thuc trong F biu th mt rng buc trong c s d liu. Nu nh mt trong cc ph thuc khng c th hin trong mt quan h ring r Ri no ca php tch, chng ta khng th p buc rng buc ny i vi quan h ring r, thay vo , chng ta ni hai hoc nhiu quan h trong php tch v sau kim tra rng ph thuc hm tha mn trong kt qu ca php ni. R rng l mt th tc khng hiu qu v khng thc tin. Vic cc ph thuc chnh xc c ch ra trong F xut hin trong cc quan h ring r ca php tch D l khng cn thit. Ch cn hp ca cc ph thuc tha mn trn cc quan h ring r trong D l tng ng vi F l . By gi chng ta nh ngha cc khi nim ny mt cch hnh thc. Cho trc mt tp hp cc ph thuc F trn R, php chiu ca F trn Ri, k hiu l Ri(F) trong Ri l mt tp con ca R, l mt tp hp cc ph thuc hm XY trong F+ sao cho cc thuc tnh trong X Y u c cha trong Ri. Nh vy, php chiu ca F trn mi lc quan h Ri trong php tch D l tp hp cc ph thuc hm trong F+, bao ng ca F, sao cho cc thuc tnh v tri v v phi ca chng u trong Ri. Ta ni rng php tch D = {R1, R2, , Rm} ca R bo ton ph thuc i vi F nu hp ca cc php chiu ca F trn mi Ri trong D l tng ng vi F. iu c ngha l: ( (R1(F)) (R2(F)) (Rm(F)))+ = F+

109

Nu mt php tch l khng bo ton ph thuc, mt vi ph thuc s b mt trong php tch. kim tra xem mt ph thuc hm X B, trong X l tp thuc tnh thuc v Ri, B l mt thuc tnh thuc Ri c tha mn trong Ri hay khng ta lm nh sau: Trc ht tnh X+ , sau vi mi thuc tnh B sao cho 1. B l mt thuc tnh ca Ri 2. B l trong X+ 3. B khng trong X Khi ph thuc hm X B tha mn trong Ri. Mt v d v php tch khng bo ton ph thuc. Xt lc quan h: R = { A,B,C,D} vi cc ph thuc hm: A BCD; BC DA; D B Lc ny c hai kha d tuyn l A v BC. Lc ny vi phm BCNF. N c tch thnh: R1 = {D,B}, lc ny cha ph thuc hm D B R2 = {A,C,D}, lc ny cha ph thuc hm A CD R rng sau khi tch, ph thuc hm BC DA b mt. nh l: Lun lun tm c mt php tch bo ton ph thuc D i vi F sao cho mi quan h Ri trong D l 3NF. Php tch D c thc hin theo thut ton sau y: Thut ton 5.1: To mt php tch bo ton ph thuc D = {R1,R2, ,Rm} ca mt quan h v tr R da trn mt tp ph thuc hm F sao cho mi Ri trong D l 3NF. Thut ton ny ch m bo tnh cht bo ton ph thuc, khng m bo tnh cht ni khng mt mt. Input: Mt quan h v tr R v mt tp ph thuc hm F trn cc thuc tnh ca R. 1) Tm ph ti thiu G ca F. 2) Vi mi v tri X ca mt ph thuc hm xut hin trong G, hy to mt lc trong D vi cc thuc tnh {X {A1} {A2} {Ak}} trong 110

XA1, XA2,, XAk ch l cc ph thuc hm trong G vi X l v tri (X l kha ca quan h ny). 3) t cc thuc tnh cn li (nhng thuc tnh cha c t vo quan h no) vo mt quan h n m bo tnh cht bo ton thuc tnh. V d p dng: Xt lc : R = { A,B,C,D} , vi cc ph thuc hm: F = {A BCD; BC DA; D B} Lc ny c hai kha d tuyn l A v BC. Ta thc hin thut ton nh sau: Trc tin ta tm G l ph ti thiu ca F. Theo thut ton tm ph ti thiu, u tin ta lm cho cc v phi trong G ch cha mt thuc tnh, ta c: G = {A B; A C; A D; BC D; BC A; D B} Sau ta b i cc ph thuc hm tha (l cc ph thuc hm c th suy din c t cc ph thuc hm khc). Ta thy A B l tha v c A D, D B. Vy G cn li l: G = {A C; A D; BC D; BC A; D B}. Lc R s c tch thnh: R1( A,C,D); R2(B,C,D,A); R3(D,B) vi cc kha chnh c gch di. R rng rng tt c cc ph thuc hm trong G u c thut ton bo ton bi v mi ph thuc xut hin trong mt trong cc quan h ca php tch D. Bi v G tng ng vi F, tt c cc ph thuc ca F cng c bo ton hoc trc tip bng thut ton hoc c suy din t nhng ph thuc hm trong cc quan h kt qu, nh vy tnh cht bo ton ph thuc c m bo. IV.2.3- Php tch v kt ni khng mt mt Php tch D phi c mt tnh cht na l ni khng mt mt (hoc tnh cht ni khng ph thm), n m bo rng khng c cc b gi c to ra khi p dng mt php ni t nhin vo cc quan h trong php tch. Chng ta a ra v d v php tch khng c tnh cht ni khng mt thng tin phn I.4 chng ny. Trong php tch , khi ta thc hin php ni t nhin trn cc quan h ca php tch, rt nhiu cc b gi sinh ra. 111

Mt cch hnh thc, ta ni rng mt php tch D = { R1, R2,,Rm} ca R c tnh cht ni khng mt mt (khng ph thm) i vi mt tp hp ph thuc hm F trn R nu vi mi trng thi quan h r ca R tha mn F th * ( R1(r) , R1(r) , R1(r) ) = r trong * l php ni t nhin ca cc quan h trong D. Nu mt php tch khng c tnh cht ni khng mt mt thng tin th chng ta c th nhn c cc b ph thm (cc b gi) sau khi p dng cc php chiu v ni t nhin. Ngha ca t mt mt y l mt mt thng tin cha khng phi mt cc b gi tr. V vy, vi tnh cht ny ta nn gi chnh xc hn l tnh cht ni khng ph thm. Chng ta c thut ton kim tra mt php tch c tnh cht ni khng mt mt thng tin hay khng nh sau: Thut ton 5.2: Kim tra tnh cht ni khng mt mt Input: Mt quan h v tr R(A1,A2,An), mt php tch D = {R1, R2, , Rm} ca R v mt tp F cc ph thuc hm. 1) To mt ma trn S c m hng, n ct. Mi ct ca ma trn ng vi mt thuc tnh, mi hng ng vi mi quan h Ri 2) t S(i,j) = 1 nu thuc tnh Aj thuc v quan h Ri v bng 0 trong trng hp ngc li. 3) Lp li vng lp sau y cho n khi no vic thc hin vng lp khng lm thay i S: Vi mi ph thuc hm X Y trong F, xc nh cc hng trong S c cc k hiu 1 nh nhau trong cc ct ng vi cc thuc tnh trong X. Nu c mt hng trong s cha 1 trong cc ct ng vi thuc tnh Y th hy lm cho cc lm cho cc ct tng ng ca cc hng khc cng cha 1. 4) Nu c mt hng cha ton k hiu 1 th php tch c tnh cht ni khng mt mt, ngc li, php tch khng c tnh cht . Cho trc mt quan h R c tch thnh mt s quan h R1, R2, ..,Rm . Thut ton 5.2 bt u bng vic to ra mt trng thi quan h r trong ma trn S. Hng i trong S biu din mt b ti (tng ng vi quan h Ri). Hng ny c cc k hiu 1 trong cc ct tng ng vi cc thuc tnh ca Ri v cc k hiu 0 trong cc 112

ct cn li. Sau thut ton bin i cc hng ca ma trn ny (trong vng lp ca bc 3) sao cho chng biu din cc b tha mn tt c cc ph thuc hm trong F. cui vng lp p dng cc ph thuc hm, hai hng bt k trong S chng biu din hai b trong r c cc gi tr ging nhau i vi cc thuc tnh ca X v tri ca ph thuc hm X Y trong F s cng c cc gi tr ging nhau i vi cc thuc tnh ca v phi Y. C th ch ra rng sau khi p dng vng lp ca bc 3, nu mt hng bt k trong S kt thc vi ton k hiu 1 th D c tnh cht ni khng mt mt i vi F. Mt khc, nu khng c hng no kt thc bng tt c k hiu 1 th D khng tha mn tnh cht ni khng mt mt. Trong trng hp sau, trng thi quan h r c biu din bng S cui thut ton s l mt v d v mt trng thi quan h r ca R tha mn cc ph thuc trong F nhng khng tha mn iu kin ni khng mt mt . Nh vy, quan h ny c dng nh mt phn v d chng minh rng D khng c tnh cht ni khng mt mt i vi F. Ch rng cc k hiu 1 v 0 khng c ngha c bit g cui thut ton. V d p dng 1: R = ( MsNV, TnNV, MsDA, TnDA, aimDA, Sgi) R1= ( TnNV, aimDA) R2 = ( MsNV, MsDA, Sgi, TnDA, aimDA ) F= { M sNV TnNV, MsDA {TnDA, aimDA}, {MsNV, M sDA} Sgi} MsNV R1 R2 0 1 TnNV 1 0 M sDA 0 1 TnDA 0 1 aimDA 1 1 Sgi 0 1

Xt ln lt ph thuc hm MsNV TnNV, MsDA {TnDA, aimDA}, {MsNV, M sDA} Sgi. Ta thy khng c trng hp no cc thuc tnh tng ng vi cc v tri u c gi tr bng 1, v vy ta khng th lm g bin i ma trn. Ma trn khng cha mt hng gm ton k hiu 1. Php tch l mt mt. V d p dng 2: R = (MsNV, TnNV, MsDA, TnDA, aimDA, Sgi) 113

R1= (MsNV, TnNV) R2 = (MsDA, TnDA, aimDA) R3 = (MsNV, MsDA, Sgi) F= {M sNV TnNV, MsDA {TnDA, aimDA}, {MsNV, MsDA} Sgi} MsNV R1 R2 R3 1 0 1 TnNV 1 0 0 M sDA 0 1 1 TnDA 0 1 1 aimDA 0 1 1 Sgi 0 0 0

(Gi tr ban u ca ma trn S)

MsNV R1 R2 R3 1 0 1

TnNV 1 0 0 1

M sDA 0 1 1

TnDA 0 1 0 1

aimDA 0 1 0 1

Sgi 0 0 1

(Ma trn S sau khi p dng hai ph thuc hm u tin dng cui cng ko cha ton k hiu a). Ma trn cha mt hng gm ton k hiu 1. Php tch ny l khng mt mt. Hnh IV-1. Thut ton kim tra ni khng mt mt Thut ton 5.2 cho php chng ta kim tra xem mt php tch D c th c tun theo tnh cht ni khng mt mt hay khng. Cu hi tip theo l liu c mt thut ton tch mt lc quan h v tr R = {A1, A2, , An} thnh mt php tch D = {R1, R2, ,Rm} sao cho mi Ri l BCNF v php tch D c tnh cht ni khng mt mt i vi F hay khng? Cu tr li l c. Trc khi trnh by thut ton, ta xem mt s tnh cht ca cc php tch ni khng mt mt ni chung. Tnh cht 1: Mt php tch D = {R1,R2} ca R c tnh cht ni khng mt mt i vi mt tp ph thuc hm F trn R khi v ch khi - Hoc ph thuc hm ((R1 R2 ) (R1 R2)) trong F+. 114

- Hoc ph thuc hm ((R1 R2) (R2 R1)) trong F+. Vi tnh cht ny, chng ta c th kim tra li cc php tch chun ha trong 4.3 v s thy rng cc php tch l tha mn tnh cht ni khng mt mt. Tnh cht 2: Nu mt php tch D = {R1, R2, , Rm} ca R c tnh cht ni khng mt mt i vi mt tp ph thuc hm F trn R v nu mt php tch D1 = {Q1, Q2, ,Qk} ca Ri c tnh cht ni khng mt mt i vi php chiu ca F trn Ri th php tch D2 = { R1, R2,, Ri-1, Q1, Q2,,Qk, Ri+1,, Rm} ca R c tnh cht ni khng mt mt i vi F. Tnh cht ny ni rng nu mt php tch D c tnh cht ni khng mt mt i vi mt tp F v chng ta tip tc tch mt trong cc quan h Ri trong D thnh php tch khc D1 (l = 1,2,..k) c tnh cht ni khng mt mt i vi Ri(F) th vic thay Ri trong D bng D1 (l = 1,2,..k) cng to ra mt php tch c tnh cht ni khng mt mt i vi F. Thut ton 5.3 sau y s dng hai tnh cht trn to ra mt php tch D = {R1, R2, , Rm} ca mt quan h v tr R da trn mt tp cc ph thuc hm F sao cho mi Ri l BCNF. Thut ton 5.3: Tch quan h thnh cc quan h BCNF vi tnh cht ni khng mt mt. Input: Mt quan h v tr R v mt tp hp cc ph thuc hm F trn cc thuc tnh ca R. 1. t D := {R} ; 2. Khi c mt lc quan h Q trong D khng phi BCNF, thc hin vng lp: Vi mi mt lc quan h Q trong D khng BCNF hy tm mt ph thuc hm X Y trong Q vi phm BCNF v thay th Q trong D bng hai lc quan h (Q-Y) v (XY). Qu trnh lp dng khi khng cn quan h no trong D vi phm BCNF. Mi ln i vo vng lp trong thut ton 5.3, chng ta tch mt quan h Q khng phi BCNF thnh hai lc quan h. Theo cc tnh cht 1 v 2, php tch D c tnh cht ni khng mt mt. Kt thc thut ton, tt c cc quan h trong D s BCNF.

115

Trong bc 2 ca thut ton 5.3, cn xc nh xem mt lc quan h Q c BCNF hay khng. Mt phng php lm iu l kim tra. Vi mi ph thuc hm X Y trong Q, ta tnh X+. Nu X+ khng cha tt c cc thuc tnh trong Q th X Y vi phm BCNF bi v X khng phi l mt siu kha. Mt k thut na da trn quan st rng khi mt lc quan h Q vi phm BCNF th c tn ti mt cp thuc tnh A,B trong Q sao cho {Q {A,B}} A. Bng vic tnh bao ng {Q {A,B}}+ cho mi cp thuc tnh {A,B} ca Q v kim tra xem bao ng c cha A (hoc B) hay khng, chng ta c th xc nh c Q c BCNF hay khng. V d p dng: Xt lc quan h R = { A, B, C, D, E, F) Vi cc ph thuc hm: A BCDEF, BC ADEF, B F, D E, D B Lc quan h ny c hai kha d tuyn l A v BC. Ta c B F vi phm BCNF v B khng phi l siu kha, R c tch thnh: R1(B,F) vi ph thuc hm B F R2(A,B,C,D,E) vi cc ph thuc hm ASCDE, BCADF, DE, DB Do D E vi phm BCNF ( D l mt thuc tnh khng kha ), R2 c tch thnh: R21(D,E) vi ph thuc hm D E R22(ABCD) vi cc ph thuc hm A BCD, BC AD, D B Do D B vi phm BCNF (Dkhng phi l thuc tnh kha), R22 c tch thnh: R221(D,B) R222(A,B,D) vi ph thuc hm A BD (ph thuc hm BC AD b mt) Tm li, ta c php tch D = {R1, R21, R221, R222}. Php tch ny c tnh cht ni khng mt thng tin nhng khng bo ton ph thuc.

116

Nu chng ta mun c mt php tch c tnh cht ni khng mt mt v bo ton ph thuc th ta phi hi lng vi cc lc quan h dng 3NF. Thut ton sau y l ci tin ca thut ton 5.1, to ra mt php tch tha mn : - Bo ton ph thuc. - C tnh cht ni khng mt mt. - Mi lc quan h kt qu l dng 3NF. Thut ton 5.4: Thut ton tng hp quan h vi tnh cht bo ton ph thuc v ni khng mt mt. Input: Mt quan h v tr R v mt tp cc ph thuc hm F trn cc thuc tnh ca R. 1) Tm ph ti thiu G cho F. 2) Vi mi v tri X ca mt ph thuc hm xut hin trong G hy to ra mt lc quan h trong D vi cc thuc tnh {X{A1}{A2} {Ak}}, trong X A1, XA2,, X Ak ch l cc ph thuc hm trong G vi X l v tri (X l kha ca quan h ny). 3) Nu khng c lc quan h no trong D cha mt kha ca R th hy to ra thm mt lc quan h trong D cha cc thuc tnh to nn mt kha ca R. Bc 3 ca thut ton 5.4 i hi phi xc nh mt kha K ca R. xc nh mt kha K ca R, ta s dng thut ton sau Thut ton xc nh kha: Tm mt kha K ca R da trn tp F cc ph thuc hm. 1) t K := R; 2) Vi mi thuc tnh A trong K {tnh (K-A)+ i vi F; Nu (K-A)+ cha tt c cc thuc tnh trong R th t K := K-{A}}; *Ch : Chng ta c nhn xt sau: Nu quan h c kha th cc thuc tnh kha ca quan h phi l cc tp con ca tp hp cc thuc tnh v phi cc ph thuc hm trong F. V vy, tm c cc kha nhanh hn, trc tin chng ta tnh RF l hp ca cc thuc tnh cc v tri ca cc ph thuc hm trong F, sau 117

i tnh bao ng ca tt c cc tp con ca RF. Nu bao ng ca tp con no cha tt c cc thuc tnh ca R th tp l mt siu kha. kim tra n l mt kha ta thc hin nh bc 2) ca thut ton trn. Khng phi lc no cng c kh nng tm c mt php tch thnh cc lc quan h bo ton ph thuc v mi lc trong php tch l BCNF. Cc lc quan h trong php tch theo thut ton trn thng l 3NF. c cc lc BCNF, chng ta c th kim tra cc lc quan h 3NF trong php tch mt cch ring r xem n c tha mn BCNF khng. Nu c lc quan h Ri khng BCNF th ta c th tch tip hoc nguyn n l 3NF. IV.3- Cc ph thuc hm a tr v dng chun 4 Trong phn ny chng ta tho lun khi nim ph thuc hm a tr v nh ngha dng chun 4. Cc ph thuc a tr h qu ca dng chun 1 khng cho php mt thuc tnh ca mt b c mt tp gi tr (ngha l cc thuc tnh a tr). Nu chng ta c hai hoc nhiu hn cc thuc tnh c lp v a tr trong cng mt lc quan h th chng ta phi lp li mi mt gi tr ca mt trong cc thuc tnh vi mi gi tr ca thuc tnh khc gi cho trng thi quan h nht qun v duy tr tnh c lp gia cc thuc tnh. Rng buc c ch ra bng mt ph thuc a tr. IV.3.1- nh ngha ph thuc a tr Gi thit c mt lc quan h R, X v Y l hai tp con ca R. Mt ph thuc a tr (MVD), k hiu l X Y , ch ra rng buc sau y trn mt trng thi quan h bt k ca R: Nu hai b t1 v t2 tn ti trong R sao cho t1[X] = t2[X] th hai b t3 v t4 cng tn ti trong R vi cc tnh cht sau: . t3[X] = t4[X] = t1[X] = t2[X] . t3[Y] = t1[Y] v t4[Y] = t2[Y] . t3[Z] = t2[Z] v t4[Z] = t1[Z] vi Z = (R- (X Y)) Khi XY tha mn, ta ni rng X a xc nh Y. Bi v tnh i xng trong nh ngha, khi X Y tha mn trong R, XZ cng tha mn trong R. Nh vy XY ko theo XZ v v th i khi n c vit l XY|Z nh ngha hnh thc ch ra rng, cho trc mt gi tr c th ca X, tp hp cc gi tr ca Y c xc nh bi gi tr ny ca X l c xc nh hon ton bi 118

mt mnh X v khng ph thuc vo cc gi tr ca cc thuc tnh cn li Z ca R. Nh vy, mi khi hai b tn ti c cc gi tr khc nhau ca Y nhng cng mt gi tr X th cc gi tr ny ca Y phi c lp li trong cc b ring r vi mi gi tr khc nhau ca Z c mt vi cng gi tr ca X. iu tng ng mt cch khng hnh thc vi Y l mt thuc tnh a tr ca cc thc th c biu din bng cc b trong R. V d v ph thuc a tr:
NHNVIN TnNV Nam Nam Nam Nam TnDA DA01 DA02 DA01 DA02 TnconNV Lan Hoa Hoa Lan

Trong bng trn c hai ph thuc a tr l: TnNVTnDA, TnNVTnconNV Mt MVD XY c gi ph thuc a tr tm thng nu: a) Y l mt tp con ca X b) hoc X Y = R Mt MVD khng tha mn a) hoc b) c gi l mt MVD khng tm thng. Nu chng ta c mt ph thuc a tr khng tm thng trong mt quan h, chng ta c th phi lp cc gi tr mt cch d tha trong cc b. Trong quan h NHNVIN v d trn, cc gi tr DA01, DA02 ca TnDA c lp li vi mi gi tr ca TnconNV (mt cch i xng, cc gi tr Lan, Hoa c lp li vi mi gi tr ca TnDA). R rng ta khng mong mun c s d tha . Tuy nhin, lc quan h trn l BCNF bi v khng c ph thuc hm no tha mn trong quan h . V vy, chng ta phi nh ngha mt dng chun th t mnh hn BCNF v ngn cm cc lc quan h nh quan h NHNVIN.

119

IV.3.2- Cc quy tc suy din i vi cc ph thuc hm v ph thuc a tr Cc quy tc t Qt1 n Qt8 sau y to nn mt tp hp ng n v y cho vic suy din cc ph thuc hm v ph thuc a tr t mt tp cc ph thuc cho trc. Gi thit rng tt c cc thuc tnh c cha trong mt lc quan h v tr R = {A1, A2, ,An} v X, Y, Z, W l cc tp con ca R. Qt1) (quy tc phn x cho FD): Nu X Y th X Y Qt2) (quy tc tng cho FD): {X Y} |= XZ YZ Qt3) (quy tc bc cu cho FD): { X Y, Y Z } |= X Z Qt4) (quy tc b cho MVD): {X Y } |= {X (R-(X Y))} Qt5) (quy tc tng cho MVD): Nu X Y v W Z th WX YZ Qt6) (quy tc bc cu cho MVD): {X Y, Y Z } |= X (Z Y) Qt7) (quy tc ti to cho FD v MVD): {X Y} |= X Y Qt8) (quy tc lin hp cho FD v MVD): Nu X Y v c tn ti W vi cc tnh cht a) W Y = , b) W Z v c) Y Z th X Z. Qt1 n Qt3 l cc quy tc suy din Amstrong i vi cc ph thuc hm. Qt4 n Qt6 l cc quy tc suy din ch lin quan n cc ph thuc a tr. Qt7 v Qt8 lin kt cc ph thuc hm v cc ph thuc a tr. c bit, Qt7 ni rng mt ph thuc hm l mt trng hp c bit ca mt ph thuc a tr. iu c ngha l mi ph thuc hm cng l mt ph thuc a tr bi v n tha mn nh ngha hnh thc ca ph thuc a tr. V c bn, mt ph thuc hm X Y l mt ph thuc a tr X Y vi mt hn ch ph rng c nhiu nht l mt gi tr ca Y c kt hp vi mi gi tr ca X. Cho trc mt tp hp cc ph thuc hm v ph thuc a tr ch ra trn R = {A1, A2, , An}, chng ta c th s dng cc quy tc t Qt1 n Qt8 suy ra tp hp y cc ph thuc (hm v a tr) F+ ng trong mi trng thi quan h r ca R tha mn F. Chng ta li gi F+ l bao ng ca F.

120

IV.3.3- Dng chun 4 nh ngha: Mt lc quan h R l dng chun 4 (4NF) i vi mt tp hp cc ph thuc F (gm cc ph thuc hm v ph thuc a tr) nu vi mi ph thuc a tr khng tm thng XY trong F+ , X l mt siu kha ca R. Nh vy, mt lc quan h vi phm 4NF nu n cha cc ph thuc hm a tr khng mong mun. V d, lc quan h NHNVIN v d trn l vi phm 4NF bi v trong cc ph thuc hm a tr TnNVTnDA v TnNV Tncon, TnNV khng phi l mt siu kha . Gi s chng ta tch bng NHNVIN thnh hai bng nh sau:
NV_DA TnNV Nam Nam TnDA DA01 DA02 NV_CON TnNV Nam Nam TnconNV Lan Hoa

Hai bng ny l 4NF bi v cc ph thuc a tr TnNVTnDA v TnNVTnconNV l cc ph thuc a tr tm thng. Trong hai bng ny khng c cc ph thuc a tr khng tm thng cng nh khng c cc ph thuc hm. IV.3.4- Tch c tnh cht ni khng mt mt thnh cc quan h 4NF Khi chng ta tch mt lc quan h R thnh R1 = (XY) v R2 = (R-Y) da trn ph thuc hm a tr XY ng trong R, php tch c tnh cht ni khng mt mt. cng l iu kin cn v cho mt php tch mt lc thnh hai lc c tnh cht ni khng mt mt. Ta c tnh cht sau: Tnh cht 1: Cc lc quan h R1 v R2 to thnh mt php tch c tnh cht ni khng mt mt ca R khi v ch khi (R1 R2) (R1 R2) (hoc (R1R2) (R1 R2)). p dng tnh cht trn chng ta c thut ton to mt php tch c tnh cht ni khng mt mt thnh cc lc quan h dng 4NF. Thut ton 5.5: Tch quan h thnh cc quan h 4NF vi tnh cht ni khng mt mt. Input: Mt quan h v tr R v mt tp ph thuc hm v ph thuc a tr F. 121

1. t D := {R}; 2. Khi c mt lc quan h Q trong D khng 4NF, thc hin: {Chn mt lc quan h Q trong D khng 4NF; Tm mt ph thuc a tr khng tm thng XY trong Q vi phm 4NF; Thay th Q trong D bng hai lc quan h (Q Y) v (X Y)}; V d p dng: Xt lc NHNVIN(TnNV, TnDA, TnconNV). Ta c ph thuc hm a tr TnNVTnDA trong TnNV khng phi l mt siu kha, vy n vi phm 4NF. Ta tch thnh NV_DA(TnNV, TnDA), NV_CON(TnNV, TnconNV). IV.4- Cc ph thuc ni v dng chun 5 Nh chng ta thy, cc tnh cht 1 v tnh cht 1 cho iu kin mt lc quan h R c tch thnh hai lc quan h R1 v R2 v php tch c tnh cht ni khng mt mt. Tuy nhin, trong mt s trng hp, c th khng c php tch c tnh cht ni khng mt mt ca R thnh hai lc quan h nhng c th c php tch c tnh cht ni khng mt mt thnh nhiu hn hai quan h. Hn na, c th khng c ph thuc hm no trong R cc chun cho n BCNF v c th khng c ph thuc a tr no c trong R vi phm 4NF. Khi chng ta phi s dng n mt ph thuc khc gi l ph thuc ni v nu c ph thuc ni th thc hin mt php tch a chiu thnh dng chun 5 (5NF). Mt ph thuc ni (JD), k hiu l JD(R1, R2, , Rn) trn lc quan h R ch ra mt rng buc trn cc trng thi r ca R. Rng buc tuyn b rng mi trng thi hp php r ca R phi c php tch c tnh cht ni khng mt mt thnh R1, R2, , Rn. iu ngha l: *( R1(r), R2(r), , Rn(r)) = r Mt ph thuc ni JD(R1, R2, , Rn) l mt ph thuc ni tm thng nu mt trong cc lc quan h Ri trong JD(R1, R2, , Rn) l bng R. Mt lc quan h R l dng chun 5 (5NF) (hoc dng chun ni chiu PJNF Project-Join normal form) i vi mt tp F cc ph thuc hm, ph thuc 122

a tr v ph thuc ni nu vi mi ph thuc ni khng tm thng JD(R1, R2, , Rn) trong F+, mi Ri l mt siu kha ca R. V d: Xt quan h CUNGCP gm ton cc thuc tnh kha
CUNGCP Tnnhcungcp Ncc1 Ncc1 Ncc2 Ncc3 Ncc2 Ncc2 Ncc1 Tnhng Bulong aic Bulong aic inh Bulong Bulong TnDn Dn1 Dn2 Dn2 Dn3 Dn1 Dn1 Dn2

Gi thit rng rng buc ph thm sau y lun ng: Khi mt nh cung cp S cung cp hng P V mt d n J s dng hng P V nh cung cp S cung cp t nht l mt hng cho d n J TH nh cung cp S cng s cung cp hng P cho d n J. Rng buc ny ch ra mt ph thuc ni JD(R1,R2,R3) gia ba php chiu R1(Tnnhcungcp,Tnhng), R2(Tnnhcungcp,Tndn),R3(Tnhng,TnDn) ca quan h CUNGCP. Quan h CUNGCP c tch thnh ba quan h R1, R2, R3 dng chun 5. Ch rng nu ta p dng php ni t nhin cho tng i quan h mt th s sinh ra cc b gi, nhng nu p dng php ni t nhin cho c ba quan h th khng sinh ra cc b gi. R1
Tnnhcungcp Tnhng Ncc1 Ncc1 Ncc2 Ncc3 Ncc2 Bulong aic Bulong aic inh

R2
Tnnhcungcp Tndn Ncc1 Ncc1 Ncc2 Ncc3 Ncc2 Dn1 Dn2 Dn2 Dn3 Dn1 Tnhng Bulong aic Bulong aic inh

R3
Tndn Dn1 Dn2 Dn2 Dn3 Dn1

123

Vic pht hin cc ph thuc ni trong cc c s d liu thc t vi hng trm thuc tnh l mt iu rt kh khn. V vy, thc tin thit k c s d liu hin nay thng khng ch n n. Ni chung, trong thc t thit k c s d liu, ngi ta ch chun ha cc bng n 3NF, BCNF l

V- Tng kt chng v cu hi n tp
V.1- Tng kt chng Trong chng ny chng ta ni n cc nguy him c th xy ra trong vic thit k c s d liu, xc nh mt cch khng hnh thc mt s chun mc ch ra mt lc quan h l tt hay ti v a ra mt s nguyn tc khng hnh thc cho mt thit k tt. Sau chng ta trnh by mt vi khi nim cho php ta thit k quan h theo cch trn-xung bng cch phn tch cc quan h mt cch ring r. Chng ta nh ngha qu trnh thit k ny bng phn tch v tch bng cch gii thiu qu trnh chun ha. Nhng vn v cc bt thng cp nht xy ra khi c s d tha xy ra trong cc quan h cng c cp n. Cc chun mc khng hnh thc ca cc lc quan h tt bao gm ng ngha ca thuc tnh r rng v n gin, t gi tr null trong cc m rng ca quan h. Mt php tch tt phi trnh c vic sinh ra cc b gi khi thc hin php ni. Chng ta nh ngha khi nim ph thuc hm v tho lun mt s tnh cht ca n. Cc ph thuc hm l cc ngun thng tin ng ngha c bn v cc thuc tnh ca lc quan h. Chng ta ch ra cch suy din cc ph thuc ph thm da trn mt tp cc ph thuc hm cho trc v mt tp cc quy tc suy din. Chng ta nh ngha cc khi nim bao ng v ph ti thiu ca mt tp ph thuc hm v cung cp thut ton tnh ph ti thiu. Ta cng ch ra lm th no kim tra xem hai tp ph thuc hm c tng ng nhau hay khng. Tip theo, chng ta m t qu trnh chun ha t n cc thit k tt bng cch kim tra cc quan h i vi cc kiu ph thuc hm khng mong mun. Chng ta cung cp cch chun ha lin tip da trn kha chnh c nh ngha trc trong mi quan h v sau gim nh i hi ny v a ra cc nh ngha tng qut ca cc dng chun c tnh n tt c cc kha d tuyn ca mt quan h. 124

Trong phn IV chng ta trnh by nhiu thut ton chun ha. l thut ton tng hp quan h to ra cc quan h 3NF t mt lc quan h v tr da trn mt tp cc ph thuc hm do ngi thit k c s d liu xc nh. Cc thut ton to ra cc quan h BCNF (hoc 4NF) bng cch tch khng mt mt lin tip cc quan h khng chun ha thnh hai quan h thnh phn ti mt thi im. Chng ta tho lun v hai tnh cht quan trng ca php tch: tnh cht ni khng mt mt (hoc khng ph thm) v tnh cht bo ton ph thuc. Mt thut ton kim tra php tch khng mt mt v mt thut ton kim tra tnh khng mt mt ca mt php tch thnh hai quan h cng c trnh by. Chng ta cng thy rng vic tng hp cc quan h dng 3NF m bo c hai tnh cht trn l c kh nng cn vic tng hp cc quan h BCNF ch c kh nng m bo tnh khng mt mt, khng th m bo tnh bo ton ph thuc. Cui cng, chng ta nghin cu cc loi ph thuc khc: ph thuc a tr v ph thuc ni, a ra nh ngha cc dng chun 4, dng chun 5 v thut ton tch cc quan h vi phm thnh quan h 4NF, 5NF. Vic pht hin cc ph thuc ni rt kh khn nn trong thit k thc tin ngi ta thng b qua n. V.2- Cu hi n tp 1) Hy gii thch ng ngha ca thuc tnh nh l mt o khng hnh thc v tnh tt i vi mt lc quan h. 2) Hy tho lun v cc bt thng chn, xa v sa i. V sao chng c xem l khng tt? Hy minh ha bng v d. 3) Hy trnh by vn cc b gi v lm th no ngn nga chng? 4) Trnh by cc nguyn tc i vi vic thit k lc quan h. Hy minh ha vic vi phm cc nguyn tc s c hi nh th no? 5) Ph thuc hm l g? Ai l ngi ch ra cc ph thuc hm gia cc thuc tnh ca mt lc quan h? 6) V sao chng ta khng th suy ra mt ph thuc hm t mt trng thi quan h c th? 7) V sao cc quy tc suy din ca Amstrong (Qt1 n Qt3) l quan trng? 8) Tnh y v tnh ng n ca cc quy tc suy din Amstrong l g? 9) Bao ng ca mt tp ph thuc hm l g? 125

10) Khi no th hai tp ph thuc hm l tng ng? Lm th no kim tra tnh tng ng ca chng? 11) Tp ti thiu cc ph thuc hm l g? C phi mi tp ti thiu ph thuc hm c mt tp ti thiu tng ng hay khng? 12) Thut ng quan h khng chun ha m ch ci g? 13) nh ngha cc dng chun 1NF, 2NF, 3NF, BCNF da trn kha chnh v cc dng chun di dng tng qut. S khc nhau ca hai nh ngha l g? 14) Ph thuc hm no cn trnh khi mt quan h l 3NF? 15) nh ngha dng chun Boyce-Codd. N khc g vi 3NF? V sao n c xem l mnh hn 3NF? 16) iu kin bo ton thuc tnh trn mt php tch l g? 17) V sao cc dng chun t n l cha nh l mt iu kin cho mt thit k lc tt? 18) Tnh cht bo ton ph thuc i vi mt php tch l g? V sao n l quan trng? 19) V sao chng ta khng th m bo rng mt php tch cc lc quan h khng BCNF thnh BCNF l bo ton ph thuc? Hy cho mt phn v d. 20) Tnh cht ni khng mt mt (khng ph thm) ca mt php tch l g? V sao n l quan trng? 21) Gia cc tnh cht bo ton ph thuc v ni khng mt mt ci no l nht thit phi tha mn? V sao? Ph thuc hm a tr l g? N ch ra rng buc g? Khi no n sinh ra? 22) Hy minh ha qu trnh to ra cc quan h dng chun 1? Lm th no c dng chun 1 mt cch ng n, trnh c ph thuc a tr? 23) nh ngha dng chun 4. N c li g? 24) nh ngha ph thuc ni v dng chun 5. V.3- Bi tp 1) Hy kim tra cc quy tc suy din i vi cc ph thuc hm sau y l ng hay sai: 126

a) {W Y, X Z} |= {WX Y} b) {X Y} v Y Z |= {X Z} c) {X Y , X W, WY Z} |= {X Z} d) {XY Z, Y W} |= {XW Z} e) {X Z, Y Z} |= {X Y} f) {X Y, Z W} |= {XZ YW} g) {XY Z , Z X} |= {Z Y} h) {X Y, Y Z} |= {X YZ} i) {XY Z, Z W} |= {X W} 2) Cho lc quan h R(A,B,C,D,E,F,G,H,I,J) v tp ph thuc hm sau y: F1 = {AB C, A DE, B F, F GH, D IJ} a) Kha ca quan h l g? Hy tch quan h thnh 2NF, sau thnh 3NF. b) Lm li cu a) vi tp ph thuc hm sau: G1= { AB C, BD EF, AD GH, A I , H J } 3) Xt quan h R(A,B,C,D,E) v cc ph thuc hm sau: AB C, CD E, DE B. AB c phi l kha d tuyn ca quan h khng? V sao? Hy tm mt kha ca n. 4) Cho quan h sau: A 10 10 11 12 13 14 B b1 b2 b4 b3 b1 b3 C c1 c2 c1 c4 c1 c4 BID #1 #2 #3 #4 #5 #6 127

Nhng ph thuc hm no sau y l ng: A B , B C, C B, B A, C A. Nu c nhng ph thuc hm sai, hy gii thch v sao.

128

You might also like