You are on page 1of 84

M HNH QUAN H

CC KHI NIM C BN
D liu (Data): s biu din ca cc i tng v
s kin c ghi nhn v c lu tr trn cc
phng tin ca my tnh
D liu c cu trc: s, ngy, chui k t,
D liu khng c cu trc: hnh nh, m thanh
Thng tin (informations)l d liu c x l
Siu d liu (Meta data): l d liu dng m
t cc tnh cht / c tnh ca d liu khc (d liu
v d liu).
CC KHI NIM C BN
C s d liu (Database) l tp hp cc d liu
c cu trc v lin quan vi nhau c lu tr
trn my tnh, p ng nhu cu khai thc ca
nhiu ngi dng mt cch ng thi v c t
chc theo mt m hnh.
Tnh cht:
Biu din mt kha cnh ca th gii thc
C quan h logic.
C t chc ngi dng c th lu tr v truy
xut.


CC KHI NIM C BN
H qun tr c s d liu (Database Management
System - DBMS), l mt tp cc phn mm qun l
CSDL v cung cp cc dch v x l CSDL cho cc
nhng ngi pht trin ng dng v ngi dng
cui.
Cc h qun tr CSDL s dng ngn ng truy vn
theo cu trc (Structured Query Language).
Cc h qun tr CSDL ph bin: MySQL, Oracle, SQL
Server, DB2, v.v. a s hot ng tt trn nhiu h
iu hnh khc nhau, tr SQL Server ca Microsoft
ch chy trn h iu hnh Windows.

CHC NNG CA DBMS
CHC NNG CA DBMS
Lu tr, truy xut v cp nht d liu
Ngn ng nh ngha d liu (DDL - Data
Definition Language)
Ngn ng thao tc d liu (DML - Data
Manipulation Language).
Qun l giao tc (transaction management).
iu khin tranh chp (concurrency control)
Sao lu v phc hi d liu, Bo mt
Duy tr tnh ton vn / nht qun d liu
Cung cp cc tin ch.

M HNH C S D LIU
M hnh c s d liu l mt tp hp cc khi
nim dng biu din cc cu trc ca c s d
liu, gm cc kiu d liu, cc mi lin kt, cc
rng buc v cc php ton c bn c t cc
thao tc trn c s d liu.
Cc loi m hnh c s d liu:
M hnh d liu mc quan nim
M hnh d liu vt l
M hnh d liu mc logic
CSDL QUAN H V H TP TIN
chng trnh
ng dung
Hequan trc sdlieu
CSDL Logic
T
a
p
t
i
n

v
a
t
l
y
,
m
a
u
t
i
n

v
a

c
o
t
NSD
Hnh 1.2.2 - Tiep can theo csdl tao ra mot lp phan mem gia dlieu vat lyva
chng trnh ng dung
chng trnh
ng dung
NSD
T
a
p
t
i
n

v
a
t
l
y
,
m
a
u
t
i
n

v
a

c
o
t
Tiep can theo loi cu Tiep can theo csdl
CSDL QUAN H V H TP TIN
Tip cn CSDL gii quyt 3 vn ca h tp
tin theo li c:
Kin trc HQTCSDL quan h tch bit gia: cu
trc lun l ca tp tin v chng trnh ng
dng, cho php ngi qun tr CSDL thay i
cu trc vt l ca tp tin m khng nh hng
n chng trnh ng dng.
Hn ch s d tha d liu
Ngi dng c th khai thc trc tip d liu
thng qua cc cu truy vn.

M HNH THC TH QUAN H (ER)
M hnh thc th quan h: (Entity-Relationship
Model- ER): l mt m hnh d liu mc quan
nim ph bin, m t d liu di dng cc thc
th, thuc tnh ca thc th v cc quan mi
quan h gia cc thc th.
Cc thnh phn ca m hnh ER:
Thc th v cc thuc tnh
Mi quan h v cc thuc tnh
CC K HIU TRONG M HNH ER
Tp thc th
Tp thuc tnh
Cc quan h
Thuc tnh a tr
Thc th yu
Thuc tnh suy din
CC K HIU TRONG M HNH ER
K hiu mi quan h
Quan h ton b ca E2 vo R
T l s pt ca E1 v E2 tham gia
vo R
S phn t ti thiu v ti a ca E
tham gia vo R
THC TH V THUC TNH
Thc th (entity) l mt i tng hoc mt s
vic trong th gii thc, c s tn ti c lp.
Thuc tnh (attributes): m t thc th
Thuc tnh n (simple attribute): khng th
phn chia
Thuc tnh kt hp (composite attributes): c
th phn chia thnh cc thuc tnh n
Thuc tnh a tr (multivalued): thuc tnh c
nhiu gi tr
Thuc tnh phc hp: L s kt hp ca cc
thuc tnh phc hp v a tr

