You are on page 1of 372

1

C S
C S

D
D

LIE
LIE

U
U
I HC TN C THNG
PHNG TRUNG CP CHUYN NGHIP & DY NGH
_oOo_
ThS.L Vn Hnh
2
Mc tiu mn hc
Thi lng: 45 tit l thuyt + 45 tit
thc hnh
Cc h qun tr c s d liu
Cc m hnh d liu
M hnh thc th - kt hp
M hnh quan h
i s quan h
Ngn ng truy vn c cu trc
Chun ha lc CSDL
3
Ni dung mn hc
1. Mc ch
2. Thit k m hnh x l bn ngoi giao
din
3. Thit k m hnh x l bn trong
4. Cc su liu cho m x l mc logic
4
Chng 1
DN NHP
5
Ni dung
1. C S D Liu L G?
2. H Qun Tr CSDL
3. Cc M Hnh D Liu
4. Qun L D Liu Phn Tn
5. M Hnh Thc Th Kt Hp
6. Bi tp
6
$1.1. C S D Liu L G?
Nhu cu: tin hc ha cng tc qun l
D liu: l nhng thng tin ta mun lu
tr v s dng li
Qun l d liu trong thc t:
Vic tin hc ha trong cc n v thng thc
hin c lp vi nhau v thi gian, cng c v
ni dung
Do yu cu qun l, mi b phn u t chc
lu tr h s ring cho mnh da trn h s
gc ban u c b sung thm 1 s thng tin
cn thit ring
7
$1.1. C S D Liu L G?
Tn ti nhiu bt cp trong qun l
Phng php c qun l theo hng cng
vic dn n
D liu cha gi tr trng (NULL) nn d dn
n s nhp nhng v mt ng ngha
Kh m rng hoc kt ni cc h thng
Trng lp thng tin
Nhu cu truy xut ng thi
Vn phn quyn
8
Bt cp trong qun l
$1.1. C S D Liu L G?
D liu cha gi tr
trng (NULL) nn d
dn n s nhp
nhng v mt ng
ngha
Ten
th
Pha
i
So
con
Trang N 2
Hung N 0
Trang N 3
Quoc Na
m
0
Hau Na
m
Chau N
9
Bt cp trong qun l
$1.1. C S D Liu L G?
Kh m rng hoc kt ni cc h thng
Thng tin lu tr khng th chia s
gia cc h thng. V vy khng c qun l
giao dch v x l ng thi gia nhiu
ngi dng
Ten th Trnh o chuyen mon Bac lng Tham nien Cac thong tin khac
. . . . . .
. . .
. . . . . .
. . .
. . .
. . . . . . . . .
Ten th Phai Nam sinh Que quan Cac thong tin khac
. . . . . .
. . .
. . . . . .
. . .
. . .
. . . . . . . . .
10
Bt cp trong qun l
Trng lp thng tin nn gy ra :
C Lng ph:
E Cng 1 thng tin phi nhp nhiu ln.
E Vn bo tr khi c thay i.
E Lu tr .
C Thiu nht qun ca d liu: ti 1 thi
im, thng tin v mt ngi c th khng
nht qun
$1.1. C S D Liu L G?
Tn NV Phng Thng Lng
Thy QTKD 1/2007 32000
An QYKD 1/2007 35000
Thu QTKD 13/2007 3200
11
nh ngha CSDL
$1.1. C S D Liu L G?
L mt tp hp d liu c t chc v
lu tr theo mt cu trc cht ch
nhm phc v cho nhiu i tng vi
cc mc ch khc nhau
Nhanvien.doc Nhanvien.xls Nhanvien.dat

CSDL
12
Cc i tng s dng CSDL
$1.1. C S D Liu L G?
Ngi s dng khng chuyn v lnh
vc tin hc v CSDL
Chuyn vin tin hc bit khai thc CSDL
Ngi qun tr CSDL
13
Ba cp th hin d liu
$1.1. C S D Liu L G?
Qun tr vin
Chuyn vin
Ngi dng
14
Nh th no l 1 CSDL km?
$1.1. C S D Liu L G?
D tha (redundancy)
Mu thun tim n (potential inconsistancy)
Bt thng khi chn (insertion anomaly)
Bt thng khi xa (deletetion anomaly)
Hng VT SL n gi Ngy nhp NCC Khu vc
Nokia N82 b 50 xxx 20/12/2007 Cng ty FPT TpHCM
Nokia N73 b 10 yyy 20/12/2007 Thnh Cong Mobile Tp HCM
Nokia N82 b 20 xx 03/05/2008 Cong ty FPT Tp.HCM
15
Ni dung
1. C S D Liu L G?
2. H Qun Tr CSDL
3. Cc M Hnh D Liu
4. Qun L D Liu Phn Tn
5. M Hnh Thc Th Kt Hp
6. Bi tp
16
$1.2. H Qun Tr CSDL
Kh nng qun l nhng d liu c nh
Kh nng truy xut c hiu qu mt s lng ln d
liu
H tr t nht mt m hnh d liu (data model):
gip ngi s dng c th xem c d liu nhanh
chng, d dng.
H tr ngn ng vn tin (query language): cho php
ngi s dng nh ngha cc cu trc d liu, truy
xut d liu v thao tc d liu.
Qun l cc giao dch (transaction): cho php nhiu
ngi s dng truy xut ng thi v chnh xc n
mt CSDL.
17
$1.2. H Qun Tr CSDL
iu khin cc qu trnh truy xut: l kh nng
gii hn cc qu trnh truy xut d liu ca
nhng ngi khng c php v kh nng kim
tra tin cy ca d liu.
C c tnh t thch ng: l kh nng t phc hi
li d liu ca h thng khi gp s c m khng
lm mt d liu.
Cc h qun tr CSDL ph bin:
Access
SQL Server
Oracle
18
Ni dung
1. C S D Liu L G?
2. H Qun Tr CSDL
3. Cc M Hnh D Liu
4. Qun L D Liu Phn Tn
5. M Hnh Thc Th Kt Hp
6. Bi tp
19
$1.3. Cc m hnh d liu
M hnh d liu l mt h hnh thc ton hc
gm 2 phn:
Kh nng qun l nhng d liu c nh
Mt tp hp cc php ton thao tc trn d liu
Ni cch khc, m hnh d liu l mt tp hp
k hiu v quy tc cho php m t d liu, mi
lin h trn d liu, ng ngha v cc rng
buc trn d liu
Mi loi m hnh c trng cho mt phng
php tip cn d liu ca ngi phn tch-thit
k
20
$1.3. Cc m hnh d liu
M hnh logic trn c s i tng (Object-based
logical models)
M hnh Thc th Kt hp (Entity-Relation)
M hnh hng i tng (Object-Oriented Model)
M hnh logic trn c s mu tin (Record-based
logical models)
M hnh quan h
M hnh mng
M hnh phn cp
M hnh vt l (Physical Models)
21
M hnh thc th - kt hp
$1.3. Cc m hnh d liu
Mc ch:
M t lc khi nim ca 1 t chc m
khng cn ch n tnh hiu qu hoc
thit k vt l nh nhng m hnh khc.
Thng c chuyn thnh lc khi
nim trong m hnh khc.
Cc thnh phn:
Loi thc th
Mi kt hp
22
M hnh thc th - kt hp
$1.3. Cc m hnh d liu
Lp Sinh Vin Gm
M Lp
Tn Lp
M SV
H Tn SV
Phi
Ngy
Sinh
(1,n)
(1,1)
Mn Hc
Hc
(1,n)
(1,n)
M MH
Tn MH
S Tit
Khoa
M Khoa
Tn Khoa
Thuc
(1,n)
(1,1)
23
M hnh hng i tng
$1.3. Cc m hnh d liu
Mc ch: tip cn hng i tng (trong
cc phng php lp trnh hng i tng).
c trng:
Tnh ng gi (encapsulation)
Tnh a hnh (polymorphism)
Tnh ti s dng (reusability).
Cc khi nim:
Lp (class)
S k tha (inheritance)
K tha bi (tc l k tha t nhiu lp c s -
multi-inheritance)
24
M hnh quan h
$1.3. Cc m hnh d liu
Mc ch: m t c d liu dng vt
l.
u im:
n gin, hiu qu.
H tr cc ngn ng khai bo, cc php
ton trn d liu.
Cc thnh phn:
Thuc tnh - Quan h
Lc quan h - B - Kha
25
M hnh quan h
$1.3. Cc m hnh d liu
Lp
M Lp
Tn Lp
M Khoa
Sinh Vin
M SV
H Tn SV
Phi
Ngy sinh
M Lp
Khoa
M Khoa
Tn Khoa
Mn Hc
M MH
Tn MH
Kt Qu
M SV
M MH
im
26
M hnh d liu mng
$1.3. Cc m hnh d liu
Mc ch: dng th c hng cho cc d
liu.
u im: a ra mt cch ngn gn m t
cc mi lin h.
Khuyt im: khi CSDL qu ln, vic ci t
cc mi lin h nhiu nhiu lm cho hiu
nng gim n mc khng th chp nhn
c.
Thnh phn:
Loi mu tin (Record Type)
Mu tin (Record)
Loi lin h (Set Type)
27
M hnh d liu mng
$1.3. Cc m hnh d liu
11
L LCH
PHNG
BAN
c
Gm
C thn
nhn
1n
11
1n
PHNG
BAN
Thuc
NHN VIN
n1
28
M hnh d liu phn cp
$1.3. Cc m hnh d liu
Mc ch: biu din d liu di dng hnh cy.
Trong cc ng ni ch i theo hng t
con n cha.
u im: a ra mt cch ngn gn m t cc
mi lin h.
Khuyt im: ch biu din kiu mu tin o.
Thnh phn:
Loi mu tin: ging khi nim mu tin trong m
hnh d liu mng.
Loi mi lin h: Kiu lin h l phn cp, theo
cch: Gia 2 loi mu tin ch tn ti 1 mi lin
h duy nht
29
M hnh d liu phn cp
$1.3. Cc m hnh d liu
30
M hnh d liu tt nht?
$1.3. Cc m hnh d liu
Khng c m hnh no c xem l tt nht
cho cc h thng CSDL
Nn xem xt theo kiu: Chng c s dng
tt nht u v vo lc no?
Phn ln cc m hnh:
Mc ch dng nh h thng k hiu cho d liu,
v
Lm h thng k hiu nn tng cho ngn ng
thao tc d liu
E-R dng thit k lc khi nim
M hnh hng i tng gii quyt d tha
tt
31
Ni dung
1. C S D Liu L G?
2. H Qun Tr CSDL
3. Cc M Hnh D Liu
4. Qun L D Liu Phn Tn
5. M Hnh Thc Th Kt Hp
6. Bi tp
32
$1.4. Qun l d liu phn tn
CSDL phn tn bao gm mt tp cc nt
(node) lin kt (link) vi nhau, mi nt biu
din cho 1 my tnh v 1 thit b lu tr th
cp km theo. Cc nt c th ch l thit b
lu tr nh hoc khng c thit b lu tr
(ch thun c chc nng tnh ton).
Trong mt mng LAN (Local Area Network),
mi my trm (workstation) ng vai tr mt
node. Mi node s lu tr d liu ca ring
mnh.
33
$1.4. Qun l d liu phn tn
Node n
. . .
. . .
. . .
. . .
. . .
. . .
. . .
Node 4
Node 3
Node 2
Node 1
34
$1.4. Qun l d liu phn tn
D t chc theo mng cc b hay mng phn
tn th chi ph phi tr cho vic truyn
thng cho cc nt l khng nh.
CSDL phn tn s b thng tn do rt
nhiu s c nh: ng lin lc b hng, my
ti 1 nt b h hoc b mt in, V vy h
thng phi c kh nng t thch ng khi c
s c v mng.
35
$1.4. Qun l d liu phn tn
Nu s c xy ra:
Trn ng truyn CD: cy s b tch
thnh 2 phn {A, B, C} v {D, E, F, G, H}
Ti nt D: cy s tch thnh 3 phn {A, B,
C}, {E} v {F, G, H}
Cn mt thit k tt
A
B
C D
E
F
G
H
36
$1.4. Qun l d liu phn tn
tng cng s thch ng, ngi ta cn to
ra nhiu bn sao v phi m bo rng cc
bn sao ny u phi ging nhau.
Khi c thao tc thay i trn mt mc ti nt A th
nhng thay i phi c cp nht trn tt
c cc bn sao.
Khi nt A gp s c cp nht d liu cc nt khc
vn cn c cp nht cho nhau.
Sau khi nt A c khi phc, th iu cn
thit l bn sao mi nht (c th do nt khc cp
nht) phi c cp nht li trn nt A.
37
Ni dung
1. C S D Liu L G?
2. H Qun Tr CSDL
3. Cc M Hnh D Liu
4. Qun L D Liu Phn Tn
5. M Hnh Thc Th Kt Hp
6. Bi tp
38
$1.5. M hnh thc th - kt hp
Cc giai on thit k CSDL
Mt v d
Cc khi nim v m hnh Thc th Kt hp
Cc k hiu trong m hnh ER
Hon chnh thit k cho v d
39
Cc giai on thit k CSDL
$1.5. M hnh thc th - kt hp
Th gii thc
cn tin hc ha
Phn tch &
chn lc yu cu
Thit k
quan nim
Thit k
logic
Thit k
vt l
c lp vi DBMS
Ph thuc vo mt
DBMS c th
Cc yu cu sau khi phn tch
M hnh quan nim d liu
M hnh d liu mc logic
M hnh d liu mc vt l
40
Tin hc ha Qun l phn cng
n ti mt cng ty
Cng ty c nhiu phng ban: tn, m s v mt nhn
vin lm trng phng. Ngy m nhn vin bt
u lm trng phng cng c quan tm. Mt
phng ban c th nh v nhiu a im khc
nhau.
Mt phng ban ph trch mt s n. Mi n c
tn, m s v ni thc hin n.
V nhn vin, cn quan tm: m, tn, a ch, mc
lng, gii tnh v ngy sinh. Mi nhn vin thuc
mt phng ban nhng c th lm vic cho nhiu
n. Mi n do mt phng ban ph trch.
$1.5. M hnh thc th - kt hp
41
Tin hc ha Qun l phn cng
n ti mt cng ty
Cn lu li gi lm vic ca mt nhn vin lm cho
mt n. Ngoi ra cng cn bit c ngi ph
trch trc tip ca mt nhn vin.
qun l cc thng tin c lin quan n bo him,
ngi s dng cng c nhu cu v thng tin ca mi
quan h thn nhn (v, chng, con) ca nhn vin.
Cc thng tin m ngi s dng quan tm bao gm
tn thn nhn, gii tnh v mi quan h vi nhn
vin.
$1.5. M hnh thc th - kt hp
42
Cc khi nim trong m hnh E-R
$1.5. M hnh thc th - kt hp
Thc th (Entity): L 1 i tng tn ti trong th
gii thc, c th l c th hoc tru tng v c th
nhn bit.
V d: 1 nhn vin c m l NV010, 1 sinh vin c m
l TH98020
Thuc tnh (Attribute): Mi thc th c nhiu c
trng, mi c trng c gi l mt thuc tnh.
V d: M NV, Tn, a ch, Nm sinh, in thoi l
cc thuc tnh ca thc th nhn vin, dng nhn
bit mt i tng nhn vin c th.
Tng thc th ring bit c gi tr ring bit cho mi
thuc tnh.
43
Cc khi nim trong m hnh E-R
$1.5. M hnh thc th - kt hp
Phn loi thuc tnh:
Thuc tnh n (Single attribute)
Thuc tnh hp (Composite attribute)
Gi tr ca thuc tnh:
n tr (single-valued)
a tr (multi-valued)
Null
Thuc tnh dn xut.
44
Cc khi nim trong m hnh E-R
$1.5. M hnh thc th - kt hp
Loi thc th (Entity set): L tp hp cc
thc th c cng cc thuc tnh.
V d: Loi thc th NHAN VIEN, loi thc th
EAN.
Kha ca loi thc th: Tp hp nh nht
cc thuc tnh ca mt loi thc th m gi
tr ca tp hp ny l duy nht i vi mi
thc th c gi l kha ca loi thc th.
Kha dng nhn bit tng thc th.
45
Cc khi nim trong m hnh E-R
$1.5. M hnh thc th - kt hp
Mi kt hp: Mt mi kt hp (relationship) l
mi quan h gia hai hay nhiu thc th mang
mt ngha no . V d:
Nguyn Vn A trc thuc phng Nghin cu.
Trn Th B trc thuc phng Kinh doanh.
Loi mi kt hp: Mt loi mi kt hp l tp
tt c cc mi kt hp cng loi.
V d: Tp tt c nhng mi quan h
trc_thuc trn c din t bi loi mi kt
hp TRUC_THUOC.
46
Cc khi nim trong m hnh E-R
$1.5. M hnh thc th - kt hp
Bc ca loi mi kt hp: L s lng
loi thc th tham gia vo mi kt hp
Loi mi kt hp bc 2 cn gi l mi kt
hp nh phn. Hu ht cc loi mi kt hp
trong CSDL l nh phn.
Thuc tnh ca loi mi kt hp
Gi lm vic ca nhn vin khi nhn vin
tham gia lm n.
47
Cc khi nim trong m hnh E-R
Cc rng buc trn loi mi kt hp:
gm 2 loi:
Rng buc t l lc lng (Cardinality ratio
constraint ): k hiu (min, max).
Rng buc tham gia (Participation
constraint): gm 2 loi:
Ton phn
Bn phn
$1.5. M hnh thc th - kt hp
Nhn Vin Qun L Phng Ban
48
Cc khi nim trong m hnh E-R
$1.5. M hnh thc th - kt hp
Loi thc th yu: Loi thc th khng
c tp thuc tnh kha gi l loi thc
th yu (weak entity type).
Loi thc th yu phi tham gia trong mt
loi mi kt hp xc nh (Identifying
ralationship type) trong c mt loi thc
th ch hay loi thc th xc nh
(Identifying entity).
49
Cc khi nim trong m hnh E-R
$1.5. M hnh thc th - kt hp
Mt thc th yu c xc nh bng s
kt hp ca:
Kha ring phn (partial key) ca mt thc
th yu.
Kha ca mt thc th ch xc nh thc
th yu ny.
V d:
Thc th yu Thc th n ph thuc
Chi tit ha n
Cc thn nhn
Ha n
Nhn vin
50
Cc khi nim trong m hnh E-R
$1.5. M hnh thc th - kt hp
K hiu ngha
Loi thc th
Loi thc th yu
Loi mi kt hp
Loi mi kt hp xc nh
51
Cc khi nim trong m hnh E-R
$1.5. M hnh thc th - kt hp
K hiu ngha
Thuc tnh
Thuc tnh kha
Thuc tnh a tr
Thuc tnh a hp
52
Cc khi nim trong m hnh E-R
$1.5. M hnh thc th - kt hp
K hiu ngha
Thuc tnh dn xut
E2 tham gia ton phn vo
R
E1 tham gia vo R vi t l
(min,max)
E1 E2 R
E1 R
(min,max)
53
Thit k m hnh E-R cho v d
Cng ty c nhiu phng ban: tn,
m s v mt nhn vin lm trng
phng. Ngy m nhn vin bt u
lm trng phng cng c quan tm.
Mt phng ban c th nh v
nhiu a im khc nhau
PHONGBAN
TnPB
MaPB
DiaDiem
54
Thit k m hnh E-R cho v d
Mt phng ban ph trch mt s n.
Mi n c tn, m s v ni thc
hin n.
DEAN
TnDA
MaDA
DDIEM_DA
55
Thit k m hnh E-R cho v d
V nhn vin, cn quan tm: m,
tn, a ch, mc lng, gii tnh v
ngy sinh. Mi nhn vin thuc mt
phng ban nhng c th lm vic cho
nhiu n. Mi n do mt phng
ban ph trch
NHANVIEN
TnNV
MaNV
DiaChi
Ho
Lot
Ten
Luong Phai
NgSinh
56
Thit k m hnh E-R cho v d
Cn lu li gi lm vic ca mt nhn vin lm cho mt n. Ngoi
ra cng cn bit c ngi ph trch trc tip ca mt nhn vin.
qun l cc thng tin c lin quan n bo him,
ngi s dng cng c nhu cu v thng tin ca mi
quan h thn nhn (v, chng, con) ca nhn
vin. Cc thng tin m ngi s dng quan
tm bao gm tn thn nhn, gii tnh v mi
quan h vi nhn vin.
Phai TenTN QuanHe
THANNHAN
57
Thit k m hnh E-R cho v d
Cng ty c nhiu phng ban: tn, m s
v mt nhn vin lm trng phng.
Ngy m nhn vin bt u lm
trng phng cng c quan tm
PHONGBAN
TnPB
MaPB
DiaDiem
NHANVIEN
TnNV
MaNV
DiaChi
Ho
Lot
Ten
Luong Phai
NgSinh
Qun
L
NgayBD
(0,1)
(1,1)
58
Thit k m hnh E-R cho v d
Mt phng ban ph
trch mt s n.
Mi n c tn, m
s v ni thc hin
n.
Mi n do mt
phng ban ph trch.
PHONGBAN
TnPB
MaPB
DiaDiem
Ph
Trch
DEAN
TnDA
MaDA
DDIEM_DA
(1,n)
(1,1)
59
Thit k m hnh E-R cho v d
Mi nhn vin thuc mt phng ban
nhng c th lm vic cho nhiu n
PHONGBAN
TnPB
MaPB
DiaDiem
NHANVIEN
TnNV
MaNV
DiaChi
Ho
Lot
Ten
Luong
Phai
NgSinh
Qun
L
NgayBD
(0,1)
(1,1)
Thuc
(1,n)
(1,1)
60
Thit k m hnh E-R cho v d
Cn lu li gi lm vic ca mt nhn
vin lm cho mt n.
NHANVIEN
TnNV
MaNV
DiaChi
Ho
Lot
Ten
Luong
Phai
NgSinh
Phn
Cng
ThoiGian
(1,n)
(1,n)
DEAN
TnDA
MaDA
DDIEM_DA
61
Thit k m hnh E-R cho v d
Ngoi ra cng cn bit c ngi ph
trch trc tip ca mt nhn vin
NHANVIEN
TnNV
MaNV
DiaChi
Ho
Lot
Ten
Luong
Phai
NgSinh
Gim
St
(0,n) (0,1)
62
Thit k m hnh E-R cho v d
ngi s dng cng c
nhu cu v thng tin
ca mi quan h thn
nhn (v, chng, con)
ca nhn vin
NHANVIEN
TnNV
MaNV
DiaChi
Ho
Lot
Ten
Luong
Phai
NgSinh
C TN
(0,n)
(1,1)
Phai TenTN QuanHe
THANNHAN
63
PHONGBAN
TnPB
MaPB
DiaDiem
NHANVIEN
TnNV
MaNV
DiaChi
Ho
Lot
Ten
Luong
Phai
NgSinh
Qun
L
NgayBD
(0,1)
(1,1)
Thuc
(1,n)
(1,1)
Phn
Cng
ThoiGian
(1,n)
(1,n)
DEAN
TnDA
MaDA
DDIEM_DA
Gim
St
(0,1)
(0,n)
Ph
Trch
(1,n)
(1,1)
C TN
(1,1)
Phai TenTN QuanHe
THANNHAN
(0,n)
64
Ni dung
1. C S D Liu L G?
2. H Qun Tr CSDL
3. Cc M Hnh D Liu
4. Qun L D Liu Phn Tn
5. M Hnh Thc Th Kt Hp
6. Bi tp
65
$1.6. Bi tp lm ngay
Tin hc ha Qun l sinh vin ti mt trng
trung cp
Cc thng tin cn qun l v mt sinh vin gm:
h tn, phi, a ch, in thoi. Ngoi ra, ta cng
cn bit sinh vin ny ang theo hc ngnh no.
Mi ngnh s c mt tn ngnh v s lng gio
vin thuc ngnh .
Cn qun l h tn ca gio vin v thng tin v
ngnh m gio vin trc thuc
66
$1.6. Bi tp lm ngay
Tin hc ha Qun l sinh vin ti mt
trng trung cp
Trng cn qun l thm thng tin v cc
mn hc gm: tn v s tn ch
Cng tc ging dy ca trng c qun l
theo tng kha hc. Mi kha s c t
chc theo tng hc k ca tng nm do mt
gio vin ph trch mt mn hc c th
Sinh vin s c im khi tham gia cc kha
hc
67
C S
C S

