You are on page 1of 223

TS.

L VN PHNG

C S D LIU QUAN H
V CNG NGH
PHN TCH - THIT K

NH XUT BN THNG TIN V TRUYN THNG

KS 02 HM 10

Li ni u
C s d liu (CSDL) l mt trong nhng mn hc chuyn ngnh
quan trng ca chuyn ngnh cng ngh thng tin. Mc ch ca cun
sch nhm gip bn c nm bt nhanh nhng vn ct li nht v mt
l thuyt CSDL quan h, trn c s vn dng vo thc t trong vic
thit k c s d liu logic cng nh thit k h thng thng tin ni
chung. Do , ni dung ti liu khng i su vo vic chng minh cc
nh l m ch trng n vic lm sng t ngha thc t ca cc cng
thc t hng dn hc vin cch tip cn t duy logic, nm vng k
thut tnh ton cng nh cc bc trin khai gii quyt cc bi ton thc
t trn kha cnh cng ngh.
Vi mc ch cung cp nhng kin thc c bn v c s d liu quan
h cho sinh vin, hc vin ngnh cng ngh thng tin v cc ngnh k
thut khc, Nh xut bn Thng tin v Truyn thng trn trng gii thiu
cun sch C s d liu quan h v cng ngh phn tch - thit k do
TS. L Vn Phng, Vin Cng ngh thng tin, Vin Khoa hc v Cng
ngh Vit Nam bin son.
Ni dung sch c bin son sau nhiu nm th nghim ging dy
ti cc trng i hc, cao ng v Trung tm o to tin hc ti nhiu
tnh thnh trong c nc. Cun sch gm 3 chng:
Chng 1 - Tng quan v c s d liu: trch lc nhng khi nim c
bn nht v d liu, c s d liu, h thng x l d liu, h qun tr
CSDL, cc phng tin din t d liu, t in d liu, cng nh nhng
khi nim ct li v m hnh d liu s c s dng trong qu trnh phn
tch, thit k CSDL.
Chng 2 - M hnh c s d liu quan h: trnh by nhng khi
nim c bn nht v m hnh d liu quan h ca E.F.Codd, chng c
dng nhiu trong vic thit k cc h qun tr CSDL hin nay. Chng
ny cng gii thiu nhng thut ton quan trng trong CSDL nh cc

thut ton tnh bao ng v kho ti tiu trn 1 quan h cng nh trn
1 s quan h Ni dung chng cn c bit quan tm n cc dng
chun v cc thut ton c lin quan. Vic chun ho cc quan h cng
nh cc s quan h ng mt vai tr quan trng trong vic thit k cc
h qun tr c s d liu trn m hnh d liu ca E.F.Codd. Bn cnh
, chng 2 cn tp trung hng dn p dng cc khi nim v phng
php tin tin chun ho cc quan h n 3NF (3NF) trong cc h
qun tr CSDL hin hu.
Chng 3 - Quy trnh phn tch thit k CSDL: c trnh by mt
cch h thng ton b quy trnh phn tch, thit k mt CSDL, bao gm
cc giai on ch cht nh phn tch yu cu d liu, pht trin m hnh
phn tch d liu, thit k CSDL mc logic v mc vt l, thit k an ton
bo mt cho CSDL. Qu trnh phn tch, thit k nhm xy dng v qun
tr CSDL c trnh by y tp trung vo CSDL quan h, mt loi
CSDL c xy dng da trn m hnh d liu quan h c l thuyt ton
hc vng chc nht. Ngoi ra, y cng l loi CSDL ph bin nht, c
s dng hu ht trong cc h qun tr CSDL thng dng trn th gii.
Cc ni dung c gi gn trong 3 chng trn l nhng kin thc
thc hnh cn thit cho bt c bn c no yu v say m vi cng ngh
thng tin.
Hy vng cun sch s thc s hu ch i vi cc k s, k thut
vin, cn b ging dy v sinh vin ngnh Cng ngh Thng tin, khi thc
hin cc ti, n, cc d n, cng nh trong ging dy, hc tp v
vn hnh cc h thng thng tin. Ngoi ra, cun sch cng l ti liu
tham kho b ch cho bn c quan tm ti lnh vc ny.
Nh xut bn xin trn trng gii thiu cng bn c v rt mong
nhn c kin ng gp ca qu v. Mi kin ng gp xin gi v
Nh xut bn Thng tin v Truyn thng - 18 Nguyn Du, H Ni hoc
gi trc tip cho tc gi theo a ch: lvphung@ioit.ac.vn.
Trn trng cm n./.
nxb thng tin v truyn thng

Chng 1: Tng quan v c s d liu

T vit tt
CSDL

C s d liu

DBMS

H qun tr c s d liu

E_R

Thc th - mi quan h

KT_XH

Kinh t - X hi

NSD

Ngi s dng

PC

My tnh c nhn

PT_TK

Phn tch v thit k

RBTV

Rng buc ton vn

C s d liu quan h v cng ngh phn tch - thit k

Chng 1: Tng quan v c s d liu

Chng 1

tng quan v c s d liu


1.1. cc Khi nim c bn
1.1.1. D liu
Trong my tnh, thut ng d liu c xem nh l cc c tnh
c bit n m c th ghi li v lu tr trn cc thit b ghi nh ca
my tnh. D liu l nhng m t v s vt, con ngi v s kin trong
th gii thc.
D liu bao gm s, k t, vn bn, hnh nh, ha, m thanh,
on phim, c mt gi tr no i vi ngi s dng (NSD)
chng v c lu tr, x l trong my tnh.
V d:
- D liu v khch: tn, a ch, in thoi, th tn dng
- D liu v xe t ca khch: hng xe, i xe, nm sn xut
- D liu v nht k sa cha: ngy phc v, tn th sa cha, s
tin thanh ton
Trong hot ng kinh t x hi (KT_XH) ca con ngi, ngi ta
thng chia ra hai loi d liu l loi d liu phn nh cu trc ni b
ca c quan (nhn s, nh xng, thit b, d liu t bin ng) v
loi d liu phn nh hot ng ca t chc (sn xut, mua bn, giao
dch,). Trong doanh nghip, khng k con ngi v thit b, d liu
cng vi x l l 2 thnh phn c bn ca h thng: d liu thng
dng ghi nhn thc trng.
D liu c th c chia thnh nhiu cp theo kiu cy phn cp
lu tr d liu (Data storage hierarchy)

C s d liu quan h v cng ngh phn tch - thit k


Database - c s d liu
File - tp
Record - bn ghi
Field- trng
Character or byte - K t hoc byte
bit

Bit (binary digit) l mt s c 1 k t s (digit), c biu din


bng s 0/1. y l n v lu tr nh nht trong my tnh.
Mt k t (character) hoc byte l mt t hp 8 bit lin tc nhau
K t gm c:
- k t ch ci A - Z, a - z
- k t s 0 - 9
- k t c bit (+, %, $,...)
Cu trc bit nh nht cho 1 k t l 0000 0000
Cu trc bit ln nht cho 1 k t l 1111 1111
Nh vy c 256 byte biu din 28 = 256 k t khc nhau
C 2 h thng m chuyn i m 8 bit thnh cc k t:
- Extended binary coded decimal interchange code (dng cho
my mainframe v my IBM ln)
- American standard code for information interchange (dng cho
my mini v my vi tnh)
Vic chuyn i d liu dng m ny sang dng m kia nh vo
nhng trnh tin ch
Sc cha b nh chnh v b nh ph c tnh bng:
- Kilobyte (K)

1K = 1024 byte

- Megabyte (M)

1M = 1024K

- Gigabyte (G)

1G = 1024M

- Ttabyte (T)

1T = 1024G

Chng 1: Tng quan v c s d liu

Phn ln my PC (personal computer) thi k u u da trn


chip 8086/8088 l loi c dung lng 16 bit.
PC mi hin nay dng chip c dung lng ln nh 32, 64 bit.
Field (Trng) l tp cc byte c lin quan
V d: tn ngi c th c cu to t cc trng tn, tn lt, h
Trng l n v d liu nh nht c ngha i vi NSD
Trng c th ch cha 1 k t F (female)/M (male)
Trng s c th c du chm (.) v c du (m/dng). Mt s
phn mm khng c php s dng s m v du chm thp phn.
Trng phi c khai bo trc
Record (bn ghi) l tp cc trng c lin h vi nhau
Bn ghi v hp ng thu nhn cng c th c trng tn, a ch,
s gi lm vic trong tun. Trng trong bn ghi c phn loi (type)
xc nh di ti a (size). Nh vy bn ghi xc nh c s byte
tng cng c cha trong mt vng lin tc trong b nh.
File (tp) l tp cc bn ghi cha cc d liu c quan h vi nhau
c lu vo thit b nh th cp (a mm, a cng, bng caset).
Cc phng php ch yu t chc lu tr v c cc tp trn
a hoc cc thit b lu tr gm:
- T chc tp kiu tun t: cc bn ghi c lu theo th t
- T chc tp truy xut ngu nhin (trc tip): lu cc tp tin theo
th t ngu nhin.
- T chc tp theo ch mc: t chc mt trng kho trong mi
bn ghi nn c th truy xut bn ghi ny theo kiu tun t hoc
ngu nhin.
Php bm (hashing) l mt k thut c s dng tnh a ch
ca mt bn ghi trn thit b vt l (a t). Cn tp c to ra theo
k thut ny c gi l tp bm (hash file).

10

C s d liu quan h v cng ngh phn tch - thit k

Database (c s d liu) l h thng tch hp ca cc tp, c


thit k nhm mc ch lm gim thiu s trng lp cc d liu. Ngoi
ra chng cn c mt cu trc c th t kt ni cc tp li vi nhau.
Theo ngha ph thng, CSDL l tp hp d liu v mt n v t chc
no , lu trn my, c cch t chc qun l theo mt kiu m hnh
no . Trn thc t, ngi ta a ra mt nh ngha CSDL y
hn di y.
1.1.2. C s d liu
nh ngha: CSDL c xc nh nh l mt b su tp cc d
liu c lin quan logic vi nhau; n c t chc sp xp theo mt
cch no v c cc h ng dng ca mt n v/c quan c th
no s dng.
V d: mt CSDL ca ca hng sa cha xe t c th cha cc
d liu v khch hng (bao gm cc khon mc d liu nh tn khch
hng, a ch, s in thoi, th tn dng), cc d liu v xe t ca
khch hng (bao gm cc khon d liu nh hng xe, i xe, nm sn
xut) v nht k cc ln sa cha cho mi chic xe (nh ngy pht
sinh phc v, tn th sa, loi hnh sa cha v s tin thanh ton).
CSDL thng c s dng vi nhng ng dng ci t ring l
trong my tnh c nhn, hoc di dng mt CSDL tp trung trn
mng LAN, hoc di dng mt CSDL phn tn trn mng WAN.
Cc thnh phn ca mi trng s dng CSDL bao gm:
- Tp v CSDL,
- Phn cng v h iu hnh,
- Cu trc d liu v phng php truy xut d liu.
1.1.3. H thng x l d liu
T khi c my tnh, ngi ta tm cch lu tr d liu v x l
chng, mt trong nhng h thng x l d liu u tin l cc h
thng x l tp. Mc d ngy nay nhng h thng x l tp ny khng

Chng 1: Tng quan v c s d liu

11

cn c s dng rng ri nhng n vn tn ti trong mt s lnh vc


hp. c th thy c nhng u nhc im ca h thng x l tp
cng nh c th hiu su hn ti sao ngi ta li mong mun xy dng
nhng CSDL vi cc u im ca cch tip cn da trn h thng x
l tp, chng ta s xem xt mt cch khi qut cc khi nim quan
trng.
a. Cc h thng x l tp truyn thng
Khi cha c CSDL, cc my tnh ca chng ta phi x l d liu
thng qua cc h thng x l tp truyn thng. Ngy nay, khi kh
nng ca cc my tnh tng ln mt cch ng k, c th gii quyt
cc bi ton ln, i hi x l nhng khi d liu s, phc tp th
cc h thng x l tp truyn thng t ra khng cn thch hp v dn
dn n c thay th bi cc h thng x l d liu da trn CSDL.
Tuy nhin s hiu bit v cc h thng x l tp vn l cn thit bi
hai l do c bn sau:
- Ngy nay cc h thng x l tp vn cn c s dng trong
mt s h thng, c bit l cc h thng phc v sao lu CSDL.
- Hiu c cc vn cng nh cc gii hn ca cc h thng x
l tp s gip chng ta thit k cc CSDL tt hn.
V d v mt ng dng da trn h thng x l tp:
Mt cng ty chuyn sn xut cc dng bng g tin hnh
tin hc ho cc nghip v ca mnh trn my tnh. Thot u, mi mt
ng dng trong cng ty u c xy dng theo cch tip cn x l tp
truyn thng. Vi cch tip cn ny, cc h thng thng tin u tp
trung vo vic x l d liu ca mi mt phng ban n l, trong
cc h thng c gng p ng cc yu cu ca tng nhm ngi c
th. Do vy, nhn ton b vo h thng thng tin ca ton cng ty th
khng c mt m hnh cng nh k hoch hay s tng th no
c th hoch nh c cho vic pht trin tip theo ca cc ng dng.
H thng ng dng da trn cch tip cn x l tp ny c minh ha
nh trong hnh 1.1, l cc h thng to lp n hng (order Filling

12

C s d liu quan h v cng ngh phn tch - thit k

System), h thng x l ho n (Invoice System) v h thng qun l


lng cho nhn vin (Payroll System). Nhn vo hnh v chng ta thy
rng, cc tp d liu c kt ni trc tip vi mi chng trnh ng
dng, mi tp l mt tp cc bn ghi lin quan. V d, vi h thng
order Filling System c 3 tp: Khch hng (Customer), Nh cung cp
(Inventory Master) v Ho n (order). Chng ta nhn thy rng c
th c nhng tp c lu lp li v s dng bi cc ng dng khc
nhau (nh Customer), y chnh l mt trong nhng nhc im ca
cc h thng da trn vic x l tp.

Hnh 1.1. Mt h thng x l tp truyn thng


Cc nhc im ca cc h thng x l tp:
- Tnh ph thuc gia chng trnh v d liu: Cc m t v tp
d liu c lu trong mi mt chng trnh ng dng s dng tp .
Nh v d trn, chng trnh Program A truy nhp c hai tp Inventory
Master v Customer, do vy chng trnh ny s cha cc m t chi
tit ca c 2 tp ny. iu ny dn n, khi c bt c mt thay i no
n cu trc tp s i hi cng phi c cc thay i tng ng n

Chng 1: Tng quan v c s d liu

13

cc m t trong cc chng trnh ng dng s dng tp . Ngoi ra,


nh trong hnh 1.1, nu tp Customer b sa i th c hai h thng
order System v Invoice system u b nh hng.
- Lu tr trng lp d liu: Trong hnh 1.1 chng ta nhn thy
rng, h thng Order Filling c cha mt tp Inventory Master, trong
khi h thng Invoice cng cha mt tp l Inventory Pricing. R
rng gia hai tp ny s c s lu tr trng lp d liu, v d cc
thng tin v m t sn phm, gi mi sn phm cng nh s lng
ang c trong kho. Vic lu tr d tha d liu ny gy ra rt nhiu
bt cp v i hi khng gian lu tr ln, n rt d vi phm tnh ton
vn ca d liu.
- Vic chia s d liu b hn ch: Trong cch tip cn x l tp
ny, mi mt ng dng c cc tp d liu ring ca n v do vy gia
nhng ngi s dng, h c t c hi c th chia s d liu cho
nhau nu khng s dng chung mt phn h ng dng. Nh trong hnh
1.1, cc nhn vin trong phng k ton (Accounting Department) ch
c th truy nhp c nhng tp trong ng dng ca cc phng x l
n hng (Order Department) hay phng qun l tin lng (Payroll
Department). Do vy, khi ngi lnh o mun to ra nhng bo co
tng hp lin phng th v cng kh khn bi d liu c lu ring l
cng nh c th khng thng nht gia cc phng.
- Tn thi gian xy dng: Vi mi mt ng dng mi, ngi pht
trin chng trnh phi bt u li t u vi vic xy dng cc tp,
m t chng cng nh xy dng cc m-un chng trnh truy nhp
ti cc tp . Qu trnh ny tn kh nhiu thi gian mc d n lun
lp li gia cc h thng.
- Chi ph cho bo tr chng trnh ln: Trn thc t, c n 80%
chi ph c dnh cho giai on bo tr chng trnh i vi nhng
ng dng da trn cc h thng x l tp truyn thng ny.
Tuy nhin chng ta cng cn phi lu rng, nhng nhc im
i vi cch tip cn da trn cc h thng x l tp truyn thng ny

14

C s d liu quan h v cng ngh phn tch - thit k

cng c th gp phi trong cch tip cn da trn CSDL (s c trnh


by di y), nu nh CSDL khng c thit k tt, cng nh chng
c xy dng mt cch ring r, khng thng nht.
b. Cch tip cn CSDL
Cch tip cn CSDL nhn mnh n tnh chia s v tch hp ca
d liu trong ton b hot ng ca mt t chc. Theo cch tip cn
ny, d liu c lu tr c t chc, tp trung di dng mt CSDL v
gia cc d liu c s lin kt logic vi nhau.
Cc u im m cch tip cn da trn CSDL mang li so vi
cch tip cn da trn cc h thng x l tp truyn thng:
- Ti thiu ho d tha d liu: Mc ch thit k trong cch tip
cn CSDL chnh l c gng tch hp cc tp d liu ring r (v cng
l d tha) trong m hnh x l tp trc y vo mt cu trc logic
duy nht. Mi mt s kin c th s c lu tr ti mt v tr quy nh
trong CSDL. Cng cn lu rng, cch tip cn CSDL c th khng
loi b hon ton vn d tha d liu, nhng n cho php ngi
thit k kim sot c vn ny. V d, i vi mi n hng trong
bng ORDER c cha mt trng Customer_id biu din mi lin
kt gia nng cao hiu qu truy vn ca CSDL, chng ta c th chp
nhn hnh thc lu tr d tha d liu.
- Tnh c lp chng trnh - d liu: Tnh c lp vi d liu
c th hin s tch bit r rng gia chng trnh ng dng v cc
m t d liu (siu d liu), do vy n cho php d liu ca mt doanh
nghip c php sa i (trong mt gii hn no ) m khng phi
thay i li chng trnh thao tc trn cc d liu .
- Nng cao tnh nht qun d liu: Vi vic loi b tnh d tha
d liu, cch tip cn CSDL gim bt c ng k tnh khng nht
qun ca d liu. V d, nu a ch ca khch hng c lu tr duy
nht, khi , nu khch hng thay i a ch, chng ta ch vic lm
mt ng tc l n gin sa i li a ch ca khch hng v tr duy
nht , cc truy vn lin quan n gi tr ny s c t ng nhn

Chng 1: Tng quan v c s d liu

15

gi tr mi khi c thc hin. Nh vy, vn v cp nht, sa i d


liu rt n gin v nht qun. Mt im quan trng hn, cch tip cn
CSDL s lm gim ng k khng gian nh so vi phng php lu tr
d liu trong cc h thng x l tp truyn thng.
- Nng cao tnh chia s d liu: CSDL c thit k nhm mc
ch chia s d liu. Mi ngi s dng hp php c gn nhng
quyn s dng CSDL khc nhau, i vi mi ngi (hoc nhm ngi)
s dng s c cung cp nhng khung nhn s dng khc nhau, do
vy h c th ch ng trong vic chia s d liu thng qua cc quyn
kim sot d liu.
- Nng cao tnh sn phm ca ng dng: Mt li th ng k ca
cch tip cn CSDL l gim ng k chi ph v thi gian cho vic
pht trin nhng ng dng nghip v.
- p t d dng cc tiu chun: Vi cch tip cn CSDL, cc tiu
chun nh quy c t tn, s dng quy trnh thng nht trong vic
truy nhp, cp nht v bo v d liu d dng c thc hin. Cc chc
nng qun tr CSDL thng cung cp mt lot cc cng c nhm m
bo nhng tiu chun ny lun phi c tho mn. Tnh cht ny lm
cho vic bo tr v trao i d liu tr nn d dng v thun li hn.
- Nng cao cht lng d liu: Vi cch tip cn CSDL, ngi
thit k c th xy dng cc rng buc ton vn nhm m bo d liu
khi c a vo CSDL phi tho mn mt s quy tc no . Hoc
i vi nhng CSDL ln nh kho d liu, th thng thng d liu
c lm sch trc khi c a vo kho d liu.
- Nng cao kh nng truy xut d liu: Vi cc CSDL quan h,
ngi s dng khng cn bit k nng v lp trnh cng c th d dng
tm kim v hin th d liu thng qua mt ngn ng hi p d liu
rt thn thin c tiu chun ho.
- Gim chi ph bo tr chng trnh: Tnh cht ny l h qu ca
tnh c lp chng trnh - d liu. Tnh c lp chng trnh - d liu
cho php xy dng chng trnh tch bit khi d liu mc nht

16

C s d liu quan h v cng ngh phn tch - thit k

nh, do vy khi c s sa i, chng ta ch vic sa i mt s


m-un thao tc trn d liu m khng nht thit phi sa i li ton
b chng trnh. Chnh iu ny dn n vic gim bt c chi ph
bo tr chng trnh.
Trn y l nhng u im m cch tip cn CSDL mang li. Mt
CSDL thng c tch hp vo trong mt h qun tr CSDL ( l
mt chng trnh my tnh hay chnh xc hn l mt b cc chng
trnh my tnh c xy dng qun l mt CSDL).
1.1.4. S khc bit gia d liu v thng tin
Hai thut ng d liu v thng tin lin quan cht ch vi nhau,
trn thc t chng thng c s dng thay i cho nhau. Tuy nhin,
gia chng cng c s khc bit v chng ta nn phn bit gia d liu
v thng tin.
Chng ta quan nim thng tin l nhng g c to nn nhm
gim s khng xc nh. Thng tin thng c chit xut t d liu.
Ni cch khc chng ta c th hiu thng tin nh l d liu c x
l theo cch m chng c th lm tng hm lng tri thc cho NSD n.
V d:
Ho n N0- 852 ca nh cung cp A cn phi thanh ton chm
nht l vo ngy 01/10/2005 l mt thng tin.
th hin thng tin ngi ta s dng d liu. Thng tin c th
hin qua cc gi tr ca d liu. Vi v d trn, thng tin ton b c
th hin qua 3 loi d liu: STT ho n, tn nh cung cp, ngy gii
hn thanh ton.
C d liu nhng cha th hin c thng tin.
V d:
Mai Linh

240685

ng Lan

060980

Minh Phng

211279

17

Chng 1: Tng quan v c s d liu

chuyn d liu thnh thng tin, cn tm lc chng li hoc


x l v trnh by chng di cc dng trc quan hn nh bng, th
hay biu (t danh sch trong mt ng cnh, b sung thm mt vi
d liu v cu trc ca cc d liu hoc tm lc v biu din di
dng trc quan - dng thng tin th):
Bng 1.1. Danh sch lp Tin c bn
Tn

Ngy thng nm sinh

Mai Linh

240685

ng Lan

060980

Minh Phng

211279

M sinh vin

C mt s cch din t d liu nh bng th hnh bnh hoc


th hnh ct. th hnh bnh biu din c cu gii tnh. th hnh
ct biu din tng trng GDP bnh qun u ngi,...

Hnh 1.2. Cc cch din t d liu


1.1.5. Siu d liu
D liu ch tr nn hu ch khi chng c t trong mt ng
cnh no . C ch chnh cung cp ng cnh cho d liu chnh l
siu d liu, do vy chng ta c th hiu siu d liu l d liu m t
cc tnh cht hoc c trng ca d liu. Cc tnh cht ny c th l
cc d liu v nh ngha, v cu trc d liu, v cc lut hay cc
rng buc.
Siu d liu cho php ngi thit k CSDL v NSD bit c d liu
g, tn ti u, cc khon mc d liu khc nhau im g. Vic

18

C s d liu quan h v cng ngh phn tch - thit k

qun l siu d liu cng quan trng nh vic qun l d liu lin
quan vi n, bi d liu nu khng c phn bit r rng s gy ra
nhm ln, sai st v khng th din gii ni. Trong CSDL, siu d liu
thng c lu tr trong mt vng quy nh m chng ta thng gi
l t in d liu (Data Dictionary).
D liu to nn ni dung ca CSDL, tuy nhin n khng quyt
nh tnh hiu qu ca CSDL. Bi tnh hiu qu c th hin qua vic
thit k v khai thc CSDL.
Bng 1.2. V d v mt siu d liu cho bng kt qu hc tp
Data item

Value
Length

Name

Type

Description
Min

max

Course

Char

30

Course_id v tn

Section

Integer

Semester

Char

10

Hc k v nm

Name

Char

30

Tn Sinh vin

ID

Integer

S hiu sinh vin

Major

Char

Mn hc

GPA

Decimal

0.0

10.0

S hiu hc phn

im mn hc

Cn phn bit r d liu v siu d liu: siu d liu l phn c


tch khi d liu, siu d liu m t cc tnh cht ca d liu, siu d
liu khng bao gm d liu.
1.1.6. Kiu thc th v bng d liu
a. Thc th
Thc th l mt khi nim c s dng thng xuyn trong qu
trnh phn tch, thit k CSDL. Chng ta cn nm vng bn cht ca
thc th.
Chng ta nhn thy rng trong th gii thc, tn ti rt nhiu cc
i tng khc nhau, v d nh mt ngi trong t chc, mt sinh vin

Chng 1: Tng quan v c s d liu

19

trong mt trng i hc, hay thm ch mt phng ban trong mt vin


nghin cu, tt c nhng i tng u c coi l cc thc th
khc nhau. Ngoi ra nhng i tng tru tng nh mt ngnh khoa
hc cng c th c coi l mt thc th.
Vy ta c th nh ngha: thc th nh l mt i tng c th hay
tru tng trong th gii thc m n tn ti v c th phn bit vi cc
i tng khc.
b. Kiu thc th
T nh ngha v thc th nu trn, chng ta nhn thy rng trong
th gii thc c rt nhiu cc thc th ging nhau mt s kha cnh
no .
Nh vy, chng ta c th coi mt nhm cc thc th ging nhau
hnh thnh ln mt kiu thc th hay cn gi l tp thc th.
V d:
Tt c cc sinh vin trong mt trng i hc to thnh mt kiu
thc th l STUDENT.
Tuy nhin chng ta cng nhn thy rng khi nim thc th
ging nhau khng c xc nh mt cch chnh xc v ngi ta c
th a ra rt nhiu cc tnh cht khc nhau hnh thnh ln mt kiu
thc th, iu ny ph thuc vo nhu cu qun l ca bi ton.
Vy chng ta c th hiu mt kiu thc th nh l mt nhm cc
thc th ging nhau mt s im nht nh no m chng ta cn
quan tm.
Mt trong cc bc chnh trong qu trnh phn tch, thit k
CSDL l: xy dng mt m hnh c t th gii thc, ni mt cch
c th hn tc l la chn v m t cc kiu thc th cng nh cc mi
quan h gia cc kiu thc th .
Chng ta cn phi phn bit s khc nhau gia kiu thc th v
th hin ca kiu thc th (hay thc th):

20

C s d liu quan h v cng ngh phn tch - thit k

- Mt kiu thc th l mt tp cc thc th c chung mt s tnh


cht hoc c trng no . Mi mt kiu thc th phi c t mt
tn duy nht khng trng vi cc kiu thc th c.
- Cn th hin ca thc th l mt tp gi tr c th ca kiu thc th.
V d:
Bng 1.3. Kiu thc th EMPLOYEE v 2 th hin ca n
Kiu thc th: EMPLOYEE
Cc thuc tnh:
Emp_id

Char(10)

Emp_name

Char(50)

Address

Char(50)

Date_hired

Date

V hai th hin:
642 - 17 - 125

781 - 78 - 157

Kim Luyn

Ngc Lan

10A Ty H

2 H ng

01/01/2007

01/06/2008

Khi phn tch thit k mt CSDL, mt kiu thc th ch c m


t mt ln (s dng siu d liu), trong khi cc th hin ca kiu
thc th li c biu din bi d liu lu trong CSDL.
t tn cho kiu thc th, chng ta dng cc danh t vit lin
vi cc ch ci c vit hoa, bao quanh bi mt hnh ch nht:

Hnh 1.3. Kiu thc th


Cc kiu thc th c c t bi mt tp cc c trng m chng
ta quy c gi l cc thuc tnh. Do vy mun thnh lp mt kiu thc
th i hi phi xc nh c tp cc thuc tnh chung nht.
c. Bng d liu hay quan h
Trong qu trnh phn tch CSDL, khi nim kiu thc th c s
dng minh ha cho mt lp cc thc th ging nhau. Bng d liu

21

Chng 1: Tng quan v c s d liu

chnh l hnh thc th hin c th ca kiu thc th khi xy dng


CSDL, v bng d liu c s dng lu d liu v cc thc th
trong lp thc th .
Chng ta c th hnh dung bng d liu l mt tp cc b d liu,
hay bn ghi d liu, mi b c cng mt s lng thuc tnh nh nhau
nhng c th khc nhau v min gi tr. Bng d liu trong cch tip
cn CSDL quan h, c hiu chnh xc bi cm t quan h. Mt quan
h bao gm mt lc quan h v mt th hin ct ca bng .
Trong mt quan h khng th tn ti hai b d liu ging nhau tt c
cc thuc tnh. Hnh di y minh ha cho mt bng d liu, cc ct
ca bng tng ng vi cc thuc tnh hay cc trng d liu, cc
hng ca bng tng ng vi cc bn ghi hay cc b d liu.
Trng d liu (hay thuc tnh, ct d liu)
Bng 1.4. D liu hay quan h
Tn trng

Emp_id
B d liu
(hay bn
ghi, dng
d liu)

Emp_name

Address

Date_hired

Birth_date

784-123

Hng o

10K
Nguyn Tri

01/01/2008

12/04/1982

123-541

Thanh Hng

45 Hm Long

01/06/2007

15/03/1983

145-458

Thu Hoa

18A
ng Lng

01/01/2008

14/08/1984

i khi chng ta c th biu din cc bng di dng lc quan


h loi b cc d liu v ch a ra tn bng cng cc tn ct nh sau:
AUTHOR (Au_id, Au_iname, Au_fname, Address, City, Country)
TITLE (Title_id, Title, Type, Price, Pub_id)
PUBLISHER (Pub_id, Pub_name, City)
AUTHOR_TITLE (Au_id, Title_id)

Mi bng mun tr thnh quan h cn c mt s tnh cht sau:

22

C s d liu quan h v cng ngh phn tch - thit k

- Cc d liu trong bng l cc gi tr n, c hiu theo ngha l


cc gi tr khng cn chia nh hn na m vn p ng c nhu cu
nghip v.
- Cc gi tr trong cng mt ct d liu phi c cng mt kiu.
- Mi mt hng trong bng l duy nht. Trong bng khng th tn
ti hai hng c cng gi tr tt c cc ct.
- Th t lit k cc ct trong bng khng quan trng.
- Th t lit k cc hng trong bng khng quan trng.
- Mi mt ct d liu trong bng phi c mt tn duy nht.
Nh vy mt quan h l mt bng hai chiu gm cc gi tr, l
tp hp cc b ca quan h ti mt thi im no . Tuy nhin, quan
h li thng c cp nht (b sung, loi b, iu chnh cc b), do
quan h c tnh cht l thay i theo thi gian.
Tuy thay i v gi tr thng qua vic cp nht, song quan h vn
phi gi mt s c im v ng ngha, hay ni mt cch khc n phi
tun th mt lc quan h nht nh nh qui c s trng trong
quan h, kiu d liu trong quan h,
d. Thuc tnh v trng d liu
Thuc tnh
Nh trong khi nim v kiu thc th chng ta bit, mt kiu
thc th c m t bng cch s dng mt tp cc thuc tnh. Tt c
cc thc th trong mt kiu thc th c xc nh u c cng s
lng cc thuc tnh .
Mi mt kiu thc th lun c mt tp cc thuc tnh i km.
Di y l v d v hai kiu thc th v cc thuc tnh i km vi
chng:
STUDENT:

Student_id, Student_name, Address, Tel_no, Class

EMPLOYEE:

Emp_id, Emp_name, Address, Skill, Start_date

Vi mi thuc tnh trong kiu thc th, chng ta phi xc nh


min gi tr ca thuc tnh . V d min gi tr cho thuc tnh

Chng 1: Tng quan v c s d liu

23

Emp_name ca kiu thc th EMPLOYEE c th l mt xu k t c


di khng qu 30 k t.
Th hin ca thuc tnh chnh l cc gi tr. V d Tn Hu l
mt gi tr cho thuc tnh tn nhn vin Emp_name.
t tn cho cc thuc tnh, chng ta dng cc danh t vit lin
vi ch ci u tin c vit hoa, nu mt thuc tnh c tn gm 2 t
th chng ta s dng du gch di ni 2 t li. Chng ta s
dng hnh Elp biu din cho mt thuc tnh v mt ng thng
kt ni thuc tnh vi kiu thc th m n m t.
V d:

Hnh 1.4. Thuc tnh v kiu thc th


Trng d liu
Cng nh gia bng d liu v kiu thc th, khi phn tch CSDL,
chng ta s dng cc thuc tnh m t cho cc kiu thc th, cn
khi xy dng CSDL, chng ta s dng cc trng d liu xy dng
ln cc quan h. Do vy chng ta c th hiu trng d liu nh l n
v nh nht c tn gi ca d liu lu tr trong CSDL. Trng d liu
cn c gi l ct d liu khi chng ta s dng vi khi nim bng
d liu.

24

C s d liu quan h v cng ngh phn tch - thit k

Qua chng ta c th nh x cc khi nim trong khu phn tch


CSDL v cc khi nim c s dng trong khu thit k, xy dng
CSDL:
- T kiu thc th chng ta xy dng c ln cc quan h hay
bng d liu.
- T cc thuc tnh chng ta xy dng c ln cc trng hay ct
d liu.
e. Lin kt gia cc thc th
Mt lin kt l mt kt ni gia cc th hin ca mt hoc nhiu
kiu thc th. V d, chng ta c mt lin kt cc nhn vin Minh
Phng, ng Lan, Phong Hu vi cc phng kinh doanh, k ton.
Chng ta cng c th s dng cc thuc tnh m t cho lin
kt. Cc thuc tnh m t c s dng lu li cc thng tin v mi
lin kt hn l nhng thng tin v cc thc th tham gia vo lin kt
. V d, chng ta c th ghi li nhn vin ng Lan lm vic
phng kinh doanh t ngy 27/4/2006 thng qua mt thuc tnh
Start_date c t bn cnh lin kt Works_in nh trong hnh 1.5.
Ngy tham gia

Minh Phng

04/12/06
Phng kinh doanh

ng Lan

27/4/06
Phng k ton

Phong Hu
16/6/06
EMPLOYEE

DEPARTMENT
01/01/08

Works_in

Hnh 1.5. Lin kt gia cc thc th

Chng 1: Tng quan v c s d liu

25

Mt lin kt phi c xc nh duy nht bi cc thc th tham


gia lin kt m khng cn phi tham chiu n cc thuc tnh m t.
Nh hnh 1.5, mi mt lin kt trong Work_in c xc nh duy nht
bi vic kt hp thuc tnh i din Emp_name ca kiu thc th
EMPLOYEE v thuc tnh i din Dept_name ca kiu thc th
DEPARTMENT. Do vy vi mi cp nhn vin - phng ban trn
chng ta khng th c hn mt kt ni.
Ch : Trong v d trn chng ta gi thit rng gia cc thc th
ca kiu thc th c th phn bit duy nht vi nhau thng qua cc gi
tr trong cc thuc tnh Emp_name v Dept_name tng ng vi hai
kiu thc th EMPLOYEE v DEPARTMENT.
Mt nhm cc lin kt cng kiu, hnh thnh ln mt tp lin kt.
Khi dng vi khi nim kiu thc th, chng ta dng thut ng lin
kt m t cho s kt ni gia chng thay v s dng thut ng tp
lin kt.
t tn cho lin kt, chng ta dng cc ng t vit lin vi
ch ci u tin c vit hoa, nu mt ng t c tn gm 2 t th
chng ta s dng du gch di ni 2 t li. Chng ta s dng
hnh thoi biu din cho mt lin kt v cc ng ni lin kt
vi cc kiu thc th tham gia vo lin kt. Mt v d v mi lin kt
c c t nh sau:

Hnh 1.6. Lin kt gia kiu thc th

26

C s d liu quan h v cng ngh phn tch - thit k

Lin kt t mua Orders gia hai kiu thc th l khch hng


CUSTOMER v mt hng PRODUCT c c t vi ngha: mi
khch hng c th t mua mt hoc nhiu mt hng, ngc li mi
mt mt hng cng c th c mua bi nhiu khch hng khc nhau.
1.1.7. Khi nim ton vn d liu
Nh trnh by trong phn u, mt trong nhng u im ca
cch tip cn CSDL l d liu khi c a vo CSDL s phi tun
theo mt s quy nh no . Nhng quy nh ny c xem l nhng
rng buc trn d liu v n m bo tnh ton vn ca d liu. Tnh
ton vn d liu gip cho NSD c th tin cy t nht v mt nguyn tc
i vi cc d liu trong CSDL.
a. Rng buc ton vn
Rng buc ton vn (RBTV) l mt iu kin bt bin khng c
vi phm trong mt CSDL.
RBTV cn c gi l quy tc qun l (Rule) c p t ln trn
cc i tng ca th gii thc.
V d:
- Mi lp hc phi c 1 m s duy nht phn bit vi mi lp
hc khc trong trng
- Mi lp phi thuc 1 khoa trong trng
- Mi hc sinh phi c mt m s ring bit, khng trng nhau
trong trng
- Mi hc vin phi thuc 1 lp
Trong mt CSDL, RBTV cn c ngi phn tch thit k m t
y v chnh xc r rng trong h s phn tch thit k (PT_TK).
RBTV c xem nh 1 cng c din t ng ngha ca CSDL
. Trong qu trnh khai thc CSDL, cc RBTV u phi c tho
mn bt k thi im no nhm m bo cho CSDL lun trng thi
an ton v nht qun v d liu.

Chng 1: Tng quan v c s d liu

27

Cc h qun tr thng c cc c ch t ng kim tra RBTV v