THC TH V THUC TNH
V d: thc th NHN VIN gm cc thuc tnh:
M NV, h tn, ngy sinh, a ch.
NHN VIN
H TN
M NV
NGY
SINH
A CH
THC TH V THUC TNH
Thuc tnh suy din: l thuc tnh c suy ra t
mt thuc tnh khc.
V d:
TUI
NHN VIN
NGY
SINH
KIU THC TH, THUC TNH KHA
Kiu thc th: l mt tp hp cc thc th c
cc thuc tnh ging nhau.
Thuc tnh kha ca mt kiu thc th: l thuc
tnh dng xc nh mt thc th ring bit
trong mt tp thc th.
Mt kiu thc th c th c nhiu hn mt thuc
tnh kha.
Mt thc th khng c kha c gi l kiu
thc th yu.
KIU THC TH, THUC TNH KHA
V d:
KIU THC TH, THUC TNH KHA
Min gi tr ca cc thuc tnh:
Mi thuc tnh n ca mt kiu thc th c
kt hp vi mt min gi tr, l mt tp cc gi
tr c th gn cho thuc tnh ny
Cc min gi tr khng hin th trong cc s
ER.
KIU QUAN H
Mi quan h nh phn (Binary)
Mi quan h k tha (is-a)
Mi quan h phn x (Reflexive)
Mi quan h a nguyn (Ternary, nary)

KIU QUAN H
Mi quan h nh phn: l mi quan h gia hai
tp thc th
V d:



KIU QUAN H
Mi quan h k tha (is-a):

NHN VIN
CNG NHN
TH K
K S
KIU QUAN H
Mi quan h phn x (Reflexive)

KIU QUAN H
Mi quan h a nguyn (Ternary, nary)

GIO VIN
GING DY LP HC SINH VIN
MI QUAN H NH PHN(1-1, 1-n, n-n)
Cc loi quan h nh phn:
mt - mt (one-to-one): mt thc th a lin kt
vi mt thc th b; mt thc th b lin kt vi
mt thc th a.

GIM C QUN L CNG TY
1 1
GIM C CNG TY
MI QUAN H NH PHN(1-1, 1-n, n-n)
mt - nhiu (one-to-many): mt thc th a lin
kt vi nhiu thc th b; mt thc th b lin kt
vi mt thc th a.

NHN VIN LM VIC CNG TY
1 N
NHN VIN CNG TY
MI QUAN H NH PHN(1-1, 1-n, n-n)
nhiu - nhiu (many-to-many): mt thc th a
lin kt vi nhiu thc th b; mt thc th b lin
kt vi nhiu thc th a.

NHN VIN THAM GIA D N
N N
D N
NHN VIN
Ngy bt
u
M HNH ER M RNG (EER)
Lp cha v lp con: mt kiu thc th c th c
cc nhm con cc thc th ca n
M HNH ER M RNG (EER)
Chuyn bit ho: L qu trnh xc nh tp hp
cc lp con ca mt kiu thc th
M HNH ER M RNG (EER)
Tng qut ho
M HNH QUAN H
M hnh C s d liu quan h biu din c s
d liu nh mt tp cc quan h. Mi quan h l
mt bng gi tr, gm cc dng v ct cha mt
tp cc gi tr d liu lin quan vi nhau.
M hnh c s d liu gm:
Mt h thng cc k hiu m t d liu di
dng dng v ct nh quan h, b, thuc tnh,
kha chnh, kho ngoi, ...
Mt tp hp cc php ton thao tc trn d liu
nh php ton tp hp, php ton quan h.
Rng buc ton vn quan h.
M HNH QUAN H
Khi nim c bn:
Min (Domain): tp cc gi tr nguyn t
H tn: Tp k t c di <= 30.
Tui: Tp cc s nguyn t 1 n 80.
Lc quan h R:
k hiu: R(A1, A2,..., An)
R: Tn ca quan h
A1, A2,, An: Danh sch cc thuc tnh ca quan
h.
V d:
SinhVien(Hoten, MaSo, Ngaysinh, gioitinh, Diachi)
M HNH QUAN H
Mt quan h r ca lc quan h R(A1,A2,,
An) c k hiu l r(R), l tp hp cc n-b
r = {t1, t2, ..., tn }.
Mi n-b t l mt danh sch c th t ca n gi
tr, t = <v1, v2, , vn>, trong mi vi ,1<= i <=
n.
Gi tr th i ca b t, tng ng vi thuc tnh
Ai c k hiu l t[Ai] .
B l tp mi gi tr lin quan ca tt c cc
thuc tnh ca mt lc quan h.
M HNH QUAN H
Quan h (Relation): l bng gm cc dng
(b) v cc ct (thuc tnh)