D
D

LIE
LIE

U
U
I HC TN C THNG
PHNG TRUNG CP CHUYN NGHIP & DY NGH
_oOo_
ThS.L Vn Hnh
Chng 2
M HNH D LiU QUAN H
(Relational Data Model)
69
Ni Dung
c xut bi TS. E. F. Codd nm 1970.
Nn tng ca m hnh ny l l thuyt tp hp trn cc quan h.
Ni dung chnh
1. Thuc tnh
2. Quan h
3. B gi tr
4. Th hin ca quan h
5. Lc quan h
6. Lc CSDL
7. Kha Keys
8. Chuyn ER sang RDM
70
$2.1. Thuc tnh
i tng l mt thc th tn ti
khch quan hay mt s tru tng
ha (nhn vin, xe my, hng ha,
...).
Thuc tnh l c tnh ca i
tng cn c phn nh trong
CSDL.
71
$2.1. Thuc tnh
i tng xe my c
cc thuc tnh nh :
S xe, S my, Ch
xe, ...
i tng nhn vin
c cc thuc tnh
nh : M nhn
vin,H tn, Phi, ...
72
$2.1. Thuc tnh
Thuc tnh c c trng bi 3
yu t:
1. Tn gi: Mt dy k t bt k (gi
nh)
2. Kiu d liu: S, Chui, Ngy,
Logic, OLE.
3. Min gi tr ca thuc tnh: Xc nh
tp gi tr m thuc tnh c th nhn.
K hiu min gi tr ca thuc tnh A
l Dom(A).
73
Ni Dung
c xut bi TS. E. F. Codd nm 1970.
Nn tng ca m hnh ny l l thuyt tp
hp trn cc quan h.
Ni dung chnh
1. Thuc tnh
2.Quan h
3. B gi tr
4. Th hin ca quan h
5. Lc quan h
6. Lc CSDL
7. Kha Keys
8. Chuyn ER sang RDM
74
$2.2. Quan h
Quan h l mt bng (table) 2 chiu
c nh ngha trn mt tp thuc
tnh.
Tp ton b thuc tnh ca mt quan
h Q c k hiu l : Q
+
.
V d : quan h NhanVien vi 5 thuc
tnh
NhanVien
MaNV HoTen Phai Luong PHG
123 N T A N 2000000 NC
124 L V M Nam 2100000 NC
75
$2.2. Quan h
Quan h PhongBan vi 4 thuc tnh
PhongBan
MAPH
G TENPHG TRPHG NG_NHANCHUC
1 Quan ly 888665555 19/06/1981
4 Dieu nang 987987987 1/1/1995
5 Nghien cuu 333445555 22/05/1968
Tn quan h
Tn thuc tnh
76
Ni Dung
c xut bi TS. E. F. Codd nm 1970.
Nn tng ca m hnh ny l l thuyt tp
hp trn cc quan h.
Ni dung chnh
1. Thuc tnh
2. Quan h
3.B gi tr
4. Th hin ca quan h
5. Lc quan h
6. Lc CSDL
7. Kha Keys
8. Chuyn ER sang RDM
77
$2.3. B gi tr
B l mt dng d liu trong mt quan
h.
B thng c gi l mu tin, bn ghi
hay record.
Khng c 2 b ging nhau trong cng
mt quan h
NhanVien
MaNV HoTen Phai Luong PHG
123 N T A N 2000000 NC
124 L V M Nam 2100000 NC
B B
78
Ni Dung
c xut bi TS. E. F. Codd nm 1970.
Nn tng ca m hnh ny l l thuyt tp
hp trn cc quan h.
Ni dung chnh
1. Thuc tnh
2. Quan h
3. B gi tr
4.Th hin ca quan h
5. Lc quan h
6. Lc CSDL
7. Kha Keys
8. Chuyn ER sang RDM
79
$2.4. Th hin ca quan h
Th hin ca mt quan h l tp hp
cc b gi tr c th ca mt quan h
ti mt thi im nht nh.
K hiu th hin ca quan h Q l TQ
TNhanVien1 l th hin ca quan h
NhanVien vo ngy 1/10/2007
NhanVien
MaNV HoTen Phai Luong PHG
123 N T A N 2000000 NC
124 L V M Nam 2100000 NC
80
$2.4. Th hin ca quan h
TNhanVien2 l th hin ca quan h
NhanVien vo ngy 5/10/2007
NhanVien
MaNV HoTen Phai Luong PHG
123 N T A N 2800000 NC
124 L V M Nam 2100000 NC
125 T V B Nam 1500000 Mang
81
Ni Dung
c xut bi TS. E. F. Codd nm 1970.
Nn tng ca m hnh ny l l thuyt tp
hp trn cc quan h.
Ni dung chnh
1. Thuc tnh
2. Quan h
3. B gi tr
4. Th hin ca quan h
5.Lc quan h
6. Lc CSDL
7. Kha Keys
8. Chuyn ER sang RDM
82
$2.5. Lc quan h
Cu trc ca mt quan h l tp thuc tnh
hnh thnh nn quan h .
Lc quan h nhm mc ch m t cu
trc ca mt quan h v cc mi lin h
gia cc thuc tnh trong quan h .
Mt lc quan h gm:
mt tp thuc tnh ca quan h, km theo
mt m t xc nh ngha v mi lin h gia
cc thuc tnh
83
$2.5. Lc quan h
Lc quan h c c trng bi:
Mt tn phn bit
Mt tp hp hu hn cc thuc tnh
(A
1
, , A
n
)
K hiu ca lc quan h Q gm n
thuc tnh (A1, A2, ... An) l :
Q(A
1
, A
2
, ..., A
n
), hoc
Q
+
= {A
1
, A
2
, ..., A
n
}
84
$2.5. Lc quan h
Lc quan h PhongBan
PhongBan(MaPHG, TenPHG, TrPHG,
NG_NhanChuc)
M t: Mi phng ban c cp mt m s
duy nht phn bit vi cc phng ban
khc trong cng ty, v c mt tn phng
ban, mt trng phng cng ngy nhn
chc ca trng phng.
MAPHG TENPHG TRPHG NG_NHANCHUC
1 Quan ly 888665555 19/6/1981
4 Dieu nang 987987987 1/1/1995
5 Nghien cuu 333445555 22/5/1968
Quan h
PhongBan
85
Ni Dung
c xut bi TS. E. F. Codd nm 1970.
Nn tng ca m hnh ny l l thuyt tp
hp trn cc quan h.
Ni dung chnh
1. Thuc tnh
2. Quan h
3. B gi tr
4. Th hin ca quan h
5. Lc quan h
6.Lc CSDL
7. Kha Keys
8. Chuyn ER sang RDM
86
$2.6. Lc CSDL
L tp hp gm cc lc quan h v
cc mi lin h gia chng trong cng
mt h thng qun l.
Cc CSDL
H Qun
Tr CSDL
Cc quan h
87
$2.6. Lc CSDL
Lc CSDL qun l n cty
NHANVIEN (MaNV, HoNV, TenLot, TenNV, Phai, Luong, PHG,
NGSinh, DCHI, Ma_NQL)
PHONGBAN (MaPHG, TenPHG, TrPHG, NG_NhanChuc)
DEAN (MaDA, TenDA, DDIEM_DA, Phong)
PHANCONG (Ma_NVien, MaDA, ThoiGian)
DIADIEM_PHG (MaPHG, DIADIEM)
THANNHAN (Ma_NVien, TenTN, Phai, NGSinh, QuanHe)
88
Ni Dung
c xut bi TS. E. F. Codd nm 1970.
Nn tng ca m hnh ny l l thuyt tp
hp trn cc quan h.
Ni dung chnh
1. Thuc tnh
2. Quan h
3. B gi tr
4. Th hin ca quan h
5. Lc quan h
6. Lc CSDL
7.Kha Keys
8. Chuyn ER sang RDM
89
$2.7. Kha
Siu kha
Kha
Kha Chnh
Kha Ngoi
Nguyn Vn To?
C
C
90
Siu kha Super Keys
Siu kha : l mt tp con cc thuc
tnh ca Q
+
m nh vo chng ta c
th phn bit 2 b khc nhau trong
cng mt th hin TQ bt k.
t1, t2 TQ, t1[K] t2[K] K l
siu kha ca Q.
Mt quan h c t nht mt siu kha
(Q
+
) v c th c nhiu siu kha.
$2.7. Kha
91
Siu kha Super Keys
$2.7. Kha
V d: cc siu kha ca quan h NhanVien l:
{HoTen,Phai}; {HoTen,Phai,Luong,PHG};
T hp cc thuc tnh c th phn bit cc b
trong 1 quan h
NhanVien
HoTen Phai Luong PHG
N T A N 2000 NC
L V M Nam 2100 NC
N T A Nam 2500 KH
Siu
Kha?
92
Kha Keys
$2.7. Kha
Kha: l mt siu kha nh nht
(cha t thuc tnh nht v khc rng).
Cho Q
+
={A
1
, , A
n
}, K={A
1
, , A
m
},
m n, K Q
+
, K , K l kha ca Q
nu:
K l siu kha ca Q.
nu K
1
K, K
1
khng l siu kha.
93
Kha Keys
$2.7. Kha
Thuc tnh tham gia vo mt kha gi
l thuc tnh kha, ngc li l thuc
tnh khng kha.
V d:
MaNV l thuc tnh kha ca quan h
NhanVien.
Trong quan h PhanCong c kha
K={MANV, MADA}. Nh vy thuc tnh
kha s l: MANV, MADA.
94
Kha Chnh Primary Keys
Khi ci t trn mt HQTCSDL c th,
nu quan h c nhiu hn mt kha,
ta ch c chn mt kha v gi l
kha chnh.
Cc thuc tnh nm trong kha chnh
khi lit k trong quan h phi c
gch di.
$2.7. Kha
HoTen Phai Luong PHG
N T A N 2000 NC
L V M Nam 2100 NC
N T A Nam 2500 KH
Kha?
95
Kha Chnh Primary Keys
V d 1 : Kha chnh gm 1 thuc tnh
Kha chnh ca quan h NhanVien l: {MANV}
NhanVien(MaNV, HoTen, Phai, Luong, PHG)
V d 2 : Kha chnh gm hn 1 thuc tnh
Kha chnh ca quan h PhanCong l: {MANV,
MADA}
PhanCong=(MaNV, MaDA, ThoiGian)
PhanCong=(MaNV, ThoiGian, MaDA)
$2.7. Kha
96
Kha Ngoi Foreign Keys
$2.7. Kha
Cho Q1(U), Q2(V) l 2 quan h, vi U, V ln lt l tp
thuc tnh ca cc quan h Q1 v Q2.
K1 l kha chnh ca Q1, K2 Q2
+
Nu iu kin sau c tha:
K1 v K2 c cng s thuc tnh v ng ngha
ca cc thuc tnh.
Gia Q1 v Q2 tn ti mi quan h 1-n trn K1
v K2, mi b q2 Q2, duy nht 1 b q1
Q1, sao cho q1.K1=q2.K2
Khi , K2 l kha ngoi ca Q2 tham chiu n
kha chnh K1 ca Q1
97
Kha Ngoi Foreign Keys
V d, cho 2 quan h
PhongBan(MaPB, TenPB), vi U=PhongBan
+
NhanVien(MaNV, HoTen, Phai, Phg), vi
V=NhanVien
+
K1={MaPB} l kha chnh ca quan h PhongBan,
K2={Phg} V
K1 v K2 cng c 1 thuc tnh biu th m phng
ban.
Dom(K2) Dom(K1), ngha l, quan h 1-n
K2 l kha ngoi ca NhanVien tham chiu n kha
chnh K1 ca PhongBan.
$2.7. Kha
98
Kha Ngoi Foreign Keys
V d, cho 2 quan h
NhanVien(MaNV, HoTen, Phai, MaPHG), vi
U=NhanVien
+
PhanCong(MSNV, MaDA, ThoiGian), vi
V=PhanCong
+
K1={MaNV} l kha chnh ca quan h NhanVien,
K2={MSNV} V
K1 v K2 cng c 1 thuc tnh biu th m nhn
vin.
Dom(K2) Dom(K1), ngha l, quan h 1-n
K2 l kha ngoi ca PhanCong tham chiu n
kha chnh K1 ca NhanVien.
$2.7. Kha
99
Ni Dung
c xut bi TS. E. F. Codd nm 1970.
Nn tng ca m hnh ny l l thuyt tp
hp trn cc quan h.
Ni dung chnh
1. Thuc tnh
2. Quan h
3. B gi tr
4. Th hin ca quan h
5. Lc quan h
6. Lc CSDL
7. Kha Keys
8.Chuyn ER sang RDM
100
$2.8. Chuyn t ER sang RDM
Bc 1. Mi loi thc th Quan h
NHANVIEN(MaNV, HoNV, TenLot, TenNV, Phai,
Luong, DiaChi, NgaySinh)
NHANVIEN
MaNV
Ten
HoNV
TenLot
TenNV
Phai
Luong
DiaChi
NgaySinh
101
$2.8. Chuyn t ER sang RDM
Kt qu t c sau khi p dng Bc
1.
NHANVIEN(MaNV, HoNV, TenLot, TenNV,
Phai, Luong, DiaChi, NgaySinh)
PHONGBAN(MaPHG, TenPHG)
DEAN(MaDA, TenDA, DDiem_DA)
102
$2.8. Chuyn t ER sang RDM
Bc 2: Loi thc th yu
THANNHAN(MaNV, TenTN, Phai,
NgaySinh, Quanhe)
NHANVIEN
MaNV
C thn
nhn
THANNHAN
TenTN Phai
NgaySinh
Quanhe
103
$2.8. Chuyn t ER sang RDM
Cc lc thu c t cc loi thc
th
NHANVIEN(MaNV, HoNV, TenLot, TenNV,
Phai, Luong, DiaChi, NgaySinh)
PHONGBAN(MaPHG, TenPHG)
DEAN(MaDA, TenDA, DDiem_DA)
THANNHAN(MaNV, TenTN, Phai, NgaySinh,
Quanhe)
104
$2.8. Chuyn t ER sang RDM
Bc 3. Loi mi kt hp (1,1) (1,1)
NHANVIEN(MaNV, HoNV, TenLot, TenNV, Phai, Luong, DiaChi, NgaySinh)
PHONGBAN(MaPB, TenPB, TrPHG, NgayNC)
NHANVIEN
MaNV
Ten
HoNV
TenLot
TenNV
Phai
Luong
DiaChi
NgaySinh
PHONGBAN
MaPB
TenPB
DiaDiem
Qun l
(0,1)
(1,1)
NgayNC
105
$2.8. Chuyn t ER sang RDM
Bc 4. Loi mi kt hp (1,1) (1,n)
khng c thuc tnh ring
NHANVIEN(MaNV, HoNV, TenLot, TenNV, Phai, Luong, DiaChi, NgaySinh,MaPB)
PHONGBAN(MaPB, TenPB, TrPHG, NgayNC)
NHANVIEN
MaNV
PHONGBAN
MaPB
Trc thuc
(1,1)
(1,n)
106
$2.8. Chuyn t ER sang RDM
Bc 5. Loi mi kt hp (1,1) (1,n) c
thuc tnh ring
PHONGBAN(MaPB, TenPB, TrPhg, NgayNC)
DEAN(MaDA, TenDA, DiaDiem, MaPB, NgayBD)
PHONGBAN
MaPB
TenPB
DiaDiem
Ph trch
DEAN
MaDA
TenDA
DiaDiem
NgayBD
(1,n)
(1,1)
V d
107
$2.8. Chuyn t ER sang RDM
Bc 6. Loi mi kt hp (1,n) (1,n) c
thuc tnh ring
PHANCONG(MaNV, MaDA, ThoiGian)
NHANVIEN
MaNV
Ten
HoNV
TenLot
TenNV
Phai
Luong
DiaChi
NgaySinh
DEAN
MaDA
TenDA
DiaDiem
PhanCong
(1,n)
(1,n)
ThoiGian
108
$2.8. Chuyn t ER sang RDM
Bc 7. Thuc tnh a tr
DDIEM_PHONG(MaPB, DiaDiem)
PHONGBAN
MaPB
TenPB
DiaDiem
109
$2.8. Chuyn t ER sang RDM
Lc CSDL thu c
NHANVIEN(MaNV, HoNV, TenLot, TenNV, Phai, Luong, DiaChi, NgaySinh,MaPB)
PHONGBAN(MaPB, TenPB, TrPhg, NgayNC)
DEAN(MaDA, TenDA, MaPB, DDiem_DA)
PHANCONG(MaNV, MaDA, ThoiGian)
DDIEM_PHONG(MaPB, DiaDiem)
THANNHAN(MaNV, TenTN, Phai, NgaySinh, Quanhe)
110
$2.8. Chuyn t ER sang RDM
SinhVien
GiaoVien
MonHoc
KhoaHoc
Nganh
Thuc
Thuc
T chc
Hc
Dy
(1,1)
(1,n)
(1,1)
(1,n)
(1,n)
(1,n)
(1,n)
(1,1)
(1,1)
(1,n)
im
MaSV
HoTen Phi
aCh
MaMH
TenMH
SoTC
Nm
Hc k
TnGV
MaNg
TenNg
SLGV
111
C S
C S