min gi tr ca kho, gi tr NOT NULL qua cc khai bo cu trc
cc bng (M hnh d liu quan h) hoc thng qua nhng th tc
kim tra v x l vi phm RBTV (do ngi PT_TK ci t).
Vic kim tra c th tin hnh vo 1 trong 2 thi im sau:
- Kim tra ngay sau khi thc hin mt thao tc cp nht CSDL
(thm, sa, xo). Thao tc cp nht ch c coi l hp l nu n
khng vi phm bt k RBTV no. Nu vi phm RBTV ngha l khng
hp l v s b h thng hu b.
- Kim tra nh k hay t xut, ngha l vic kim tra c lp vi
thao tc cp nht d liu. Nu vi phm RBTV, h thng c nhng x
l ngm nh hoc yu cu NSD x l.
b. Cc yu t ca RBTV
C th, xt trong mt c s quan h, chng ta thy lun tn ti
nhiu mi quan h nh hng qua li ln nhau gia cc thuc tnh ca
1 quan h, gia cc bn ghi trong 1 quan h v gia cc thuc tnh ca
cc bn ghi trong cc quan h vi nhau.
Khi xc nh mt RBTV cn ch r:
- Ni dung RBTV v cch biu din thch hp
- Bi cnh xy ra RBTV: trn 1 hay nhiu quan h, c th cc
quan h no
- Phm vi nh hng ca RBTV. Kh nng tnh ton vn d liu
b vi phm.
- Cc phng n x l khi pht hin RBTV b vi phm
Ni dung RBTV l m t quy tc phi tun theo. Vic biu din
n c th bng ngn ng t nhin, thut gii (ngn ng c cu trc),
ngn ng i s tp hp, i s quan h hoc bng ph thuc hm.
HOADON (shd, s chng loi mt hng, tng tr gi)
HANG (M hng, tn hng, v tnh)

28

C s d liu quan h v cng ngh phn tch - thit k


CHITIETHOADON (shd, m hng, SL, n gi, tr gi)

RBTV1: mi ho n c mt s ring bit khng trng vi cc


ho n khc
hd1,hd2 HOADON, hd1 hd2 hd1.sohd hd2.sohd

Bi cnh c th nh ngha trn 1 c s quan h hay nhiu c s


quan h. l nhng quan h m RBTV c p dng trn :
- Bi cnh RBTV1 (mi ho n c mt s ring bit khng trng
vi cc ho n khc) ch trong 1 quan h HOADON
- Bi cnh RBTV2 (s chng loi mt hng bng s b ca
CHITIETHOADON c cng s ho n) trong 2 quan h HOADON
v CHITIETHOADON
Mt RBTV c th lin quan n mt s quan h, ch khi c thao
tc cp nht (chn, sa, xo) mi c nguy c vi phm RBTV, do vy
cn ch r thao tc no dn n vic cn phi kim tra RBTV.
Trong qu trnh phn tch thit k, ngi phn tch cn lp bng
xc nh phm vi nh hng cho mi RBTV nhm xc nh khi no
phi tin hnh kim tra cc RBTV . Sau khi xy dng cc bng nh
hng ca tng RBTV trn cc quan h lin quan, cn tng hp bng
cch xy dng bng tng hp cc RBTV nhm xc nh tt c cc
RBTV cn phi kim tra trn tng quan h.
Cn c hnh ng thch hp khi vi phm RBTV. Thng c 2
gii php:
- a thng bo v yu cu sa cha d liu ca cc thuc tnh
cho ph hp vi quy tc m bo tnh nht qun d liu. Thng bo
cn y , thn thin vi NSD. Gii php ny ph hp vi vic x l
thi gian thc.
- T chi thao tc cp nht. Gii php ny ph hp vi vic x l
theo l. Vic t chi cng phi c thng bo y r rng v sao
thao tc b t chi v cn sa d liu no.

Chng 1: Tng quan v c s d liu

29

c. Phn loi RBTV


Trong CSDL quan h, ngi ta thng chia RBTV thnh 2 loi
chnh theo bi cnh RBTV l trn 1 quan h c s hay trn nhiu quan
h c s.
RBTV trn bi cnh 1 quan h c s c cc loi rng buc v
min gi tr, lin thuc tnh, lin b, lin thuc tnh.
V d:
KQUATHI (mhv, m mn, ln thi, ngy thi, im thi)
kq KQUATHI: 0<= kq.ln thi <=3
kq KQUATHI: 0<= kq.im thi <=10

RBTV lin thuc tnh c lin quan ti nhiu thuc tnh ca 1 quan
h. Thng thng l cc ph thuc tnh ton hoc mt suy din t
gi tr ca 1 hay nhiu thuc tnh trong cng mt b gi tr:
CHITIETHOADON (s hd, m hng, SL, n gi, Tr gi)
cthd CHITIETHOADON, cthd.tr gi = cthd.SL* cthd.n gi
KQUATHI (mhv, m mn, ln thi, ngy thi, im thi)
kq KQUATHI, nu kq.ln thi = 1 th 0 <= kq.im thi <=10.0

hoc: nu kq.ln thi >1


th kq KQUATHI: kq.ln thi = kq.ln thi - 1 v kq.im thi < 5
C 2 trng hp RBTV ph thuc tn ti (ph thuc v kho
ngoi):
- C s hin din ca kho ngoi
- C s lng kho gia cc quan h
V d:
RBTV1: mi lp hc phi thuc 1 khoa nht nh
KHOA (m khoa, tn khoa)
LOPHOC (m lp, tn lp, nin kho, s hc vin, m khoa)
lh LOPHOC, kh KHOA: lh.m khoa=kh.m khoa

30

C s d liu quan h v cng ngh phn tch - thit k

RBTV2: mi b ca chi tit ho n phi c 1 ho n vi s ho


n tng ng
HOADON (shd, s chng loi mt hng, tng tr gi)
CHITIETHOADON (s hd, m hng, SL, n gi)
cthd CHITIETHOADON, hd HOADON: cthd.sohd=hd.sohd

Khi c s hin din ca 1 thuc tnh mang tnh tng hp hay trung
gian (tnh c nh gi tr ca nhiu thuc tnh khc trn 1 hay nhiu
quan h khc nhau trong CSDL) hay ph thuc tn ti lng kho th c
RBTV lin b, lin quan h:
Vi mi b gi tr ca LOPHOC, nu s lng hc vin > 0 th s
lng ny phi bng tng s b gi tr m c ca cc hc vin c
cng m lp.
LOPHOC (m lp, tn lp, nin kho, s hc vin, m khoa)
HOCVIEN (m hc vin, tn hc vin, m lp)

lh LOPHOC: nu lh.s hc vin > 0:


lh.s hc vin = COUNT (hv

HOCVIEN, hv.m lp = lh.m lp)

e. Biu din RBTV bng ph thuc hm (function dependency)


Ph thuc hm (PTH) c tm quan trng rt ln trong vic phn
tch v thit k m hnh d liu. Ph thuc hm l mt trong nhng
khi nim ct li nht trong m hnh c s d liu quan h s c
trnh by chi tit sau.
Chng ta cng cn lu ton vn d liu c th m bo tnh hp
l ca d liu khi c lu trong CSDL, nhng li kh c th kim tra
mi mt gi tr nh vy v tnh ng. V d, khi nhp gi tr gi lm
vic ca mt nhn vin trong tun, khng c cch no c th pht hin
s kin l mt gi tr vo bng 35 l sai, trong khi thc s phi l
gi tr 38. Tuy nhin, nu mt gi tr l 350 i vi gi lm vic r
rng l sai v h thng s khng chp nhn gi tr , bi mt tun
khng th c 350 gi.

Chng 1: Tng quan v c s d liu

31

Gi gn tnh ton vn ca CSDL c th xem l s bo v d liu


trong CSDL chng li s cp nht hay ph hu khng c cn c. Ch
, chng ta cng phi phn bit tnh ton vn d liu, vi tnh an ton
d liu d rng hai khi nim ny quan h rt mt thit vi nhau v
thc s c th dng chung mt c ch thc hin bo v c hai mt
mc no .
Ni chung mi mt bng d liu trong CSDL quan h u c mt
tp cc rng buc ton vn i km vi n. Cc rng buc ton vn ny
cng c lu tr trong t in d liu.
1.1.8. H qun tr CSDL (DBMS)
H qun tr CSDL l h thng bao gm nhiu phn mm cho php
m t, lu gi, thao tc cc d liu trn 1 CSDL. N m bo tnh an
ton, b mt ca d liu trong mi trng nhiu ngi s dng.
C th a ra nh ngha H qun tr CSDL r rng hn. V d
nh l:
- Phn mm qun l CSDL, gip cho vic thc hin cc thao tc
nh chn, sa, xa v tm kim d liu
- H thng bao gm nhiu phn mm cho php m t, lu gi,
thao tc cc d liu trn mt CSDL, m bo an ton, b mt ca d
liu trong mi trng nhiu NSD
- B phn mm v nhng cng c c sn do mt s nh sn xut
phn mm cung cp to lp v qun l CSDL
Hin nay, chng ta thng gp cc h qun tr CSDL c va v
nh nh Foxpro, Access, c ln nh SQL Server, Oracle.
1.1.9. Kho d liu
Nh chng ta bit, CSDL c s dng t nhng nm 60 v
chng ngy cng chng t l nhng thnh phn khng th thiu trong
cc hot ng ca doanh nghip. Mt xu hng mi xut hin v
pht trin kh nhanh trong cc h CSDL l cc CSDL h tr vic
phn tch v khai thc d liu, ngi ta gi l nhng kho d liu,

32

C s d liu quan h v cng ngh phn tch - thit k

chng ch yu c phc v cho cc ng dng h tr ra quyt nh


DSS (Decision Support System). Kho d liu c nhng c im c
bn sau:
- Tnh tch hp: d liu tp hp trong kho c thu thp t nhiu
ngun v c tch hp vi nhau to thnh mt th thng nht.
- Tnh hng ch : Cc d liu c thu thp, trch lc v lm
sch a vo kho theo nhng ch nht nh.
- Gn thi gian: Mi hng thng tin trong kho d liu u cha
mt yu t thi gian nh mt phn ca kho chnh m bo tnh n
nht ca mi hng v cung cp mt c trng v thi gian cho d liu.
- Tnh lch s: Cc thng tin trong kho d liu c tp trung theo
thi gian v th hin mt khung nhn v mt lnh vc ch trong mt
giai on di.
- Tnh ch c: d liu trong kho l d liu ch c v khng th
b sa i.
- Tnh bt bin: d liu c lu tr lu di trong kho, mc d
nhng d liu mi vn b sa i, iu cho php cung cp thng tin
v mt khong thi gian di, s liu cn thit cho cc m hnh
nghip v phn tch, d bo.
- Bao gm c d liu tng hp v chi tit: d liu chi tit l thng
tin mc thp nht c lu tr trong kho. d liu tng hp c tch
hp li qua nhiu giai on khc nhau.
1.2. Cc phng tin din t d liu
1.2.1. Khi nim din t d liu
Din t d liu c xem nh vic xc nh tn, dng d liu v
tnh cht ca d liu; n khng ph thuc vo ngi s dng ng thi
khng ph thuc vo yu cu tm kim v thay i thng tin.

Chng 1: Tng quan v c s d liu

33

Chng ta tp trung cp n cc phng tin v m hnh din t


d liu. l cc thng tin c quan tm n trong qun l; n c
lu tr lu di, c x l v s dng trong h thng kinh doanh.
C nhiu cng c din t d liu, l cc cch tru tng ho
d liu, c bit l mi quan h ca d liu nhm ph bin nhng ci
chung nht m ngi ta c th trao i ln nhau.
C nhiu cng c din t d liu, y chng ta cp ti 4 cng
c ch yu:
- M ho d liu (coding)
- T in d liu (Data Dictionary)
- M hnh thc th lin kt E- R (Entity_Relationship)
- M hnh c s d liu quan h (Relational Data Base Modeling)
1.2.2. M ho
a. Khi nim m ho
M l tn vit tt gn cho mt i tng no hay ni cch khc
mi i tng cn c tn v vn t ra ta s t tn cho i tng
nh th no. Trong mi i tng gm nhiu thuc tnh khc nhau th
yu cu m ho cho cc thuc tnh cng l yu cu cn thit. Ngoi ra
m ho cn l hnh thc chun ho d liu c bit trong cc h thng
thng tin x l bng my tnh.
Mt s v d v m ho:
Khi ta cn xc nh mt cng dn th s chng minh th hoc s
h chiu l m ca cng dn . Khi cn xc nh xe t hay xe my
th bin s xe l m ca xe .
b. Cht lng ca vic m ho
Trong thc t ta gp rt nhiu i tng cn m ho nh m ho
cc ngnh ngh o to, m ho cc bnh, m s in thoi, m th
sinh vin, th bo him y t. Chng ta c nhiu phng php m khc

34

C s d liu quan h v cng ngh phn tch - thit k

nhau. Do vy, cn xc nh mt s tiu ch nh gi cht lng ca


vic m ho:
- M khng c nhp nhng: Th hin nh x 1_1 gia m ho
v gii m, mi i tng c xc nh r rng vi mt m nht nh.
- Thch ng vi phng thc s dng: Vic m c th tin hnh
bng th cng nn d hiu gii m, vic m ho bng my i hi
c php cht ch.
- C kh nng m rng m:
+ Thm pha cui (sau) ca cc m c.
+ Xen m mi vo gia cc m c, thng m xen phi dng
phng php cc nhy, nhy u n da vo thng k trnh tnh
trng bng n m.
- M phi ngn gn lm gim kch c ca m, y cng l mc
tiu ca m ho. Tuy nhin iu ny i khi mu thun vi khi nim
m rng m sau ny.
- C tnh gi : Tnh ng ngha ca m; i khi tnh gi l yu
cu i vi m cng khai, lm cho vic m ho thun tin d dng
c. Cc kiu m ho
M ho kiu lit k: dng cc s nguyn lin tip 000,001,002...
m ho.
u im:
+ Khng nhp nhng
+ n gin
+ Thm pha sau
Nhc im:
+ Khng xen c
+ Thiu tnh gi , cn phi c bng tng ng
+ Khng phn theo nhm

Chng 1: Tng quan v c s d liu

35

M ha theo lt: dng cc s nguyn nhng phn ra tng lt (lp)


cho tng loi i tng, trong mi lt dng m lin tip.
V d: M ho Ng kim
Vng 1 0001 - 0999

ng kim b

Vng 2 0010 - 0099

vt

Vng 3 0100 - 0299

cu

0300 - 0499

bulng

0500- 0599

inh

Vng 4 1000- 1999


1000- 1099

chi tit kim loi


st U

u im:
+ Khng nhp nhng
+ n gin
+ M rng xen thm c
Nhc im: Thiu gi
M phn on: Bn thn m phn thnh nhiu on, mi on
mang mt ngha ring.
V d: S ng k xe my

Bin s xe my nh ng P l 29 Y1 366 l bin ng k ti H


Ni tng ng vi s 29, nhm Y1, s th t 366.
M sinh vin: A # ## ### cho bit h o to (chnh quy, ti chc,
vn bng 2, t xa), ngnh (hin ti cha qu 9 ngnh), nm nhp hc,
s th t.

36

C s d liu quan h v cng ngh phn tch - thit k

u im:
+ Khng nhp nhng
+ M rng xen thm c
+ c dng kh ph bin
+ Cho php thit lp cc phng thc kim tra gin tip i vi
m ca cc i tng.
Nhc im:
+ Qu di thao tc nng n
+ Khng c nh
+ C th b bo ho
M phn cp: Cc i tng b m ho theo ch phn cp cc
chi tit nh dn. Mt hnh nh kh quen thuc ca m phn cp l
nh s chng, tit, mc trong mt quyn sch.
1. Chng 1
1.1. Bi 1
1.2. Bi 2
2. Chng 2
2.1. Bi 3
2.1.1. Mc 1
2.1.2. Mc 2
2.2. Bi 4
2.3. Bi 5
u im: Ging nh phn on
Tm kim d dng
Nhc im:
Ging phn on

37

Chng 1: Tng quan v c s d liu

V d:
1

1.1

1.1.1

1.2.1.1

1.2

1.2.1

1.2.1.2

1.2.2

1.3

1.2.3

1.2.1.3

1.3.1

1.3.1.1

Hnh 1.7. Cu trc ca m phn cp


M din ngha: Gn vi mt tn ngn gn nhng hiu c cho
mt i tng.
V d: i bng cc nc tham gia SEA GAMES c m bng
cch ly 3 k t u nh sau:
VIE: Vietnam, THA: Thailand, SIN: Singapore, IND: Indonesia,
MAL: Malaysia...
u im: tin dng cho NSD trong x l cng vic hng ngy.
Nhc im: cng di nu s lng thnh phn tham gia m ho
cng ln.
M vch - m s hng ho (bar code):
M s hng ha l mt dy cc con s c ghi di m vch
dng phn nh sn phm hng ha. Mi dy s nh vy s c
trng cho mt loi hng ha ca c s sn xut v ca quc gia sn
xut loi hng ha . M s s to thun li cho qun l trong qu
trnh vn chuyn, lu kho, mua, bn. Bao gi m s v m vch c
in trn bao b sn phm th sn phm mi coi l tiu chun
nhp khu vo mt nc no . Hin nay, Vit Nam t chc m s,
m vch c thnh lp ngy 29/3/1995 gi tt l EAN- VN (tn ting
Anh l Europe Article Numberring). Vit Nam l thnh vin ca Hi

38

C s d liu quan h v cng ngh phn tch - thit k

m s, m vch Quc t (EAN International). Nh vy, cc sn phm


ca cc nh sn xut Vit Nam mun xut khu sang nc ngoi c
th ng k m s, m vch do EAN- VN cp.
Hin nay, m s quc gia ca Vit Nam c cp (3 s u) l
893, nhm s tip sau ch m ca nh sn xut v nhm s tip na l
m ca sn phm, s cui cng l s kim tra.
M s ca Vit Nam hin nay s dng c th l 8 hoc 13 ch s
vit tt l EAN- 8 v EAN- 13. EAN- 8 dng cho sn phm c chng
loi t v EAN- 13 dng cho sn phm c chng loi nhiu.
M vch l mt dy cc vch en trng dng th hin m s
di dng k hiu m my qut c th c c, lu vo b nh
ca h thng my tnh hay my tnh tin mt cch nhanh chng v
chnh xc. Dy cc vch en trng ny c chnh xc ti 1/100mm
v c in bng cht liu c bit chng lm gi.
V d:

Hnh 1.8
M s ca mt sn phm trong hnh trn l 893 5025 33457 6,
trong 893 l Vit Nam, 5025 l m tn n v sn xut - Cng ty
Tr v C ph Tm Chu, 33457 l m ca sn phm - c ph pha
phin, 6 l m kim tra.
d. Cch la chn s m ho
C nhiu phng php m ho khc nhau, c th s dng kt hp
nhiu kiu t cht lng m tt nht. Vic la chn m ho cn
da vo nhng yu t sau:

Chng 1: Tng quan v c s d liu

39

- Nghin cu vic s dng m sau ny


- Nghin cu s lng cc i tng m ho lng trc c
s pht trin.
- Nghin cu s phn b thng k cc i tng phn b
theo lp.
- Tm xem c nhng m ho no c dng trc cho cc
i tng ny k tha.
- Tho thun ngi dng.
- Th nghim trc khi dng chnh thc.
1.2.3. T in d liu
T in d liu (cn gi t in yu cu) l b phn ca t liu
trong PT_TK, n l vn phm gi hnh thc m t ni dung ca cc s
vt, i tng theo nh ngha c cu trc. Trong biu lung d liu
cc chc nng x l, kho d liu, lung d liu ch m t mc khi
qut thng l tp hp cc khon mc ring l. Cc khi qut ny cn
c m t chi tit ho hn qua cng c t in d liu.
Cu to t in: T in d liu l s lin kt c t chc cc phn
t d liu thuc h thng, lit k cc mc t ch tn gi theo mt th t
no v gii thch cc tn mt cch chnh xc, cht ch, ngn gn
cho c ngi dng v ngi phn tch hiu chung ci vo, ci ra, ci
lun chuyn.
Cc mc t tng ng vi mt tn gi km theo cc gii thch.
Tn gi c th i cng vi tn ng ngha nh ho n (ho n
kim phiu thu). Cc gii thch bao gm gii thch v cu trc (n
gin hay phc tp), v bn cht (lin tc hay ri rc), v chi tit (min
gi tr, n v o, chnh xc,), cng nh v mi lin h vi cc
thut ng khc. Ni dung cc mc t thng thay i theo loi i
tng: lung d liu (ho n), kho/tp d liu (nhn vin), phn t d

40

C s d liu quan h v cng ngh phn tch - thit k

liu hoc thuc tnh (ngy m ti khon), chc nng x l (kim tra
n hng). Ngoi ra, trong ni dung cc mc t c c phn nh ngha
d liu.
K php m t ni dung cho t in d liu tun theo bng 1.5:
Bng 1.5. Bng k php trong t in d liu
Kt cu d liu

K
php

ngha

c to t

Tun t

Tuyn chn

[/]

hoc

Lp

Lp
hoc

hoc
n

{}

Lp n ln

()

D liu tu chn

**

Gii hn ch thch

Cc dng biu th t in:


1. Dng thuc tnh
Bng 1.6. V d t in d liu dng thuc tnh
STT

Tn gi

Kiu

Lnh vc

S phiu xut

K t

K ton, kho

Ch hoa hoc s

Ngy xut

Ngy
thng

K ton, kho

Ngy/thng/nm

Tn hng

K t

25

K ton, kho

Ch hoa + s

Gi xut

K ton

S lng xut

Kho

S tin

12

K ton

M kho

K t

Kho

2. Dng thc th
Gi s c t ho n bn hng nh sau:

Quy tc, rng buc


v khun dng

n v: nghn ng
n v: chic
Hai s l sau du phy
Ch hoa + s

41

Chng 1: Tng quan v c s d liu

Cng ty: Hong H


Ho n bn hng
S H: 1199

Ngy: 01- 01- 2009

Tn khch hng: Hng Giang

Ti khon: KMB1111983

a ch: ng Nga Vng

Tel: (043) 8460201

Loi tin thanh ton: USD

T gi: 18780

Bng 1.7. V d t in d liu dng thc th


M thit b

Tn thit b

M t

n gi

Kho

CPUSK478P30

B vi x l
Pentium 4

Pentium IV 3.0C GHz


(Box/512Kb/Bus800)

240

ASUSP4V533MX

Bo mch ch
Pentium 4

VIA chipset/SK478/Bus533
VGA/Sound/NIC onboard,
support DDRAM, Huper
threading c AGP m rng

54

VGA8

Card mn
hnh

VGA 8Mb (2X) Ati

10

Tng tin thanh ton


Ngi nhn

K ton

304
Th kho

Ta c mt phn t in d liu sau:


Xc nh mt t ho n nh sau:
Ho n = S H + Ngy + Tn khch hng + Ti khon +
a ch + Telephone + Loi tin thanh ton + T gi + M thit b* +
tn thit b* + m t* + on gi* + kho* + tng tin thanh ton +
Ngi nhn + K ton + Th kho.
Xc nh thng tin v khch hng
Khch hng = Tn khch hng + Ti khon + a ch + Telephone
Xc nh thng tin v tng loi thit b
Thit b = M thit b + tn thit b + m t+ on gi
H tn khch cn c tch tn thun tin cho Ting Vit
Tn khch hng = H m + Tn

42

C s d liu quan h v cng ngh phn tch - thit k

3. Dng c t
T in xc nh thu bao di ng gi dch v c nh:
S in thoi = 0 + m vng + m dch v
M vng = [76/64/281/75/56/62/26/71/50/]
*76 - AnGiang,64 - BRaVngTu, 281 - Bc Kn,*
M dch v = 1 + s hiu dch v
S hiu dch v = [01/02/03/04/05//20]
*01 - ng k in thoi ng di trong nc, 113 - gi cnh st,
114 - gi cu ho, 115 - gi cp cu y t,.*
4. Dng th
a ch

S nh

Ng/ngch

ng ph

Qun/huyn

Tnh/thnh ph

Hnh 1.9. V d dng th ca t in d liu


5. Dng tp: bao gm tn tp, m t, t ng ngha, t hp thnh, cch
t chc (tun t, nh phn, hm bm) v cc x l.
6. Dng chc nng x l: bao gm V cc m t, t ng ngha, ci
vo, ci ra, tn chc nng: v d nh kim tra n hng.
Lu th hin chc nng x l nh hnh 1.10.

Hnh 1.10. Lu th hin chc nng x l

Chng 1: Tng quan v c s d liu

43

1.3. M hnh d liu


1.3.1. Khi nim m hnh d liu
M hnh d liu l cch biu din cc cu trc d liu cho mt
CSDL di dng cc khi nim. Cc cu trc d liu bao gm cc i
tng d liu, mi lin h gia cc d liu, ng ngha ca d liu v
cc rng buc trn cc i tng d liu .
M hnh d liu khng ph thuc vo cc rng buc v c phn
cng v phn mm. N tp trung vo vic m t cc d liu v cch t
chc chng nh th no, khng tp trung vo cc thao tc s c thc
hin trn cc d liu (vic ny c thc hin bi m hnh chc
nng). Vic tp trung vo vic biu din d liu gip cho NSD c th
nhn thy c chng trong th gii thc.
1.3.2. Cc loi m hnh CSDL
C 3 loi m hnh CSDL:
1. M hnh CSDL quan nim
- L m hnh m t d liu ca th gii thc gn vi hot ng
nghip v ca t chc s dng n.
- M t cc cu trc v mi lin h gia cc n v thng tin
c bn.
- L phng tin giao tip vi NSD nhm xc nh ng n v
y cc yu cu thng tin ca h thng.
- Hon ton c lp vi mi h qun tr d liu v cch thc s
dng n.
- Cung cp cc khi nim gn lin vi cch cm nhn d liu ca
NSD. N tp trung vo bn cht logic ca biu din d liu, quan tm
n ci c biu din, ch khng quan tm n cch biu din.
- M hnh khi nim c bn nh m hnh E_R. M hnh E_R
dng m t cu trc logic tng th (lc ) ca mt CSDL bng
hnh nh (c t). Ngi ta quan nim th gii thc bao gm tp cc E

44

C s d liu quan h v cng ngh phn tch - thit k

v R. Trong , E - s vt/i tng tc l thc th trong th gii


thc v phi phn bit c, cn R l mi quan h (Relationship) gia
mt nhm cc thc th.
V d: ngi, ti khon ngn hng,
Thc th c m t trong CSDL bng tp cc thuc tnh. Thuc
tnh nh danh dng xc nh duy nht mt bn th/th hin/dng
d liu.
- M hnh E_R ch yu xc nh cu trc d liu hn l din t
cc quy tc nghip v (1. Ton vn thc th: trong mt bn th tn ti
nh danh duy nht v duy nht, 2. Ton vn tham chiu, 3. Thuc
cng min gi tr, 4. Cc hot ng kch hot: thc hin cc rng buc
ng cho cc gi tr cc thuc tnh thuc cc thc th c quan h vi
nhau khi tin hnh cc thao tc d liu).
2. M hnh CSDL logic: cung cp khi nim cho NSD c th hiu
c v khng xa so vi cch t chc d liu trong my tnh. Chng
che du mt s chi tit v vic lu tr d liu nhng c th ci t trc
tip trn h thng my tnh. M hnh d liu logic cho 1 h qun tr
CSDL:
+ M t cc d liu bng cch s dng cc k hiu tng ng vi
m hnh d liu m 1 h qun tr CSDL xy dng trn n.
+ C 4 loi m hnh d liu logic: m hnh d liu phn cp,
mng, quan h, hng i tng.
+ Hin nay, c t chc theo m hnh d liu quan h l ch yu.
3. M hnh CSDL vt l: cung cp cc khi nim m t chi tit v
vic cc d liu c lu tr trong my nh th no.
1.3.3. M hnh d liu mng v m hnh d liu phn cp
Trong m hnh mng (network) v m hnh phn cp (hierarchy),
cc thc th c biu din di dng cc bn ghi v cc lin kt c
biu din bi cc mc ni hay con tr. V c bn, cc mc ni c kh

Chng 1: Tng quan v c s d liu

45

nng biu din cc lin kt gia mt thc th v nhiu thc th ca cc


kiu thc th lin quan. Tuy nhin, vi cch nhn d liu theo kiu
phn cp bi cu trc cy, cc bn ghi d liu ch c ngha khi n
c xem xt trong cu trc cy nu khng c phn t bc trn n.
Tuy nhin, vi m hnh phn cp, chng ta c mt cch rt t nhin
m hnh ho nhng cu trc phn cp thc s ca th gii thc. Cu
trc biu din mi quan h ca CSDL theo kiu cy phn cp tn ti
trn my ln Mainframe.
M hnh d liu mng c cu trc tng qut hn so vi m hnh
d liu phn cp bi mt bn ghi d liu cho c th c mt s bt
k cc phn t bc trn trc tip cng nh mt s bt k cc phn t
ph thuc trc tip. Cu trc ni ti ca m hnh mng phc tp hn so
vi m hnh phn cp nhng m hnh mng li i xng hn m hnh
phn cp. im bt li ch yu ca m hnh ny l s qu phc tp
trong bn thn m hnh v trong cc thao tc x l d liu. Do vy,
nhng NSD v ngi vit chng trnh s phi hao tn nhiu thi gian
vo vic gii quyt nhng vn ny sinh trong qu trnh pht trin v
bo tr chng trnh. Cng vi cu trc quan h, cu trc mng c
s dng trn c my Mainframe v PC.
V phng din cu trc CSDL, mi lin h gia cc d liu c
mi quan h cht ch vi s lin h ca thc th vi thc th:
- Nu mi kho c mt bn ghi duy nht i km vi n v nu vi
mi bn ghi c mt gi tr kho chnh duy nht th mi lin h gia
cc d liu c gi l 1-1. V d: s chng minh th (CMT) v cng
dn c mi quan h 1-1
- Nu mi gi tr kho c nhiu bn ghi duy nht i km, mi lin
h ny l 1-N. Trng h c nhiu bn ghi i km, mi bn ghi ch c
mt kho
- Nu l mi lin h khng duy nht cho c kho v bn ghi, n c
xem l mi lin h N-N. V d mi quan h gia nam sinh v n sinh.

46

C s d liu quan h v cng ngh phn tch - thit k

Nh vy, trong cu trc cy phn cp: c mi lin h 1-1/1-N


(khng c mi lin h N-N nh cc cu trc khc). y khng nhm
d liu vo bn ghi m nhm thnh segment. Mi Segment c 1/n
trng. Quan h gia cc segment l quan h cha - con, con ph thuc
cha. V vy phi truy xut segment cha tng ng trc khi truy xut
n con (truy xut segment gc u tin). Trong cu trc CSDL mng:
c mi quan h N-N. Quan h cha con gi l quan h ch v thnh
vin. Trong cu trc ny c cc bn ghi. V vy truy xut bn ghi ch
trc, xong mi n thnh vin. Trong CSDL mng, cn to ra
kho/ch mc trn cc bn ghi thnh vin v truy xut chng nh
kho/ch mc.
Chng ta thy 2 loi cu trc trn bc l mt s nhc im sau:
- Khng c khi nim cho php NSD to lp, xy dng v thay i
cc bn ghi trong CSDL
- NSD ph thuc hon ton vo nhm pht trin h thng hiu
chnh v to bo co. Ngi lp trnh phi c nhiu k nng vit
nhng chng trnh truy xut CSDL
- Trong m hnh cy phn cp: cc cu vn tin i hi ngi lp
trnh phi c nhiu kinh nghim
- Trong CSDL mng, nhiu CSDL khng c tin ch vn tin dnh
cho NSD hoc nu c th cng rt hn ch.
1.3.4. M hnh d liu quan h v m hnh d liu hng i tng
M hnh d liu quan h c Codd xut nm 1970. N to
ra mt cuc cch mng mi trong lnh vc CSDL v nhanh chng thay
th cc m hnh d liu trc .
M hnh d liu quan h tng i n gin v d hiu. M hnh
d liu quan h l m hnh d liu m ct li ca n l CSDL quan h.
Mt CSDL quan h l mt tp ca mt hoc nhiu quan h, trong
mi mt quan h l mt bng. M hnh quan h s dng mt tp cc

Chng 1: Tng quan v c s d liu

47

bng biu din c d liu v mi lin h gia nhng d liu ny.


Bng c n ct v mi ct c mt tn duy nht.
Cc u im c bn ca m hnh d liu quan h so vi cc m
hnh khc:
- c xem l m hnh c c s ton hc vng chc nht.
- ang gi vai tr thng tr v l nn tng cho hng lot cc h
qun tr CSDL ni ting v ph bin nh Oracle, DB2, MS SQL server,
Access.
- Tng i n gin d hiu, mt CSDL quan h l mt tp quan
h, biu din n gin bng bng gm cc ct v hng gip NSD mi
lm quen vi CSDL c th hiu c ni dung CSDL.
- Cung cp cc khi nim cht ch c hnh thc ho cao, cho
php p dng cc cng c ton hc, cc thut ton ti u trn d liu.
- Tuy c tru tng ho cao nhng ch dng mc logic, ngha
l c lp vi mc vt l - mc ci t, vi cc thit b lu tr nn m
bo c tnh c lp gia d liu v chng trnh ng dng.
- Nh biu din d liu thng nht, n c th cho php s dng
cc ngn ng thao tc d liu mc cao, d s dng v d chun ho.
- NSD c th to v sa cc bn ghi trong CSDL, c th to bo
co, c lp vi nhm pht trin phn mm.
- CSDL c lu trong bng (ng vi tp) cha cc hng (ng vi
cc bn ghi) v cc ct (ng vi cc trng).
- To ra cc bng v cc ct bng cch s dng ngn ng nh
ngha d liu (DDL - Data Definition Languages). NSD c th hc d
dng c ngn ng ny trong thi gian ngn cng vi vic c th to
v sa bn ghi, to bo co, sa i cu trc, trch rt d liu. Nh vy
NSD c th lm vic c lp vi nhm lp trnh.
- Nhng CSDL quan h thng dng nht u s dng ngn ng
SQL (Structured Query Language).

48

C s d liu quan h v cng ngh phn tch - thit k

M hnh d liu hng i tng so vi cc m hnh d liu khc


l mt m hnh cho php biu din cc i tng kh t nhin v st
vi thc t hn c. Cc i tng phc tp v cc lin kt gia chng
c phn nh y v giu ng ngha. Do c kh nng biu din d
liu kh tt, nn m hnh d liu hng i tng cng h tr cc
ngn ng thao tc d liu hng i tng mnh, cho php ngi s
dng d dng biu din c cc truy vn kh phc tp. Tuy nhin, cho
n nay, cha c mt s thng nht v chun ho i vi cc khi
nim ca m hnh hng i tng cng nh cha c mt c s ton
hc tt hnh thc ho mc cao, cht ch i vi m hnh ny, do vy
n vn c tip tc nghin cu v pht trin trong tng lai.
Ngy nay, ngi ta ngh n mt m hnh d liu kt hp gia
m hnh d liu quan h v m hnh d liu hng i tng gi tt l
m hnh d liu quan h - hng i tng nhm tn dng c cc
u im ca mi m hnh trn. Nhng y thc s l mt vn kh
kh khn nn m hnh ny vn ang trong giai on nghin cu v
th nghim.
1.3.5. Phng php xy dng m hnh d liu
C hai quy trnh chnh c s dng to nn hai m hnh d
liu mc khi nim v mc logic da trn cch tip cn thc th - lin
kt v phng php m hnh ho i tng.
Quy trnh pht trin 1 m hnh khi nim d liu
Cc bc xy dng theo phng php m hnh:
1. Chnh xc ho d liu,
2. Xc nh cc thc th,
3. Xc nh cc mi quan h,
4. V m hnh khi nim d liu,
5. Chun ho (loi cc thuc tnh lp) v thu gn (thc th treo c
1 thuc tnh nm pha 1 trong mi quan h 1-N)

Chng 1: Tng quan v c s d liu

49

Quy trnh pht trin 1 m hnh d liu logic


1. Chuyn m hnh khi nim d liu sang m hnh d liu logicM hnh quan h (da vo 3 quy tc chuyn m hnh khi nim d liu
sang h lc quan h),
2. Chun ho n 3NF v hp nht cc quan h (nu cn),
3. V s E_R tng ng vi m hnh quan h t 3NF
Trong qu trnh phn tch, thit k v xy dng CSDL, c th ni
qu trnh xy dng m hnh d liu chim nhiu thi gian v cng sc
nht. Bi mc ch ca n l m bo chc chn rng tt c cc i
tng d liu trong bi ton phi c trnh by y v chnh xc.
Ngi thit k CSDL c th s dng m hnh d liu nh mt bn thit
k chi tit c th tin hnh thit k mt CSDL mc vt l.

51

Chng 2: M hnh c s d liu quan h

Chng 2

m hnh c s d liu quan h


2.1. Cc khi nim c bn
2.1. 1. nh ngha quan h
Cho R ={a1, a2,.., an} l mt tp hu hn, khng rng cc thuc
tnh.
Mi thuc tnh ai c mt min gi tr l Dai. Khi r - mt tp cc
b {h1, h2,.., hm} c gi l mt quan h trn R, vi hj (j =1, 2,..,m) l
mt hm: h j : R Dai sao cho: hj (ai) Dai
a i R

C th biu din quan h r dng bng:


Bng 2.1. Biu din quan h dng bng
a1

a2

...

an

h1

h1 (a1)

h1 (a2)

...

h1 (an)

h2

h2 (a1)

h2 (a2)

...

h2 (an)

...
hm

hm (a1)

hm (a2)

...

hm (an)

Nhn xt:
- nh ngha ny l quan trng. Ton b l thuyt c s d liu
da trn nh ngha ny. N c coi l ht nhn ca c s d liu
quan h.
- V h1, h2,.., hm l cc thnh phn trong tp hp quan h trong r.
Trong m hnh quan h, khng chp nhn hai bn ghi trng nhau trong
mt file d liu.

52

C s d liu quan h v cng ngh phn tch - thit k

V d
lu gi thng tin v cc mt hng, cn s dng bng thit b
nh sau:
Bng 2.2. Biu din quan h THIETBI
M thit b

Tn thit b

M t

n gi

Kho

CPUSK478P30

B vi x l
Pentium 4

Pentium IV 3.0C GHz


(Box/512Kb/Bus800)

240

ASUSP4V533MX

Bo mch ch
Pentium 4

VIA chipset/SK478/Bus533
VGA/Sound/NIC onboard,
support DDRAM, Huper
threading c AGP m rng

54

VGA8

Card mn
hnh

VGA 8Mb (2X) Ati

10

HDDQ30

a cng

Maxtor Quantum 30Gb


5400rpm

53

C th quy nh kch thc cho cc thuc tnh (cc trng)


nh sau:
Bng 2.3. Bng thuc tnh ca quan h THIETBI
Tn thuc tnh

Kiu

Kch thc

M thit b

K t

15

Tn thit b

K t

30

M t

K t

100

n gi

Kho

K t

C ngha l chng ta xc nh min gi tr cho cc thuc tnh:


- M thit b l mt xu k t c di khng qu 15
- Tn thit b l mt xu k t c di khng qu 30
- M t l mt xu k t c di khng qu 100
- n gi l mt s nguyn khng qu 5
- Kho l mt xu k t khng qu 2

Chng 2: M hnh c s d liu quan h

53

Nh vy ta c tp thuc tnh:
thit b = {M thit b, Tn thit b, M t, n gi, Kho}
y:
- DM thit b l tp cc xu k t di khng qu 15
- DTn thit b l tp cc xu k t di khng qu 30
- DM t l tp cc xu k t di khng qu 100
- Dn gi l tp cc s c di khng qu 5
- DKho l tp cc xu k t di khng qu 2
Khi chng ta c cc quan h r = {h1, h2, h3, h4}, y i vi
bn ghi th nht (dng th nht) chng ta c:
h1(M thit b) = CPUSK478P30
h1(Tn thit b) = B vi x l Pentium 4
h1(M t) = Pentium IV 3.0C GHz (Box/512Kb/Bus800)
h1(n gi) = 240
h1(Kho) = A
Khi vit R(a1,a2,,an) ta c mt lc quan h R
2.1.2. nh ngha ph thuc hm
Khi nim v ph thuc hm trong mt quan h l rt quan trng
trong vic thit k m hnh d liu. Nm 1970 E.F Codd m t ph
thuc hm trong m hnh d liu quan h, nhm gii quyt vic phn
r khng mt thng tin.
Cho R = {a1, a2,.., an} l tp cc thuc tnh, r = {h1, h2,.., hm} l
mt quan h trn R, v A, B R (A, B l tp ct hay tp thuc tnh).
Khi ta ni A xc nh hm cho B hay B ph thuc hm vo A trong
f

r (k php A B ) nu: ( hi, hj r) ((a A) (hi(a) = hj(a))


r

(b B) (hi(b) = hj(b))) ngha l i s trng nhau th hm c cng

54

C s d liu quan h v cng ngh phn tch - thit k


f

gi tr. t Fr = {(A, B): A, B R, A B }. Lc Fr c gi l h


r

y cc ph thuc hm ca r.
Nhn xt:
Ta c th thy rng B m ph thuc hm vo A, nu hai dng bt
k m cc gi tr ca tp thuc tnh A m bng nhau tng cp mt, th
ko theo cc gi tr trn tp thuc tnh B cng phi bng nhau tng
cp mt.
V d:
Xt quan h:
Bng 2.4. Quan h thisinh
sbd

Hoten

iachi

Tinh

Khuvc

P711001

Nguyn Thi Bnh

12 Bn Nhn

Lng Sn

P711002

Trn Nam Ninh

3 Kim M

H Ni

P711003

L Thanh Hoa

53 Hai B Trng

H Ni

P711004

V Thy Hng

89 ng ng

Lng Sn

P711005

Phm Nh Em

40 Trn Hng o

Hi Dng

Trong quan h THisINH, da vo nh ngha ph thuc hm ca


quan h ta c:
{tinh} {khuvuc}
{sbd} {hoten, diachi, tinh, khuvuc}
ngha: Khi nim ph thuc hm miu t mt loi rng buc
(ph thuc d liu) xy ra t nhin nht gia cc tp thuc tnh.
2.1.3. H tin Armstrong
Gi F l tp xc nh cc ph thuc hm i vi lc quan h
R v X Y l mt ph thuc hm. X, Y R. Ni rng X Y c

Chng 2: M hnh c s d liu quan h

55

suy din logic t F nu mi quan h r trn R u tho mn ph thuc


hm ca F th cng tho mn X Y. Chng hn F ={A B, B C}
th A C suy ra t F. Gi F+ l bao ng (closure) ca F, tc l tp
tt c cc ph thuc hm c suy din logic t F. Nu F = F+ th F l
h y (full family) ca cc ph thuc hm.
c th xc nh kho ca mt lc quan h v cc suy din
logic gia cc ph thuc hm cn thit phi tnh c F+ t F. Do
i hi phi c cc h tin . Tp cc quy tc ca h tin c
Armstrong (1974) a ra, thng c gi l h tin Armstrong.
H tin Armstrong (Armstrong s Axioms):
Cho R = {a1,...,an} l tp cc thuc tnh. X, Y, Z R.
H tin Armstrong c 3 tnh cht c bn sau:
- A1 (phn x): Nu Y X th X Y
- A2 (tng trng): Nu Z R v X Y th XZ YZ.
Trong k hiu XZ l hp ca hai tp X v Z thay cho k hiu X Z.
- A3 (bc cu): Nu X Y v Y Z th X Z.
B 1:
H tin Armstrong l ng. C ngha F l tp cc ph thuc
hm ng trn quan h r. Nu X Y l tp cc ph thuc hm c
suy din t F nh h tin Armstrong th X Y l ng trn quan
h r.
B 2:
H tin Armstrong c th c m rng thnh:
1. Tnh phn x (Reflexivity):
Y X R X Y (ph thuc tm thng: trivial dependency)
2. Tnh tng trng (augmentation):
X Y, Z R XZ YZ

56

C s d liu quan h v cng ngh phn tch - thit k

3. Tnh bc cu:
X Y, Y Z X Z
4. Tnh hp (union rule):
X Y, X Z X YZ
5. Tnh n tri:
X Y; X,Y,Z R XZ Y
6. Tnh phn r/tch (decomposition rule) (thu phi):
X Y, Z Y X Z
7. Tnh hp dc:
X Y, P Q XP YQ
8. Tnh ta bc cu:
X Y, WY Z WX Z
9. Tnh tch v hp
Cho A1, A2,..., Ap R. X A1A2...Ap X Ai
10. Tnh tch lu
X YZ, Z AV X YZA
Nhn xt:
f

- Ngi ta cn vit (A, B) hay A B thay cho A B .


r

- Lc tp hp tt c (A,B) nh th xc nh mt h f trn R khi


chng tha mn h tin Armstrong.
- Fr l mt h f trn R. Armstrong chng minh mt kt qu rt
quan trng nh sau: nu Y l mt h f bt k th tn ti mt quan h r
trn R sao cho Fr = Y.
- Vic nghin cu ph thuc hm khng l thuc vo cc quan h
(bng) c th. V vy, p dng c cc cng c ton nhm sng t
cu trc logic ca m hnh d liu quan h

57

Chng 2: M hnh c s d liu quan h

- C nhiu quan h khc nhau nhng cc h y cc ph thuc


hm ca chng li nh nhau
V d:
Cho r1, r2 l cc quan h (bng 2.5):
Bng 2.5
r1

r2

C th thy rng r1 v r2 khc nhau nhng Fr1 = Fr2 v ch c A B


2.1.4. nh ngha hm ng
Mt hm L: P(R) P(R), (P(R) l tp cc tp con ca R) c
gi l hm ng trn R nu vi mi A, B P(R):
- A L(A)
- Nu A B th L(A) L(B)
- L (L(A)) = L (A).
nh l:
Nu F l mt h f v chng ta t LF(A) = {a: a R: (A,{a}) F}
th LF l mt hm ng. Ngc li nu L l mt hm ng th tn ti
duy nht mt h f: F trn R sao cho L = LF.
y, F = {(A, B): A, B R, B L(A)}.
Nh vy, chng ta thy c s tng ng 1-1 gia lp cc hm
ng v lp cc h f. S tng ng ny c minh ha bng hnh 2.1:

58

C s d liu quan h v cng ngh phn tch - thit k

Lp cc h ph thuc hm

Lp cc hm ng

Hnh 2.1.
Chng ta c th d dng chng minh c 3 tnh cht sau ca
hm ng:
+ L(X)L(Y) L(XY)
+ L(XY) L(X) L(Y)
+ L(L(X)Y) = L(XL(Y)) = L(XY)
2.1.5. nh ngha s quan h
Cho trc R = {a1, a2,.., an} l tp cc thuc tnh.
Khi s l mt s quan h, s = < R, F >
A1 B1
A B
2
2
F = ...
...

A t Bt

y Ai, Bi R (i = 1,...,t) v Ai Bi l ph thuc hm


V d: Cho s quan h s = < R, F >, vi R = {a1, a2, a3, a4}
{a1} {a 3 , a 4 }ct 1 xc nh hm vi ct 3, ct 4
{a } {a }
ct 2 xc nh hm vi ct 3
3
2
F = ...
...

{a 3 } {a 4 } ct 3 xc nh hm vi ct 4

Chng 2: M hnh c s d liu quan h

59

2.1.6. nh ngha bao ng


a. nh ngha bao ng ca tp thuc tnh trn s quan h
Gi s F l tp cc ph thuc hm trn s quan h s = < R, F >.
Gi F+ l tp tt c cc ph thuc hm c th suy din logic t F bi
cc lut ca h tin Armstrong.
Gi s A R, k hiu A+ = {a: A {a} F+}. A+ c gi l
bao ng ca A trn s.
ngha: A+ l tp tt c cc thuc tnh a m ph thuc hm
A {a} c th suy din logic t F nh h tin Armstrong.
Mnh A B F+ nu v ch nu B A+ ng nh vo b
di y.
B

X Y suy din t h tin Armstrong khi v ch khi Y X+.


Chng minh:
iu kin : Gi s Y = A1... An vi A1,..., An l tp cc thuc
tnh v Y X+.
T nh ngha X+ c X Ai. p dng tin Armstrong cho mi
i, lut hp suy ra X Y. Ngc li, gi s c X Y, p dng h tin
Armstrong cho mi i c X Ai, Ai Y nh lut tch. T suy ra
Y X+.
Chng ta c th d dng chng minh c mnh quan trng sau:
Mnh

Php ly bao ng ca tp thuc tnh l mt hm ng tho mn


cc tnh cht sau:
1. Tnh phn x: X X+
Tht vy, T a X suy ra X a F+ suy ra a X+
2. Tnh n iu: nu X Y th X+ Y+
Tht vy, theo thut ton tnh bao ng

60

C s d liu quan h v cng ngh phn tch - thit k

3. Tnh lu ng: X++ = X+


Tht vy, theo thut ton tnh bao ng
4. X+Y+ (XY)+
Tht vy, da vo L(X)L(Y) L(XY)
5. (X+Y)+ = (XY+)+ = (XY)+
Tht vy, da vo L(L(X)Y) = L(XL(Y)) = L(XY)
6. X Y khi v ch khi Y X+ (b )
7. X Y khi v ch khi Y+ X+
Tht vy:
iu kin cn:
+ X Y theo tnh cht 6 suy ra Y X+,
+ da theo tnh cht 2 suy tip ra Y+ X++
+ da theo tnh cht 3 suy ra Y+ X++ = X+ tc l Y+ X+
iu kin :
Y+ X+, da theo tnh cht 1 suy ra Y Y+ X+, tc l Y X+
8. X X+, X+ X
Tht vy: X X+ (theo nh ngha bao ng)
X+ X (theo tnh cht 1)
9. X+ = Y+ khi v ch khi X Y v Y X
Tht vy:
iu kin cn:
X X+ = Y+ suy ra X Y+ suy ra Y X
Y Y+ = X+ suy ra Y X+ suy ra X Y
iu kin :
Y X suy ra X Y+ suy ra X+ Y++ = Y+ suy ra X+ Y+

(1)

Chng 2: M hnh c s d liu quan h

61

Mt khc X Y suy ra Y X+ suy ra Y+ X++ = X+


suy ra Y+ X+

(2)

Kt hp (1) v (2) suy ra X+ = Y+


b. nh ngha bao ng ca mt tp thuc tnh trn mt quan h
Gi s r = {h1, h2,.., hm} l mt quan h trn R = {a1, a2,..., an}.
f

Ta t: A r+ = {a : A {a}}
r

A +r c gi l bao ng ca A trn r.

2.1.7. nh ngha kho ca quan h, s quan h, h F


a. nh ngha kho
Gi s r = {h1, h2,.., hm} l mt quan h, s = < R, F > l mt s
quan h, trong R = {a1, a2,..., an} l tp cc thuc tnh, F l tp xc
nh cc ph thuc hm trn R. Gi Y l mt h f trn R v A R.
Khi y A l mt kho ca r (tng ng l mt kho ca s, mt kha
ca Y) nu: A R (A R F+, (A, R) Y), ngha l A phi tho
r

mn cc tnh cht sau y:


- Vi bt k hai b h1, h2 r u tn ti mt thuc tnh a A sao
cho h1(a) h2(a). Ni cch khc, khng tn ti hai b m c gi tr
bng nhau trn mi tp thuc tnh ca A. iu kin ny c th vit
t1(A) t2(A). Do vy, mi gi tr ca A xc nh l duy nht. Khi bit
gi tr thuc tnh trong A s bit c cc gi tr ca thuc tnh khc.
- Theo nh ngha ca Codd: Nu c hai dng bng nhau trn cc
gi tr ca kho A th s ko theo bng nhau trn tt c cc ct cn li.
Nh vy s c hai ct bng nhau, iu ny khng th c c v nu
c th y l d liu nhm ln.
- D dng thy rng, vi lc R(A,B,C,D) m A -> C, B -> D th
tp hp cc thuc tnh v tri ca ph thuc hm {A,B} chnh l kho
v tt c cc thuc tnh ca lc u c mt trn ph thuc hm.

62

C s d liu quan h v cng ngh phn tch - thit k

b. Kho ti tiu
Chng ta gi A (A R) l mt kho ti tiu ca r (tng ng ca
s, ca Y) nu:
+ A l mt kho ca r (s,Y) tc A R
+ Bt k mt tp con thc s ca A khng l kho ca r (s, Y) hay
khng tn ti A' l tp con thc s ca A (A' A) m A' R.
Nhn xt:
Kho chnh l hnh nh ca ct m s hay s th t (v s th t
khng th trng nhau c).
Kha ng mt vai tr rt quan trng v nh c n ngi ta mi
tm kim c (tm kim bn ghi). Php ton tm kim bn ghi trong
file d liu l php ton quan trng nht v ch sau khi tm kim xong
th ngi ta mi tin hnh loi b bn ghi y hoc b sung mt bn ghi
mi vo trc hoc sau bn ghi m ta tm c.
D rng d thy A c th chnh bng R nhng ngi ta vn phi i
tm kha ti tiu, tc l kha nh nht m khng th nh hn c na
vic so snh cc gi tr kha vi nhau trong qu trnh tm kim bn
ghi l nhanh nht.
Mt s quan h c th c nhiu kha, thm ch cn c nhiu
kho ti tiu.
V d:
Bng 2.6. Quan h BAN_HANG
Mhng