Thuc tnh
Tn ca quan h
N-b t
M HNH QUAN H
Siu kha: S l tp cc thuc tnh
S c gi l mt siu kha (superkey) ca lc
quan h R nu vi hai b ty trong quan h R
th gi tr ca cc thuc tnh trong S l khc nhau .
Kha: Siu kha c t thuc tnh nht.
Kha d tuyn: l tt c cc kha ca mt quan
h (candidate key).
Kha chnh(primary key): mt trong cc kha d
tuyn c chn l kha tiu biu.
M HNH QUAN H
Kha ngoi (foreign key) l thuc tnh ca lc
Quan H ny nhng li l kha chnh ca lc
quan h khc
Cc thuc tnh thuc mt kha c gi l thuc
tnh kha (prime attribute), cc thuc tnh cn li
trong lc quan h c gi l cc thuc tnh
khng kha (nonprime attribute).

CC RNG BUC QUAN H
Rng buc min gi tr: Gi tr cho php ca mt
thuc tnh (kiu d liu).
Rng buc ton vn thc th (Entity integrity):
Rng buc kha: kha chnh khng c trng v
khng rng
V d: Cho r l mt quan h ca lc quan h
KHACHHANG ta c rng buc ton vn sau
t1, t2 e r
t1. MAKH t2. MAKH


CC RNG BUC QUAN H
Rng buc ton vn tham chiu (Referential
integrity ): tt c cc gi tr ca kha ngoi (nu
khc null) trong quan h bn pha nhiu phi tn
ti trong cc gi tr ca kha chnh trong quan h
bn pha mt.
V d: r v s l cc quan h trn lc quan h
HOADON v KHACHHANG => Rng buc ton
vn: r[MAKH]_ s[MAKH]
RNG BUC TON VN QUAN H
Qui tc xa cc hng d liu:
Hn ch (restrict): khng cho php xa cc
hng bn pha cha (parent) nu tn ti cc
hng lin quan bn pha ph thuc
(dependent).
Tng (cascade): t ng xa cc hng bn pha
ph thuc tng ng vi cc hng bn pha
cha.
Gn null (set-to-null): gn null cho kha ngoi
ca cc hng bn pha ph thuc tng ng
vi cc hng bn pha cha. Khng p dng cho
cc thc th yu.

RNG BUC TON VN QUAN H
Cc yu t ca rng buc ton vn
iu kin: ca mt rng buc ton vn R c
th c biu din bng ngn ng t nhin,
thut gii, ngn ng i s tp hp, i s
quan h hoc bng ph thuc hm.
Bi cnh ca mt rng buc ton vn l
nhng quan h m rng buc c hiu lc.
Bi cnh ca mt rng buc ton vn c th
l mt hoc nhiu quan h.

RNG BUC TON VN QUAN H
Bng tm nh hng: xc nh thi im cn phi tin
hnh kim tra cc rng buc ton vn l thi im cp nht
d liu
Mt bng tm nh hng ca mt rng buc ton vn c
dng:
(Tn RBTV) Thm(T) Sa(S) Xa(X)
r1 + - -
r2
... ... .. ..
+ : thc hin thao tc c th lm vi phm RBTV
- : thc hin thao tc khng th lm vi phm RBTV
PHN LOI
RBTV c bi cnh trn 1 quan h
1. RBTV min gi tr.
2. RBTV lin thuc tnh
3. RBTV lin b
RBTV c bi cnh trn nhiu quan h
1. RBTV tham chiu
2. RBTV lin thuc tnh, lin quan h
3. RBTV do thuc tnh tng hp