D
D

LIE
LIE

U
U
I HC TN C THNG
PHNG TRUNG CP CHUYN NGHIP & DY NGH
_oOo_
ThS.L Vn Hnh
Chng 3
I S QUAN H
(Relational Algebra)
113
Ni Dung
1. Gii thiu
2. Cc php ton trn quan h
E , , -, , ,
E : -kt (-join)
Kt bng (equi-join), Kt t nhin (natural-join), Kt
ni (inner-join), Kt tri (left-join), Kt phi (right-
join), Kt ngoi (outer-join)
E Php chia
E Cc hm kt hp
3. Cc thao tc trn d liu quan h: thm, xa
, sa
114
$3.1. Gii thiu
i s quan h l ngn ng dng c t
vic truy xut d liu trn quan h
Gm tp hp cc php ton trn cc quan h
v cho kt qu l mt quan h
i s quan h c nn tng ton hc (c th
l l thuyt tp hp) m hnh ha CSDL
quan h. Ngoi ra, ta c th p dng cc
php ton c sn ca l thuyt tp hp ti
u qu trnh rt trch d liu t CSDL quan
h
115
$3.2. Cc php ton trn quan h
C nm php ton c bn:
Chn (): Chn tp con cc dng trong quan h.
Chiu (): Xa cc ct khng mong mun.
Tch Descartes (x): Kt hai quan h.
Hiu (-): Cha cc b ca QH 1 nhng khng nm trong QH 2.
Hp () Cha cc b ca QH 1 v cc b trong QH 2.
Cc php ton khc: Giao (), kt, chia, i tn:
khng c bn, nhng hu ch.
Kt qu thc hin cc php ton trn cng l cc quan
h, do c th kt hp gia cc php ton ny
to nn php ton mi
116
$3.2. Cc php ton trn quan h
Mt s php ton trn quan h i hi
2 quan h tham gia phi kh hp
Quan h kh hp: hai quan h r v s
c coi l kh hp khi:
S lng thuc tnh phi bng nhau (cng
bc)
Min gi tr ca thuc tnh phi tng thch
(dom(A
i
) = dom(B
i
)) vi 1 i n
117
Php hi
$3.2. Cc php ton trn quan h
Cho r v s l 2 quan h kh hp
r s = { t/ (t r) (t s) }
Quan h kt qu gm tt c cc b c
trong r hoc c trong s (khng trng)
118
Php giao
$3.2. Cc php ton trn quan h
Cho r v s l 2 quan h kh hp
r s = { t/ (t r) (t s) }
Quan h kt qu gm tt c cc b c
trong c r ln s
119
Php tr -
$3.2. Cc php ton trn quan h
Cho r v s l 2 quan h kh hp
r - s = { t/ (t r) (t s) }
Quan h kt qu gm tt c cc b c
trong r nhng khng c trong s
120
Php chn
$3.2. Cc php ton trn quan h
nh ngha: Cho lc quan h R (A
1
,
A
2
,, A
n
), r(R):

E
(r) = {t , t r v t tha E}, vi
E l mt biu thc cho bit iu kin chn
Php chn c dng trch chn cc
dng tha iu kin chn E t quan h
ban u.
121
Php chn
V d, cho bit cc sinh vin c hc bng
Cho danh sch cc nhn vin n ca phng
KD c lng ln hn 1000000.
$3.2. Cc php ton trn quan h

Phai=nu and Phg=KD and Luong>100000


(NHANVIEN)
122
Php chn
$3.2. Cc php ton trn quan h
a ra cc php chn c R t R
Chn nhng nhn vin thuc Phng c m s l P3
v phi l Nam.
Chn nhng nhn vin c lng nm trong khong
t 30000 n 40000.
Chn nhng nhn vin phi l N v lng
>25000 hoc nhng nhn vin c h l inh
123
Php chiu -
$3.2. Cc php ton trn quan h
Cho trc mt lc quan h
R(A
1
, A
2
,, A
n
), XR, r(R):

X
(r) = {t[X] | t r}
K hiu:
A1,A2,,Ak
(r)
Dng trch chn cc thuc tnh (ct)
t quan h r c ch ra trong danh
sch thuc tnh
Cc dng trng nhau s c loi b
khi quan h kt qu
124
Php chiu -
$3.2. Cc php ton trn quan h
Php chiu lc quan h SINHVIN
(MaSV, HoTen, HocBong) ln tp thuc tnh
gm {HoTen,MaSV} s cho kt qu nh sau
125
Php chiu -
$3.2. Cc php ton trn quan h
Cho danh sch nhn vin gm cc thng tin tn
nhn vin, lng, ngy sinh, phi

TenNV,Luong,NgaySinh,Phai
(NHANVIEN)
Cho bit MaNV, TenNV, Luong ca cc nhn vin
c luong>20000

MaNV,TenNV,Luong
(
Luong>20000
(NHANVIEN))
Cho bit tn nhn vin n phng KD

TenNV
(
Phai=nu and Phg=KD
(NHANVIEN))
126
Php gn - +
$3.2. Cc php ton trn quan h
Php gn gip th hin d dng cc cu truy
vn phc tp.
tng: vit cc cu truy vn nh l mt
chng trnh tun t gm mt chui cc
php ton
V d: Cho bit tn nhn vin n phng KD
KQ1 +
Phai=nu and Phg=KD
(NHANVIEN)
KQ +
TenNV
(KQ1)
127
Php i tn
$3.2. Cc php ton trn quan h
Cho php tham chiu ti mt quan h bng nhiu
tn.
D dng s dng trong trng hp mt quan h
c s dng nhiu ln trong mt biu thc quan
h
Quan h: <tn mi>+php ton quan h
SV +
HoTen, MaSV
(SinhVien)
Thuc tnh: <tn mi qh>(tn mi thuc tnh)+
php ton quan h
SV(Ten,Maso) +
HoTen, MaSV
(SinhVien)
128
Php tch Cartersian -
$3.2. Cc php ton trn quan h
r x s := {t q | t r ^ q s }
Thuc tnh ca r v s phi khc nhau
(r s = )
Php tch Cartersian l mt php ton v ngha
nu ng ring. Do , ngi ta thng phi s
dng phi hp vi cc php ton khc
129
Php tch Cartersian -
$3.2. Cc php ton trn quan h
NHANVIEN
MAN
V
HONV TENLO
T
TENN
V
001 Vuong Ngoc Quyen
002 Nguye
n
Thanh Tung
003 Le Thi Nhan
004 Dinh Ba Tien
Vi mi phng ban, cho bit thng tin v
ngi trng phng
PB_NV PhongBan x NhanVien
PB_TruongPhong
MaNV=TrPhg
(PB_NV)
PHONGBAN
002 Nghien NC
003 Dieu Hanh DH
001 Quan Ly QL
TRPH
G
TENPHG MAPH
G

002 Nghien Cuu NC Tien Ba Dinh 004


003 Dieu Hanh DH Tien Ba Dinh 004
001 Quan Ly QL Tien Ba Dinh 004
002 Nghien Cuu NC Nhan Thi Le 003
003 Dieu Hanh DH Nhan Thi Le 003
001 Quan Ly QL Nhan Thi Le 003
002 Nghien Cuu NC Tung Thanh Nguyen 002
003 Dieu Hanh DH Tung Thanh Nguyen 002
001 Quan Ly QL Tung Thanh Nguyen 002
002 Nghien Cuu NC Quyen Ngoc Vuong 001
003 Dieu Hanh DH Quyen Ngoc Vuong 001
001 Quan Ly QL Quyen Ngoc Vuong 001
TRPHG TENPHG MAPHG TENNV TENLOT HONV MANV
003 Dieu Hanh DH Nhan Thi Le 003
002 Nghien
Cuu
NC Tung Thanh Nguye
n
002
001 Quan Ly QL Quyen Ngoc Vuong 001
TRPHG TENPHG MAPHG TENNV TENLOT HONV MANV
130
Php kt -
$3.2. Cc php ton trn quan h
kt
Kt bng, kt t nhin
Kt tri
Kt phi
Kt ni
Kt ngoi
131
Php kt - - kt
$3.2. Cc php ton trn quan h
Php kt l s kt hp c th t ca
php tch Cartersian v php chn.
Gi l mt trong cc php so snh {=,
>, , <, , }. Php kt gia hai lc
quan h Q1 v Q2 s to thnh mt
lc quan h Q12:
Q1
A B
Q2 = { q
1
q
2
| q
1
r, us q
1
[A]
q
2
[B]}
iu kin AB c gi l iu kin kt.
132
Php kt - - kt
$3.2. Cc php ton trn quan h
Php kt bng: khi l php so snh =
ta gi l php kt bng hay cn gi l
equi-join
Php kt t nhin: Kt bng hai quan h
v mt trong hai thuc tnh tham gia
iu kin kt c loi b qua php
chiu th php kt c gi l kt t
nhin (natural-join)
133
Php kt - - Kt ni
$3.2. Cc php ton trn quan h
Php kt ni (inner join): Thc cht l
php kt ni bng.
Hai thuc tnh so snh c cng tn th kt
qu php kt ni vn gi li 2 tn thuc
tnh
134
Php kt - Kt tri -
$3.2. Cc php ton trn quan h
Php kt tri (left join):
R S = { v = (t, u) | (t R , u S t.A
u.B) hoc (t R, u = u
NULL
vi t.A S[B])
}
135
Php kt - Kt phi -
$3.2. Cc php ton trn quan h
Php kt phi (right join):
R S = { v = (t, u) | (t R , u S t.A
u.B) hoc (u S, t = t
NULL
vi u.B R[A])
}
136
Php kt - Kt ngoi
$3.2. Cc php ton trn quan h
Php kt ngoi (outer join):
Kt hp hai php kt tri v kt phi
137
Php chia -
$3.2. Cc php ton trn quan h
r s: ly cc b trong quan h r sao
cho khp vi tt c cc b trong quan
h s
cc thuc tnh ca s phi l mt tp thuc
tnh con ca r, s
+
r
+
.
Thuc tnh ca quan h kt qu chnh l
cc thuc tnh ca r s
138
Php chia -
Cc bc thc hin:
1. Xa cc thuc tnh khng
kha trong R v S
2. Gi s, gi B l ct chung
ca c 2 quan h R v S.
Thc hin xa cc dng
trong R sao cho gi tr ca
ct B trong R khng c
trong ct B ca S
$3.2. Cc php ton trn quan h
139
Php chia -
Cc bc thc
hin:
3. To t1 bng cch
thc hin php
chiu trn ct
khng phi ct
chung ca R v S
4. To t2 = t1 x S
$3.2. Cc php ton trn quan h
140
Php chia -
$3.2. Cc php ton trn quan h
Cc bc thc hin:
5. To t3 = t2 - R
141
Php chia -
$3.2. Cc php ton trn quan h
Cc bc thc hin:
6. Chiu ly cc thuc tnh ca t3 c
trong R v khng c trong S
7. To tp kt qu: tKq= t1 t4
142
Php chia -
Cho bit cc nhn
vin c phn
cng tham gia tt c
cc n
$3.2. Cc php ton trn quan h
143
Php chia -
Cho bit cc nhn
vin c phn
cng tham gia tt c
cc n c a
im ti TPHCM
$3.2. Cc php ton trn quan h
144
Cc hm kt hp gom nhm
$3.2. Cc php ton trn quan h
Max (thuc tnh kiu s) : tr v gi tr ln
nht.
Min (thuc tnh kiu s) : tr v gi tr nh
nht.
Count (tn thuc tnh), Count(*): m s
phn t, trng vn m.
Sum (thuc tnh kiu s): Tr v tng.
Avg (thuc tnh kiu s): Tr v gi tr trung
bnh.
145
Cc hm kt hp gom nhm
$3.2. Cc php ton trn quan h

G1, G2, , Gn

F1(A1), F2(A2), , Fn(An)
(E)
E l biu thc i s quan h
Gi l tn thuc tnh gom nhm (c th tnh
ton khng gom nhm)
Fi l hm gom nhm, c th l tn thuc tnh
nu mun chn thuc tnh ny.
Ai l tn thuc tnh tnh ton trong hm gom
nhm Fi
146
Cc hm kt hp gom nhm
$3.2. Cc php ton trn quan h
MaNV HoTen Phai MaPB
NV1 Bi N KD
NV2 Cam Nam DH
NV3 Xoi Nam KD
NV4 Mt N NC
NV5 i N DH
MaPB
COUNT(MaNV)
(NhanVien)
MaPB No column name
KD
DH
NC
2
2
1
MaPB SLNV
KD
DH
NC
2
2
1
KQ(MaPB,SLNV)+MaPB
COUNT(MaNV)
(NhanVien)
147
Cc hm kt hp gom nhm
$3.2. Cc php ton trn quan h
Tnh s nhn vin trong ton cng ty.

Count(*)
(NHANVIEN)
KQ(SLNV) +
Count(*)
(NHANVIEN)
No column name
20
SLNV
20
148
Cc hm kt hp gom nhm
$3.2. Cc php ton trn quan h
Cho bit c bao nhiu n TPHCM
i vi mi a im, cho bit tn v s
lng n c thc hin
Cho bit s nm thm nin (s nm lm
trng phng) ca tng trng phng
i vi tng n, cho bit s lng nhn
vin tham gia n, tng s gi lm vic
ca n
149
$3.3. Cc thao tc trn d liu
quan h
Ni dung ca CSDL c th c cp nht
bng cch dng cc thao tc thm, xa, sa
Tt c cc thao tc ny c din t thng
qua php ton gn
R (kt qu)+Cc php ton trn R (ban u)
150
Thm Chn (Insertion)
$3.3. Cc thao tc trn d liu quan h
C php:
R + R E ( vi E l mt biu thc
i s quan h)
V d: phn cng NV 001 vo n X
vi thi gian l 25
PHANCONG +PHANCONG {001, X,
25}
151
Xa (Delete)
$3.3. Cc thao tc trn d liu quan h
C php:
R + R - E ( vi E l mt biu thc i s
quan h)
V d: xa ton b phn cng ca NV
001
T1 +
MANV=001
(PHANCONG)
PHANCONG +PHANCONG T1
152
Sa (Update)
$3.3. Cc thao tc trn d liu quan h
Thng c din t bng chui cc thao
tc thm v xa. Tuy nhin, c th s dng
trc tip cc php ton s hc
V d: Tng lng gp 1,5 cho nhn vin c
m s 001
T1+
MaNV,TenNV, Luong 1.5
(
MaNV=001
(NHANVIEN))
T2+
MaNV=001
(NHANVIEN)
NHANVIEN + NHANVIEN T2
NHANVIEN + NHANVIEN T1
153
Sa (Update)
$3.3. Cc thao tc trn d liu quan h
NHANVIEN +
MANV,TENNV,LUONG*1.5
(
MANV=001
(NHANVIEN))

MANV,TENNV,LUONG
(
MANV 001
(NHANVIEN))
Tng lng gp 1,5 cho nhn vin c
m s 001
154
Bi tp
$3.3. Cc thao tc trn d liu quan h
Xa cc nhn vin c s thn nhn >=3
Tng 10% lng i vi cc nhn vin
n
Tng 10% lng i vi cc nhn vin
nam c phn cng lm vic cho
n Vng Tu hay Nha Trang
155
C S
C S

D
D

LIE
LIE

