Professional Documents
Culture Documents
Cơ sở dữ liệu DHBK
Cơ sở dữ liệu DHBK
Ging vin
C s d liu
Nguy
Nguyn Hng Phng
phuongnhphuongnh-fit@mail.hut.edu.vn
B mn H th
thng thng tin
Vi
Vin Cng ngh
ngh thng tin v
v Truy
Truyn thng
i hc Bch Khoa H Ni
Tng quan v mn hc
nh gi mn hc
D lp y , tch cc xy dng bi
Kim tra gia k
Kim tra cui k
Ti liu hc tp
Ni dung mn hc
Bi ging trn lp
Sch tham kho:
Nguyn Kim Anh, Nguyn l ca cc h c s d liu,
NXB i hc Quc gia, H Ni, 2004.
T Vn Nam, Gio trnh C s d liu, NXB Gio dc,
2006.
Nguyn Thin Bng, Phng Lan, Gio trnh SQL Server
2000, 2004.
Nguyn Ngc Minh, Hong c Hi, Trn Tin Dng, T
hc Microsoft SQL Server 2000 trong 21 ngy, NXB Lao
ng-X hi, 2002.
J.D.Ullman, A First Course in Database Systems,
Prentice-Hall,1997.
J.D.Ullman, Principles of Database and Knowledge-Base
Systems,vol.1, Computer Science Press,1988.
Cc ti liu khc
5
Ni dung chng ny
Chng 1
i cng v cc h c s d li
liu
Nguy
Nguyn Hng Phng
phuongnhphuongnh-fit@mail.hut.edu.vn
B mn H th
thng thng tin
Vi
Vin Cng ngh
ngh thng tin v
v Truy
Truyn thng
i hc Bch Khoa H Ni
1.1 Cc h thng x l tp
truyn thng v nhng hn
ch ca n.
1.2 Cc h CSDL: khi nim,
kh nng, kin trc, ngi
dng ca mt h qun tr
CSDL.
1.3 S phn loi cc h
CSDL.
1.1 Cc h th
thng x l tp
truy
truyn th
thng
Cc h th
thng x l tp truy
truyn th
thng
Mi chng trnh ng dng
nh ngha v qun l cc tp
d liu ca ring n.
Trc khi xut hin cc phn
mm h qun tr CSDL, trong
qu kh cc h thng trn c
s tp c to lp x
l mt s lng ln d liu.
Bc khi u ca qu trnh
tin hc ha doanh nghip.
Tp trung vo nhu cu x l d liu
ca cc phng ring l trong t chc
m khng xem xt tng th t chc
ny.
Vit mt chng trnh mi
i vi mi ng dng n l,
khng c k hoch, khng c
m hnh hng n s
tng trng.
3
Hn ch ca cc h thng
x l tp truyn thng
Ni dung chng ny
1.1 Cc h thng x l tp
truyn thng v nhng hn
ch ca n.
1.2 Cc h CSDL: khi nim,
kh nng, kin trc, ngi
dng ca mt h qun tr
CSDL.
1.3 S phn loi cc h
CSDL.
6
V d v qun l o to
1.2 Cc h c s d liu
V d: khai th
thc thng tin
Hnh dung
dung v xy dng mt CSDL
Sinh vin
Cc mn hc ca Khoa Cng ngh thng
tin ?
im thi mn H c s d liu ?
Gio vin
Yu cu
Lu tr thng tin cn thit mt cch chnh xc
Truy xut thng tin hiu qu
Thc hin
Xc nh yu cu nghip v
Xc nh thng tin cn lu tr
Xc nh cch thc lu tr
Gio v
Phn mm ng dng
Cc khi nim c bn
ng dng
10
C s d liu (database)
L mt tp hp cc d liu
Biu din mt vi kha cnh no ca th
gii thc
C lin h logic thng nht
c thit k v bao gm nhng d liu phc
v mt mc ch no .
h CSDL
CSDL
L mt b su tp cc d liu tc nghip
c lu tr li v c cc h ng dng
ca mt x nghip c th no s dng.
H QTCSDL
11
12
H qu
qun tr
tr c s d li
liu
H c s d liu
H CSDL
14
Cc tnh nng ca h qu
qun tr
tr CSDL
Qun l d liu tn ti lu di
H
CSDL
nh ngha d liu
Qun l lu tr
ng dng
H Qun Tr CSDL
CSDL
CSDL
15
Cc tnh nng ca h qu
qun tr
tr CSDL
H tr t nht mt m hnh d liu
m bo tnh c lp d liu
H tr cc ngn ng cp cao nht
nh cho php ngi s dng nh
ngha cu trc ca d liu, truy nhp
v thao tc d liu
iu khin truy nhp
Phc hi d liu
17
16
Cc ngn ng
Ngn ng nh ngha d
Definition Language - DDL)
liu
(Data
Cu trc d liu
Mi lin h gia cc d liu v quy tc, rng
buc p t ln d liu
(Data
Ngn ng iu khin d
Control Language - DCL)
(Data
liu
Tng ng 3 mc vi ngn ng
ng Pascal
Khung nhn 1
Khung nhn n
Mc khung nhn
(ngoi)
ngay_sinh:string;
dia_chi:string;
m t cch m ngi s
dng c th nhn thy d
liu
S khi nim
(logic)
Mc quan nim
(logic)
nh ngha cu trc cc
tp v ch dn c s
dng trong c s d liu
(cch lu tr d liu
nh th no)
S trong
(vt l)
Mc lu tr
(trong)
end;
Mc vt l: mt bn ghi khach_hang c m t
nh mt khi nh, chng trnh dch che du cc
chi tit mc ny i vi ngi lp trnh.
Mc logic: mi bn ghi c m t bi mt nh
ngha kiu, ngi lp trnh s dng ngn ng lp
trnh lm vic ti mc tru tng ny.
Mc khung nhn: ngi s dng my tnh thy
mt tp cc chng trnh ng dng, che du
nhng chi tit v cc kiu d liu
19
Ki
Kin tr
trc ca mt h qu
qun tr
tr CSDL
Cc thay i s
Cc truy vn
B x l
cu hi
lu tr v truy xut
d liu trn cc thit
b nh
B qun tr
giao dch
Thc hin
Tm kim d liu tr
li cho mt yu cu
truy vn.
Siu d liu
(metadata)
Qun l buffer
Qun l tp
(t in d liu)
21
Qun
l
giao
dch
B x l cu hi
B bin dch
B ti u
B nh gi
Thc hin
Bin i truy vn
mc cao thnh cc
yu cu c th hiu
c bi h CSDL.
La chn mt k
hoch tt nht tr
li truy vn ny.
B qun l lu tr
T chc ti u d liu
trn thit b nh
Tng tc hiu qu
Metadata &
vi b qun l tp
Data dictionary
X l cu hi
Yu cu
Qun l lu tr
Yu cu
Cc thay i d liu
B qun l
lu tr
D liu (data)
20
B qun l
lu tr
Metadata &
Data dictionary
23
Yu cu
nh ngha giao dch: mt tp cc thao
tc c x l nh mt n v khng
chia ct c.
m bo tnh ng n v tnh nht
qun ca d liu.
Thc hin
Qun l iu khin tng tranh.
Pht hin li v phc hi CSDL
24
Ngi dng
Ngi dng
25
26
Ni dung chng ny
Ngi dng
Ngi s dng cui: l ngi khai thc cc h
CSDL
Ngi qun tr CSDL: chu trch nhim cho
php truy nhp CSDL, iu phi v kim tra s
dng CSDL, qun l ti nguyn phn cng v
phn mm khi cn thit
Ngi bo tr h thng: l nhng ngi qun
tr h thng chu trch nhim vic hot ng v
bo tr mi trng (phn cng v phn mm)
cho h CSDL
1.1 Cc h thng x l tp
truyn thng v nhng hn
ch ca n.
1.2 Cc h CSDL: khi nim,
kh nng, kin trc, ngi
dng ca mt h qun tr
CSDL.
1.3 S phn loi cc h
CSDL.
27
28
Cc h CSDL tp trung
M hnh d liu
Mng vs. phn cp vs. quan h vs. hng i
tng vs. ...
S ngi s dng
Mt ngi dng vs. nhiu ngi dng
...
29
Cc my tnh trung tm ln
t so vi cc
my nh v my trm.
Cc ng dng my khch truy nhp d liu
c qun l bi my ch.
30
Cc h
h CSDL t
tp trung (ti
(tip)
Cc h CSDL phn tn
H CSDL trung
tm
H CSDL c nhn
H CSDL khchch
31
32
Kt lun
Cc h CSDLPT (tip)
Pht trin
ng dng
nghin cu v
pht trin
Nghin cu
35
34
Cc im cn lu trong
chng ny
Cch tip cn tp vs. cch tip cn
CSDL
CSDL vs. h QTCSDL vs. h CSDL
Kin trc 3 mc ca h CSDL
Cc chc nng chnh ca mt h
QTCSDL
Ngi s dng trong mt h CSDL
Phn loi cc h CSDL
36
Li hay p
37
38
Ni dung
Cc m hnh d liu
Nguy
Nguyn Hng Phng
phuongnhphuongnh-fit@mail.hut.edu.vn
B mn H th
thng thng tin
Vi
Vin Cng ngh
ngh thng tin v
v Truy
Truyn thng
i hc Bch Khoa H Ni
Tng quan...(tip)
Mt tp hp cc cu trc ca d liu
Mt tp hp cc php ton thao tc vi cc
d liu
Mt tp hp cc rng buc v d liu
D liu
Ng ngha ca d liu
Cc mi quan h trong d liu
Cc rng buc d liu
3
Vi nt v lch s
M hnh
quan h
M hnh
phn cp
1965
M hnh
quan h m rng
System
SystemR(81),
R(81),DB2,
DB2,
ORACLE,
ORACLE,SQL
SQL
Server,
Server,Sybase,
Sybase,......
IMS,
IMS,
System
System2k,
2k,
......
1970
1975
1980
1985
M hnh
Thc th-lin kt
M hnh
mng
DMS(65),
DMS(65),
CODASYL
CODASYL(71),
(71),
IDMS,
IDMS,IDS
IDS
Mt vi m hnh d li
liu
DB2,
DB2,
ORACLE-10i,
ORACLE-10i,
SQL
SQLServer
Server
......
XML
dbXML,natix,
dbXML,natix,
Tamino,...
Tamino,...
1990 1995 2000
2005 2010
O2,
O2,ORION,
ORION,
IRIS,
IRIS,......
IRDS(87),
IRDS(87),
CDD+,
CDD+,
...
M ...
hnh
hng i
tng
M hnh bn
cu trc
Lore
Lore(97),
(97),
......
M
M
M
M
M
M
M
hnh
hnh
hnh
hnh
hnh
hnh
hnh
phn cp
mng
quan h
thc th lin kt
hng i tng
bn cu trc
d liu ca XML
6
M hnh d li
liu phn cp
(Hierarchical data model)
model)
t vn
c im ca cc m hnh d liu?
S khc nhau gia cc m hnh d
liu?
Cc m hnh d liu ph bin ngy
nay
Ra i nhng nm 60-65
Biu din bng cy
Quan h cha-con
Mi nt c 1 cha duy nht
1 CSDL = 1 tp cc cy = 1 rng
Cc khi nim c bn
Bn ghi
Mc ni
Cc php ton: GET, GET UNIQUE, GET NEXT,
GET NEXT WITHIN PARENT,
M hnh d li
liu phn cp V d
u im
D xy dng v thao tc
Tng thch vi cc lnh vc t chc phn cp
Ngn ng thao tc n gin: duyt cy.
giao_vien
lop
Nhc im:
sinh_vien
mon_hoc
mon_hoc
diem_thi
M hnh d li
liu mng
(Network data model)
model)
10
M hnh d li
liu mng V d
S ra i
S dng ph bin t nhng nm 60, c nh ngha li vo
nm 71
giao_vien
giang_day
Tp bn ghi (record)
lop
Mc ni
Tn ca mc ni
Ch (owner) thnh vin (member): theo hng ca mc ni
Kiu mc ni: 1-1, 1-n, quy
Cc php ton
Duyt: FIND, FIND member, FIND owner, FIND NEXT
Th tc: GET
11
hoc
co_diem
gom
sinh_vien
mon_hoc
co
diem_thi
12
S ra i: vo nm 1970[Codd, 1970]
D liu c biu din di dng bng
L m hnh d liu khi nim ph bin cho
n tn thi im hin ti
Da trn l thuyt ton hc, ng thi
cng gn vi cu trc tp v cu trc d
liu nn c hai loi thut ng lin quan:
u im
n gin
C th biu din cc ng ngha a dng
vi kiu bn ghi v kiu mc ni
Truy vn thng qua php duyt th
(navigation)
Nhc im:
S lng cc con tr ln
Hn ch trong biu din ng ngha ca
cc mc ni gia cc bn ghi
13
V d
m hnh
d li
liu
quan h
MON_HOC
maMH
tenmon
soHT
CNTT01
Nhp mn CSDL
V dTruyn
DL v mng
CNTT02
14
CNTT03
HTTT01
Qun l d n
Cc khi nim c bn
Thuc tnh, min thuc tnh
Quan h
Kha
LOP
malop lop
khoa
GVCN
loptruong
IT4
Tin 4
CNTT
Ng. V. Anh
Trn T. Bnh
IT5
Tin 5
CNTT
L A. Vn
Ng. . Trung
IT6
Tin 6
CNTT
Ng. T. Tho
Trn M. Qu
IT7
Tin 7
CNTT
Ng. V. Qu
Ng. T. Phng
SINH_VIEN
maSV
tenSV
ngaysinh
gt
diachi
malop
SV0011
Trn T. Bnh
1/4/1981
21 T. Q. B
IT4
SV0025
Ng. . Trung
3/2/1980
56 . C. V
IT5
SV0067
Trn M. Qu
26/3/1982
45 H. B. T
IT6
SV0034
Ng. T. Phng
29/2/1980
86 L. T. N
IT7
15
16
r D1 D2 ... Dn
U c gi l s quan h (lc
quan h)
19
20
M hnh d li
liu quan h
V d:
Nguyn Vn An
Nguyn Vn An
L Vn Cng
Nguyn Thy Linh
1982
1985
1981
1981
Tin 7
HTTT
HTTT
BK65
21
1
1
1
0
22
M hnh th
thc th
th lin kt
(EntityEntity-Relationship data model)
model)
Cho php m t cc d liu c lin quan
trong mt x nghip trong th gii thc di
dng cc i tng v cc mi quan h ca
chng.
c s dng cho bc u thit k CSDL,
lm nn tng nh x sang mt m hnh
khi nim no m H qun tr CSDL s s
dng
Trong m hnh thc th lin kt, CSDL c
m hnh ha nh l:
u im
Da trn l thuyt tp hp
Kh nng ti u ho cc x l phong
ph
Nhc im
Hn ch trong biu din ng ngha
Cu trc d liu khng linh hot
23
Mt tp hp cc thc th
Lin h gia cc thc th ny
24
M hnh th
thc th
th lin kt
Cc kh
khi ni
nim c bn
M hnh th
thc th
th lin kt...
Thc th: mt i tng trong th
gii thc, tn ti c lp v phn bit
c vi cc i tng khc
Tp thc th: mt tp hp cc thc
th c tnh cht ging nhau
V d:
Thc th, tp
thc th
Thuc tnh
Kho
Lin kt, tp
lin kt
26
M hnh th
thc th
th lin kt...
M hnh th
thc th
th lin kt...
Mi thc th trong tp
thc th c mt gi tr
c tnh nm trong min
gi tr ca thuc tnh
Sinh vin 1 c: Htn l
Nguyn Hi Anh, Nm sinh
1980
sinh_vin
sv1
sv2
sv3
c kiu d liu
nguyn t
sinh_vin
gioitinh
c kiu phc, nh
ngha bi cc thuc
tnh khc
gioitinh
tenSV
maSV
so_pho
namsinh
quan
diachi
thanh_pho
namsinh
27
maMH
tenmon
mon_hoc
soHT
giao_vien
sinh_vin
c th tnh ton
c t (cc) thuc
tnh khc
tuoi
Thuc tnh a gi
tr
tng ng vi mi
thc th, c th
nhn nhiu gi tr
28
tenSV
maSV
ngaysinh
nam
diachi
29
kho
kho
c
chn
30
Tp lin kt l mt tp hp cc lin kt
cng kiu
Gia tp thc th SinhVin v Lp c 1 tp lin
kt ThnhVin, ch ra rng mi sinh vin u l
thnh vin ca 1 lp no
maSV
maMH
tenSV
tenmon
sinh_vin
ngaysinh
mon_hoc
diem_thi
soHT
nam
diachi
ket_qua
32
Cch l
lp s
th
thc th
th - lin k
kt
Rng buc ca kt ni
1-1: Lin kt 1 thc th
ca mt tp thc th vi
nhiu nht 1 thc th ca
tp thc th khc
1-n: Lin kt 1 thc th
ca mt tp thc th vi
nhiu thc th ca tp thc
th khc
n-n: Lin kt 1 thc th
ca mt tp thc th vi
nhiu thc th ca tp thc
th khc v ngc li
quy: Lin kt gia cc
thc th cng kiu
lop_hoc
chu_nhiem
lop_hoc
sinh_vin
thanh_vien
dang_ky
giao_vien
sinh_vien
Bc 1: Xc nh cc thc th
Bc 2: Xc nh cc lin kt gia
cc thc th
Bc ca lin kt
Rng buc (1-1, 1-n, n-n, quy)
mon_hoc
mon_hoc
dieu_kien
33
Bi t
tp: V
V s
ER
Bi ton: phn tch v thit k 1 CSDL gm cc
thng tin trong 1 cng ty (nhn vin, phng ban,
d n)
34
Ho
Dem
Ten
SoBH
HoTen
Dia_chi
nguoiPT
Phu_trach
Luong
Ngay_sinh
Gioi_tinh
NHAN_VIEN
n
n
So_gio
PHONG_BAN
1
La_NV
1
1
nguoibiPT
Dia_diem
Quan_ly
Ngay_BD
Dieu_phoi
co
Lam_viec
CON
HoTen
Gioi_tinh
Ngay_sinh
Ten_DA
DU_AN
Ma_DA
36
Dia_diem
Bi
Bin
i s
th
thc th
th lin k
kt
sang s
quan
h
Bin i cc tp thc th
Bc 1: 1 tp thc th 1 quan h
Bin i tp cc thc th
Bin i cc lin kt
Cc kho ca cc s quan h
Cc s quan h vi kho chung
thuc tnh
thuc tnh (trng)
1 thc th
1 b
kho ca tp thc th
kho ca
quanh
sinh_vin
maSV
tenSV
ngaysinh
nam
diachi
malop
SINH_VIEN
37
sv1
sv2
sv3
sv4
ngaysin
h
1/4/81
gt
diachi
lop
21 T. Q. B
IT4
3/2/80
56 . C. V
IT5
SV006
tenSV
sv1
Trn T. Bnh
sv2
Ng. Trung
sv3
Trn M. Qu
26/3/82
45 H. B. T
IT6
SV003
Ng. Hng
29/2/80
86 L. T. N
IT7
maSV
SV001
SV002
38
Bin i cc tp thc th
Bi
Bin
i c
cc lin k
kt
Bc 2: 1 tp thc th xc nh t
tp thc th khc (E) qua 1 lin kt
1quan h cha kho cu E:
LOPTRUONG(maSV)
Bc 3: Lin kt 1-1
Thm 1 quan h mi xc nh bi cc
thuc tnh nm trong kho ca cc thc
th c lin quan
CHU_NHIEM_LOP(malop,maGV)
hoc
Dng kho ngoi
LOP_HOC(malop,lop,khoa,maGV)
sinh_vin
la_mot
lop_truong
lop
maGV
malop
lop_hoc
ngaysinh
giao_vien
chu_nhiem
khoa
trinhdo
khoa
39
40
Bc 4: Lin kt 1-n
Thm 1 quan h mi xc nh bi cc thuc tnh nm
trong kho ca cc thc th c lin quan
Bc 5: Lin kt n-n
Thm 1 quan h mi xc nh bi cc
thuc tnh nm trong kho ca cc
thc th c lin quan v cc thuc
tnh ca lin kt
SINHVIEN_LOP(malop, maSV)
hoc
Dng kho ngoi: thm kho chnh ca quan h bn
1 vo quan h bn n lm kho ngoi
SINH_VIEN(maSV, tenSV, ngaysinh, nam, diachi, malop)
maSV
DANG_KY(maSV,maMH, diem)
tenSV
diem
maSV
malop
lop
khoa
lop_hoc
ngaysinh
n
gom
sinh_vien
nam
diachi
41
tenSV
ngaysinh
nam
diachi
sinh_vin
maMH
m
dang_ky
mon_hoc
ten
soHT
42
Thuc tnh a tr
Bc 6: Vi mi thuc tnh a tr
Thm 1 quan h mi xc nh bi
thuc tnh a tr v kho ca tp
thc th tng ng
MH_GV(maMH,giao_vien)
maMH
M h
hnh d
d li
liu h
hng
i t
tng
(Object(Object-oriented data model)
S ra i
Khong u nhng nm 90
Biu din: s lp
Cc khi nim c bn
i tng: mt i tng trong th gii thc, c xc
nh bi mt nh danh duy nht
Thuc tnh: biu din mt c tnh ca i tng,
Phng thc : thao tc c thc hin trn i tng.
Tt c cc truy nhp vo thuc tnh ca i tng u phi c
thc hin thng qua cc phng thc ny.
tenmon
mon_hoc
soHT
giao_vien
43
M h
hnh d
d li
liu h
hng
i t
tng
V d:
44
M h
hnh d
d li
liu h
hng
i t
tng
Nh
Nhn x
xt:
class sinh_vien {
string maSV;
string tenSV;
date ngaysinh;
boolean nam;
string diachi;
string lop;
u im
Cho php nh ngha kiu i tng phc tp
Tnh cht: bao ng (encapsulation), k tha
(heritage), a hnh (polymorphism)
Nhc im
Cu trc lu tr phc tp v c th s dng
nhiu con tr
Kh nng ti u ho cc x l b hn ch trong
nhiu trng hp
string ten();
string ngay_sinh();
string dia_chi();
string lop();
void gan_DC(string DC_moi);
void gan_lop(string lop);
}
45
46
So s
snh v
v
nh gi
gi
Phn lo
loi c
cc m h
hnh
hn ch
M hnh
M hnh
phn cp quan h
Phn cp
hn ch
tng i
a dng
a dng
M hnh
HT
a dng
kh lu
tr
cu trc
phc tp
lu tr DL
s/d nhiu
con tr
d liu
lp li
d dng v
hiu qu
kh nng
truy vn
hiu qu
ca truy
vn
n gin
n gin
a dng
t kh
nng ti
u
t kh
nng ti
u
ti u
ho tt
M hnh
TT-LK
Th h 1
Cc m hnh
da trn
bn ghi
Mng
Quan h
Th h 2
Thc th-lin kt
a dng
khng c
xem xt
(khng hiu
qu)
khng
h/q khi
s/d nhiu
con tr
47
Cc m hnh
da trn
i tng
ng ngha
Th h 3
i tng - Quan h
Hng i tng
48
Cc b
bc xy d
dng m
mt h
h CSDL
Bi t
tp
Cho s thc th lin kt bn di, hy bin i
sang m hnh quan h:
1: PHN TCH
StudentName
StudentBirth
M t ng dng
Lecturers
LecturerName
LecturerPhone
Belong to
3: CI T
ClassID
ClassName
M t DL logic vi 1 m hnh DL c th
(vd: S quan h)
Students
StudentAddress
2: THIT K
Ci t vi 1 h qun tr CSDL
(vd: ORACLE)
LecturerID
StudentID
Classes
Learn
ClassMonitor
Subjects
Time
SubjectID
SubjectName
49
Li gi
gii
50
Li gi
gii (ti
(tip)
52
Li hay p
53
Ni dung
Ngn ng nh ngha
v thao tc d liu i
vi m hnh quan h
Nguy
Nguyn Hng Phng
phuongnhphuongnh-fit@mail.hut.edu.vn
B mn H th
thng thng tin
Vi
Vin Cng ngh
ngh thng tin v
v Truy
Truyn thng
i hc Bch Khoa H Ni
Kt lun
1
CSDL v d 2
CSDL v d 1
Supplier
SID
Student
Enrol
Takes
Id
Name
1108
3936
SNAME
SIZE
CITY
S1
Dustin
100
London
Suburb
SID
SNO
SID
Course
S2
Rusty
70
Paris
Robert
Kew
1108
21
3936
101
S3
Lubber
120
London
Glen
Bundoora
1108
23
1108
113
S4
M&M
60
NewYork
8507
Norman
Bundoora
8507
23
8507
101
S5
MBI
1000
NewOrlean
8452
Mary
Balwyn
8507
29
S6
Panda
150
London
Product
Subject
Course
No
Name
Dept
No
Name
Dept
113
BCS
CSCE
21
Systems
CSCE
101
MCS
CSCE
23
Database
CSCE
29
VB
CSCE
18
Algebra
Maths
PID
Tm cc b ca bng
Student c Suburb =
Bundoora
a ra cc gi tr ca
thuc tnh Name ca
cc b ny
Name
1108
Robert
Kew
3936
Glen
Bundoora
8507
8452
QUANTITY
P1
500
S1
P2
400
S1
P4
100
S2
P3
250
S2
P4
50
S3
P1
300
S3
P2
350
P1
Screw
red
S3
P6
200
P2
Screw
green
S4
P1
10
P3
Nut
red
S5
P2
200
P4
Bolt
blue
P5
Plier
green
P6
Scissors
blue
Tm cc sinh vin
ng k kho hc
c m s 113
Suburb
Balwyn
Id
Name
1108
Robert
Kew
3936
Glen
Bundoora
8507
Tm cc gi tr SID Enrol
trong bng Enrol c
SID
Course tng ng
3936
1108
l 113
8507
a cc b ca
Course
bng Student c
No
SID trong cc gi
113
tr tm thy trn
Norman Bundoora
Mary
COLOR
PID
S1
Student
Student
Id
PNAME
SID
Cu hi (tip)
t vn : cc cu hi
Tm tn ca cc sinh
vin no sng
Bundoora
SupplyProduct
101
8452
Suburb
Norman Bundoora
Mary
Balwyn
Course
101
113
101
Name
Dept
BCS
CSCE
MCS
CSCE
Phn lo
loi c
cc ngn ng
ng truy v
vn
Ngn ng i s
Ngn ng i s quan h
1 cu hi = 1 m t ca cc b mong mun
c c t bi mt v t m cc b phi tho
mn
Phn bit 2 lp:
ngn ng tnh ton v t bin b
ngn ng tnh ton v t bin min
Phn lo
loi c
cc ph
php to
ton
i s
s quan h
h
Tng quan
Gm cc php ton tng ng vi cc
thao tc trn cc quan h
Mi php ton
u vo: mt hay nhiu quan h
u ra: mt quan h
Php
Php
Php
Php
chiu (projection)
chn (selection)
kt ni (join)
chia (division)
Php ton tp hp
Php
Php
Php
Php
hp (union)
giao (intersection)
tr (difference)
tch -cc (cartesian product)
10
Php hp
Php ton tp hp
nh ngha: Quan h kh hp
2 quan h r v s c gi l kh hp
nu chng c xc nh trn cng 1
min gi tr
r xc nh trn D1x D2 xx Dn
s xc nh trn D1x D2 xx Dm
Di = Di v n=m
Kt qu
Subject2
Name
Course
Systems
BCS
Name
Course
BCS
DataMining
MCS
Database
MCS
Writing
BCS
Algebra
MCS
Database
11
R2
R2
Subject1
Name
Course
Systems
BCS
Database
BCS
Database
MCS
Algebra
MCS
DataMining
MCS
Writing
12
BCS
Ph
Php giao
Ph
Php tr
tr
R2
C php: R1 \ R2 hoc R1 - R2
R1
R1
R2
Subject1
Subject2
R2
Subject1
Name
Course
Name
Course
Kt qu
Systems
BCS
DataMining
MCS
Name
Course
Database
BCS
Database
MCS
Systems
BCS
Database
MCS
Systems
BCS
Database
MCS
Algebra
MCS
Writing
BCS
R1
R2
Subject2
Kt qu
Name
Course
Name
Course
Systems
BCS
DataMining
MCS
Name
Database
BCS
Database
MCS
Database
BCS
Database
MCS
Systems
BCS
Algebra
MCS
Algebra
MCS
Writing
BCS
Course
13
14
Ph
Php t
tch
-cc
V d ph
php t
tch
-cc
xx
yy
aa
aa
bb
xx
yy
xx
bb
cc
cc
yy
xx
yy
xx
dd
dd
Student
Sport
Id
Name
Suburb
1108
Robert
Kew
3936
Glen
Bundoora
8507
Norman
Bundoora
8452
Mary
Balwyn
yy
15
Name
Suburb
1108
Robert
Kew
name
Swimming
09
Dancing
Student_Sport
Name
Suburb
SportID
Sport
1108
Robert
Kew
05
Swimming
3936
Glen
Bundoora
05
Swimming
8507
Norman
Bundoora
05
Swimming
8452
Mary
Balwyn
05
Swimming
1108
Robert
Kew
09
Dancing
3936
Glen
Bundoora
09
Dancing
8507
Norman
Bundoora
09
Dancing
8452
Mary
Balwyn
09
Dancing
16
C2
C2 C5
C5
Sport
05
Ph
Php ch
chn
Id
SportID
Id
Ph
Php chi
chiu
C1
C1 C2
C2 C3
C3 C4
C4 C5
C5
(Student )
Name
Robert
3936
Glen
Bundoora
Glen
8507
Norman
Bundoora
Norman
8452
Mary
Balwyn
Mary
R2
R2
R3
R3
17
Id
Name
1108
Robert
Suburb
Kew
3936
Glen
Bundoora
8507
Norman
Bundoora
8452
Mary
Balwyn
Id
Name
Suburb
3936
Glen
Bundoora
8507
Norman
Bundoora
18
Ph
Php ch
chn - i
iu ki
kin ?
V d: ch
chn v
v chi
chiu
name
Student
Id
Name
1108
Robert
Suburb
Kew
3936
Glen
Bundoora
Glen
8507
Norman
Bundoora
Norman
8452
Mary
Balwyn
Name
19
20
Ph
Php k
kt n
ni (join) 2 quan h
h r v
v s
Php kt ni - V d:
a
b
c
r
r
v
r
s
t
x
y
z
a r x
b r x
Student
Enrol
Id
Name
Suburb
1108
Robert
Kew
3936
Glen
Bundoora
8507
Norman
Bundoora
8452
Mary
Balwyn
Kt qu
21
Ph
Php k
kt n
ni b
bngng-kt n
ni t
t nhin
nh ngha: Nu php so snh trong
iu kin kt ni l php so snh
bng th kt ni gi l kt ni bng
nh ngha: Php kt ni bng trn
cc thuc tnh cng tn ca 2 quan
h v sau khi kt ni 1 thuc tnh
trong 1 cp thuc tnh trng tn
s b loi khi quan h kt qu th
php kt ni gi l kt ni t nhin
C php php kt ni t nhin: R1 * R2
23
Id=SID
SID
Course
3936
101
1108
113
8507
101
SID
Id
Name
Suburb
Course
1108
1108
Robert
Kew
113
3936
3936
Glen
Bundoora
101
8507
8507 Norman
Bundoora
101
22
Ph
Php k
kt n
ni t
t nhin - V d:
Takes
Enrol
SID
SNO
1108
21
1108
23
8507
23
8507
29
SID
Course
SID
SNO
Course
3936
101
1108
21
113
1108
113
1108
23
113
8507
101
8507
23
101
8507
29
101
24
Ph
Php k
kt n
ni ngo
ngoi
V d: chn, chiu, kt ni
a ra tn ca cc sinh vin sng
Bundoora v m kho hc m sinh vin
ng k:
Student
Id
Name
Robert
Kew
3936
Glen
Bundoora
8507
Norman
Bundoora
Mary
Balwyn
SID
Course
3936
101
1108
113
8507
101
a
b
c
1108
8452
Enrol
name ,Course
Suburb
Kt qu
Name
Course
Glen
101
Norman
101
Student
ID
Name
Suburb
1108
Robert
Kew
3936
Glen
Bundoora
Kt qu
Balwyn
SID
Course
3936
101
1108
113
8507
101
ID
Name
Suburb
Course
1108
Robert
Kew
113
3936
Glen
Bundoora
101
8507
Norman
Bundoora
101
8452
Mary
Balwyn
null
a
b
c
xx
yy
zz
xx
yy
xx
zz
Course
Systems
BCS
Database
BCS
Database
MCS
Algebra
MCS
x
y
z
Course
a r x
b r x
s y
null
null t z
null
null
Luyn tp
Php hp (Union)
Subject
Course
r
s
t
27
aa
V d: a ra mn hc c dy
tt c cc kho hc
Name
r
r
v
26
Ph
Php chia (ti
(tip)
aa
aa
aa
bb
cc
a r x
b r x
null
c v null
Php chia
Enrol
Norman Bundoora
Mary
x
y
z
25
8452
r
s
t
Php kt ni ngoi - V d:
8507
r
r
v
BCS
MCS
V d:
Kt qu
Name
Database
29
30
Luyn tp
Luyn tp
Php tr (minus)
V d:
V d:
31
32
Luy
Luyn t
tp
Luyn tp
V d:
V d:
33
34
Luyn tp
Luy
Luyn t
tp
Php kt ni (join)
V d:
V d:
35
36
Luy
Luyn t
tp
Luyn tp
V d:
37
38
Bi tp
Cho CSDL gm 3 quan h sau: S(Cc hng cung
ng), P (cc mt hng), SP(cc s cung ng).
Yu cu ca bi tp
Biu din cc truy vn sau bng i s
quan h:
a ra danh sch cc mt hng mu
Cho bit S# ca cc hng cung ng mt hng
'P1' hoc 'P2'
Lit k S# ca cc hng cung ng c hai mt
hng 'P1' v 'P2'
a ra S# ca cc hng cung ng t nht mt
mt hng mu
a ra S# ca cc hng cung ng tt c cc
mt hng.
39
40
Li gii ca bi tp
Bi tp v nh
Cho cc quan h sau:
Supplier
41
SupplyProduct
sid
sname
size
city
sid
pid
quantity
S1
Dustin
100
London
S1
P1
500
S2
Rusty
70
Paris
S1
P2
400
S3
Lubber
120
London
S1
P3
100
S2
P2
200
Product
S3
P4
100
S2
P3
155
P1
Screw
red
P2
Screw
green
P3
Nut
red
P4
Bolt
blue
42
Bi tp v nh
Bi tp v nh
Ngn ng QBE
45
46
QBE (Query
(Query--ByBy-Example)
Example)
L mt ngn ng truy vn d liu
P.~ Print
Cc cu truy vn c thit lp bi mt
giao din ho
Ph hp vi cc cu truy vn n gin,
tham chiu n t bng
Mt s sn phm: IBM
(IBM Query
Management Facility), Paradox, MS.
Access, ...
47
Student
ID
Name
P._x
Suburb
Bundoora
suburb="Bundoora ( Student )
48
Truy v
vn trn m
mt quan h
h (ti
(tip)
La chn tt c cc ct
Student
ID
Name
P.
a ra tn ca cc sinh vin c ng
k t nht mt kho hc
Suburb
Student
Bundoora
ID
Name
_id
Sp xp
Student
ID
Name
P.AO(1)
P.AO(2)
Student
ID
Name
_id
Course
Suburb
Enrol
SID
Course
_id
P._name
50
Hp iu kin
c s dng biu din
V d: a ra tn cc thnh ph v s
lng sinh vin n t thnh ph
ID
SID
_id
49
Cc tnh ton tp hp
Student
Enrol
Suburb
AO: sp xp tng dn
DO: sp xp gim dn
Suburb
P._name
Name
_id
Suburb
G.P.
P.COUNT._id
Student
ID
_id
Name Suburb
G.P.
Condition
COUNT._id > 5
G. ~ Grouping
51
ID
Name
52
Tnh y ca QBE
C th biu din c 5 php ton i
s c s ( , , ,\,x)
Suburb
1108
Thm
Student
I.
ID
1179
Name
David
Suburb
Evry
Sa
Student
ID
1179
Name
Suburb
U.Paris
53
54
nh ngh
ngha d
d li
liu trong QBE
(ti
(tip)
nh ngh
ngha d
d li
liu trong QBE
s dng cng qui cch v giao din
ha nh i vi truy vn.
Cc khung nhn
I.View V
I.Student
I.
ID
Name
KEY
I.
TYPE
I.
CHAR(5)
CHAR(30)
CHAR(30)
DOMAIN
I.
Sid
SName
Surb
INVERSION
I.
I.
ID
I. _id
Suburb
Student
ID
_id
Name
Name
_name
Suburb
_name
Course
_course
Enrol
SID
_id
Course
_course
55
56
1976: SEQUEL2
1978/79: SQL
Ngn ng SQL
System-R
1986:
1989:
1992:
1996:
chun
chun
chun
chun
SQL-86
SQL-89
SQL-92
SQL-96
57
Cc th
thnh ph
phn c
ca SQL
58
Ngn ng
ng
nh ngh
ngha d
d li
liu
S quan h
Kiu d liu hay min gi tr ca mi thuc tnh
Cc rng buc ton vn
Cc ch s i vi mi bng
Thng tin an ton v y quyn i vi mi
bng
Cu trc lu tr vt l ca mi bng trn a
10
C ph
php
Quy c t tn v
v ki
kiu d li
liu
To bng
Quy c t tn
32 k t: ch ci, s, du _
CHAR(n)
VARCHAR(n)
Int
Smallint
Numeric(p,d)
Real, double
float(n)
Date
time
Xo bng
DROP TABLE tab
61
To bng - V d:
62
To bng - V d (tip)
63
64
Th
Thm/xo
m/xo/s
/sa c
ct ca cc bng
Thm
ALTER TABLE <tn bng>
ADD COLUMN <tn ct> <kiu d liu> [NOT NULL];
Xo
CHECK <condition>
Sa
ALTER TABLE <tn bng>
CHANGE COLUMN <tn ct> <kiu d liu mi>;
66
11
V d:
Xa
ALTER TABLE <tn bng>
DROP CONSTRAINT <tn rng buc>
67
68
SELECT
FROM
SELECT
FROM
V d
SELECT
FROM
Student
69
Truy v
vn khng i
iu ki
kin trn m
mt b
bng
Mt s
s v d kh
khc:
Id
Name
Suburb
1108
Robert
Kew
3936
Glen
Bundoora
Glen
8507
Norman
Bundoora
Norman
8452
Mary
Balwyn
Mary
name
(Student )
Name
Robert
70
Truy v
vn c
c i
iu ki
kin trn 1 b
bng
Chn cc bn ghi (dng)
a ra tn ca cc mt hng
SELECT pname FROM Product;
SELECT
FROM
WHERE
ColumnName,ColumnName, ...
TableName
condition_expression;
SELECT
FROM
WHERE
*
Student
suburb=Bundoora ;
V d
Student
suburb="Bundoora ( Student )
Id
Name
Suburb
1108
Robert
Kew
Id
Name
Suburb
3936
Glen
Bundoora
3936
Glen
Bundoora
8507
Norman
Bundoora
8507
Norman
Bundoora
8452
Mary
Balwyn
72
12
Truy v
vn c
c i
iu ki
kin trn 1 b
bng
Mt s
s v d kh
khc:
Bi
Biu di
din i
iu ki
kin l
la ch
chn
a ra tn ca cc hng cung ng c
tr s ti London
SELECT sname FROM Supplier
WHERE city = London;
a ra m s v tn ca cc hng
cung ng nm London v c s
nhn vin ln hn 75
SELECT sid, sname FROM Supplier
WHERE city = London AND size > 75;
Kiu d liu xu
LIKE: s dng i snh mu xu vi cc k t % hoc
_,? (thay th cho 1 k t bt k), * hay % (thay th
cho 1 xu k t bt k)
73
Bi
Biu di
din i
iu ki
kin l
la ch
chn V d:
Bi
Biu di
din i
iu ki
kin l
la ch
chn V d (ti
p)
(ti
74
FROM SupplierProduct
= P1 OR pid = P2;
FROM SupplierProduct
IN (P1, P2);
75
Truy v
vn c
c s dng ph
php to
ton
i tn
SQL cho php i tn cc bng v cc ct
trong mt cu truy vn (sau mnh
SELECT v FROM) s dng cu trc:
<tn c> AS <tn mi>
a ra tn v s nhn vin ca cc hng
cung ng Paris
SELECT sname AS HangOParis, size AS SoNhanVien
FROM Supplier
WHERE city = Paris;
SELECT
SID , Stud.Name as SName,
Sub.Name as Subject
FROM
Student as Stud,Takes,
Subject as Sub
WHERE
(Id=SID) and (SNO = No)
77
76
Truy v
vn ph
phc t
tp trn nhi
nhiu b
bng
iu kin kt ni
SELECT
FROM
WHERE
T1.C1,T1.C2,T2.C1,T2.C4, ...
T1, T2
condition_expression
SELECT
FROM
WHERE
78
13
Truy v
vn ph
phc t
tp trn nhi
nhiu b
bng
Mt s
s v d kh
khc:
Lo
Loi tr
tr cc b
bn ghi tr
trng nhau
a ra tn ca hng c cung ng mt
hng P1
T kho DISTINCT
SELECT sname
FROM Supplier S, SupplyProduct SP
WHERE S.sid = SP.sid AND SP.pid = P1;
a ra tn v m s ca hng cung ng t
nht mt mt hng mu
SELECT sname, sid
FROM Supplier S, SupplyProduct SP, Product P
WHERE S.sid = SP.sid AND P.pid = SP.pid AND
P.colour = red;
79
Tm kim c sp xp
Ph
Phn nh
nhm cc bn ghi k
kt qu
qu
Sp xp cc bn ghi kt qu theo mt th
t cho trc
SELECT
<bt1>, <bt2>,
FROM
<bang1>,<bang2>,
[WHERE
<dieu kien chon>]
ORDER BY <tt1>|<bieu thuc so 1> [ASC|DESC]
iu ki
kin hi
hin th
th cc bn ghi k
kt qu
qu
SELECT Suburb,
Count(Id)
FROM
Student
GROUP BY
Suburb
82
Cc ph
php to
ton tp h
hp:
UNION, MINUS, INTERSECT
V d: a ra danh sch tn cc mn hc khng
c sinh vin no tham d
80
<bt1>, <bt2>,
<bang1>,<bang2>,
<dieu kien chon>]
<dieu kien in ket qua>
V d: a ra tn cc thnh ph c nhiu
hn 3 sinh vin
SELECT
Suburb, COUNT(ID)
FROM
Student
GROUP BY Suburb
HAVING COUNT(ID) > 3
84
14
Cc cu truy v
vn lng nhau
Cc cu truy v
vn lng nhau (ti
(tip)
Kim tra thnh vin tp hp vi IN
v NOT IN:
a ra m s ca cc hng cung ng
ng thi 2 mt hng P1 v P2:
vd:SELECT *
FROM Supplier
WHERE SIZE>=ALL(SELECT SIZE FROM Supplier);
Cc cu truy v
vn lng nhau (ti
(tip)
So snh tp hp: S dng cc php ton
<,>, ,,=, km vi cc mnh ANY v
ALL
a ra tn ca cc hng c s nhn vin
ng nht:
SELECT sname FROM Supplier
WHERE size ALL(SELECT size FROM Supplier)
a ra sid ca hng cung ng mt mt hng
vi s lng bng t nht 1 trong s lng
cc mt hng c cung ng bi S2
SELECT sid FROM SupplyProduct
WHERE sid S2 AND quantity = ANY(SELECT
quantity FROM SupplyProduct SP2 WHERE
SP2.sid = S2);
86
Cc cu truy v
vn lng nhau (ti
(tip)
Kim tra tp hp rng vi EXISTS v
NOT EXISTS
EXISTS(cu truy vn con): nhn gi tr
ng khi cu truy vn con cho ra kt
qu l mt quan h khc rng
NOT EXISTS(cu truy vn con): nhn
gi tr ng khi cu truy vn con cho ra
kt qu l mt quan h rng
87
88
Cc hm th vin
Cc cu truy v
vn lng nhau (ti
(tip)
MAX/MIN
SUM
AVG
COUNT
90
15
Mt s
s v d vi c
cc h
hm th vi
vin
Mt s
s truy v
vn ph
phc t
tp
a ra tn ca hng S1 v tng s mt hng m hng cung ng
GROUP BY sname;
GROUP BY sid;
Cc cu l
lnh c
cp nh
nht d
d li
liu
92
Cc cu l
lnh c
cp nh
nht d
d li
liu
Thm
Xa d liu:
V d:
DELETE FROM SupplyProduct
WHERE sid = S4;
DELETE FROM Student
WHERE Suburb = Bundoora;
V d
INSERT INTO Student(Id, Name, Suburb)
VALUES
(1179,David,Evr)
93
94
Cc cu l
lnh c
cp nh
nht d
d li
liu
Sa i d liu:
UPDATE <tn bng> SET (<Tn ct> = Gi tr mi , )
[WHERE <iu kin sa i>];
V d:
Hng S1 chuyn ti Milan
UPDATE Supplier SET city = Milan
WHERE sid = S1;
Tt c cc mt hng c cung cp vi s lng nh hn
100 u tng s lng ln 1.5 ln
UPDATE SupplyProduct SET quantity = quantity * 1.5
WHERE quantity < 100;
95
96
16
Li hay p
"Ngi km thng minh nhng say
sa vi cng vic, tin mnh v xa
hn ngi cc thng minh m lnh
m vi cng vic".
J. Deval
97
17
Ni dung
L thuyt thit k
c s d liu quan h
Nguy
Nguyn Hng Phng
phuongnhphuongnh-fit@mail.hut.edu.vn
B mn H th
thng thng tin
Vi
Vin Cng ngh
ngh thng tin v
v Truy
Truyn thng
i hc Bch Khoa H Ni
Tng quan v
v thi
thit k
k CSDLQH
Cc v
vn
i v
vi CSDL VD
Vn ca mt s quan h c thit k
cha tt:
sid
sname
city
NOE
S1
Smith
London
100
product quantity
Screw
50
S1
Smith
London
100
Nut
100
S2
J&J
Paris
124
Screw
78
S3
Blake
Tokyo
75
Bolt
100
xu
xut gi
gii ph
php
Mc ch ca chu
chun ho
ho
Xc nh c 1 tp cc lc quan
h cho php tm kim thng tin mt
cch d dng, ng thi trnh c
d tha d liu
Hng tip cn: Mt trong nhng k
thut c s dng l Tch cc lc
quan h c vn thnh nhng
lc quan h chun hn. Ph thuc
hm c th c s dng nhn bit
cc lc cha chun v xut
hng ci tin
Th tt c cc vn nu trn s
c loi b. Tuy nhin khi tm kim
d liu th chng ta phi thc hin
kt ni 2 bng ch khng ch l
chn v chiu trn 1 bng nh
cch thit kt trc
5
Ph
Ph thu
thuc h
hm
V d
V d 1:
a1
b1
c1
a2
b2
c2
a3
b1
c1
a4
b3
c2
A B, A C, B C
V d 2: trong c s d liu mu dng trong
chng 3, ta c bng S, vi mi gi tr ca sid
u tn ti mt gi tr tng ng cho sname,
city v status. Do ta c sid sname, sid
city, sid status
H qu
qu ca h
h tin
Amstrong
H tin
Amstrong
i v
vi ph
ph thu
thuc h
hm
Cho
R(U) l 1 s quan h, U l tp cc thuc tnh.
X,Y,Z,W U
(K hiu: XY = X Y)
Phn x (reflexivity)
Nu Y X th X Y
Tng trng (augmentation)
Nu X Y th XZ YZ
Lut hp (union)
Nu X Y, X Z th X YZ.
Lut ta bc cu (pseudotransitivity)
Nu X Y, WY Z th XW Z.
Lut tch (decomposition)
Nu X Y, Z Y th X Z
Bc cu (transitivity)
Nu X Y, Y Z th X Z
9
V d
Bao
ng c
ca m
mt t
tp ph
ph thu
thuc h
hm
V d 1:
Cho tp ph thuc hm {ABC, CA}
Chng minh: BC ABC
CA
AB C
BC AB, AB ABC
10
BC AB
AB ABC
BC ABC
V d 2:
Cho lc quan h R(ABEIJGH) v tp
ph thuc hm F = {ABE, AGJ, BEI,
EG, GIH}
Chng minh: AB GH
11
Bao
ng c
ca m
mt t
tp c
cc thu
thuc t
tnh
i v
vi t
tp c
cc ph
ph thu
thuc h
hm
Thu
Thut to
ton 1: T
Tm bao
ng c
ca m
mt t
tp thu
thuc t
tnh
i v
vi t
tp ph
ph thu
thuc h
hm
V d
13
0:
1:
2:
3:
4:
14
Gi s Y=A1...An, vi A1,...,An l cc
thuc tnh v Y X+
T nh ngha X+ ta c X Ai. p dng
tin Amstrong cho mi i, suy ra X Y
nh lut hp.
Ngc li, gi s c X Y, p dng h tin
Amstrong cho mi i, ta c X Ai, Ai Y
nh lut tch. T suy ra Y X+
X0 = AB
X1 = ABC ( do AB C)
X2 = ABCD (do BCAD)
X3 = ABCDE (do DE)
X4 = ABCDE
15
16
Kho
Kho
Thu
Thut to
ton 2: T
Tm kho
kho ti thi
thiu
mt tp cc ph thuc hm xc nh trn U. K
l mt tp con ca U, K c gi l kho ti
thiu ca R nu nh
KU l mt ph thuc hm trong F+
Vi mi tp con thc s K ca K th KU khng
thuc F+
18
V d
Nh
Nhn x
xt v
v ph
ph thu
thuc hm
Cho U = {A, B, C, D, E}
F = {ABC, ACB, BCDE}. Tm mt kho ti thiu ca mt
quan h r xc nh trn U v F
Thc hin
B0: K0= U = ABCDE
B1: Kim tra xem c tn ti ph thuc hm (K0\{A})U
(BCDEU) hay khng. Ta cn phi s dng thut ton 1
kim tra iu kin tng ng l (BCDE)+ c bng U khng.
(BCDE)+= BCDE , khc U. Vy K1 = K0 = ABCDE
B2: Tng t, th loi b B ra khi K1 ta c (ACDE)+ =
ABCDE = U. Vy K2 = K1 \ {B} = ACDE
B3: K3 = ACDE
B4: K4 = ACE
B5: K5 = AC
Vy AC l mt kho ti thiu m ta cn tm
T mt tp cc ph thuc hm c th
suy din ra cc ph thuc hm khc
Trong mt tp ph thuc hm cho sn
c th c cc ph thuc hm b coi l
d tha
Lm th no c c mt tp
ph thuc hm tt?
19
20
Tp ph
ph thu
thuc hm tng
ng ng
ng
V d
nh ngha: Tp ph thuc hm F l ph ca
tp ph thuc hm G hay G l ph ca F
hay F v G tng ng nu F+ = G+.
K hiu l F
Z F, Z Y+ (trn
G) th Y Z G+
Nu vi ph thuc hm f F, f G+ th F+
G+
B.2. Tng t, nu ph thuc hm g G, g F+
th G+ F+
B.3. Nu F+ G+ v G+ F+ th F G
21
22
Tp ph
ph thu
thuc hm kh
khng d
d th
tha
Ph
Ph ti thi
thiu ca 1 t
tp ph
ph thu
thuc hm
/N: Fc c gi l ph ti thiu ca 1
tp ph thuc hm F nu tha mn 3
iu kin sau:
23
k1:
Vi f Fc, f c dng X A,
trong A l 1 thuc tnh
k2: Vi f = XY Fc, ! A X (A l 1
thuc tnh):
(Fc \ f) U {(X \ A)Y} Fc
k3: ! XA Fc : Fc \ {XA} Fc
24
Thu
Thut to
ton 4: T
Tm ph
ph ti thi
thiu
ca m
mt t
tp ph
ph thu
thuc h
hm
V d 1
U = {A,B,C}
F = {ABC, BC, AB, ABC}. Tm ph
ti thiu ca F?
F1 = {AB, AC, BC, ABC}
Xt cc pth trong F1 m v tri c nhiu hn 1
thuc tnh ABC. Gin c A th ta cn BC c
trong F1, vy A l thuc tnh tha. Tng t ta
cng tm c B l tha, vy loi b lun ABC
khi F1.F2 = {AB, AC, BC}
B pth tha: AC l tha. Vy Fc = {AB,
BC}
25
V d 2
26
V d 2 (ti
(tip)
Tm ph ti thiu ca tp ph thuc hm
F = {AB, ABCDE, EFG, ACDFEG}
Ph
Php t
tch c
cc S
quan h
h
Ph
Php t
tch khng m
mt m
mt thng tin
Mc ch
Thay th mt s quan h R(A1, A2, ,
An) bng mt tp cc s con {R1, R2,
, Rk} trong Ri R v R = R1 U R2 U
U Rk
Yu cu ca php tch
S1(sid,sname,city,NOE)
SP1(pid,pname,colour,quantity)
S1(sid,sname,city,NOE)
SP2(sid,pid,pname,colour,quantity)
30
Thu
Thut to
ton 5: Ki
Kim tra t
tnh khng m
mt
mt thng tin c
ca 1 ph
php t
tch
nh l t
tch i
Cho lc quan h R(U), tp pth F , php tch R
thnh R1(U1), R2(U2) l mt php tch khng mt
mt thng tin nu 1 trong 2 ph thuc hm sau l
tha mn trn F+:
U1 U2 U1 - U2
U1 U2 U2 - U1
H qu: Cho lc quan h R(U) v ph thuc
hm XY tha mn trn R(U). Php tch R thnh
2 lc con R1(U1), R2(U2) l mt php tch
khng mt mt thng tin vi:
U1 = XY
U2 = XZ
Z = U \ XY
31
V d
32
V d (ti
(tip)
B.2 & 3:
T A C, ta c
R1
a1
a2
a3
b41
R2
b12
a2
b32
a4
R3
a1
a2
a3
b43
R4
b14
a2
a3
a4
R1
a1
a2
a3
b41
R1
a1
a2
b31
b41
R2
b12
a2
b32
a4
R2
b12
a2
a3
a4
R3
a1
a2
a3
b43
R3
a1
a2
a3
b43
R4
b14
a2
a3
a4
R4
b14
a2
a3
a4
T B C, ta c
33
V d (ti
(tip)
T C D, ta c
34
Ph
Php t
tch b
bo to
ton t
tp ph
ph thu
thuc h
hm
Hnh chiu ca tp ph thuc hm
R1
a1
a2
a3
a4
R2
b12
a2
a3
a4
R3
a1
a2
a3
a4
R4
b14
a2
a3
a4
Vy ta c 2 hng c ton cc gi tr a.
Chng t php tch cho l khng
mt mt thng tin
35
V d
Cc d
dng chu
chun
i v
vi SQH
Dng chu
chun 1 (1NF)
Dng chu
chun 2 (2NF)
nh ngha: Mt s quan h R c gi l
dng chun 1 nu tt c cc min gi tr ca cc
thuc tnh trong R u ch cha gi tr nguyn t
Gi tr nguyn t l gi tr m khng th chia
nh ra c na
Mt quan h r xc nh trn s quan h dng
chun 1 th quan h y l dng chun 1
V d: Quan h khng dng chun 1 v quan h
sau khi chun ha v dng chun 1
nh ngha: Mt s quan h R c
coi l dng chun 2 nu
sname
city
product
name
price
Blake
London
Nut
100
Bolt
120
Smith
Paris
Screw
75
sname
city
item
price
Blake
London
Nut
100
Blake
London
Bolt
120
Smith
Paris
Screw
75
39
Ph
Ph thu
thuc h
hm
y
40
V d
S quan h ny 1NF
Tt c cc thuc tnh khng kho u ph
thuc hm y vo kho chnh
(Lu , A l mt thuc tnh kho nu A
thuc mt kho ti thiu no ca R.
Ngc li A l thuc tnh khng kho)
F+
Cc ph thuc hm khng y cn
gi l ph thuc b phn
41
Dng chu
chun 3 (ti
(tip)
Ph
Ph thu
thuc b
bc c
cu
nh ngha: Mt s quan h R c
coi l dng chun 3 nu
S quan h ny 2NF
Mi thuc tnh khng kho u khng ph
thuc bc cu vo kho chnh
43
44
V d
Dng chu
chun BoyeBoye-Codd
V d
Ch :
Tch b
bo to
ton t
tp ph
ph thu
thuc h
hm v
v
3NF
V d
Cho R = {A,B,C,D,E,F,G}
F = {AB, ACDE, EFG} ( ti thiu)
Xc nh php tch bo ton tp ph thuc
hm v 3NF
B1. Khng lp c quan h no mi.
B2. ! f F: f cha tt c cc thuc tnh ca R
B3. AB
ACDE
EFG
R1(AB)
R2(ACDE)
R3(EFG)
48
Tch khng m
mt m
mt thng tin v
v bo
to
ton t
tp ph
ph thu
thuc h
hm v
v 3NF
Yu cu:
Bo ton tp ph thuc hm (nh thut ton
trn)
m bo l c mt lc con cha kho ca
lc c tch
Cc bc tin hnh
B1. Tm mt kho ti thiu ca lc quan h R cho
B2. Tch lc quan h R theo php tch bo ton tp ph
thuc hm.
B3. Nu 1 trong cc s con c cha kho ti thiu th kt
qu ca B2 l kt qu cui cng
Ngc li, thm vo kt qu mt s quan h c
to bi kho ti thiu tm c 1
49
V d
Cho R(U) trong U = {A,B,C,D,E,F,G}. F =
{AB, ACDE, EFG}
Tm mt kho ti thiu ca R:
K0 = ABCDEFG
K1 = K0 do nu loi A th BCDEFG U khng thuc
F+
K2 = K1 \{B} = ACDEFG do ACDEFG U thuc F+
K3 = K2 do nu loi C th ADEFG U khng thuc
F+
K4 = K3 do nu loi D th ACEFG U khng thuc
F+
K5 = K4 \{E} = ACDFG do ACDFG U thuc F+
K6 = K5 do nu loi F th ACDG U khng thuc
F+
K7 = K6 \{G} = ACDF do ACDF U thuc F+
50
Vy kho ti thiu cn tm l ACDF
Tch khng m
mt m
mt thng tin v
v
BCNF
V d (ti
(tip)
Dng kt qu ca v d phn tch bo
ton tp ph thuc hm ta c mt php
tch R thnh 3 s con R1 = AB, R2=
ACDE, R3 = EFG
Do kho ACDF khng nm trong bt k mt
s con no trong 3 s con trn, ta lp
mt s con mi R4 = ACDF
Kt qu cui cng ta c php tch R thnh
4 s con {R1, R2, R3, R4} l mt php
tch khng mt mt thng tin v bo ton
tp ph thuc hm
51
Kt lu
lun
Tm quan trng ca thit k CSDL
nh hng n cht lng d liu lu tr
Hiu qu ca vic khai thc d liu
Mc ch ca thit k CSDL:
Trnh d tha d liu
Trnh d thng d liu khi thm/xo/sa i
Hiu qu trong tm kim
a v cc dng chun
2NF: gin c s d tha trnh cc d thung
khi cp nht
3NF: trnh cc d thng khi thm/xo
53
54
Li hay
p
"Nu anh thy mt gia nh hnh phc,
anh nn tin rng trong gia nh c
mt ngi n b bit qun mnh."
(Ren Bazin)
55
10
Ni dung
Tng quan v x l truy vn
Ti u ha cc biu thc i s quan h
Ti u ha cu truy vn
Nguy
Nguyn Hng Phng
phuongnhphuongnh-fit@mail.hut.edu.vn
B mn H th
thng thng tin
Vi
Vin Cng ngh
ngh thng tin v
v Truy
Truyn thng
i hc Bch Khoa H Ni
NHP
Tng quan v
v x l truy v
vn (tip)
X l mt truy vn bao gm 3
bc chnh:
NHP
NHP
Tng quan v
v x l truy v
vn (tip)
Tng quan v
v x l truy v
vn (tip)
S b trong quan h
Kch thc ca mt b
S khi (block) cha cc b ca quan h
S b ca quan h m mt khi c th cha
Cc thng tin v c ch truy nhp, ch dn trn
quan h
Truy va n au va o
Bie u th c SQH
To i u ho a
truy va n
Ca u tra l i truy va n
NHP
Bien dch
truy van
Thc hie n
tm kie m dl
CSDL
Thon g ke ve dl
Ke hoa ch th c hie n
NHP
nh gi
gi bi
biu th
thc SQH
nh gi
gi bi
biu th
thc SQH (ti
(tip)
Vt cht ha (Materialize)
ng ng (Pipeline)
NHP
NHP
nh gi
gi bi
biu th
thc SQH (ti
(tip)
nh gi
gi bi
biu th
thc SQH (ti
(tip)
NHP
Ti u h
ha c
cc bi
biu th
thc SQH
Mc tiu l t chc li trnh t thc hin cc
php ton trong biu thc gim chi ph
thc hin nh gi biu thc .
Trong qu trnh ti u ha, ta biu din mt
biu thc SQH di dng mt cy ton t.
Trong cy th cc nt l l cc quan h c
mt trong biu thc, cc nt trong l cc
php ton trong biu thc
V d : a ra tn hng cung ng mt hng
c m l 'P1':
Select sname From S, SP Where S.sid =
SP.sid And pid = 'P1'
Biu thc SQH tng ng l?
Cy ton t tng ng l?
11
NHP
10
NHP
Cc chi
chin l
lc t
ti u t
tng qu
qut
1.
2.
3.
4.
NHP
Cc ph
php bi
bin
i tng ng
bi
biu th
thc SQH
Cc chi
chin l
lc t
ti u t
tng qu
qut (ti
(tip)
5. Xc nh cc php ton c th c a
vo ng ng v thc hin nh gi
chng theo ng ng
6. X l cc tp d liu trc khi tin hnh
tnh ton: To lp ch dn hay sp xp tp
d liu c th gp phn lm gim chi ph
ca cc php tnh trung gian
7. c lng chi ph v la chn th t thc
hin: Do vi mi cu truy vn c th c
nhiu cch khc nhau thc hin, vi
vic ng lng chi ph (s php tnh, ti
nguyn s dng, dung tch b nh, thi
gian thc hin ..) ta c th chn cch nh
gi biu thc SQH c chi ph nh nht.
13
NHP
14
NHP
Cc ph
php bi
bin
i tng ng
bi
biu th
thc SQH (tip)
Cc ph
php bi
bin
i tng ng
bi
biu th
thc SQH (tip)
1.
( E1 E 2 ) E3 E1 ( E 2 E3 )
1)(S*SP)*P
2)(S*P)*SP
3)S*(SP*P)
( E1 * E 2 ) * E3 E1 * ( E 2 * E3 )
( E1 >< E 2 ) >< E3 E1 ><( E 2 >< E3 )
F1
F2
F1
F2
NHP
16
NHP
Cc ph
php bi
bin
i tng ng
bi
biu th
thc SQH (tip)
Cc ph
php bi
bin
i tng ng
bi
biu th
thc SQH (tip)
2. Quy tc giao hon trong php tch
cc v kt ni E1 E 2 E 2 E 1
E1 * E 2 E 2 * E1
X ( F ( E )) F ( X ( E ))
E 1 >< E 2 E 2 >< E 1
F
X ( F ( E )) X ( F ( XY ( E )))
17
18
NHP
Cc ph
php bi
bin
i tng ng
bi
biu th
thc SQH (tip)
Cc ph
php bi
bin
i tng ng
bi
biu th
thc SQH (tip)
Ta k hiu:
F 1 ( E1 ) E 2
trong trng hp F = F1(U1)
F 1 ( E1 ) F 2 ( E 2 ) trong trng hp F = F1(U1)
F2(U2)
F2(U1U2)
19
NHP
20
NHP
Cc ph
php bi
bin
i tng ng
bi
biu th
thc SQH (tip)
V d
X ( E 1 (U 1 ) E 2 (U 2 )) Y ( E 1 ) Z ( E 2 )
X = YZ , Y U 1 , Z U 2
10.Quy tc i vi php chiu v php
hp:
X ( E1 U E 2 ) X ( E1 ) U X ( E 2 )
21
NHP
22
NHP
Li hay
p
23
NHP
24
NHP
Ni dung
An ton d liu
Xc minh ngi s dng
Kim tra quyn truy nhp ca ngi s
dng
Cc cu lnh an ton d liu trong SQL
An to
ton v
v to
ton v
vn d
d li
liu
Nguy
Nguyn Hng Phng
phuongnhphuongnh-fit@mail.hut.edu.vn
Ton vn d liu
Cc rng buc ton vn trong SQL
iu khin tng tranh
B mn H th
thng thng tin
Vi
Vin Cng ngh
ngh thng tin v
v Truy
Truyn thng
i hc Bch Khoa H Ni
1
An to
ton d
d li
liu
Cc quy
quyn truy nh
nhp c
ca ng
ngi s
s dng
Tr
Trch nhi
nhim c
ca ng
ngi qu
qun tr
tr h th
thng
Xc minh ng
ngi s
s dng
Ki
Kim tra quy
quyn truy nh
nhp c
ca ng
ngi s
s dng
Mi ngi s dng s c mt b h s do
ngi qun tr thit lp v c h thng
qun l, trong h s s c chi tit v cc
thao tc ngi s dng c php thc hin:
Phn quyn ngi s dng: Ngi qun tr h
thng phi c trch nhim xc nh khung nhn
kim sot xem mi ngi s dng ch c truy
nhp phn d liu no trong CSDL v c c cc
quyn no trong s cc quyn c, thm, xa ,
sa i.
Xc nh v kim sot s lu chuyn d liu: H
thng phi bo tr danh sch cc quyn mt cch
cht ch v ngi s dng c th c quyn lan
truyn cc quyn cho ngi s dng khc.
Cc cu l
lnh an to
ton d
d li
liu trong SQL
Cu lnh to khung nhn
Cu lnh phn quyn cho ngi s
dng
Cu lnh thu hi quyn ca ngi s
dng
Cu l
lnh t
to khung nh
nhn
V d cu l
lnh t
to khung nh
nhn
10
Cu l
lnh phn quy
quyn cho NSD
Cu l
lnh phn quy
quyn cho NSD (ti
(tip)
12
V d cu l
lnh phn quy
quyn cho NSD
Cu l
lnh thu h
hi quy
quyn c
ca NSD
Cu l
lnh thu h
hi quy
quyn c
ca NSD (ti
(tip)
Nu Restrict th c ngha l ch hy b
quyn ca nhng ngi c trong danh
sch, quyn c lan truyn cho ngi
khc khng b thu hi.
Nu dng Cascade th hy b quyn ca
ngi trong <D/s ngi dng>, ng thi
ko theo hy b quyn m ngi dng
lun chuyn cho nhng ngi khc.
V d:
REVOKE update,delete ON NVKH FROM
HungNC CASCADE
15
14
To
Ton v
vn d
d li
liu
nh ngha: Tnh ton vn d liu l s bo v
Cc r
rng bu
buc to
ton v
vn trong SQL
V d v kh
khng
nh
17
Cc r
rng bu
buc to
ton v
vn trong SQL (tip)
V d v kch ho
hot
Nhnvin(ID,Htn,Lng,ach,Ng
iqunl)
Mt nhn vin bao gi cng c lng
t hn lng ngi trng phng, iu
kin ny phi c kim tra khi thm
b d liu.
19
20
i
iu khi
khin tng tranh
Cc k
k thu
thut i
iu khi
khin tng tranh
21
22
Li hay
p
23
24