RNG BUC MIN GI TR
L tp gi tr m mt thuc tnh c th nhn.
V d: R1: Gii tnh ca hc vin ch l Nam hoc N
Ni dung:
hv e HOCVIEN( hv.Gioitinh e {Nam,N})
Bi cnh: quan h HOCVIEN
Bng tm nh hng:

R1 Thm Xa Sa
HOCVIEN + - +(Gioitinh)
RNG BUC LIN THUC TNH
L rng buc gia cc thuc tnh vi nhau trn 1
b ca quan h
V d: R2: Ngy bt u (TUNGAY) ging dy mt
mn hc cho mt lp lun nh hn ngy kt thc
(DENNGAY)
Ni dung: gd e GIANGDAY (gd.TUNGAY <
gd.DENNGAY)
Bi cnh : GIANGDAY
Bng tm nh hng:

R2 Thm Xa Sa
GIANGDAY + - +(Tungay, Denngay)
RNG BUC LIN B
L rng buc gia cc b trn cng mt quan h.
V d: R3: Tt c cc hc vin phi c m s phn
bit.
Ni dung:
h
1
,h
2
e HOCVIEN(h
1
=h
2
h
1
.Mahv=h
2
.Mahv)
h
1
eHOCVIEN(Count
(h2eHOCVIEN(h2.Mahv=h1.Mahv))
(*)=1)
Bi cnh: quan h HOCVIEN
Bng tm nh hng:

R3
Thm Xa Sa
HOCVIEN + - -
(*)
RNG BUC THAM CHIU
RBTV tham chiu cn gi l rng buc ph thuc tn
ti hay rng buc kha ngoi
V d: R4: Hc vin thi mt mn hc no th mn
hc phi c trong danh sch cc mn hc
Ni dung:
keKETQUATHI(-meMONHOC(k.Mamh= m.Mamh))
Hoc: KETQUATHI[Mamh] _ MONHOC[Mamh]
Bi cnh: quan h KETQUATHI, MONHOC
Bng tm nh hng:

R4
Thm Xa Sa
KETQUATHI + - -(*)
MONHOC - + -(*)
Rng buc lin quan h
L rng buc gia cc thuc tnh trn nhng quan
h khc nhau.
V d: R5: Ngy gio vin ging dy (Tungay) mt
mn hc phi ln hn hoc bng ngy gio vin
vo lm (Ngvl).
Ni dung: gdeGIANGDAY
(-gveGIAOVIEN(gd.Magv=gv.Magv)
gv.Ngvl s gd.Tungay)
Bi cnh: GIANGDAY, GIAOVIEN

Rng buc lin quan h
R5 Thm Xa Sa
GIANGDAY + - +(Tungay)
GIAOVIEN - - +(Ngvl)
Bng tm nh hng:
Rng buc lin thuc tnh
V d: R6: Ngy thi mt mn hc (Ngthi) phi ln
hn ngy kt thc hc mn hc (Denngay).
Ni dung:
kq e KETQUATHI
(-gd eGIANGDAY . -hv eHOCVIEN
(gd.Malop=hv.Malop.kq.Mamh=gd.Mamh)
gd.Denngay < kq.Ngthi)
Bi cnh: GIANGDAY, HOCVIEN, KETQUATHI