Tn hng

S lng (chic)

VT0001

V tuyn

1000

TL0002

T lnh

500

RA2012

Radio

2000

Trong bng trn m s mt hng (Mhng) l kho v l kho ti


tiu. Mi gi tr m hng u xc nh duy nht mt loi mt hng
trong quan h BAN_HANG.

Chng 2: M hnh c s d liu quan h

63

c. H Sperner
K hiu Kr, Ks, Ky l tp tt c cc kho ti tiu ca r (s, Y).
Ta gi K (vi K-tp con ca P(R)) l mt h Sperner trn R nu
vi A, B K (A B),
D thy Kr, Ks, KY l h Sperner trn R.
d. Tp phn kho
Gi s K = {K1, K2,.., Kt} l mt h Sperner trn R = {a1, a2,.., an}.
Ta nh ngha tp cc phn kho ca K k hiu K-1 nh sau:
K-1 = {A R: (B K) (B A) v (A C) (B K) (B C)}

(tc l khng cha tp con thuc K v ni rng n ra s c 1 phn t


ca K lt vo)
Tp phn kha ng vai tr quan trng trong qu trnh nghin cu
cu trc logic ca cc h ph thuc hm, kha, dng chun, quan h
Armstrong, c bit i vi cc bi ton t hp trong m hnh d liu
quan h.
Nhn xt:
Nu K ng vai tr l mt tp cc kho ti tiu ca mt s
quan h no th theo nh ngha K-1 l tp tt c cc tp khng phi
l kho ln nht.
- D thy rng K-1 cng l h Sperner trn R.
- y ta lun gi thit rng nu mt h Sperner ng vai tr tp
cc kho ti tiu (tp cc phn kha), th h Sperner ny khng rng
(Khng cha R).
- Demertovics.J. chng t rng nu K l mt h Sperner tu ,
th tn ti mt s quan h s sao cho Ks = K v tn ti quan h r
Kr = K.
2.1.8. H bng nhau
Gi s r = {h1, h2,.., hm} l mt quan h trn R = {a1, a2,.., an}

64

C s d liu quan h v cng ngh phn tch - thit k

t Er = {Eij: 1 i<j | r |} trong Eij = {a R: hi(a) = hj(a)},


| r | = m, Er c gi l h bng nhau ca r
Gi s Mr = {Er/Eij vi Eij: Epq: Eij Epq}. Khi Mr c gi l
h bng nhau cc i ca r.
Nhn xt:
H bng nhau v h bng nhau cc i ng mt vai tr quan
trng trong cc thut ton thit k cng nh mi quan h gia cc lp
quan h v lp cc ph thuc hm trong qu trnh nghin cu cu trc
logic ca lp cc ph thuc hm.
V d: Cho quan h r (bng 2.7).
Bng 2.7: Quan h r
a1

a2

a3

a4

a5

E12 = {a1 , a 3 , a 5 }

E13 = { a 2 }
E = a , a , a
14 { 2 3 5 }
Er =
E 23 = {a 4 }
E = a , a , a
24 { 3 4 5 }
E 34 = {a 2 , a 4 }

{a1 , a 3 , a 5 }

{a 2 , a 4 }
Mr =
{a 2 , a 3 , a 5 }
{a , a , a }
3 4 5

Vy Mr l h bng nhau cc i ca r.

Chng 2: M hnh c s d liu quan h

65

2.2. Mt s thut ton lin quan n Kho


2.2.1. Mt s thut ton lin quan n bao ng
Mt vn thng xuyn xy ra l i vi mt s quan h cho
trc (s = <R, F>), v mt ph thuc hm A B, chng ta mun bit
A B c l phn t ca F+ hay khng. tr li cu hi ny chng ta
cn tnh bao ng F+ ca tp cc ph thuc hm F.
Tuy nhin tnh F+ trong trng hp tng qut l rt kh khn v tn
km thi gian v cc tp ph thuc hm thuc F+ l rt ln cho d F c
th l nh. Chng hn, F = {A B1, A B2,.... A Bn}, khi F+ bao
gm c nhng ph thuc hm A Y vi Y {B1 B2 ... Bn}, nh
vy ta s c 2n tp con Y. Trong khi vic tnh bao ng ca tp thuc
tnh A li khng kh. Theo kt qu trnh by trn th vic kim tra
A B F+ s c th bi vic tnh A+.
Thut ton 1: Tnh bao ng ca mt tp cc thuc tnh i vi tp
cc ph thuc hm trn s quan h
Vo: s = < R, F > l mt s quan h
trong :
R = (a1, a2,.., an) l tp hu hn cc thuc tnh.
F l tp cc ph thuc hm v A R
Ra: A+ l bao ng ca A i vi F.
Nh rng A+ = {a: A {a} F+}.
A B F+ nu v ch nu B A+.
Phng php:
Ln lt tnh cc tp thuc tnh A0, A1 nh sau:
1. A0 = A
2. Ai = Ai-1 {a} nu (C D) F, {a} D v C Ai-1

66

C s d liu quan h v cng ngh phn tch - thit k

3. R rng A = A0 A1 ... Ai R v R hu hn nn tn ti i
sao cho Ai = Ai+1
Khi y thut ton dng v Ai chnh l A+
V d:
Xt s quan h s = < R, F >
trong :
{c} {t}
{h, r} {c}

F = {h, t} {r}
{c,s} {g}

{h,s} {r}

R = {c, t, h, r,s, g}

Tnh {h, r}+?


A0 = {h, r}
A1 = {h, r, c} do {h, r} {c} F
A2 = {h, r, c, t} do {c} {t} F
A3 = {h, r, c, t} = A2
Vy {h, r}+ = {h, r, c, t}
Thut ton 2: Tnh bao ng cho mt tp bt k trn quan h r
Vo: r = {h1, h2,.., hm} l mt quan h trn R = {a1, a2,.., an}, A R
Ra: A+r
Bc 1: T r xy dng mt tp Er = {Eij: 1 i < j m}
Eij = {a: a R v hi(a) = hj(a)}
Bc 2: T Er xy dng mt tp
M = {B P(R): Tn ti Eij Er: Eij = B}
y P(R) l tp cc tp con ca R

67

Chng 2: M hnh c s d liu quan h

Bc 3: A+r c tnh nh sau:


nu tn ti B M: A B, (giao ca tt c cc
tp A B trong M cha n (A))

A =
R

+
r

ngc li

C th thy rng Eij = (trong trng hp hai dng i v j khng


c ct no trng nhau v gi tr, tc l chng khc nhau hon ton.
Khng bao gi c Eij = R (c ngha rng Eij = ton b khng
gian), v nu xy ra th c hai dng trng nhau, theo nh ngha quan
h th khng cho php c hai dng trng nhau.
V d: Xt quan h r (bng 2.8)
Bng 2.8

Tnh {B, C}

+
r

E12 ={B, C}, E13 = {D, E}, E14 = {D}


E23 = {A}, E24 ={E}
E34 = {B, C, D}
M = {{A}, {B, C}, {B, C, D}, {D}, {D, E}, {E}}
Vy {B, C}+r = {B, C} {B, C, D} ={B, C}
2.2.2. Mt s thut ton lin quan n kho
Khi gii quyt cc bi ton thng tin qun l, ngi ta thng s
dng cc h qun tr c s d liu m trong cha c s d liu quan
h. Cc php x l i vi bi ton ny thng l tm kim bn ghi sau
thm bn ghi mi, thay i ni dung bn ghi hoc xo bn ghi.

68

C s d liu quan h v cng ngh phn tch - thit k

Trong cc thao tc trn, vic tm kim bn ghi l rt quan trng. Mun


tm c bn ghi trong file d liu th chng ta phi xy dng kho
ca file d liu .
C hai thut ton tm kho ca quan h v lc quan h. Tm
kho y chnh l tm kho ti tiu.
Thut ton 3: Tm kho ti tiu ca mt quan h
Vo: r = {h1,.., hm} l mt quan h trn tp thuc tnh R = {a1,..,an}
Ra: K l mt kho ti tiu ca r.
Phng php:
Bc1: Tnh Er = {A1, A2....} trong Er l cc h bng nhau.
Bc 2: Tnh Mr l cc h bng nhau cc i.
Bc 3: Ln lt tnh cc thuc tnh K0, K1,.., Kn theo qui tc:
K0 = R = {a1,.., an} hoc K0 l mt kho bit.
K i 1 {a i } nu: khng tn ti A Mr: Ki-1- { a i} A

Ki =
(bao Ki)

trong trng hp ngc li


K i 1

Bc 4: t K = Kn. Khi K l kho ti tiu.


Nhn xt: Nu ta thay i th t cc thuc tnh ca r bng thut
ton ny chng ta c th tm c mt kho ti tiu khc.
V d: Cho quan h r (bng 2.9):
Bng 2.9
A

69

Chng 2: M hnh c s d liu quan h

Bc 1: E12 = {A,C,D}
E23 =

E13 = {B}

E14 = {A,D,E}

E24 = {A,B,D}

E34 = {C}

Bc 2: Mr = {{A, C, D}, {A, D, E},{A, B, D}}


Bc 3: (KH: P(Mr) - phn t ca Mr)
K0 = {A, B, C, D, E}
Xt K1 = K0 - {A} = {B, C, D, E} P(Mr) K1 ={B, C, D, E}
Xt K2 = K1 - {B} = {C, D, E} P(Mr) K2 = {C, D, E}
Xt K3 = K2 - {C} = {D, E} P(Mr) K3 = {C, D, E}
Xt K4 = K3 - {D} = {C, E} P(Mr) K4 ={C, E}
Xt K5 = K4 - {E} = {C} P(Mr) K5 ={C, E}
Vy {C, E} l mt kho ti tiu ca r.
Cng v d trn nhng ta thay i tp thuc tnh theo th t l:
A, C, E, B, D}. Ta i tm kho ti tiu ca r.
Bc 1 v bc 2 ging nh trn
Bc 3:
K0 ={A, C, E, B, D}
Xt K1 = K0 - {A} = {C, E, B, D} P(Mr) K1={C, E, B, D}
Xt K2 = K1 - {C} = {E, B, D} P(Mr) K2 ={E, B, D}
Xt K3 = K2 - {E} = {B, D} P(Mr) K3 = K2 ={E, B, D}
Xt K4 = K3 - {B} = {E, D} P(Mr) K4 = K3 = {E, B, D}
Xt K5 = K4 - {D} = {B, E} P(Mr) K5 = {E, B}
Vy kho ti tiu ca r l{E, B}.
Nh vy thay i th t ca cc thuc tnh, ta s c nhng tp
kho ti tiu khc nhau.
V d: Cho quan h r (bng 2.10):

70

C s d liu quan h v cng ngh phn tch - thit k

Bng 2.10
A

Bc 1: E12 ={B, C}

E13 ={E}

E14 =

E23 ={A, D}

E24 ={E}

E34 ={B}

Bc 2: Mr ={{B, C}, {E},{A, D}}


Bc 3:
* Cc thuc tnh c ly theo th t r1 ={A, B, C, D, E}
K0 = R = {A, B, C, D, E}
Xt K1 = K0 - {A}= {B, C, D, E} P(Mr) K1 = B, C, D, E}
Xt K2 = K1 - {B}= {C, D, E} P(Mr) K2 = {C, D, E}
Xt K3 = K2 - {C}= {D, E} P(Mr) K3 = {D, E}
Xt K4 = K3 - {D}= {E} P(Mr) K4 = K3 = {D, E}
Xt K5 = K4 - {E}= {D} P(Mr) K5 = K4 = {D, E}
Vy kho ti tiu ca r l {D, E}.
* Cc thuc tnh c ly theo th t r2 ={E, D, C, B, A}
K0 = R = {E, D, C, B, A}
Xt K1 = K0 - {E} = {D, C, B, A} P(Mr) K1 = {D, C, B, A}
Xt K2 = K1 - {D} = {C, B, A} P(Mr) K2 = {C, B, A}
Xt K3 = K2 - {C} = {B, A} P(Mr) K3 = {B, A}
Xt K4 = K3 - {B} = {A} P(Mr) K4 = K3 = {B, A}
Xt K5 = K4 - {A} = {B} P(Mr) K5 = K4 = {B, A}
Vy kho ti tiu khc ca quan h l {B, A}.

Chng 2: M hnh c s d liu quan h

71

Thut ton 4: Tm kho ti tiu cho mt s quan h


Vo: s quan h s = <R, F>
trong : F l tp cc ph thuc hm
R ={a1,.., an}l tp cc thuc tnh
Ra: K l ti tiu ca s
Phng php:
Tnh lin tip cc tp thuc tnh K0, K1,.., Kn nh sau:
K0 = R = {a1,.., an}
Ki-1 nu K i-1 { ai} R F+
K i 1
Ki =
K i 1 {a i } Ki-1{ a i} nu ngc li.
K = Kn l kho ti tiu.
Ta c th dng cng thc tng ng:
K i 1 {a i } nu {Ki-1 ai}+ = R
Ki =
nu ngc li.
K i 1

Nhn xt:
- Thay i th t cc thuc tnh ca R bng thut ton trn chng
ta c th tm c mt kho ti tiu khc.
- Nu nh bit A l mt kho no th c th t K0 = A, ta
vn tm ra c kho ti tiu v thi gian tm nhanh hn.
V d: Gi s s = < F, R > l mt lc quan h trong :
R = {a, b, c, d}
F = {{a, b}{d},{c}{b}}
Tm kho ti tiu ca s quan h.
p dng thut ton trn ta c:
+ K0 = R ={a, b, c, d}
+ Tnh K1

72

C s d liu quan h v cng ngh phn tch - thit k

Xt K1 = K0 {a} ={b, c, d}
{b, c, d}+ = {b, c, d} R
Vy K1 ={a, b, c, d}. (K1 = K0)
+ Tnh K2
Xt K2 = K1{b} = {a, c, d}
{a, c, d}+ = {a, b, c, d} = R
Vy K2 ={a, c, d}
+ Tnh K3
Xt K3 = K2 {c} = {a, d}
{a, d}+ = {a, d} R
Vy K3 ={a, c, d} (K3 = K2)
+ Tnh K4
Xt K4 = K3 {d} = {a, c}
{a, c}+ = {a, b, c, d} = R
Vy K4 = {a, c}
Vy kho ti tiu l {a, c}.
2.2.3. Thut ton xc nh cc thuc tnh c bn
Gi s r l mt quan h trn R v Kr l tp tt c cc kho ti tiu
ca r. Ta ni a l thuc tnh c bn ca r nu tn ti mt kho ti tiu
K (K Kr) a l mt phn t ca K.
Nu a khng l thuc tnh c bn, a s c gi l thuc tnh
th cp.
i vi lc quan h, ta cng c nh ngha tng t.
Thut ton 5: Tm tt c cc thuc tnh c bn ca mt quan h trn R
Vo: r ={h1,..,hm} l mt quan h trn R.
Ra: V l tp tt c cc thuc tnh c bn ca r.

73

Chng 2: M hnh c s d liu quan h

Phng php:
Bc 1: T r ta xy dng mt tp Er = {E i j: m j > i 1}
Trong E i j ={aR: hi(a) = h j (a)}
Bc 2: T Er ta xy dng tp
M ={B P(R): E i j Er: E i j = B}
Bc 3: T M ta xy dng tp
Mr = {B M: B M: B B}
(ch ly tp no trong M m khng c tp khc bao n, tc l b bt
tp con thc s)
Bc 4: Xy dng tp V = R- B m B Mr.
V d:
Xt quan h (bng 2.11)
Bng 2.11
A

Bc 1: Tnh Er
E12 ={B,C}

E13 ={A}

E14 ={D}

E23 ={D}

E24 ={A}

E34 ={B,C}

Bc 2: Tnh M ={{B,C},{A},{D}}
Bc 3: Tnh Mr ={{B,C},{A},{D}}. V giao ca cc tp con
trong Mr bng rng nn sang,
Bc 4: V = R- ={A,B,C,D}.
2.3. Cc php ton x l file d liu

Cho 2 file d liu sau (bng 2.12):

74

C s d liu quan h v cng ngh phn tch - thit k

Bng 2.12
File r

File t

2.3.1. Php hp (r t) (Union)


Gi s r, t l 2 file d liu c cng s ct n khi file d liu l
hp 2 file r v t k php l r t, gm n ct bao gm cc bn ghi, cc
dng ca c file r v file t. Nhng dng ging nhau ch ly mt ln.
Nu r v t l cc file c tn cc ct khc nhau th ct ca quan h hp
khng c tn.
V d:
Vi r v t nh trn ta c r t l (bng 2.13):
Bng 2.13
a

2.3.2. Php tr (r-t) (Difference)


Gii s r v t l 2 file d liu c cng n ct.
File d liu gi l hiu, k php r-t l mt file d liu n ct bao
gm cc bn ghi ca r nhng khng c mt trong t. Nu r v t c tn
cc ct khc nhau th file d liu hiu khng c tn cc ct.

75

Chng 2: M hnh c s d liu quan h

V d: Bng 2.14
Bng 2.14
r-t=
a

2.3.3. Php giao (rt) (Intersection)


Gi s r v t l 2 file d liu cng n ct. File d liu giao rt bao
gm file d liu c n ct gm cc bn ghi c c trong t v r. Nu file
d liu c cc ct khc nhau th file d liu giao khng c tn cc ct.
V d:
Vi r v t cho trc ta c bng 2.15.
Bng 2.15
rt=
a

2.3.4. Php tch -cc (r x t) (Cartesian product)


Cho r l file d liu trn R1 = {a1, a2,..., an}
t l file d liu trn R2 = {b1, b2,..., bm}
Khi file d liu tch -cc k php r x t l file d liu gm
n + m ct. l n ct ca r v m ct ca t. Cc dng ca tch -cc c
dng x1, x2,..., xn, y1, y2,..., ym. y x1, x2,..., xn r v y1, y2,..., ym t.
S lng cc dng ca tp tch r x t bng s lng dng ca r
nhn vi s lng dng ca t. K hiu: | r x t | = |r| x |t|
Vi r v t nh trc ta c bng 2.16:

76

C s d liu quan h v cng ngh phn tch - thit k

Bng 2.16
rxt=
rA

tA

2.3.5. Php chiu (Projection)


Gi s r l file d liu c tp ct l R={a1,a2,...,an} khi php
chiu k hiu l ln tp r l i1,i2,...,ip(r), i l s th t ly trong tp
t 1 n n. j = 1,2,...,p (ch s p <= n)
Khi ta thc hin php chiu nh sau: Gi li p ct c s hiu l
i1,i2,...,ip v loi b cc dng trng nhau.
V d:
Vi r v t cho trc ta c bng 2.17:
Bng 2.17
1,2(r)=
A

77

Chng 2: M hnh c s d liu quan h

2.3.6. Php chn (Restriction)


Gi s r l file d liu trn R={a1,a2,...,an} php chn hnh thnh
file d liu k php F(r) l file d liu c cng s ct nh r nhng
s dng ch bao gm cc dng ca r tho mn iu kin F.
y F l biu thc c iu kin gm:
- Cc ton hng (tn ct v hng)
- Cc php ton quan h s hc (<,=,=,>,=,?)
- Cc php ton logic (^,v, l php v, hoc, ph nh)
- Hng c t trong du nhy.
V d: Vi r cho trc (trong bng 2.12)
F l iu kin A =a B = b
khi F(r) l php chn c thc hin bng cch rt ra cc bn ghi
tho mn F t r v loi b cc bn ghi dng trng nhau.
Bng 2.18
A

2.3.7. Php chia (Division)


Gi s r l file d liu n ct
t l file d liu m ct, trong n > m v t
File d liu thng k php l: rt c to ra nh sau:
A1 = 1,...,n-m(r)
A2 = A 1 x t
A3 = A2-r
A4 = 1,2,...,n-m(A3)
rt = A1 - A4
Nh vy: rt = 1,...,n-m(r) - 1,...,n-m ((1,...,n-m(r) x t)-r)

78

C s d liu quan h v cng ngh phn tch - thit k

Php chia l php phc tp nht m Codd ra, bn cht ca php


ny l sng lc trong n-m ct u ca file d liu b chia (chnh l r) m
khng b rng buc bi file d liu chia (t). C th thy rng cch tnh
file d liu thng ch dng php chiu v php tch -cc.
V d:
Cho file r nh trong bng 2.19:
Bng 2.19
A

Bng 2.20: file d liu t

Bng 2.21: file d liu r t

2.3.8. Php ni iu kin 2 file d liu (Join)


Gi s r l file d liu n ct
t l file d liu m ct
l mt trong nhng quan h s hc: <, , >, , . Khi k php
php ni 2 file d liu r v t c iu kin l r >< t

Khi kt qu ca php ni ca 2 file d liu r v t l file d liu


c n+m ct bao gm cc bn ghi ca tch cc r x t, trong cc bn
ghi ny tho mn quan h s hc .

V d: Vi r v t cho, ta c php ni :

79

Chng 2: M hnh c s d liu quan h


Bng 2.22
r.A = t.A
r.A

t.A

2.3.9. Php ni 2 file d liu (Join)

Gi s r l file d liu n ct
t l file d liu m ct v c q ct c tn trng nhau A1,...,Aq, ta k
php php ni r vi t nh sau: r >< t
Php ni c thc hin nh sau:
1. Tnh r x t
2. Thc hin chn trong tch -cc ly ra cc bn ghi tho mn
iu kin cc ct c tn trng nhau th c cng gi tr.
3. Dng php chiu loi b q ct (tn ging nhau), mi cp ging
nhau ch gi li mt
Nh vy s ct ca php ni l n+m-q
r >< t = i1i2...in+m-q(rA1=tA1 ... rAq =tAq(r x t))
V d:
Bng 2.23: file r

Bng 2.24: file t

80

C s d liu quan h v cng ngh phn tch - thit k

Bng 2.25
r x t=
rA

tA

Bng 2.26

Bng 2.27

(rA1 = tA1 ... rAq=t.Aq) =

() =

rA

tA

rA

2.3.10. V d p dng
C bng tng kt bn hng chi
Ngy thng

M hng

2905

MH1

Tn hng

n gi

S lng

T lnh

MH2

Qut in

MH6

Bp ga

Thnh tin

23

thanh ton

T y, xy dng bng ng vi lc quan h sau:


BANHANG (Ngy thng, M hng, Tn hng, n gi, S lng,
tng theo ngy, thanh ton).
Kho ti tiu l {ngy thng, m hng}
Ngi ta tch c thnh cc bng chun 3 nh sau:

81

Chng 2: M hnh c s d liu quan h

1. KHOILUONG
Ngy thng

M hng

S lng

2905

MH1

2905

MH3

2905

MH6

3005

MH2

3105

MH1

3105

MH4

3105

MH9

Ngy thng

Tng

Thanh ton

2905

23

3005

12

3105

32

21

2. DOANHSO

3. HANG
M hng

Tn hng

MH1

T lnh

MH3

Qut in

MH6

Bp ga

MH2

Bn l

MH4

Xe my

MH9

Ni cm in

4. MATHANG
Tn hng

n gi

T lnh

Qut in

Bp ga

Bn l

Xe my

Ni cm in

82

C s d liu quan h v cng ngh phn tch - thit k

1. Tm li BANHANG?
BANHANG = khi lng >< Doanh s >< Hng >< Mt hng
Ngy
thng

M
hng

2905

MH1

2905

Tn hng

n gi

S
lng

Tng
theo ngy

Thanh
ton

T lnh

23

MH3

Qut in

23

2905

MH6

Bp ga

23

3005

MH2

Bn l

12

3105

MH1

T lnh

32

21

3105

MH4

Xe my

32

21

3105

MH9

Ni cm in

32

21

2. Cho bit doanh s bn ra sau ngy 29 thng 5?


ngy thng, tng(ngy thng > 2905(DOANHSO))
Ngy thng

Tng

3005

12

3105

32

3. Cho bit tn hng v s lng bn trong ngy 29 thng 5?


tn hng, s lng(ngy thng =

2905

(KHOILUONG) >< HANG)

Tn hng

S lng

T lnh

Qut in

Bp ga

4. Cho bit cc ngy m trong nhng ngy ny doanh s bn ra