U
U
I HC TN C THNG
PHNG TRUNG CP CHUYN NGHIP & DY NGH
_oOo_
ThS.L Vn Hnh
Chng 4
NGN NG TRUY VN
(SQL Structured Query Language)
157
Ni dung
Gii thiu
Ngn ng nh ngha d liu
(DDL Data Definition Language)
Ngn ng thao tc d liu
(DML Data Manipulation Language)
Tng quan gia SQL v ngn ng SQH
Ngn ng iu khin d liu
(DCL Data Control Language)
158
$4.1. Gii thiu
L ngn ng chun truy vn v thao
tc trn CSDL quan h
L ngn ng phi th tc
Khi ngun ca SQL l SEQUEL -
Structured English Query Language, nm
1974)
Cc chun SQL
SQL89
SQL92 (SQL2)
SQL99 (SQL3)
159
$4.1. Gii thiu
y l ngn ng truy vn da trn i
s quan h v l ngn ng phi th tc.
Cc cng dng chnh ca SQL bao gm:
nh ngha d liu (data definition).
Truy vn v X l d liu (data
manipulation).
iu khin d liu (data control)
160
$4.1. Gii thiu
Quy nh v c php ca SQL:
C th c vit trn nhiu dng (cui mi
lnh nn c lnh GO)
T kha, tn hm, tn thuc tnh, tn
bng, tn i tng (Objects) th khng
c php vit tch xung hng.
Khng phn bit ch hoa, ch thng
trong cu lnh.
161
Ni dung
Gii thiu
Ngn ng nh ngha d liu
(DDL Data Definition Language)
Ngn ng thao tc d liu
(DML Data Manipulation Language)
Tng quan gia SQL v ngn ng SQH
Ngn ng iu khin d liu
(DCL Data Control Language)
162
$4.2. Ngn ng nh ngha d liu
Lnh to mi CREATE
Database Table View -
Lnh sa cu trc ALTER
Database Table View -
Lnh xa DROP
Database Table View -
Lnh thm xa sa d liu
INSERT DELETE - UPDATE
163
Lnh to mi - CREATE
$4.2. Ngn ng nh ngha d liu
CREATE DATABASE <tn CSDL>
ON (
NAME = 'Tn d liu',
FILENAME = 'Tn file d liu v ng dn',
SIZE = <kch thc ban u>,
MAXSIZE = <kch thc ti a>,
FILEGROWTH = <kch thc tng trng>)
LOG ON (
NAME = 'Tn log',
FILENAME = 'Tn file nht k v ng dn',
SIZE = <kch thc ban u>,
MAXSIZE = <kch thc ti a>,
FILEGROWTH = <kch thc tng trng>)
164
Lnh to mi - CREATE
$4.2. Ngn ng nh ngha d liu
CREATE DATABASE QLDA
ON (
NAME = 'QLDA_Data',
FILENAME = 'D:\QLDA_Data.mdf',
SIZE = 10MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 5MB)
LOG ON (
NAME = 'QLDA_Log',
FILENAME = 'D:\QLDA_Log.ldf',
SIZE = 5MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 2MB)
165
Lnh to mi - CREATE
$4.2. Ngn ng nh ngha d liu
CREATE TABLE <tn table>
(
<tn thuc tnh 1> kiu_d_liu [not null],
<tn thuc tnh 2> kiu_d_liu [not null],

<tn thuc tnh n> kiu_d_liu [not null]


)
166
Lnh to mi - CREATE
Cc kiu d liu SQL Server
Chui k t varchar(n), char(n),
nvarchar(n), nchar(n)
Text
S tinyint,smallint,int
numeric, decimal, float, real
Ngy thng smalldatetime, datetime
Cc kiu d liu trong SQL Server
$4.2. Ngn ng nh ngha d liu
167
Lnh to mi - CREATE
$4.2. Ngn ng nh ngha d liu
CREATE TABLE NhanVien
(
MaNV nvarchar(5) not null,
HoNV nvarchar(10) not null,
TenLot nvarchar(40) not null,
TenNV nvarchar(10) not null,
PhaiNu bit,
NgaySinh datetime not null,
DiaChi nvarchar(100),
Luong int,
MaPB nvarchar(2)
)
168
Lnh to mi - CREATE
Cho lc CSDL qun l n cty nh sau
NHANVIEN (MaNV, HoNV, TenLot, TenNV, Phai,
Luong, Phong, NgaySinh, DiaChi, Ma_NQL)
PHONGBAN (MaPHG, TenPHG, TrPHG,
NG_NhanChuc)
DEAN (MaDA, TenDA, DDIEM_DA, Phong)
PHANCONG (MaNV, MaDA, ThoiGian)
DIADIEM_PHG (MaPHG, DIADIEM)
THANNHAN (MaNV, TenTN, Phai, NGSinh,QuanHe)
Vit lnh to CSDL v cc table trn
$4.2. Ngn ng nh ngha d liu
169
Lnh sa cu trc - ALTER
$4.2. Ngn ng nh ngha d liu
Thm thuc tnh
ALTER TABLE <tn table> ADD
<tn thuc tnh 1> kiu_d_liu,
<tn thuc tnh 2> kiu_d_liu,

<tn thuc tnh n> kiu_d_liu
V d: thm ct Ghi_ch vo bng nhn
vin
ALTER TABLE NhanVien ADD GhiChu
nvarchar(20)
170
Lnh sa cu trc - ALTER
$4.2. Ngn ng nh ngha d liu
Sa kiu d liu thuc tnh
ALTER TABLE <tn table> ALTER
COLUMN
<tn thuc tnh 1> kiu_d_liu_mi,
<tn thuc tnh 2> kiu_d_liu_mi,

<tn thuc tnh n> kiu_d_liu_mi
V d: sa ngy sinh ca nhn vin
ALTER TABLE NhanVien ALTER COLUMN
NgaySinh SmallDateTime
171
Lnh sa cu trc - ALTER
$4.2. Ngn ng nh ngha d liu
Xa thuc tnh
ALTER TABLE <tn table> DROP
COLUMN <tn thuc tnh>
V d: xa ct Ghi_ch t bng nhn
vin
ALTER TABLE NhanVien DROP COLUMN
GhiChu
172
Lnh sa cu trc - ALTER
$4.2. Ngn ng nh ngha d liu
Thm rng buc ton vn
ALTER TABLE <tn table>
ADD CONSTRAINT <tn
rng buc>
UNIQUE tn thuc tnh
PRIMARY KEY tn t_tnh
FOREIGN KEY tn t_tnh
REFERENCES tn_table
(t_tnh kha chnh) [ON
DELETE CASCADE] [ON
UPDATE CASCADE]
CHECK (tn t_tnh
iu_kin)
173
Lnh sa cu trc - ALTER
$4.2. Ngn ng nh ngha d liu
To kha chnh cho table nhn vin
ALTER TABLE NhanVien ADD CONSTRAINT
pk_NV PRIMARY KEY (MaNV)
To kha ngoi: nhn vin trc thuc
phng ban
ALTER TABLE NhanVien ADD CONSTRAINT
fk_NV_PB FOREIGN KEY (MaPB)
REFERENCES PhongBan(MaPB)
174
Lnh sa cu trc - ALTER
$4.2. Ngn ng nh ngha d liu
To kha ngoi: phng ban c mt
trng phng
ALTER TABLE PhongBan ADD CONSTRAINT
fk_PB_NV FOREIGN KEY (TrPhg)
REFERENCES NhanVien(MaNV)
To rng buc lng phi > 0
ALTER TABLE NhanVien ADD CONSTRAINT
chk_Luong CHECK (Luong>0)
175
Lnh sa cu trc - ALTER
$4.2. Ngn ng nh ngha d liu
To kha ngoi: mt n do mt
phng ban qun l
ALTER TABLE DeAn ADD CONSTRAINT
fk_DA_PB FOREIGN KEY (MaPB)
REFERENCES PhongBan(MaPB)
Xa kha ngoi: mt n do mt
phng ban qun l
ALTER TABLE DeAn DROP CONSTRAINT
fk_DA_PB
176
Lnh xa - DROP
$4.2. Ngn ng nh ngha d liu
C php
DROP <DATABASE | TABLE | VIEW | > <tn>
Khi xa table, phi xa cc table thuc u nhiu
trc hoc phi xa cc kha ngoi tham chiu n
table cn xa
V d: xa table nhn vin
Alter Table PhongBan Drop Constraint fk_PB_NV
Alter Table PhanCong Drop Constraint fk_PC_NV
Drop Table NhanVien
177
Ni dung
Gii thiu
Ngn ng nh ngha d liu
(DDL Data Definition Language)
Ngn ng thao tc d liu
(DML Data Manipulation Language)
Tng quan gia SQL v ngn ng SQH
Ngn ng iu khin d liu
(DCL Data Control Language)
178
$4.3. Ngn ng thao tc d
liu
Gm cc lnh
Thm mi d liu: INSERT INTO
Xa d liu ang c: DELETE FROM
Sa d liu: UPDATE
V lnh truy vn d liu SELECT
Cc lnh truy vn dng khai thc, rt trch d
liu ca mt CSDL.
Kt qu ca 1 lnh truy vn l 1 bng mi c th
c kt xut ra mn hnh, my in hoc lu tr
trn cc thit b tr tin
179
Lnh thm d liu vo table
$4.3. Ngn ng thao tc d liu
C php
INSERT INTO tn_table VALUES (gi_tr_1,
gi_tr_2,, gi_tr_n)
INSERT INTO tn_bng (t_tnh 1, t_tnh 2) VALUES
(gi_tr_1, gi_tr_2)
V d: thm mt nhn vin mi
INSERT INTO NhanVien VALUES (001, NVng
Ngc Quyn, 01/01/1977, N450 Trn Hng o,
NTpHCM, QL)
180
Lnh sa d liu trong table
$4.3. Ngn ng thao tc d liu
C php
UPDATE tn_table SET
t_tnh_1 = gi_tr_1,
t_tnh_2 = gi_tr_2
[WHERE iu_kin]
V d: Sa h nhn vin c m s 001 thnh
Nguyn
UPDATE NhanVien SET
HoNV = NNguyn
WHERE MaNV=001
181
Lnh sa d liu trong table
$4.3. Ngn ng thao tc d liu
V d: Sa h tn ca nhn vin c m s 001
thnh Nguyn Thanh Tng v ngy sinh mi
l 1/1/1978
UPDATE NhanVien SET
HoNV = NNguyen,
TenLot = NThanh,
TenNV = NTng,
NgaySinh =1/1/1978
WHERE MaNV=001
182
Lnh xa d liu trong table
$4.3. Ngn ng thao tc d liu
C php:
DELETE FROM tn_table
[WHERE iu_kin]
V d: xa nhn vin c m s 001
DELETE FROM NhanVien
WHERE MaNV=001
V d: xa ton b nhn vin
DELETE FROM NhanVien
183
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
C php:
SELECT [ALL|DISTINCT|TOP n [PERCENT]]
*|<thuc tnh>|<biu thc> | <hm tp hp>
[INTO <tn table mi>]
FROM <table>
[WHERE <iu kin trn record>]
[GROUP BY <thuc tnh>]
[HAVING <iu kin trn nhm>]
[ORDER BY <thuc tnh> [ASC | DESC], . . . ]
184
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
Tng quan gia SQL v SQH
Php chn:
<iu kin>
(<tn quan h>) tng ng
mnh WHERE trong SQL
Php chiu:
<thuc tnh>
(<tn quan h>) tng ng
mnh SELECT trong SQL
Cc php ton tp hp: Hp tng ng mnh
UNION trong SQL
Tch Descartes (R x S) tng ng mnh FROM
trong SQL
Kt (): l cc iu kin trong mnh WHERE
Equi-join: Tt c u l php so snh bng
Inner join, left join, right join: cng tn
185
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
Cc ton t s dng trong truy vn
Ton t so snh: =, >, <, >=, <=, <>
Ton t logic: AND, OR, NOT
Php ton s hc: +, - ,* , /
Khc:
BETWEEN
IS NULL
LIKE
IN
EXISTS
186
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
Ton t so snh
Cho bit nhng nhn vin c lng trn 2000
(MaNV, TenNV)
SELECT MaNV, TenNV
FROM NhanVien
WHERE Luong > 2000
Cho bit tn nhn vin v tn phng ban h trc
thuc
SELECT TenNV, TenPB
FROM NhanVien nv, PhongBan pb
WHERE nv.MaPB=pb.MaPB
187
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
Ton t so snh
Cho bit tn nhn vin trng phng v tn phng
ban h qun l
SELECT Tn trng phng=TenNV, TenPB
FROM NhanVien nv, PhongBan pb
WHERE nv.MaNV=pb.TrPhg
Cho bit tn trng phng c lng > 2000
SELECT Tn trng phng=TenNV
FROM NhanVien nv, PhongBan pb
WHERE nv.MaNV=pb.TrPhg AND
nv.Luong > 2000
188
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
Ton t BETWEEN
Cho bit tn v ngy sinh cc nhn vin c nm
sinh t 1965 n 1977
SELECT TenNV, NgaySinh
FROM NhanVien
WHERE (year(NgaySinh) BETWEEN 1965
AND 1977)
Cho bit tn v ngy sinh cc nhn vin sinh t
ngy 10 n 20 thng 8
SELECT TenNV, NgaySinh
FROM NhanVien
WHERE (day(NgaySinh) BETWEEN 10 AND
20) AND month(NgaySinh)=8
189
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
Ton t LIKE
So snh chui tng i
C php: s LIKE p, p c th cha % hoc _
% : thay th bt k chui k t no c chiu di
>=0
_ : thay th mt k t bt k
V d: cho bit cc nhn vin c h bt u
bng ch Ng
SELECT MaNV, HoNV, TenLot, TenNV
FROM NhanVien
WHERE HoNV LIKE Ng%
190
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
Ton t IN
Cho bit tn v ngy sinh cc nhn vin sinh vo
qu 3
SELECT TenNV, NgaySinh
FROM NhanVien
WHERE month(NgaySinh) in (7,8,9)
Cho bit tn cc nhn vin cha h c phn cng
n no
SELECT TenNV
FROM NhanVien
WHERE MaNV NOT IN (
SELECT MaNV
FROM PhanCong )
191
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
Mnh GROUP BY
Gom nhiu dng thnh cc nhm da trn
tp con ca cc thuc tnh
Tt c cc thnh vin ca nhm u tha
cc thuc tnh ny.
Mi nhm c m t bng mt dng cc
thuc tnh, c gii hn bi:
Cc thuc tnh chung ca tt c thnh vin thuc
nhm (c lit k trong mnh GROUP BY).
Cc php ton trn nhm.
192
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
n
h

m
Cc thuc tnh GROUP BY
a
a
b
b
c
c
c
c
c
d
d
d
Chia cc dng thnh cc
nhm da trn tp con
ca cc thuc tnh
193
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
Mnh GROUP BY
Cc hm SQL c bn
COUNT: m s b d liu trong nhm
MIN: Tnh gi tr nh nht ca thuc tnh trong
nhm
MAX: Tnh gi tr ln nht ca thuc tnh trong
nhm
AVG: Tnh gi tr trung bnh ca thuc tnh trong
nhm
SUM: Tnh tng gi tr cc b d liu trong nhm
194
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
Mnh GROUP BY: cho bit tng lng
tng phng ban
SELECT pb.TenPB, TL=SUM(nv.Luong)
FROM NhanVien nv, PhongBan pb
WHERE nv.MaPB = pb.MaPB
GROUP BY pb.TenPB
195
Lnh truy vn d liu
NHANVIEN
MAN
V
TENN
V
MAP
B
LUONG
001 Quyen QL 3.000.00
0
002 Tung NC 2.500.00
0
003 Nhan DH 2.500.00
0
004 Tien NC 2.200.00
0
005 Vu DH 2.200.00
0
006 Hung NC 2.000.00
0
007 Tam NC 2.200.00
0
008 Van NC 1.800.00
0
$4.3. Ngn ng thao tc d liu