Rng buc lin thuc tnh
Bng tm nh hng:
R6 Thm Xa Sa
HOCVIEN - - +(Malop)
GIANGDAY - - +(Denngay)
KETQUATHI + - +(Ngthi)
CC PHP TON TRN M HNH QUAN H
Php hp (Union operation): Cho hai lc
quan h Q1 v Q2 c cng tp thuc tnh {A1,
A2,.., An}, r1 v r2 ln lt l hai quan h trn Q1
v Q2.
Php hp ca hai lc quan h Q1 v Q2 s
to thnh mt lc quan h Q3 c xc nh
nh sau:
Q3
+
= {A1,A2,..,An}
r3= r1r2 = {t | t e r1 hay t e r2}
CC PHP TON TRN M HNH QUAN H
CC PHP TON TRN M HNH QUAN H
Php giao (Intersection): Cho hai lc quan
h Q1 v Q2 c cng tp thuc tnh {A1,A2,..,An}.
r1 v r2 ln lt l hai quan h trn Q1 v Q2.
Php giao ca hai lc quan h Q1 v Q2 s
to thnh mt lc quan h Q3 nh sau:
Q3+={A1,A2,..,An}
r3 = r1r2= {t | t e r1 v t e r2}
CC PHP TON TRN M HNH QUAN H
CC PHP TON TRN M HNH QUAN H
Php tr (Minus, difference): Cho hai lc
quan h Q1 v Q2 c cng tp thuc tnh {A1,
A2,.., An}, r1 v r2 ln lt l hai quan h trn
Q1 v Q2.
Php tr lc quan h Q1 cho Q2 s to thnh
mt lc quan h Q3 nh sau:
Q3+={A1,A2,..,An}
r3 = r1 - r2= {t | t e r1 v t e r2}
CC PHP TON TRN M HNH QUAN H
V d:
CC PHP TON TRN M HNH QUAN H
Tch Descartes (Cartesian Product, product):
Cho hai lc quan h Q1(A1,A2,..,An),
Q2(B1,B2,..,Bm), r1 v r2 ln lt l hai quan h
trn Q1 v Q2.
Tch Descartes ca hai lc quan h Q1 v Q2
s to thnh mt lc quan h Q3 nh sau:
Q3
+
= Q1
+
Q2
+
= {A1,..., B1,...}
r3 = r1 x r2 = {(t1,t2)| t1 e r1 v t2 e r2}
CC PHP TON TRN M HNH QUAN H
CC PHP TON TRN M HNH QUAN H
Php ni (JOIN ): Cho hai lc quan h
Q1(A1, A2,.., An), Q2(B1, B2,..,Bm),
r1 v r2 l hai quan h trn Q1 v Q2.
Ai v Bj l cc thuc tnh ca Q1 v Q2 sao cho
Min gi tr(Ai) = Min gi tr(Bj).
u l mt php so snh trn Min gi tr (Ai).
Php kt Q1 Q2 s to thnh mt lc quan
h Q3 = Q
1
+
Q
2
+
r3=r1 r2 = {t
12
|t
1
r
1
, t
2
r
2

sao cho t
12
.Q
1
+
= t
1
, t
12
.Q
2
+
= t
2
, t
1
.Ai t
2
.Bj}

Bj Ai
CC PHP TON TRN M HNH QUAN H
Dng tng qut ca php ni trn hai quan h
R(A1, A2,,An) v S(B1,B2,, Bm) l


Kt qu ca php ni l mt quan h
Q(A1,A2,,An,B1,B2,,Bm) c n+m thuc tnh.
Mi b ca Q l mt kt ni gia mt b ca R v
mt b ca S khi tho mn <iu kin ni>.
R S
<iu kin ni>
CC PHP TON TRN M HNH QUAN H
V d:






Nu u c s dng trong php kt l php so snh
bng (=) th ta gi l php kt bng. nu Ai = Bj th
gi l php kt t nhin.
B>=F
CC PHP TON TRN M HNH QUAN H
Php chia (division): Cho hai lc quan h
Q1(A1, A2,.., An), Q2(B1, B2,.., Bm).
r1 v r2 ln lt l hai quan h trn Q1 v Q2.
Ai v Bj ln lt l cc thuc tnh ca Q1 v Q2 sao
cho n>m.
Php chia Q1 v Q2 s to thnh mt lc quan
h Q3+ = {A1,..., An-m}
r3 = r1 r2 = {t3|t2er2, -t1er1
t3=t1.{A1,...,An-m} t2=t1.{An-m+1,...,An}}
CC PHP TON TRN M HNH QUAN H
V d:
CC PHP TON I S QUAN H
Php chn (SELECT): Php chn c s dng
chn mt tp hp cc b tho mn iu kin
chn t mt quan h.
K hiu:
V d:
CC PHP TON TRN M HNH QUAN H
Biu thc logic trong <iu kin chn> gm:
<thuc tnh> <php so snh> <gi tr hng>
<thuc tnh> <php so snh> <thuc tnh>
Tnh cht:
Tnh cht giao hon