t nht l 20?
ngy thng(tng >= 20(DOANHSO)
Ngy thng
2905
3105

83

Chng 2: M hnh c s d liu quan h

5. Cho bit m hng v n gi ca nhng mt hng bn ra trong


ngy 31/5?
mhng(ngy thng =

3105

(KHOILUONG))ZY mhng, n gi(HANG ZY MATHANG)


M hng

n gi

MH1

MH4

MH9

6. Cho bit m hng v tn hng m n gi ca n nh hn 4?


tn hng, mhng(n gi<4(MATHANG) ZY HANG)
Tn hng

M hng

T lnh

MH1

Bp ga

MH6

Ni cm in

MH9

7. Tm tn hng v n gi ca m hng MH1 v s lng bn ra


ca mt hng ny trong ngy 31/5?
tn hng,n gi, s lng( m hng, s lng (ngy thng= 3105, m hng = MH1(KHOILUONG))
>< HANG >< MATHANG)
Tn hng

n gi

S lng

T lnh

Nhn xt:
tng tc truy vn d liu, chng ta cn thc hin theo trnh
t sau:
- Xc nh cc bng tham gia
- Gim ln ca mt tp trc khi ghp ni (bng cch u tin
php chn c iu kin c thc hin trc, thc hin php chiu
ngay nu thy khng nh hng n kt qu bi ton)
2.3.11. Cc chin lc ti u tng qut
V sao mt s cu hi truy vn li thc hin qu lu nh vy?

84

C s d liu quan h v cng ngh phn tch - thit k

Trong cc ngn ng hi da trn i s quan h, cc cu hi lin


quan n php tnh tch -cc v php kt ni l rt tn km thi
gian. C th v d, c 2 quan h r1 v r2 (coi hai quan h ny l 2 tp d
liu). Tp r1 c n bn ghi, tp r2 c m bn ghi. Tch -cc ca r1xr2
thu c c nxm bn ghi. Php tnh trn khng nhng tn km v thi
gian m cn tn c v nh na.
Da vo v d sau, chng ta s lm r hn t tng cn thit phi
thao tc ra sao gim thi gian x l cu hi, c bit cn thit nht
l phi gim thi gian x l cu hi, gim ti mc c th i vi cc
truy xut ngoi (tc l cc thao tc vi b nh th cp nh bng, a t)
Cho cu hi trn lc R(A,B) v S(C,D) di dng ngn ng
i s quan h: A ( B = C D =100 (AB x CD))
Nu a php chn D = 100 vo bn trong php tch -cc s
c: A ( B=C (AB x D =100 (CD))
V sau chuyn php chn B=C ca tch -cc thnh php
kt ni bng s c: A (AB >< D =100 (CD))
B=C

R rng php tnh cui cng s tn km thi gian hn rt nhiu.


Do vy, vic t chc li cu hi nh v d nu trn l mt minh
ha r rng cho thy s ln cn truy nhp ti b nh th cp s gim i
rt nhiu. Trnh t thc hin cc php tnh s ng mt vai tr quan
trng trong qu trnh t chc cu hi
Ullman J.D trong cc kt qu nghin cu cng b ln u tin ca
mnh trnh by 6 chin lc tng quan cho vic ti u ho, cu hi
nh sau:
1. Thc hin php chn sm nh c th.
Bin i cu hi a php chn vo thc hin trc nhm lm
gim bt kch c ca kt qu trung gian v do vy chi ph phi tr gi
cho vic truy nhp b nh th cp cng nh lu tr ca b nh chnh
s nh i.

Chng 2: M hnh c s d liu quan h

85

2. T hp nhng php chn xc nh vi php tch -cc thnh


php kt ni
Nh bit, php kt ni, c bit l php kt ni bng c th
thc hin c r hn l thc hin php tch -cc trn cng cc
quan h. Nu kt qu ca tch -cc RxS l i s ca php chn v
php chn lin quan ti cc php so snh gia cc thuc tnh ca R v
S th r rng php tch -cc l php kt ni.
3. T hp dy cc php tnh mt ngi nh cc php chn v php
chiu.
Mt dy cc php mt ngi nh php chn hoc php chiu m
kt qu ca chng ph thuc vo cc b ca mt quan h c lp th
c th nhm cc php tnh li
4. Tm cc biu thc con chung trong mt biu thc
Nu kt qu ca mt biu thc con chung (biu thc xut hin
hn mt ln) l mt quan h khng ln v n c th c c t b
nh th cp vi t thi gian th nn tnh ton trc biu thc ch mt
ln. Biu thc con chung c lin quan ti mt php kt ni th trong
trng hp tng qut khng th c thay i nh vic y php chn
vo trong.
iu ng quan tm l cc biu thc con chung c tn s xut
hin ln c biu din trong cc view (khung nhn) ca ngi s
dng v thc hin cc cu hi cn thay th mt biu thc c nh
cho khung nhn.
5. X l cc tp trc
C hai vn cn x l trc quan trng cho cc tp s l sp
xp trc cc tp v thit lp cc tp ch s. Nh vy, r rng khi thc
hin cc php tnh c lin quan ti 2 tp (php tnh 2 ngi) s nhanh
hn rt nhiu.

86

C s d liu quan h v cng ngh phn tch - thit k

6. nh gi trc khi thc hin tnh ton


Mt khi cn chn trnh t thc hin cc php tnh trong biu thc
hoc chn mt trong hai i s ca mt php hai ngi cn tnh ton
xem chi ph thc hin cc php tnh (thng l s php tnh, thi
gian, dung tch b nh theo mt t l gia kch c cc quan h ). T
s c c cc chi ph (gi thnh) phi tr cho cc cch khc nhau
thc hin cc cu hi.
2.4. Cc dng chun v cc thut ton lin quan
2.4.1. Cc nh ngha chun ho
nh ngha 1 (Dng chun 1 - 1NF)
Gi s r = {h1, h2,.., hm} l file d liu trn tp ct R = {a1, a2,.., an}
Khi r l 1NF nu cc gi tr hi(aj) l s cp vi mi i, j
Khi nim s cp hiu y l gi tr hi(aj) (i = 1,...,m ; j = 1,...n)
khng phn chia c na.
V d:
Xt quan h - Trnh ngoi ng
Bng 2.28. Quan h TDNN
MNS

Hoten

Ngoaingu

A199001

Hong Diu

Anh, Nht

A199002

Quc Trung

Anh, Trung

A199003

Ch Hiu

Anh, c

A199004

Lan Anh

Anh

A199005

Phng Lan

Anh, Hn

A199006

Bo Qunh

Php, Nga, Anh

C th thy rng thuc tnh NGOAINGU cn c th c chia


nh hn ra thnh tng ngoi ng mt v sau c th phn thnh hai
b phn l tn ngoi ng v trnh ngoi ng. Do vy quan h ngoi
ng cha dng chun 1.

Chng 2: M hnh c s d liu quan h

87

nh ngha 2 (Dng chun 2 - 2NF)


Quan h r c gi l dng chun 2 nu:
- Quan h r l dng chun 1
- Vi mi kho ti tiu K:
A {a} Fr vi A K v a l thuc tnh th cp.
nh ngha 3 (Dng chun 3 - 3NF)
Quan h r l dng chun 3 nu:
A {a} Fr i vi A m A+ R, a A, a K
C ngha l:
- K l mt kha ti tiu
- a l thuc tnh th cp
- A khng l kha
- A {a} khng ng trong r.
nh ngha 4 (Dng chun Boyce-Codd - BCNF)
Quan h r = {h1, h2,..., hm} c gi l dng chun Boyce-Codd
nu: A {a} Fr, i vi nhng tp thuc tnh A m A+ R, a A.
Nhn xt:
Qua nh ngha ta c th thy dng chun BCNF l 3NF v 3NF l
2NF. Chng ta c th a ra cc v d chng t quan h l 2NF nhng
khng l 3NF v c quan h l 3NF nhng khng l BCNF.
Ni cch khc l lp cc quan h BCNF l lp con thc s ca lp
cc quan h 3NF v lp cc quan h 3NF ny li l lp con thc s ca
lp cc quan h 2NF.
i vi s = < R, F > th cc dng chun 2NF, 3NF, BCNF trong
ta thay Fr = F+.
Ch : i vi s quan h chng ta khng c dng chun 1NF.

88

C s d liu quan h v cng ngh phn tch - thit k

V d 1:
Cho s = < R, F > l s quan h, vi R = (a1, a2, a3, a4)
F = {{a1} {a2},{a3} {a4},{a2} {a1, a3, a4}}
D thy a1, a2 l cc kha ti tiu ca s, a3, a4 l thuc tnh th cp.
Do , s l 2NF, nhng khng l 3NF.
V d 2:
Cho t = < R, F > l s quan h, vi R = (a1, a2, a3)
F = {{a1, a2} {a3},{a3} {a2}}
Ta nhn thy {a1, a2} l mt kha ti tiu ca t. Hin nhin t l
3NF. V c: {a3} {a2}, a3 khng thuc kho, a2 c bn, nn t khng
l BCNF.
Nh vy vic phn lp cc dng chun c th c th hin qua
hnh 2.2:

Hnh 2.2. Phn lp cc dng chun


2.4.2. Mt s c trng dng chun 2NF
By gi chng ta nu ra loi ph thuc hm c bit, m ph
thuc d liu ny ng vai tr quan trng trong dng chun 2.

Chng 2: M hnh c s d liu quan h

89

nh ngha 5 (ph thuc hon ton, ph thuc b phn)


Mt ph thuc hm A B c gi l s cp nu khng tn ti
mt tp hp A'A sao cho A' B. Trong trng hp ny ta cng ni
B ph thuc hon ton vo A. Nh vy nu A l mt thuc tnh s cp
th ph thuc hm A B cng l s cp. Trong trng hp ngc li,
ta ni B ph thuc b phn vo A.
Trn c s nh l ny, ngi ta a ra hai mnh quan trng sau:
Mnh 1:
Cho r l mt quan h trn R. Khi r l 2NF khi v ch khi:
- r l 1NF
- Mi thuc tnh th cp ca r u ph thuc hon ton vo mi
kha ti tiu.
V s quan h khng c dng chun 1NF, t nh ngha 2 ta c
mnh sau:
Mnh 2:
Cho s l mt s quan h trn R. Khi s l 2NF khi v ch khi
mi thuc tnh th cp ca s u ph thuc hon ton vo kha ti tiu
bt k.
C th thy, bn cht dng chun 2NF l loi b cc ph thuc b
phn gia cc thuc tnh th cp vi cc kha ti tiu.
2.4.3. Mt s c trng dng chun 3NF
Trong mc ny c khi nim quan trng m t dng 3NF.
nh ngha 6
Mt ph thuc hm A C c gi l trc tip nu khng c B
(B A v B C) sao cho A B v B C (tc l B khng ph thuc
hm vo A hoc C khng ph thuc hm vo B). Trong trng hp nu

90

C s d liu quan h v cng ngh phn tch - thit k

c B nh vy th B c gi l tp thuc tnh bc cu v A C l ph
thuc bc cu.
Trn c s nh ngha ny, ngi ta a ra hai mnh quan
trng sau:
Mnh 3
Gi s r = {h1, h2,.., hm} l mt quan h trn R = {a1, a2,..., an}.
Khi y r dng chun 3NF nu v ch nu:
- Quan h r dng chun 2NF.
- Khng c thuc tnh th cp no ca r ph thuc bc cu vo
mt kho ti tiu.
Mnh 4
Gi s s l mt s quan h trn R. Khi s l 3NF nu v
ch nu:
- s l 2NF
- Mi thuc tnh th cp ca s ph thuc trc tip vo mi kho
ti tiu.
Trong dng chun 3NF chng ta loi b cc ph thuc b phn,
ph thuc bc cu gia cc thuc tnh th cp vi cc kho ti tiu.
2.4.4. Mt s c trng dng chun BCNF
nh ngha 7 (tp sinh)
Gi s r l mt quan h trn R, cn A, B R v A B. Khi ta
ni A l tp sinh ca B nu:
- |A| < |B|,
- Khng tn ti tp con thc s ca A m xc nh hm cho B
Tp C l tp sinh ca quan h r nu c mt tp D no C l
tp sinh ca D.

Chng 2: M hnh c s d liu quan h

91

Trn c s nh ngha ny, ngi ta a ra cc mnh quan


trng sau:
Mnh 5
Gi s r l quan h trn R. Khi r l BCNF khi v ch khi mi
tp sinh ca r u l kha.
Mnh 6
Gi s r l mt quan h trn R. Khi r l BCNF nu v ch nu
vi mi B Mr, a B th {B - a}r+ = B - a, y Mr l h bng nhau
cc i ca quan h r.
Gi s A B l mt ph thuc hm. Chng ta gi ph thuc hm
ny l tm thng nu B A. Ngc li trong trng hp ny, chng
ta gi n l ph thuc hm khng tm thng.
Mnh 7
Gi s s = < R, F > l mt s quan h trn R. Khi s l BCNF
nu v ch nu vi mi A B F v A B khng tm thng th
A+ = R.
2.4.5. Cc thut ton
Thut ton 1 (kim tra mt quan h r c l BCNF hay khng)
Vo: r = {h1, h2,.., hm} l mt quan h trn R = {a1, a2,..., an}.
Ra: r c phi l BCNF hay khng?
Phng php:
Bc 1: T r ta xy dng tp Er: Er = {Eij: 1 i < j m}.
trong Eij = {a R: hi(a) = hj (a)}
Bc 2: T Er xy dng tp M.
M = {B P(R): Tn ti Eij Er: Eij = B}

Bc 3: T M xy dng tp Mr, Mr ={B M: B' M: B B'}

92

C s d liu quan h v cng ngh phn tch - thit k

Bc 4: Nu vi B Mr, a B ta c: {B - a}r+ = B a, ta kt
lun r BCNF, ngc li r cha BCNF.
V d:
Bng 2.29: Quan h r
A

Khi : E12 = {E}, E13 = {B, C}, E14 = {A}


E23 ={A, D}, E24 ={B, D}, E34 = {D}
M = {{E}, {A},{D}, {B, C}, {A, D}, {B, D}}
Mr = {{B, C},{A, D},{E},{B, D}}

Ta c th kim tra rng {B, C} - B = C v {C}r+ = {B, C}. V vy r


khng l BCNF.
Thut ton 2 (Kim tra mt s quan h s c l BCNF hay khng)
A1 B1

Vo: s = < R, F >, R= {a1, a2,..., an} v F = ...


A i , Bi R
A B
m
m

Ra: s c l BCNF hay khng?


Bc 1: Nu A1 B1 l ph thuc hm khng tm thng (Bi Ai)
v A1+ R th dng v kt lun s khng l BCNF, ngc
li chuyn sang bc sau.
...
Bc m: Ging bc 1 nhng i vi Am Bm
Bc m+1: s l BCNF.

Chng 2: M hnh c s d liu quan h

93

V d:
Cho s quan h s = < R, F >, vi R = {a1, a2, a3, a4,a5, a6}
{a1} {a 2 }

F = {a1 , a 2 } {a 3 , a 4 }
{a } {a , a }
5
6
4

(nhn xt: m = 3 ph thuc hm khng tm thng)


Bc 1: Xt ph thuc hm th nht, c bao ng v tri:
{a1}+ = {a1, a2, a3, a4, a5, a6} = R.
Bc 2: Xt ph thuc hm th 2, c bao ng v tri:
{a1,a2}+ = {a1, a2, a3, a4, a5, a6} = R.
Bc 3: Xt tip ph thuc hm th 3, c bao ng v tri:
{a4}+ = {a4, a5, a6} R.
Nh vy ti bc 3 (m = 3) phi dng v kt lun: s khng l
BCNF.
2.4.6. Chun ho mt quan h
Nh ta bit, thc th l hnh nh tng trng cho mt i tng
c th hay mt khi nim tru tng nhng c mt trong th gii thc;
cn kiu thc th l mt nhm cc thc th c chung nhau mt s c
tnh m chng ta quan tm. V d nh d n, con ngi, sn phm,...
Trong thc t, n gin ho, ngi ta thng dng khi nim
thc th thay cho khi nim kiu thc th. V vy, t y tr i, chng
ta s dng khi nim thc th thay v khi nim kiu thc th.
Do vy, trong mt h thng tin, cn la chn mt s tnh cht c
trng din t mt thc th, cc tnh cht ny c gi l thuc tnh
ca thc th c m t v y cng chnh l cc loi thng tin d liu
cn qun l.

94

C s d liu quan h v cng ngh phn tch - thit k

Gi tr cc thuc tnh ca mt thc th cho php din t mt


trng hp c th ca thc th, gi l mt th hin ca thc th .
V d:
(L Thanh H, 53 Hai B Trng - H Ni, 1-5-1978) l mt th
hin ca sinh vin. (My in, LASER SHOT, LBP_1120) l mt
th hin ca sn phm.
Mt thuc tnh l s cp khi ta khng cn phn tch n thnh
nhiu thuc tnh khc, tu theo nhu cu x l trong h thng tin i
vi mt thc th.
Thng thng mt thc th ng vi mt bng (hay mt quan h
ca Codd).
Mi thc th phi c t nht mt thuc tnh m mi gi tr ca n
va cho php nhn din mt cch duy nht mt th hin ca thc
th gi l thuc tnh nhn dng hay l kho. C nhiu trng hp
chng ta phi dng mt tp cc thuc tnh nhn din thc th. Khi
mt thc th c nhiu kho, ngi ta chn mt trong s lm kho
chnh (kho ti tiu). Gi tr ca mt kho lun lun c xc nh.
V d:
S ho n l thuc tnh nhn dng ca thc th Ho n.
Khng th c hai hay nhiu ho n c cng s ho n trong
cng mt h thng tin.
Trn c s n gin ho nh vy, chng ta xt cc dng chun
ang hin hnh trn thc t sau y.
2.4.6.1. Chun ho quan h dng chun 1
Ta ni rng mt thc th hay quan h dng chun 1 nu tt c
gi tr cc thuc tnh ca n u l s cp. iu kin rng buc ging
nh 1NF trn. nh ngha dng chun 1 mang tnh m t.

95

Chng 2: M hnh c s d liu quan h

Bng 2.30. Quan h BANHANG


Ngy

M hng

Tn hng

n
gi

S lng

Tng tin
theo ngy

Thanh
ton

thng
210397

M1

Radio

1000

10 000

6 000

210397

M3

Tv

4000

10 000

6 000

210397

M6

Xe p

1000

10 000

6 000

220397

M2

My git

7500

15 000

6 000

230397

M1

Radio

1000

15 000

11 000

230397

M4

Video

5000

15 000

11 000

230397

M9

My nh

2000

15 000

11 000

Chng ta xc nh c mt kho chnh (kho ti tiu) cho thc


th Bn hng l tp {Ngy thng, M hng}.
2.4.6.2. Chun ho quan h dng chun 2

Mt thc th hay quan h 1NF c xem l dng chun 2 nu tt


c ph thuc hm gia kho chnh v cc thuc tnh khc ca n u
l hon ton.
Ch rng nh ngha dng chun 2 trong phn trc cht hn v
iu kin ph thuc hon ton lin quan n mi kho ti tiu, ch
khng ch lin quan n mt kho ti tiu c chn lm kho chnh.
Trong v d trn thc th Bn hng l 1NF ta nhn thy i
vi kho chnh {Ngy thng, M hng} cc thuc tnh Tng v Thanh
ton ph thuc hm vo thuc tnh ngy thng; cc thuc tnh tn
hng, n gi ph thuc hm vo thuc tnh M hng. Ngy thng, M
hng l hai thuc tnh ca kho chnh. Do dn n trng lp d
liu. Thc th bn hng khng l 2NF, ta phi tch n ra lm 3
thc th ring bit:

96

C s d liu quan h v cng ngh phn tch - thit k

Bng 2.31. Hng ho


Tn hng

M hng

n gi

M1

Radio

1000

M2

My git

7500

M3

Tv

4000

M4

Video

5000

M6

Xe p

1000

M9

My nh

2000

Ta xc nh c kho chnh ca thc th hng ho l M hng.


Bng 2.32. Khi lng
Ngy thng

M hng

S Lng

210397

M1

210397

M3

210397

M6

220397

M2

230397

M1

230397

M4

230397

M9

Ta d dng xc nh c kho chnh (kho ti tiu) cho thc th


khi lng l {Ngy thng, M hng},
Bng 2.33. Doanh s
Ngy thng

Tng

Thanh ton

210397

10 000

6000

220397

15 000

6 000

230397

15 000

11 000

Kho chnh l Ngy thng.


C th thy thc th khi lng thc th hng ho

Chng 2: M hnh c s d liu quan h

97

2.4.6.3. Chun ho quan h dng chun 3


Mt thc th (hay quan h) l 2NF c xem l dng chun
3NF nu tt c cc ph thuc hm gia kho chnh v cc thuc tnh
khc ca n u trc tip. Hay ni cch khc, mi thuc tnh khng
nm trong kho chnh u khng ph thuc hm vo mt thuc tnh
khng phi l kho chnh.
Ta c nhn xt: Mt thc th c nhiu kho nhn dng d c th
khng tho mn dng chun 3NF. Mt khc nh ngha 3NF trong
chng trc cht hn v iu kin ph thuc hon ton v ph thuc
trc tip lin quan n mi kho ti tiu, ch khng ch lin quan n
mt kho ti tiu c chn lm kho chnh.
Trong thc th hng ho l 2NF trn, ta thy trn th ca
cc ph thuc hm c hai con ng i t M hng n n gi
hoc i qua thuc tnh Tn hng.

Hnh 2.3. Rng buc ph thuc hm gia ba thuc tnh


iu ny chng t thc th hng ho cha t 3NF, dn n
trng lp n gi ca tn hng. t 3NF ta tch n thnh 2 thc th
ring bit:
Bng 2.34. HANG
Tn hng

M hng
M1

Radio

M2

My git

M3

Tv

M4

Video

M6

Xe p

M9

My nh

98

C s d liu quan h v cng ngh phn tch - thit k

Bng 2.35. MATHANG


n gi

Tn hng
Radio

1000

My git

7500

Tv

4000

Video

5000

Xe p

1000

My nh

2000

Kho chnh l {Tn hng}


C th thy thc th hng thc th Mt hng
2.4.6.4. Chun ho quan h dng chun Boyce-Codd
Dng chun 3NF cho php mt thuc tnh thnh phn ca kho
chnh ph thuc hm vo mt thuc tnh khng phi l kho.
V d:
Bng 2.36. Quan h LOP - MON - THAY
Lp

Mn

Thy

12

Ton

11

Ton

10

Ton

12

11

10

Thc th ny tho mn dng 3NF. Kho chnh ca n bao gm


cc thuc tnh Lp v Mn.
Nhng do quy tc Mi thy ch dy mt mn ta thy c s ph
thuc hm ca Mn (l mt thnh phn ca kho chnh) vo Thy (l
mt thuc tnh bnh thng): Thy Mn
Ta ni rng thc th tho mn dng chun Boyce-Codd (BCNF)
khi tt c cc ph thuc hm ca n u thuc dng K a, trong
K l kho chnh cn a l mt thuc tnh bt k.

99

Chng 2: M hnh c s d liu quan h

tho dng BCNF, ta c th tch thc th LOP - MON - THAY


thnh hai thc th ring bit:
Bng 2.37. Thc th Lp v thy
Thy

Lp

Thy

Mn

12

Ton

11

Ton

10

12

11

10

Thc th Lp c kho chnh l {Thy, lp} v thy c


kho chnh l {Thy}
2.4.7. Chun ho mt s quan h
2.4.7.1. Php phn r mt s quan h
2.4.7.1. 1. nh ngha php phn r mt s quan h s=<R,F>
Php phn r mt s quan h s = <R,F> trn tp thuc tnh
R = {a1, a2,..., an} l vic thay th s quan h bng tp cc s
quan h con s1,s2,...sk tng ng trn R1, R2,...,Rk, trong Ri R,
(i = 1,...,k) v R = i=1..,kRi, y khng i hi cc Ri phi phn bit
nhau, cn Fi l php chiu ca F trn Ri.
Mc ch ca php phn r nhm loi b cc file d liu d tha
(redundancy) v loi b cc d thng: Khng nht qun, d thng
khi thm dng, d thng khi xo dng ca quan h, khi thc hin
php cp nht (sa, thm xo).
V d: Xt quan h HANG (tn_hng, a_ch, mt_hng, n_gi)
ta thy:

a. D tha d liu: Khi c tn hng th li c a ch ca hng


trong quan h (d tha)
a. Khng nht qun (inconsistency), l h qu ca (a): Gi s
trong quan h c nhiu tn hng, a_ch th a ch ca hng thay i

100

C s d liu quan h v cng ngh phn tch - thit k

nu ta ch sa a ch trong mt bn ghi (dng) th a ch trong bn


ghi khc khng thay i dn n 1 nh cung cp khng c a ch duy
nht. D thng ny xut hin khi sa d liu.
b. D thng khi thm dng (insertion anomalies): Mt hng khi
cha cp mt hng no th cha th thm dng ng vi hng c,
v nu ta thm mt dng vi hng th ta khng th a mt hng v
n gi vo dng c.
b) D thng khi xo bn ghi, l vn ngc li ca (b): Khng
th xo tt c cc mt hng c cung cp bi 1 hng no v mt
hng c th c cung cp bi nhiu hng.
Ngi ta c th phn r quan h trn thnh mt tp quan h.
trnh cc nhc im ni trn, nhng m bo khng mt thng tin
theo ngha di y:
2.4.7.1.2. Php phn r khng mt thng tin
nh ngha
Gi s s quan h s = <R, F> c phn r thnh cc s
con s1, s2,...,sk vi si = <Ri, Fi>, (i = 1,..,k), Ri R, Fi l php chiu ca
F trn Ri. Khi ta ni rng, php phn r trn l khng mt thng tin
i vi F nu i vi mi quan h r trn R tho mn F:
r =R1(r) ZY R2(r) ZY... ZY Rk(r)

tc l r c to nn t php kt ni t nhin ca cc hnh chiu ca


n trn cc Ri, (i =1,...,k).
Thut ton kim tra php phn r khng mt thng tin
Vo: s=<R, F>, php phn r p =(s1, s2,..., sk), si= <Ri, Fi>.
Ra: Kt lun php phn r p c mt thng tin hay khng?
Phng php:
Bc 1: Thit lp mt bng vi n ct v k hng, hng i ng vi
lc quan h Ri ct j ng vi thuc tnh aj. Ti (i,j) in Aj nu
aj Ri, ngc li in k hiu bij.

101

Chng 2: M hnh c s d liu quan h

Bc 2: xt ph thuc hm l F p dng cho bng va thit lp


c. Gi s X -> Y F, xt cc dng c gi tr bng nhau trn thuc
tnh X th lm bng gi tr ca chng trn thuc tnh Y theo cch sau:
Nu thy mt gi tr tng ng vi Y l Aj th chuyn cc gi tr bij
thnh Aj.
Bc 3: Tip tc p dng cc ph thuc hm cho bng (k c vic
lp li ph thuc hm c p dng) cho n khi khng cn p
dng c na.
Bc 4: Cui cng xem bng kt qu: Nu xut hin mt hng c
A1,A2,...,An th php phn r trn l khng mt thng tin, ngc li
l php phn r b mt thng tin.
V d:
Cho mt s quan h s = <R, F> vi R = {a,b,c,d,e,g},
Php tch p = {s1,s2,...,s5} vi:
R1 = {a, b},

F1 : a b

R2 = {a,c,d},

F2: cd a

R3= {b,c,d},

F3: bc d

R4= {a,e,g},

F4: ae g

R5= {c,d,e},

F5: ce d

Kim tra xem php phn r trn c mt thng tin khng?


- Lp bng:
Bng 2.38. Bng xut pht
a

S1

A1

A2

b13

b14

b15

b16

S2

A1

b22

A3

A4

b25

b26

S3

b31

A2

A3

A4

b35

b36

S4

A1

b42

b43

b44

A5

A6

S5

b51

b52

A3

A4

A5

b56

102

C s d liu quan h v cng ngh phn tch - thit k

Xt ph thuc hm a b c bng sau (cc hng 1, 2, 4 bng nhau


trn ct a = A1) nn ct b chng c lm bng v bng A2.
Bng 2.39.
a

S1

A1

A2

b13

S2

A1

A2

A3

b14

b15

b16

A4

b25

b26

S3

b31

A2

A3

A4

b35

b36

S4

A1

A2

b43

b44

A5

A6

S5

b51

b52

A3

A4

A5

b56

Xt ph thuc hm cd a ta c bng sau (hai hng 2 v 5 bng


nhau trn ct cd (bng A3, A4) nn trn ct a chng c lm bng v
bng A1).
Bng 2.40.
A

S1

A1

A2

b13

b14

b15

b16

S2

A1

A2

A3

A4

b25

b26

S3

A1

A2

A3

A4

b35

b36

S4

A1

A2

b43

b44

A5

A6

S5

A1

b52

A3

A4

A5

b56

Tng t xt tip ph thuc hm bc d bng khng thay i


Xt ph thuc hm ae g, ta c bng sau:
Bng 2.41.
a

S1

A1

A2

b13

b14

b15

b16

S2

A1

A2

A3

A4

b25

b26

S3

A1

A2

A3

A4

b35

b36

S4

A1

A2

b43

b44

A5

A6

S5

A1

b52

A3

A4

A5

A6

- Xt ph thuc hm ce d bng khng thay i.

103

Chng 2: M hnh c s d liu quan h

- Quay li xt ph thuc hm a b ta c bng sau: (bng 2.42):


Bng 2.42.
a

S1

A1

A2

b13

b14

b15

b16

S2

A1

A2

A3

A4

b25

b26

S3

A1

A2

A3

A4

b35

b36

S4

A1

A2

b43

b44

A5

A6

S5

A1

A2

A3

A4

A5

A6

- Tip tc xt ph thuc hm cd a, bc d, ae g, ce d,
cn li ta thy bng khng thay i. Vy bng kt qu l bng 2.42. Ta
nhn thy trong bng ny hng th 5 c A1,A2,...,A6 nn ta kt
lun php phn r p trong v d l khng mt thng tin.
2.4.7.2. S quan h dng chnh tc
2.4.7.2.1. Cc nh ngha
Ph thuc hm y /ph thuc hon ton
Gi s s = <R, F> l mt s quan h trn tp thuc tnh R v
A, B P(R) - tp cc tp con ca R, khi B c gi l ph thuc
hm y vo A nu B ph thuc hm A nhng khng ph thuc
hm vo bt k tp con no ca A.
Thuc tnh d tha (v tri ca ph thuc hm)
Mt thuc tnh ca v tri mt ph thuc hm c gi l d tha
nu loi b n khi v tri khng lm thay i bao ng ca tp ph
thuc hm, tc l: Nu X YF, aX, a l d tha nu {X- a}
YF+.
Tp ph thuc hm khng d tha
Ph thuc hm A B c gi l d tha trong tp ph thuc
hm F ca s quan h s = <R, F> nu: F+ = {F - {A B}}+

104

C s d liu quan h v cng ngh phn tch - thit k

Tp ph thuc hm F khng cha mt ph thuc hm d tha no


trong n c gi l tp ph thuc hm khng d tha.
Ph ca ph thuc hm
Gi F v G l cc tp ca ph thuc hm. Ni rng F v G l
tng ng nu F+= G+. Nu F v G l tng ng, i khi cng ni
F ph G (hoc G ph F).
Ph khng d tha
G l ph khng d tha ca F, nu G+ = F+ v khng cha mt
ph thuc hm d tha no.
nh ngha ph thuc hm ti thiu
Tp ph thuc hm F c gi l ti thiu nu:
a. Mi v phi ca ph thuc hm thuc F ch c mt thuc tnh.
b. Khng tn ti mt ph thuc hm X A thuc F m:
F+ = {F - {X A}}+
c. Khng tn ti mt ph thuc hm X A thuc F v tp con
thc s (Z) ca X m F+ = (F - {X A} {Z A})+
Thc vy, iu kin b m bo cho tp F khng c mt ph thuc
hm no l d tha v iu kin c bo m khng c mt thuc tnh
no tham gia pha tri ca ph thuc hm l d tha. V phi ca ph
thuc hm iu kin a ch c mt thuc tnh bo m chc chn
khng c mt thuc tnh no bn v phi l d tha.
nh ngha chnh tc (S quan h dng chnh tc)
Chng ta ni mt s quan h s = <R,F> l chnh tc nu F l
ti thiu, ngha l F tho mn ng thi 3 tiu chun sau y:
a. Mi v phi ca ph thuc hm thuc F ch c mt thuc tnh.
b. Khng c X a no trong tp F F {X a} tng
ng vi F theo ngha {F {X a}}+ = F+ (khng c ph thuc hm
no d tha).

Chng 2: M hnh c s d liu quan h

105

c. Khng c X a v mt tp con thc s (Z) ca X :


F - {X a} {Z a} tng ng vi F (tp X c gi l ti u).
2.4.7.2.2. Cc thut ton
Thut ton loi b thuc tnh d tha v tri trn mi ph
thuc hm ca F
Cho s quan h s = <R, F>, thut ton sau y s loi b thuc
tnh d tha v tri trn mi ph thuc hm ca F (m bo cc ph
thuc hm l y ). Ngi ta thng gi l thut ton ti u trn
tp F ca s quan h
Thut ton ti u trn tp F ca s quan h s = <R,F>
trong F = {A*1 B1,...,A*m Bm}.
Vo: A B F+, A l mt trong nhng A*i (i=1,...,m)
Ra: A B F+
trong : A A v khng tn ti A A v A B F+.
Bc 0:
A 0 = A = {a 1, a 2 ,..., a t }

Bc 1:
A 0 {a1} Nu A 0 {a1} B F+
A1 =
Nu ngc li
A 0

Bc i:
+
A i 1 {a i } Nu Ai 1 {a i } B F (i = 2,..., t)
Ai =
Nu ngc li
A i 1

Nhn xt: Ging nh thut ton tm kho ti tiu, y khng xc


nh hm vi R m xc nh hm vi B. Dng A B F+ B A+
Thut ton tm tp ph thuc hm khng d tha
Vo: S quan h s = <R,F>

106

C s d liu quan h v cng ngh phn tch - thit k


F = {A1 B1,..., Am Bm}
Bj ch gm mt thuc tnh (j =1,..., m).

Ra: S quan h s* = <R,F*> trong F* khng d tha.


Bc 1: t F - {A1 B1} = G1
Kim tra: F+ = G1+
+

G Nu F = G
Quyt nh F1 = 1
+
+
F Nu F G

...
Bc i: Kim tra (i = 2,...,m)
{Fi - 1 - {Ai Bi}}+ = F+

(1)

Fi 1 {A i Bi } Nu (1) tha mn
F1 =
Nu (1) khng tha mn
Fi 1

t F* = Fm
Nhn xt:
- Hu ht cc s quan h cho trc phn ln l d tha v n
lu tr cc ph thuc hm dn xut t cc ph thuc hm khc.
- Cc ph thuc hm c xp theo cc th t khc nhau s c th
cho kt qu khc nhau.
B 1
Mi tp ph thuc hm F u c ph bng cc ph thuc hm
G c v phi bao gm khng qu mt thuc tnh.
Chng minh:
Gi G l tp cc ph thuc hm X a sao cho vi X Y thuc
F th a Y. T X Y suy ra X a (theo lut tch).
Do vy G F+.
Ngc li, c F G+ v nu Y = a1,...an th X Y c suy ra t
X a1,..., X an nh lut hp.

107

Chng 2: M hnh c s d liu quan h

nh l 1
Mi tp ph thuc hm F u tng ng vi tp F ti thiu.
Chng minh:
Theo b trn, gi s rng khng v phi no ca cc ph thuc
hm ca F c nhiu hn mt thuc tnh. kim tra iu kin b trong
nh ngha chnh tc, xt (X Y) F.
Nu (F - {X Y})+ = F+ loi b X Y khi F.
Ch rng cc ph thuc hm F c sp xp theo mt th t
khc nhau th s cho kt qu khc nhau.
V d (loi b cc hm d tha)
Cho tp F gm:
AB

AC

BA

CA

BC

C th loi b khi F: B A v A C hoc loi b B C


nhng khng th ng thi loi b c ba ph thuc hm.
Nh vy iu kin b c tho mn. Cn kim tra iu kin c cho
tp ph thuc cn li ca F. y cng cn lu ti th t cc thuc
tnh xut hin bn v tri ca cc ph thuc hm.
Loi b cc thuc tnh v tri ca cc ph thuc hm sao cho tp
cc thuc tnh vn l tng ng. Qu trnh tip tc cho ti khi khng
th loi b c thuc tnh no na. Nh vy tp cc ph thuc cn li
ca F s to nn F v tho mn ba iu kin ca mt tp ti thiu.
V d:
Cho tp F
AB C

DE

CG D

CA

DG

CE A

BC D

BE C

CE G

108

C s d liu quan h v cng ngh phn tch - thit k

ACD B

CG B

p dng thut ton tnh bao ng ca tp cc thuc tnh i vi


tp F theo th t t phi qua tri v t di ln trn. R rng CE A
l d tha v c th suy ra t C A. CG B l d tha v CG D,
C A v ACD B suy ra CG B.
T d dng tnh c (CG)+ v khng cn ph thuc hm no
l d tha. ACD B c th thay th bi CD B v C A.
T c tp ti thiu l:
AB C
CA
BC D
CD B
DE
DG
BE C
CG D
CE G
Nu loi b CE A, CG D v ACD B s c mt tp ti
thiu khc:
AB C

DG

CA

BE C

BC D

CG B

DE

CE G

Thut ton xc nh s dng chnh tc


Cho s quan h s = <R,F>

Chng 2: M hnh c s d liu quan h

109

Vo: F = <A1 B1,..., Am Bm>


Ra: s* = <R, F*> chnh tc.
Bc 1: Nh b trn, c s = <R, F> sao cho:
A B F c dng {A {b}}
Bc 2: Nh kt qu trn, ta ti u tng ph thuc hm ca F
Gi s F = {C1 {b1},..., Ct {bt}}
Ci ti u R v bi R, i = (1,...,t)
Bc 3: Cng nh kt qu trn ta loi b cc hm d tha, ta thu
c:
Fi = {D1 {e1},..., Dt {et}}
Di R v ei R, i = (1,..., p), trong p t.
2.4.7.3. Php tch mt s quan h thnh h lc t 3NF
Thut ton tch mt s quan h thnh h lc t 3NF
Vo: S quan h R, tp cc ph thuc hm F, khng lm mt
tnh tng qut, c gi s l ph thuc hm ti thiu.
Ra: Php tch khng mt thng tin trn R bo ton cc ph thuc
hm sao cho mi s con u 3NF.
Phng php:
i - Loi b tt c cc thuc tnh ca R nu cc thuc tnh khng
lin quan n ph thuc hm no ca F, hoc v tri, hoc v phi.
ii - Nu c mt ph thuc hm no ca F m lin quan ti tt c
cc thuc tnh ca R th kt qu ra chnh l R.
iii - Ngoi ra, php tch p a ra cc s gm cc thuc tnh XA
cho ph thuc hm X A thuc F, nu X A1, X A2,..., X An
thuc F th thay th tp thuc tnh XA1A2...An cho XAi (1 i n). Qu
trnh tip tc.

110

C s d liu quan h v cng ngh phn tch - thit k

Ch : Ti mi bc kim tra s R, nu mi thuc tnh ngoi


kho khng ph thuc bc cu vo kho chnh, khi R s 3NF,
ngc li cn p dng bc (iii) tch tip.
V d:
Cho lc quan h R(CTHRSG) vi tp ph thuc hm ti
thiu: C T, HR C, HT R, CS G v HS R.
Dng thut ton trn cho tp lc dng chun th 3:
R1(CT), R2(CHR), R3(HRT), R4(CGS) v R5(HRS)
nh l:
Thut ton trn tho mn l mt php tch khng mt thng tin,
bo ton cc ph thuc hm v cc lc ch dng chun 3.
2.4.7.4. Php tch mt s quan h thnh h lc t BCNF

B 2:
a. Gi s R l mt lc quan h vi tp ph thuc hm F.
Gi p = (R1, R2,..., Rk) l mt php tch khng mt thng tin ca
R i vi F. Gi Fi l hnh chiu ca F trn Ri (i = 1,..., k), tc l tp
ca (X Y) F+ sao cho: X Ri v Y Ri
Gi @ = (s1,..., sm) l php tch khng mt thng tin ca Ri, i
vi Fi. Khi php tch ca R thnh (R1,..., Ri - 1, S1,...,Sm, Ri+1,..., Rk)
i vi F l khng mt thng tin.
b. Gi s R, F v p nh mc (a); gi t = (R1,...,Rk, Rk + 1,..., Rn) l
mt php tch ca R thnh tp cc lc bao gm c p th t cng l
php tch khng mt thng tin i vi F.
Thut ton tch mt lc quan h thnh h lc t BCNF
Vo: Lc quan h R v tp ph thuc hm F
Ra: Php tch ca R khng mt thng tin sao cho mi lc
quan h trong php tch u BCNF i vi php chiu ca F trn
lc .

Chng 2: M hnh c s d liu quan h

111

Phng php:
Cu trc php tch p trn R theo phng php lp lin tip. Ti
mi bc php tch p l bo m khng mt thng tin i vi F.
Bc u: p ch bao gm R
Cc bc tip: nu S l mt s thuc p, S cha BCNF: chn
X A l ph thuc hm tho mn trn S, trong X khng cha
kho ca S, A X. R rng cn phi c mt s thuc tnh khc ca S
va khng phi A, va khng thuc X hoc nu khng th X phi cha
mt kho ca S. Thay th S trong p bi S1 v S2 vi S1 = XA, S2 = S - A
Theo nh l trc php tch s thnh S1 v S2 l khng mt thng tin
i vi tp ph thuc hm trn S v rng: S1 S2 = X, X S1 - S2 = A.
Theo b trn phn (a), p c thay S bng S1 v S2 l khng
mt thng tin. Mi s S1, S2 u c s thuc tnh t hn S.
Qu trnh tip tc cho ti khi tt c cc lc u BCNF. Ch
ti mi thi im p lun bo m khng mt thng tin, v rng p ban
u l R, m bc thay i p u bo ton tnh cht .
V d:
Cho lc R(CTHRSG), trong C: Gio trnh, T: thy gio,
H: gi, R: phng hc, S: sinh vin, G: lp.
Tp cc ph thuc hm F:
C T: Mi gio trnh c mt thy dy
HR C: Ch mt mn hc (Gio trnh) mt phng hc ti mt
thi im
HT R: Ti mi thi im mi thy gio ch c th dy mt
phng hc.
CS G: Mi sinh vin ch mt lp theo hc mi gio trnh
HS R: Mi sinh vin ch c th mt phng hc ti mi
thi im.
Kho ca R l HS.

112

C s d liu quan h v cng ngh phn tch - thit k

Tch lc R thnh cc lc t BCNF:


Xt CS G cho R. Vi phm iu kin BCNF v CS khng cha
kho. Do vy, tch thnh R1(CSG) v R2(CTHRS). Bc tip cn tnh
F+ v chiu xung R1 v R2, sau kim tra cc lc BCNF
cha. C th biu din qu trnh tch qua s sau:

Hnh 2.4. S tch


Php tch cui cng c R = (R1, R21, R221, R222).

Chng 2: M hnh c s d liu quan h

113

2.4.7.5. Chun ho bng php tng hp


Trong phn chun ho trn xem xt qu trnh chun ho mt
lc quan h thnh 3NF nh php tch khng mt mt thng tin i
vi tp cc ph thuc hm. Phn ny s trnh by qu trnh chun ho
nh php tng hp. iu khc c bn ca php tng hp so vi php
tch l thng tin ban u gm tp cc thuc tnh (hiu theo ngha
ngi s dng ch bit tn cc thuc tnh) v cc tp ph thuc hm,
cn trong phng php tch, thng tin ban u l mt lc c th.
Qua php tng hp (hoc php tch) kt qu u cho mt tp cc lc
u 3NF.
Gi F v G l cc tp ca cc ph thuc hm. Ni rng F v G l
tng ng nu F+ = G+. Nu F v G tng ng i khi cn ni F
ph G hoc ngc li G ph F.
Thut ton kim tra F v G c hay khng tng ng vi nhau
Phng php kim tra:
Ly mi ph thuc hm Y Z thuc F, kim tra xem liu Y Z
c thuc G+ khng? dng thut ton tnh bao ng ca tp cc thuc
tnh i vi tp G tnh Y+ v kim tra liu Z Y+ khng? Nu tn
ti 1 ph thuc hm Y Z thuc F m khng thuc G+ th F+ G+.
Nu mi ph thuc hm thuc F cng thuc G+ th mi ph thuc
hm V W thuc F+ cng thuc G+.
kim tra mi ph thuc G l thuc F+, qu trnh lm hon ton
tng t. Do F v G l tng ng khi v ch khi mi ph thuc
hm thuc F l thuc G+ v mi ph thuc hm thuc G l thuc F+.
Thut ton tng hp thnh cc lc 3NF
Vo: Tp cc thuc tnh R= {a1, a2,.., an}, tp ph thuc hm F.
Ra: Tp cc lc quan h 3NF.

114

C s d liu quan h v cng ngh phn tch - thit k

Phng php:
- Tm ph khng d tha H ca F (tc l tm ph ca F v loi b
cc hm d tha).
- Loi b cc thuc tnh d tha trong F
- Phn chia ph thuc H thnh cc nhm sao cho cc ph thuc
trong mt nhm l c cng v tri.
- Mi cp nhm, v d H1 v H2 c v tri l X v Y tn ti song
nh (X Y) H+ (tc l X Y v Y X) th ho hai nhm li
vi nhau vi AY. Nu X A H th loi b n khi H. Tng t
cho mi (Y B)H vi BX, mi nhm t c lc quan h
bao gm tt c cc thuc tnh xut hin trong nhm . Mi thuc tnh
xut hin trong v tri ca mt ph thuc hm trong nhm l mt kho
ca lc quan h. Cc kho tm c gi l kho tng hp. Mi tp
c cu trc nh lc quan h.
V d:
Cho tp thuc tnh {A, B1, B2, C1, C2, D, E, I1, I2, I3, J}, tp hp
ph thuc hm F:
A B1B2C1C 2DEI 1I 2 I3J
B1B2C1 AC2 DEI1I2 I3J
B 1B2 C2 AC1 DEI1 I2I3J
E I1I2I3
C1 D j
C2 D J
I1I2 I3
I2I3 I1
I1I3 I2

Chng 2: M hnh c s d liu quan h

115

R rng F l cha ti thiu v d tha. Dng cc thut ton bit


m bo cc ph thuc hm trong F l khng d tha v loi b cc
thuc tnh v tri ph thuc hm trong H khng d tha:
H ={A B 1 B2 C1 C2 D E
B1 B2 C1 A
B1B 2C2 A v A c th suy ra C1C2 DE I1I2 I3J
E I1I2
C1 D J
C2 D J
I1 I2 I3
I2I3 I1
I1I3 I2}
y c 9 nhm ph thuc hm. Ho cc nhm c:
H = {(A, B1 B2 C1, B1 B2 C2) D E (Ho 3 nhm u)
(E) I 1I2
(C1D) J
(C2D) J
(I1I2, I2I3, I1I3) I1, I2, I3} (Ho 3 nhm cui)
Thit lp cc lc :
R1=AB1 B2C1C2DE vi kho

K1= {A,B1B2C1,B1B2C2} (3 kho)

R2=EI1I2

K2={E}

R3= C1DJ

K3=[C1D}

R4=C2DJ

K4={C2D}

R5=I1I2I3

K5={I1I2, I2I3, I1I3}

Nh vy c tp cc lc : R={R1R2R3R4R5} u 3NF

116

C s d liu quan h v cng ngh phn tch - thit k

nh l 2:
Lc quan h R(A1....An) c tng hp qua thut ton trn t
tp hp ph thuc hm F t 3NF. Ni cch khc, khng mt thuc
tnh ngoi kho no ca R l ph thuc hm bc cu vo mt kho
chnh ca R.
2.5. Mi quan h (Relationship)
Khi xy dng m hnh d liu, cc thc th thng c biu din
bng nhng hnh ch nht:
Sn phm

Hnh 2.5. Biu din thc th SANPHAM


Chng ta c th biu din mt thc th bng mt trong hai cch
truyn thng hay ho:
Ho n
Ngy
S ho n
M khch

Hnh 2.6. Biu din thc th HOADON

2.5.1. c t mi quan h
Khi nim quan h mc ny (khc vi khi nim quan h ca
Codd) c dng nhm hp hai hay nhiu thc th vi nhau nhm
biu hin mt mi lin quan tn ti trong th gii thc gia cc thc
th ny. (Nu s nhm ln, chng ta c th dng thut ng mi quan
h phn bit vi thut ng quan h ca Codd).
Kch thc ca mt quan h l s thc th cu thnh nn quan h.

Chng 2: M hnh c s d liu quan h

117

Trong mt m hnh d liu cc quan h c biu din bng hnh


thoi hoc hnh trn hoc elp.
Trong mi thc th bao gi chng ta cng xc nh c t nht
mt thuc tnh, cn mi quan h c th khng c thuc tnh. Trong
mt s trng hp, mi quan h cng c th c nhng thuc tnh ring
(nu c th cc thuc tnh ring l rt quan trng, khng th b st).
V d:
Ho n dng thanh ton mt s loi sn phm bn ra. Mi
dng ho n cho bit s lng v gi ca tng loi sn phm. y l
mt quan h c kch thc l 2 (c 2 thc th tham gia vo mi quan
h), cn gi l quan h nh nguyn.

Hnh 2.7. c t mi quan h DONGHOADON


2.5.2. Cc c trng ca mi quan h
Xt R l mt tp cc quan h v E l mt thc th cu thnh ca
R, mi cp (E,R) c biu th trn s khi nim d liu bng mt
on thng. Vi thc th E, ta c th xc nh c:
- X l s ti thiu cc th hin tng ng vi E m R c th c
trong thc t. Gi tr X nh vy ch c th bng 0 hay 1.
- Y l s ti a cc th hin tng ng vi E m R c th c trong
thc t. Gi tr ca Y c th bng 1 hay mt s nguyn N >1.
Cp s (X,Y) c nh ngha l bn s ca on thng (E,R) v
c th ly cc gi tr sau: (0,1), (1,1), (0,N), hay (1,N), vi N >1.
i vi loi quan h nh nguyn R lin kt gia hai thc th A v
B, ta phn thnh ba loi quan h c bn sau:

118

C s d liu quan h v cng ngh phn tch - thit k

- Quan h 1-1 (mt-mt): mi th hin ca thc th A c kt


hp vi 0 hay 1 th hin ca B v ngc li.

Hnh 2.8. c t mi quan h 1-1


X,Y c th ly cc gi tr 0 v 1.
V d:
Mi cng dn trng thnh u c cp mt s chng minh th.
Mi mt s CMT ch dnh cho 1 cng dn trng thnh.

- Quan h 1-N (mt nhiu): Mi th hin ca thc th A c kt


hp vi 0,1 hay nhiu th hin ca B v mi th hin ca B c kt
hp vi mt th hin duy nht ca A. y l mt loi quan h thng
dng v n gin nht.

Hnh 2.9. c t mi quan h 1-N


X c th ly cc gi tr 0 v 1
V d:
Mt khch hng c th c nhiu ho n
Mt ho n ch mang tn mt khch hng.

Chng 2: M hnh c s d liu quan h

119

- Quan h N-P (nhiu-nhiu): Mi th hin ca mt thc th A


c kt hp vi 0,1 hay nhiu th hin ca B v ngc li, mi th
hin ca B c kt hp vi 0, 1 hay nhiu th hin ca A.

Hnh 2.10. c t mi quan h N-N


X v Y c th ly gi tr 0, 1
V d:
Mt ho n dng thanh ton mt hay nhiu loi sn phm.
Mt loi sn phm c th xut hin trong 1 hay nhiu ho n.

Thng thng quan h N-N cha cc thuc tnh (v d nh s


lng, gi). Chng ta bin i loi quan h ny thnh cc thc th v
thc th ny cn c nhn dng bi mt kho chnh (gm mt nhm
cc thuc tnh).
2.5.3. M hnh khi nim d liu
M hnh khi nim d liu l kt qu ca qu trnh phn tch d
liu m chng ta s nghin cu k trong chng 3. M hnh ny c
xy dng t thc th v cc mi quan h gia cc thc th c
xc nh bng cch lp ghp cc c t mi quan h li vi nhau
thnh mng.
V d

Nh trong bi ton qun l th vin n gin:

120

C s d liu quan h v cng ngh phn tch - thit k

Danh sch cc thc th v thuc tnh tng ng:


Ngi c: S th, H tn, Ngy sinh, a ch, Thi hn ht
gi tr, S chng minh th, S in thoi, Ngy lm th
Bn sch: S hiu lu tr, Ngy nhp v, Loi (cho mn v
nh/c ti ch)
Sch: S xut bn, Tn sch, Tn tc gi (ch bin), Tn ng
tc gi, Tp, Ln xut bn, S trang, Gi tin, a ng, Nm xut bn.
Nh xut bn: Tn NXB, a ch NXB
Chuyn ngnh: M phn loi chuyn ngnh, Tn phn loi
chuyn ngnh
Ngn ng: M loi ngn ng, Tn loi ngn ng (ting Vit,
ting Anh, )

Chng 3: Quy trnh phn tch thit k CSDL

121

Chng 3

QUY TRNH phn tch thit k csdl


Vic phn tch thit k CSDL bao gm nhng giai on c bn sau:
1. Phn tch yu cu
2. Phn tch d liu v xy dng m hnh khi nim d liu
3. Thit k CSDL mc logic
4. Thit k CSDL mc vt l
5. Thit k an ton bo mt cho CSDL
3.1. Phn tch yu cu
3.1.1. Mc ch ca vic phn tch yu cu
Trong qu trnh phn tch v thit k CSDL th phn tch yu cu
l cng vic phi thc hin u tin.
Chng ta quan tm n nhng vn sau:
- Cc d liu no s c lu gi trong CSDL, trong cc d
liu no l khng th thiu?
- Cc ng dng no c th s c pht trin m c th khai thc
c CSDL xy dng?
- Cc thao tc g s c thc hin trn nhng d liu lu gi?
p ng c nhng vn ny chng ta cn phi tm hiu
hin trng, phn tch cc yu cu ca i tng s dng t nhng
ngi tha hnh, n ngi qun l v lnh o v ngi tha hnh c
th cung cp cc thng tin chi tit v mt cng vic c th, ngi qun
l cung cp cc nhim v, mt lnh vc trong h thng, cn ngi lnh

122

C s d liu quan h v cng ngh phn tch - thit k

o cung cp cc thng tin tng th cng cc mc tiu trc mt v


lu di ca ton h thng.
C nhiu k thut v cng c nh phng vn trc tip, phiu iu
tra, bng hi, ti liu,c s dng ring l hay tch hp trong giai
on ny tu thuc vo iu kin c th khi xy dng CSDL.
Mc ch chnh ca khu phn tch yu cu:
1. Xc nh yu cu d liu ca CSDL: danh sch cc thuc tnh
cn qun l v gp chng theo cc i tng
2. Phn loi v m t thng tin v cc i tng
3. Xc nh mi lin kt gia cc i tng
4. Xc nh cc giao dch s c thc hin trn cc i tng d
liu
5. Xc nh cc quy tc nghip v (lut) m bo tnh ton vn
ca d liu
Vic phn tch yu cu c tin hnh thng qua phng php m
hnh ho vi mc tru tng logic hay khi nim. Kt qu ca vic
phn tch yu cu v phn tch d liu l xy dng c m hnh khi
nim d liu. Trong qu trnh xy dng m hnh ny, vai tr ca NSD
rt quan trng. H c th b sung cho chng ta nhng khim khuyt
ca h thng hin ti. Nh vy, chng ta s c c s hon thin m
hnh vi cc d liu y v chnh xc hn.
Mt s lu khi phn tch yu cu ca NSD:
1. Khi trao i vi NSD, cn s dng cc thut ng trong th gii
thc cho d trao i v gi m c nhiu chi tit nghip v
2. Tm hiu k quy trnh nghip v chi tit m hnh ho n
mt cch y v chnh xc nht
3. Phng vn y cc i tng s dng v y l nhng ngi
c tha hng v pht huy c hiu qu s dng CSDL

Chng 3: Quy trnh phn tch thit k CSDL

123

3.1.2. Ni dung phn tch yu cu


Vic phn tch yu cu v d liu cho h thng gm nhng ni
dung sau:
3.1.2.1. Xc nh d liu cn lu gi
i vi h thng CSDL, mu cht vn l xc nh ng v
danh sch thuc tnh cn qun l. Danh sch ny quyt nh thnh
cng ca vic xy dng CSDL.
i vi mi d liu trong danh sch, cn m t y cc ch
mc d liu:
- Tn d liu (st vi thc t)
- nh ngha (ngi dng hiu c)
- Kiu d liu (ch r kiu ca d liu l k t, s, ngy thng,
logic,v kch c ca chng)
- Loi d liu (s cp: khng th chia nh c na, tch hp/kt
ni: c gp li t vic ghp nhiu d liu vi nhau, tnh ton: c
suy ra t mt s d liu khc)
- nh lng (s cc gi tr khc nhau m d liu c th nhn)
- Ghi ch thm: cho php chng ta dng hnh thc din t t do
c th nu thm cc d kin b sung cho d liu.
V d: Tn: Tn nh cung cp
nh ngha: dng t tn, thng tm tt, cho php xc nh
nh cung cp
Cu trc: kiu k t C(30)
Loi: s cp
nh lng: khong 50
V d: Cng ty LNG THC THC PHM I
nh ngha: Cng ty Lng thc thc phm phu vc pha Bc
(tng ng II - min Trung, III - min Nam)
Ghi ch: c th ch s dng 15 k t.

124

C s d liu quan h v cng ngh phn tch - thit k

3.1.2.2. Xc nh ng dng s c ci t trn CSDL


Vic xc nh ng dng s c ci t trn CSDL l rt quan
trng v l c s xc nh tnh ng v ca cc d liu v gip
cho vic nhn nhn tng qut hn v CSDL s c xy dng.
3.1.2.3. Xc nh cc thao tc thng xuyn c thc hin
Vic xc nh cc thao tc thng xuyn c thc hin trn d
liu ng vai tr quan trng. Yu t ny i khi li quyt nh tnh
thnh cng ca mt CSDL. Nh c yu t ny m vic thit k mt
CSDL mi c coi l y .
Trn thc t, khi lng d liu tng ln th thi gian thc hin cc
thao tc trn d liu cng tng ln. Do vy, nu trong khu kho st,
phn tch yu cu, chng ta khng xc nh c cc thao tc thng
xuyn c thc hin th chng ta khng th a ra c thit k hiu
qu, khng th to ra nhng ch mc ph hp, cch phn chia d liu
hp l.
c bit, vic xc nh cc thao tc thng xuyn c thc hin
trn d liu rt c ch trong qu trnh tinh chnh s CSDL logic
cng nh thit k CSDL vt l.
3.1.3. Cc k thut phn tch yu cu
Mt s k thut phn tch yu cu:
3.1.3.1. Phng vn trc tip
Trc ht, chng ta phi chn la ng i tng cn phng vn.
Sau tin hnh phng vn theo cu trc phn cp: ban lnh o, cc
b phn nghip v phng ban, v sau cng l cc n v c s (cc v
tr lm vic). Trong qu trnh phng vn, chng ta c gng thu c
y cc mu h s d liu (u vo, trung gian), cc bo co thng
k (u ra). Vic phng vn ban lnh o nhm mc ch tm hiu cc
ch tiu tng th mang tnh chin lc ca c t chc, trong tng lnh
vc, tng b phn. Vic phng vn cc phng ban nghip v nhm

125

Chng 3: Quy trnh phn tch thit k CSDL

mc ch thu thp cc ch tiu trng yu, cn thit cho mi hot ng


ca t chc m h thng dng theo di, qun l cc hot ng
nghip v v ch o trong t chc. Vic phng vn cc v tr lm vic
nhm tip nhn cc thng tin c th, chi tit cho tng hot ng
nghip v trong tng lnh vc c th, tng b phn nh trong phm vi
bao qut ca cc ch tiu thu c t phng vn lnh o v cc ban
ngnh chc nng. Chng ta cn chi tit tng x l, tng ng cc d
liu u vo, ngun d liu cung cp, cc d liu u ra, ni gi thng
tin n. Chng ta c th tin hnh phng vn c nhn tham gia trc
tip vo tng cng vic c th. c th lit k v m t ton b cng
vic phi thc hin, i vi mi cng vic cn nm bt cc s kin
khi ng, chu k thc hin, thi lng thc hin, nhng d liu c
lin quan, khi lng ca chng, cc quy tc cn p dng thc hin
cng vic, quan st s lun chuyn d liu gia cc v tr cng vic.
nng cao cht lng v tc phng vn, chng ta c th dng
cc phiu phng vn chun b sn. Sau khi phng vn cn tng hp,
hiu chnh d liu thu thp c, sp xp chng di dng cc h s
kho st v xc nh cc d liu cn cha chnh xc, cc d liu cn
thiu, cn thu thp tip.
Phiu phng vn bao gm cc thng tin v d n, ngi c
phng vn, ni dung cn phng vn (thng qua cu hi chun b
trc), nh gi sau phng vn, lch biu tip tc (tho thun), thi
gian phng vn, tn ngi phng vn.
Khi phng vn, chng ta cn:
+ V Lu cng vic nhm xc nh y cc h s d liu:
D n:

Tiu d n: QL kho

Trang:

Loi:

Nhim v:

Ngy:

Lu

Lp n hng

Th kho

Ngi qun l

Bn ngoi

126

C s d liu quan h v cng ngh phn tch - thit k


S thc n D2

Phiu vt t D1
Lp v
chuyn n
hng T1

Nh cung cp

Bng gi D6

S t hng D4

n hng D3
Tip nhn,
kim phiu T2

Tip nhn,
nhn hng T3

Phiu giao
hng D5
Tip nhn,
nhn hng T3
S t
hng D4
Nh cung cp

Hot ng
H s d liu

Tc nhn ngoi

Hnh 3.1. Lu cng vic bi ton qun l kho

+ Lp Bng tng hp h s (Rt t cc phiu phng vn, ti liu


thu thp) nhm m t quan h gia x l v d liu v dng phc v
cho vic tng hp d liu sau ny.
Bng 3.1. Bng tng hp h s
M

Tn - Vai tr

ti liu

Cng vic lin quan


(m chc nng/nhim v)

D1

Phiu vt t: ghi hng ho xut hay nhp

T1

D2

T1

D3

S thc n: nh mc hng ho lm
sn phm

D4

n t hng: Theo mu nh cung cp

T1,T2

D5

S t hng: tp hp cc n hng

T2,T3

...

Phiu giao hng: Nh cung cp pht ra

T1

...

127

Chng 3: Quy trnh phn tch thit k CSDL

+ Lp Bng tng hp cng vic (rt ra t phiu phng vn) nhm


phc v cho vic tng hp x l sau ny.
Bng 3.2. Bng tng hp cng vic
STT

M t cng vic

V tr
lm vic

Tn sut

H s
vo

H s
ra

T1

Lp n hng: Xut pht


t nhu cu cung ng, thc
n sn xut, bo gi,
n hng lp v chuyn
i bng in thoi (80%),
vit (20%) sp cc n
hng vo s t i
chiu, theo di

Qun l
kho hng

4-5 n/ngy

D1

D3

5-10 dng/n

D2

D4

D6

T2

+ Lp Bng m t chi tit ti liu (t in d liu) nhm phc v


cho vic xy dng bng tng hp t in d liu sau ny.
Bng 3.3. Bng m t chi tit ti liu
D n:
Loi: phn tch hin trng

Tiu d n: Lp n hng
M t d liu

Trang
S TT:
Ngy:

nh ngha:

Tn d liu: Nh cung cp
Dng ch nhng ngi cung cp hng
thng xuyn. N cho php xc nh mi
nh cung cp

Cu trc:

Kiu k t, di 20-30 k t, mt s ch
u vit hoa

Loi:

S cp

S lng:

50 nh cung cp

V d:

Cng ty NETNAM

Li bnh:

Tn c th vit y hoc vit tt

Sau phng vn, chng ta cn tng hp kho st:


- Mt t chc ln, phc tp thng khng th quan st tt c mt
lc, bng cch phn tch v tch nh quan st, thu thp thng tin.
Lc ny cn lp ghp li c c mt cch nhn tng th

128

C s d liu quan h v cng ngh phn tch - thit k

- Thc hin tng hp hai loi


+ Tng hp x l: thy c tng th cc x l din ra trong t
chc v pht hin x l no khng thay i trong mi trng hp
+ Tng hp cc d liu: m bo tnh ph hp v cht ch ca d
liu s dng
Tng hp d liu
Mc tiu: lit k ra tt c cc d liu c lin quan n min kho
st ca t chc v sng lc thu c nhng d liu y , chnh
xc v gn cho tn gi thch hp m mi ngi tham gia d n ng .
Sng lc d liu:
- Lit k cc thng tin thu c, tin hnh so snh, i chiu, xem
xt s ph hp ca n v mt ni dung, cng nh tn gi.
S khng ph hp ca d liu thng xy ra khi:
+ D liu ng ngha: hai tn khc nhau nhng ch cng mt loi
d liu.
V d:
n gi v gi n v.
+ D liu ng danh/a ngha: cng mt tn gi nhng li ch
nhiu loi d liu khc nhau.
V d:
Ti khon mt ch c ngha l s ca mt ti khon, ch khc
c ngha l tn y ca mt ti khon thanh ton. Ngy
(xut/nhp), Gi (bn/mua), S lng (nhp/xut)
- Loi b tn trng, cho tn khc nhau vi cc d liu khc nhau
Lp mt t in d liu
- Tp hp cc d liu thu c t cc cuc phng vn iu tra, sau
khi sng lc lp thnh mt ti liu chung. R rng trong bng tng
hp ny, cc d liu u c tn khc nhau.

129

Chng 3: Quy trnh phn tch thit k CSDL

- T in d liu l 1 t liu v mi tn gi ca mi i tng


c dng trong h thng c 4 giai on: phn tch, thit k, ci t
v bo tr. Ti liu ny l c s tra cu v s dng sau ny cho vic
hnh thnh CSDL.
Mu bng tng hp t in d liu c dng (thuc tnh):
Bng 3.4. Bng tng hp t in d liu
STT

Tn gi

Kiu

Lnh
vc

Quy tc, rng buc v


khun dng

S ho n

K t

K ton

Ch hoa hoc s

Tn hng ho

K t

20

K ton

Ch hoa + s

Ngy vo s n hng

Ngy
thng

Qun
l kho

ngy/thng/nm

S lng nhn hng

Th kho

n v: t, tn.

S tin

K ton

Gi 2 s l sau du phy

Sau phng vn, chng ta cn hp thc ho kt qu phng vn.


Hp thc ho l vic hiu v th hin cc thng tin phng vn
cc dng khc nhau c nhiu ngi s dng v t chc chp nhn s
m t nhu cu thng tin ca t chc l ng v .
Mc tiu ca vic hp thc ho kt qu phng vn nhm chnh
xc ho cc thng tin c kho st ng thi ngi c phng vn
v ngi i din xc nhn s ph hp ca n vi hin trng t chc
ca h v ph hp vi mc tiu ra.
Sau phng vn, chng ta cng cn nh gi vn v phn tch
tng hp cc thng tin hu ch nhm xc nh c mt cch tip cn
hay gii php tng th.
Khi nh gi, tng hp, ngi phn tch cn xy dng cc m
hnh h thng nhm hiu r hn lung d liu v cc x l, thao tc d
liu v ni dung thng tin. Cc m hnh ny s l nn tng cho thit k
sau ny v l c s cho vic to ra mt c t h thng v phn mm.

130

C s d liu quan h v cng ngh phn tch - thit k

3.1.3.2. Phng vn gin tip

Phng vn gin tip thng qua bng hi hay phiu kho st l hnh
thc kho st b sung cho k thut phng vn trc tip. Cc cu hi
c lit k trong bng hi hay phiu kho st. Ngi c kho st s
t in vo phiu ny nhng thng tin c hi. u im ca phng
php ny l tn km v c th m rng c din kho st nhng
thiu s giao tip gia chng ta v ngi c phng vn. Hn na,
ngi c kho st c th b qua nhng thng tin m chng ta cn.
V d: Hnh 3.2.
PHIU THU THP THNG TIN
V NG DNG CNTT TRONG CC DOANH NGHIP
A. THNG TIN CHUNG
1. Tn doanh nghip: ..................................................................................................
2. a ch: .....................................................................................................................
3. in thoi:
4. Fax:
5. E-mail:
6. Web site:
7. H v tn Gim c:
8. Tng s nhn vin ca doanh nghip:
B. PHN CU HI CHNH
9. Tng s my tnh (PC) hin c ca doanh nghip: ...................
Trong :
a. S my ch (Server):

................

b. S my tnh c nhn (PC):

................

c. S my xch tay (Laptop/Notebook)

................

d. Thit b ngoi vi:


- My in laer................
Di HP 1100................
Trn HP1100 (trn 8 trang/pht)................

Chng 3: Quy trnh phn tch thit k CSDL

131

- My in kim................
- Scaner................
- Flotter................
- Modem................
- Switch................
- Router................
- Hub................
e.Thit b h tr:
- iu ha nhit :................
- My ht m:................
- n p:................
- My lu in:................
Di 3kVA................
Trn 3kVA................
- Chng st................
10. Doanh nghip c Trung tm/Phng my tnh khng?
S lng
1.

2.

Khng

....................

11. Cc my tnh ca doanh nghip c kt ni mng ni b (LAN) cha?


T bao gi
1.

2.

Cha

....................

12. Vic kt ni mng ni b (LAN) ca doanh nghip


1.

Tt c cc my tnh u c ni mng

2.

Ch c cc my tnh trong Trung tm/Phng my tnh c ni mng

3.

Khng c my no c ni mng

4.

S my tnh c ni mng

5.

S my ch trong mng

6.

S my in trong mng

13. H iu hnh mng


WINDOW NT
Windows 2000 Server/Advance Server

132

C s d liu quan h v cng ngh phn tch - thit k


NOVELL
UNIX/LINUX
Khc (ghi tn c th)

14. Doanh nghip hin ang s dng dch v kt ni Internet no?


T bao gi
1.

Kt ni gin tip (Dial-up)

2.

Internet tc cao (ADSL)

....................

15. Vic kt ni mng Internet ca doanh nghip


1. Tt c cc my tnh u c ni mng Internet
2. Ch c cc my tnh trong Trung tm/Phng my tnh c ni mng
Internet
3. Khng c my no c ni mng Internet
4. S my tnh c ni mng Internet
16. Vic s dng a ch E-mail ca doanh nghip
C
a.

Doanh nghip c a ch e-mail giao dch chnh thc


a ch E- mail:..........................................................

17. Doanh nghip c website khng?


1.

2.

Cha

T bao gi

a ch website

....................

........................................

18. C bao nhiu nhn vin ca doanh nghip bit s dng my tnh?
19. C bao nhiu nhn vin ca doanh nghip bit s dng Internet?
20. Doanh nghip c bao nhiu nhn vin chuyn trch v CNTT?
21. Doanh nghip s dng my tnh cho nhng mc ch no di y
1.

Son tho vn bn

2.

K ton

3.

Qun l, iu hnh cng vic

4.

Dch v

5.

Phc v mt s cng on trong dy chuyn sn xut

22. Doanh nghip s dng Internet cho nhng mc ch no di y?


1.

Gi E-mail

2.

Qun l, iu hnh cng vic

3.

Thu thp thng tin

Khng

133

Chng 3: Quy trnh phn tch thit k CSDL


4.

Qung co cho doanh nghip

5.

Mua bn hng ha, vt t....

6.

Dch v

23. Doanh nghip c c s d liu khng?


1.

2.

Khng

Cc h qun tr CSDL ang dng (nu c th nh du x vo di):


Foxpro

Access

Notus
note

DB2

SQL
server

Oracle

CSDL
a l

Infomix

Khc

24. u t cho ng dng CNTT ti doanh nghip trong giai on


2005-2010...........ng
Ngn sch trung ng: ..............ng
Ngn sch a phng: ..............ng
u t pht trin mng din rng, mng cc b, mua sm phn cng:.......ng
u t pht trin ng dng CNTT (mua, xy dng c s d liu, phn
mm...):.....ng
u t cho o to, bi dng v CNTT cho cn b, nhn vin: ..........ng
25. Cc phn mm ng dng ang s dng trong n v:
Dng ng dng
(ghi r tn ng dng)

a) Phn mm ng dng
c bn
- Son tho vn bn
- Qun l cng vn
- Qun l VBPQ
- Qun l nhn s
- Qun l ti chnh
- Qun l vt t
- n khiu t
- iu hnh tc nghip