nv.MaPB=pb.MaPB
15/03/200
2
002 Nghien
Cuu
NC
10/10/200
2
003 Dieu Hanh DH
22/05/200
0
001 Quan Ly QL
NGNC TRPH
G
TENPHG MAPH
G
PHONGBAN
1800000 Van Nghien Cuu
2200000 Tam Nghien Cuu
2000000 Hung Nghien Cuu
2200000 Vu Dieu Hanh
2200000 Tien Nghien Cuu
2500000 Nhan Dieu Hanh
2500000 Tung Nghien Cuu
3000000 Quyen Quan Ly
Luong TenNV TenPB
196
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
TenPB TenNV Luong
Quan Ly Quyen 3000000
Nghien Cuu Tung 2500000
Dieu Hanh Nhan 2500000
Nghien Cuu Tien 2200000
Dieu Hanh Vu 2200000
Nghien Cuu Hung 2000000
Nghien Cuu Tam 2200000
Nghien Cuu Van 1800000
Gom nhm
TenPB
TenN
V Luong
Quan Ly Quyen
300000
0
Dieu Hanh Nhan
250000
0
Dieu Hanh Vu
220000
0
Nghien
Cuu Tung
250000
0
Nghien
Cuu Tien
220000
0
Nghien
Cuu Hung
200000
0
Nghien
Cuu Tam
220000
0
Nghien
Cuu Van
180000
0
Tnh ton
trn tng
nhm
TenPB TL
Quan Ly 3000000
Dieu Hanh 4700000
Nghien
Cuu
1070000
0
197
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
Mnh HAVING
Lc kt qu theo iu kin, sau khi gom
nhm
iu kin ca HAVING l cc thuc tnh
trong danh sch GROUP BY v cc php tnh
ton khc.
198
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
Mnh GROUP BY: cho bit cc phng
ban c tng lng > 3 triu
SELECT pb.TenPB, TL=SUM(nv.Luong)
FROM NhanVien nv, PhongBan pb
WHERE nv.MaPB = pb.MaPB
GROUP BY pb.TenPB
HAVING SUM(nv.Luong) > 3000000
199
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
TenPB
TenN
V Luong
Quan Ly Quyen
300000
0
Dieu Hanh Nhan
250000
0
Dieu Hanh Vu
220000
0
Nghien
Cuu Tung
250000
0
Nghien
Cuu Tien
220000
0
Nghien
Cuu Hung
200000
0
Nghien
Cuu Tam
220000
0
Nghien
Cuu Van
180000
0
Tnh ton
trn tng
nhm
TenPB TL
Quan Ly 3000000
Dieu Hanh 4700000
Nghien
Cuu
1070000
0
Lc b cc
nhm
khng tha
TenPB TL
Dieu Hanh 4700000
Nghien
Cuu
1070000
0
200
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
Truy vn lng
Cc mnh SELECT c lng vo nhau
Kt qu ca cu SELECT bn trong s c
chuyn cho truy vn bn ngoi.
Truy vn ngoi cng s cho kt qu cui cng
Cc mnh SELECT c ni vi nhau bng
cc php so snh <,>,<>,=,>=,<=, IN,
EXISTS, ALL, ANY, SOME,
201
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
Truy vn lng
M s v tn cc nhn vin c s gi lm vic
nhiu nht
SELECT nv.MaNV, nv.TenNV, SUM(pc.ThoiGian)
FROM NhanVien nv, PhanCong pc
WHERE nv.MaNV = pc.MaNV
GROUP BY nv.MaNV, nv.TenNV
HAVING SUM(pc.ThoiGian) >= ALL (
SELECT SUM(ThoiGian)
FROM PhanCong
GROUP BY MaNV )
202
Lnh truy vn d liu
$4.3. Ngn ng thao tc d liu
SELECT SUM(ThoiGian)
FROM PhanCong
GROUP BY MaNV
MaN
V
Tong
TG
001 42.5
002 40
003 37.5
004 32.5
006 30.5
007 30
008 22.5
HAVING SUM(pc.ThoiGian) >= ALL
MaN
V
TenN
V
Tong
TG
001
Quye
n 42.5
002 Tung 40
003 Nhan 37.5
004 Tien 32.5
006 Hung 30.5
007 Tam 30
008 Van 22.5
MaN
V
TenN
V
Tong
TG
001
Quye
n 42.5
SELECTnv.TenNV, SUM(pc.ThoiGian)
FROM NhanVien nv, PhanCong pc
WHERE nv.MaNV = pc.MaNV
GROUP BY nv.TenNV
Nhp Mn C S D Liu
Minh ha SQH & SQL
204
1.Cho bit tn, a ch, in thoi ca tt c cc sinh
vin
KQ
Ten, DiaChi, DienThoai
(SinhVien)
SELECT Ten, DiaChi, DienThoai
FROM SinhVien
205
2.Cho bit tn v s tn ch ca cc mn hc
KQ
TenMH, SoTC
(MonHoc)
SELECT TenMH, SoTC
FROM MonHoc
206
3.Cho bit kt qu hc tp ca sinh vin c m
s SV03
KQ
MaKhoaHoc, Diem
(
MSSV=SV03
(KetQua))
SELECT MaKhoaHoc, Diem
FROM KetQua
WHERE MSSV=SV03
207
4.Cho bit tn v s tn ch ca cc mn hc c
m c dng: k t th 1 l C, k t th 3 l D
KQ
TenMH, SoTC
(
MaMH LIKE C?D*
(MonHoc))
SELECT TenMH, SoTC
FROM MonHoc
WHERE MaMH LIKE C?D*
208
9. Cho bit danh sch cc mn hc c dy
trong nm 2002
KQ
MaMH
(
Nam=2002
(GiangDay))
SELECT MaMH
FROM GiangDay
WHERE Nam=2002
209
10. Cho bit m, tn, a ch ca cc sv theo
tng khoa, sp A-Z theo tn sv
KQ
MaKhoa, MSSV, Ten, DiaChi
(SinhVien)
SELECT MaKhoa, MSSV, Ten, DiaChi
FROM SinhVien
ORDER BY MaKhoa ASC, Ten ASC
210
11. Cho bit im ca cc sv theo tng mn
hc
KQ
MSSV, MaMH, Diem
(KetQua GiangDay)
SELECT MSSV, MaMH, Diem
FROM KetQua kq, GiangDay gd
WHERE kq.MaKhoaHoc = gd.MaKhoaHoc
ORDER BY MaMH
211
12. Cho bit cc sv hc mn CSDL c im t 8
n 10
R1
MaMH=CSDL
(GiangDay)
R2 R1
MaKhoaHoc
KetQua
KQ
MSSV
(
8Diem10
(R2))
Create View v12CSDL AS
SELECT *
FROM GiangDay
WHERE MaMH=CSDL
SELECT MSSV
FROM KetQua kq, v12CSDL v
WHERE kq.MaKhoaHoc=v.MaKhoaHoc and
(Diem between 8 and 10)
212
12. Cho bit cc sv hc mn CSDL c im t 8
n 10
R1
MaMH=CSDL
(GiangDay)
R2 R1
MaKhoaHoc
KetQua
KQ
MSSV
(
8Diem10
(R2))
SELECT MSSV
FROM KetQua kq, GiangDay gd
WHERE kq.MaKhoaHoc=gd.MaKhoaHoc and
MaMH=CSDL and
(Diem between 8 and 10)
213
14. Cho bit tn khoa, tn mn hc m cc sv
trong khoa hc
R1
TenKhoa, MSSV
(Khoa
MaKhoa
SinhVien)
R2
TenKhoa, MaKhoaHoc
(R1
MSSV
KetQua)
R3
TenKhoa, MaMH
(R2
MaKhoaHoc
GiangDay)
KQ
TenKhoa, TenMH
(R3
MaMH
MonHoc)
SELECT TenKhoa, TenMH
FROM Khoa k, SinhVien sv, KetQua kq,
GiangDay gd, MonHoc mh
WHERE k.MaKhoa=sv.MaKhoa and
sv.MSSV=kq.MSSV and
kq.MaKhoaHoc=gd.MaKhoaHoc and
gd.MaMH=mh.MaMH
214
19. Cho bit m, tn cc sv c kt qu mt mn
hc no trn 8
R1
MSSV
(
Diem>8
(KetQua))
KQ
MSSV, Ten
(R1
MSSV
SinhVien)
SELECT sv.MSSV, Ten
FROM KetQua kq, SinhVien sv
WHERE kq.MSSV=sv.MSSV and
Diem > 8
215
20. Cho bit m, tn cc sv c kt qu cc mn
hc u trn 8
R1
MSSV
(
Diem8
(KetQua))
R2 (
MSSV
(SinhVien)) R1
KQ
MSSV, Ten
(R2
MSSV
SinhVien)
SELECT MSSV, Ten
FROM SinhVien
WHERE MSSV NOT IN (
SELECT MSSV
FROM KetQua
WHERE Diem <= 8
)
216
21. Cho bit c bao nhiu sv
KQ(SLSV)
COUNT(MSSV)
(SinhVien)
SELECT SLSV=COUNT(MSSV)
FROM SinhVien
217
23. Cho bit c bao nhiu sv n khoa CNTT
R1
PhaiNu=Yes MaKhoa=CNTT
(SinhVien)
KQ(SLSV)
COUNT(
MSSV)
(R1)
SELECT SLSV=COUNT(MSSV)
FROM SinhVien
WHERE PhaiNu=Yes and
MaKhoa=CNTT
218
28. Cho bit m, tn, a ch v im trung bnh
ca tng sv
R1(MSSV, DTB) MSSV
AVG(
Diem)
(KetQua)
KQ
MSSV, Ten, DiaChi, DTB
(R1
MSSV
SinhVien)
SELECT sv.MSSV, Ten, DiaChi,
DTB=AVG(Diem)
FROM KetQua kq, SinhVien sv
WHERE kq.MSSV=sv.MSSV
GROUP BY sv.MSSV, Ten, DiaChi
219
29. Cho bit s lng im>=8 ca tng sv
R1
Diem8
(KetQua)
R2(MSSV, SLDT8) MSSV
COUNT(
Diem)
(R1)
KQ
MSSV, SLDT8
(SinhVien
MSSV
R2)
Create View v29tam AS
SELECT MSSV,SLDT8'=COUNT(Diem)
FROM KetQua
WHERE Diem>=8
GROUP BY MSSV
SELECT SinhVien.MSSV, Ten, SLDT8
FROM SinhVien LEFT JOIN v29tam on
SinhVien.MSSV=v29tam.MSSV
220
33. Cho bit s lng tn ch ca tng sv
R1
MSSV, MaMH
(KetQua
MaKhoaHoc
GiangDay)
R2
MSSV, SoTC
(R1
MaMH
MonHoc)
R3(MSSV, TSTC) MSSV
SUM(SoTC)
(R2)
KQ
MSSV, Ten, TSTC
(R3
MSSV
SinhVien)
SELECT sv.MSSV, Ten, TSTC=SUM(SoTC)
FROM SinhVien sv, KetQua kq, GiangDay gd,
MonHoc mh
WHERE sv.MSSV=kq.MSSV and
kq.MaKhoaHoc=gd.MaKhoaHoc and
gd.MaMH=mh.MaMH
GROUP BY sv.MSSV, Ten
221
34. Cho bit tn nhng sv ch mi thi ng 1
mn hc
R1
MSSV, MaMH
(KetQua
MaKhoaHoc
GiangDay)
R2(MSSV, SLMH) MSSV
COUNT(MaMH)
(R1)
KQ
Ten
(
SLMH=1
(R2
MSSV
SinhVien))
Create View v34tam AS
SELECT Distinct MSSV, MaMH
FROM KetQua kq, GiangDay gd
WHERE kq.MaKhoaHoc = gd.MaKhoaHoc
SELECT Ten
FROM SinhVien sv, v34tam v
WHERE sv.MSSV=v.MSSV
GROUP BY Ten
HAVING COUNT(MaMH)=1
222
40. Cho bit tn mn hc c s tn ch nhiu
nht
R1(SoTCNN)
MAX(SoTC)
(MonHoc)
KQ
TenMH
(R1
SoTCNN=SoTC
MonHoc)
SELECT MaMH, TenMH, SoTC
FROM MonHoc
WHERE SoTC = ( SELECT MAX(SoTC)
FROM MonHoc
)
223
43. Cho bit m, tn, a ch ca cc sv c im
CSDL ln nht
R1
MaMH=CSDL
(KetQua
MaKhoaHoc
GiangDay)
R2
MSSV, Diem
(R1)
R3(DCSDLLN)
MAX(Diem)
(R2)
R4
MSSV
(R3
DCSDLLN=Diem
R2)
KQ
MSSV, Ten, DiaChi
(R4
MSSV
SinhVien)
SELECT sv.MSSV, Ten, DiaChi
FROM KetQua kq, GiangDay gd, SinhVien sv
WHERE kq.MaKhoaHoc=gd.MaKhoaHoc and
kq.MSSV=sv.MSSV and gd.MaMH=CSDL and
Diem = (SELECT MAX(Diem)
FROM KetQua kq, GiangDay gd
WHERE kq.MaKhoaHoc=gd.MaKhoaHoc and
gd.MaMH=CSDL )
224
45. Vi mi mn hc, cho bit tn, im ca
cc sv c im ln nht
R1
MaMH, Diem, MSSV
(KetQua
MaKhoaHoc
GiangDay)
R2(MaMH, DLN) MaMH
MAX(Diem)
(R1)
R3
MaMH,MSSV,Diem
(R2
DLN=Diem R1.MaMH=R2.MaMH
R1)
KQ
MaMH, Ten, Diem
(R3
MSSV
SinhVien)
Create View v45tam as
SELECT MaMH, 'DLN'=MAX(Diem)
FROM KetQua kq, GiangDay gd
WHERE kq.MaKhoaHoc=gd.MaKhoaHoc
GROUP BY MaMH
SELECT v.MaMH, Ten, Diem
FROM KetQua kq, GiangDay gd,
v45tam v, SinhVien sv
WHERE kq.MaKhoaHoc=gd.MaKhoaHoc and
sv.MSSV=kq.MSSV and
gd.MaMH=v.MaMH and
kq.Diem=v.DLN
225
45. Vi mi mn hc, cho bit tn, im ca
cc sv c im ln nht
R1
MaMH, Diem, MSSV
(KetQua
MaKhoaHoc
GiangDay)
R2(MaMH, DLN) MaMH
MAX(Diem)
(R1)
R3
MaMH,MSSV,Diem
(R2
DLN=Diem R1.MaMH=R2.MaMH
R1)
KQ
MaMH, Ten, Diem
(R3
MSSV
SinhVien)
SELECT gd.MaMH, Ten, Diem
FROM KetQua kq, GiangDay gd, SinhVien sv
WHERE kq.MaKhoaHoc=gd.MaKhoaHoc and
sv.MSSV=kq.MSSV and
Diem = ( SELECT MAX(Diem)
FROM KetQua kq, GiangDay gd1
WHERE kq.MaKhoaHoc=gd1.MaKhoaHoc and
gd1.MaMH=gd.MaMH
)
226
51. Tn cc gio vin khng tham gia ging dy
nm 2001
R1
MaGV
(
Nam=2001
GiangDay)
R2 (
MaGV
(GiaoVien)) - R1
KQ
TenGV
(R2
MaGV
GiaoVien)
SELECT TenGV
FROM GiaoVien
WHERE MaGV NOT IN (
SELECT MaGV
FROM GiangDay
WHERE Nam=2001
)
227
57. Tn sv, tn mn hc m sv cha hc
R1
MSSV, MaMH
(SinhVien X MonHoc)
R2
MSSV, MaMH
(KetQua
MaKhoaHoc
GiangDay)
R3 (R1 R2)
KQ
Ten, TenGV
(R3
MSSV
SinhVien)
MaGV
GiaoVien)
SELECT Ten, TenMH
FROM SinhVien sv, MonHoc
WHERE MaMH NOT IN (
SELECT MaMH
FROM KetQua kq, GiangDay gd
WHERE kq.MaKhoaHoc=gd.MaKhoaHoc
and kq.MSSV=sv.MSSV
)
228
61. Tn cc gio vin tham gia dy tt c mn
hc
R
MaGV, MaMH
(GiangDay)
S
MaMH
(MonHoc)
R3 R S
KQ
TenGV
(R3
MaGV
GiaoVien)
SELECT TenGV
FROM GiaoVien gv
WHERE NOT EXISTS (
SELECT *
FROM MonHoc mh
WHERE NOT EXISTS (
SELECT *
FROM GiangDay gd
WHERE gd.MaMH=mh.MaMH and gd.MaGV=gv.MaGV ) )
229
66. Tn cc sv hc tt c mn hc
R
MSSV, MaMH
(GiangDay
MaKhoaHoc
KetQua)
S
MaMH
(MonHoc)
R3 R S
KQ
Ten
(R3
MSSV
SinhVien)
SELECT Ten
FROM SinhVien sv
WHERE NOT EXISTS (
SELECT *
FROM MonHoc mh
WHERE NOT EXISTS (
SELECT *
FROM KetQua kq, GiangDay gd
WHERE kq.MaKhoaHoc=gd.MaKhoaHoc and
gd.MaMH=mh.MaMH and kq.MSSV=sv.MSSV ) )
230
68. Tn gio vin dy tt c mn do gio
vin GV03 dy
R
MaGV, MaMH
(GiangDay)
S
MaMH
(
MaGV=GV03
GiangDay)
R3 R S
KQ
TenGV
(R3
MaGV
GiaoVien)
SELECT Ten
FROM SinhVien sv
WHERE NOT EXISTS (
SELECT *
FROM GiangDay gd
WHERE MaGV=GV03 and NOT EXISTS (
SELECT *
FROM KetQua kq, GiangDay gd1
WHERE kq.MaKhoaHoc=gd1.MaKhoaHoc and
gd1.MaMH=gd.MaMH and kq.MSSV=sv.MSSV ) )
231
C S
C S

D
D

LIE
LIE

U
U
I HC TN C THNG
PHNG TRUNG CP CHUYN NGHIP & DY NGH
_oOo_
ThS.L Vn Hnh
Chng 5
RNG BUC TON VN
(Integrity Constraint)
233
Ni Dung
RNG BUC TON VN (RBTV) -
CC YU T CA RBTV
CC LOI RNG BUC TON VN
A)-BI CNH MT QUAN H
B)-BI CNH NHIU QUAN H
BIU DIN RBTV BNG PH THUC
HM
234
$5.1. RBTV & Cc yu t
RBTV l nhng iu kin bt bin lun phi
c m bo gia tt c cc b ca tt c cc
quan h
RBTV dng m t cc mi lin h, rng buc
gia cc b, cc thuc tnh
R1: Mi sinh vin c mt m s ring bit, khng
trng vi bt c sinh vin no khc.
R2: Mi sinh vin phi ng k vo 1 Khoa ca
Trng.
R3: Mi sinh vin ch c thi ti a 2 ln cho mt
mn hc.
235
$5.1. RBTV & Cc yu t
Mi RBTV gm 3 yu t:
iu kin
Ngn ng t nhin
M gi
i s tp hp, i s quan h
Bi cnh
L nhng quan h c RBTV cp n
Tm nh hng
Nhng thao tc trn bi cnh c th gy vi phm
RBTV
236
$5.1. RBTV & Cc yu t
Yu t tm nh hng ca RBTV
+/-/-(T) +/-/-(T) +/-/-(T) Qn

+/-/-(T) +/-/-(T) +/-/-(T) Q2
+/-/-(T) +/-/-(T) +/-/-(T) Q1
Xa Sa Thm
Cc thao tc
Cc quan h
237
$5.1. RBTV & Cc yu t
Yu t tm nh hng ca RBTV
R1: Mi sinh vin c mt m s ring bit, khng
trng vi bt c sinh vin no khc
sv1 T
SinhVien
, sv2 T
SinhVien
sv1 sv2 sv1.MaSV sv2.MaSV
Cui
R1 c bi cnh mt quan h
Thm Sa Xa
T
SinhVien
+ -(MaSV) -
238
$5.1. RBTV & Cc yu t
Yu t tm nh hng ca RBTV
R2: Mi sinh vin phi ng k vo 1 Khoa ca
Trng
sv T
SinhVien
, k T
Khoa
k.MaKhoa = sv.MaKhoa
Cui
R2 c bi cnh hai quan h
Thm Sa Xa
T
SinhVien
+ -(MaKhoa) -
T
Khoa
- -(MaKhoa) +
239
$5.1. RBTV & Cc yu t
Yu t tm nh hng ca RBTV
R3: Mi sinh vin ch c thi ti a 2 ln cho mt
mn hc
sv T
KetQua
!sv: MaSV, MaMH
COUNT(Diem)
(KetQua)>2
Cui
R3 c bi cnh mt quan h
Thm Sa Xa
T
KetQua
+ -(MaMH, MaSV) -
240
Ni Dung
RNG BUC TON VN (RBTV) - CC
YU T CA RBTV
CC LOI RNG BUC TON VN
A)-BI CNH MT QUAN H
B)-BI CNH NHIU QUAN H
BIU DIN RBTV BNG PH THUC
HM
241
$5.2. Cc loi RBTV
Bi cnh mt quan h
Min gi tr
Lin thuc tnh
Lin b
Bi cnh nhiu quan h
Ph thuc tn ti
Lin b - lin quan h
Lin thuc tnh lin quan h
Thuc tnh tng hp
Chu trnh
Cc bc xc nh RBTV
242
Bi cnh mt quan h
$5.2. Cc loi RBTV
Min gi tr:
Lin tc (trong 1 hoc nhiu khong)
im ca sinh vin phi trong [0..10]
kq T
KetQua
kq.Diem BETWEEN 0 AND 10
Cui
Ri rc
Quan h thn nhn phi l v, chng, con
tn T
ThanNhan
tn.QuanHe IN (Vo,Chong,Con)
Cui
Dng thc nh trc
243
Bi cnh mt quan h
$5.2. Cc loi RBTV
Lin thuc tnh:
iu kin rng buc gia cc thuc tnh
trong cng mt quan h
Xt lc quan h HangHoa(MaHH,
TenHH, GiaNhap, GiaBan), ta c RBTV:
Gi bn phi ln hn gi nhp
hh T
HangHoa
hh.GiaBan hh.GiaNhap
Cui
244
Bi cnh mt quan h
$5.2. Cc loi RBTV
Lin b:
iu kin rng buc gia cc b trong cng mt
quan h, rt ph bin
Thng thng loi rng buc ny l cc RBTV
c biu din bng ph thuc hm
Sinh vin ch c thi ln 2 khi thi ln 1
kq1, kq2 T
KetQua
kq1 kq2
kq1.MaSV=kq2.MaSV kq1.MaMH=kq2.MaMH
kq2.LanThi=2 kq1.LanThi=1
Cui
245
Bi cnh nhiu quan h
$5.2. Cc loi RBTV
Ph thuc tn ti
Cn c gi l RBTV kha ngoi, rt ph
bin
Gi : K
Q
l tp thuc tnh ca lc quan
h Q.
V K
R
l tp thuc tnh lm kha ni ca
lc quan h R.
K
Q
c xem l kha ngoi - hay,
K
q
ph thuc tn ti vo K
R
- khi :
1. K
Q
K
R
nhng K
Q
R
+
.
2. K
Q
K
R
.
246
Bi cnh nhiu quan h
$5.2. Cc loi RBTV
Lin b - lin quan h
Rng buc quy nh trn nhiu b gia
nhiu quan h vi nhau
V d: mi khoa phi c t nht mt sinh
vin
k T
Khoa
, sv T
SinhVien
sv.MaKhoa : sv.MaKhoa = k.MaKhoa
Cui
Khc bit vi ph thuc tn ti im: bt
buc phi c t nht mt
247
Bi cnh nhiu quan h
$5.2. Cc loi RBTV
Lin thuc tnh - lin quan h
Cho 2 lc quan h
HANGHOA(MaHH, TenHH, SLTon, DGVon)
CT_HOADON(SoHD, MaHH, SLBan, DGBan)
Ta c, SLBan SLTon, vy
cthd T
CT_HOADON
, hh T
HangHoa

