Professional Documents
Culture Documents
Chng 4
Muc tieu
Chng nay e cap en van e toi u hoa trong c s d
lieu phan tan ngha la giam chi ph bo nh trung gian,
giam thi gian truy van cung nh giam thi gian truyen d
lieu trong cac truy van phan tan.
Cac van e c e cap trong chng nay nh sau:
4.1. Truy van. Bieu thc chuan tac cua truy van:
Phan nay neu len khai niem ve truy van va the nao la
bieu thc chuan tac cua mot cau truy van. Bieu thc
chuan tac la mot bieu thc c s dung nhieu trong
viec truy van c s d lieu phan tan.
4.2. Toi u hoa truy van trong c s d lieu tap
trung:
Phan nay nhac lai qua trnh toi u hoa mot cau truy van
cuc bo, no gom cac bc sau:
4.2.1. Bc 1- Kiem tra ng phap
4.2.2. Bc 2- Kiem tra s hp le
4.2.3. Bc 3- Dch truy van
4.2.4. Bc 4- Toi u hoa bieu thc ai so quan he
4.2.5. Bc 5- Chon la chien lc truy xuat
4.2.6. Bc 6-Tao sinh ma
4.3. Toi u hoa trong c s d lieu phan tan:
Phan nay trnh bay qua trnh toi u hoa mot cau truy van
phan tan, no bao gom cac bc sau:
4.3.1. Bc 1 Phan ra truy van
4.3.1.1. Bc 1.1- Phan tch truy van
4.3.1.2. Bc 1.2- Chuan hoa ieu kien cua menh e
WHERE
4.3.1.3. Bc 1.3- n gian hoa ieu kien cua menh e
WHERE
4.3.1.4. Bc 1.4- Bien oi truy van thanh bieu thc ai so
quan he hieu qua.................................................................
4.3.1.5. Mot giai thuat toi u hoa mot bieu thc ai so
quan he tren lc o
toan cuc
4.3.2. Bc 2- nh v d lieu
4.3.2.1. Bc 2.1. Bien oi bieu thc ai so quan he tren
lc o toan cuc
4.3.2.2. Bc 2.2. n gian hoa bieu thc ai so quan he
tren lc o
phan manh
4.3.2.3. Mot giai thuat toi u hoa mot bieu thc ai so
quan he tren lc o
phan manh
_________________________________________________________________________
Trang 1
M au
Chng nay trnh bay ve cac bc thc hien trong viec
toi u hoa truy van trong c s d lieu tap trung va trong
c s d lieu phan tan, cac tieu chuan toi u hoa nham
e lam giam thi gian thc hien truy van, giam vung nh
trung gian va chi ph truy van thong trong qua trnh thc hien
truy van, bo suy dien dung trong viec n gian hoa bieu
thc ai so quan he cua truy van.
Chng nay s dung mot c s d lieu sau ay e minh
hoa cho cac noi dung c trnh bay trong chng:
Sinhvien (masv, hoten, tuoi, malop)
Lop (malop, tenlop, malt, tenkhoa)
Monhoc(mamh, tenmh)
Hoc (masv, mamh. Diem)
Trong o :
Sinhvien : cha thong tin ve sinh vien gom: ma sinh vien
(masv), ho ten (hoten), Tuoi (tuoi), thuoc lp
(malop). Khoa la masv.
Lop
: cha thong tin ve lp hoc gom: ma lp (malop),
ten lp (tenlop), ma lp Trng (malt), thuoc khoa
(tenkhoa). Khoa la malop.
Monhoc : cha thong tin ve mon hoc gom: ma mon hoc
(mamh), ten mon hoc (tenmh).
Hoc
: cha thong tin ve sinh vien (masv) hoc mon hoc
(mamh) co iem thi cuoi Ky (diem). Khoa la masv
va mamh.
4.1. Truy van. Bieu thc chuan tac cua truy van
4.1.1. Truy van
Truy van (query) la mot bieu thc c bieu dien bang
mot ngon ng thch hp va dung e xac nh mot phan
d lieu c cha trong c s d lieu.
Mot truy van co the c dung e xac nh ng ngha
cua mot ng dung, hoac no co the c dung e xac
nh cong viec can c thc hien bi mot ng dung
nham e truy xuat c s d lieu.
V du: Xet truy van cho biet ten lp cua lp co ma lp
la MT . Truy van nay co the c bieu dien bi mot
bieu thc ai so quan he nh sau :
Tenlop(malop=MT (lop))
_________________________________________________________________________
Trang 2
Lop2
_________________________________________________________________________
Trang 4
Toi u hoa ai so
quan he
Truy van ai so quan he c
toi u hoa
Chon chien lc
Ke hoach thc hien
Tao sinh ma
malop=MT
_________________________________________________________________________
Trang 9
ho
c
hoc.mamh=monhoc.ma
mh
malop=M
diem
tenmh=Tin
sinhvie
monho
T
hoc
_________________________________________________________________________
n
c
Trang 10
hote
n
ketqua
_________________________________________________________________________
Trang 11
hoc.mamh=monhoc.m
amh
monho
c
ho
c
diem
tenmh=Tin
sinhvie
monho
hoc
n
c
hote
ketqua
o th truy van ncua truy
van nay la khong lien thong,
_________________________________________________________________________
Trang 12
AND
<
<=
>
>=
nho hn
nho hn hoac bang
ln hn
ln hn hoac bang
P1 ^ P2 P2 ^ P1
P1 v P2 P2 v P1
P1 ^ ( P2 ^ P3) ( P1 ^ P2) ^ P3
P1 v( P2 v P3) ( P1 v P2) vP3
P1 ^ ( P2 vP3) ( P1 ^ P2) v (P1 ^ P3)
P1 v( P2^P3) ( P1 vP2)^ (P1 vP3)
( P1 ^ P2) P1 v P2
( P1 vP2) P1 ^ P2
(P) P
la malop=MT1
la malop=MT2
la hoten=Nam
P^PP
PvPP
P ^ true P
P v false P
P ^ false false
P v true true
P ^ P false
P v P true
P1 ^ (P1 v P2) P1
P1 v (P1 ^ P2) P1
Vdu: Xet truy van Q10 tren, ieu kien q dang chuan
hp la:
(P1 ^ P1 ^ P2) v (P1 ^ P2 ^ P2 ) v P3
Bang cach ap dung phep bien oi (16), chung ta c:
(false ^ P2 ) v (P1 ^ false) v P3
Ap dung phep bien oi (14), cung ta c:
False v
False v P3
Phep
chieu
diem=9 v diem=10
tenmh=Tin hoc
Phep
chon
mamh= mamh
masv =
monhoc
Phep
_________________________________________________________________________
ket
masv
Trang 16
sinhvien
hoc
malop=malop
sinhvien
malop=malop
malt=123
tuoi >20
malt=123
lop
sinhvien
lop
sinhvien
malop=malop
malt=123
lop
malop=malop
malt=123 lop
_________________________________________________________________________
Trang 18
malop=malop
malt=123
sinhvien
lop
malop=malop
IIhoten, malop
IImalop
tuoi <= 20
malt=123
sinhvien
lop
(sinhvien))
malop=malop
IImalop (malt=123(lop)))
F (R F1 S) F (R) F1 S
( neu Attr(F) Attr(R))
F1 ^ F2 (R F3 S) F1 (R) F3 F2 (S)
( neu Attr(F1) Attr(R) va Attr(F2)
Attr(S))
F (R F3 S) F2 (F1 (R) F3 S)
( neu F=F1 ^ F2 va Attr(F1) Attr(R) va Attr(F2) Attr(R)
Attr(S))
F (R x S) F (R) x S
( neu Attr(F) Attr(R))
F1 ^ F2 (R x S) F1 (R) x F2 (S)
( neu Attr(F1) Attr(R) va Attr(F2)
Attr(S))
F (R x S) F2 (F1 (R) x S)
( neu F=F1 ^ F2 va Attr(F1) Attr(R) va Attr(F2) Attr(R)
Attr(S))
Bc 3. Thc hien phep chieu cang sm cang tot. S
dung tnh idempotence cua phep chieu, tnh phan phoi
cua phep chieu oi vi phep hp, phep ket va phep
tch e di chuyen phep chieu cang xuong pha di cay
cang tot. Kiem tra tat ca cac phep chieu la can
thiet, loai bo phep chieu khong can thiet neu phep
nay chieu tren tat ca cac thuoc tnh cua quan he
toan hang.
S dung phep bien oi:
IIX1 (IIX2 (R)) IIX1 (R)
vi X1 X2
IIX (R S) IIX (R) IIX (S)
IIX (R F S) IIX (R) F (S)
( neu Attr(FR) X va X Attr(R))
IIX1 X2 (R F S) IIX1 (R) F IIX2 (S)
( neu Attr(F) X1 X2 va X1 Attr(R) va X2
Attr(S))
IIX1 X2 (R x S) IIX1 (R) x IIX2 (S)
( neu X1 Attr(R) va X2 Attr(S))
Bc 4. Neu mot phep chon c thc hien ngay sau mot
phep tch, ma phep chon bao gom cac thuoc tnh cua
cac quan he trong phep tch, th bien oi phep tch
thanh phep ket. Neu phep chon ch bao gom cac
thuoc tnh cua mot quan he trong phep tch, th thc
_________________________________________________________________________
Trang 21
hien phep chon cho quan he nay trc khi thc hien
phep tch.
S dung cac phep bien oi:
F (R x S) F (R) x S
( neu Attr(F) Attr(R))
F1 ^ F2 (R x S) F1 (R) x F2 (S)
( neu Attr(F1) Attr(R) va Attr(F2)
Attr(S))
F (R x S) F2 (F1 (R) x S)
( neu F=F1 ^ F2 va Attr(F1) Attr(R) va Attr(F2) Attr(R)
Attr(S))
Bc 5. Neu co mot chuoi cac phep chon va/ hoac cac
phep chieu, s dung tnh giao hoan hoac tnh
idempotence e ket hp chung thanh mot phep chon,
mot phep chieu hoac mot phep chon i trc mot
phep chieu va ap dung chung cho moi bo cua quan
he toan hang. Neu mot phep ket hoac phep tch i
trc mot chuoi cac phep chon hoac cac phep chieu,
th ap dung chung cho moi bo cua phep ket hoac
phep chieu ngay khi tao ra ket qua.
Bc 6. S dung tnh ket hp cua phep giao, phep tch va
phep ket e sap xep lai cac quan he trong cay toan
t, sao cho phep toan nao ma no tao ra ket qua t
nhat se c thc hien trc tien.
S dung cac phep bien oi:
(R S) T (R T) S
(R x S) x T (R x T) x S
(R F1 S) F2 T (R F2 T) F1 S
( neu Attr(F2) Attr(R) Attr(T))
( neu Attr(F1) Attr(R) Attr(S))
4.3.2. Bc 2 nh v d lieu
Bc nh v d lieu (Data Localization) con c goi la
bc toi u hoa truy van tren lc o phan manh .
Bc nay bien oi truy van toan cuc (ket qua cua Bc
1) thanh cac truy van manh hieu qua: loai bo cac phep
toan ai so quan he khong can thiet tren cac manh va
giam vung nh trung gian.
_________________________________________________________________________
Trang 22
_________________________________________________________________________
Trang 23
DIEN.
thanh
manh
manh
sinhvien
masv,hoten,
tenlop
malop=malop
tenkhoa=CNTT
lop
_________________________________________________________________________
Trang 24
masv,hoten,
tenlop
malop=malop
masv,hoten,
malop
sinhvien
malop, tenlop
tenkhoa=CNTT
lop
U
Sinhvien
1
masv,hoten,
malop
Sinhvien
2
masv,hoten,
tenlop
malop=malop
malop, tenlop
tenkhoa=CNTT
Lop2thc ai so quan
Lop1 bieu
4.3.2.2 Bc 2.2 n gian hoa
he tren lc o phan manh
n gian hoa bieu thc ai so quan he tren lc o phan
manh e co c mot bieu thc hieu qua (loai bo cac
phep toan khong can thiet, giam vung nh trung gian)
bang cach s dung cac phep bien oi tng ng cua ai
so quan he va cua ai so quan he c tuyen chon.
Cac phep bien oi tng ng (ap dung cho cac quan he
va cac quan he c tuyen chon) gom co:
(1) F ()
(2) X ()
(3) R x
(4) R U R
(5) R
(6) R - R
(7) - R
(8) R
_________________________________________________________________________
Trang 25
(9) R <
(10) < R
n gian hoa mot bieu thc ai so quan he tren lc o
phan manh c thc hien da tren cac tieu chuan sau:
Tieu chuan 6: Di chuyen cac phep chon xuong cac nut
la cua cay, va sau o ap dung chung bang cach dung
ai so quan he c tuyen chon; thay the cac ket qua
chon la bi quan he rong neu ieu kien chon cua ket
qua b mau thuan.
Tieu chuan 7: e phan phoi cac phep ket xuat hien
trong mot truy van toan cuc, cac phep hp (bieu dien tap
hp cua cac phan manh) phai c di chuyen len pha
tren cac phep ket ma chung ta muon phan phoi e loai
bo cac phep ket khong can thiet.
Tieu chuan 8: Dung ai so quan he c tuyen chon e
nh tr ieu kien chon cua cac toan hang cua cac phep
ket; thay the cay con, bao gom phep ket va cac toan
hang cua no, bang quan he rong neu ieu kien chon cua
ket qua cua phep ket b mau thuan.
V du : Xet cay toan t tren lc o phan manh tren
ay phep chon va phep chieu xuong khoi phep hp ta
c:
malop,tenlop( tenkhoa=CNTT (lop1 U lop2))
= malop,tenlop( tenkhoa=CNTT (lop1)) U malop,tenlop(
tenkhoa=CNTT
(lop2))
_________________________________________________________________________
Trang 26
Ta co cay toan t:
masv,hoten,
tenlop
malop=malop
malop, tenlop
Lop1
masv,hoten,
masv,hoten,
malop
malop
Sau o Sinhvien
phan phoi phep
ket
vi vi phep hp ta c:
Sinhvien
masv,hoten,
masv,hoten,
tenlop
malop=malop
malop, tenlop
masv,hoten,
malop=malop
malop, tenlop
malop
Tuy nhienSinhvien
phepmalop
ket gia
sinhvien2
va
lop1 la Lop1
rong do ieu
Lop1
Sinhvien
kien chon
1 cua phan manh lop12va sinhvien2 mau thuan
nhau.
Cuoi cung ta co cay toan t tren lc o phan manh nh
sau:
masv,hoten,
malop
Sinhvien
1
masv,hoten,
tenlop
malop=malop
malop, tenlop
Lop1
Malop <= 10
Malop > 10
tenkhoa = CNTT
tenkhoa = DIEN
tenkhoa = CNTT
tenkhoa = DIEN
tenkhoa = DIEN
NOT (Malop >10)
NOT (Malop <=10)
Malop <= 10
Malop > 10
not(tenkhoa = DIEN)
not(tenkhoa = CNTT)
tenkhoa= CNTT
Do o truy van nay ch lien quan en lop1 v ieu kien
chon cua lop1 la tenkhoa = CNTT. V the bieu thc ai so
quan he cua truy van nay la:
tenlop ( malop=1 (lop1))
4.3.3 Bc 3 Toi u hoa truy van toan cuc
Bc toi u hoa truy van toan cuc nham e tm ra mot
chien lc thc hien truy van sao cho chien lc nay gan
toi u (theo ngha giam thi gian thc hien truy van tren d
lieu c phan tan, giam vung nh trung gian).
Mot chien lc c ac trng bi th t thc hien cac
phep toan ai so quan he va cac tac vu truyen thong c
ban (gi/nhan) dung e truyen d lieu gia cac v tr.
Bang cac hoan oi th t cua cac phep toan trong bieu
thc truy van phan manh, ta co the co c nhieu truy
van tng ng.
Toi u hoa truy van toan cuc la tm ra mot th t thc
hien cac phep toan trong bieu thc truy van sao cho t ton
thi gian nhat. ac biet khau ton kem thi gian trong c
s d lieu phan tan la khau truyen d lieu do toc o
va bang thong gii han.
_________________________________________________________________________
Trang 28
Trong trng hp nhan ban th con phai tnh xem nhan ban
nao c s dung nham giam chi ph truyen thong.
Mot kha canh quan trong cua toi u hoa truy van la th t
thc hien cac phep ket phan tan. Nh tnh giao hoan cua
cac phep ket, chung ta co the lam giam chi ph thc hien
cac phep ket nay. Mot ky thuat c ban e toi u hoa
mot chuoi cac phep ket phan tan la s dung phep na
ket nham lam giam chi ph truyen thong gia cac v tr va
tang tnh x ly cuc bo tai cac v tr.
R A = B S = S A = B (R <A = B BS)
V du: Gia s co s phan tan d lieu sau:
- manh sinhvien1 at tai v tr 1 va
- manh lop1 at tai v tr 2
Chung ta can thc hien phep ket phan tan sau:
Sinhvien1 lop1
Bang cach ap dung phep na ket bieu thc tren tng
ng vi:
Lop1 (sinhvien1 < malop(lop1))
Do o ta co mot chien lc thc hien cho phep ket phan
tan nay vi cac tac vu truyen thong sau:
1)
2)
3)
4)
5)
6)
_________________________________________________________________________
Trang 29