Hin trng s dng


Nm bt
u s
dng

p ng
c yu
cu

Trn
my n

Ngn
ng
lp
trnh

Nh
cung
cp

134

C s d liu quan h v cng ngh phn tch - thit k

b) Cc ng dng v CSDL
chuyn ngnh phc v cho
lnh vc chuyn mn
c) Cc ng dng trong sn
xut (iu hnh sn xut)
d) Khc (nu c)
26. o to

Ni dung o to

S hc vin c
o to qua cc
nm

Ni o to
Ti a
phng

Nm

Ngoi a
phng

Nc
ngoi

Tng s
1. CNTT cho cn b lnh
o, qun l
2. Tin hc cho NSD
3. Chuyn vin tin hc
4. Pht trin v qun tr h
thng
27. Nhu cu ng dng v pht trin CNTT ca n v n nm
1. Nhn lc v CNTT
Nhu cu tng s cn b nhn vin ton n v n nm .: ngi
Trong , nhu cu s cn b v CNTT n nm .:
Tng
s
(ngi)

Ch tiu

Trong
H v
trn H

Cao
ng

Cn b phn cng
Cn b phn mm
Pht trin v qun tr
h thng
Cn b c s dng PC
trong cng vic
Nhp d liu
2. Nhu cu o to tng nm
Ch tiu
Cn b qun l
Cn b qun tr mng

Nm

Trung
cp

Chuyn
vin

Khc

135

Chng 3: Quy trnh phn tch thit k CSDL


Chuyn vin lp trnh
Chuyn vin phn tch thit k h thng
Chuyn vin pht trin v qun tr h thng
Chuyn vin TMT
3. Nhu cu nhn lc c trnh cao:

V tnh: ngi
S cn b

H
Ph
cp

Nm

Lp
trnh

Trn H

Phn
tch v
thit k

4. Nhu cu v thit b
STT

Phn
tch v
thit k

Lp
trnh

Mng

Mng

V: chic
S lng

Chng loi
Nm.

1.

My tnh PC

2.

My in

3.

Scaner

4.

Plotter

5.

Modem

6.

Router

7.

Switch

8.

My ch CSDL

9.

My ch truyn thng

5. Nhu cu cc h qun tr CSDL ch yu (nu c th nh du x vo di):


Foxpro

Access

Notus
note

DB2

SQL
server

Oracle

CSDL
a l

Infomix

Khc

6. Nhu cu cc phn mm ng dng s s dng trong n v:


Dng ng dng
(ghi r tn ng dng, nm
bt u s dng)
a) PM ng dng c bn
- Son tho vn bn
- Qun l cng vn
- Qun l VBPQ

Nhu cu
Nng
cp

Mi

Trn
my n

Ngn ng
lp trnh

Nh cung
cp

136

C s d liu quan h v cng ngh phn tch - thit k

- Qun l nhn s
- Qun l ti chnh
- Qun l vt t
- n khiu t
- iu hnh tc nghip
b) Cc ng dng v CSDL
chuyn ngnh phc v cho
lnh vc chuyn mn
c) Cc ng dng phc v
sn xut (iu hnh sn
xut)
d) Khc (nu c)
7. Nhu cu v t chc
C nhu cu thnh lp n v chuyn trch v CNTT:
Nu c: S lng cn b: ..
Trong :
- Cn b k thut:
- Cn b lp trnh: .
- Cn b phn tch v thit k h thng:
28. nh gi v kin ngh
1. L do pht trin chm CNTT ca doanh nghip
- Nhu cu s dng CNTT cn t
- Khng hoch nh c l trnh p dng CNTT
- Thiu s kt hp cht ch ca cc hip hi
- Nh nc cha ch trng n lp ng dng cho doanh nghip
- Ngn sch c hn
- Lo ngi v hiu qu s dng phn mm
- S ch o ca cp trn cn t
- Lnh o doanh nghip cn bn qu nhiu vic
- u t khng hp l
- Thiu s lin kt, phi hp, khng theo k hoch tng th
- Thiu nhn lc (lp trnh vin, cn b qun l, cn b xc tin thng mi)
- Nng lc ca doanh nghip cung cp sn phm CNTT cn hn ch
- Chnh sch, n h tr doanh nghip ng dng CNTT cn thiu

137

Chng 3: Quy trnh phn tch thit k CSDL


- Thiu Trung tm cung cp d liu, thng tin kinh t chuyn ngnh
- Thiu kch thch (chng trnh pht trin TMT, tin hc ho QLNN)
- Chi ph xy dng phn mm qu cao
- Nhn vin ngi khng mun thay i thi quen lm vic c
- Quy trnh sn xut kinh doanh nhiu n v thnh vin khng chun