cthd.MaHH=hh.MaHH
cthd.SLBan hh.SLTon
Cui
248
Bi cnh nhiu quan h
Thuc tnh tng hp
Gi tr thuc tnh A ca mt LQH Q c
tnh ton t mt hay nhiu thuc tnh ca
mt hay nhiu LQH khc
Cho 3 LQH
KHACHHANG(MaKH, TenCT, TienNo)
HOADON(SoHD, MaKH, NgayHD, TriGiaHD)
PHIEUTHU(SoPT, MaKH, NgayPT, SoTien)
$5.2. Cc loi RBTV

=


= =
Cuoi
SoTien TriGiaHD TienNo kh
PhieuThu pt HoaDon hd KhachHang kh
MaKH kh MaKH pt MaKH kh MaKH hd . . . .
.
, ,
249
Bi cnh nhiu quan h
Chu trnh
Cho 3 LQH
DatHang (SoDH, MaHH)
HoaDon (SoHD, SoDH)
CTHD (SoHD, MaHH)
C RBTV chu trnh th hin s lin quan gia:
A= T
DatHang
[SoDH, MaHH]
B= T
HoaDon
T
CTHD
[SoHD, MaHH]
$5.2. Cc loi RBTV
DatHang
HoaDon CTHD
SoDH
SoHD
MaHH
250
Bi cnh nhiu quan h
$5.2. Cc loi RBTV
Chu trnh
A= T
DatHang
[SoDH, MaHH]
B= T
HoaDon
T
CTHD
[SoHD, MaHH]
A = B: mt ha n c lp cho ng v s
lng hng ha ca 1 n t hng
B A: mt ha n c th giao hoc t hn s
lng hng c t
A B v B A: ha n giao hng ty khng cn
ng nhng mt hng hoc s lng t
DatHang
HoaDon CTHD
SoDH
SoHD
MaHH
251
Cc bc xc nh RBTV
$5.2. Cc loi RBTV
Bc 1: Lp bng m t cc RBTV
Gm cc table c trong L CSDL
Bi cnh Loi RBTV
SV Khoa GD
Table n
Min gi tr
R2
Lin thuc tnh
Lin b
R1 R3
Ph thuc tn ti
R11 R11
Lin b Lin quan h
Lin thuc tnh Lin quan h
Thuc tnh tng hp
Chu trnh
Nhiu quan h
Mt quan h
252
Cc bc xc nh RBTV
$5.2. Cc loi RBTV
Bc 2: Lp bng tm nh hng
C RBTV v kha ni trong quan h Q
Thm Sa Xa
Q
+ - -
C RBTV v min gi tr trong quan h Q Thm Sa Xa
Q
+ + -
C RBTV v lin thuc tnh trong quan h Q Thm Sa Xa
Q
+ + -
C RBTV v kha ngoi: R[a] Q[a] Thm Sa Xa
Q - + +
+ + -
253
Cc bc xc nh RBTV
$5.2. Cc loi RBTV
Bc 3: Lp bng tm nh hng tng hp
BNG TM NH HNG TNG HP CC RBTV
T
SinhVien
T
Khoa
T
KetQua
T S X T S X T S X
R1
+ - -
R2
+ + - - - +
R3
+ - -
254
Ni Dung
RNG BUC TON VN (RBTV) - CC
YU T CA RBTV
CC LOI RNG BUC TON VN
A)-BI CNH MT QUAN H
B)-BI CNH NHIU QUAN H
BIU DIN RBTV BNG PH
THUC HM
255
$5.3. Biu din RBTV bng Ph thuc hm

Kh
Kh

i ni
i ni

m ph
m ph

thu
thu

c h
c h

m
m
H tin Armstrong
Mt s bi ton
Xc nh kha
256
Khi nim ph thuc hm
$5.3. Biu din RBTV bng Ph thuc hm
Ph thuc hm (functional dependency) l
mt cng c dng biu din mt cch
hnh thc cc rng buc ton vn (vn tt:
rng buc). Phng php biu din ny c
rt nhiu u im, v y l mt cng c cc
k quan trng, gn cht vi l thuyt thit k
c s d liu.
Ph thuc hm c ng dng trong vic
gii quyt cc bi ton tm kha, tm
ph ti thiu v chun ha c s d liu.
257
Khi nim ph thuc hm
Quan h PhiCong din t phi
cng no li my bay no v
my bay khi hnh vo thi
gian no tun theo nhng
rng buc sau:
Mi my bay c mt gi
khi hnh duy nht.
Nu bit phi cng, bit
ngy gi khi hnh th bit
c my bay do phi cng
y li.
Nu bit my bay, bit
ngy khi hnh th bit phi
cng li chuyn bay y.
PHICONG PHICONG MBAY MBAY NGKH NGKH GKH GKH
Cushing 83 9/8 10:15a
Cushing 116 10/8 1:25p
Clark 281 8/8 5:50a
Clark 301 12/8 6:35p
Clark 83 11/8 10:15a
Chin 83 13/8 10:15a
Chin 116 12/8 1:25p
Copely 281 9/8 5:50a
Copely 281 13/8 5:50a
Copely 412 15/8 1:25p
$5.3. Biu din RBTV bng Ph thuc hm
258
Khi nim ph thuc hm
$5.3. Biu din RBTV bng Ph thuc hm
Cc rng buc ny l cc v d v ph thuc
hm v c pht biu li nh sau:
MAYBAY xc nh GIOKH
{PHICONG,NGAYKH,GIOKH} xc nh MABAY
{MAYBAY,NGAYKH} xc nh PHICONG
hay
GIOKH ph thuc hm vo MAYBAY
MABAY ph thuc hm vo
{PHICONG,NGAYKH,GIOKH}
PHICONG ph thuc hm vo
{MAYBAY,NGAYKH}
259
Khi nim ph thuc hm
nh ngha: Cho mt quan h R.
R.Y l ph thuc xc nh vo R.X
nu mi gi tr-X c kt hp vi
chnh xc mt gi tr-Y (vo bt k thi
im no).
X, Y c th l tp cc thuc tnh.
K hiu: X Y.
c l: X xc nh (hm) Y.
$5.3. Biu din RBTV bng Ph thuc hm
260
Khi nim ph thuc hm
$5.3. Biu din RBTV bng Ph thuc hm
Cho lc quan h Q vi tp thuc tnh Q+.
X, Y, Z l tp hp con ca Q
+
tho 2 iu
kin
X Y c gi l 1 ph thuc hm nh
ngha trn Q nu:
q1, q2 TQ : q1.X = q2.X q1.Y = q2.Y
Vi TQ l 1 quan h bt k nh ngha trn Q.

=

+
Z Y X Q
Y X,
261
Khi nim ph thuc hm
$5.3. Biu din RBTV bng Ph thuc hm
Cho lc quan h:
SinhVien(MaSV, HoTenSV,
MaKhoa)
Ta thy:
MaSV HoTenSV l ph thuc hm
ng.
HoTenSV MaSV l ph thuc hm
sai.
262
Khi nim ph thuc hm
$5.3. Biu din RBTV bng Ph thuc hm
Ph thuc hm y :
Cho tp ph thuc hm F nh ngha trn lc
quan h R. XY l mt ph thuc hm
trong F.
XY c gi l ph thuc hm y nu Y
khng ph thuc hm vo tp con khc rng Z
no ca X, ngha l Z X, Z <> , Z Y
Cho F = {ABC, AC}. Ta c, ABC
khng phi l ph thuc hm y . AC
l ph thuc hm y .
263
Khi nim ph thuc hm
$5.3. Biu din RBTV bng Ph thuc hm
Ph thuc hm hin nhin (ph thuc
hm tm thng):
Cho lc quan h R(XY)
X X l ph thuc hm hin nhin
VD: MaSV MaSV
Cho F l tp ph thuc hm nh ngha
trn R, khng cn m t nhng ph
thuc hm hin nhin trong F.
264
Khi nim ph thuc hm
$5.3. Biu din RBTV bng Ph thuc hm
Tnh chiu:
Cho 2 lc quan h R(W) v Q(V),
VW, VW
f: X Y l mt PTH nh ngha trn R,
XV
Ta ni Q tha X (YV)
V d:
R(ABCD), F: ABC, CD; Q(ABC)
Ta ni Q cng tha ABC
265
Khi nim ph thuc hm
$5.3. Biu din RBTV bng Ph thuc hm
Tnh phn chiu:
Cho 2 lc quan h R(W) v Q(V),
WV, VW
f: X Y l mt PTH nh ngha trn R
Ta ni Q tha X Y
V d:
R(ABC), F: ABC; Q(ABCD)
Ta ni Q cng tha ABC
266
Khi nim ph thuc hm
$5.3. Biu din RBTV bng Ph thuc hm
Ph thuc hm suy din:
Cho lc quan h R, tp ph thuc hm F nh
ngha trn R
Ph thuc hm XY l c suy din t F nu
mi quan h r(R) tha F th tha XY
K hiu: F XY
V d:
SV(MaSV,HoTen,SoCMND)
F = {MaSVSoCMND, SoCMNDHoTen}
Nu mi sv(SV) tha F cng tha MaSVHoTen
Vy MaSVHoTen l PTH suy din t F
267
$5.3. Biu din RBTV bng Ph
thuc hm

Kh
Kh

i ni
i ni

m ph
m ph

thu
thu

c h
c h

m
m
H tin Armstrong
Mt s bi ton
Xc nh kha
268
H tin Armstrong
$5.3. Biu din RBTV bng Ph thuc hm
Do Armstrong a ra ln u vo nm 1974.
L mt tp cc quy tc suy din p dng cho
ph thuc hm.
Cho lc quan h R vi tp thuc tnh U,
k hiu R(U), v tp ph thuc hm F c
nh ngha trn R.
Cc quy tc suy din trong h tin
Armstrong c pht biu nh sau:
269
H tin Armstrong
$5.3. Biu din RBTV bng Ph thuc hm
O Lut phn x Y X X Y
X Y
O Lut tng trng
Z U
}
XZ YZ
X Y
O Lut bc cu
Y Z
}
X Z
X Y
O Lut hp
X Z
}
X YZ
X Y
O Lut phn r
Z Y
}
X Z
X Y
O Lut bc cu gi
YW Z
}
XW Z
270
H tin Armstrong
$5.3. Biu din RBTV bng Ph thuc hm
Chng minh:
O Hin nhin l ng. V khng th tn ti hai b t1, t2
bt k thuc mt quan h R ging nhau trn X nhng li
khc nhau mt tp con no ca X.
O t R(U) l mt quan h tha {X Y}; t1, t2 l
hai b thuc R v Z U. Ta c: nu t1.X = t2.X th
t1.Y = t2.Y.
Gi s R khng tha XZ YZ, ngha l t1.XZ = t2.XZ
v t1.YZ t2.YZ. Nhng chc chn t1 v t2 khng
th khc nhau Z nn chng phi khc nhau Y.
iu ny dn n R khng tha X Y tri vi gi
thit.
Vy R phi tha XZ YZ, tc nu X Y ng th XZ
YZ ng
271
H tin Armstrong
$5.3. Biu din RBTV bng Ph thuc hm
Chng minh:
O t R(U) l mt quan h tha {X Y, Y
Z}, t1, t2 l hai b thuc R.
Nu t1.Y t2.Y th r rng l R vi phm X Y, iu
ny tri vi bi ban u. Nu t1.Y = t2.Y th XZ
sai l do t1.Z t2.Z, iu ny dn n R vi phm Y
Z. Vy R phi tha XZ.
O T chng minh
O T chng minh
O T chng minh
272
$5.3. Biu din RBTV bng Ph
thuc hm

Kh
Kh

i ni
i ni

m ph
m ph

thu
thu

c h
c h

m
m
H tin Armstrong
Mt s bi ton
Xc nh kha
273
Mt s bi ton
$5.3. Biu din RBTV bng Ph thuc hm
Bao ng tp ph thuc hm F
+

Closure(F)
Bao ng tp thuc tnh X
+

Closure(X)
Bi ton thnh vin Member
Tp ph thuc hm tng ng
Ph ti thiu
274
Bao ng tp PTH F
+
Cho lc quan h R(U), F l tp ph
thuc hm c nh ngha trn R.
Bao ng ca F, k hiu l F
+
, l tp
hp tt c cc ph thuc hm c suy
din (khng nh logic) t F da vo h
tin Armstrong.
Vy F chnh l mt tp con ca F+.
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
275
Bao ng tp PTH F
+
Xt tp ph thuc hm F={AB
1
,AB
2
,,
AB
n
}.
Ta c: F
+
={AY
i
| Y
i
{B
1
,B
2
,,B
n
}}
F
+
c 2
n
ph thuc hm
Thng thng, chng ta ch mun bit mt
ph thuc hm X Y c thuc F+ hay khng?
Ngha l X Y c c suy din t F hay
khng? iu ny c th c gii quyt d
dng bng bi ton thnh vin.
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
276
Mt s bi ton
$5.3. Biu din RBTV bng Ph thuc hm
Bao ng tp ph thuc hm F
+

Closure(F)
Bao ng tp thuc tnh X
+

Closure(X)
Bi ton thnh vin Member
Tp ph thuc hm tng ng
Ph ti thiu
277
Bao ng tp thuc tnh
Cho lc quan h R(U), tp ph thuc
hm F.
X l tp con ca U, X U
Bao ng ca tp thuc tnh X trn F, k
hiu , hay Closure(X, F)
Closure(X,F) = {A U | X A F
+
}
+
F
X
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
278
Bao ng tp thuc tnh
Thut ton tm Closure(X,F)
Vo: Tp thuc tnh X v tp ph thuc hm F
Ra: closure(X,F)
Begin
TpC =
TpMi = X
While TpMi <> TpC do Begin
TpC = TpMi
For each pth W Z F do
If W TpMi then TpMi = TpMi Z
End { if }
End { for}
End { while}
Return ( TpMi )
End
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
279
Bao ng tp thuc tnh
Cho lc quan h Q(ABCDEGH) v
tp ph thuc hm:
F = {f1: BA, f2: DACE, f3: DH,
f4: GHC, f5: ACD}
Cho X={BDC}
Tm Closure(X,F)
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
280
Bao ng tp thuc tnh
TpC=, TpMi={BDC}
f1:BA,
BTpMiTpMi={BDC}{A}
f2:DACE,
DATpMiTpMi={BDCA}{E}
f3:DH,
DTpMiTpMi={BDCAE}{H}
f4:GHC,GHTpMi
f5:ACD, ACTpMi, DTpMi
Closure(X,F) = {BDCAEH}
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
281
Mt s bi ton
$5.3. Biu din RBTV bng Ph thuc hm
Bao ng tp ph thuc hm F
+

Closure(F)
Bao ng tp thuc tnh X
+

Closure(X)
Bi ton thnh vin Member
Tp ph thuc hm tng ng
Ph ti thiu
282
Bi ton thnh vin
Cho lc quan h R(U), tp ph thuc
hm F c nh ngha trn R.
Bi ton thnh vin l bi ton kim tra
mt ph thuc hm f c thuc bao ng
tp ph thuc hm F
+
hay khng?
Hay, xc nh PTH f c c suy din t
tp PTH F hay khng?
K hiu: F f
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
283
Bi ton thnh vin
Thut ton kim tra thnh vin
Vo: F v f:XY
Ra: ng nu F X Y v sai nu ngc li.
MEMBER ( F, XY)
Begin
If Y Closure(X, F) then
Return ( true );
Return ( false );
End.
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
284
Bi ton thnh vin
Cho lc quan h R (A,B,C,D,E,G,H)
v tp cc ph thuc hm F =
{f1:ABC, f2:BD, f3:CDE,
f4:CEGH, f5: GA}. p dng h tin
Amstrong, xc nh
F ABE?
Gii ?
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
285
Bi ton thnh vin
Gii
1. ABC (cho trc - ph thuc hm f1)
2. ABAB (lut phn x)
3. ABB (lut phn r)
4. BD(cho trc - ph thuc hm f2)
5. ABD (bc cu 3 & 4)
6. ABCD (hp 1 & 5)
7. CDE (cho trc - ph thuc hm f3)
8. ABE (bc cu 6 & 7).
9. Kt thc.
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
286
Bi ton thnh vin
Cho lc quan h R
(A,B,C,D,E,G,H,I,J) v tp cc ph thuc
hm F = {f1:ABE, f2:AGJ, f3:BEI,
f4:EG, f5:GIH }. Xc nh F
ABGH?
Gii ?
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
287
Bi ton thnh vin
Gii
1. ABE (cho trc - ph thuc hm f1)
2. ABAB (phn x)
3. ABB (lut phn r )
4. ABBE (hp ca 1 & 3)
5. BEI (cho trc - ph thuc hm f3)
6. ABI (bc cu 4 & 5)
7. EG(cho trc - ph thuc hm f4)
8. ABG (bc cu 1 & 7)
9. ABGI (hp 6 & 8)
10. GIH (cho trc - ph thuc hm f5)
11. ABH (bc cu 9 & 10)
12. ABGH (hp 8 & 11)
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
288
Mt s bi ton
$5.3. Biu din RBTV bng Ph thuc hm
Bao ng tp ph thuc hm F
+

Closure(F)
Bao ng tp thuc tnh X
+

Closure(X)
Bi ton thnh vin Member
Tp ph thuc hm tng ng
Ph ti thiu
289
Tp PTH tng ng
Cho lc quan h R(U), tp PTH F, G
c nh ngha trn R
Hai tp ph thuc hm F v G c cho
l tng ng, k hiu F G, nu
F
+
=G
+
Ngha l, F G F G v G F
F G g G, F g
G F f F, G f
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
290
Tp PTH tng ng
Thut ton xc nh F G
Vo: hai tp ph thuc hm F v G
Ra: ng nu F G v sai nu ngc li.
DERIVES (F,G)
Begin
V:= true
For each X Y G do
V := V AND MEMBER(F, X Y)
Return (V);
End.
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
291
Tp PTH tng ng
Thut ton xc nh F G
Vo: hai tp ph thuc hm F v G
Ra: ng nu F tng ng G, sai nu khng
EQUI ( F, G)
Begin
V := DERIVES(F,G) AND DERIVES(G,F)
Return (V)
End.
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
292
Tp PTH tng ng
Cho G = {ABC, AB, BC, AC}
F = {ABC, AB, BC}
F G ?
Gii
G F? ng nhin.
F G? Xt F AC?
AB, BC, lut bc cu AC
Vy F G
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
293
Mt s bi ton
$5.3. Biu din RBTV bng Ph thuc hm
Bao ng tp ph thuc hm F
+