Tnh kt hp:

CC PHP TON TRN M HNH QUAN H
Php chiu (PROJECT): Php chiu l php ton
chn mt s ct ca bng.
K hiu:
V d:
R
CC PHP TON TRN M HNH QUAN H
C th p dng nhiu php ton quan h lin tip
nhau.
V d: xut ra Htn v Lng ca cc Nhnvin lm
vic n v c Ms l 4.
< Htn, Lng >( <Ms = 4> (NHNVIN))
Chuyn i m hnh ER thnh m hnh
quan h
Qui tc chung bin i m hnh ER thnh cc
m hnh quan:
Mi tp thc th trong m hnh ER chuyn thnh
mt lc quan h.
Mi thuc tnh trong m hnh ER chuyn thnh
thuc tnh trong lc quan h.
Mi thuc tnh nhn din trong m hnh ER
c chuyn thnh kha chnh trong lc
quan h.
Chuyn i m hnh ER thnh m hnh
quan h
V d: Thc th mnh:
Chuyn i m hnh ER thnh m hnh
quan h
V d 1: thc th yu
Chuyn i m hnh ER thnh m hnh
quan h
V d 2: thc th yu

Chuyn i m hnh ER thnh m hnh
quan h
Qui tc chuyn mi quan h:
Mi quan h 1-1: Chuyn kha chnh t quan
h th nht sang quan h th hai hoc ngc li.
V d:




NhanVien(MaNV, HoTen, Ngaysinh)
Hopdong(MaHD, NgayHD, LuongCB, MaNV)

NHN VIN HP NG C
MaN
V
HoTen
NgayH
D
Luong
CB
Ngaysi
nh
1
1
MaHD
Chuyn i m hnh ER thnh m hnh
quan h
V d 1:
Chuyn i m hnh ER thnh m hnh
quan h
V d 2:
Chuyn i m hnh ER thnh m hnh
quan h
V d 3:
Chuyn i m hnh ER thnh m hnh
quan h
V d 4
Chuyn i m hnh ER thnh m hnh
quan h
Qui tc chuyn mi quan h:
Mi quan h 1-n: Chuyn kha chnh t bn mt
sang bn nhiu.
V d:



NhanVien(MaNV, HoTen, Ngaysinh)
Hoadon(MaHD, NgayLapHD, NgayGH, MaNV)


NHN VIN HA N Lp
MaN
V
HoTen
NgayLapH
D
NgayG
H
Ngaysi
nh
1
N
MaHD
Chuyn i m hnh ER thnh m hnh
quan h
V d:
Chuyn i m hnh ER thnh m hnh
quan h
Qui tc chuyn mi quan h:
Mi quan h n-n: To mt quan h mi c kha
chnh l s kt hp cc kha chnh ca hai quan h
c lin kt nhiu nhiu.




NhanVien(MaNV, HoTen, Ngaysinh)
DuAn(MaDA, TenDuAn, TongKP )
Thamgia( MaNV, MaDA, NgayBD)
NHN VIN D N
Tham
gia
MaN
V
HoTen
TenDuAn
TongK
P
Ngaysi
nh
N
N
MaDA
NgayBD
Chuyn i m hnh ER thnh m hnh
quan h
V d:
Chuyn i m hnh ER thnh m hnh
quan h
Thuc tnh a tr A: To mt quan h mi R.
Quan h R s cha mt thuc tnh tng ng vi
A v thuc tnh kho K ca thc th ch lm
kho ngoi ca R. Kho chnh ca R l mt t
hp ca A v K.



Xe(MasoXe, Phankhoi)
MauXe(Mau, MasoXe)
XE
MasoXe MauXe
Phankhoi
Chuyn i m hnh ER thnh m hnh
quan h

Chuyn i m hnh ER thnh m hnh
quan h
V d:
Chuyn i m hnh ER thnh m hnh
quan h
i vi kiu lin kt Ternary (n>2)
Chuyn i m hnh EER thnh m
hnh quan h
Cch chuyn t m hnh chuyn bit ha v tng
qut ha sang m hnh quan h

You might also like