- Cha coi thng tin l 1 yu t khng th thiu trong iu hnh sn xut kinh doanh
- Dch v khng tt ca cc nh cung cp dch v CNTT trong, ngoi nc
2. Cc tr ngi chnh khi thc hin ng dng
(ghi theo th t quan trng: 1 - quan trng nht, 9 - t quan trng nht)
Trnh chung v tin hc ca cn b cn thp
Thiu cc chuyn gia tin hc
Cc phn mm xy dng khng ph hp
K hoch khng ph hp
Trnh t chc qun l cn hn ch
Khng kinh ph
Thiu s quan tm ca lnh o
Khng c s ng h hp tc ca cn b cng chc trong c quan
Khc (nu c ghi r)
3. Cc kin ngh ca doanh nghip v ng dng CNTT ti doanh nghip
Ngy

thng

nm...

Th trng n v

3.1.3.3. Phn tch ti liu


Cc ti liu c l ngun d liu v thng tin di do v c
tch lu qua nhiu nm. Chng c th tn ti di dng cng (s, sch,
tp t liu) hay mm (cc tp d liu). Chng ta c gng c y
danh sch ca chng. Sau phn loi d liu trong tng ti liu thnh
cc d liu c bn hay cc d liu c cu trc, xem xt, pht hin cc
d liu trng lp, thiu nht qun trong lu tr, tn gi. Nu t chc
c CSDL th c gng tm hiu nguyn do ti sao h khng mun
dng CSDL ny na.
V d: v H s d liu Bi ton qun l kinh doanh:

138

C s d liu quan h v cng ngh phn tch - thit k

Bng 3.5. H thng bng Vo


1. n t MUA HNG
S:.................

Ngy giao hng:........

Ngy:...............

Ngy thanh ton:.......

Tn nh cung cp:.....

Tng s tin:..........ng

a ch nh cung cp:.....
in thoi nh cung cp:...
E-mail nh cung cp:......
S th t

Tn hng

n v tnh

S lng

n gi

Thnh tin

Tng

2. Phiu nhp
S:................................................................................................
Theo s n t mua hng:........... .............................................
Tn nh cung cp:.......................................
Ngy:............................................................................................
Tng tin nhp:.............................................................................ng
S th t

Tn hng

n v tnh

S lng

Tng

3. Phiu chi
S:............................................
Theo s phiu nhp:...............................
Tn nh cung cp:
Ngy:.........................................
Tng tin chi:....................................ng

n gi

Thnh tin

139

Chng 3: Quy trnh phn tch thit k CSDL

4. n t hng
S:............

Ngy:..............

Tn khch:......

Ngy ngh giao:

S nh:.

Ngy thanh ton:........

a ch:.........

Tng s tin:...........ng

in thoi:.....
E-mail:.........
STT

Tn hng

n v tnh

S lng

n gi

Thnh tin

Tng

5. Phiu giao
S:...............................
Theo s n t hng.................
Tn khch:
Ngy:..............................
Tng tin giao:...................... ng
STT

Tn hng

n v tnh

S lng

Tng

6. Phiu thu
(pht cho khch hng)
S:..................................
Theo s phiu giao:....................
Tn khch:...
Ngy:................................
Tng tin thu:.........................ng

n gi

Thnh tin

140

C s d liu quan h v cng ngh phn tch - thit k


Bng 3.6. H thng bng Ra
7. Bo co hng giao
S:

Trang:

Ngy:
STT

M
khch

M
hng

n v tnh

n gi

S lng

Thnh tin

Tng
8. Bo co hng nhp
S bo co:

Trang:

Ngy:
STT

M nh
cung cp

M
hng

n v tnh

n gi

S lng

Thnh
tin

Tng
9. Bo co hng bn chy
S bo co:
STT

Ngy:
M hng

n v tnh

Trang:
n gi

S lng

Thnh tin

Tng
10. Bo co hng bn chm
S bo co:
STT

Ngy:
M hng

n v tnh

Trang:
n gi

S lng

Thnh tin

Tng
11. Bo co khch hng thn thit
S bo co:
STT

M khch

Trang:
M hng

n v tnh

n gi

S lng

Thnh tin

Tng
Ngy....thng...nm.....

141

Chng 3: Quy trnh phn tch thit k CSDL


12. Bo co n ca khch
S bo co:
STT

M
khch

Trang:
Tn

a ch

S in
thoi

E-mail

Hn thanh ton

Tin

Tng
Ngy....thng...nm...
13. Bo co n nh cung cp
S bo co:
STT

M nh
cung cp

Trang:
Tn

a ch

in
thoi

E-mail

Hn
thanh ton

Tin

Tng
Ngy....thng.... nm....
14. Bo co Danh sch hng v lng tn
Ngy kim k:
STT

M hng

Tn hng

n v
tnh

Gi
hin ti

S lng

Gi tr
hng tn

Tng
Tn ngi bo co

Ngy....thng.... nm...

15. Bo co v nh cung cp ch yu
STT

M nh
cung cp

Tn
NCC

DS mt hng
chnh cung cp

Ngy bt
u quan h

Tn ngi bo co

VIP

a ch
lin h

Ghi
ch

Ngy....thng..... nm.

16. Danh sch khch hng tim nng


STT

M khch

Tn
khch

a ch

VIP

DS mt
hng mua
ch yu

Tn
ngi
i din

a ch
ngi
i din

Ngy....thng..... nm .

142

C s d liu quan h v cng ngh phn tch - thit k

3.2. PHN TCH D LIU V xy dng m hnh


khi nim d liu
ngha ca m hnh khi nim d liu:
M hnh khi nim d liu:
- L cng c kt ni gia ngi PT_TK v NSD
- L m hnh d liu mc khi nim, m t cu trc v cc rng
buc ca d liu trong CSDL
- c lp vi h qun tr d liu v m hnh d liu s c s
dng ci t.
- c biu din dng s vi 3 thnh phn chnh l kiu thc
th, thuc tnh, lin kt (mi quan h)
Qu trnh xy dng m hnh khi nim d liu c th c chia
lm cc giai on sau y:
1. Kho st thc t
- Thu thp thng tin
- Trnh by c h thng di dng s lun chuyn cc ti liu
2. Thit lp m hnh d liu
- Kim k cc d liu
- Xc nh cc ph thuc hm
- Xy dng m hnh khi nim d liu
3. Kim sot v chun ha m hnh
3.2.1. Kho st thc t
Mc tiu ca giai on ny bao gm qu trnh quan st, phng
vn, tm hiu v phn tch, m t y hin trng, m t cc bi ton
nghip v v cc nhu cu ca ngi s dng m h thng tin khi thit
k c i hi. Do , n khng ch gii hn trong vic xy dng m
hnh d liu m cn l c s pht trin nhng thng tin cn thit cho
vic xy dng m hnh chc nng.

Chng 3: Quy trnh phn tch thit k CSDL

143

t mc tiu ny cn quan st c di mi dng: Tnh (d


liu s cp, ti liu, bo co,...), ng (s lun chuyn cc thng tin,
ti liu) v cc nguyn nhn bin i ca chng (th tc, quy tc qun
l, cng thc tnh ton,..).
Cc thng tin thu thp phi y v chnh xc, v chng l nn
tng ca h thng tin tng lai. Nhng cng khng nn i qu su vo
chi tit, phi bit gt b nhng thng tin khng cn thit khng lm
chch hng v gy kh khn, nng n cho vic phn tch v thit k.
Cng vic kho st khng ch tp trung hon ton vo giai on
u ca qu trnh phn tch - thit k, m c th tri di trong sut qu
trnh thu thp thm thng tin, o su vn hay kim chng mt
gi thit cng vi ngi s dng.
Khi h thng tin cn xy dng qu ln v phc tp, ta nn chia
nh n ra thnh nhiu tiu h. Mi tiu h c th c kho st, phn
tch hay thit k c lp vi nhau, trc khi c tng hp li. C khi
ngi ta i n pht trin c cc tiu h ny, nhng phn mm c lp
nhng c th trao i thng tin vi nhau.
chia mt thng tin thnh nhiu tiu h, ngi ta thng s
dng mt trong hai phng php:
+ Phng php ging: Cc tiu h c lp c nh ra, da trn
c s bi ton, chc nng nghip v ch yu ca t chc. i khi da
trn mt k hoch thc hin theo th t u tin hay tha mn nhng
yu cu v thi gian.
+ Phng php ao: Mt cuc kho st tng qut s khi s cho
php nhn din nhng tiu h tng i c lp vi nhau.
3.2.1.1. Thu thp thng tin
Cng vic ny ch yu l tham kho ti liu su tp c v tip
xc vi nhng ngi s dng, i hi nhng kh nng nhn sinh nh:
Kinh nghim, c quan st, ph phn, giao tip v ng bin,.... Cc
phng php g b, cng nhc s chng em li kt qu mong mun.

144

C s d liu quan h v cng ngh phn tch - thit k

Do phn ny ch lit k v phn loi thng tin c th gp c trong


qu trnh kho st tr gip tr nh.
Mt s phn loi thng tin s c trnh by trang sau.
Vi mi loi thng tin nu ln trong s ny, nu cn ta c th
tm hiu thm v mt s kha cnh khc nh: S lng, chu k,
chnh xc cn c, ngi chu trch nhim,...
Trong qu trnh kho st cn lu cc im sau:
+ Nu c th, cc cuc phng vn phi c tin hnh tun t
theo cu trc phn cp ca t chc theo tng b phn, lnh vc, chc
nng hay i t cp lnh o qua cp qun l n ngi tha hnh.
+ Phi lun nh sao chp mu cc h s, ti liu c c cu
trc chnh xc cc thng tin lm cn bn cho vic xy dng m hnh
d liu sau ny.
+ Cn thit nht l lun phn bit nhng thng tin ni v h thng
tin ang xy dng vi nhng thng tin thuc v h ny.
Thng tin v mi trng lm vic, khng c
lin quan trc tip n h thng thng tin
Kha cnh tnh
Thng tin
v h thng
hin ti

Thng tin hu
ch c lin
quan trc tip
n h thng
thng tin

Tp hp
cc thng
tin thu thp
c

Thng tin v h
thng tng lai
(nhu cu/mong
mun)

Kha cnh ng

D liu s cp
Ti liu (tp hp nhng
d liu s cp)
n v, v tr lm vic
Trong khng gian: ng lun
chuyn ca thng tin, ti liu
Trong thi gian: chu k v
thi lng

Kha cnh bin i

Th tc hnh chnh, quy tc


qun l, cng thc tnh ton,
iu kin khi ng

c nhn thc v pht biu r rng: ra ch cn ghi


nhn
C nhn thc nhng khng pht biu: tm cch pht
hin v a n pht biu hoc cng nhn
Cha nhn thc c: Nhn dng t quan st, ph
phn v tm cch a n cng nhn

Hnh 3.3. S phn loi cc thng tin

Chng 3: Quy trnh phn tch thit k CSDL

145

3.2.1.2. Trnh by h thng s lun chuyn ti liu


Cc thng tin thu thp, sau khi c tng hp v cng c, s c
trnh by trong ti liu c t tng th di hai dng:
- M t cc bi ton nghip v, cc chc nng v t chc ca c
quan, cc nhu cu v mong mun ca ngi s dng mt cch y ,
nhng ngn gn v mch lc, bng mt ngn ng thng thng, gn
gi vi mi ngi.
- Minh ha v h thng ha phn trnh by trn bng mt ngn
ng hnh thc, thng l di dng phiu m t, danh sch v ha.
C nhiu phng php trnh by thng dng khc nhau. Ngi
ta thng dng s lun chuyn ti liu v mt s u im ca n
nh sau:
- y l mt dng s tng hp thng tin v ti liu cng nh v
chc nng.
- N c trnh by ng theo th t thi gian, cng vic ca
tng n v, c th dng lm kim ch nam trong lc phng vn
ngi s dng.
- S ny d hiu, tng i gn vi ngi s dng, do c th
cng h lm chung cc cng tc xy dng cng nh kim chng.
S ny thng c trnh by km theo mt s ti liu khc nh:
- Danh sch cc n v hay v tr lm vic: m s v nh ngha
- Phiu m t cc n v hay v tr lm vic: nh ngha, cc ti
liu vo v ra, cc chc nng x l.
- Danh sch cc ti liu (in trn giy hay mn hnh, tp in, in
thoi,...): m s v nh ngha.
- Danh sch cc chc nng x l: m s v nh ngha.
Cch trnh by cc loi s v ti liu ny khng i hi quy
chun cht ch, v cng kh n gin khng cn phi gii thch
di dng.

146

C s d liu quan h v cng ngh phn tch - thit k

3.2.2. Thit lp m hnh d liu


Thit lp mt m hnh khi nim d liu l lit k v nh ngha
chnh xc nhng d liu c lin quan n cc chc nng, hot ng
ca t chc, sau nhm chng li thnh thc th v quan h gia cc
thc th ri dng mt s qui c nh trc trnh by di dng
m hnh khi nim.
3.2.2.1. Xy dng m hnh khi nim d liu bng phng php
Blanpre
Phng php Blanpre l phng php c tin cy cao. C s
ca phng php ny l c t rng buc ton vn bng ph thuc
hm. Cc bc thc hin phng php Blanpre bao gm cc cng vic
sau y.
3.2.2.1.1. Kim k d liu
Danh sch ny ch yu c rt ta t nhng thng tin thu thp
c trong giai on kho st ban u: ti liu thu thp c; nhu cu,
gii thch ca ngi s dng. Danh sch ny s lm nn cho vic thit
lp mt t in d liu v sau.
C th phn bit hai loi d liu:
- Loi d liu xut hin trc tip trn cc ti liu, mn hnh, tp in
thu thp c.
- Loi d liu khng h xut hin nhng cn thit cha cc kt
qu trung gian, cc thng tin ang ch c x l, hay tnh ton ra
cc d liu thuc loi th nht.
Mt cng c thng dng, hu ch cho giai on ny l Ma trn
ca Blanpre, dng phn tch cc ti liu thu thp v lit k ra danh
sch cc d liu. Trong ma trn ny, ta trnh by mi ct l mt ti
liu v mi hng l mt loi d liu. Ti mi giao im, ta nh du
loi d liu c xut hin trn ti liu. Nn dng hai loi du hiu khc
nhau phn bit loi d liu trc tip (s 1 chng hn) vi loi c
tnh ton thnh (s 2 chng hn).

147

Chng 3: Quy trnh phn tch thit k CSDL

Khi xy dng ma trn ny, ta nn bt u bng nhng ti liu c


bn, quan trng nht v ch cn trnh by mt loi ti liu khi n cho
php nhn dng t nht mt loi d liu mi.
V d:
Hai chng t sau l cn thit cho qun l hot ng kinh doanh:
a. n t hng
S:

M khch hng:

Ngy:

Tn khch hng:

a ch:
STT

M hng

Tn hng

n v

S lng

b. phiu giao hng


S:

Ngy:

M khch hng:

Ni giao:

STT

M hng

n gi

S lng

Gi thit rng n gi ch ph thuc vo hng

Thnh tin

TONGTIEN

Bng 3.7. Ma trn Blanpre


Loi d liu

n t hng

Phiu giao hng

1. S n

2. Ngy t

3. M khch

4. Tn khch

5. a ch

6. STT

7. M hng

8. Tn hng

9. n v

10. SL t

11. S phiu

12. Ngy giao

148

C s d liu quan h v cng ngh phn tch - thit k

13. Ni giao

14. n gi giao (Gi thit:


ch ph thuc vo hng)

15. SL giao

16. Thnh tin

17. Tng tin

Ghi ch:
1. D liu trc tip
2. D liu gin tip/trung gian (tnh c thng qua cc d liu khc)

T danh sch ny, ngi ta cn kim tra bng mt cng tc thanh


lc nh:
- B bt cc d liu ng ngha nhng khc tn, ch gi li mt
V d:
M s sn phm = Danh mc t hng
- Phn bit cc d liu cng tn nhng khc ngha v tch thnh
nhiu loi d liu khc nhau.
V d:
- Gi bn ca mt ca hiu khc vi gi bn ca mt cng ty
sn xut.
- Nhp chung cc loi d liu lun xut hin ng thi vi nhau
trn mi loi ti liu thnh mt d liu s cp.
V d:
S nh v tn ng; ngy, thng v nm sinh.
- Loi b nhng loi d liu c th xc nh c mt cch duy
nht t cc d liu khc, hoc bng cng thc tnh ton, do cc quy
lut ca t chc.
V d:
- Tng gi n t hng = S lng gi* n gi

149

Chng 3: Quy trnh phn tch thit k CSDL

- Gi s do quy lut t chc, mi ngh mua hng phi c


gii quyt ni trong ngy, ta suy ra: Ngy ngh mua hng = Ngy
t hng.
Sau khi chnh xc ho d liu (loi ng danh, ng ngha, thm
bt thuc tnh, loi b d liu gin tip,), ta c:
Bng 3.8. Ma trn Blanpre rt gn
Loi d liu

n t hng

S n

Ngy t

M khch

Tn khch

a ch

M hng

Tn hng

n v

SL t

Phiu giao

S phiu

Ngy giao

Ni giao

n gi giao

SL giao

3.2.2.1.2. Xc nh cc ph thuc hm gia cc d liu


T danh sch cc loi d liu thanh lc ca h thng thng tin
t c qua giai on trn, ta phi xc nh tt c cc ph thuc hm
hin hu gia chng.
C th, ta phi t t cu hi:
Mi gi tr ca mt loi d liu A c tng ng vi mt gi tr duy
nht ca loi d liu B khng?
Nu c th B ph thuc hm vo A: AB
Ngoi cc ph thuc hm c v tri A l mt loi d liu s cp
(gi l ph thuc hm s cp), tng i d xc nh, ta cn phi nhn

150

C s d liu quan h v cng ngh phn tch - thit k

din c cc hm trong v tri A l mt tp hp ca nhiu loi d


liu (gi l ph thuc hm a phn).
Ta tip tc t cu hi:
Cn n nh gi tr ca nhng loi d liu no c th suy ra
mt gi tr duy nht ca loi d liu B?
Cc hm ph thuc s c trnh by di dng mt bng cc ph
thuc hm nh sau:
Bng 3.9. Ma trn ph thuc hm Blanpre
Loi d liu

Ph thuc hm

Ph thuc hm

s cp

a phn

S n
Ngy t
M khch

Nhn
C

Tn khch
a ch
M hng
Tn hng
n v
SL t

DATCACLOAI

S phiu
Ngy giao
Ni giao
n gi giao
SL giao

3.2.2.1.3. Xy dng m hnh khi nim d liu


Giai on ny bao gm 5 bc:
- Xc nh tp hp cc kha chnh
- Nhn din cc thc th
- Nhn din cc quan h
- Phn b ht cc thuc tnh
- V m hnh khi nim d liu

GIAOCAC LOAI

Chng 3: Quy trnh phn tch thit k CSDL

151

1. Xc nh tp hp cc kha chnh
Tp hp K ca nhng kha chnh l tp hp tt c nhng loi d
liu c ng vai tr ngun (thuc v tri) trong t nht mt ph
thuc hm.
Trong v d trn, ta c:
K = {S n, m khch, m hng, s phiu}
2. Nhn din cc thc th
Mi phn t ca tp hp K s l kha chnh ca mt thc th.
Trong v d trn, ta nhn ra c 4 thc th:
n hng (S n,....)
Khch (M khch,...)
Hng (M hng,...)
Phiu giao (S phiu,.....)

3. Nhn din cc quan h


C hai trng hp:
A. Nu gc ca mt ph thuc hm bao gm t nht 2 phn t
thuc tp hp K th n tng ng vi mt quan h N-N gia cc thc
th c kha chnh l cc phn t ny.
Trong v d trn, ta nhn ra c 2 quan h:
t cc loi (s lng t)
Giao cc loi (s lng giao)

B. S hin hu ca mt ph thuc hm gia hai phn t ca tp


hp K xc nh mt quan h nh nguyn kiu 1-N gia hai thc th c
kha chnh l cc phn t ny.
Trong v d trn, ta nhn ra c 2 quan h:
C
Nhn

152

C s d liu quan h v cng ngh phn tch - thit k

4. Phn b cc thuc tnh cn li


Tt c cc loi d liu khng tp hp K u l nhng thuc tnh
thng thng v c th c phn b mt cch d dng vo cc thc
th hay quan h, ty theo cc hm ph thuc.
Phn b cc thuc tnh cn li cho cc thc th ta thy va ht:
n hng (S n, ngy t)
Khch (M khch, tn khch, /Ckhch)
Hng (M hng, Tn hng, M t hng, /Vhng, n gi)
Phiu giao (S phiu, ngy giao, ni giao)

5. V m hnh khi nim d liu


T cc thc th v quan h nhn din, ta c th v ln mt m
hnh khi nim d liu nh sau:

Hnh 3.4. M hnh khi nim d liu bi ton t v giao hng


3.2.2.2. Xy dng m hnh khi nim d liu bng phng php
m hnh
C s ca phng php ny l cc quy tc qun l. Cc bc thc
hin ca phng php m hnh bao gm cc cng vic sau:

153

Chng 3: Quy trnh phn tch thit k CSDL

1. Xc nh danh sch cc thuc tnh cn qun l


2. Xc nh cc thc th
3. Xc nh cc mi quan h gia cc thc th
4. Thit lp m hnh khi nim d liu
V d:
Mt c s bn hng s dng hai loi chng t sau theo di hot
ng kinh doanh ca mnh:
a. n t hng
S ho n:

Ngy t:

Ngi t hng:
a ch:
STT

Tn hng

M t hng

n v tnh

S lng (t)

b. phiu giao hng


S phiu:

Ngy giao:

Tn khch hng:

Ni giao hng:

a ch:
STT

Tn hng

n v tnh

n gi

S lng (giao)

Thnh tin

TONGTIEN:

Cn thit k CSDL loi quan h (bao gm cc file d liu v s


m hnh d liu) t cc ti liu trn qun l hot ng bn hng.
Gi thit: n gi giao khng ch ph thuc vo m hng (c th
ph thuc vo khch, s lng, thi gian)
Th tc tin hnh:
1. Lit k, chnh xc ho thng tin

154

C s d liu quan h v cng ngh phn tch - thit k

Bng 3.10. Danh sch thuc tnh cn qun l


Thc th -Thuc tnh

Ghi ch

n t hng

DONHANG

S n hng

nh danh

Ngi t hng tn khch hng

Thay bng tn khch hng (0)

M khch hng

Thm mi (1)

a ch khch
Ngy t hng
* S th t (2)

Khng cn

* M hng

Thm mi, nh danh (1)

* Tn hng
* M t hng
* n v tnh
* S lng t
Phiu giao hng

Phieugiao

S phiu giao

nh danh

Tn khch hng m khch

Thay bng m khch (3)

Ni giao hng
Ngy giao
* S th t (2)

Khng cn

* Tn hng -> m hng

Thay bng m hng (3)

* n v tnh

Khng cn (4)

* n gi hng giao
* S lng giao
* Thnh tin

Khng cn (5)

Tng cng

Khng cn

Ch thch:
(0) ngi t hng n t hng v Tn khch hng
phiu giao hng ch cng mt i tng nn ta thng nht
chn tn gi cho i tng ny l: Tn khch hng.
(1) Tn khch hng l thuc tnh tn gi ca thc th khch hng,
khng xc nh mi khch hng c th v khch c th trng tn.

Chng 3: Quy trnh phn tch thit k CSDL

155

V vy phi thm thuc tnh M khch hng lm thuc tnh nh


danh cho khch hng. Cng tng t nh vy cn thm M
hng lm thuc tnh nh danh cho hng.
(2) S th t nh s mi dng ho n ch c ngha trong ho
n ny, khng cho thng tin g khc, khng cn lu tr.
(3) Tn khch hng, tn hng l thuc tnh tn gi c trn, cn
thay n bng thuc tnh nh danh tng ng.
(4) Cc thuc tnh ny l thuc tnh m t, gp trn nn b i.
(5) Thuc tnh thnh tin = (n gi giao) x (s lng giao). Hai thuc
tnh ny c chn trn nn c th tnh c thnh tin, do
khng cn lu gi thuc tnh ny.
(*) Ch cc thuc tnh lp/a tr (khng s cp).
2. Xc nh cc thc th v cc thuc tnh
T hai h s, chng ta nhn bit c cc thc th cng nh cc
thuc tnh.
Cc thc th:
- E1-khch
#m khch
Tn khch
a ch khch
- E2-hng
#m hng
Tn hng
M t hng
n v hng

156

C s d liu quan h v cng ngh phn tch - thit k

E4-n t
#S n t
Ngy t hng
- E5-PHIU GIAO
# S phiu giao
Ni giao
Ngy giao
Ch :
- Thc th KHACH c hai thuc tnh: tn khch, a ch. Tn
khch khng th dng lm nh danh cho thc th nn cn thm nh
danh cho n: m khch
- Thc th HANG c 3 thuc tnh: tn hng, n v, m t hng.
Cng nh thc th KHACH ta cn thm nh danh: m hng cho thc
th ny.
3. Xc nh cc mi quan h v cc thuc tnh ca quan h
Nhn xt: cn 3 thuc tnh sau cha ghp vo thc th no c l:
n gi hng giao, S lng hng giao v S lng t.
Trong n t hng, chng ta xc nh c quy tc qun l sau:
- Trong mi n t hng ngi ta ch vit cho mt khch. Ngc
li mt khch c th c nhiu n t hng.
Vy ta c c t:

Chng 3: Quy trnh phn tch thit k CSDL

157

- Trong mi n t hng ngi ta c th vit nhiu loi hng


(mi loi hng trn mt dng hng). Ngc li, mi loi hng c th
c mt trong nhiu n t hng.
Vy ta c c t:

Trong phiu giao hng, chng ta cng xc nh c quy tc qun


l sau:
- Trong mi phiu giao hng ngi ta ch vit cho mt khch.
Ngc li mt khch c th c nhiu phiu giao hng.
Vy ta c c t:

- Trong mi phiu giao hng ngi ta c th vit nhiu loi hng


(mi loi hng trn mt dng hng). Ngc li, mi loi hng c th
c mt trong nhiu phiu giao hng.
Vy ta c c t:

4. V m hnh khi nim d liu


Ghp ni tt c 4 c t trn, chng ta c c m hnh khi nim
d liu cho bi ton:

158

C s d liu quan h v cng ngh phn tch - thit k

Hnh 3.5. M hnh khi nim d liu


3.2.2.3. Xy dng m hnh khi nim d liu bng phng php trc gic

Phng php phn tch h thng nu trn l mt cng c hu hiu


v chun xc xy dng phn ln cc m hnh d liu. Nhng nu p
dng hon ton trong mt h thng tin c ln s i hi nhiu thi
gian v cng sc. Trong thc t, cc thit k vin chuyn nghip - sau
khi nhn thc c vn kho st - thng chn cch xy dng
trc tip mt m hnh s khi ri i thng vo giai on sau kim
sot, b tc v chun ha m hnh.
Phng php trc gic ny c u im l t tn thi gian v i
khi to ra m hnh n gin v thc t hn. Nhng ngc li, n cng
cha nhiu ri ro hn.
V d 1: Cho phiu nhp kho c dng:
Phiu nhp kho
(Theo n t hng s:..............)
S PN:

Ngy nhp:

M Nhcungcp:

M kho:

Tn NCC:

a ch kho:

a ch NCC:
STT

Tn vt liu

M vt liu

n v tnh

S lng

Ni sn xut

Th kho

159

Chng 3: Quy trnh phn tch thit k CSDL

Khi nghin cu PHIEUNHAPKHO chng ta c nhn xt n biu


hin mi quan h ca 4 thc th NHACC, KHO, VATLIEU v
THUKHO, v vy chng ta xc nhn n nh mt mi quan h.
Khi xc nh mi quan h NHAP v cc thuc tnh ca n, chng
ta t cc cu hi khi nhn vo phiu nhp:
Bng 3.11. Bng phn tch quan h NHAP
Cu hi cho ng t
nhp

Tr li
Thc th

Ai nhp?

THUKHO

Nhp ci g?

VATLIEU

T Ai?

NHACUNGCAP

u?

KHO

Thuc tnh

L do nhp

n t (theo n t s)

Bng cch no?

Phiu nhp (S PN)

Khi no?

Ngy nhp

Bao nhiu?

S lng nhp

Ngun gc vt liu?

Ni sn xut

Ta c c t mi quan h ny nh sau: THUKHO nhn VATLIEU


t NHACUNGCAP ti KHO:

Hnh 3.6. Mi quan h bc 4 da trn PHIEUNHAPKHO

160

C s d liu quan h v cng ngh phn tch - thit k

Gi s rng: mi kho c th c nhiu th kho, nhng mi th kho


ch lm vic trong 1 kho. Nh vy gia KHO v THU KHO c mi
quan h 1-N. V vy, chng ta chnh xc ho quan h ny bng cch
tch khi n mi quan h s hu:

Hnh 3.7. c t mi quan h

c t ny cng chnh l m hnh khi nim d liu ca bi ton:

Hnh 3.8. M hnh khi nim d liu

Chng 3: Quy trnh phn tch thit k CSDL

161

V d 2: Chng ta s dng li v d trong phng php m hnh v


cng thc hin ln lt theo cc bc sau:
a. Lit k, chnh xc ho thng tin: (ging nh phng php
m hnh)
b. Xc nh cc thc th v cc thuc tnh
T hai h s, qua cc tn gi (tn khch hng, ngi t hng, tn
hng) ta nhn bit c cc thc th cng nh l cc thuc tnh l:
- Cc thc th: khch, hng
- Cc thuc tnh trch t cc h s trn theo th t sau khi cht
lc (nh ct u trong bng trn sau khi loi i nhng thuc tnh
lp li) l:
S n t
Tn khch

KHACH (+m khch)

a ch khch
Ngy t hng
* Tn hng

HANG (+m hng)

*M t hng
*n v hng
*S lng t
S phiu giao
Ni giao
Ngy giao
*n gi hng giao
*S lng hng giao
Tng tin ca phiu giao (b v c th suy ra t cc thuc tnh khc)
c. Xc nh cc thuc tnh ca quan h
- Thc th KHACH c hai thuc tnh: tn khch, a ch. Tn
khch khng th dng lm nh danh cho thc th nn cn thm nh
danh cho n: m khch

162

C s d liu quan h v cng ngh phn tch - thit k

- Thc th HANG c 3 thuc tnh: tn hng, n v, m t hng.


Cng nh thc th KHACH ta cn thm nh danh: m hng cho thc
th ny.
Cc thuc tnh cn li:
S n t
Ngy t
* S lng t
S phiu giao
Ni giao
Ngy giao
* n gi hng giao
* S lng hng giao
d. Xc nh cc mi quan h ca hai thc th trn
- Mi quan h 1:
khch - t hng (bng n hng) nn c cc thuc tnh
lin quan n quan h ny l:
+ S n t
+ Ngy t
+ S lng hng t *
- Mi quan h 2:
hng (c) giao (cho) khch (bng Phiu giao hng)
nn c cc thuc tnh lin quan n mi quan h ny l:
+ S phiu giao
+ Ni giao
+ Ngy giao
+ S lng hng giao *
+ n gi hng giao *
Nh vy, cc thng tin t hai chng t c s dng ht.

Chng 3: Quy trnh phn tch thit k CSDL

163

e. Xy dng m hnh khi nim d liu

Hnh 3.9. M hnh khi nim d liu ca bi ton t v giao hng


3.2.3. Kim sot v chun ha m hnh
n gin ha v ng thi m bo tnh nht qun ca m
hnh d liu, ta cn kim sot li m hnh va xy dng bng mt s
qui tc thc tin sau y:
3.2.3.1. Chun ha m hnh
Mi thc th, quan h ca m hnh u nn c chun ha theo
cc dng 1FN, 2FN, 3FN v BCFN, ngoi tr trng hp c yu cu
c bit khc ca h thng tin.
Vic chun ha ton b theo cc dng 3FN v BCFN khng bt
buc, cn cc dng 1FN v 2FN phi lun c tun th.
V d:
Mi quan h xc nh trn hnh 3.8 trong mc xy dng m hnh
d liu bng trc gic s sinh thnh mt lc quan h cha t
chun 1:

164

C s d liu quan h v cng ngh phn tch - thit k

PHIEUNHAP (S PN, ngy nhp, M Nhcungcp, S n t


hng, M vt liu*, S lng*, m th kho)
chun ho m hnh, chng ta phi tch PHIEUNHAP thnh
cc lc quan h t 1NF:
PHIEUNHAP (S PN, ngy nhp, M Nhcungcp, S n t,
m th kho)
DONGPHIEUNHAP (S PN, M vt liu, S lng)
Hai quan h ny ng nhin cng t 2NF, 3NF.
3.2.3.2. To thm mt thc th
- Vic to thm mt thc th l cn thit khi c t nht mt quan
h hin hu tham chiu ti n.
- Vic to thm mt thc th l hp l khi:
a. Thuc tnh s c chn lm kha chnh ca thc th ny l
mt loi d liu thng dng trong hot ng ca t chc
b. Ngoi kha chnh ny, quan h cn c cha nhng thuc
tnh khc.
3.2.3.3. Bin mt quan h thnh thc th
Mt quan h c kch thc ln hn 3 nn c bin thnh nhng
thc th n gin hn.
C th bin mt quan h thnh thc th khi hi cc iu kin sau:
- Quan h ny c mt kha chnh c lp.
- Quan h ny tng ng vi mt khi nim quen thuc, thng
dng trong hot ng ca t chc.
V d:

Hnh 3.10. c t mi quan h thi kho biu

Chng 3: Quy trnh phn tch thit k CSDL

165

Quan h R c bin thnh thc th Thi kha biu

Hnh 3.11. c t thc th thi kho biu


3.2.3.4. Xa mt quan h
Mt quan h 1-N phi c loi b khi m hnh d liu nu n l
tng hp ca hai hay nhiu quan h 1-N.
V d: Quan h Hc trng trong v d sau y c th, v
nn, c loi b.

Hnh 3.12. c t mi quan h hc trng

3.2.3.5. Phn tch mt quan h phc tp


Xt mt quan h c kch thc ln hn hoc bng 3. Quan h c
th phn tch thnh nhiu quan h khc vi kch thc nh hn m
khng mt thng tin nu tn ti t nht mt hm ph thuc gia cc
thc th cu thnh quan h.
3.2.3.5.1. Trng hp ph thuc hm n
Trong trng hp ny, mt trong cc bn s ca quan h bng (1.1)
hoc (0.1) iu ny chng t s tn ti ca mt s ph thuc hm n.

166

C s d liu quan h v cng ngh phn tch - thit k

Trong v d sau y, bn s (1,1) gia quan h Khm bnh vi


thc th n thuc ch ra c cc ph thuc hm:
n thuc ---> Bnh nhn
v n thuc ---> Bc s
S th hai tng ng vi s th nht, nhng n gin hn:

Hnh 3.13. c t mi quan h khm bnh

Hnh 3.14. c t mi quan h cho n v dng thuc


3.2.3.5.2. Trng hp ph thuc hm hin
Cho mt quan h R gia 3 thc th A, B v C. Nu tn ti mt
hm ph thuc A---> B th R c th c phn thnh hai quan h gia
A vi B v gia A vi C.
Trong v d sau y, hm ph thuc Ha n ---> Khch hng
(mi ha n ch lin quan n mt khch hng duy nht) cho php ta
a vo mt quan h mi din t s ph thuc ny v n gin ha
m hnh.

Chng 3: Quy trnh phn tch thit k CSDL

167

V d:
S th 2 tng ng vi s th nht, nhng n gin hn:

Hnh 3.15. c t mi quan h dng ho n

Hnh 3.16. c t mi quan h dng ho n v lin quan


Nhn xt: Phng php xy dng m hnh bng trc gic thng
cho php ta i thng n s th hai v s ny gn vi thc t hot
ng ca t chc hn.z
3.3. Thit k CSDL logic
Thit k CSDL logic l v cng quan trng trong khu thit k
CSDL. Kt qu thit k CSDL logic cho c ngi phn tch thit k h
thng, NSD v ngi qun l hnh dung c CSDL ca HTTT trong
mt t chc bao gm bao nhiu tp, tn tng tp, danh sch cc trng
mi tp, nhm thuc tnh kho chnh trong mi tp cng nh tng th
cc mi quan h logic gia cc tp (kt ni thng qua kho ngoi).
Cc k thut c s dng y th hin tnh cng ngh r nt.

168

C s d liu quan h v cng ngh phn tch - thit k

3.3.1. Khun cnh thit k c s d liu logic


Vn t ra l th no l mt thit k c s d liu tt?
lm r vn ny chng ta xt v d sau.
Cho mt lc :
Thng tin v nh cung cp (tn NCC, a ch NCC, mt hng, gi)

Lc ny cha mt s cc thng tin v nh cung cp. Nhiu


vn c th ny sinh trong nh:
1. D tha (redundancy). a ch ca nh cung cp c lp li
mi ln cho mi mt hng c cung cp.
2. Mu thun tim n (potentian inconsistance) hay bt thng khi
cp nht. Do hu qu ca d tha, chng ta c th cp nht a ch ca
mt nh cung cp trong mt bn ghi nhng vn li a ch c trong
mt bn ghi khc. V vy chng ta c th khng c mt a ch duy
nht i vi mi nh cung cp.
3. Bt thng khi chn (insertion anomaly). Chng ta khng th
bit a ch mt nh cung cp nu hin ti h cha cung cp t mt mt
hng. Chng ta c th t gi tr null trong cc thnh phn mt hng v
gi ca mt bn ghi cho ngi , nhng khi chng ta nhp mt hng
cho nh cung cp , chng ta c nh xo i bn ghi mang gi tr null
hay khng? iu t hi l mt hng v tn NCC cng to ra mt kho
cho quan h , v c l khng th tm ra cc bn ghi nh ch mc s
cp c, nu c nhng gi tr null trong trng kho mt hng.
4. Bt thng khi xo (deletion anormaly). Ngc li vi vn
(3) l vn chng ta c th xo tt c cc mt hng c cung cp
bi mt ngi, v lm mt du vt tm ra a ch ca nh cung
cp ny.
Trong v d ny, tt c cc vn ny sinh trn s c gii quyt
trit khi thay n bng hai lc quan h mi:
NhCC (tn NCC, a ch NCC)
Gi_NCC (tn NCC, mt hng, gi)

Chng 3: Quy trnh phn tch thit k CSDL

169

y quan h NhCC cung cp a ch ca mi NCC ng mt


ln, do vy khng c d tha. Ngoi ra, chng ta cng c th nhp a
ch ca nh cung cp d hin ti h cha cung cp mt loi mt hng
no. Nh vy t tng ny sinh t nhin l lm th no c mt
CSDL tt?
m bo qu trnh thit k dn n mt CSDL tt (theo ngha
trnh c nhng nhc im trn) ngi ta thng thc hin y
cc bc theo mt trnh t cng ngh c trnh by di y.
Bc 1: Chnh xc ho d liu v thit lp danh sch thuc tnh cn qun l