Closure(F)
Bao ng tp thuc tnh X
+

Closure(X)
Bi ton thnh vin Member
Tp ph thuc hm tng ng
Ph ti tiu
294
Ph ti tiu
y l bi ton quan trng thng cn
phi gii quyt khi chun ha CSDL.
Cho lc quan h R(U) v tp ph
thuc hm F c nh ngha trn R
Tp ph thuc hm G c gi l ph
ti tiu ca F nu tha cc tnh cht sau:
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
295
Ph ti tiu
1. F G
2. Cc ph thuc hm trong G c v phi ch
gm 1 thuc tnh
3. Vi mi ph thuc hm XAG, khng
tn ti mt tp con thc s Z ca X sao cho
G\{XA}{Z A} G
4. Khng tn ti bt k mt ph thuc hm
XA no trong G sao cho G \ {X A}
G
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
296
Ph ti tiu
Thut ton tm ph ti tiu
Vo: tp ph thuc hm F - Ra: G l ph ti thiu ca
F
MINIMALCOVER(F,G)
1. G := F
2. Dng lut phn r m bo v phi cc ph thuc hm ch
gm 1 thuc tnh.
3. For each XA trong G
For each B X
If (G { XA} ) ( X {B})A) G Then
Thay XA bng ( X {B})A trong G
4. For each XA trong G
If ( G { XA} ) G then
Loi XA khi G
5. Return (G)
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
297
Ph ti tiu
Cho lc quan h Q(ABCDEHG),
F={ABC,ABCD,CB,DEG,HD,
BD}
1. G = F
2. G={ABC,ABCD,CB,DE,DG,
HD,BD}
3. G={ABC,CB,DE,DG,HD,BD}
4. G={ABC,CB,DE,DG,HD,BD}
$5.3. Biu din RBTV bng Ph thuc hm
Mt s bi ton
298
$5.3. Biu din RBTV bng Ph thuc hm

Kh
Kh

i ni
i ni

m ph
m ph

thu
thu

c h
c h

m
m
H tin Armstrong
Mt s bi ton
Xc nh kha
299
Xc nh kha
$5.3. Biu din RBTV bng Ph thuc hm
Thut ton 1
1. Xy dng 2
n
tp con ca Q+ bng phng
php ng chy nh phn.
2. Xy dng tp S cha tt c cc siu kha
ca Q, S = {Si | (Si)
+
= Q
+
}.
3. Xy dng tp K cha tt c cc kha ca Q
t tp siu kha S bng cch loi b khi S
nhng siu kha Si khng ti tiu.
300
Xc nh kha
$5.3. Biu din RBTV bng Ph thuc hm
Cho lc Q(ABC) v F={ABC,CA}
Kha K={BC, AB}
A B C Xi Xi,F+
0 0 0
0 0 1 C AC
0 1 0 B B
0 1 1 BC ABC = Q+
1 0 0 A A
1 0 1 AC AC
1 1 0 AB ABC = Q+
1 1 1 ABC
ABC
= Q+
301
Xc nh kha
$5.3. Biu din RBTV bng Ph thuc hm
Thut ton 2
Vo: R(U) , F
Ra : K ( kha )
Bc 1: Gn K = U
Buc 2: Lp :
Loi khi K phn t A m
Closure( K - A,F ) = U
Thut ton trn ch tm c mt kha.
Nu cn tm nhiu kha, ta thay i trt t
loi b cc phn t ca K.
302
Xc nh kha
$5.3. Biu din RBTV bng Ph thuc hm
Cho R = { A,B,C,D,E,G,H,I}, F= { ACB,
BIACD, ABCD, HI, ACEBCG, CGAE}
Tm K ?
Bc 1: Gn K = R = {A,B,C,D,E,G,H,I}
Bc 2: Ln lt loi bt cc thuc tnh ca K
Loi phn t A: ta c {B,C,D,E,G,H,I}
+
= R v
pth CG AE khin A thuc v {B,C,D,E,G,H,I}
+
nn K = {B,C,D,E,G,H,I}.
Loi phn t B, ta c {C,D,E,G,H,I}
+
= R v pth
CG AE khin A thuc v {C,D,E,G,H,I}
+
v pth
AC B nn K {C,D,E,G,H,I}.
Loi phn t C, ta c {D,E,G,H,I}
+
R nn K vn
l {C, D,E,G,H,I}
303
Xc nh kha
$5.3. Biu din RBTV bng Ph thuc hm
Loi phn t D, ta c: {C, E,G,H,I}
+
= R v pth CG
AE khin A thuc v {C, E,G,H,I}
+
v pth AC B
nn K ={C,E,G,H,I}.
Loi phn t E, ta c: {C, G,H,I}
+
= R v pth CG
AE, AC B , ABC D nn K ={C,G,H,I}.
Loi phn t G, ta c: {C, H,I}
+
R nn K vn l
{C,G,H,I}.
Loi phn t H, ta c: {C, G,I}
+
R nn K vn l
{C,G,H,I}.
Loi phn t I, ta c: {C,G,H}
+
= R v CG AE,
ACB, ABC D nn K={C,G,H}.

V
V

y K={ C,G,H } l
y K={ C,G,H } l

m
m

t kh
t kh

a c
a c

a R
a R
304
Xc nh kha
$5.3. Biu din RBTV bng Ph thuc hm
Thut ton 3 (ci tin da trn tng
phn loi thuc tnh). AU, phn A vo:
Ngun (k hiu N): nu A khng thuc v phi
ca bt k PTH khng hin nhin no ca F. Nhng
thuc tnh khng xut hin trong tt c nhng PTH
u phi a vo y.
ch (k hiu D): nu A khng thuc Ngun v A
khng thuc v tri ca bt k PTH khng hin
nhin no ca F.
Trung Gian (k hiu L): nu A khng thuc
Ngun v cng khng thuc ch.
305
Xc nh kha
$5.3. Biu din RBTV bng Ph thuc hm
Nu Z l kha ca Q th Z cha tt c cc
thuc tnh Ngun v khng cha bt k
thuc tnh ch no.
Bc 1: Xc nh tp N
Bc 2: Nu (N)
+
=Q
+
Q c mt kha
duy nht dng.
Bc 3: Xc nh L. Thc hin cc bc
nh thut ton 1 nhng ch xt n cc
thuc tnh thuc tp N v L.
306
Xc nh kha
$5.3. Biu din RBTV bng Ph thuc hm
Q(ABCDE), F={CEAB, BDE}
Bc 1: N={C}
Bc 2: (N)
+
= (C)
+
= {C}
Bc 3: L={B,E}, D={A,D}
N
X
i
Super Key
B E C A B C D E
0 0 1 C C
0 1 1 C E A B C D E = Q+
1 0 1 C B A B C D E = Q+
1 1 1 C BE A B C D E
= Q+
L (X
i
)
+
F
Nhp Mn C S D Liu
Minh ha bi tp ph thuc hm
308
Chng 5 Bi B1
Cho lc quan h R (ABCDEGH) , quan h
r xc nh trn R v tp ph thuc hm:
F = {AB C, B D, CD E,
CE GH, G A}
S dng cc lut dn trong h tin
Amstrong, chng minh rng nu r tha F th
cng tha:
B.1.1.- AB E
B.1.2.- AB G.
309
F = {ABC, BD,CDE, CEGH,GA} ABE ?
1. ABC (gt)
2. BD (gt)
3. BCCD (tng trng)
4. ABCD (bc cu gi 1&3)
5. CDE (gt)
6. ABE (bc cu 4&5)
7. pcm
Chng 5 Bi B1
310
F = {ABC, BD,CDE, CEGH,GA}
ABG ?
1. ABC (gt)
2. BD (gt)
3. BCCD(tng trng)
4. ABCD(bc cu gi 1&3)
5. CDE (gt)
6. CDCE (tng trng)
7. CEGH(gt)
8. ABGH(bc cu 4&6&7)
9. ABG (phn r)
10. pcm
Chng 5 Bi B1
311
Chng 5 Bi B2
Cho lc quan h R (ABCDE) v tp
ph thuc hm :
F = {AB, CD, BDE}
S dng cc lut dn trong h tin
Amstrong, CMR ACE.
1. AB (gt)
2. BDE (gt)
3. ADE (bc cu gi 1&2)
4. CD (gt)
5. ACE (bc cu gi 3&4) pcm
312
Chng 5 Bi B3
3.1. Cho lc quan h R (ABCD):
Vi C B v tp ph thuc hm
F = {AB, CD}. CMR: AD.
1. C B (gt)
2. BC (phn x)
3. AB (gt)
4. AC (bc cu 3&2)
5. CD (gt)
6. AD (bc cu 4&5) pcm.
313
Chng 5 Bi B3
3.2. Cho lc quan h R (ABCD):
F = {ABC, DB, CABD}
ABD thuc F
+
?
1. ABC (gt)
2. CABD (gt)
3. CD (phn r)
4. ABD (bc cu 1&3)
5. Vy ABD thuc F
+
. pcm.
314
Chng 5 Bi B4
Cho lc quan h Q (ABCDEG), v F =
{ABE, AGD, BED, EG,
GDC }. CMR: ABGC
1. ABE(gt)
2. EG (gt)
3. ABG (bc cu 1&2)
4. BED(gt)
5. ABD (bc cu gi 1&4)
6. ABGD (hp 3&5)
7. GDC (gt)
8. ABC (bc cu 6&7)
9. ABGC (hp 3&8) pcm.
315
Chng 5 Bi B5.2
F = {AD, ABDE, CEG, EH}
Tm (AB)
F
+
.
1. (AB)
F
+
= AB
2. (AB)
F
+
= ABDE (do PTH ABDE)
3. (AB)
F
+
= ABDEH (do PTH EH)
4. Khng tm thm c thuc tnh no
(AB)
F
+
= ABDEH
316
Chng 5 Bi B5.6.1
F = {ABC, BD, CDE, CEGH,
GA}. Tm (AB)
F
+
.
1. (AB)
F
+
= AB
2. (AB)
F
+
= ABC (do PTH ABC)
3. (AB)
F
+
= ABCD (do PTH BD)
4. (AB)
F
+
= ABCDE (do PTH CDE)
5. (AB)
F
+
= ABCDEGH (do PTH CEGH)
317
Chng 5 Bi B6.1
Chng minh tnh ng n ca lut
sau: Nu XY, ZW th XZYW.
1. XY (gt)
2. XZYZ (tng trng)
3. ZW (gt)
4. YZYW (tng trng)
5. XZYW (bc cu 2&4) pcm.
318
Chng 5 Xc nh PTH tha
B1: Phn r F ch c cc ph thuc hm m v
phi gm 1 thuc tnh.
B2: Tm v loi b cc ph thuc khng y .
B3: Ln lt xt tng ph thuc hm c trong F.
i vi mi ph thuc hm (Fi):
Khng dng n ph thuc hm ang xt, tnh bao
ng ca tp thuc tnh v tri ca Fi.
Nu bao ng ca tp thuc tnh trong v tri ca Fi :
C cha thuc tnh v phi ca Fi th Fi tha.
Khng cha cc thuc tnh v phi ca Fi th Fi khng tha.
319
Chng 5 Bi D1 xc nh PTH tha
D1.1. Q(ABC), F={AB, BA, BC, CB,
AC, CA}
1. F={AB, BA, BC, CB, AC, CA}
2. F={AB, BA, BC, CB, AC, CA}
3. AB, (A)
F
+
=ACBtha
F={BA, BC, CB, AC, CA}
4. BA, (B)
F
+
=BCAtha
F={BC, CB, AC, CA}
5. BC, (B)
F
+
=Bkhng tha
6. CB, (C)
F
+
=CAkhng tha
7. AC, (A)
F
+
=Akhng tha
8. CA, (C)
F
+
=CBkhng tha
9. F={BC, CB, AC, CA}
A
B
C
2
1
5
6
3
4
320
Chng 5 Bi D1 xc nh PTH tha
Q(A B C D) vi
F = {ABD,AC,CB,ABC}
1. F={AB, AD, AC, CB, ABC}, b ABC
2. F={AB, AD, AC, CB}
3. AB, (A)
F
+
=ADCBtha
F={AD, AC, CB}
4. AD, (A)
F
+
=ACBkhng tha
5. AC, (A)
F
+
=ADkhng tha
6. CB, (C)
F
+
=Ckhng tha
7. F={AD, AC, CB}
A
B
C
1
D
2
3
4
321
Chng 5 Bi D1 xc nh PTH tha
Q(A B C D) vi
F = {AC, CA, ADB, BCD, ABD,
CD B}
1. F = {AC, CA, ADB, BCD, ABD, CD B}
2. F = {AC, CA, ADB, BCD, ABD, CD B}
3. AC, (A)
F
+
=Akhng tha
4. CA, (C)
F
+
=Ckhng tha
5. ADB, (AD)
F
+
=ADCBtha
F = {AC, CA, BCD, ABD, CD B}
6. BCD, (BC)
F
+
=BCADtha
F = {AC, CA, ABD, CD B}
7. ABD, (AB)
F
+
=ABCkhng tha
8. CDB, (CD)
F
+
=CDAkhng tha
9. F = {AC, CA, ABD, CD B}
322
Chng 5 Tp PTH tng ng
Q (A B C D), F G ?
F = {AB, AC, BA, BC, CA}
G = {AB, BC, CA}
1. R v phi ca F sao cho ch c 1 th/tnh
2. F = F\G = {AC, BA}, CM G F.
3. f1: AC, (A)
G
+
= ABC G f1
4. f2: BA, (B)
G
+
= BCA G f2
5. G F
6. Vy, F G. pcm
323
Chng 5 Ph ti tiu
Cho tp ph thuc hm F nh ngha trn lc
quan h R.
Ph ti tiu ca F l mt tp ph thuc hm G
tha 3 tnh cht sau :
1. F G
2. G ch c cc ph thuc hm m v phi gm 1 thuc
tnh. V d:
AB C c
A BC khng, v v phi c 2 th/tnh.
3. G khng c ph thuc hm tha.
p dng cc bc loi PTH tha v tm tp PTH
tng ng tm ph ti tiu.
324
Chng 5 Tm kha
Thuc tnh ngun : (k hiu l N) nu A khng xut
hin v phi ca bt k ph thuc hm khng hin
nhin no ca F. Nhng thuc tnh khng xut hin
trong tt c cc ph thuc hm phi c a vo tp
ny.
Thuc tnh ch : (k hiu l D) nu A khng phi
thuc tnh ngun v A khng xut hin v tri ca bt
k ph thuc hm khng hin nhin no ca F.
Thuc tnh khng phi ngun v cng khng phi
ch:( k hiu l L) nu A khng phi thuc tnh ngun
v cng khng phi thuc tnh ch.
Thut ton
Bc 1 : Xc nh tp N v tp L.
Bc 2 : Thc hin cc bc nh trong thut ton nguyn
thy nhng ch xt n cc thuc tnh c trong N vi cc
thuc tnh c trong L.
325
Chng 5 Tm kha
E3.1. Q(ABCDEG), F = {AEC, CGA,
BDG, GAE}
N={BD}, L={A,C,E,G}
(BD)
F
+
Q
+
(BDA)
F
+
= Q
+
siu kha
(BDC)
F
+
= Q
+
siu kha
(BDE)
F
+
Q
+
(BDG)
F
+
Q
+
(BDEG)
F
+
Q
+
Vy c 2 kha: {ABD, BCD}
326
Chng 5 Chun ha
C.1.1. Q(A B C) vi tp F nh sau:
F ={A B, C B, B C}
1. Q+ = {A,B,C}, F = {A->B ; C->B ; B->C}, Keys={A}
2. Ly ph ti tiu: F = {A->B ; C->B ; B->C}
3. Chn PTH C->B vB->C to quan h mi:
Q1+ = {C,B}, F = {C->B ; B->C}, Keys={C ; B}
4. Chn PTH A->B to quan h mi:
Q2+ = {A,B}, F = {A->B}, Keys={A}
5. Vy, t lc ban u, ta phn r thnh cc lc
quan h sau:
6. Q1(CB), F={C->B, B->C}, Keys={C,B}, 3NF
7. Q2(AB), F={A->B}, Keys={A}, 3NF
327
Chng 5 Chun ha
C.1.5. Q(ABCDEGH) vi tp F nh sau:
F={BGD, DH, GHC, BA, BC E}
Q+={ABCDEGH}, F={BG->D,D->H,GH->C,B->A,BC->E}, Keys={BG}
Ly ph ti tiu:F = {BG->D,D->H,GH->C,B->A,BC->E}
Chn PTH B,G->D to quan h mi:Q1(BGD), F = {BG->D}, Keys={BG}
Chn PTH D->H to quan h mi:Q2(DH), F = {D->H}, Keys={D}
Chn PTH G,H->C to quan h mi:Q3(GHC), F = {GH->C}, Keys={GH}
Chn PTH B->A to quan h mi:Q4(BA), F = {B->A}, Keys={B}
Chn PTH B,C->E to quan h mi:Q5(BCE), F = {BC->E}, Keys={BC}
Vy, t lc ban u, ta phn r thnh cc lc quan h sau:
Q1(B,G,D), F = {BG->D}, Keys={BG}
Q2(D,H), F = {D->H}, Keys={D}
Q3(G,H,C), F = {GH->C}, Keys={GH}
Q4(B,A), F = {B->A}, Keys={B}
Q5(B,C,E), F = {BC->E}, Keys={BC}
328
C S
C S

D
D

LIE
LIE

