PDU-CNTT-HTKHCK-Trich Xuat Mo Hinh TIME-ER Tu Co So Du Lieu Quan He
01 Co so du lieu
Transcript of 01 Co so du lieu
-
CC SS DD LLIIUU GV. Phm Th Hong Nhung B mn Cng ngh phn mm
i hc Thy li
PPHHNN
I
o Cc khi nim c bn o Kin trc h thng c s d liu o M hnh quan h thc th o M hnh quan h o Chun ho quan h o Thit k c s d liu vt l
-
MC LC
PHN I C S D LIU 2
MC LC 1 Chng 1. CC KHI NIM C BN .............................................................5 1.1 Ti sao phi c mt c s d liu ..................................................................5 1.2 nh ngha mt c s d liu.........................................................................5
1.2.1 Khi nim..................................................................................................5 1.2.2 u im.....................................................................................................6 1.2.3 Vn cn gii quyt................................................................................6
1.3 H qun tr c s d liu (DataBase Management System_DBMS) .........7 1.3.1 V d..........................................................................................................7 1.3.2 Khi nim..................................................................................................7
1.4 H thng c s d liu (Database System) ...................................................8 1.5 Cc i tng s dng CSDL........................................................................8
1.5.1 i tng trc tip....................................................................................8 1.5.2 i tng gin tip ...................................................................................9
1.6 Li ch ca vic s dng HQTCSDL ............................................................9
2 Chng 2. NHNG KHI NIM V KIN TRC CA H THNG C S D LIU ................................................................................................................11 2.1 M hnh d liu, lc v trng hp (Data Models, Schemas, Instances) 11
2.1.1 Phn loi m hnh d liu .......................................................................11 2.1.2 Lc (Schema) , minh ho (instances), v trng thi (State)..............14
2.2 Lc kin trc ca h qun tr c s d liu (DBMS Architecture) v s c lp d liu (Data Independence) .....................................................................15
2.2.1 Lc kin trc 3 mc ca HQTCSDL...............................................16 2.2.2 c lp d liu ........................................................................................17
2.3 Ngn ng ca HQTCSDL............................................................................17 2.4 Cc tnh nng ca HQTCSDL ....................................................................17 2.5 Phn loi HQTCSDL ...................................................................................17
3 Chng 3. M HNH QUAN H - THC TH (Entity Relationship Model) ....................................................................................................19 3.1 S dng m hnh d liu khi nim mc cao thit k c s d liu...19 3.2 Mc ch ca m hnh khi nim ER(Entity Relationship Model) ......20
-
MC LC
PHN I C S D LIU 3
3.3 V d v mt c s d liu ng dng ..........................................................20 3.4 Kiu thc th(Entity Type), Thuc tnh (Attributes), Kho (Keys) ........22
3.4.1 Thc th (Entities) v thuc tnh (Attributes).........................................22 3.4.2 Kiu thc th, Kho v tp gi tr ...........................................................25
3.5 Lin kt, Kiu lin kt v cc Rng buc lin kt......................................25 3.5.1 nh ngha lin kt v kiu lin kt ........................................................25 3.5.2 Bc ca kiu lin kt ...............................................................................26 3.5.3 Rng buc lin kt...................................................................................27
3.6 Kiu thc th yu(Weak Entity) .................................................................29 3.7 Tng qut ha v chuyn bit ha ..............................................................29
3.7.1 Thc th con v thc th chnh ...............................................................30 3.7.2 Cc thc th con loi tr .........................................................................30
3.8 Cc k hiu v quy c t tn trong m hnh ER...................................31 3.8.1 Cc k hiu..............................................................................................31 3.8.2 Quy tc t tn ........................................................................................31
3.9 Xy dng mt m hnh ER. .........................................................................32 3.9.1 Cc bc xy dng s ER..................................................................32 3.9.2 M hnh ER cho c s d liu COMPANY ...........................................33 3.9.3 Bi tp .....................................................................................................34
4 Chng 4. M HNH C S D LIU QUAN H.......................................37 4.1 Khi nim m hnh quan h ........................................................................37 4.2 Cc thnh phn c bn ca m hnh ..........................................................37
4.2.1 Mt s khi nim ca m hnh quan h ..................................................37 4.2.2 Quan h: ..................................................................................................37 4.2.3 Cc tnh cht ca mt quan h ................................................................38 4.2.4 Cc rng buc ton vn trn quan h ......................................................38 4.2.5 Cc php ton trn CSDL quan h..........................................................41
5 Chng 5. CHUYN T M HNH ER SANG M HNH QUAN H ......48
6 Chng 6. PH THUC HM V CHUN HO QUAN H .....................55 6.1 Mt s hng dn khi thit k c s d liu quan h ...............................55 6.2 Ph thuc hm(Functional Dependencies).................................................56
6.2.1 nh ngha ph thuc hm......................................................................56
-
MC LC
PHN I C S D LIU 4
6.2.2 H tin Armstrong..............................................................................57 6.2.3 Bao ng ca tp ph thuc hm............................................................57 6.2.4 Bao ng ca tp thuc tnh X trn F .....................................................57 6.2.5 Kho ca quan h ....................................................................................58 6.2.6 Tp ph thuc hm tng ng............................................................59 6.2.7 Tp ph thuc hm ti thiu ...................................................................59
6.3 Cc dng chun ca quan h.......................................................................60 6.3.1 nh ngha cc dng chun .....................................................................60 6.3.2 Php phn r cc lc quan h...........................................................66
6.4 Chun ho quan h.......................................................................................70 6.4.1 Thut ton phn r lc quan h thnh cc lc quan h con BCNF 70 6.4.2 Thut ton phn r mt lc quan h thnh cc lc con 3NF. 72
7 Chng 7. THIT K C S D LIU VT L (Tham kho) ..................75 7.1 Ni dung thit k file vt l v c s d liu vt l....................................75
7.1.1 Qu trnh thit k.....................................................................................75 7.1.2 Sn phm thit k ....................................................................................76
7.2 Thit k cc trng ......................................................................................77 7.2.1 Yu cu thit k trng...........................................................................77 7.2.2 Chn kiu v cch biu din d liu .......................................................78
7.3 Thit k cc bn ghi vt l ...........................................................................80 7.3.1 Phi chun.................................................................................................80 7.3.2 Qun l trng c di c nh............................................................81 7.3.3 Qun l trng c di bin i ..........................................................81
7.4 Thit k file vt l .........................................................................................82 7.4.1 Cc loi file .............................................................................................82 7.4.2 Cc phng php truy cp ......................................................................82 7.4.3 T chc file .............................................................................................83 7.4.4 V d v thit k file................................................................................87
-
Chng 1. CC KHI NIM C BN
PHN I C S D LIU 5
1 Chng 1. CC KHI NIM C BN Trong nhiu nm gn y, thut ng C s d liu - Database tr nn quen
thuc trong nhiu lnh vc. Cc ng dng tin hc vo qun l ngy cng nhiu v a dng, hu ht cc lnh vc kinh t, x hi u ng dng cc thnh tu mi ca tin hc vo phc v cng tc chuyn mn ca mnh. Chnh v l m ngy cng nhiu ngi quan tm n thit k, xy dng v ng dng c s d liu (CSDL).
Trong chng ny, chng ta s tm hiu th no l c s d liu v cc khi nim lin quan n n. Trc ht, chng ta s tm hiu l do ti sao cn phi qun l d liu bng CSDL?
1.1 Ti sao phi c mt c s d liu H thng cc tp tin c in Cho n nay vn cn mt s n v kinh t, hnh chnh s nghip s dng
m hnh h thng cc tp tin c in: chng c t chc ring r, phc v cho mt mc ch ca mt n v hay mt n v con trc thuc c th.
- u im: Vic xy dng h thng cc tp tin ring ti tng n v qun l t tn thi gian
bi khi lng thng tin cn qun l v khai thc l nh, khng i hi u t vt cht v cht xm nhiu, do trin khai ng dng nhanh.
Thng tin c khai thc ch phc v mc ch hp nn kh nng p ng nhanh chng, kp thi.
- Nhc im: Thng tin c t chc ring r nhiu ni nn vic cp nht d lm mt tnh
nht qun d liu. H thng thng tin c t chc thnh cc h thng file ring l nn thiu s
chia s thng tin gia cc ni. Qua phn tch trn, chng ta nhn thy vic t chc d liu theo h thng tp
tin hon ton khng ph hp vi nhng h thng thng tin ln. Vic xy dng mt h thng thng tin m bo c tnh nht qun d liu, p ng c nhu cu khai thc ng thi ca nhiu ngi l thc s cn thit.
1.2 nh ngha mt c s d liu 1.2.1 Khi nim CSDL v cng ngh CSDL c nhng tc ng to ln trong vic pht trin s
dng my tnh. C th ni rng CSDL nh hng n tt c cc ni c s dng my tnh:
Kinh doanh (thng tin v sn phm, khch hng, ) Gio dc (thng tin v sinh vin, im, .. ) Th vin (thng tin v ti liu, tc gi, c gi) Y t (thng tin v bnh nhn, thuc.)
-
Chng 1. CC KHI NIM C BN
PHN I C S D LIU 6
Nh vy, c s d liu l g? CSDL l tp hp cc d liu c cu trc v lin quan vi nhau c lu tr trn
my tnh, c nhiu ngi s dng v c t chc theo mt m hnh. V d: Danh b in thoi l mt v d v CSDL.
- L cc thng tin c ngha - L tp hp cc thng tin c cu trc. - Cc thng tin ny c lin quan vi nhau v c th h thng c.
Trong khi nim ny, chng ta cn nhn mnh, CSDL l tp hp cc thng tin c tnh cht h thng, khng phi l cc thng tin ri rc, khng c lin quan vi nhau. Cc thng tin ny phi c cu trc v tp hp cc thng tin ny phi c kh nng p ng nhu cu khai thc ca nhiu ngi s dng mt cch ng thi. cng chnh l c trng ca CSDL.
1.2.2 u im T khi nim trn, ta thy r u im ni bt ca CSDL l: Gim s trng lp thng tin xung mc thp nht v do m bo c tnh
nht qun v ton vn d liu (Cu trc ca c s d liu c nh ngha mt ln. Phn nh ngha cu trc ny gi l meta-data, v c Catalog ca HQTCSDL lu tr).
m bo s c lp gia d liu v chng trnh ng dng (Insulation between programs and data): Cho php thay i cu trc, d liu trong c s d liu m khng cn thay i chng trnh ng dng.
Tru tng ho d liu (Data Abstraction): M hnh d liu c s dng lm n lu tr vt l chi tit ca d liu, ch biu din cho ngi s dng mc khi nim ca c s d liu.
Nhiu khung nhn (multi-view) cho cc i ngi dng khc nhau: m bo d liu c th c truy xut theo nhiu cch khc nhau. V yu cu ca mi i tng s dng CSDL l khc nhau nn to ra nhiu khung nhn vo d liu l cn thit.
a ngi dng (multi-user): Kh nng chia s thng tin cho nhiu ngi s dng v nhiu ng dng khc nhau.
1.2.3 Vn cn gii quyt t c cc u im trn, CSDL t ra nhng vn cn gii quyt. l: Tnh ch quyn ca d liu: Do tnh chia s ca CSDL nn ch quyn ca
CSDL d b xm phm. Tnh bo mt v quyn khai thc thng tin ca ngi s dng: Do c nhiu
ngi c php khai thc CSDL nn cn thit phi c mt c ch bo mt v phn quyn hn khai thc CSDL.
Tranh chp d liu: Nhiu ngi c php cng truy cp vo CSDL vi nhng mc ch khc nhau: Xem, thm, xa hoc sa d liu. Cn phi c c ch u
-
Chng 1. CC KHI NIM C BN
PHN I C S D LIU 7
tin truy cp d liu hoc gii quyt tnh trng xung t trong qu trnh khai thc cnh tranh. C ch u tin c th c thc hin bng vic cp quyn (hay mc ) u tin cho tng ngi khai thc.
m bo d liu khi c s c: Vic qun l d liu tp trung c th lm tng nguy c mt mt hoc sai lnh thng tin khi c s c mt in t xut hoc a lu tr b hng. Mt s h iu hnh mng c cung cp dch v sao lu nh a cng (c ch s dng a cng d phng - RAID), t ng kim tra v khc phc li khi c s c. Tuy nhin, bn cnh dch v ca h iu hnh, m bo an ton cho CSDL, nht thit phi c mt c ch khi phc d liu khi c s c xy ra.
1.3 H qun tr c s d liu (DataBase Management System_DBMS)
1.3.1 V d Nh chng ta bit, kch thc v phc tp ca CSDL rt khc nhau. V d: Danh b in thoi ca mt quc gia, mt thnh ph.. cha ti hng triu s v
nhng thng tin cn thit v khch hng. Trong trng i hc c ti hng ngn sinh vin. Nh trng phi qun l tt c
nhng thng tin lin quan n sinh vin nh: tn, ngy sinh, qu qun, a ch, kt qu hc tp
Xt mt V d v CSDL qun l ti liu v c gi trong th vin quc gia. Gi s rng c 100 triu cun sch, mi cun sch cn lu 10 thng tin lin quan, mi thng tin cha ti a 400 k t th CSDL s phi c ti thiu 100 *106 * 400 *10 k t (bytes). Nh vy, dung lng b nh cn dng l: 100 *106 * 400 *10= 400 GB.
Ta thy, b nh cng l vn cn phi c gii quyt. Tuy nhin, vn quan trng hn y li l cch thc t chc d liu trong mt c s d liu phc v cho vic truy cp, tm kim, cp nht,.nhanh chng v an ton hn.
Vic t chc d liu nh th no c thc hin thng qua H qun tr c s d liu(HQTCSDL).
Vy h qun tr c s d liu (HQTCSDL) l g? 1.3.2 Khi nim. HQTCSDL l tp hp cc phn mm cho php nh ngha cc cu trc lu
tr thng tin trn my, nhp d liu, thao tc trn cc d liu m bo s an ton v b mt ca d liu.
nh ngha cu trc: nh ngha cu trc CSDL bao gm vic xc nh kiu d liu, cu trc v nhng rng buc cho d liu c lu tr trong CSDL.
Nhp d liu: L vic lu tr d liu vo cc thit b lu tr trung gian c iu khin bng HQTCSDL.
Thao tc d liu: thao tc trn CSDL bao gm nhng chc nng nh truy xut c s d liu tm kim thng tin cn thit, cp nht c s d liu v tng hp nhng bo co t d liu.
-
Chng 1. CC KHI NIM C BN
PHN I C S D LIU 8
1.4 H thng c s d liu (Database System) L phn mm HQTCSDL cng vi d liu ca bn thn c s d liu .
Hnh 1.1. Mi trng h thng c s d liu n gin
1.5 Cc i tng s dng CSDL i vi cc c s d liu nh, mang tnh c nhn nh lch lm vic, danh b
in thoi c nhn th ch cn mt ngi to ra v thao tc trn n. Tuy nhin, i vi cc CSDL ln nh: qun l ti chnh ca ngn hng nh nc, iu hnh cc chuyn bay cho cc sn bay quc t cn phi c rt nhiu ngi tham gia thit k, xy dng, bo tr CSDL v hng trm ngi s dng. Trong phn ny, chng ta tm hiu xem ai l ngi thao tc vi CSDL hng ngy. V trong phn sau, chng ta xem xt nhng ngi khng trc tip tham gia mt CSDL c th, h l ngi duy tr mi trng h thng CSDL.
1.5.1 i tng trc tip 1.5.1.1 Qun tr c s d liu Trong nhng t chc c nhiu ngi cng s dng chung mt ngun d liu th
nht thit phi c mt ngi ng u qun l, chu trch nhim i vi ngun d liu ny. chnh l ngi qun tr c s d liu (Database Administrators _ DBA ).
DBA c nhim v t chc ni dung ca c s d liu, to v phn quyn cho ngi s dng, a ra yu cu v phn cng v phn mm nu cn thit. DAB chu trch nhim bo v an ton, Backup thng tinkhi c s c.
1.5.1.2 Thit k c s d liu Ngi thit k CSDL chu trch nhim:
- Xc nh nhng d liu no cn lu tr trong CSDL - La chn nhng cu trc thch hp biu din v lu tr nhng d liu
ny.
-
Chng 1. CC KHI NIM C BN
PHN I C S D LIU 9
- Phng vn tt c nhng ngi s dng CSDL sau ny hiu c nhng yu cu ca h i vi CSDL
- Tin hnh phn tch thit k h thng sau khi thng nht c tt c cc yu cu ca ngi s dng
1.5.1.3 Ngi s dng cui Ngi s dng cui l nhng ngi truy cp CSDL :
- Truy vn - Cp nht - Thng k, bo co
1.5.1.4 Phn tch h thng v Lp trnh ng dng Phn tch h thng nh r nhng yu cu ca ngi s dng cui cng,
thng nht a ra khung nhn cho tng i tng ngi s dng, qun l cc giao tc (transactions)
Lp trnh ng dng: - Thc hin cc yu cu thng qua lp trnh bng nhng ngn ng ph hp - Chy th chng trnh (test) - Cha li v g ri chng trnh (debug) - Vit ti liu, hng dn s dng. - Bo tr h thng
1.5.2 i tng gin tip Ngoi nhng i tng trc tip tham gia vo mt CSDL c th nh ni
trn, cn c mt i ng nhng ngi phn tch, pht trin, v thc hin to ra mi trng h thng v phn mm ca h qun tr c s d liu. Nhng ngi ny khng trc tip thao tc trn mt h qun tr CSDL no c th. H l:
- Ngi phn tch v thc hin to ra h thng ca HQTCSDL - Nhng nh pht trin h cng c (Tool developers) - Ngi kim th v bo tr h thng
1.6 Li ch ca vic s dng HQTCSDL - Hn ch d tha d liu. - Ngn cn truy cp d liu bt hp php (bo mt v phn quyn s dng). - Cung cp kh nng lu tr lu di cho cc i tng v cu trc d liu. - Cho php suy dn d liu (t d liu ny suy ra d liu khc) s dng
Rules. - Cung cp giao din a ngi dng. - Cho php biu din mi quan h phc tp gia cc d liu.
-
Chng 1. CC KHI NIM C BN
PHN I C S D LIU 10
- m bo rng buc ton vn d liu (Enforcing Integrity Constraints). - Cung cp th tc sao lu v phc hi (backup v recovery)
-
Chng 2. NHNG KHI NIM V KIN TRC CA H THNG C S D LIU
PHN I C S D LIU 11
2 Chng 2. NHNG KHI NIM V KIN TRC CA H THNG C S D LIU
2.1 M hnh d liu, lc v trng hp (Data Models, Schemas, Instances)
Mt trong nhng c im c bn ca c s d liu l cung cp mt s mc tru tng ho d liu bng cch lm n i cch thc t chc d liu- ci m hu ht ngi dng khng cn bit n.
M hnh d liu (Data Model): L mt tp nhng khi nim dng biu din cu trc ca c s d liu-cung cp nhng iu kin cn thit t c mc tru tng d liu. Cu trc d liu bao gm kiu d liu (data types) v mi quan h gia cc d liu (relationships) v nhng rng buc (constraints) m c s d liu phi tun theo.
Hu ht m hnh d liu u c mt tp hp cc thao tc c bn (basic operations) truy vn v cp nht d liu.
- Thao tc chung (generic operations): Thm (insert), Xo (delete), Sa (modify), Truy cp (retrieve)
- Thao tc do ngi dng nh ngha (user-defined operations) 2.1.1 Phn loi m hnh d liu C rt nhiu m hnh d liu c a ra, chng ta c th phn loi chng
theo nhng kiu khi nim m h dng biu din cu trc c s d liu. M hnh d liu c chia lm 3 loi sau:
a. M hnh khi nim (Conceptual (high-level, semantic) data models): Cung cp nhng khi nim gn gi vi a s ngi s dng, m hnh ny ch ra
ci g c a vo qun l. M hnh ny l phng tin nhng ngi phn tch thit k giao tip vi ngi s dng, nhm thu thp thng tin, xc nh ng n v y yu cu ca h thng.
M hnh ny s dng cu trc d liu l: thc th (entity), thuc tnh (attribute) v mi lin kt (relationship)
b. M hnh d liu vt l (Physical (low-level, internal) data models): Cung cp nhng khi nim biu din chi tit cch thc d liu c lu tr
trong my tnh. M hnh ny ch ra nh dng bn ghi (record formats), th t sp xp cc bn ghi (record ordering) v ng dn truy cp d liu (access paths).
c. M hnh d liu th hin (Implementation (record-oriented) data models): M t cc d liu bng cch s dng nhng k php tng ng vi m hnh d
liu m mt h qun tr c s d liu s dng. Cc loi m hnh c s d liu th hin: c1. M hnh phn cp
-
Chng 2. NHNG KHI NIM V KIN TRC CA H THNG C S D LIU
PHN I C S D LIU 12
M hnh CSDL phn cp c biu din di dng cy v cc nh ca cy l cc bn ghi. Cc bn ghi lin kt vi nhau theo mi quan h cha-con.
- Mt cha c nhiu con - Mt con ch c mt cha
V d:
Hnh 2.1. Minh ha m hnh c s d liu phn cp u im:
- Th hin d dng quan h 1-N. - Vic phn chia d liu d th hin, m bo an ton d liu - Tnh c lp ca chng trnh v cc d liu c m bo
Nhc im: - Khng th hin c mi quan h M-N - Trong mt h thng phn cp, d liu c t chc nh trn d n kh
sa i d liu. c2. M hnh mng
Cu trc c bn trong m hnh mng l nhng tp hp v mi tp hp c bn ghi l bn ghi ch v mt s bn ghi thnh vin. Mi thnh vin c th thuc v nhiu tp hp.
V d:
Hnh 2.2. Minh ha m hnh c s d liu mng
PHNG
D N NHN VIN
PH VIC K NNG TRANGTHIT B
PHNG
D N NHN VIN
PH VIC K NNG TRANGTHIT B
PHNG
D N NHN VIN
PH VIC K NNG TRANGTHIT B
-
Chng 2. NHNG KHI NIM V KIN TRC CA H THNG C S D LIU
PHN I C S D LIU 13
u im:
- D th hin mi lin kt M-N - Kiu truy cp d liu mm do hn kiu phn cp
Nhc im: - Vic sa i s liu kh khn. - Vi nhng lp trnh vin, vic thit k CSDL kh.
c3. M hnh quan h Trong m hnh quan h, cc d liu c biu din dng cc bng vi cc
dng v cc ct. Trong m hnh quan h khng c mt cu trc vt l no ca d liu m t s
kt ni gia cc bng. Thay vo , s kt ni gia cc bng c m t logic bng cc gi tr c lu tr trong cc dng ca bng. Chng hn trong hnh di y, thuc tnh ProCode(M tnh) c lu trong c 2 bng PROVINCE v bng STUDENT, gi tr chung ny cho php ngi dng lin kt c 2 bng.
PROVINCE
ProCode ProName
04 H Ni
08 Tp H Ch Minh
STUDENT
StdNo StdName StdBird ProCode
TD001 AA 9/16/1979 04
TD002 BB 6/19/1979 08
.
Hnh 2.3. Minh ha m hnh c s d liu quan h
c4. M hnh hng i tng
Trong m hnh hng i tng, cc thuc tnh d liu v cc thao tc trn cc d liu ny c bao gi trong mt cu trc gi l i tng.
-
Chng 2. NHNG KHI NIM V KIN TRC CA H THNG C S D LIU
PHN I C S D LIU 14
i tng c th cha cc d liu phc hp nh vn bn, hnh nh, ting ni v hnh nh ng. Mt i tng c th yu cu hoc x l d liu t mt i tng khc bng vic gi i mt thng bo n i tng . M hnh hng i tng biu din mt s mi lu tr v thao tc d liu. T mt i tng c th sinh ra mt i tng khc.
Hnh 2.4. Minh ha m hnh c s d liu hng i tng
2.1.2 Lc (Schema) , minh ho (instances), v trng thi (State) Lc c s d liu (Database Schema): l biu din ca c s d liu, bao
gm cu trc c s d liu v nhng rng buc trn d liu. S ca lc c s d liu (Schema Diagram): L lc c s d liu
c biu din thng qua s . V d:
PHONG
NHANVIEN TRANG B
NHANVIEN
PHONG
TRANGBI
PHONG
LUONGGIO LUONGTH
schema construct
-
Chng 2. NHNG KHI NIM V KIN TRC CA H THNG C S D LIU
PHN I C S D LIU 15
Hnh 2.5. Lc c s d liu UNIVERSITY
Minh hc c s d liu (Database Instance): L d liu thc s c lu tr trong c s d liu thi im hin ti. Database Instance cng c gi l trng thi ca c s d liu (database state) V d:
Hnh 2.5. C s d liu UNIVERSITY Nh vy, Database Schema rt him khi thay i, cn Database State thay
i bt k khi no c s cp nhp d liu.
2.2 Lc kin trc ca h qun tr c s d liu (DBMS Architecture) v s c lp d liu (Data Independence)
Nh chng ta bit, cc tnh cht quan trng nht ca c s d liu l: (1) m bo s c lp gia chng trnh ng dng v d liu. (2) H tr nhiu khung nhn cho cc i tng ngi dng khc nhau. (3) S dng danh mc lu tr biu din d liu (schema). Trong phn ny, chng ta s tm hiu kin trc ca h qun tr
-
Chng 2. NHNG KHI NIM V KIN TRC CA H THNG C S D LIU
PHN I C S D LIU 16
c s d liu, gi l Lc kin trc 3 mc mc(three schema architecture). Sau chng ta s tm hiu v khi nim c lp d liu.
2.2.1 Lc kin trc 3 mc ca HQTCSDL Mc ch ca vic phn thnh 3 mc trong kin trc ca m hnh HQTCSDL l
tch bit cc ng dng ca ngi s dng vi c s d liu vt l. Trong kin trc ny, lc c th c nh ngha 3 mc sau:
Lc mc trong (Internal schema) Mc trong (Internal level) biu din chi tit cu trc lu tr d liu v cch thc truy cp d liu. Lc mc trong s dng m hnh d liu vt l (physical data model).
Lc khi nim (Conceptual schema) Mc khi nim (Conceptual level) biu din cu trc v cc rng buc trong ton b c s d liu phc v cho vic giao tip vi ngi s dng. Lc khi nim n i cch thc t chc vt l ca d liu, ch tp trung vo vic biu din cc thc th, cc kiu d liu, mi quan h gia cc thc th, cc thao tc ca ngi s dng v cc rng buc gia cc d liu. M hnh d liu mc khi nim (Conceptual data model) hoc M hnh d liu th hin (Implementation data model) c th c s dng mc ny.
Lc mc ngoi (External Level) Mc ngoi (External level hoc View level) biu din hng lot nhng khung nhn ca ngi s dng (user views). M hnh d liu mc cao (High-level data model) hoc M hnh d liu th hin (Implementation data model) c th c s dng mc ny.
nh x gia cc mc ny l cn thit. Nhng chng trnh lm vic vi d liu mc ngoi v c HQTCSDL nh x ti d liu vt l mc trong thc hin.
Hnh 2.6. Lc kin trc 3 mc ca HQTCSDL
-
Chng 2. NHNG KHI NIM V KIN TRC CA H THNG C S D LIU
PHN I C S D LIU 17
2.2.2 c lp d liu Kin trc 3 mc ca HQTCSDL c th c s dng gii thch khi nim v
c lp d liu. c lp d liu l kh nng thay i lc mt mc no ca h thng c s d liu m khng cn phi thay i lc mc cao hn. Chng ta c th nh ngha 2 kiu ca c lp d liu:
c lp d liu logic (Logical data independence): cho php thay i lc khi nim m khng cn phi thay i lc mc ngoi hoc nhng chng trnh ng dng. Chng ta c th thay i lc khi nim m rng (thm cc trng d liu, cc bn ghi) hoc thu nh c s d liu (xa cc trng d liu, cc bn ghi).
c lp d liu vt l (Physical data independence): cho php thay i lc mc trong m khng cn thay i lc khi nim. C khi chng ta cn thay i lc mc trong v cc file vt l i khi cn t chc li tng hiu qu thc hin. Nu kiu d liu khng thay i th chng ta khng cn thay i li lc khi nim.
2.3 Ngn ng ca HQTCSDL V HQTCSDL phc v c nhiu i tng ngi s dng khc nhau nn n
phi h tr ngn ng ngi s dng tng tc vi n. Trong phn ny chng ta s tm hiu mt s nhng ngn ng c HQTCSDL h tr.
Ngn ng nh ngha d liu (Data Definition Language - DDL): L ngn ng c cc nh qun tr c s d liu (DBA) v cc nh thit k c s d liu (database designers) dng xy dng lc khi nim ca c s d liu. Trong nhiu HQTCSDL, DDL cng c s dng nh ngha lc mc trong v mc ngoi (cc khung nhn). Mt s HQTCSDL chia thnh 2 ngn ng: Ngn ng nh ngha lu tr (storage definition language SDL) v Ngn ng nh ngha khung nhn (view definition language -VDL) c dng nh ngha lc mc trong v mc ngoi.
Ngn ng thc hin d liu (Data Manipulation Language -DML): L ngn ng c s dng thao tc vi d liu bao gm vic truy cp n bn ghi v cp nht d liu cho bn ghi (thm, sa, xo). Cc lnh DML c th c nhng trong ngn ng lp trnh hoc thc hin c lp (ngn ng truy vn).
2.4 Cc tnh nng ca HQTCSDL - Np d liu ang lu tr cc tp tin vo c s d liu (Conversion
Tool). - Cung cp cc thao tc truy xut - m bo tnh c lp d liu - Cung cp th tc sao lu v phc hi (backup v recovery) - Cung cp cc th tc iu khin ng thi (Do tnh truy xut ng
thi v cnh tranh) - Cung cp cc th tc kim sot bn quyn, kim tra tnh ng n
ca d liu ( m bo tnh an ton v ton vn d liu)
2.5 Phn loi HQTCSDL Ngi ta phn loi HQTCSDL da trn mt s tiu ch:
-
Chng 2. NHNG KHI NIM V KIN TRC CA H THNG C S D LIU
PHN I C S D LIU 18
Da trn m hnh d liu c HQTCSDL s dng: M hnh quan h (Relational Data Model), M hnh hng i tng (Object Data Model), M hnh mng (Network Data Model), m hnh phn cp (Hierarchical Data Model), m hnh quan h thc th (Entity Relationship Data Model)...
Tiu ch khc: - S ngi s dng HQTCSDL: n ngi dng (Single-user), a
ngi dng (multi-user). Hu ht cc HQTCSDL hin nay u l HQTCSDL a ngi dng.
- V tr HQTCSDL: tp trung (s dng mt my n) hay phn tn (s dng nhiu my tnh).
- Gi ca HQTCSDL: 100$- 300$; 10000$- 100000$
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 19
3 Chng 3. M HNH QUAN H - THC TH (Entity Relationship Model)
3.1 S dng m hnh d liu khi nim mc cao thit k c s d liu
Hnh 3.1. Cc giai on thit k c s d liu Hnh trn ch ra tin trnh thit k c s d liu mt cch n gin. Bc u
tin l tp hp v phn tch yu cu h thng. Trong bc ny, ngi thit k c s d liu phi tin hnh thu thp yu cu ca ngi s dng, sau vit ti liu nhng yu cu d liu. Kt qu ca bc ny l vit ra c tp hp nhng yu cu tt c cc i tng ngi dng mt cch xc tch. T , ta xc nh c yu cu chc nng (Funtional Requirements) ca h thng.
Sau khi tt c cc yu cu c tp hp v phn tch, bc tip theo l xy dng lc khi nim(conceptual schema) cho c s d liu. Lc khi nim l ni biu din xc tch nhng yu cu ca ngi s dng v biu din chi tit nhng kiu thc th (entity types),quan h (relationships) v nhng rng buc (constraints) ca d liu, phn ny s dng nhng khi nim c cung cp trong m hnh d liu mc cao (High level data model). M hnh d liu mc cao l m hnh d liu c dng giao tip vi ngi s dng bnh thng v th n rt d hiu, n ch ra ci g
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 20
cn c lu trong c s d liu ch khng ch ra c th d liu c thc hin nh th no.
Bc tip theo trong qu trnh thit k l ci t c s d liu trn mt m hnh d liu thc hin, s dng cc H qun tr c s d liu no (Hu ht cc h qun tr c s d liu hin nay s dng m hnh d liu quan hoc hng i tng). V th, chng ta cn thit phi chuyn t m hnh d liu mc cao sang nhng m hnh d liu thc hin. Bc ny c gi l thit k logic (Logical design) hoc nh x m hnh d liu (Data model mapping) v kt qu ca bc ny l lc c s d liu trong m hnh c s d liu thc hin.
Bc cui cng l thit k vt l cho c s d liu (physical design), bao gm vic thit k nhng cu trc lu tr d liu bn trong, ng dn truy cp, t chc file ca cc file d liu.
Trong chng ny, chng ta s s dng m hnh khi nim ER cho thit k lc khi nim (Conceptual Schema).
3.2 Mc ch ca m hnh khi nim ER(Entity Relationship Model)
Qua bc xem xt tng qut trn, ta thy rng, m hnh E-R l mt m t logic chi tit d liu ca mt t chc hay mt lnh vc nghip v. N gip ngi thit k c s d liu m t th gii thc gn gi vi quan nim v cch nhn nhn nhn bnh thng ca con ngi. N l cng c phn tch thng tin nghip v.
Mc ch ca m hnh E R: - Lm thng nht quan im v d liu ca nhng ngi tham gia h
thng: Ngi qun l, ngi dng cui, ngi thit k h thng - Xc nh cc x l v d liu cng nh cc rng buc trn cc d liu. - Gip vic th hin c s d liu v mt cu trc: S dng thc th
v cc mi lin kt gia cc thc th. Biu din m hnh quan h thc th bng mt s .
3.3 V d v mt c s d liu ng dng Trong phn ny, chng ta s tm hiu mt v d v c s d liu ng dng - gi
l COMPANY minh ho cc khi nim trong m hnh ER v s dng n trong khi thit k lc khi nim.
C s d liu COMPANY cn lu tr thng tin v nhn vin (employees), phng/ban (departments), v cc d n (projects) trong cng ty. Sau khi tp hp c tt c cc yu cu ca h thng, ngi thit k c s d liu tin hnh m t li miniworld bng m hnh ER.
Sau y l cc quy tc nghip v ca h thng c s d liu COMPANY, chng ta s xy dng m hnh ER tng bc gii thiu cc khi nim ca m hnh ER.
1. Cng ty (COMPANY) c nhiu phng/ban (DEPARTMENTs). Mi phng/ban c tn (name), m s (number) duy nht v c mt nhn vin (employee) lm qun l (manages) phng/ban. Chng ta lu li ngy bt u (start date) lm qun l phng/ban ca nhn vin .
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 21
2. Mi phng/ban c th c nhiu a im khc nhau (locations). 3. Mi phng/ban iu hnh mt s d n (PROJECTs). Mi d n c tn
(name), m s (number) duy nht v ch c mt a im (location). 4. Vi mi nhn vin, chng ta lu li nhng thng tin sau: tn (name), s bo
him x hi (social security number), a ch (address), lng (salary), gii tnh (sex), v ngy sinh (birth date).
5. Mi nhn vin lm vic mt phng/ban, nhng c th lm vic cho nhiu d n. Chng ta lu li s gi lm vic (the number of hours per week) ca tng nhn vin trong tng d n.
6. Chng ta lu li thng tin v ngi qun l trc tip (direct supervisor), ca mi nhn vin. Ngi qun l trc tip cng l mt nhn vin.
7. Mi nhn vin c nhng ngi ph thuc vo h (DEPENDENTs). Mi ngi ph thuc ta lu li thng tin v tn (name), gii tnh (sex), ngy sinh (birth date) v quan h (relationship).
Hnh minh ho sau s ch ra s ER ca c s d liu COMPANY da trn nhng k hiu ho c quy nh trong m hnh ER.
Hnh 3.2. S ER ca c s d liu COMPANY
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 22
Lu , trn y ch l gii thiu s b v m hnh ER, cc bn cha cn phi hiu c ton b s trn.
Phn tip theo chng ta s gii thiu v m hnh ER. Cc khi nim c bn trong m hnh ER gm c Thc th (Entity), Thuc tnh (Attributes), v Quan h (Relationship).
3.4 Kiu thc th(Entity Type), Thuc tnh (Attributes), Kho (Keys)
3.4.1 Thc th (Entities) v thuc tnh (Attributes) 3.4.1.1 Thc th - Cc thc th vn tn ti trong th gii thc. Mt thc th l mt khi
nim ch mt lp cc i tng c th hay cc khi nim c cng nhng c tnh chung m ta quan tm.
- Tn thc th: L tn ca mt lp i tng. Trong 1 CSDL, tn thc th khng c trng nhau.
- K hiu: Trong m hnh E-R, thc th c biu din bng mt hnh ch nht c tn bn trong.
- V d:
3.4.1.2 Thuc tnh - Thuc tnh l cc c trng (properties) c s dng biu din
thc th. - V d: Thc th EMPLOYEE c cc thuc tnh: Name, SSN, Address,
Sex, BirthDate. - Thuc tnh c k hiu bng hnh oval, bn trong ghi tn ca thuc
tnh. Thuc tnh ca thc th no th s c gn vi thc th . - V d:
Hnh 3.3. Thc th EMPLOYEE v cc thuc tnh ca n
EMPLOYEE DEPARTMENT
EMPLOYEEBdate Salary
Address
SexName
SSN
Lname MinitFname
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 23
Hnh 3.4. Thc th DEPARTMENT v cc thuc tnh ca n
Hnh 3.5. Mt s k hiu ca thuc tnh Cc kiu thuc tnh trong m hnh ER: Thuc tnh n (simple) i lp vi thuc tnh t hp (composite), thuc
tnh n tr (single-value) i lp vi thuc tnh a tr (multivalued), thuc tnh lu tr (stored) i lp vi thuc tnh suy din (derived). Sau y ta s tm hiu chi tit v cc loi thuc tnh ny:
Thuc tnh n (simple) hay cn gi l thuc tnh nguyn t (Atomic): Ch c mt gi tr trong mt thuc tnh ca mt thc th. V d: Thuc tnh Birthdate, Sex ca Employee l thuc tnh nguyn t.
Thuc tnh t hp (Composite): l thuc tnh c kt hp ca mt s thnh phn. V d: Address(Apt#, House#, Street, City, State, ZipCode, County) hoc Name (FirstName, MiddleName, LastName) l thuc tnh t hp.
Thuc tnh t hp c th c biu din phn cp nh sau:
DEPARTMENT
Locations
Number
Name
NumberOfEmployee
singled
multiple-valued
key attribute
derived attribute
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 24
Hnh 3.6. Biu din phn cp ca thuc tnh t hp Thuc tnh n tr (single-value): L thuc tnh ch c mt gi tr duy nht
mt thi im. V d: Sex, Birthdate, Thuc tnh a tr (multivalued): L thuc tnh c th c nhiu gi tr ti mt
thi im. V d: PreviousDegrees K hiu: {PreviousDegrees} Thuc tnh t hp v thuc tnh a tr c th lm t nhiu mc, mc d t gp
trng hp ny. V d: PreviousDegrees ca thc th STUDENT l loi thuc tnh . K hiu: {PreviousDegrees (College, Year, Degree, Field)}.
Thuc tnh lu tr (stored attribute) v thuc tnh suy din (derived attribute): Thuc tnh lu tr l thuc tnh m gi tr ca n phi c lu tr, cn thuc tnh suy din l thuc tnh m gi tr ca n c th suy ra t gi tr ca nhng thuc tnh khc. V d: Age(derived attribute) c suy din t BirthDate (stored attribute)
Gi tr rng ca thuc tnh (Null Values): Trong mt vi trng hp, mt thc th c th khng c gi tr tng ng cho mt thuc tnh, v d thuc tnh NameDependent(Tn ca ngi ph thuc), nu mt nhn vin no trong thc th EMPLOYEE cha c ngi ph thuc th thuc tnh NameDependent tng ng vi nhn vin s khng c gi tr. Hoc trong trng hp thuc tnh c gi tr nhng cha c bit, v d thuc tnh PhoneNumber (S in thoi). Trong trng hp ny, mt gi tr c bit c to ra, l gi tr Null.
Mi thuc tnh trong thc th lun c gi tr, v d cc thuc tnh trong thc th EMPLOYEE c cc gi tr sau: Name=John Smith, SSN=123456789, Address=731 Fondren, Houston, TX, Sex=M, BirthDate= 09-JAN-55. Mt b gi tr ca mt thc th c gi l mt bn ghi (record).
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 25
relationship
Hnh 3.7. Hai thc th v gi tr thuc tnh ca n 3.4.2 Kiu thc th, Kho v tp gi tr Kiu thc th: l tp hp nhng thc th c cng cc thuc tnh c bn. V d,
kiu thc th EMPLOYEE, kiu thc th PROJECT. Kho: Mi mt kiu thc th phi c mt hoc mt tp cc thuc tnh mang gi
tr duy nht (unique value) phn bit gia bn ghi ny vi bn ghi khc. Thuc tnh gi l kho ca kiu thc th (Key attribute).V d: thuc tnh SSN ca kiu thc th EMPLOYEE, hoc thuc tnh NumberStudent(M sinh vin) ca kiu thc th STUDENT. Ch l kho c th gm mt hoc mt tp cc thuc tnh.
Tp gi tr hay cn gi l min xc nh(Domain): l tp nhng gi tr m thuc tnh c th nhn c. V d: Min xc nh ca thuc tnh Sex l {Male, Female}, hoc ca Mark(im) l t 0..10.
Tp gi tr khng c biu din trong lc ER.
3.5 Lin kt, Kiu lin kt v cc Rng buc lin kt 3.5.1 nh ngha lin kt v kiu lin kt Lin kt (Relationship) dng ch mi quan h gia hai hay nhiu thc th
khc nhau. V d: Nhn vin (A) lm vic cho d n (X), nhn vin B lm vic cho d n (X)
Nhng lin kt ca cng mt kiu c nhm li gi l kiu lin kt (Relationship Type), v d kiu lin kt WORK_ON (lm vic cho), kiu lin kt MANAGES ( lm qun l)
Trong lc ER, ngi ta s dng hnh thoi v bn trong ghi tn kiu lin kt k hiu kiu lin kt.
K hiu:
Lu : Kiu lin kt cng c th c thuc tnh ca n.
employee department
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 26
3.5.2 Bc ca kiu lin kt L s lng cc kiu thc th tham gia vo lin kt. C cc kiu lin kt sau: - Kiu lin kt bc 1 ( quy) l mi quan h gia cng 1 kiu thc th. - Kiu lin kt bc 2 l mi lin kt gia hai kiu thc th - Kiu lin kt bc 3 l mi lin kt gia 3 kiu thc th
3.5.2.1 Mi quan h bc 1 Mi quan h bc 1 ( quy) l mi quan h gia cng 1 kiu thc th V d:
Hnh 3.8. Minh ha mi quan h bc 1 3.5.2.2 Mi quan h bc 2 L mi quan h gia 2 kiu thc th khc nhau. V d:
Hnh 3.9. Minh ha mi quan h bc 2 V d: Mi lin kt gia hai kiu thc th DEPARTMENT v EMPLOYEE sau
y l kiu lin kt bc 2 v n c s tham gia ca hai kiu thc th. Hnh minh ho trn cn cho ta thy, c th c nhiu hn mt kiu lin kt gia
hai kiu thc th khc nhau.
3.5.2.3 Mi quan h bc 3 L mi quan h gia 3 kiu thc th khc kiu.
DEPARTMENT
EMPLOYEE
works for manages
1
N 1
1
PERSON marry EMPLOYEE supervisor
1
1
1
N
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 27
Hnh 3.10. Minh ha mi quan h bc 3 3.5.3 Rng buc lin kt Cc kiu lin kt thng c mt s rng buc no v cc thc th c th kt
hp vi nhau tham gia trong mt lin kt ph hp. Cc rng buc ny xc nh t tnh hung thc t m lin kt th hin.C cc loi rng buc nh sau:
3.5.3.1 T s lc lng: Trong cc kiu lin kt bc 2, t s lc lng ch r s thc th tham gia vo
lin kt. Cc t s lc lng c th l: 1:1, 1:N, N:1 v M:N. T s 1:1: Mt thc th ca kiu A c lin kt vi mt thc th ca kiu B v
ngc li.
V d: Mt nhn vin (EMPLOYEE) qun l mt phng (DEPARTMENT) , v
mt phng ch c mt nhn vin qun l.
T s 1:N: Mt thc th ca kiu A c lin kt vi nhiu thc th ca kiu B. Nhng mt thc th ca kiu B li c lin kt duy nht vi thc th ca kiu A.
V d: Mt nhn vin (EMPLOYEE) lm vic cho mt phng
(DEPARTMENT), v mt phng c nhiu nhn vin lm vic.
B A relationship1 1
DEPARTMENT EMPLOYEE Manages 1 1
B A relationship1 N
teach
SUBJECT
TEACHER CLASS
Hours
M
N
M
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 28
T s M:N: Mt thc th ca kiu A c lin kt vi nhiu thc th ca kiu B
v ngc li.
V d:
3.5.3.2 Rng buc v s tham gia lin kt (Participation constraint) Rng buc v s tham gia lin kt c xc nh trn tng thc th trong tng kiu lin kt m thc th tham gia, bao gm: lc lng tham gia ton b (total participation) v lc lng tham gia b phn (partial participation).
V d: Trong kiu lin kt Manages gia hai kiu thc th EMPLOYEE v DEPARTMENT, lc lng tham gia ca kiu thc th DEPARTMENT l ton b, v DEPARTMENT no cng c ngi qun l, cn lc lng tham gia ca kiu thc th EMPLOYEE l b phn v khng phi EMPLOYEE no cng lm qun l (manages) ca DEPARTMENT.
Trong s ER, kiu thc th c lc lng tham gia lin kt ton b c ni vi kiu lin kt bng gch ni kp, cn kiu thc th c lc lng tham gia b phn c ni vi kiu lin kt bng gch ni n.
V d:
3.5.3.3 Lc lng tham gia lin kt Trong mi lin kt gia cc thc th, ta cn quan tm n lc lng tham gia
lin kt, l s bn ghi ln nht v nh nht ca thc th tham gia vo lin kt . K hiu: Thm (min,max) vo mi lin kt. Trong : - min l s bn ghi nh nht tham gia vo lin kt
DEPARTMENT EMPLOYEE Work_
for
N 1
PROJECT EMPLOYEE Work_
on
M N
DEPARTMENT EMPLOYEE Manages
1 1
BA M N
relationship
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 29
- max l s bn ghi ln nht tham gia vo lin kt - Mc nh, min=0, max=n - Chng ta xc nh lc lng ny t kho st thc t bi ton. V d: a. Ti mt thi im, mt phng c duy nht mt ngi qun l-ngi
l nhn vin, mt nhn vin ch qun l duy nht mt phng. V vy, (0,1) l lc lng ca EMPLOYEE v (1,1) l lc lng ca DEPARTMENT tham gia trong lin kt Manages(qun l).
b. Mt nhn vin ch c th lm vic cho mt phng nhng mt phng c th c bt k s lng nhn vin no. V th, (1,1) l lc lng ca EMPLOYEE v (0,n) l lc lng ca DEPARTMENT tham gia trong lin kt Works_For(lm vic cho).
3.5.3.4 Thuc tnh ca kiu lin kt Kiu lin kt cng c th c thuc tnh. V d: S gi nhn vin lm vic cho
d n (Hours) l thuc tnh ca mi lin kt gia hai kiu thc th EMPLOYEE v PROJECT.
3.6 Kiu thc th yu(Weak Entity) Kiu thc th yu l kiu thc th tn ti ph thuc vo thc th khc (thc th
lm ch hay cn gi l xc nh n). Kiu thc th yu khng c kho. Kiu thc th yu c xc nh bng: - Mt hay mt tp cc thuc tnh xc nh kiu thc th yu - V thc th lm ch (xc nh) thc th yu. Kiu thc th yu lun c lc lng tham gia lin kt ton b.
3.7 Tng qut ha v chuyn bit ha Tng qut ha l khi nim cho php ta xem mt vt th no (cc thc th)
l mt thc th con ca mt vt th khc tng qut hn. V d: SACH l mt loi con ca loi tng qut hn l TAILIEU ni chung. Chuyn bit ha l khi nim ngc li vi tng qut ha. V d: t, xeca, taxi gp li thnh mt thc th tng qut hn l Phuongtienvantai.
PROJECT EMPLOYEE Work_on
M N
Hours
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 30
3.7.1 Thc th con v thc th chnh Trong m hnh d liu, cn phi m t mt cch r rng cc thc th gn nh
nhau: l cc thc th c cc thuc tnh chung, nhng cng c mt s cc thuc tnh khc nhau.
V d: Trong mt n v c 3 loi nhn vin: SECRETARY, TECHNICIAN, ENGINEER. Cc thc th ny c mt s thuc tnh chung v mt s thuc tnh ring.
Trong trng hp ny, c th c 3 hng gii quyt sau: - Cch n gin nht l gp tt c cc loi nhn vin vo mt thc th
EMPLOYEE. Cch ny dn n d tha thng tin, v c nhng thuc tnh lun rng i vi mi loi nhn vin.
- Cch th hai, nh ngha ring r tng loi thc th: SECRETARY, TECHNICIAN, ENGINEER. Cch ny khng khai thc c nhng thuc tnh chung ca nhn vin.
- Cch th ba, nh ngha mt thc th chnh gi l EMPLOYEE, vi 3 thc th con l: SECRETARY, TECHNICIAN, ENGINEER. Nhng thuc tnh chung nm trong thc th chnh, cn thc th con s cha thuc tnh ring ca n. Hnh sau y minh ho cch gii quyt ny:
Hnh 3.11. Minh ha mi quan h gia thc th con v thc th chnh 3.7.2 Cc thc th con loi tr Trong m hnh trn, cc thc th con l loi tr ln nhau. Thc th con loi tr gm 2 loi:
EMPLOYEE
SECRETARY TECHNICIAN ENGINEER
FName Minit LName
Name Ssn BirthDate Address
Typing Speed TGrade EngType
d
JobType
Job Type
EngineerSecretary
Technician
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 31
Thc th con y : L tt c cc thc th con xc nh mt thc th chnh. Trong v d trn, tt c cc thc th con l y v khng th b sung thc th no vo thc th chnh EMPLOYEE. Thc th con khng y : Tp cc thc th con khng y xc nh thc th chnh. V d: Tp thc th T, XEMAY cha xc nh c thc th chnh l PHUONGTIEN.
3.8 Cc k hiu v quy c t tn trong m hnh ER 3.8.1 Cc k hiu Trong xy dng m hnh E-R, ta s dng cc k hiu trong hnh 3.12:
Hnh 3.12. Bng tng hp cc k hiu trong m hnh ER
3.8.2 Quy tc t tn
Thc th
Thc th yu
Mi quan h
Mi quan h xc nh
Thuc tnh
Thuc tnh kha
Thuc tnh a tr
Thuc tnh t hp
Thuc tnh suy din
E2 tham gia ton b trong R
T s tham gia lin kt 1:N
Lc lng ca E2 trong R
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 32
3.9 Xy dng mt m hnh ER. 3.9.1 Cc bc xy dng s ER 3.9.1.1 Lit k, chnh xc ha v la chn thng tin c s Xc nh mt t in bao gm tt c cc thuc tnh (khng b st bt c thng
tin no). Chnh xc ha cc thuc tnh . Thm cc t cn thit thuc tnh mang
y ngha, khng gy lm ln, hiu nhm. Ch : la chn cc c trng cn thit , ta duyt t trn xung v ch gi
li nhng thuc tnh m bo yu cu sau: Thuc tnh cn phi c trng cho mt lp cc i tng c xt. Chn mt thuc tnh mt ln, nu lp li th b qua. Mt thuc tnh phi l s cp (Nu gi tr ca n c th suy ra t cc thuc tnh
khc th b qua).
3.9.1.2 Xc nh cc thc th v cc thuc tnh ca n, sau xc nh thuc tnh nh danh cho tng thc th.
Duyt danh sch cc thuc tnh t trn xung tm ra thuc tnh tn gi. Mi thuc tnh tn gi s tng ng vi mt thc th.
Gn cc thuc tnh cho tng thc th. Xc nh thuc tnh nh danh cho tng thc th.
3.9.1.3 Xc nh cc mi quan h v cc thuc tnh ring ca n Xt danh sch cc thuc tnh cn li, hy tm tt c cc ng t (ng vi thuc
tnh ). Vi mi ng t, hy tr li cc cu hi: Ai? Ci g? u? Khi no? Bng cch no?
3.9.1.4 V s m hnh thc th- mi quan h, xc nh lc lng tham gia lin kt cho cc thc th.
3.9.1.5 Chun ha s v thu gn s - V s . - Chun ha s , nu trong cn c cha: cc thuc tnh lp, nhm
lp v cc thuc tnh ph thuc thi gian s ch cn cc thc th n v cc thuc tnh n.
Quy tc t tn:
entity types attributes relationship types roles
Danh t
ng t
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 33
Thu gn s : Nu mt thc th c tt c cc c trng: - L thc th treo: l thc th ch tham gia vo mt mi quan h
v ch cha mt thuc tnh duy nht thc s l ca n (c th c thuc tnh th 2 thm vo lm nh danh).
- Mi quan h l bc hai v khng c thuc tnh ring. - Mi quan h l 1: N hay 1:1.
V d: c thu gn thnh s sau:
3.9.2 M hnh ER cho c s d liu COMPANY
a. Qua Bc 1 v Bc 2 ta xc nh c danh sch cc thc th v cc thuc tnh ca tng thc th.
b. Qua bc 3 ta xc nh c cc kiu lin kt nh sau: 1. MANAGES: l kiu lin kt 1:1 gia hai kiu thc th EMPLOYEE v
DEPARTMENT. Lc lng tham gia kin kt ca kiu thc th EMPLOYEE l b phn, v khng phi nhn vin no cng tham gia qun l. Cn lc lng tham gia ca DEPARTMENT l ton b, v ti bt k thi im no mt phng cng c mt nhn vin lm qun l. Thuc tnh StartDate c gn vo kiu lin kt ghi li thi im bt u lm qun l ca nhn vin cho phng .
2. WORKS_FOR: l kiu lin kt 1:N gia hai kiu thc th DEPARTMENT v EMPLOYEE. C hai kiu thc th ny u c lc lng tham gia ton b vo lin kt.
3. CONTROLS: l kiu lin kt 1:N gia hai kiu thc th DEPARTMENT v PROJECT. Lc lng tham gia ca PROJECT l ton b, ca DEPARTMENT l b phn.
STUDENT CLASS have
StartDate Name
STUDENT CLASS FACULTYhave have
Name StartDate
N 1N 1
N 1
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 34
4. SUPERVISOR: l kiu lin kt 1:N gia hai kiu thc th EMPLOYEE v EMPLOYEE (Mi nhn vin c ngi qun l cp trn ca mnh, ngi cng l mt nhn vin). Trong qu trnh phng vn cc i tng ngi dng, ngi thit k c tr li rng: Khng phi nhn vin no cng lm qun l nhn vin khc, v khng phi nhn vin no cng c ngi qun l trc tip mnh. V vy, c hai kiu thc th ny c lc lng tham gia b phn.
5. WORK_ON: l kiu lin kt M:N gia hai kiu thc th EMPLOYEE v PROJECT, v mt d n c nhiu nhn vin lm vic v mt nhn vin c th lm vic cho nhiu d n. Thuc tnh Hours l thuc tnh ca kiu lin kt c dng ghi li s gi mi nhn vin lm vic cho mt d n no . C hai kiu thc th ny c lc lng tham gia ton b.
6. DEPENDENTS_OF: l kiu lin kt 1:N gia hai kiu thc th EMPLOYEE v DEPENDENT. Kiu thc th DEPENDENT l kiu thc th yu, v n khng tn ti nu khng c s tn ti ca kiu thc th EMPLOYEE. Lc lng tham gia ca EMPLOYEE l b phn, v khng phi nhn vin no cng c ngi ph thuc. Lc lng tham gia ca DEPENDENT l ton b v n l kiu thc th yu. c. Qua bc 4 ta v c m hnh ER:
Hnh 3.13. M hnh ER ca bi ton COMPANY 3.9.3 Bi tp Xy dng m hnh ER qun l cc n v sau:
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 35
Bi tp 1: Qun l hot ng ca mt trung tm i hc Qua qu trnh kho st, iu tra hot ng ca mt trung tm i hc ta rt ra
cc quy tc qun l sau: - Trung tm c chia lm nhiu trng v mi trng c 1 hiu
trng qun l nh trng. - Mt trng chia lm nhiu khoa, mi khoa thuc v mt trng. - Mi khoa cung cp nhiu mn hc. Mi mn hc thuc v 1 khoa
(thuc quyn qun l ca 1 khoa). - Mi khoa thu nhiu gio vin lm vic. Nhng mi gio vin ch
lm vic cho 1 khoa. Mi khoa c 1 ch nhim khoa, l mt gio vin.
- Mi gio vin c th dy nhiu nht 4 mn hc v c th khng dy mn hc no.
- Mi sinh vin c th hc nhiu mn hc, nhng t nht l mn. Mi mn hc c th c nhiu sinh vin hc, c th khng c sinh vin no.
- Mt khoa qun l nhiu sinh vin ch thuc v mt khoa. - Mi gio vin c th c c lm ch nhim ca lp, lp c th
c nhiu nht 100 sinh vin. Bi tp 2: Cho cc thuc tnh, cc quy tc qun l ca mt n v. 1. Thuc tnh:
- M n v, Tn n v, S in thoi n v, a ch n v. - M nhn vin, Tn nhn vin, Gii tnh nhn vin, a ch nhn vin,
S in thoi ca nhn vin. - M d n, Tn d n - M khch hng, tn khch hng, a ch khch hng, S in thoi
ca khch hng. - M hng, Tn hng, S lng trong kho. - Lng t hng, Ngy t hng
2. Cc quy tc - Mt n v thu 1 hoc nhiu nhn vin - Mt n v c qun l bi 1 ngi qun l. l mt nhn vin. - Mt nhn vin ch lm vic cho 1 n v - Mt nhn vin c th lm vic cho 1 d n - Mi d n c th thu 1 hoc nhiu nhn vin
-
Chng 3. M HNH QUAN H - THC TH
PHN I C S D LIU 36
- Mt nhn vin c th phc v cho 1 hoc nhiu khch hng - Mt khch hng c th c 1 hoc nhiu nhn vin phc v - Mt khch hng c th t 1 hoc 1 vi hng ha (Khch hng no
cng t hng: 1 hoc nhiu mt hng) - Mi mt hng u c t nht mt khch hng t mua - Mt n t hng ch c 1 mt hng.
-
Chng 4. M HNH C S D LIU QUAN H
PHN I C S D LIU 37
4 Chng 4. M HNH C S D LIU QUAN H 4.1 Khi nim m hnh quan h M hnh CSDL quan h ln u tin c E.F.Codd v tip sau c cng
ty IBM gii thiu vo nm 1970. Ngy nay, hu ht cc t chc p dng CSDL quan h qun l d liu trong n v mnh.
M hnh c s d liu quan h l cch thc biu din d liu di dng bng hay cn gi l quan h, m hnh c xy dng da trn c s l thuyt i s quan h.
Cu trc d liu: d liu c t chc di dng quan h hay cn gi l bng. Thao tc d liu: s dng nhng php ton mnh (bng ngn ng SQL).
4.2 Cc thnh phn c bn ca m hnh 4.2.1 Mt s khi nim ca m hnh quan h M hnh quan h l cch thc biu din d liu di dng cc quan h (cc
bng). Mt quan h l mt bng d liu 2 chiu (ct v dng), m t mt thc th. Mi ct tng ng vi mt thuc tnh ca thc th. Mi dng cha cc gi tr d liu ca mt i tng c th thuc thc th
Mt s khi nim c bn: Lc quan h: R(A1,,An), trong R l tn quan h, Ai l cc thuc tnh,
mi Ai c min gi tr tng ng dom(Ai). Lc quan h c s dng m t mt quan h, bao gm: Tn quan h,
cc thuc tnh v bc ca quan h (s lng cc thuc tnh) 4.2.2 Quan h: Mt quan h r ca R(A1,...,An), k hiu r(R) l mt tp hp n-b r={ t1, ..., tm}
Trong : Mi ti =, vi dom(Ai). r(R) dom(A1) x .... x dom(An) r = { (vi1,vi2,...,vin) / i=1,...,m} v11 v12 V1n
v21 v22 v2n ...... vm1 vm2 vmn A1 A2 Am
Ta c Ai l cc thuc tnh v min gi tr ca Ai l: D1=dom(A1), D2=dom(A2),...., Dn=dom(An). Ch : - Cc tp (D1,D2,...,Dn) l tp cc min tr ca R
- n c gi l bc ca quan h r. - m c gi l lc lng ca r. - Quan h bc 1 l quan h nht nguyn, bc 2 l quan h nh nguyn, bc n
l quan h n nguyn.
-
Chng 4. M HNH C S D LIU QUAN H
PHN I C S D LIU 38
V d: Quan h EMPLOYEE trn tp cc thuc tnh R={SSN, Name, BDate, Address, Salary} l mt quan h 5 ngi.
SSN Name BDate Address Salary 001 Hong Minh 1960 H ni 425 t1 002 Nh Mai 1970 Hi Phng 390 t2 003 ng Hong Nam 1973 H ni 200 t3
t1(001, Hong Minh, 1960, H ni , 425) = t1(R) l mt b ca quan h EMPLOYEE
4.2.3 Cc tnh cht ca mt quan h - Gi tr a vo ct l n nht - Cc gi tr trong cng mt ct phi thuc cng mt min gi tr (cng kiu) - Th t dng ct tu . 4.2.4 Cc rng buc ton vn trn quan h Rng buc l nhng quy tc c p t ln trn d liu m bo tnh tin cy v
chnh xc ca d liu. Cc lut ton vn c thit k gi cho d liu ph hp v ng n.
C 4 kiu rng buc chnh: Rng buc min gi tr (Domain Constraints), Rng buc kho (Key Constraints), Rng buc thc th (Entity Integrity Constraints), v Rng buc ton vn tham chiu (Referential Integrity Constraints).
4.2.4.1 Rng buc min gi tr L mt hp cc kiu d liu v nhng gi tr gii hn m thuc tnh c th nhn
c. Thng thng vic xc nh min gi tr ca cc thuc tnh bao gm mt s cc yu cu sau: Tn thuc tnh, Kiu d liu, di d liu, khun dng ca d liu, cc gi tr gii hn cho php, ngha, c duy nht hay khng, c cho php gi tr rng hay khng.
4.2.4.2 Rng buc kho
4.2.4.2.1 Kha chnh (Primary Key) Kha chnh l mt (hoc mt tp) cc thuc tnh ng vai tr l ngun ca mt
ph thuc hm m ch ln lt l cc thuc tnh cn li. V d: R={SSN, Name, BDate, Address, Salary} SSN Name, BDate, Address, Salary
(Ngun) (ch) Ta thy, t SSN ta c th suy ra ton b cc thuc tnh ng. Vy SSN c gi
l kha chnh. Mt s gi khi chn kha:
- Kha khng nn l tp hp ca qu nhiu thuc tnh. Trong trng hp kha c nhiu thuc tnh, c th thm mt thuc tnh nhn to thay chng lm kha chnh cho quan h.
-
Chng 4. M HNH C S D LIU QUAN H
PHN I C S D LIU 39
- Nu kha chnh c cu thnh t mt s thuc tnh, th cc thnh phn nn trnh s dng thuc tnh c gi tr thay i theo thi gian: nh tn a danh, phn loi.
4.2.4.2.2 Kha d tuyn (Candidate Key) Trong tp hp cc thuc tnh ca mt bng, c th c nhiu thuc tnh c th
dng c lm kha chnh. Cc thuc tnh c gi l kha d tuyn. Kha d tuyn cn tha mn 2 tnh cht sau:
- Xc nh duy nht. - Khng d tha: Khi xa i bt k mt thuc tnh no ca kha u ph hy tnh
xc nh duy nht ca kha.
4.2.4.2.3 Kha ngoi (Foreign Key) Trong nhiu trng hp, kha chnh ca mt bng c a sang lm thuc
tnh bn bng khc, thuc tnh gi l kha ngoi. Kha ngoi ng vai tr th hin lin kt gia 2 bng.
4.2.4.2.4 Kha ph (Second Key) ng vai tr khi ta mun sp xp li d liu trong bng. V d: Ta c bng SINHVIEN (MaSV, Hoten, GioiTinh, Diem). Mun sp xp li danh sch sinhvin theo th t a, b, c.. ca H tn. Khi
thuc tnh Hoten c gi l kha ph.
4.2.4.3 Rng buc thc th Mi mt lc quan h R, chng ta phi xc nh kho chnh ca n. Kho
chnh trong lc quan h c gch chn pha di ca thuc tnh. Sau y l danh sch cc lc quan h trong c s d liu COMPANY sau
khi xc nh rng buc thc th:
Hnh 4.1. Lc c s d liu COMPANY
-
Chng 4. M HNH C S D LIU QUAN H
PHN I C S D LIU 40
Hnh 4.2. Mt th hin ca c s d liu COMPANY Lu : Rng buc kho v rng buc thc th c xc nh cho tng quan h.
-
Chng 4. M HNH C S D LIU QUAN H
PHN I C S D LIU 41
4.2.4.4 Rng buc ton vn tham chiu Mt b gi tr trong mt quan h tham chiu ti mt b gi tr tn ti trong
mt quan h khc. Rng buc ton vn tham chiu phi xc nh trn 2 quan h: quan h tham
chiu (referencing relation) v quan h c tham chiu (referenced relation). Rng buc ton vn tham chiu cn c gi l rng buc kho ngoi. V d: Thuc tnh DNo ca quan h EMPLOYEE tham chiu ti thuc tnh
DNumber ca quan h DEPARTMENT.
Hnh 4.3. Cc rng buc tham chiu trong c s d liu COMPANY
4.2.5 Cc php ton trn CSDL quan h 4.2.5.1 Php ton cp nht a. Php chn (INSERT): L php b xung thm mt b vo quan h r cho
trc.
R1 FK
PK R2 referencing relation
referenced relation
-
Chng 4. M HNH C S D LIU QUAN H
PHN I C S D LIU 42
+ Biu din: INSERT(r; A1=d1,A2=d2,...,An=dn) vi Ai l thuc tnh, di thuc dom(Ai), i=1,..,n.
Nu th t cc trng l c nh, c th biu din php chn di dng khng tng minh INSERT(r; d1,d2,..., dn).
+ V d : Chn thm mt b t4=(004, Hong Thanh Vn,1969, H ni, 235) vo quan h EMPLOYEE(SSN, Name, BDate, Address, Salary) ta c th vit:
INSERT(EMPLOYEE; SSN= 004, Name= Hong Thanh Vn, BDate=1969, Address= H ni, Salary=235).
+ Ch : Kt qu ca php chn c th gy ra mt s sai st l : - B mi c thm khng ph hp vi lc quan h cho trc - Mt s gi tr ca mt s thuc tnh nm ngoi min gi tr ca thuc tnh . - Gi tr kho ca b mi c th l gi tr c trong quan h ang lu tr. b. Php loi b (DEL): L php xo mt b ra khi mt quan h cho trc. - Biu din : DEL(r; A1=d1,A2=d2,...,An=dn) hay DEL((r, d1,d2,..., dn). Nu K=(E1,E2,...,Em) l kho th c th vit DEL(r; E1=e1,E2=e2,...,Em=em) - V d : + xo b t1 ra khi quan h r: DEL(EMPLOYEE; SSN= 004, Name= Hong Thanh Vn, BDate=1969,
Address= H ni, Salary=235). + Cn loi b mt nhn vin trong quan h EMPLOYEE m bit SSN l
004 th ch cn vit: DEL(EMPLOYEE; SSN= 004) c. Php cp nht (UPDATE): L php tnh dng sa i mt s gi tr no
ti mt s thuc tnh. + Biu din : UPD (r; A1=d1,A2=d2,...,An=dn; B1=b1,B2=b2,...,Bk=bk) Vi {B1,B2,...,Bk} l tp cc thuc tnh m ti cc gi tr ca b cn thay
i. {B1,B2,...,Bk} ng vi tp thuc tnh {A1,A2,...,An} Hay UPD(r; E1=e1,E2=e2,...,Em=e; B1=b1,B2=b2,...,Bk=bk) vi K=(E1,E2,...,Em)
l kho. + V d : thay i tn nhn vin c SSN= 003 trong quan h EMPLOYEE
thnh Nguyn Thanh Mai ta c th vit : CH (EMPLOYEE; SSN= 03; Name= Nguyn Thanh Mai)
4.2.5.2 Php ton i s quan h i s quan h gm mt tp cc php ton tc ng trn cc quan h v cho kt
qu l mt quan h. C 8 php ton c chia lm 2 nhm : Nhm cc php ton tp hp (hp,
giao, tr, tch cc), nhm cc php ton quan h ( chn, chiu, kt ni, chia).
-
Chng 4. M HNH C S D LIU QUAN H
PHN I C S D LIU 43
nh ngha : Hai quan h r v s c gi l kh hp nu chng c xc nh trn cng mt tp cc min gi tr (C ngha l chng c xc inh trn cng mt tp cc thuc tinh).
a. Php hp: - Php hp ca hai quan h kh hp r U s = {t / t thuc r hoc t thuc s} V d: - Php hp ca hai quan h l php gp cc b ca hai bng ca mt quan h
thnh mt bng v b i cc b trng. V d: EMPLOYEE1 EMPLOYEE2
EMPLOYEE1 EMPLOYEE2 = EMPLOYEE3
Hnh 4.4. Minh ha d liu php hp 2 quan h b. Php giao - Php giao ca hai quan h kh hp r s ={t / t thuc r v t thuc s} V d : - Php giao ca hai quan h l ly ra cc b cng c mt c hai bng ca mt
quan h. V d: EMPLOYEE1 EMPLOYEE2 = 002, Thin, P002 c. Php tr - Php tr ca hai quan h kh hp r - s = {t / t thuc r v t khng thuc s} V d :
r - s ( A, B , C ) a2 b2 c2
SSN Name DNo 001 Hong P001 002 Thin P002 003 Huy P001 004 Thin P003
r ( A, B , C ) s( A, B , C ) r U s ( A, B , C ) a1 b1 c1 a1 b1 c1 a1 b1 c1 a2 b2 c2 a1 b2 c2 a2 b2 c2 a1 b2 c2
SSN Name DNo 001 Hong P001 002 Thin P002
SSN Name DNo 003 Huy P001 002 Thin P002 004 Thin P003
r s ( A, B , C ) a1 b1 c1
-
Chng 4. M HNH C S D LIU QUAN H
PHN I C S D LIU 44
- Php tr ca hai quan h A v B l ly cc b c trong bng A m khng c trong bng B.
V d: EMPLOYEE1 - EMPLOYEE2 = 001, Hong, P001 EMPLOYEE2 - EMPLOYEE1 d. Php tch cc : - Cho quan h r(R), R={A1,A2,...,An} v quan h s(U), U={B1,B2,...,Bm} - Tch cc : r x s ={t=(a1,a2,...,an, b1,b2,...,bm) /a1,a2,...,an r v b1,b2,...,bm s} V d : - Ch : Bc k = bc r + bc s , lc lng k = lc lng r x lc lng s Php tch cc l php ton t nht trong cc php ton ca i s quan h. e. Php chn (ct ngang) - mt ngi - L php ton lc ra mt tp con cc b ca quan h cho theo biu thc
chn F. - Biu thc chn F l mt t hp logic cc ton hng, mi ton hng l mt
php so snh n gin gia hai thuc tnh hoc gia mt thuc tnh v mt gi tr hng.
- Php ton logic: AND (v), OR (hoc), NOT (ph nh). - Php ton so snh : , =, >=,
-
Chng 4. M HNH C S D LIU QUAN H
PHN I C S D LIU 45
Bc r = bc r'; lc lng ca r >= lc lng ca r' -Php chn trn quan h l ly ra cc dng ca bng quan h tho mn mt iu
kin no trn tp cc ct thuc tnh. V d : Chn trn quan h EMPLOYEE3 cc nhn vin thuc phng c
DNo=P001 f. Php chiu (ct dc ) - 1 ngi - L php ton loi b i mt s thuc tnh v ch gi li mt s thuc tnh c
ch ra ca mt quan h. - Cho quan h r(R), X l tp con ca tp thuc tnh R. Php chiu ca quan h r
trn X : X(r) = { t[X]/ thuc r}; t[X] l b t ly trn tp thuc tnh X. V d : Cho r(A,B) nh trn , X={A}; - Bc ca r > bc ca k. Lc lng ca r > lc lng ca k - Php chiu trn quan h l ly mt s ct (thuc tnh) no ca bng quan
h. V d : Ly danh sch m NV ca quan h NHANVIEN
SSN (EMPLOYEE3) = g. Php kt ni - 2 ngi 1. Php kt ni - Cho hai quan h r(R), R={A1,A2,...,An} v quan h s(U), U={B1,B2,...,Bm}. - Php xp cnh nhau: cho hai b d = (d1,d2,...,dn) v e = (e1,e2,...,em) php xp
cnh nhau ca d v e l : (d^e) = (d1,d2,...,dn, e1,e2,...,em) - Php kt ni gia quan h r c thuc tnh A v quan h s c thuc tnh B vi
mt php so snh l : r >< s = {a^b / a thuc r, b thuc s v a(A) b(B)}
SSN Name DNo 001 Hong P001 003 Huy P001
SSN 001 002 003 004
X(r) = u(A) a1 a2 a3
-
Chng 4. M HNH C S D LIU QUAN H
PHN I C S D LIU 46
V d : Xt quan h r v s trong v d php tch cc - Lc lng ca php kt ni k' < s) C=C
SSN Name DNo 001 Hong P001 002 Thin P002 003 Huy P001 004 Thin P003
DNo DName P001 T chc P002 Kinh doanh P003 Nhn s P004 Tip th
SSN Name DNo DName 001 Hong P001 T chc 002 Thin P002 Kinh doanh 003 Huy P001 T chc 004 Thin P003 Nhn s
k' = B>=C (k) r >< s = F(r x s) F
r (A , B ) ; s(C , D) ; r x s = k (A, B, C, D) a1 1 1 d1 (B>=C) a1 1 1 d1 a2 2 2 d2 a1 1 2 d2 a3 3 a2 2 2 d2 a3 3 1 d1
a3 3 2 d2
-
Chng 4. M HNH C S D LIU QUAN H
PHN I C S D LIU 47
h. Php chia - Cho r l mt quan h n- ngi, s l quan h m- ngi (n>m, s khc rng). Php
chia quan h r cho quan h s l tp tt c cc n-m b t sao cho vi mi b u thuc s th b (t^u) thuc r : r s = {t / vi mi u thuc s th (t^u) thuc r}
V d :
- V d vi hai quan h : PRODUCT v SUPPORT
Cung cp Mt hng =
Hnh 4.6. Minh ha d liu php chia 2 quan h
r(A, B, C, D) s(C, D) r s (A, B) a b c d c d a b a b e f e f e d b c e f e d c d e d e f a b d e
PNo PName h1 i h2 TV h3 t lnh
SNo PNo PName n1 h1 i n1 h2 TV n1 h3 T lnh n2 h3 T lnh n2 h1 i n3 h1 i n3 h2 TV n3 h3 T lnh n4 h1 i SNo
n1 n3
-
Chng 5. CHUYN T M HNH ER SANG M HNH QUAN H
PHN I C S D LIU 48
5 Chng 5. CHUYN T M HNH ER SANG M HNH QUAN H
Nh chng ta bit, m hnh ER l m hnh d liu mc khi nim. Sau qu trnh kho st thit k, ta thu c m hnh ny. T m hnh ny ta c th s dng cc quy tc chuyn sang m quan h thc hin qun l c s d liu trn my tnh.
Sau y l 8 bc c s dng chuyn t m hnh ER sang m hnh quan h:
Bc 1: Mi kiu thc th bnh thng (khng phi kiu thc th yu) trong m hnh ER tr thnh mt quan h. Quan h bao gm tt c cc thuc tnh n gin v thuc tnh t hp ca thc th. Thuc tnh nh danh ca thc th l kha chnh ca quan h. V d: Kiu thc th: EMPLOYEE, DEPARTMENT, PROJECT ==> quan h: EMPLOYEE, DEPARTMENT, PROJECT
Quan h: EMPLOYEE (Ssn, fname, minit, lname, bdate, sex, address, salary)
Quan h: DEPARTMENT ( Dnumber, Dname) Lu : Thuc tnh Locations khng c trong quan h v n l thuc tnh a tr.
Quan h: PROJECT (Pnumber, Pname, Plocation)
DEPARTMENT
Name
Number Locations
EMPLOYEE
Bdate
SSN Name
Sex Address
Salary
Fname Mint Lname
PROJECT
Number
Name Location
-
Chng 5. CHUYN T M HNH ER SANG M HNH QUAN H
PHN I C S D LIU 49
Bc 2: Cho mi thc th yu (Weak Entity) trong m hnh ER, to thnh mt quan h R, tt c thuc tnh n gin ca thc th yu tr thnh thuc tnh ca R. Thm vo , thuc tnh nh danh ca thc th ch tr thnh kha ngoi ca R.
Kho chnh ca R l s kt hp gia thuc tnh nh danh ca thc th ch v thuc tnh nh danh ca thc th yu.
V d:
DEPENDENT (Essn, Dependent_name, sex, bdate, relationship) Bc 3: Cho mi mi lin kt 1-1 trong m hnh ER:
- Xc nh mt quan h S_T. Kiu thc th c s tham gia ton b vo lin kt tr thnh quan h S, thc th cn li tr thnh quan h T.
- a kha chnh ca T sang lm kha ngoi ca S. - Thuc tnh ca mi quan h S_T tr thnh thuc tnh ca S.
V d:
DEPARTMENT(, MGRSSN, MGRSTARTDATE)
EMPLOYEE
SSN
dependents_of
DEPENDENT
Name RelationshipBirthDateSex
1
N
EMPLOYEE DEPARTMENTmanages
SSN
StartDate
1 1
-
Chng 5. CHUYN T M HNH ER SANG M HNH QUAN H
PHN I C S D LIU 50
Bc 4: Cho mi mi lin kt 1_N trong m hnh ER. Chuyn kha chnh ca quan h pha 1 sang lm kha ngoi ca quan h pha N.
V d 1:
EMPLOYEE(, DNO)
V d 2:
EMPLOYEE(, SuperSSN) Bc 5:Cho mi mi lin kt MN, sinh ra mt quan h mi R, chuyn kha
chnh ca hai quan h pha M v N thnh kha ngoi ca quan h R. Kha chnh ca R l s kt hp ca hai kha ngoi.
V d:
WORKS_ON( PNO, ESSN, Hours) Bc 6: Nu gp thuc tnh a tr:
- Chuyn thuc tnh a tr thnh quan h mi. - Thuc tnh nh danh (hoc 1 phn thuc tnh nh danh) ca thc th
chnh chuyn thnh kha ngoi ca quan h mi.
EMPLOYEE DEPARTMENTworks_for
SSNN 1
DNO
SupervisorEMPLOYEE
SSN1 N
EMPLOYEE PROJECTworks_on
SSN
Hours
M N
Number
-
Chng 5. CHUYN T M HNH ER SANG M HNH QUAN H
PHN I C S D LIU 51
- Kha chnh ca quan h mi l kha chnh ca bn thn quan h + kha ngoi do thc th chnh chuyn sang.
V d:
DEPT_LOCATIONS ( DNumber, DLocation)
Bc 7: Cho mi mi lin kt c bc (>2), to ra quan h mi (R), kha chnh ca cc
quan h tham gia lin kt c a lm kha ngoi ca quan h R v cc kha ngoi ny ng thi ng vai tr l kha chnh ca R.
V d:
SUPPLY (SName, ProjName, PartNo, Quantity) Bc 8: X l quan h gia lp cha/ lp con v chuyn bit ho hoc tng qut ho.
Cc la chn khc nhau cho vic chuyn i mt s lng cc lp con t cng mt chuyn bit (hoc tng qut ho thnh lp cha). Ngoi 7 bc trnh by trn trong bc 8 di y a ra mt la chn ph bin nht v cc iu kin m mi la chn c th s dng. S dng k hiu Attr(R) biu th cc thuc tnh ca R v PK(R) l kho chnh ca R.
Cch thc hin: Chuyn i mi chuyn bit ho c:
- m lp con { S1, S2 , , Sm} v lp cha C, thuc tnh ca C l { k, a1 , a2 , , an} v k l kho chnh thnh nhng lc quan h, chng ta c th s dng mt trong 4 la chn sau:
1. La chn 8A:
DEPARTMENT
Name
NumberLocations
SUPPLIER PROJECTSUPPLY
snamequantity projname
PART partno
-
Chng 5. CHUYN T M HNH ER SANG M HNH QUAN H
PHN I C S D LIU 52
- To quan h L cho lp cha C vi cc thuc tnh Attrs(L)={k, a1, , an} v kho chnh ca L l: PK(L)=k. - To quan h Li cho mi lp con tng ng Si vi cc thuc tnh Attrs(Li)={k} U {thuc tnh ca Si} v PK(Li)=k.
V d:
Chuyn chuyn bit ho trn thnh cc quan h sau: EMPLOYEE(SSN, FName, Minit, LName, BirthDate, Address, Salary) SECRETARY(SSN, TypingSpeed) TECHNICIAN(SSN, TGrade) ENGINEER(SSN, EngType) 2. La chn 8B:
To mt quan h Li cho mi lp con Si , vi cc thuc tnh Attr(Li) = {k, a1, a2,, am} U {thuc tnh ca Si} v PK(Li) = k.
V d:
EMPLOYEE
SECRETAR TECHNICIAN ENGINEER
FName Minit LName
Name Ss BirthDate Address
Typing Speed TGrade EngType
d
Salary
Job Type
EngineerSecretary
Technician
-
Chng 5. CHUYN T M HNH ER SANG M HNH QUAN H
PHN I C S D LIU 53
Chuyn chuyn bit ho trn thnh cc quan h sau: CAR(Vehicleld, LicensePlateNo, Price, MaxSpeed, NoOfPassengers) TRUCK(Vehicleld, LicensePlateNo, Price, NoOfAxles, Tonnage)
3. La chn 8C:
To mt quan h L vi cc thuc tnh Attr(L) = {k, a1 , a2 , , an } U {thuc tnh ca S1} U U {thuc tnh ca Sm} U {t} v PK(L) = k. Trong , t l thuc tnh phn bit ch ra bn ghi thuc v lp con no, v th min gi tr ca t ={1,2,,m}.
V d: i vi chuyn bit ho ca EMPLOYEE, ta ch to ra mt quan h L nh sau: EMPLOYEE(SSN, FName, Minit, LName, BirthDate, Address, Salary, TypingSpeed, Tgrad, EngType, JobType) 4. La chn 8D:
To mt quan h L vi cc thuc tnh Attr(L) = {k, a1 , a2 , , an } U {thuc tnh ca S1} U U {thuc tnh ca Sm} U {t1 , t2 , , tmj} v PK(L) = k. La chn ny cho chuyn bit ho ca cc lp con c np chng (nhng cng p dng cho mt chuyn bit tch ri), v vi mi ti, 1 i m, l thuc tnh BOOLEAN ch ra b theo lp con Si.
V d:
LicensePlateNOPriceVehicleld
NoOfPassengers
MaxSpeed
NoOfAxles
Tonnage
VEHICLE
CAR TRUCK
d
Thuc tnh phn bit
-
Chng 5. CHUYN T M HNH ER SANG M HNH QUAN H
PHN I C S D LIU 54
PART (ParNo, Description, Mflag, DrawingNo, ManufactureDate, BatchNo, PFlag, SupplierName, ListPrice)
PART
MANUFACTURED_PART PURCHASED_PART
PartNo Description
DrawingNo BatchNo ListPrice
o
ManufactureDateSupplierName
Thuc tnh phn bit
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 55
6 Chng 6. PH THUC HM V CHUN HO QUAN H
6.1 Mt s hng dn khi thit k c s d liu quan h Vic quan trng nht khi thit k c s d liu quan h l ta phi chn ra tp
cc lc quan h tt nht da trn mt s tiu ch no . V c c la chn tt, th chng ta cn c bit quan tm n mi rng buc gia cc d liu trong quan h, chnh l cc ph thuc hm.
hiu hn v cu hi ti sao phi thit k mt c s d liu tt, chng ta hy cng tm hiu v d sau:
RESULT(StNo, StName, SubNo,SubName, Credit, Mark) Quan h RESULT( Kt qu hc tp) c cc thuc tnh: StNo(M sinh vin),
StName(Tn sinh vin), SubNo(M mn hc), SubName(Tn mn hc), Credit (S n v hc trnh) v Mark (im thi ca sinh vin trong mn hc).
Sau y l minh ho d liu ca quan h RESULT:
StNo StName SubNo SubName Credit Mark
St01 Mai Sub04 CSDL 3 9
St01 Mai Sub01 TRR 5 10
St01 Mai Sub02 PPS 4 8
St02 Vn Sub04 CSDL 3 10
St02 Vn Sub01 TRR 5 9
St03 Thanh Sub07 Ting Anh 4 8
Hnh 6.1. Minh ha d liu ca quan h RESULT
Quan h trn thit k cha tt v: 1. D tha d liu (Redundancy): Thng tin v sinh vin v mn hc b lp
li nhiu ln. Nu sinh vin c m St01 thi 10 mn hc th thng tin v sinh vin ny b lp li 10 ln, tng t i vi mn hc c m Sub04, nu c 1000 sinh vin thi th thng tin v mn hc cng lp li 1000 ln
2. Khng nht qun (Inconsistency): L h qu ca d tha d liu. Gi s sa bn ghi th nht, tn sinh vin c cha thnh Nga th d liu ny li khng nht qun vi bn ghi th 2 v 3 (vn c tn l Mai).
3. D thng khi thm b (Insertion anomalies): Nu mun thm thng tin mt sinh vin mi nhp trng (cha c im mn hc no) vo quan h th khng c v kho chnh ca quan h trn gm 2 thuc tnh StNo v SubNo.
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 56
4. D thng khi xo b (Deletion anomalies): Gi s xo i bn ghi cui cng, th thng tin v mn hc c m mn hc l SubNo=Sub07 cng mt.
Nhn xt: Qua phn tch trn, ta thy chng ta nn tm cch tch quan h trn thnh cc quan h nh hn.
Trong chng ny chng ta s nghin cu v nhng khi nim v cc thut ton c th thit k c nhng lc quan h tt.
6.2 Ph thuc hm(Functional Dependencies) - Ph thuc hm (FDs) c s dng lm thc o nh gi mt
quan h tt. - FDs v kho c s dng nh ngha cc dng chun ca quan
h. - FDs l nhng rng buc d liu c suy ra t ngha v cc mi
lin quan gia cc thuc tnh. 6.2.1 nh ngha ph thuc hm Cho r(U), vi r l quan h v U l tp thuc tnh.
Cho A,B U, ph thuc hm X Y (c l X xc nh Y) c nh ngha l: t, t r nu t.X = t.X th t.Y = t.Y (C ngha l: Nu hai b c cng tr X th c cng tr Y) Ph thuc hm c suy ra t nhng quy tc d liu khi ta kho st yu cu ca
bi ton. V d:
T m s bo him x hi, ta c th suy ra c tn ca nhn vin (Ssn Ename).T m d n, ta c th suy ra tn v v tr ca d n (PNumber{PName, PLcation})
Hnh 6.2. Biu din FDs ca 2 lc quan h EMP_DEPT v EMP_PROJ
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 57
6.2.2 H tin Armstrong Cho lc quan h r(U), U l tp thuc tnh, F l tp cc ph thuc hm c
nh ngha trn quan h r. Ta c ph thuc hm A B c suy din logic t F nu quan h r trnU
tha cc ph thuc hm trong F th cng tha ph thuc hm A B. V d:
Tp ph thuc hm: F = { A B, B C} Ta c ph thuc hm A C l ph thuc hm c suy t F.
H tin Armstrong c s dng tm ra cc ph thuc hm suy din t F. H tin Armstrong bao gm:
1. Phn x: Nu Y X th X Y 2. Tng trng: Nu Z U v X Y th XZ YZ (K hiuXZ l XZ) 3. Bc cu: Nu X Y v Y Z th X Z 4. Gi bc cu: Nu X Y v WY Z th XW Z 5. Lut hp: Nu X Y v X Z th X YZ
6. Lut phn r: Nu X Y v Z Y th X Z Trong su lut trn th a4, a5, a6 suy c t a1, a2, a3. 6.2.3 Bao ng ca tp ph thuc hm - Ta gi f l mt ph thuc hm c suy dn t F, k hiu l F f nu tn ti mt chui ph thuc hm: f1, f2,., fn sao cho fn=f v mi fi l mt thnh vin ca F hay c suy dn t nhng ph thuc hm j=1,,i-1 trc nh vo lut dn. - Bao ng ca F: k hiu l F+ l tp tt c cc ph thuc hm c suy t F nh vo h tin Armstrong. F+ c nh ngha:
FF ++ == {{ XX YY || FF XX YY }} 6.2.4 Bao ng ca tp thuc tnh X trn F Bao ng ca tp thuc tnh X xc nh trn tp ph thuc hm F k hiu l X+
l tp hp tt c cc thuc tnh c th suy ra t X. K hiu:
XX ++ == {{ YY || FF XX YY }} X+ c th c tnh ton thng qua vic lp i lp li c quy tc 1, 2, 3 ca h
tin Armstrong. Thut ton xc nh bao ng ca tp thuc tnh X+:
X+ := X; repeat
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 58
oldX+ := X+; for (mi ph thuc hm Y Z trong F) do if Y X+ then X+ Z until (oldX+ = X+ );
V d: Cho tp ph thuc hm:
F = { SSNENAME, PNUMBER{PNAME, PLOCATION}, {SSN, PNUMBER} HOURS} Suy ra:
{SSN}+ = {SSN, ENAME}
{PNUMBER}+ = {PNUMBER, PNAME, PLOCATION}
{SSN, PNUMBER}+ = {SSN, PNUMBER, ENAME, PNAME, PLOCATION, HOURS}
Nh vy, tp thuc tnh {SSN, PNUMBER} l kho ca quan h. 6.2.5 Kho ca quan h
Cho quan h r(R), tp KR c gi l kha ca quan h r nu: K+=R v nu bt mt phn t khi K th bao ng ca n s khc R.
Nh th tp KR l kho ca quan h nu K+=R v ( K \A )+ R , AR. V d: ChoR = { A, B, C, D, E, G } v tp ph thuc hm:
F= { AB C , D EG , BE C , BC D , CG BD, ACD B, CE AG} Ta s thy cc tp thuc tnh: K1 = { A, B } , K2 = {B,E} , K3={C,G} , K4={C,E} , K5 = {C,D}, K6={B,C}
u l kha ca quan h. Nh vy, mt quan h c th c nhiu kha. Thut ton tm kho: tng: Bt u t tp U v Closure(U+,F) = U. Sau ta bt dn cc phn t ca U nhn c tp b nht m bao ng ca n vn bng U. Thut ton:
Input: Lc quan h r(U), tp ph thuc hm F. Output: Kho K Bc 1: Gn K = U Buc 2: Lp li cc bc sau: Loi phn t A khi K m Closure( K -A,F ) =U Nhn xt:
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 59
- Thut ton trn ch tm c mt kha. Nu cn tm nhiu kha, ta thay i trt t loi b cc phn t ca K.
- Chng ta c th ci thin tc thc hin thut ton trn bng cch: Trong bc 1 ta ch gn K=Left (l tp cc phn t c bn tay tri ca cc ph thuc hm)
V d: Cho lc quan h R = { A,B,C,D,E,G,H,I} v tp ph thuc hm: F= { AC B, BI ACD, ABC D , H I , ACE BCG , CG AE } Tm kho K? Ta c Left={A,B,C,H,E,G} Bc 1: K=Left={A,B,C,H,E,G} Bc 2: Tp thuc tnh A B C D E G H I Ghi ch ABCHEG x x x x x x x x BCHEG x x x x x x x x Loi A CHEG x x x x x x x x Loi B CHG x x x x x x x x Loi E
Nh vy, {C,H,G} l mt kho ca R. Nu mun tm tt c cc kho ca R, ta cn thay i trt t loi b phn t ca
kho K. 6.2.6 Tp ph thuc hm tng ng Hai tp ph thuc hm F v G l tng ng nu:
- Tt c cc ph thuc hm trong F c th c suy ra t G, v - Tt c cc ph thuc hm trong G c th suy ra t F.
V th, F v G l tng ng nu F+ = G+ Nu F v G l tng ng th ta ni F ph G hay G ph F. V th, thut ton sau y s kim tra s tng ng ca hai tp ph thuc
hm:
- F ph E: XY E, tnh X+ t F, sau kim tra xem Y X+ - E ph F: XY F, tnh X+ t E, sau kim tra xem YX+
6.2.7 Tp ph thuc hm ti thiu Tp ph thuc hm l ti thiu nu n tho mn cc iu kin sau: 1. Ch c mt thuc tnh nm pha bn tay tri ca tt c cc ph thuc
hm trong F.
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 60
2. Khng th b i bt k mt ph thuc hm no trong F m vn c c mt tp ph thuc hm tng ng vi F (tc l, khng c ph thuc hm d tha).
3. Khng th thay th bt k ph thuc hm XA no trong F bng ph thuc hm YA, vi YX m vn c c mt tp ph thuc hm tng ng vi F (tc l, khng c thuc tnh d tha trong ph thuc hm)
Nhn xt: - Tt c cc tp ph thuc hm u c ph thuc hm ti thiu tng
ng vi n. - C th c nhiu ph thuc hm ti thiu
Thut ton: Tm tp ph thuc hm ti thiu G ca F
1. t G:F. 2. Thay th tt c cc 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 trong X
nu ((G{X A}) {( X {B}) A} ) l tng ng vi G, th thay th X A bng (X {B}) A trong G. (Loi b thuc tnh d tha trong ph thuc hm)
4. Vi mi ph thuc hm X A trong G, nu (G{X A}) tng ng vi G, th loi b ph thuc hm X A ra khi G.(Loi b ph thuc hm d tha)
6.3 Cc dng chun ca quan h 6.3.1 nh ngha cc dng chun 6.3.1.1 Dng chun 1(First Normal Form)
a. nh ngha Mt quan h dng chun 1 nu cc gi tr ca tt c thuc tnh trong quan h
l nguyn t (tc l ch c 1 gi tr ti mt thi im). b. V d:
- Quan h sau y khng phi dng chun 1:
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 61
Hnh 6.3. D liu ca quan h DEPARTMENT vi phm 1NF - Chuyn quan h trn thnh dng chun 1 (bng cch xc nh tp
thuc tnh {DNumber, DLocation} l kho chnh), ta c:
Hnh 6.4. D tha d liu trong quan h dng chun 1 c. Nhn xt:
- Quan h dng chun 1 c tn ti s d tha d liu, trong quan h DEPARTMENT, nu nh mt phng c nhiu a im khc nhau th d liu ca 3 thuc tnh (DName, DNumber, DMgrSsn) b lp li nhiu ln.
- Chng ta c th tch quan h DEPARTMENT thnh 2 quan h:
Hnh 6.5. Quan h DEPARTMENT c tch thnh 2 quan h M t d liu ca 2 quan h ny: DEPARTMENT:
DName DNumber DMgrSsn Research 5 333445555 Administration 4 987654321 Headquarters 1 888665555
Vi phm dng chun 1
D tha
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 62
DEPT_LOCATIONS:
DNumber DLocation 5 Bellaire 5 Sugarland 5 Houston 4 Stafford 1 Houston
Hnh 6.6. Minh ha d liu ca DEPARTMENT v DEPT_LOCATIONS 6.3.1.2 Dng chun 2(Second Normal Form_2NF)
a. nh ngha: Mt quan h dng chun 2 nu:
- Quan h dng chun 1 - Tt c cc thuc tnh khng phi l kha ph thuc y vo
kha. - Ph thuc y : Ph thuc hm Y Z l ph thuc hm y
nu: AY, ( Y{A}) Z b. S m t:
R (A1, A2, A3, A4, A5, A6) c. V d: V d 1: Quan h EMP_PROJ khng phi dng chun 2 v tn ti 2 ph thuc hm FD2, FD3 l ph thuc hm b phn (tri vi ph thuc hm y )
Hnh 6.7. Lc quan h EMP_PROJ v cc ph thuc hm V d 2: Quan h sau y dng chun 2:
Vi phm chun 2
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 63
Hnh 6.8. Quan h EMP_DEPT dng chun 2
Hnh 6.9. Minh ho d liu ca quan h EMP_DEPT V d 3: Quan h sau y dng 2NF:
THESIS (StudentNo, Subject, Teacher)
StudentNo Subject Teacher SV01 1 Nguyn Vn Hiu SV02 2 Ng Lan Phng SV03 1 Nguyn Vn Hiu SV04 1 Nguyn Vn Hiu
Hnh 6.10. Minh ho d liu ca quan h THESIS
d. Nhn xt: - Quan h dng chun 2 c s d tha thng tin.
DNumber khng phi l thuc tnhkho Quan h khng vi phm 2NF
D tha d liu
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 64
- Dng chun 2 c th b vi phm khi quan h c kha gm hn mt thuc tnh.
6.3.1.3 Dng chun 3 (Third Normal Form) a. nh ngha
Mt quan h dng chun 3 nu: - Quan h dng chun 2 - V khng c cha cc ph thuc hm ph thuc bc cu vo
kho. - Ph thuc hm ph thuc bc cu: Ph thuc hm YZ l ph
thuc hm bc cu nu tn ti hai ph thuc hm:YX v X Z. b. Biu din bng s
R (A1, A2, A3, A4, A5, A6) c. V d: Quan h EMP_DEPT khng phi dng chun 3 v cn tn ti ph
thuc hm DNumberDName, DMgrSsn l ph thuc hm ph thuc bc cu vo kho.
Hnh 6.11. Quan h EMP_DEPT khng phi dng chun 3 Tch quan h trn thnh 2 quan h: EMPLOYEE v DEPARTMENT. 2 quan h sau u dng chun 3:
Hnh 6.12. Tch quan h EMP_DEPT thnh 2 quan h mi
Ph thuc hm bc cu
Ph thuc hm b phn
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 65
Hnh 6.13. M t d liu ca quan h EMPLOYEE v DEPARTMET
d. Nhn xt: - Trong mt c s d liu tt, cc quan h nn c chuyn v dng chun 3. - Tuy nhin, d liu vn c kh nng d tha khi quan h c hai tp kha d
tuyn gi ln nhau, hoc quan h c thuc tnh khng kha xc nh mt thuc tnh kha .
6.3.1.4 Dng chun Boyce _Codd(Boyce-Codd Normal Form) a. nh ngha
Quan h R dng chun BCNF khi tt c cc ph thuc hm X A trong R u phi c X l kho ca R.
b. V d: Quan h sau dng 3NF nhng khng phi BCNF.
A, B: thuc tnh kho C: khng phi l thuc tnh kho
FD1FD2
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 66
Hnh 6.14. Minh ho d liu ca quan h TEACH vi phm chun Boyce -Codd
nhn c quan h BCNF, ta c th tch quan h trn: Cch 1: R1(Student, Instructor) v R2(Student, Course) Cch 2: R1(Couse, Instructor} v R2(Course, Student) Cch 3: R1(Instructor, Course} v R2(Instructor, Student) Lu : Vic tch quan h nh trn s lm mt i ph thuc hm FD1. 6.3.2 Php phn r cc lc quan h 6.3.2.1 nh ngha Php phn r cc lc quan h R={A1, A2, . . . , An}l vic thay th lc
quan h R thnh cc lc con {R1, . . . , Rk}, trong RiR v R=R1 R2 Rk Vd: Cho quan h R vi cc ph thuc hm nh sau: R(MaSV, MaMH, TenMH, VHT, TenSV, Lop) Ta c th phn r thnh 3 lc R1(MaSV, TenSV, Lop) v
R2(MaMH,TenMH, VHT) v R3(MaSV, MaMH).
6.3.2.2 Php phn r khng mt mt thng tin
Cho R l mt lc quan h, php r =(R1,R2, . . .,Rn) v D l tp cc ph thuc d liu. Php phn r khng mt mt thng tin nu khi thc hin php ton kt ni t nhin cc quan h thnh phn R1, R2,,Rn ta vn nhn c kt qu ca quan h ban u.
V d v mt php phn r c mt mt thng tin: Cho quan h:
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 67
MaSV MaMH iem 1 A 3 2 A 5 3 A 6 4 B 6 5 C 9
Nu ta phn r quan h trn thnh 2 quan h: R1(MaSV, MaMH) v R2(MaMH, iem) nh sau:
R1: R2:
MaSV MaMH 1 A 2 A 3 A 4 B 5 C
Thc hin php kt ni t nhin 2 quan h R1 v R2: R1*R2=
MaSV MaMH iem 1 A 3 1 A 5 1 A 6 2 A 3 2 A 5 2 A 6 3 A 3 3 A 5 3 A 6 4 B 6 5 C 9
Nh vy, khi ni t nhin 2 bng, ta nhn c quan h khng ging quan h ban u Php phn r trn l mt mt thng tin.
Vn t ra i vi ngi thit k l phi tm ra nhng php phn r khng lm mt mt thng tin (chi tit s c trnh by phn sau). By gi chng ta s tm hiu mt thut ton kim tra mt php phn r c mt mt thng tin hay khng.
6.3.2.3 Thut ton kim tra php phn r khng mt mt thng tin Input:
- Lc quan h R={A1, A2, . . . , An} - Tp cc ph thuc hm F
- Php tch (R1, R2, . . . , Rk)
MaMH iem A 3 A 5 A 6 B 6 C 9
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 68
Output: Kt lun php tch khng mt mt thng tin. Cc bc ca thut ton: Bc 1:
- Thit lp mt bng vi n ct (tng ng vi n thuc tnh) v k dng (tng ng vi k quan h), trong ct th j ng vi thuc tnh Aj, dng th i ng vi lc Ri.
- Ti dng i v ct j, ta in k hiu aj nu thuc tinh AjRi.Ngc li ta in k hiu bij.
Bc 2: - Xt cc ph thuc hm trong F v p dng cho bng trn.
- Gi s ta c ph thuc hm XYF, xt cc dng c gi tr bng nhau trn thuc tnh X th lm bng cc gi tr ca chng trn Y. Ngc li lm bng chng bng k hiu bij. Tip tc p dng cc pth cho bng (k c vic lp li cc ph thuc hm p dng) cho ti khi khng cn p dng c na.
Bc 3: Xem xt bng kt qu. Nu xut hin mt dng cha ton gi tr a1, a2 ,,an
th kt lun php tch khng mt mt thng tin. Vi d: Cho quan h:
Hnh 6.15. Minh ha d liu ca quan h EMP_DEPT Tch quan h trn thnh 2 quan h:
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 69
Hnh 6.16. Quan h EMPLOYEE c phn r (tch) thnh 2 quan h
Tp ph thuc hm F: Kim tra php tch trn l khng mt mt thng tin: Bc 1:
EName SSN BDate Address DNumber DName DMgrSsn
EMPLOYEE a1 a2 a3 a4 a5 b16 b17
DEPARTMENT b21 b22 b23 b24 a5 a6 a7
Bc 2: Xt ph thuc hm DNumber DName, DMgrSsn. Ta nhn thy c gi tr a5 dng th 2, nn ta s lm bng gi tr a6, a7 cho dng th 1.
Bc 3: Tn ti mt dng cha gi tr a1, a2,..a7. Kt lun, php phn r trn khng mt mt thng tin.
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 70
EName SSN BDate Address DNumber DName DMgrSsn
EMPLOYEE a1 a2 a3 a4 a5 a6 a7
DEPARTMENT b21 b22 b23 b24 a5 a6 a7
Ghi ch: Sinh vin thc hin php ni t nhin 2 quan h EMPLOYEE v DEPARTMENT trn kim tra c bng quan h ban u EMP_DEPT
6.4 Chun ho quan h Chun ho quan h l vic phn r mt lc quan h thnh cc lc con
dng chun 3 hoc BCNF sao cho vn bo ton ph thuc v khng mt mt d liu. 6.4.1 Thut ton phn r lc quan h thnh cc lc quan
h con BCNF Input:
- Lc quan h R - Tp ph thuc hm F
Output: Php phn r ca R khng mt thng tin v mi lc quan h trong php
tch u dng BCNF i vi php chiu ca F trn lc . Cc bc ca thut ton:
- Ban u php tch ch bao gm R. - Nu S l mt lc thuc v S cha dng BCNF th chn ph
thuc hm X A tha trong S, trong X khng cha kha ca S v AX. {ph thuc hm vi phm nh ngha dng chun BCNF}. Thay th S trong bi S1 v S2 nh sau S1 = XA, S2 = S\A.
- Qu trnh trn tip tc cho n khi tt c cc lc quan h u dng BCNF
V d: Cho lc quan h R(CTHRSG). Trong :
- C: Course; T: Teacher; H: Hour; R: Room; S: Student; G:Group). - V tp cc ph thuc hm F:
o C T: Mi kho hc (course) c mt thy (teacher) duy nht. o HR C: Ti mt thi im (Hour) ti phng hc (room) ch c
mt kho hc duy nht.
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 71
o HT R: Ti mt thi im v mt gio vin ch mt phng duy nht
o CSG: Mt sinh vin hc mt course th ch mt lp duy nht. o HS R: Mt sinh vin, mt thi im nht nh ch trong
mt phng duy nht. Da vo thut ton tm khoKha ca R l HS. Yu cu: Tch lc R thnh cc lc con dng BCNF.
Hnh 6.17. Biu din qu trnh tch quan h R thnh cc quan h BCNF Nh vy, quan h R c tch thnh 4 quan h R1, R21, R221, R222 u
BCNF.
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 72
6.4.2 Thut ton phn r mt lc quan h thnh cc lc con 3NF.
Input: - Lc quan h R - Tp cc ph thuc hm F, khng lm mt tnh tng qut gi s l
ph ti thiu. Output: Php tch khng mt mt thng tin trn R thnh cc lc con dng chun
3 sao cho vn bo ton cc ph thuc hm. Cc bc ca thut ton:
- Bc 1: Loi b cc thuc tnh ca R nu thuc tnh khng lin quan n ph thuc hm no ca F.(khng c mt c hai v ca ph thuc hm).
- Bc 2: Nu c mt ph thuc hm ca F lin quan n tt c cc thuc tnh ca R th kt qu chnh l R.
- Bc 3: Ngoi ra, php tch a ra cc lc gm cc thuc tnh XA ng vi ph thuc hm XA F. Nu tn ti cc ph thuc hm XA1, XA2, ,XAn thuc F th thay th XAi (1
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 73
Ph thuc hm HRC vi phm 3NF, tch R22 thnh R221(H,R,C) v R222(H,S,R)
Nh vy, quan h R c tch thnh cc quan h sau: R1, R21, R221, R222 Lu :
- Kt qu ca php tch c th khc nhau ph thuc vo th t p dng cc ph thuc hm khi thc hin thut ton.
- Sinh vin t kim tra xem vic tch quan h nh trn c mt mt thng tin khng.
Bi tp: 1. Cho mt quan h R ={A, B, C, D, E, F, G, H, I, J} v tp ph thuc hm F = { A,B C A D, E B F F G, H D I, J } Yu cu: - Tm {A}+ ={D, E, I ,J } - Tm kha ca quan h R. - Tch quan h R thnh BCNF. - Kim tra xem vic tch trn c mt mt thng tin khng? 2. Lp li yu cu bi 1 vi tp ph thuc hm sau: G= {A,B C B, D E, F A, D G, H A I HJ} 3. Cho mt quan h R ={CourseNo, SecNo, OfferingDept, Credit_Hours,
CourseLevel, InstructorSSN, Semester, Year, Days_Hours, RoomNo, NoOfStudents} v tp ph thuc hm:
F ={ CourseNo OfferingDept, Credit_Hours, CourseLevel; CourseNo, SecNo, Semester, Year Days_Hours, RoomNo,
NoOfStudents, InstructorSSN; RoomNo, Days_Hours, Semester, Year InstructorSSN, CourseNo, SecNo }
Yu cu:
-
Chng 6. PH THUC HM V CHUN HO QUAN H
PHN I C S D LIU 74
- Tm kha ca quan h R. - Quan h trn thuc dng chun my? - Tch quan h v dng 3NF. - Kim tra xem vic tch trn c mt mt thng tin khng?
-
TI LIU THAM KHO
PHN I C S D LIU 75
7 Chng 7. THIT K C S D LIU VT L (Tham kho)
Thit k c s d liu vt l l qu trnh chuyn cc c t d liu lgic thnh cc c t k thut lu tr d liu. Gm 2 ni dung sau:
La chn cng ngh lu tr (H iu hnh, HQTCSDL, cc cng c truy nhp d liu).
Chuyn cc quan h ca m hnh logic thnh cc thit k vt l. Trong chng ny s trnh by nhng phn sau: Thit k cc trng, bn ghi vt l Thit k file vt l Thit k c s d liu vt l
7.1 Ni dung thit k file vt l v c s d liu vt l 7.1.1 Qu trnh thit k Trong qu trnh thit k h thng vt l, vn t ra hng u l phi lm th
no ti thiu ha khng gian lu tr v thi gian ngi dng tng tc vi h thng. Tuy nhin, do dung lng cc thit b nh tng nhanh, nn ngi ta tp trung
nhiu vo vic x l cc file v d liu sao cho hiu qu hn i vi ngi s dng. Cc thng tin cn thit thit k file vt l: Cc quan h c chun ha, k c c lng v s lng d liu cn lu
tr nh ngha chi tit cc thuc tnh Cc m t cho bit u v khi no d liu c s dng (