Bc 2: Xc nh cc thc th, danh sch thuc tnh

Bc 3: Xc nh cc mi quan h, danh sch thuc tnh (nu c)

Bc 4: Xy dng M hnh khi nim d liu

Bc 5: Chuyn M hnh khi nim d liu sang M hnh quan h


(H lc quan h)

Bc 6: Chun ho cc quan h n 3NF v hp nht chng khi cn

Bc 7: Xy dng M hnh d liu logic - S E_R

Hnh 3.17. S khun cnh chung cc bc thit k CSDL logic


i vi phng php Blanpre, bc 2 v bc 3 da vo ma trn
ph thuc hm. i vi phng php trc gic, vic xc nh cc mi
quan h khng da trn rng buc ph thuc hm, hay quy tc qun l
m bng trc gic. Trong , cc h s d liu thng c xt ti nh
mt mi quan h n ngi.

170

C s d liu quan h v cng ngh phn tch - thit k

3.3.2. Cc k thut s dng trong thit k c s d liu logic


Phn trn, chng ta bit cc k thut xy dng m hnh khi
nim d liu. By gi chng ta s tm hiu cc k thut cn li s s
dng khi thit k CSDL.
3.3.2.1. K thut xc nh cc thc th
Mt thc th c xc nh nu xc nh c 3 thnh phn: tn
ca thc th, danh sch thuc tnh (t nht l mt) v nhm thuc tnh
nh danh (t nht l mt thuc tnh).
C nhiu cch xc nh thc th. Chng ta xem xt mt v d
sau y.
Cho mt ho n in hnh:
ho n bn hng
S:

Ngy:

M khch hng:
Tn khch hng:
a ch:
STT

M hng

Tn hng

n v

n gi

S lng

Thnh tin

Tng tin

1. Trng hp 1: Coi c HOADON l mt thc th, ta c:


HOADON
#S
#M hng* (2 thuc tnh {s, m hng} hp thnh nhm thuc
tnh nh danh ca thc th)
Ngy
M khch hng
Tn khch hng
a ch

171

Chng 3: Quy trnh phn tch thit k CSDL

Tn hng*
n v tnh*
n gi*
S lng*
Thnh tin*
Tng tin (cc thuc tnh c du * l thuc tnh lp/a tr)
2. Trng hp 2: Xc nh 2 thc th: mt nhm thuc tnh n v 1
nhm thuc tnh lp.
E1-HOADON

E2- HANG

#S
Ngy
M khch hng

#M hng
Tn hng

Tn khch hng

n v tnh

a ch
Tng tin
3. Trng hp 3: Xc nh 3 thc th: hai nhm thuc tnh n v 1
nhm thuc tnh lp.
E1-HOADON

E2- KHACH

E3-HANG

#S

#M khch hng

#M hng

Ngy

Tn khch hng

Tn hng

Tng tin

a ch

n v tnh

Ch :
- Mi thuc tnh ch phn cho 1 thc th
- C th c thuc tnh khng phn c cho mt thc th no c
3.3.2.2. K thut c t
Chng ta bit k thut c t mi quan h gia 2 thc th da
vo m t bng ngn ng t nhin. Ngoi cch ny chng ta cn c th
c t mi quan h gia 2 thc th da trn nhng k thut sau y:

172

C s d liu quan h v cng ngh phn tch - thit k

1. Da vo quy tc qun l hoc nhng quy tc ton vn


V d: Cho cc thc th v thuc tnh sau:
Vt t (m vt, tn vt, V, n gi),
phiu xut (s phiu, ngy, m kho, m khch),
khch (m khch, tn khch, a ch, E_mail),
kho (m kho, tn kho)

Da vo nhng quy tc c pht biu trc, chng ta v c


mt c t mi quan h gia 2 thc th:
Trong mi phiu xut, ghi nhiu loi vt t. Ngc li mi loi
vt t c th xut hin trong nhiu phiu xut vi d liu quan trng l
s lng.

Mt phiu xut ch vit cho mt khch; ngc li mt khch c


th c nhiu phiu xut

Mt phiu xut ch vit cho mt kho, ngc li mi kho c th c


nhiu phiu xut

Chng 3: Quy trnh phn tch thit k CSDL

173

2. Da vo kho ca cc lc quan h (Xc nh qua kho


lin kt)
V d:
+ Trng hp h lc quan h chun ho
Vt t (m vt, tn vt, V, n gi),
phiu xut (s phiu, ngy, m kho, m khch),
khch (m khch, tn khch, a ch, E_mail),
kho (m kho, tn kho)
dng Vt t (s phiu, m vt, s lng)

T Vt t v dng Vt t ta thy c nhm thuc tnh


chung l m vt, thc th Vt t chng l kho chnh, vy
thc th dng Vt t chng l kho ngoi. S tn ti ca kho
ngoi chng t gia 2 lc quan h c mi quan h vi nhau.
Ta v c:

Phn tch tng t, ta c:

174

C s d liu quan h v cng ngh phn tch - thit k

Kho ngoi (foreign key: FK) ca 1 quan h l mt nhm thuc


tnh trong quan h m l kho chnh ca mt quan h khc lin kt
vi n (cc FK cng c th tham chiu n kho chnh trong cng 1
quan h). Kho ngoi cn gi l kho lin kt.
+ Trng hp h lc quan h cha chun ho
Vt t (m vt, tn vt, V),
Dng phiu xut (s phiu, ngy, m kho, m khch, m vt*,
s lng*, n gi)
khch (m khch, tn khch, a ch, E_mail),
kho (m kho, tn kho)

Ta thy m vt l kho ngoi ca dng phiu xut trong


mi quan h vi Vt t nn c th c t mi quan h gia chng
trc, sau chun ho:

Chng 3: Quy trnh phn tch thit k CSDL

175

3.3.2.3. K thut chuyn m hnh khi nim d liu v h lc


quan h
1. Cho m hnh khi nim d liu ca h qun l kho

176

C s d liu quan h v cng ngh phn tch - thit k

Hnh 3.18. M hnh khi nim d liu ca h qun l kho

C 3 quy tc chuyn:
Quy tc 1 (quy tc bin i c bn):

Mi thc th c chuyn thnh mt quan h trong cc thuc


tnh ca thc th c chuyn thnh thuc tnh ca quan h, nh danh
ca thc th tr thnh kha ca quan h.
Quy tc 2:
Mi mi quan h 1-N m khng c thuc tnh ring s khng
c chuyn thnh mt quan h. Nhng thc th tham gia vo mi
quan h v pha N (pha 1:1 trong m hnh) s i mi bng cch sau
khi dng php bin i c bn s nhn thm kho ca thc th tham
gia vo mi quan h pha 1 lm kho lin kt. Cn thc th tham gia
vo mi quan h pha 1 s bin i theo quy tc 1.
Quy tc 3:
Mi mi quan h N-N hoc mi quan h c thuc tnh ring s
c chuyn thnh mt quan h mi. Quan h mi ny c thuc tnh

Chng 3: Quy trnh phn tch thit k CSDL

177

gm nh danh ca tt c cc thc th trong mi quan h v cc thuc


tnh ring ca n. Kha ca quan h c xc nh li sau . Cc
thc th tham gia vo mi quan h u bin i theo quy tc 1.
Gi thit y (da theo bn s ca m hnh) l mi mt hng
c th nhiu kho. Ta thy rng:
+ Mi quan h nhp t l mi quan h loi 1-N v khng c
thuc tnh ring nn khng chuyn thnh mt quan h mi. Thc th
nh cung cp tham gia vo mi quan h ny c chuyn thnh
quan h theo quy tc bin i c bn. Thc th phiu nhp sau khi
bin i theo quy tc c bn s c b sung thuc tnh M NCC lm
thuc tnh lin kt. Kt qu ta c hai lc sau:
Nha_CUNG_CaP (M NCC, Tn NCC, a ch NCC)
PHIeU_NhaP (S phiu nhp, Ngy nhp, M NCC)

+ Mi quan h cha l mi quan h loi N-N v c thuc tnh


ring nn c chuyn thnh mt quan h mi. Danh sch thuc tnh
ca n bao gm thuc tnh ring tn kho v cc thuc tnh nh danh
ca cc thc th tham gia vo mi quan h ny (m kho v m hng).
Cc thc th kho v hng tham gia vo mi quan h u c
bin thnh quan h theo quy tc c bn. Kt qu ta c 3 lc quan
h sau:
Kho (M kho, Tn kho, a ch, Loi kho)
Chua (M kho, M hng, Tn kho)
HANG (M hng, Tn hng, n v, n gi)

+ Cc mi quan h khc u c phn tch tng t s cho chng


ta h lc quan h. Sau khi loi tr cc quan h b bao hm m
bo l h Sperner ta s cn li 9 lc quan h sau (nhng thuc tnh
gch chn l kha):
1. Nha_CUNG_CaP (M NCC, Tn NCC, a ch NCC)
2. PHIeU_NhaP (S phiu nhp, Ngy nhp, M NCC)

178

C s d liu quan h v cng ngh phn tch - thit k


3. GoM_CaC_KHOaN_NhaP (S phiu nhp, M hng, Lng nhp)
4. KHaCH_HaNG (M khch, Tn khch, a ch khch)
5. Phieu_xuat (S phiu xut, Ngy xut, M khch)
6. Gom_ cac_khoan_xuat (s phiu xut, m_hng, Lng xut)
7. Kho (M kho, Tn kho, a ch, Loi kho)
8. Chua (M kho, M hng, Tn kho)
9. HANG (M hng, Tn hng, n v, n gi)

Ch : Nu mi mt hng ch 1 kho th c:

Hnh 3.19. M hnh khi nim d liu


V c Chua (M kho, M hng, Tn kho)
Nn 2 quan h:
HANG (M hng, Tn hng, n v, n gi)

V: Chua (M kho, M hng, Tn kho)


s c hp li thnh mt:
HANG (M hng, Tn hng, n v, n gi, Mkho, Tn kho)

Chng 3: Quy trnh phn tch thit k CSDL

179

Vy h lc trong trng hp ny ch cn c 8 lc quan


h sau:
1. Nha_CUNG_CaP (M NCC, Tn NCC, a ch NCC)
2. PHIeU_NhaP (S phiu nhp, Ngy nhp, M NCC)
3. GoM_CaC_KHOaN_NhaP (S phiu nhp, M hng, Lng
nhp)
4. KHaCH_HaNG (M khch, Tn khch, a ch khch)
5. Phieu_xuat (S phiu xut, Ngy xut, M khch)
6. Gom_ cac_khoan_xuat (s phiu xut, m_hng, Lng xut)
7. Kho (M kho, Tn kho, a ch, Loi kho)
8. HANG (M hng, Tn hng, n v, n gi, Mkho, Tnkho)

2. Cho m hnh khi nim bi ton qun l kinh doanh

Hnh 3.20. M hnh khi nim d liu

180

C s d liu quan h v cng ngh phn tch - thit k

Chuyn sang m hnh quan h:


Mi quan h AT l mi quan h loi N-N, c thuc tnh ring
nn c chuyn thnh mt quan h:
AT (s n, ngy t, m khch, m hng *, s lng t*)
Ch :
M hng c nh du * trong AT v thuc tnh s lng t
l a tr, tc l ng vi nhiu loi hng.
Thc th KHACH c tch ring nn m khch trong AT
khng gi vai tr l thnh phn ca kho chnh m ch l kho ngoi.
Cn thc th KHACH v HANG tham gia vo mi quan h trn
cng c chuyn sang lc quan h tng ng theo quy tc c bn:
KHACH (M khch, Tn khch, a ch khch)
HANG (M hng, Tn hng, M t hng, n v tnh)
Kt qu ta c h lc sau:
AT (s n, ngy t, m khch, m hng*, s lng t*)
KHACH (M khch, Tn khch, a ch khch)
HANG (M hng, Tn hng, M t hng, n v tnh)
3.3.2.4. K thut chun ho
Chun ho l mt qu trnh chuyn mt cu trc d liu phc
hp thnh cc cu trc d liu tt v n gin hn.
Chun ho thng c hon thnh sau mt s bc, mi bc
nhn c cc quan h tng ng vi mt dng chun. Dng chun
c hiu l mt trng thi ca quan h c th c xc nh nh p
dng cc quy tc pht hin s ph thuc hm (mi quan h) gia
cc thuc tnh ca quan h.
Chun ho da trn c s phn tch cc ph thuc hm. Ph thuc
hm nh ni trn l mt mi quan h c th gia hai thuc tnh
(hay nhm thuc tnh) trong mt quan h.

Chng 3: Quy trnh phn tch thit k CSDL

181

Cc d liu trong quan h khng d cho thy v s tn ti ca cc


ph thuc hm. Ch c s hiu bit v tri thc ca con ngi v cc i
tng m chnh quan h m t mi cho php xc nh cc ph
thuc hm vn tn ti trong n. Tuy c nhng thut ton (thng phc
tp) cho php pht hin ra c hay khng cc s ph thuc hm gia hai
hay nhiu thuc tnh ca n nhng thng t dng.
a. Cc dng chun c bn
C 3 dng chun c bn l:
Chun 1 (first-normal-form: 1NF): Mt quan h t chun 1 nu
n khng cha cc thuc tnh lp.
Chun 2 (second-normal-form: 2NF) (Cc thuc tnh ngoi kha
ph thuc hon ton vo kho)
Mt quan h t chun 2 nu:
- t chun 1
- Khng tn ti thuc tnh ngoi kho m ph thuc vo mt phn
ca kho.
Chun 3 (thirth- normal- form: 3NF) (Cc thuc tnh ngoi kha
ph thuc trc tip vo kho)
Mt quan h t chun 3 nu:
- t chun 2
- Khng tn ti thuc tnh ngoi kho m ph thuc bc cu vo
kho (qua mt thuc tnh gi l thuc tnh cu (cng l thuc tnh
ngoi kho)).
chun ho mt h lc quan h, ta xt ln lt tng quan h
v kim tra tnh chun ca n. Mun vy, trc ht ta xc nh cc
ph thuc hm v kho chnh (kho ti tiu) ca quan h. Sau tin
hnh kim tra ln lt cc loi chun i vi quan h:
V d:
- Cho lc quan h:

182

C s d liu quan h v cng ngh phn tch - thit k


PHIEUNHAP (sophieu, ngaynhap, makhach, ten_kh, diachi_kh,
2

ienthoai, makho, iachikho, hinhthucthanhtoan,loaitien,


6

10

mavattu*, tenvattu*, soluong*,donvitinh*, ongia*, tyleVAT*)


11

12

13

14

15

16

- Cc bc thc hin:
+ Bc 1: Xc nh ph thuc hm
Vic xc nh ph thuc hm da vo 2 yu t: nghip v ca cc
nh chuyn mn v kinh nghim ca nh phn tch. i vi v d n
ny, ta thy lc quan h gm 2 nhm: nhm thuc tnh 1 gm
danh sch cc thuc tnh khng lp (t 1 n 10), nhm thuc tnh 2
gm cc thuc tnh lp (t 11 n 16). Trn c s ta xc nh 3
nhm ph thuc hm tng ng:
+ Nhm ph thuc hm th nht: xc nh ph thuc hm trong
nhm thuc tnh khng lp. Theo v d ta c:
(1) -> (2, 3, 4, 5, 6, 7, 8, 9, 10)

+ Nhm ph thuc hm th hai: xc nh ph thuc hm trong


nhm thuc tnh lp. Theo v d ta c:
(11) -> (12, 14, 15, 16)

+ Nhm ph thuc hm th ba: xc nh ph thuc hm trong


nhm hn hp c thuc tnh lp v khng lp.Theo v d ta c:
(1, 11) -> (13)

s lng y l s lng vt t v c gi tr khc nhau trn cc


PHIEUNHAP khc nhau.
Sau ny, m rng trong cc bi ton ln nh bi ton qun l nhn
s chng hn, c nhiu nhm lp khc nhau, th chng ta s xc nh
ph thuc hm ring cho tng nhm lp v xc nh ph thuc hm
hn hp ca tng nhm lp ring vi nhm cc thuc tnh khng lp.

Chng 3: Quy trnh phn tch thit k CSDL

183

+ Bc 2: Xc nh K chnh (K ti tiu) (dng thut ton)


Kho chnh, phn ln cc trng hp, thng l cc thuc tnh
nm pha bn tri cc ph thuc hm m chng ta xc nh c. Gi
nhm thuc tnh pha tri cc ph thuc hm l K. Nh thut ton tnh
bao ng ta xc nh c K c l kho (thng) hay khng. Thng
thng vi ngi phn tch c kinh nghim xc nh ph thuc hm
th K l kho ngay (nu cha t kho th ta d dng b sung cc thnh
phn thuc tnh cn thiu t l kho). Sau dng thut ton tnh
kho ti tiu p dng cho ngay kho va tm c ta s thu c mt
kho ti tiu m ta gi l kho chnh.
V d y: nhm thuc tnh K = (1,11)
c th suy ra ton khng gian thuc tnh ca quan h. Hn na, kim
tra c chng chnh l kho ti tiu (ln lt bt tng thuc tnh v
kim tra li bao ng). Cui cng thu c:
PHIEUNHAP (sophieu, ngaynhap, makhach, ten_kh, diachi_kh,
ienthoai, makho, iachikho, hinhthucthanhtoan, loaitien,
mavattu*, tenvattu*, soluong*, donvitinh*, ongia*, tyleVAT*)

+ Bc 3: Chun ho 1, 2, 3
V cc thuc tnh: 11,...,16 (c du *) l cc thuc tnh lp nn
quan h ny cha t chun 1.
Nu quan h khng phi l chun 1: Phn r quan h thnh hai
quan h:
Quan h 1 (QH1): Cc thuc tnh lp v kho chnh ca lc
gc (cha tch).
Quan h 2 (QH2): Cc thuc tnh n (cc thuc tnh khng lp).
QH1: gm cc thuc tnh lp (11,...,16) v (1) l kho tc l:
VATTU (S phiu, mavattu, tenvattu, soluong, donvitinh, ongia,
tyleVAT)
1
11
12
13
14
15
16

184

C s d liu quan h v cng ngh phn tch - thit k

QH2: gm (2, 3, 4, 5,...,10) v (1) tc l:


PHIEUNHAP (sophieu, ngaynhap, makhach, ten_kh, diachi_kh,
1

ienthoai, makho, iachikho, hinhthucthanhtoan, loaitien)


6

10

Nu quan h khng phi l chun 2: Phn r thnh hai quan h:


Quan h 1: Cc thuc tnh ph thuc vo mt phn kho chnh v
phn kho chnh xc nh chng.
Quan h 2: Cc thuc tnh cn li v kho chnh ca lc gc
(cha tch).
Xt QH1:
VATTU (S phiu, mavattu, tenvattu, soluong,donvitinh, ongia,
tyleVAT)
1
11
12
13
14
15
16

Ta thy 11 -> 12, 14, 15, 16, m 11 l b phn ca kho nn quan


h ny khng t chun 2.
t chun 2 ta tch thnh 2 quan h:
QH1_1: VATTU (mavattu, tenvattu, donvitinh, ongia, tyleVAT)
12

11

14

15

16

QH 1_2: DONGVATTU (S phiu, mavattu, soluong)


11

13

Xt tip QH2:
PHIEUNHAP (sophieu, ngaynhap, makhach, ten_kh, diachi_kh,
1

ienthoai, makho, iachikho, hinhthucthanhtoan, loaitien)


6

10

Quan h ny ng nhin t chun 2 v nhm thuc tnh kho


ch c mt thuc tnh.

185

Chng 3: Quy trnh phn tch thit k CSDL

Nu quan h khng phi l chun 3: phn r quan h thnh 2


quan h:
Quan h 1: Cc thuc tnh ph thuc bc cu v thuc tnh cu.
Quan h 2: Cc thuc tnh cn li v cc thuc tnh cu.
Xt:
QH1_1: 1. VATTU (mavattu, tenvattu, donvitinh, ongia, tyleVAT)
12

11

14

15

16

t chun 3 v khng c thuc tnh cu.


Xt:
QH 1_2: 2. DONGVATTU (S phiu, mavattu, soluong)
1

11

13

cng t chun 3 v thuc tnh ngoi kho ch c mt nn khng c


thuc tnh cu.
Xt tip QH2:
PHIEUNHAP (sophieu, ngaynhap, makhach, ten_kh, diachi_kh,
1

ienthoai, makho, iachikho, hinhthucthanhtoan,loaitien)


6

10

Ta thy 3 -> 4, 5, 6
7 -> 8

m 3 v 7 l thuc tnh ngoi kho nn chng l nhng thuc tnh cu.


V vy c chun 3 ta tch thnh nhng quan h sau:
QH2_1: 3. KHACH (makhach, ten_kh, diachi_kh, ienthoai)
3

QH2_2: 4. KHO (makho, iachikho)


7

186

C s d liu quan h v cng ngh phn tch - thit k

v QH2_3: 5. PHIEUNHAP (sophieu, ngaynhap, makhach, makho,


hinhthucthanhtoan, loaitien)
9

10

Kt lun:
Ta c h lc quan h sau t 3NF:
1. VATTU (mavattu, tenvattu, donvitinh, ongia, tyleVAT)
2. DONGVATTU (S phiu, mavattu, soluong)
3. KHACH (makhach, ten_kh, diachi_kh, ienthoai)
4. KHO (makho, iachikho)
5. PHIEUNHAP(sophieu, ngaynhap, makhach, makho,
hinhthucthanhtoan, loaitien)

y, chng ta lu mt s k thut tch chng.


Xt chun 1:
+ Nu quan h cn cc thuc tnh c du * (thuc tnh lp) ngha
l quan h cha t chun 1. Ta s dng quy tc tch bnh thng.
+ Trong trng hp c nhiu nhm thuc tnh lp (xen k vi cc
thuc tnh khng lp) ta nn ng thi tch theo tng nhm lp. Hay
ni r hn, khi c m nhm lp ta s tch lc theo quy tc
bit thu c ng thi m+1 lc quan h mi t chun 1.
Xt chun 2:
+ Mi quan h t chun 1, cha t chun 2, u d dng tch
thnh cc quan h t chun 2 theo quy tc bit.
+ Trng hp nhm thuc tnh kho ch c mt thuc tnh, iu
ny c ngha l ph thuc b phn khng th xy ra, ta kt lun ngay
l quan h ng nhin t chun 2.
+ Trong trng hp c m nhm ph thuc b phn, ta s tch
ng thi thnh m+1 quan h t chun 2 da theo quy tc bit.

Chng 3: Quy trnh phn tch thit k CSDL

187

Xt chun 3:
Cng ging nh cc chun trn, khi c m thuc tnh cu, ta s
tch c m+1 quan h mi t chun 3.
+ Trng hp nhm thuc tnh ngoi kho ch c 1 thuc tnh,
iu ny c ngha khng th tn ti thuc tnh cu, nn quan h
ng nhin t chun 3.
3.3.2.5. K thut chuyn t h lc quan h sang s E-R
(ERD-m hnh d liu logic)
d nhn thc v trao i, m hnh E-R thng c biu din
di dng mt th, trong cc nt l cc thc th, cn cc cung l
cc mi quan h (cc kiu lin kt cc thc th).
M hnh c lp nh sau:
Mi thc th c biu din bng mt hnh ch nht c 2 phn:
phn trn l tn thc th (vit in), phn di cha danh sch cc thuc
tnh, trong thuc tnh kho c nh du (mi thc th ch xc
nh mt kho-ti tiu). Tn thc th thng l danh t (ch i
tng).
Mt mi quan h c biu din thng bng hnh thoi/elp, c
ni bng nt lin ti cc thc th tham gia vo mi quan h . Trong
hnh thoi l tn ca mi quan h cng c vit in, danh sch cc
thuc tnh ca n th c vit thng. Tn ca mi quan h thng l
ng t ch ng hay b ng. Trong phng php MERISE, mi
quan h thng c biu din bng hnh elp. M hnh E_R cui
cng thng mi quan h khng cn loi N-N. Trong mi quan h nh
nguyn th hai u mt cc ng ni, st vi thc th, ngi ta v
ng ba ch (cn gi l ng chn g) v pha c kho ngoi (kho
lin kt) th hin nhiu, cn pha kia th hin mt. Bn s trong mi
c t mi quan h gia 2 thc th l cp Max ca hai bn s xc nh
trong c t v c gi l bn s trc tip.

188

C s d liu quan h v cng ngh phn tch - thit k

Ch :
+ Mi quan h c th khng c thuc tnh. Khi c, ta thng gi
l thuc tnh ring v cng c vit trong hnh thoi song nh rng ch
vit ch thng (phn bit tn ca mi quan h vit bng ch in)
+ Gia 2 thc th c th c nhiu mi quan h v chng cn v
ring r, khng chp vo nhau.
Vic chuyn t h lc quan h sang s E-R c thc hin
theo cc bc sau:
Bc 1:
T mi lc quan h, v mt hnh ch nht bao gm tn lc
cng vi cc thuc tnh ca n:
V d: Cho lc quan h:
VATTU (Mavattu,Tenvatu, Donvitinh, TyleVAT)

Bc 2: Xc nh quan h (th hin bng ng ni) gia 2 thc


th (th hin bng hnh ch nht) bt k.
Bc 2.1: Xc nh nhm thuc tnh chung.
Nu khng c nhm thuc tnh chung th kt lun: khng c
quan h

Chng 3: Quy trnh phn tch thit k CSDL

189

y, hai thc th vt t v dng vt t c nhm thuc


tnh chung l m vt t.
Bc 2.2: Kim tra nhm thuc tnh chung c phi l kho
chnh ca 1 trong 2 thc th? y c m vt t l kho chnh trong
vt t.

Nu khng c th kt lun khng c quan h: tn cng ty l thuc


tnh chung nhng khng phi l kho chnh ca thc th no c.

Bc 2.3: Kt lun tn ti kho ngoi: Nhm thuc tnh chung


bn thc th khng phi l kha chnh m s l kha ngoi.
Bc 3: V ng ni gia 2 hnh ch nht v ng 3 ch gn
vi thc th cha kho ngoi.

190

C s d liu quan h v cng ngh phn tch - thit k

Kt qu, t h 5 lc quan h chun ho 3NF:


KHACH (Makhach, Tenkhach, Diachi, Dienthoai)
KHO (M kho, a ch kho)
VATTU (Mavattu, Tenvatu, Donvitinh, TyleVAT)
DONGVATTU (Sophieu, Mavattu, Soluong)
PHIEUNHAP (Sophieu, Ngaynhap, Makhach, Makho,
hinhthucthanhtoan, Loaitien)

ta xy dng c s E-R nh sau:

Hnh 3.21. S E-R tng ng vi h lc


quan h chun ho n 3NF
Ch :
1. CHINHANH (M chi nhnh, tn chi nhnh, m cng ty)
2. CONGTY (M cng ty, tn cng ty, a ch cng ty)

Chng 3: Quy trnh phn tch thit k CSDL

191

3. DUAN (M d n, tn d n, m chi nhnh)


4. NHANVIEN (M nhn vin, tn nhn vin, a ch nhn vin, m
chi nhnh, M ngh*, trnh ngh*) (thuc tnh c du * l thuc tnh lp)
5. NGHE (M ngh, tn ngh)

c t quan h gia cc thc th:

Nhn thy:
4. NHANVIEN (M nhn vin, tn nhn vin, a ch nhn vin,
m chi nhnh, M ngh*, trnh ngh*) cho bit 1 nhn vin c
nhiu ngh.
5. NGHE (M ngh, tn ngh): 1 ngh c th c nhiu nhn vin
c o to. V vy ta c:

Nhn xt: Cch gii quyt ny i hi kinh nghim ca ngi


phn tch.

Nhn thy:
Quan h NHANVIEN nu tch thnh 2 quan h t chun 1:
4. NHANVIEN (Mnhnvin, tnnhnvin, achnhnvin,
mchinhnh)
6. TRINHDO (M nhn vin, M ngh, trnh ngh)
th ta cng c tng ng (1):

192

C s d liu quan h v cng ngh phn tch - thit k

H mi c 6 lc (thm TRINHDO) nhng s E_R nh


nhau.
Nhn xt: d c t hn: u tin l chun ho; sau xc nh
kho lin kt v s c t mi quan h gia 2 thc th.

Nhn thy:
T quan h 4. NHANVIEN v 5. NGHE, c c t quan h gia
chng (da vo vic xc nh K ngoi):

Nhn xt:
Phng php ny rt t nhin: u tin da vo kho lin kt
c t mi quan h gia hai thc th, sau chun ho.
Trng hp h lc t 3NF c ngun gc t m hnh khi
nim d liu th ta da vo chnh m hnh khi nim d liu xc
nh m hnh E_R (khung thit k).
3.3.2.6. V d
V d 1- Phng php m hnh:
Mt c s bn hng s dng hai loi chng t sau theo di hot
ng kinh doanh ca mnh:

193

Chng 3: Quy trnh phn tch thit k CSDL


a. n t hng
S ho n:

Ngy t:

Ngi t hng:
a ch:
STT

Tn hng

M t hng

n v tnh

S lng (t)

b. phiu giao hng


S phiu:

Ngy giao:

Tn khch hng:
a ch:
Ni giao hng:
STT

Tn hng

n v tnh

n gi

S lng (giao)

Thnh tin

TONGTIEN:

Cn thit k CSDL loi quan h (bao gm cc file d liu v s


m hnh d liu) t cc ti liu trn qun l hot ng bn hng.
Gi thit: n gi giao khng ch ph thuc vo m hng (c th
ph thuc vo khch, s lng, thi gian).
Th tc tin hnh: Phn trn, cc bc 1, 2, 3, 4 thc hin v
chng ta c m hnh khi nim d liu sau (hnh 3.5):

194

C s d liu quan h v cng ngh phn tch - thit k

Chng ta tip tc cc bc cn li:


5. Chuyn m hnh khi nim d liu sang m hnh quan h
HANG, KHACH chuyn sang dng lc theo quy tc c bn ta c:
HANG (m hng, Tn hng, M t hng, n v hng)
KHACH (m khch, Tn khch, a ch khch)

DONDAT, PHIEUGIAO chuyn sang lc quan h theo quy tc 2


ta c:
DONDAT (S n t, Ngy t hng, m khch)
PHIEUGIAO (S phiu giao, Ni giao, Ngy giao, m khch)

R2, R4 chuyn sang lc quan h theo quy tc 3 ta c:


DONGDON (S n t, m hng, SL t)
DONGPHIEU (S phiu giao, m hng, gi, SL giao)

Kt qu, chng ta c h lc quan h sau:


1. HANG (M hng, Tn hng, M t hng, n v hng)
2. KHACH (M khch, Tn khch, a ch khch)
3. DONDAT (S n t, Ngy t hng, m khch)
4. PHIEUGIAO (S phiu giao, Ni giao, Ngy giao, m khch)
5. DONGDON (S n t, m hng, SL t)
6. DONGPHIEU (S phiu giao, m hng, gi, SL giao)

6. Tin hnh chun ho cc quan h nhn c n 3NF


C 6 lc trn u t chun 3NF
7. V s E_R: Hnh 3.22.

Chng 3: Quy trnh phn tch thit k CSDL

195

Hnh 3.22
V d 2: Phng php trc gic
Th tc tin hnh:
Phn trn, cc bc 1, 2, 3, 4 thc hin v chng ta c m
hnh khi nim d liu sau (hnh 3.9):

Chuyn m hnh khi nim d liu sang m hnh quan h:


HANG, KHACH chuyn sang dng lc quan h thnh:

196

C s d liu quan h v cng ngh phn tch - thit k


HANG (M hng, Tn hng, M t hng, n v hng)
KHACH (M khch, Tn khch, a ch khch)

DAT, GIAO chuyn sang lc quan h thnh:


DONDAT (S n, Ngy t, s lng t*, m khch, m hng*)
PHIEUGIAO (S phiu, Ni giao, Ngy giao, s lng giao*, n gi
giao*, m khch, m hng*)

Chun ho: Hai quan h:


HANG (M hng, Tn hng, M t hng, n v hng)
KHACH (M khch, Tn khch, a ch khch)

u t 3NF.
Cn 2 quan h:
DONDAT (S n, Ngy t, s lng t*, m khch, m hng*)
PHIEUGIAO (S phiu, Ni giao, Ngy giao, s lng giao*, n gi
giao*, m khch, m hng*)

khng t chun 1 v cn thuc tnh lp. t 1NF, ta tch chng


thnh:
DONGDON (S n, s lng t, m hng)
DONDAT (S n, Ngy t, m khch,)
DONGPHIEU (S phiu, s lng giao, n gi giao, m hng)
PHIEUGIAO (S phiu, Ni giao, Ngy giao, m khch)

Kt qu, chng ta c h lc quan h sau ging nh v d trn:


1. HANG (M hng, Tn hng, M t hng, n v hng)
2. KHACH (M khch, Tn khch, a ch khch)
3. DONDAT (S n, Ngy t, m khch)
4. PHIEUGIAO (S phiu, Ni giao, Ngy giao, m khch)
5. DONGDON (S n t, m hng, s lng t)
6. DONGPHIEU (S phiu, m hng, n gi giao, s lng giao)

Chng 3: Quy trnh phn tch thit k CSDL

197

3.3.3. Thit k c s d liu logic da trn Phng php t in


Trong mt s trng hp, cc d liu thu c l nhng h s,
u vo cha tt c d liu cn thit xy dng c s d liu. Khi
ngi ta c th lp cc t in m mi ti liu c xem nh mt thc
th vn tn ti. Qu trnh xy dng c s d liu c bt u t t
in d liu thu c. y l mt phng php c s dng rt sm
t khi c m hnh d liu quan h.
Quy trnh thit k mt CSDL c th c m t nh sau:
1. Mi h s gc c xem nh mt thc th. Lit k tng thc th
v tt c cc thng tin c trng trong n xem nh nhng thuc tnh
ca thc th .
2. Chnh xc ho thng tin l nhng thuc tnh ca cc thc th,
sao cho hai thng tin c cng tn gi trong ton t in phi cng
ngha. Nu chng c ngha khc nhau th tn gi phi khc nhau.
3. Chn lc v m ho cc thng tin thu c theo nguyn tc sau:
- i ln lt t trn xung di.
- Cc thc th v thuc tnh c m ho bng tn mi m bo
yu cu ca h qun tr CSDL s s dng xy dng cc file cho n.
- Nu mt thuc tnh l thuc tnh tn gi m ln u tin gp n
v c th s dng lm nh danh cho thc th tng ng vi n th s
dng lm nh danh v nh du n. Nu khng th lm nh danh th
phi thm mt thuc tnh nh danh cho thuc tnh ny v tin hnh
m ho chng.
- Nu thuc tnh l tn gi gp ln th 2 tr i th thay n bng
thuc tnh nh danh tng ng trn.
- Nu mt thuc tnh khng phi l nh danh hoc tn gi (tc l
thuc tnh m t) gp ln u th n c chn v m ho. Nu l
thuc tnh m t gp ln th 2 tr i th b qua.

198

C s d liu quan h v cng ngh phn tch - thit k

- Nu mt thuc tnh m t l thuc tnh trung gian (c th suy ra


t cc thuc tnh c m ho) th cng b qua. V d nh thnh
tin c suy t n gi v s lng
4. Xc nh cc thuc tnh lp trong cc thc th nhn c (thuc
tnh trong bng).
5. Xc nh thuc tnh nh danh ca cc thc th (h s gc)
(nh du bng gch di thuc tnh)
6. Tin hnh chun ho cc thc th m ho thu c cc
quan h t chun 3NF
7. Tin hnh tch hp cc quan h c chun ha, xc nh
cc kho chnh, kho ngoi ca chng. Kt qu thu v 1 h lc
quan h c chun ho n 3NF sao cho h cc lc quan h
to thnh mt h Sperner (K l mt h Sperner nu vi A,B K
khng xy ra: A B hoc B A)
8. V s E_R
- Mi quan h tng ng vi mt hnh ch nht, phn trn l tn
quan h, phn di l cc thuc tnh ca n
- nh du thuc tnh kha (in m, gch di, )
- Hai quan h c ni vi nhau nu chng c mi quan h (th
hin chng c kho ngoi)
- Bn s trc tip gia 2 thc th c kim nghim da trn
ngha thc tin ca n hoc da vo kho ngoi.
Ch :
Vic xc nh mi lin kt (v c ng ni) gia 2 thc th
da trn cc kt qu ca cng vic truy xt sau:
+ Tm c nhm thuc tnh chung gia 2 quan h: nu ti 1 quan
h, nhm thuc tnh l kho chnh th chng s l kho ngoi ca
quan h cn li, tc l tn ti lin kt gia 2 quan h . Khi ta k

199

Chng 3: Quy trnh phn tch thit k CSDL

c 1 ng ni lin kt gia chng. ng ba ch s gn vi quan


h cha kho ngoi.
+ Nu khng tm c nhm thuc tnh chung hoc c nhm
thuc tnh chung nhng chng khng l kho chnh ca mt quan h
no c th 2 quan h s khng c lin kt, tc l khng c ng
ni gia chng.
V d:
Mt cng ty kinh doanh quan tm n hai loi chng t sau
theo di hot ng xut nhp vt t ca mnh:
Phiu nhp
S phiu:......
Ngy:
Tn Nh cung cp:
a ch:
in thoi:

M kho:
a ch kho:

STT

Tn
vt t

S
lng

n v
tnh

n
gi

T l
VAT

Thnh tin

Tng cng tin


Phiu xut
S phiu:......
Ngy:
Tn khch hng:
a ch:
in thoi:

M kho:
a ch kho:

STT

Tn
vt t

S
lng

n v
tnh

n
gi

T l
VAT

Thnh
tin

Tng cng tin

200

C s d liu quan h v cng ngh phn tch - thit k

Bc 1: Lit k, chnh xc ho thng tin, cht lc thng tin v


m ho
Bng 3.12. Danh sch thuc tnh cn qun l
Thc th -Thuc tnh

Chnh xc ho d liu

phiu nhp

PHIEUNHAP

S phiu (nhp)

Sophieunhap

Ngy (nhp)

Ngaynhap

Tn Nh cung cp

TenNCC

+ M Nh cung cp (1)

MaNCC (thm)

a ch (nh cung cp)

/cNCC

in thoi (nh cung cp)

TeleNCC

M kho

Makho

a ch kho

/ckho

S th t (lp) (2)

(b)

Tn vt t (lp)

Tenvattu*

+ M vt t (1)

Mavattu* (thm)

S lng (nhp) (lp)

Slnhap*

n v tnh (lp)

/Vtinh*

n gi (nhp) (lp)