U
U
I HC TN C THNG
PHNG TRUNG CP CHUYN NGHIP & DY NGH
_oOo_
ThS.L Vn Hnh
Chng 6
CHUN HA LC CSDL
330
Ni dung
Gii thiu
Cc dng chun
1NF
2NF
3NF
BCNF
Phng php phn r
Phng php kim tra bo ton thng
tin
331
$6.1. Gii thiu
Cht lng thit k ca 1 lc CSDL
c th c nh gi da trn:
S trng lp thng tin
Chi ph kim tra cc RBTV
Mt lc CSDL-Quan H ban u c
th c phn tch thnh nhiu lc
quan h con vi cht lng tt hn
332
$6.1. Gii thiu
DATHANG(SoDH, NgayDH, MaKH,
MaHH, SLDat)
F = {f1: SoDH NgayDH, MaKH
f2: SoDH, MaHH SLDat }
SoDH NgayDH
MaK
H
MaH
H
SLDa
t
DH00
1
5/12/200
0
K000
1
S001 5
DH00
1
5/12/200
0
K000
1
S003 2
DH00
1
5/12/200
0
K000
1
T003 5
DH00
2
8/12/200
0
K000
3
S003 1
DH00
2
8/12/200
0
K000
3
T004 1
333
$6.1. Gii thiu
DON_DH(SoDH, NgayDH, MaKH),
F = {f1: SoDH NgayDH, MaKH }
CTDH(SoDH, MaHH, SLDat),
F = { f2: SoDH, MaHH SLDat }
DON_DH
SoDH NgayDH
MaK
H
DH00
1
5/12/200
0
K000
1
DH00
2
8/12/200
0
K000
3
CTDH
1 T004 DH00
2
1 S003 DH00
2
5 T003 DH00
1
2 S003 DH00
1
5 S001 DH00
1
SLDa
t
MaH
H
SoDH
334
Ni dung
Gii thiu
Cc dng chun
1NF
2NF
3NF
BCNF
Phng php phn r
Phng php kim tra bo ton thng
tin
335
$6.2. Cc dng chun
Mt s khi nim
1NF
2NF
3NF
BCNF
336
Mt s khi nim
$6.2. Cc dng chun
Thuc tnh kha/ thuc tnh khng kha
Thuc tnh ph thuc y :
Mt thuc tnh A c gi l ph thuc y vo
tp thuc tnh X nu XA l ph thuc hm y
XY c gi l ph thuc hm y nu v phi
Y khng ph thuc hm vo tp con khc rng Z
no ca X
Thuc tnh n / kp
Thuc tnh n l thuc tnh ch cha cc gi tr
nguyn t.
Khng b phn chia bi cc php ton SQH
Khng b tch hp t nhiu gi tr c cng ngha
337
$6.2. Cc dng chun
Mt s khi nim
1NF
2NF
3NF
BCNF
338
Dng chun 1 1NF
$6.2. Cc dng chun
Mt lc quan h Q c gi l 1NF
nu mi thuc tnh ca Q u l thuc
tnh n.
Mt lc CSDL C c gi l 1NF
nu mi lc quan h ca C u
1NF.
Cc lc quan h t 1NF vn b gp
phi 4 vn : d tha, mu thun, bt
thng khi thm, bt thng khi xa.
339
Dng chun 1 1NF
$6.2. Cc dng chun
Q(SoHD, MaKH, HoTenKH, MaHH, TenHH, DonGia, SL)
F = {MAKHHOTENKH
;
; MAHHTENHH
;
;
MAHHDONGIA
;
; SOHDMAKH
;
;
SOHD,MAHHSL }
Kha = ?
SOHD MAKH HOTENKHMAHHTENHH DONGIASL
HD01 KH03 ng T HH02 So trc 2000 5
HD01 KH03 ng T HH03 Cu m 4000 10
HD02 KH04 Bc Ci HH01 Kentucky 10000 15
HD03 KH01 Ty c HH03 Cu m 4000 30
HD03 KH01 Ty c HH07 Axit 500 100
340
Dng chun 1 1NF
$6.2. Cc dng chun
Nu cng ty mun thm mt hng mi?
Kha chnh khng th cha gi tr NULL
Nu cng ty mun loi b mt hng
Kentucky? Bc Ci qua i
SOHD MAKH HOTENKH MAHH TENHH DONGIA SL
HD01 KH03 ng T HH02 So trc 2000 5
HD01 KH03 ng T HH03 Cu m 4000 10
? ? ? HH08 Ru 7000 ?
HD02 KH04 Bc Ci HH01 Kentucky 10000 15
HD03 KH01 Ty c HH03 Cu m 4000 30
HD03 KH01 Ty c HH07 Axit 500 100
341
Dng chun 1 1NF
Xt tp ph thuc hm c nh ngha trn
lc quan h:
F = {MAKHHOTENKH
;
; MAHHTENHH
;
;
MAHHDONGIA
;
; SOHDMAKH
;
;
SOHD,MAHHSL }
Kha? K={SOHD,MAHH}

T
T

n t
n t

i nhi
i nhi

u thu
u thu

c t
c t

nh khng ph
nh khng ph

thu
thu

c
c

y
y

v
v

o kh
o kh

a.
a.
$6.2. Cc dng chun
342
$6.2. Cc dng chun
Mt s khi nim
1NF
2NF
3NF
BCNF
343
Dng chun 2 2NF
$6.2. Cc dng chun
T y, chng ta gi s rng tp ph thuc hm F
ch cha nhng ph thuc hm m v phi ca n
ch c 1 thuc tnh.
Mt lc quan h Q c gi l 2NF nu :
Q 1NF.
Mi thuc tnh khng kha ca Q u ph thuc y
vo cc kha ca Q.
Mt lc CSDL C c gi l 2NF nu mi
lc quan h con Q
i
ca C u 2NF.
344
Dng chun 2 2NF
$6.2. Cc dng chun
SOHD MAKH HOTENKH
HD01 KH03 ng T
HD02 KH04 Bc Ci
HD03 KH01 Ty c
SOHD MAHH SL
HD01 HH02 5
HD01 HH03 10
HD02 HH01 15
HD03 HH03 30
HD03 HH07 100
MAHH TENHH DONGIA
HH02 So trc 2000
HH03 Cu m 4000
HH01 Kentucky 10000
HH03 Cu m 4000
HH07 Axit 500
F={SOHD
F={SOHD

MAKH;MAKH
MAKH;MAKH

HOTENKH}
HOTENKH}
F={SOHD,MAHH
F={SOHD,MAHH

SL}
SL}
F={MAHH
F={MAHH

TENHH;
TENHH;
MAHH
MAHH

DONGIA}
DONGIA}
Cc lc quan h
trn t 2NF
345
Dng chun 2 2NF
$6.2. Cc dng chun
Xt quan h
Q(SOHD,MAKH,HOTENKH)
F={SOHDMAKH;
MAKHHOTENKH}

T
T

n t
n t

i thu
i thu

c t
c t

nh khng kh
nh khng kh

a ph
a ph

thu
thu

c b
c b

c
c
c
c

u v
u v

o kh
o kh

a
a
Cc lc quan h t 2NF vn c th b gp
phi 4 vn : d tha, mu thun, bt thng khi
thm, bt thng khi xa.
SOHD MAKH HOTENKH
HD01 KH03 ng T
HD02 KH04 Bc Ci
HD03 KH01 Ty c
346
Dng chun 2 2NF
$6.2. Cc dng chun
Hon ton khng th
thm 1 khch hng mi
khi khch hng ny
cha mua hng.
Khi hy 1 ha n
HD02 ngha l ng thi hy lun thng tin
v khch hng KH04.
Khi thm mt ha n mi d xy ra hin
tng nhp sai d liu mu thun.
SOHD MAKH HOTENKH
HD01 KH03 ng T
HD02 KH04 Bc Ci
? KH08 Nam
HD03 KH01 Ty c
HD04 KH03 ng Tu
347
$6.2. Cc dng chun
Mt s khi nim
1NF
2NF
3NF
BCNF
348
Dng chun 3 3NF
$6.2. Cc dng chun

nh ngh
nh ngh

a
a: Mt lc quan h Q c
cho l t 3NF nu:

Q
Q

t 2NF
t 2NF

M
M

i thu
i thu

c t
c t

nh
nh
khng kh
khng kh

a
a
c
c

a Q
a Q

u
u
khng
khng
ph
ph

thu
thu

c b
c b

c c
c c

u v
u v

o kh
o kh

a c
a c

a Q.
a Q.
Mt lc CSDL C c gi l t 3NF nu
mi lc quan h Q ca n u t 3NF.
349
Dng chun 3 3NF
$6.2. Cc dng chun
SOHD MAHH SL
HD01 HH02 5
HD01 HH03 10
HD02 HH01 15
HD03 HH03 30
HD03 HH07 100
MAHH TENHH DONGIA
HH02 So trc 2000
HH03 Cu m 4000
HH01 Kentucky 10000
HH03 Cu m 4000
HH07 Axit 500
SOHD MAKH
HD01 KH03
HD02 KH04
HD03 KH01
MAKH HOTENKH
KH03 ng T
KH04 Bc Ci
KH01 Ty c
F={SOHD
F={SOHD

MAKH}
MAKH}
F={SOHD,MAHH
F={SOHD,MAHH

SL}
SL}
F={MAHH
F={MAHH

TENHH;MAHH
TENHH;MAHH

DONGIA}
DONGIA}
F={M
F={M
AKH
AKH

HOTENKH}
HOTENKH}
4 lc quan h trn u t 3NF.
350
Dng chun 3 3NF
$6.2. Cc dng chun
Ngoi ra, ta cn c

nh ngh
nh ngh

a kh
a kh

c
c v 3NF:
Cho lc quan h Q v tp ph thuc
hm F. Q c cho l t 3NF khi 1 trong 3
iu kin sau tha:
f : XA F, f l ph thuc hm hin nhin.
f : XA F, X l siu kha ca Q.
V phi ca ph thuc hm cha thuc tnh
kha.
351
Dng chun 3 3NF
$6.2. Cc dng chun
Cc quan h t 3NF vn c th gy ra d liu
xu trong cc trng hp sau:
Khi thuc tnh khng kha xc nh thuc tnh
kha.
Khi lc quan h c 2 tp kha gi nhau.
DMLop(Tinh,MonHoc,HocPhan,GioHoc,TrTam)
F={TinhMonHoc,HocPhan,GioHoc,TrTam,
TrTamTinh}
352
Dng chun 3 3NF
$6.2. Cc dng chun
T
T

nh
nh
MonHo
MonHo
c
c
HocPhan
HocPhan
GioHoc
GioHoc
TrTam
TrTam
TpHCM SQL Cn bn 8:00-10:00 LTV
AnGiang SQL Cn bn 10:00-12:00 Van Kiep
DongNai SQL Nng cao 8:00-10:00 Van Hoa
Quan h ny t 3NF nhng s gy d
liu xu nu ta xa bt k b no. iu
ny s lm ta mt lun thng tin v a
im ca trung tm.
353
$6.2. Cc dng chun
Mt s khi nim
1NF
2NF
3NF
BCNF
354
Dng chun BC BCNF
nh ngha 1 : lc quan h Q
dng chun BC nu :
Q dng chun 2.
Mi thuc tnh ca Q khng ph thuc
bc cu vo kha ca Q
khc dng chun 3 ch mi thuc tnh,
trong khi dng chun 3 ch l nhng thuc
tnh khng kha.
$6.2. Cc dng chun
355
Dng chun BC BCNF
nh ngha 2 : lc quan h Q dng
chun BC nu :
Q dng chun 2.
Mi ph thuc hm khng hin nhin u c
v tri cha kha.
Nhn xt:
Q c 1 PTH c (v tri)
+
= Q
+
BCNF
Q t BCNF Q t 3NF
$6.2. Cc dng chun
356
Dng chun BC BCNF
$6.2. Cc dng chun
DMLop(Tinh,MonHoc,HocPhan,GioHoc,TrTam)
F={TinhMonHoc,HocPhan,GioHoc,TrTam,
TrTamTinh}
TrTam
TrTam
T
T

nh
nh
LTV TpHCM
AnGiang
DongNai
Van Kiep
Van Hoa
T
T

nh
nh
MonHo
MonHo
c
c
HocPhan
HocPhan
GioHoc
GioHoc
TpHCM SQL Cn bn 8:00-10:00
AnGiang SQL Cn bn 10:00-12:00
DongNai SQL Nng cao 8:00-10:00
Q1(TrTam, Tinh)
F1 = {TrTamTinh}
Q2(Tinh, MonHoc, HocPhan, GioHoc)
F1 = {Tinh MonHoc, HocPhan, GioHoc}
357
Dng chun BC BCNF
$6.2. Cc dng chun
SOHD MAHH SL
HD01 HH02 5
HD01 HH03 10
HD02 HH01 15
HD03 HH03 30
HD03 HH07 100
MAHH TENHH DONGIA
HH02 So trc 2000
HH03 Cu m 4000
HH01 Kentucky 10000
HH03 Cu m 4000
HH07 Axit 500
SOHD MAKH
HD01 KH03
HD02 KH04
HD03 KH01
MAKH HOTENKH
KH03 ng T
KH04 Bc Ci
KH01 Ty c
F={SOHD
F={SOHD

MAKH}
MAKH}
F={SOHD,MAHH
F={SOHD,MAHH

SL}
SL}
F={MAHH
F={MAHH

TENHH;MAHH
TENHH;MAHH

DONGIA}
DONGIA}
F={M
F={M
AKH
AKH

HOTENKH}
HOTENKH}
4 lc quan h trn u t BCNF?
358
Ni dung
Gii thiu
Cc dng chun
1NF
2NF
3NF
BCNF
Phng php phn r
Phng php kim tra bo ton thng
tin
359
$6.3. Phng php phn r
nh l Delobel (1973):
Gi s c mt lc quan h Q(XYZ) v tp ph
thuc hm F.
Nu X Y F
+
th php phn r Q thnh 2
lc quan h con Q1(XY) v Q2(XZ) l bo
ton thng tin khi:
TQ: TQ = TQ [XY] TQ [XZ]
Lc quan h ph qut: l lc
cha tt c cc thuc tnh ca ng dng
Vy ta s c 1 quan h ph qut, n chnh l 1 th
hin ca lc quan h ph qut
360
Phng php phn r ni khng mt thnh BCNF
M t:
Input : lc quan h ph qut R v tp
ph thuc hm F.
Output : phn r C = (R1, R2, . . ., Rm)
tha:
Mi Ri u t BCNF.
Phn r bo ton thng tin.
$6.3. Phng php phn r
361
Phng php phn r ni khng mt thnh BCNF
Phng php:
Tm nhng ph thuc hm lm cho lc quan h vi
phm dng chun 3.
Trong nhng ph thuc hm va c xc nh ph thuc
hm X tha yu cu: nu b ph thuc hm ny i th
s lng ph thuc hm b mt l t nht.
Da trn ph thuc hm X, to lc quan h mi vi:
Cc thuc tnh: l nhng thuc tnh c trong ph thuc hm X.
Tp ph thuc hm: ch gm 1 ph thuc hm X.
Trong lc quan h c trc :
Tp thuc tnh: loi b nhng thuc tnh c trong v phi ca ph
thuc hm X.
Tp ph thuc hm: loi b ph thuc hm X.
$6.3. Phng php phn r
362
Phng php phn r ni khng mt thnh BCNF
V d:
Cho lc quan h Q (ABCDEG) v tp ph
thuc hm :
F = {A C , BC D , C G , D E}
Cho lc quan h Q (ABCDEG) v tp ph
thuc hm F:
F = {AE C , CG A , BD G , BDA E}
$6.3. Phng php phn r
363
Phng php phn r thnh 3NF c bo ton ph thuc hm
M t:
Input : lc quan h ph qut R v tp ph
thuc hm F .
Output : phn r C = (R1, R2, . . ., Rm) tha:
Ri t ti thiu dng chun 3.
Phn r bo ton thng tin.
Phn r bo ton ph thuc hm.
$6.3. Phng php phn r
364
Phng php phn r thnh 3NF c bo ton ph thuc hm
Bc 1 : tm 1 ph ti tiu ( c th c nhiu ph
ti tiu).
Bc 2 : Chia ph ti tiu thnh nhng nhm Si
sao cho trong mi nhm ch cha cc ph thuc
hm c cng v tri. Mi v tri k hiu l Ki,
l siu kha ca nhng quan h con tng lai.
Bc 3 :
3.1 : Gp cc Si c cc siu kha tng ng li thnh
cng 1 nhm. Bc ny nn tnh bng cch lp cc bao
ng t cc v tri.
3.2 : Gp cc Si c cc ph thuc hm dng KiKm
v Km Ki.
$6.3. Phng php phn r
365
Phng php phn r thnh 3NF c bo ton ph thuc hm
Bc 4 :
4.1 : Anh x mi Si thnh mt lc quan h.
4.2 : Nu trong tp cc lc quan h (lqh)
va to khng c lqh cha cc thuc tnh
kha ca lqh Q ban u, ta to thm 1 lqh
na. Lqh ny s bao gm tp cc thuc tnh
kha ca lqh Q (ban u).
$6.3. Phng php phn r
366
Phng php phn r thnh 3NF c bo ton ph thuc hm
V d:
Cho R(ABCD); F = {A B, A C, C D, B
C, B A }, Kha = {A}
1. Ph ti tiu G={A B,C D,B C,B A}
2. Chia G thnh 4 nhm
S1: { A B}
S2: { C D}
S3: { B C}
S4: { B A}
$6.3. Phng php phn r
367
Phng php phn r thnh 3NF c bo ton ph thuc hm
V d:
3. Gp S1 v S4 v hai nhm ny c ph thuc
hm dng KiKm v KmKi:
S1: { A B, B A}
S2: { C D}
S3: { B C}
4. nh x mi nhm Si thnh mt lc quan
h con nh sau:
R1(AB); F1 = { A B, B A} t BCNF
R2(CD); F2 = { C D } t BCNF
R3(BC); F3 = { B C } t BCNF
$6.3. Phng php phn r
368
Cc yu t cn bo m khi thc hin phn r
t c dng chun mong mun : trong thc
t, ngi ta chp nhn 3NF hoc BCNF.
Bo ton thuc tnh : R
+
=R1
+
R2
+
...Rm
+
.
Bo ton ph thuc hm:F
+
=(F1F2...Fn)
+
.
Bo ton thng tin : l da trn cc quan h
mi, ta c th phc hi li c quan h c bng
cch dng php kt t nhin trn cc quan h
mi.
$6.3. Phng php phn r
369
Php kim tra ni bo ton thng tin
B1: Xy dng mt bng gm n+1 ct
(n l s lng thuc tnh ca quan h gc)
v m+1 dng (m l s lng quan h
c phn r ra t quan h gc).
Ct u tin cha cc quan h ca php phn
r. Cc ct cn li c t tn l A
1
, A
2
, ...,
A
n
tng ng cc thuc tnh
Dng u tin cha tn cc thuc tnh, cc
dng cn li c t l R
1
, R
2
, . . .R
m
tng
ng cc quan h phn r
$6.3. Phng php phn r
370
Php kim tra ni bo ton thng tin
B2: in gi tr vo bng theo cch sau:
i vi tng thuc tnh Ai, kim tra xem thuc
tnh ny c phi l thuc tnh ca RJ hay
khng?
Nu thuc tnh Ai c trong quan h RJ th ta in
gi tr ai vo (Ai, RJ) ca bng
Ngc li, nu khng c th ta in gi tr biJ vo
.
$6.3. Phng php phn r
371
Php kim tra ni bo ton thng tin
B3: Thay i cc gi tr c trong bng:
Khi bt u bc ny, t gi tr ca bin CoThayDoi =
False.
iu kin dng ca B3:
Hoc c mt dng ton gi tr a.
Hoc sau khi xt tt c cc ph thuc hm m gi tr ca bin
CoThayDoi = False.
3.1. Nu c hn 1 dng c cng gi tr ti X, gi tr ti Y
ca cc dng ny s l a
J
nu a
J
c xut hin ti Y, ngc
li ly b nh nht. Gn CoThayDoi=True.
3.2. Nu tha iu kin dng, qua B4. Ngc li, xt PTH
k tip, quay li B3.1. Nu khng cn PTH no, quay li
B3.
$6.3. Phng php phn r
372
Php kim tra ni bo ton thng tin
B4: Kim tra tt c cc dng ca bng.
Nu c bt k dng no ch cha cc gi tr a (tc l
cc gi tr t a
1
n a
n
) th php phn r l bo ton
thng tin.
Ngc li, php phn r l khng bo ton thng tin
Xt quan h R(V, X, Y, Z, W), c tp F = {X Z, Y
Z, Z W, WV Z, ZV X}
R c phn r thnh R1(X, W), R2(X, Y), R3(Y,V),
R4(Z, W, V), R5(X. V).
Thc hin kim tra bng php ni bo ton
$6.3. Phng php phn r

You might also like