ongianhap*

T l VAT (lp)

TyleVAT

Thnh tin (lp)

(b)

Tng tin (nhp) (5)

(b)

Phiu xut

Phieuxuat

S phiu (xut)

Sophieuxuat

Ngy (xut)

Ngayxuat

+ M khch hng (1)

Makhach (thm)

Tn khch hng

Tenkhach

a ch (khch)

/ckhach

in thoi (khch)

Telekhach

M kho

Makho

a ch kho (4)

(b)

S th t (lp) (2)

(b)

Tn vt t M vt t (3)

Mavattu*

S lng (xut) (lp)

Slxuat*

Chng 3: Quy trnh phn tch thit k CSDL


n v tnh (lp) (4)

(b)

n gi (xut) (lp)

Dongiaxuat*

T l VAT (lp) (4)

(b)

Thnh tin (lp)

(b)

Tng tin (xut) (5)

(b)

201

Ch thch:
1. Tn nh cung cp l thuc tnh tn gi ca thc th Nh cung
cp, khng xc nh mi nh cung cp c th v Nh cung cp c th
trng tn. V vy phi thm thuc tnh M Nh cung cp (MaNCC)
lm thuc tnh nh danh cho Nh cung cp. Tng t thm M vt
t v m khch hng
2. S th t nh s mi dng ho n ch c ngha trong ho
n ny, khng cho thng tin g khc, khng cn lu tr.
3. Thuc tnh tn gi, c thuc tnh m ho i km, gp mt
ln trn nn b i. Nu khng c thuc tnh m ho i km th thay
bng m ho.
4. Cc thuc tnh m t, gp mt ln trn nn b i.
5. Thuc tnh thnh tin = (n gi giao) x (s lng giao), hai
thuc tnh ny c chn trn ta c th tnh c thnh tin nn
khng cn lu tr thuc tnh ny. Tng t nh vy, thuc tnh tng
tin cng khng cn lu tr.
Thuc tnh c du (*) biu th cc thuc tnh lp.
Bc 2: Xc nh cc thuc tnh cn qun l v cc ph
thuc hm
Theo bng lit k trn ta c tp cc thuc tnh cn qun l vi cc
ph thuc hm nh sau:
R1 = {Sophieunhap, Ngaynhap, MaNCC, TenNCC, /cNCC,
TeleNCC, Makho, /ckho, Mavattu*, Tenvattu*, Slnhap*, /v tnh*,
ongianhap*, TyleVAT*}

202

C s d liu quan h v cng ngh phn tch - thit k


Sophieunhap Ngaynhap, MaNCC, TenNCC, /cNCC,
TeleNCC, Makho, /ckho.
F1 =

Mavattu Tenvattu, /vtinh, TyleVAT


Sophieunhap, Mavattu Slnhap, ongianhap

R2 = {Sophieuxuat, Ngayxuat, Makhach, tenkhach, /ckhach,


telekhach, makho, Mavattu*, Slxuat*, dongiaxuat*}
Sophieuxuat Ngayxuat, Makhach, Tenkhach,
F2 =

/ckhach, Telekhach, Makho


Sophieuxuat, Mavattu SLxuat, Dongiaxuat

T y, ta xc nh c kho trong lc quan h tng ng


cho R1 v R2 nh sau:
Phieunhap (Sophieunhap, Ngaynhap, MaNCC, TenNCC, /cNCC,
TeleNCC, Makho, /ckho, Mavattu*, Tenvattu*, Slnhap*, /v tnh*,
ongianhap*, TyleVAT*)
Phieuxuat (Sophieuxuat, Ngayxuat, Makhach, Tenkhach, /ckhach,
Telekhach, Makho, Mavattu*, Slxuat*, dongiaxuat*)

v bao ng {Sophieunhap, Mavattu}+ = R1


v bao ng {Sophieuxuat, Mavattu}+ = R2
Kho trong hai lc chnh l kho ti tiu.
Bc 3: Tin hnh chun ho
Vic tin hnh chun ho s da theo cc quy tc nu trong cc
chng trc.
Nhn thy rng hai lc :
Phieunhap (Sophieunhap, Ngaynhap, MaNCC, TenNCC,
/cNCC, TeleNCC, Makho, /ckho, Mavattu*, Tenvattu*, Slnhap*, /v
tnh*, ongianhap*, TyleVAT*)
Phieuxuat (Sophieuxuat, Ngayxuat, Makhach, tenkhach,
/ckhach, telekhach, makho, Mavattu*, Slxuat*, dongiaxuat*)

cha t chun 1 v cn c thuc tnh lp.

203

Chng 3: Quy trnh phn tch thit k CSDL

t chun 1NF ta tch chng thnh cc lc con:


Phieunhap1 (Sophieunhap, Mavattu, Tenvattu, Slnhap, /v tnh,
ongianhap, TyleVAT)
Phieunhap2 (Sophieunhap,
/cNCC, TeleNCC, Makho, /ckho)

Ngaynhap,

MaNCC,

TenNCC,

Phieuxuat1 (Sophieuxuat, Mavattu, Slxuat, ongiaxuat)


Phieuxuat2 (Sophieuxuat,
/ckhach, telekhach, makho)

Ngayxuat,

Makhach,

tenkhach,

Xt chun 2:
Phieunhap1 (Sophieunhap, Mavattu, Tenvattu, Slnhap, /v tnh,
ongianhap, TyleVAT)

C Mavattu Tenvattu, /v tnh, TyleVAT), m Mavattu l mt


phn ca kho nn PHIEUNHAP1 khng t 2NF. t 2NF ta tch
n thnh cc lc con:
(1) VATTU (Mavattu, Tenvattu, /v tnh, TyleVAT)
(2) DONGNHAP (Sophieunhap, Mavattu, Slnhap, ongianhap,)
Phieunhap2 (Sophieunhap,
/cNCC, TeleNCC, Makho, /ckho)

Ngaynhap,

MaNCC,

TenNCC,

Phieunhap2 ng nhin t chun 2NF v nhm thuc tnh kho


ch c mt thuc tnh. Vy:
(3) Phieunhap2 (Sophieunhap, Ngaynhap, MaNCC, TenNCC,
/cNCC, TeleNCC, Makho, /ckho)
(4) DONGxuat (Sophieuxuat, Mavattu, Slxuat, ongiaxuat)
t 2NF v khng tn ti thuc tnh ngoi kho no ph thuc vo mt
phn ca kho c.
Phieuxuat2 (Sophieuxuat,
/ckhach, telekhach, makho)

Ngayxuat,

Makhach,

Tenkhach,

PHIEUXUAT2 ng nhin t chun 2NF v nhm thuc tnh


kho ch c mt thuc tnh. Vy:

204

C s d liu quan h v cng ngh phn tch - thit k


(5) Phieuxuat2 (Sophieuxuat, Ngayxuat, Makhach, Tenkhach,

/ckhach, Telekhach, Makho)

Kt qu ta c h lc sau t chun 2NF:


(1) VATTU (Mavattu, Tenvattu, /v tnh, TyleVAT)
(2) DONGNHAP (Sophieunhap, Mavattu, Slnhap, ongianhap)
(3) Phieunhap2 (Sophieunhap, Ngaynhap, MaNCC, TenNCC,
/cNCC, TeleNCC, Makho, /ckho)
(4) DONGXUAT (Sophieuxuat, Mavattu, SLxuat, ongiaxuat)
(5) Phieuxuat2 (Sophieuxuat, Ngayxuat, Makhach, Tenkhach,
/ckhach, Telekhach, Makho)

Xt chun 3:
Cc quan h (1), (2), (4) ng nhin t chun 3NF v khng c
thuc tnh cu
(1) VATTU (Mavattu, Tenvattu, /v tnh, TyleVAT)
(2) DONGNHAP (Sophieunhap, Mavattu, Slnhap, ongianhap)
(4) DONGXUAT (Sophieuxuat, Mavattu, SLxuat, ongiaxuat)

C quan h (3):
(3) Phieunhap2 (Sophieunhap, Ngaynhap, MaNCC, TenNCC,
/cNCC, TeleNCC, Makho, /ckho)
MaNCC TenNCC, D/cNCC, TeleNCC
Makho /ckho

M MaNCC v Makho l cc thuc tnh ngoi kho nn n chnh


l cc thuc tnh cu. Vy quan h ny khng t 3NF.
quan h ny t c 3NF ta tch n thnh cc quan h con:
(3.1) NHACC (MaNCC, TenNCC, /cNCC, TeleNCC)
(3.2) KHO (Makho, /ckho)
(3.3) Phieunhap (Sophieunhap, Ngaynhap, MaNCC, Makho)

Chng 3: Quy trnh phn tch thit k CSDL

205

C quan h 5:
(5) Phieuxuat2 (Sophieuxuat, Ngayxuat, Makhach, Tenkhach,
/ckhach, Telekhach, Makho)
Makhach Tenkhach, /ckhach, Telekhach

M Makhach l thuc tnh ngoi kho nn n chnh l thuc tnh


cu. Vy quan h ny khng t 3NF.
quan h ny t c 3NF ta tch n thnh cc quan h con:
(5.1) KHACH (Makhach, Tenkhach, /ckhach, Telekhach)
(5.2) Phieuxuat (Sophieuxuat, Ngayxuat, Makhach, Makho)

Tng hp kt qu trn, ta c h lc sau t chun 3:


(1) VATTU (Mavattu, Tenvattu, /v tnh, TyleVAT)
(2) DONGNHAP (Sophieunhap, Mavattu, Slnhap, ongianhap)
(3) NHACC (MaNCC, TenNCC, /cNCC, TeleNCC)
(4) KHO (Makho, /ckho)
(5) Phieunhap (Sophieunhap, Ngaynhap, MaNCC, Makho)
(6) DONGXUAT (Sophieuxuat, Mavattu, SLxuat, ongiaxuat)
(7) KHACH (Makhach, Tenkhach, /ckhach, Telekhach)
(8) Phieuxuat (Sophieuxuat, Ngayxuat, Makhach, Makho)

Bc 4: V s E-R
S E-R c v theo nguyn tc sau:
- Mi lc c biu din bng mt hnh ch nht gm tn
(vit hoa) v cc thuc tnh, thuc tnh kho c gch chn hoc in
m, kho lin kt/kho ngoi c nh du a hoc in nghing hoc
dng ch FK (foreign key).
- Xc nh lin kt gia 2 thc th: chng c lin kt nu m bo
2 du hiu sau:
+ C nhm thuc tnh chung
+ Ti mt thc th no , nhm thuc tnh chung l kho chnh.

206

C s d liu quan h v cng ngh phn tch - thit k

Nh vy nhm thuc tnh thc th cn li s chnh l kho


ngoi/kho lin kt
- Khi xc nh c kho lin kt ta c th v ng ni gia
chng v ng ba ch s dnh vo thc th c cha kho lin kt.
Kt qu vn dng cc nguyn tc trn thu c s E-R:

Thuc tnh kho c gch chn, kho lin kt/kho ngoi c in nghing.

Hnh 3.23. S E-R bi ton xut nhp vt t trong kho

Chng 3: Quy trnh phn tch thit k CSDL

207

3.4. Thit k CSDL mc vt l


3.4.1. Chuyn thit k d liu mc logic sang mc vt l
C hai cch chuyn t mc logic sang mc vt l:
- S dng mt ngn ng lp trnh no
- S dng mt h qun tr CSDL.
V d theo cch th nht ta c th dng mt ngn ng lp trnh
no v d nh TURBO PASCAL vi cc kiu d liu FILE v
RECORD m t cc bn ghi v dng cc th tc READ, WRITE,
SEEK, POS... sinh cc thao tc cp nht v truy nhp bn ghi. Cch
lm nh vy hiu qu rt thp. Ngy nay t ngi dng phng php
th nht v n i hi ngi lp trnh phi thc hin ton b cc chc
nng to lp cu trc d liu, truy nhp, cp nht v x l cu hi.
Gii php tt nht l nn s dng mt h qun tr CSDL sn c.
Nh bit hu ht cc h qun tr CSDL u cung cp cc phng
tin m t d liu, thao tc, m bo ton vn d liu v tm kim. Vi
cc h qun tr CSDL, mt khi thit k xong mc logic th hy s
dng cc cng c thch hp ca h QTCSDL to h thng mc vt
l. Cc h CASE (Computer Aided SoftWare Engineering) ngy nay
cn cho php t ng sinh h thng (to mc vt l) t mc logic.
3.4.2. nh gi khng gian lu tr
Mc d c phn mm t chc CSDL v phng php truy nhp
nhng ngi phn tch v thit k vn phi quan tm n mt cng
vic khc c lin quan n mc vt l l nh gi khng gian lu tr
cn thit v tc truy nhp. iu ny cn c xem l mt phn ca
cng vic thit k v nh mi xc nh c cc quy tc k thut
lin quan n kh nng lu tr ca h thng v phn no c lin quan
n thi gian tr li h thng. R rng l mc logic v d liu c lin
quan trc tip n cc yu t khng gian lu tr v thi gian tr li ca
h thng.
Vi m hnh CSDL c chn l m hnh quan h th ta phi tnh
ton c khng gian cn thit theo s bn ghi, di cc tp ph
(nh tp ch dn).

208

C s d liu quan h v cng ngh phn tch - thit k

V d ta cn tnh khng gian lu tr cho h thng thng tin qun


l kho ph tng nu trong v d trc y ca mt nh my ch
gm mt kho. Ta nhc li m hnh logic ca h thng vi s chi tit
ho v kiu v di ca thuc tnh. Ta quy c kiu ch l A, kiu s
l N, kiu ngy l D: s trong ngoc n l di tnh theo byte.
Khi c th c tnh khng gian cn thit cho nm u tin nh trong
bng. Cng phi tnh khng gian cn thit cho cc tp index. Ngoi ra
cn c tnh tng trng ca CSDL sau mi chu k thi gian (thng
hay nm) c mt khuyn co k thut cho pha ch u t.
Vi m hnh CSDL l mng th ta phi tnh khng gian a khng
ch cho cc bn ghi m cn phi tnh khng gian cn thit cho cc lin
kt. lm vic ny ta cn c tnh mt trung bnh ca cc lin kt
i vi mi bn ghi ch. Mi bn ghi ch ngoi khng gian cn thit
cho chnh n cn phi cng thm khng gian cn thit cho cc con tr
mc ni vi cc bn ghi thnh vin. Ta c th ngh rng nn tnh
khng gian ti a cn c vo bn ghi s ca bn ghi ch trong mi
quan h. iu ny khng phi bao gi cng lm c nu bn s ny
l 1: n vi n khng xc nh.
Bng 3.13. Bng nh gi khng gian lu tr
Quan h

Thuc tnh

HNG

M hng A(12)

(mi loi hng ch


1 kho)

Tn hng A(20)

di
bn
ghi

S bn
ghi

di
tng

80

3000

240000

20

60

1200

n v A (12)
n gi N(8)
Tn kho A(20)
Tn kho N(8)

PHIEU_NHAP

S_phiu_nhp A(6)
Ngy_nhp D(8)

(Mt
nm)

M_NCC A(6)
CAC_KHOAN_NHAP
(Trung bnh 50 khon
mt phiu nhp)

S_phiu xut A(6)


M hng A(10)
Lng nhp N(8)

24

50x60

72000

209

Chng 3: Quy trnh phn tch thit k CSDL


NHA_CUNG_CAP

M_nh_cung_cp
A(5)

100

40

4000

20

1200

2400

Tn_NCC A(45)
a_ch_NCC A(50)
PHIEU_XUAT

S_phiu_xut A(6)
Ngy_xut D(8)

(Mt
nm)

M_khch A(6)
CAC_KHOAN_XUAT
(Trung bnh 2 khon
mt phiu xut)

S_phiu_xut A(6)

KHACH_HANG

M_khch A(5)

14

2x1200

57600

100

300

3000

10000

20000

M hng A(10)
Lng xut N(8)
Tn_khch A(45)
a_ch_khch A(50)

INDEX

(20 byte/mt bn ghi)

TONG CONG
Lng tng mi nm

628800
(c tnh)

300000

3.4.3. Bin i cc lc khi nim thnh lc vt l


Trong giai on phn tch, ta c cc lc khi nim. l cc
lc d liu theo m hnh E_R hay m hnh quan h. Sang giai
on thit k, cn bin i cc lc khi nim thnh cc lc
vt l, tc l mt cu trc lu gi thc s ca d liu trong b nh
ngoi. Cu trc ny thng c chn la trong s cc dng sau: cc
tp tun t, cc bng hm bm, cc mng c con tr, cc cy, cc quan
h, Mi cu trc trn u c tnh u vit v hn ch ring nn tu
hon cnh c th ca bi ton m chn cho thch hp. S cn nhc da
trn yu cu truy nhp d liu ca mi chc nng trong h thng m
bo nhanh v d s dng, da trn cc c im v rng buc ca cu
hnh vt l h thng (phn cng v phn mm s dng) sao cho thch
ng c vi cu hnh .
Vic bin i cc lc khi nim thnh cc lc vt l ko
theo vic thit k d liu thnh 2 bc:

210

C s d liu quan h v cng ngh phn tch - thit k

1. Thng qua vic nghin cu cc yu cu truy nhp m bin i


lc khi nim thnh mt dng trung gian gi l lc logic v
d liu.
2. Thng qua vic nghin cu cu hnh ca h thng, c bit l
ngn ng lp trnh, cc h qun tr CSDL c chn dng m bin
i lc logic thnh lc vt l thch hp vi cu hnh .
3.4.3.1. Thnh lp lc logic
Mi cu trc lu tr vt l, d l tp (tp tun t, tp tun t c
ch dn, tp trc truy,) hay l CSDL (m hnh mng, m hnh phn
cp, m hnh quan h) th cng u to nn t cc n v c s l cc
bn ghi (mt bn ghi cu to t nhiu trng). V vy ngi ta chn
lc logic, mt dng trung gian trc khi n lc vt l, l mt
cu trc cc kiu bn ghi. Mi kiu bn ghi l mt tp hp nhng bn
ghi c cu trc trng ging nhau, thng c gi tt l bng. Bng
c biu din bng hnh ch nht c tn bng v danh sch cc thuc
tnh (trng). Gia 2 bng, thit lp mt kt ni, din t bng mt mi
tn nu 2 bng c thuc tnh chung, v trong mt bng no
nhm thuc tnh chung l kho chnh. Nhm trng chung l
iu kin tin quyt ca kt ni, hn na nhm thuc tnh ny ch c
mt gi tr duy nht cho mi bn ghi trong bng m nhm thuc tnh
chung gia vai tr kho chnh v gc mi tn (pha 1). Mi tn s
gn vo thc th c kho ngoi (pha Nhiu).
V d cu trc cc kiu bn ghi (lc logic) nh sau:

Hnh 3.24. Lc logic


Mc ch thit k logic: xut pht t lc khi nim, tm mt
cu trc cc kiu bn ghi ph hp vi yu cu truy nhp ca cc chc
nng x l trong h thng.

Chng 3: Quy trnh phn tch thit k CSDL

211

3.4.3.2. Thnh lp lc vt l
Lc vt l l cu trc lu tr thc s ca d liu trong b nh
ngoi, ph thuc vo cu hnh ca h thng (cc ngn ng lp trnh,
cc h qun tr CSDL,). C 2 phng n chn la chnh l cc tp v
CSDL, theo m ta phi chuyn i lc logic thu c thnh
lc vt l thch hp.
im khc bit c bn gia tp v CSDL l: i vi tp, ngi
dng phi trc tip thnh lp n v khai thc n, ngha l phi hiu r
v chu trch nhim trc tip v n. Nh vy, chng trnh v d liu
rng buc cht vi nhau. Cn i vi CSDL, s c mt ca h qun tr
CSDL cch ly chng trnh ngi dng vi cu trc lu tr ca d
liu lm cho chng trnh c u im l c lp tng i vi d liu.
i li th cc ngn ng nh ngha d liu cng nh cc ngn ng
thao tc d liu cung cp bi h qun tr CSDL li phi nhng c
vo ngn ng lp trnh c chn ci t h thng, iu ny khng
phi lc no cng thun tin.
i vi thit k CSDL, Cu trc lu tr vt l ph thuc theo m
hnh ca CSDL, v d nh m hnh quan h:
Mi bng trong lc logic chuyn i trc tip thnh mt quan
h (mi trng thnh mt thuc tnh ca quan h). Khng c g ci t
c bit i vi cc kt ni gia cc bng, ngoi tr s c mt ca
kho ngoi. Mt ngn ng nh ngha d liu cho php nh ngha cc
quan h. Cc lnh trong mt ngn ng thao tc d liu cho php lu
tr v tm kim cc d liu da trn cc php ton ca i s quan h
(thay cho s ln d theo cc con tr).
3.4.3.3. V d
Da theo v d trn, t lc logic (hnh 3.24).

212

C s d liu quan h v cng ngh phn tch - thit k

ta chuyn v cu trc lu tr:


KHO
M kho

Tn kho

a ch kho

M kho

M hng

Tn kho

Tn hng

n v tnh

CHUA

HANG
M hng

Nu biu din di dng c b sung lin kt gia kho chnh v


kho ngoi ca hai quan h bng mi tn nh hnh 3.26, chng ta s c
c mt s CSDL mc logic:
KHO
M kho

Tn kho

a ch kho

M kho

M hng

Tn kho

Tn hng

n v tnh

CHUA

HANG
M hng

Hnh 3.26. S CSDL mc logic


Trong phng php hin i, ngi ta dng lun m hnh CSDL
logic - s E_R (ERD) lm cn c thit k vt l:

213

Chng 3: Quy trnh phn tch thit k CSDL

Hnh 3.27. S E_R ca bi ton v d Kho - hng


V tin hnh thit k vt l nh sau:
Bng 3.14. kho
Tn trng

Kiu

di

M kho

K t

Khun dng
Ch hoa + s

Rng buc
Kho chnh
NOTNULL

Tn kho

K t

Ch hoa

a ch kho

K t

30

Ch u vit hoa

Bng 3.15. Cha


Tn trng

Kiu

di

Khun dng

M kho

K t

Ch hoa + s

Rng buc
Thnh phn ca kho chnh
NOTNULL
Kho ngoi lin kt vi KHO

M hng

K t

Ch hoa + s

Thnh phn ca kho chnh


NOTNULL
Kho ngoi lin kt vi HANG

Tn kho

S nguyn

Bng 3.16. Hng


Tn trng

Kiu

di

Khun dng

M hng

K t

Ch hoa + s

Tn hng

K t

15

Ch u vit hoa

n v tnh

K t

10

Ch thng

Rng buc
Kho chnh NOTNULL

214

C s d liu quan h v cng ngh phn tch - thit k

3.5. Thit k an ton bo mt cho CSDL


3.5.1. An ton thng tin v an ton h thng
Mc ch ca cng tc an ton v bo mt d liu l m bo tnh
chnh xc, tin cy cao v phc hi c trong cc trng hp pht
sinh s c do mt s nguyn nhn chnh sau:
- NSD khng thnh tho v tnh sa, xa s liu ty tin lm mt
mt, sai lc s liu.
- Mt in t ngt khi h thng ang tin hnh tnh ton hoc
cp nht lm hng tp d liu.
- Hng a cng hoc my lm t lit hon ton b s liu v
chng trnh.
- Chy, n, va p mnh lm hng my mc, chng trnh v
s liu.
- K gian ly trm h thng my tnh, hoc thm nhp tri php
xa b h thng chng trnh v s liu, vic truyn s liu khng m
bo an ton.
- Cc nguyn nhn khch quan khc,...
Trong trng hp xy ra s c k thut i vi my mc, chng
trnh hoc s liu, bn sao lu c th c phc hi tr li trn mt h
thng my khc ci li chng trnh v sn sng hot ng nh mt
h thng d phng. Nu tin hnh sao lu thng xuyn hng ngy th
bn sao lu s sai khc bn d liu mt ch c mt ngy thao tc
nghip v thay v phi nhp li mt khi lng s liu ln.
3.5.2. Cc bin php thc hin an ton d liu
Thit lp cc nguyn tc qun l:
- i vi my ch: Mi thao tc trn my ch u nm di s
kim sot ca ngi ph trch trung tm CSDL thng qua cc cn b
k thut c giao nhim v c th. Cc cn b k thut phi tun th
nghim ngt ch sao lu v kim tra d liu nh k trn cc thit
b mang tin.

Chng 3: Quy trnh phn tch thit k CSDL

215

- i vi cc my trm: Phi giao trch nhim sao lu v kim tra


d liu ca tng nghip v cho cc cn b c th. Cc cn b ny s
c hng dn c ch sao lu, kim tra d liu nh k trn cc vt
mang tin v phc hi d liu khi c s c.
- Tng cng cng tc kim tra, kim sot v hn ch n mc
cao nht vic a thng tin t bn ngoi vo h thng thng qua a
mm gim thiu kh nng ly nhim virus ln h thng.
S dng cc thit b lu tr an ton:
Dng cc a lu tr, cc CD, cc Tape Backup (sao lu bng
t)... Cc thit b ny dng lu tr song song, phng mt mt d
liu khi c s c xy ra. Tuy nhin, i vi h CSDL ca c quan ch
qun v h thng chnh c dung lng lu tr ln v pht sinh thng
xuyn cn c c ch sao lu nhanh vi s h tr ca phn mm ng
dng.
Tu theo kh nng nh gi v tm quan trng khc nhau ca s
liu ta c th chn chu k sao lu l ngy, vi ngy, tun hoc vi
tun, thng,..
S dng cc trang thit b an ton:
- Thit lp c ch Clustering (c ch qun l CSDL nhn i song
song) hon chnh v c tin cy cao.
- S dng h thng lu in tng thng minh.
- La chn cc my ch vi kh nng h tr RAID v thit b
ngun cung cp c kh nng chuyn i nng.
Ngoi ra, vic tun th ch bo tr thit b nh k, thng
xuyn cp nht cc phn mm chng virus l ht sc cn thit.
3.5.3. Bo mt thng tin
Thit lp c ch bo mt
- Ban hnh qui ch bo mt trong ton b h thng
- Qui nh chc nng quyn hn truy xut cho NSD i vi d liu
trong h thng

216

C s d liu quan h v cng ngh phn tch - thit k

- Trch nhim ca qun tr h thng trong vic phn quyn truy


nhp vo h thng
Nhng h thng CSDL in hnh thng c nhng th tc truy
xut ring. c th thm nhp h thng, NSD phi c cp mt ti
khon (user account) trn h thng v bt buc khai bo ng tn
v mt khu ca mnh. NSD c qun tr vin CSDL (Database
Administrator) cp quyn xem mt hin th (view) ca CSDL. NSD ch
c php s dng mt s mn hnh, mt s lnh truy xut d liu
trong mt s tp, mt s bn ghi hoc trng. y, qun tr vin
CSDL l mt c nhn hoc mt nhm chu trch nhim chnh trong
cng vic qun l CSDL. S nhng ngi s dng chng trnh s
khc nhau i vi cc CSDL khc nhau. H thng lun lun lu tr li
mt s ln truy nhp d liu gn nht ca tng NSD.
Mi NSD phi c trch nhim ghi nh v bo mt mt khu ca
mnh trong qu trnh s dng. Trong trng hp c s c xy ra,
nhng ngi lnh o s cn c vo bin bn v ln truy cp gn nht
thm vn.
V d: Trong lnh vc qun l kinh doanh sch trn mng, thng
thng, c 3 nhm ngi dng c nhu cu truy nhp CSDL, l:
khch mua, nhn vin ca hng, ch ca hng. Ngoi ra, cng cn c
ngi qun tr h thng, chu trch nhim i vi cc hot ng ca c
s d liu v c quyn truy nhp vo ton b c s d liu.
Ch ca hng c y cc quyn trn tt c cc quan h, tuy
nhin khng c php to dng thm cc i tng d liu mi. Do
vy, ngi qun tr s phn quyn thao tc y trn cc i tng
d liu trong CSDL.
Khch mua ch c php tm kim trn quan h c lin quan v
c th t hng trc tuyn, nhng h khng c php truy nhp n
cc bn ghi ca khch hng khc cng nh cc n t hng khc. Do
vy chng ta phi gii hn theo 2 cch. Cch th nht, phi s dng
cc c trng an ton ca CSDL gii hn phm vi truy xut n cc
d liu nhy cm. V d nh khi to lp mt khon mc mi cho

Chng 3: Quy trnh phn tch thit k CSDL

217

khch hng, ngi qun tr CSDL s to dng lun nhng khung nhn
ch cho php anh ta xem cc d liu ca ring mnh thng qua cc
khung nhn . Cch th hai, chng ta c th gii hn thng qua vic
to cc giao din trong ng dng trn web. V mi truy vn u c
gn thm gi tr Khach-id ca khch mua hin thi.
Nhn vin ca ca hng cng tu theo tng i tng m c
ngi qun tr phn cho h cc quyn thao tc trn tng i tng d
liu c th. V d vi ngi qun l kho, anh ta ch c php cp nht
trn quan h SACH. Vi ngi qun l cc thng tin v khch hng th
ch c th thao tc trn quan h KHACH m thi. Cn i vi cc
ngi qun l n hng, h c cc quyn cp nht trn quan h
DON_HANG_MOI v DONG_DON_HANG_MOI, nhng vi cc
quan h cn li nh SACH, KHACH th ch c quyn xem m thi.
hn ch quyn truy nhp ca khch mua, chng ta c th to ra mt ti
khon c tn l khach_mua v gn cho ti khon ny cc quyn no .
- Tng cng c ch kim sot t nhp trn mng: s dng cc
cng c m ho bo mt thng tin trn ng truyn, cc chc nng
v an ton d liu ca h qun tr mng v nn s dng giao thc SSL
(Security Socket Layer).
- m bo c h thng theo di t ng: phn ln CSDL, trn
mainframe u c nhng h thng theo di t ng nhm ghi nhn
mi hot ng c th lm tn hi n CSDL.
- S dng trang thit b bo mt mc vt l:
Lp t cc thit b bo mt u cui trong ton b h thng
Trang b h thng kho bo v an ton.

Ti liu tham kho


[1].

Armstrong W.W.Dependency Structure of Database


Relationships. Information Processing 74, Holland publ.Co
(1974)

[2]. Beeri C. Dowd M., Fagin R... On the structure of Armstrong


relational for Functional Dependencies J.ACM 31,1 (1984)
[3]. Codd E.F. A relational model for large shared data banks.
Communication ACM 13 (1970)
[4]. Collongues A., Hugues J., Laroche B. MERISE method. Science technique Public 1994.
[5]. Demetrovics J. Logical and structural investigation of Relational
Data model. MTA-SZTAKI Tanulmanyok, Budapest, 114 (1980)
[6]. Jeffrey D. Ullman, Principles of Database and Knowledge base
Systems, 1988-1989. Bin dch: Trn c Quang, Nh xut bn
Thng k, 1998.
[7]. Peter Rob, Carlos Coronel, Database System. Wadsworth
Publishing company, 1993.
[8]. Nguyn Kim Anh, Nguyn l ca cc h c s d liu. Nh xut
bn i hc Quc gia H Ni, 2004.
[9]. n 112. Gio trnh phn tch, thit k v xy dng cc h thng
c s d liu. H Ni, 2004.
[10]. Nguyn ch, Bi Cng Cng, L Vn Phng, Thi Thanh Sn.
L thuyt h thng v iu khin hc. Nh xut bn Thng tin v
Truyn thng, 2009.
[11]. H S Khoa, Cc phng php xy dng cc m hnh khi nim
d liu, 1990.

[12]. L Vn Phng, Bi ging c s d liu. Nh xut bn Lao ngX hi, 2004.


[13]. L Vn Phng, Phn tch v thit k h thng thng tin - Kin
thc v thc hnh. Nh xut bn Lao ng-X hi, 2004.
[14]. L Vn Phng, K thut phn tch v thit k h thng thng tin
hng cu trc. Nh xut bn Thng tin v Truyn thng, 2009.
[15]. Trn c Quang, Qun tr c s d liu. Nh xut bn Xy dng,
2002.
[16]. V c Thi, C s d liu - Kin thc v thc hnh. NXB Thng
k, 1997.
[17]. V c Thi, Thut ton trong tin hc. Nh xut bn Khoa hc
K thut, 1999.
[18]. Nguyn Quc Ton, Nguyn Vn V, V c Thi, L Vn
Phng, Bi ging K ngh phn mm. Khoa Cng ngh, i hc
Quc gia H Ni, 2000.
[19]. Trung Tun, Database. NXB Gio dc, 1998.
[20]. inh Mnh Tng, Cu trc d liu v thut ton. Nh xut bn
Khoa hc K thut, 2000.
[21]. Nguyn B Tng, C s d liu: L thuyt - thc hnh. Nh
xut bn Khoa hc K thut, 2001.
[22]. Trn Thnh Trai, Nhp mn c s d liu. Nh xut bn Tr.
[23]. Nguyn ng T, Phc, Gio trnh c s d liu. i hc
Quc gia TP. H Ch Minh, 2003.
[24]. L Tin Vng, Nhp mn c s d liu quan h. Nh xut bn
Khoa hc K thut, 1997.
[25]. Nguyn Vn V, L Vn Phng, Gio trnh Phn tch thit k h
thng thng tin. H Ni, 2000.

Mc lc
Li ni u.................................................................................................3
Chng 1. Tng quan v c s d liu ..................................................7
1.1. Cc khi nim c bn .........................................................................7
1.1.1. D liu .....................................................................................7
1.1.2. C s d liu ..........................................................................10
1.1.3. H thng x l d liu............................................................10
1.1.4. S khc bit gia d liu v thng tin ...................................16
1.1.5. Siu d liu ............................................................................17
1.1.6. Kiu thc th v bng d liu ................................................18
1.1.7. Khi nim ton vn d liu ....................................................26
1.1.8. H qun tr CSDL (DBMS) ....................................................31
1.1.9. Kho d liu ............................................................................31
1.2. Cc phng tin din t d liu ........................................................32
1.2.1. Khi nim din t d liu ......................................................32
1.2.2. M ho ...................................................................................33
1.2.3. T in d liu .......................................................................39
1.3. M hnh d liu ................................................................................43
1.3.1. Khi nim m hnh d liu ....................................................43
1.3.2. Cc loi m hnh CSDL..........................................................43
1.3.3. M hnh d liu mng v m hnh d liu phn cp .............44
1.3.4. M hnh d liu quan h v
m hnh d liu hng i tng ..........................................46
1.3.5. Phng php xy dng m hnh d liu ................................48
Chng 2. M hnh c s d liu quan h............................................51
2.1. Cc khi nim c bn .......................................................................51

2.1.1. nh ngha quan h ...............................................................51


2.1.2. nh ngha ph thuc hm ....................................................53
2.1.3. H tin Armstrong .............................................................54
2.1.4. nh ngha hm ng .............................................................57
2.1.5. nh ngha s quan h.......................................................58
2.1.6. nh ngha bao ng ..............................................................59
2.1.7. nh ngha kho ca quan h, s quan h, h F................61
2.1.8. H bng nhau..........................................................................63
2.2. Mt s thut ton lin quan n kho...............................................65
2.2.1. Mt s thut ton lin quan n bao ng .............................65
2.2.2. Mt s thut ton lin quan n kho ....................................67
2.2.3. Thut ton xc nh cc thuc tnh c bn.............................72
2.3. Cc php ton x l file d liu .......................................................73
2.3.1. Php hp (r t) (Union) ........................................................74
2.3.2. Php tr (r-t) (Difference) ......................................................74
2.3.3. Php giao (rt) (Intersection) ................................................75
2.3.4. Php tch -cc (r x t) (Cartesian product)...........................75
2.3.5. Php chiu (Projection) ..........................................................76
2.3.6. Php chn (Restriction) ..........................................................77
2.3.7. Php chia (Division) ...............................................................77
2.3.8. Php ni iu kin 2 file d liu (Join) ................................78
2.3.9. Php ni 2 file d liu (Join) ..................................................79
2.3.10. V d p dng .......................................................................80
2.3.11. Cc chin lc ti u tng qut............................................83
2.4. Cc dng chun v cc thut ton lin quan ....................................86
2.4.1. Cc nh ngha chun ho ......................................................86
2.4.2. Mt s c trng dng chun 2NF .........................................88
2.4.3. Mt s c trng dng chun 3NF .........................................89
2.4.4. Mt s c trng dng chun BCNF ......................................90

2.4.5. Cc thut ton.........................................................................91


2.4.6. Chun ho mt quan h ..........................................................93
2.4.7. Chun ho mt s quan h ................................................99
2.5. Mi quan h (Relationship) ...........................................................116
2.5.1. c t mi quan h ..............................................................116
2.5.2. Cc c trng ca mi quan h ...........................................117
2.5.3. M hnh khi nim d liu ...................................................119
Chng 3. Quy trnh phn tch thit k CSDL .................................121
3.1. Phn tch yu cu ...........................................................................121
3.1.1. Mc ch ca vic phn tch yu cu ...................................121
3.1.2. Ni dung phn tch yu cu..................................................123
3.1.3. Cc k thut phn tch yu cu.............................................124
3.2. Phn tch d liu v xy dng m hnh khi nim d liu .............142
3.2.1. Kho st thc t ....................................................................142
3.2.2. Thit lp m hnh d liu .....................................................146
3.2.3. Kim sot v chun ha m hnh .........................................163
3.3. Thit k CSDL logic........................................................................167
3.3.1. Khun cnh thit k c s d liu logic ...............................168
3.3.2. Cc k thut s dng trong thit k c s d liu logic........170
3.3.3. Thit k c s d liu logic da trn Phng php t in ... 197
3.4. Thit k CSDL mc vt l ..............................................................207
3.4.1. Chuyn thit k d liu mc logic sang mc vt l..............207
3.4.2. nh gi khng gian lu tr ................................................207
3.4.3. Bin i cc lc khi nim thnh lc vt l ...........209
3.5. Thit k an ton bo mt cho CSDL ...............................................214
3.5.1. An ton thng tin v an ton h thng..................................214
3.5.2. Cc bin php thc hin an ton d liu...............................214
3.5.3. Bo mt thng tin .................................................................215
Ti liu tham kho .................................................................................219

C s d liu quan h
v cng ngh phn tch - thit k

Chu trch nhim xut bn


nguyn th thu h

Bin tp:

ng m hnh
Trnh thu chu
Trnh by sch: bi chu loan
Sa bn in:
Trnh thu chu
Thit k ba:
trn hng minh

In 700 bn, kh 16 x 24 cm ti Cng ty CP In v Thng mi Ngc Hng


S ng k k hoch xut bn: 237-2010/CXB/3-125/TTTT
S quyt nh xut bn: 72/Q-NXB TTTT ngy 31 thng 3 nm 2010
In xong v np lu chiu thng 4 nm 2010.

You might also like