You are on page 1of 42

Chng 6

Php tnh quan h


C s d liu - Khoa CNTT - H KHTN TPHCM 2
Ni dung chi tit
Gii thiu
Php tnh quan h trn b
Php tnh quan h trn min
C s d liu - Khoa CNTT - H KHTN TPHCM 3
Gii thiu
Maths
Algebra
Logic
Relational Algebra
Relational Calculus
1970
1972
ACM
Turing
Award
1981
Codd
Database
Geometry



???
???
Award
Other fields
2???
2???
YOU
C s d liu - Khoa CNTT - H KHTN TPHCM 4
Gii thiu (tt)
L ngn ng truy vn hnh thc

Do Codd ngh vo nm 1972, Data Base
Systems, Prentice Hall, p33-98

c im
- Phi th tc
- Da vo l thuyt logic
- Rt trch ci g (what) = rt trch nh th no (how)
- Kh nng din t tng ng vi SQH
C s d liu - Khoa CNTT - H KHTN TPHCM 5
Gii thiu (tt)
C 2 loi
- Php tnh quan h trn b (Tuple Rational Calculus)
SQL
- Php tnh quan h trn min (Domain Rational Calculus)
QBE (Query By Example)
C s d liu - Khoa CNTT - H KHTN TPHCM 6
Ni dung chi tit
Gii thiu
Php tnh quan h trn b
Php tnh quan h trn min
C s d liu - Khoa CNTT - H KHTN TPHCM 7
Php tnh quan h trn b
Biu thc php tnh quan h trn b c dng


- t l bin b
Bin nhn gi tr l mt b ca quan h trong CSDL
t.A l gi tr ca b t ti thuc tnh A

- P l cng thc c lin quan n t
P(t) c gi tr NG hoc SAI ph thuc vo t

- Kt qu tr v l tp cc b t sao cho P(t) ng
{ t.A | P(t) }
C s d liu - Khoa CNTT - H KHTN TPHCM 8
V d 1
Tm cc nhn vin c lng trn 30000
C s d liu - Khoa CNTT - H KHTN TPHCM 9
V d 2
Cho bit m v tn nhn vin c lng trn 30000

C s d liu - Khoa CNTT - H KHTN TPHCM 10
V d 3
Cho bit cc nhn vin (MANV) lm vic phng
Nghien cuu

C s d liu - Khoa CNTT - H KHTN TPHCM 11
V d 3
Cho bit cc nhn vin (MANV) lm vic phng
Nghien cuu
C s d liu - Khoa CNTT - H KHTN TPHCM 12
V d 4
Cho bit tn cc nhn vin (TENNV) tham gia lm
n hoc c thn nhn
C s d liu - Khoa CNTT - H KHTN TPHCM 13
V d 5
Cho bit tn cc nhn vin (TENNV) va tham gia
lm n va c thn nhn
C s d liu - Khoa CNTT - H KHTN TPHCM 14
V d 6
Cho bit tn cc nhn vin (TENNV) tham gia lm
n m khng c thn nhn no
C s d liu - Khoa CNTT - H KHTN TPHCM 15
V d 7
Vi mi an TP HCM cho bit ma an, ma
phong ban ch tri va tn ngi trng phong
C s d liu - Khoa CNTT - H KHTN TPHCM 16
V d 8
Tm cc nhn vin (MA_NVIEN) tham gia vo tt c
cc n

C s d liu - Khoa CNTT - H KHTN TPHCM 17
V d 8 (tt)
Tm cc nhn vin (MANV, HONV, TENNV) tham
gia vo tt c cc n
C s d liu - Khoa CNTT - H KHTN TPHCM 18
V d 9
Tm cc nhn vin (MANV, HONV, TENNV) tham
gia vo tt c cc n do phng s 4 ph trch

C s d liu - Khoa CNTT - H KHTN TPHCM 19
V d 9 (tt)
Tm cc nhn vin (MANV, HONV, TENNV) tham
gia vo tt c cc n do phng s 4 ph trch
C s d liu - Khoa CNTT - H KHTN TPHCM 20
nh ngha hnh thc
Mt cng thc truy vn tng qut c dng



- t
1
, t
2
, , t
n
l cac bin b
- A
i
, A
j
, , A
k
la cac thuc tinh trong cac b t tng ng
- P l cng thc
P c hnh thnh t nhng cng thc nguyn t
{ t
1
.A
i
, t
2
.A
j
, t
n
.A
k
| P(t
1
, t
2
, , t
n
) }
C s d liu - Khoa CNTT - H KHTN TPHCM 21
Bin b
Bin t do (free variable)




Bin kt buc (bound variable)
{ t | t e NHANVIEN . t.LUONG > 30000 }
t l bin t do
{ t | t e NHANVIEN . -s e PHONGBAN (s.MAPHG = t.PHG) }
Bin kt buc Bin t do
C s d liu - Khoa CNTT - H KHTN TPHCM 22
Cng thc nguyn t
(i)
- t l bin b
- R l quan h

(ii)
- A l thuc tnh ca bin b t
- B l thuc tnh ca bin b s
- u l cc php so snh < , > , s , > , = , =

(iii)
- c l hng s
- A l thuc tnh ca bin b t
- u l cc php so snh < , > , s , > , = , =
t e R
t.A u s.B
t.A u c
t e NHANVIEN
t.MANV = s.MANV
s.LUONG > 30000
C s d liu - Khoa CNTT - H KHTN TPHCM 23
Cng thc nguyn t (tt)
Mi cng thc nguyn t u mang gi tr NG
hoc SAI
- Gi l chn tr ca cng thc nguyn t

Cng thc (i)
- Chn tr NG nu t l mt b thuc R
- Chn tr SAI nu t khng thuc R
A B
o
R
o
10
20
C
1
1
t1 = <o, 10, 1>
t2 = <o, 20, 2>
t1 e R c chn tr NG
t2 e R c chn tr SAI
C s d liu - Khoa CNTT - H KHTN TPHCM 24
Cng thc nguyn t (tt)
Cng thc (ii) v (iii)
- Chn tr ty thuc vo vic thay th gi tr tht s ca b
vo v tr bin b
A B
o
R
o
10
20
C
1
1
Nu t l b <o, 10, 1>
Th t.B > 5 c chn tr NG (10 > 5)
C s d liu - Khoa CNTT - H KHTN TPHCM 25
Qui tc
(1) Mi cng thc nguyn t l cng thc

(2) Nu P l cng thc th
- P l cng thc
- (P) l cng thc

(3) Nu P1 v P2 l cc cng thc th
- P1 v P2 l cng thc
- P1 . P2 l cng thc
- P1 P2 l cng thc

C s d liu - Khoa CNTT - H KHTN TPHCM 26
Qui tc (tt)
(4) Nu P(t) l cng thc th
- t e R (P(t)) l cng thc
Chn tr NG khi P(t) NG vi mi b t trong R
Chn tr SAI khi c t nht 1 b lm cho P(t) SAI

- -t e R (P(t)) l cng thc
Chn tr NG khi c t nht 1 b lm cho P(t) NG
Chn tr SAI khi P(t) SAI vi mi b t trong R
C s d liu - Khoa CNTT - H KHTN TPHCM 27
Qui tc (tt)
(5) Nu P l cng thc nguyn t th
- Cc bin b t trong P l bin t do

(6) Cng thc P=P1.P2 , P=P1vP2 , P=P1P2
- S xut hin ca bin t trong P l t do hay kt buc
ph thuc vo vic n l t do hay kt buc trong P1, P2
C s d liu - Khoa CNTT - H KHTN TPHCM 28
Mt s bin i
(i) P1 . P2 = (P1 v P2)

(ii) teR (P(t)) = -teR (P(t))

(iii) -teR (P(t)) = teR (P(t))

(iv) P Q = P v Q
C s d liu - Khoa CNTT - H KHTN TPHCM 29
Cng thc an ton
Xt cng thc


- C rt nhiu b t khng thuc quan h NHANVIEN
- Thm ch khng c trong CSDL
- Kt qu tr v khng xc nh

Mt cng thc P gi l an ton nu cc gi tr trong
kt qu u ly t min gi tr ca P
- Dom(P)
- Tp cc gi tr c cp trong P
{ t | (t e NHANVIEN) }

C s d liu - Khoa CNTT - H KHTN TPHCM 30
Cng thc an ton (tt)
V d



- Dom(t e NHANVIEN . t.LUONG > 30000)
- L tp cc gi tr trong
C gi tr trn 30000 ti thuc tnh LUONG
V cc gi tr khc ti nhng thuc tnh cn li
- Cng thc trn l an ton

{ t | t e NHANVIEN . t.LUONG > 30000 }
C s d liu - Khoa CNTT - H KHTN TPHCM 31
Ni dung chi tit
Gii thiu
Php tnh quan h trn b
Php tnh quan h trn min
C s d liu - Khoa CNTT - H KHTN TPHCM 32
Php tnh quan h trn min
Biu thc php tnh quan h trn min c dng



- x
1
, x
2
, , x
n
l cc bin min
Bin nhn gi tr l mt min gi tr ca mt thuc tnh

- P l cng thc theo x
1
, x
2
, , x
n

P c hnh thnh t nhng cng thc nguyn t

- Kt qu tr v l tp cc gi tr x
1
, x
2
, , x
n
sao cho khi
cc gi tr c thay th cho cc x
i
th P ng
{ x
1
, x
2
, , x
n
| P(x
1
, x
2
, , x
n
) }
C s d liu - Khoa CNTT - H KHTN TPHCM 33
V d 3
Cho bit m v tn nhn vin c lng trn 30000
C s d liu - Khoa CNTT - H KHTN TPHCM 34
V d 4
Cho bit cc nhn vin (MANV) lm vic phng
Nghien cuu
C s d liu - Khoa CNTT - H KHTN TPHCM 35
V d 10
Cho bit cc nhn vin (MANV, HONV, TENNV)
khng c thn nhn no
C s d liu - Khoa CNTT - H KHTN TPHCM 36
Cng thc nguyn t
(i)
- x
i
l bin min
- R l quan h c n thuc tnh

(ii)
- x, y l cc bin min
- Min gi tr ca x v y phi ging nhau
- u l cc php so snh < , > , s , > , = , =

(iii)
- c l hng s
- x l bin min
- u l cc php so snh < , > , s , > , = , =
<x
1
, x
2
, , x
n
> e R
x u y
x u c
C s d liu - Khoa CNTT - H KHTN TPHCM 37
Nhn xt
Mt cng thc nguyn t mang gi tr NG hoc
SAI vi mt tp gi tr c th tng ng vi cc
bin min
- Gi l chn tr ca cng thc nguyn t

Mt s qui tc v bin i tng t vi php tnh
quan h trn b
C s d liu - Khoa CNTT - H KHTN TPHCM 38
Cng thc an ton
Xt cng thc


- Cc gi tr trong kt qu tr v khng thuc min gi tr
ca biu thc
- Cng thc khng an ton
{ p, r, s | (<p, q, r, s, t, u, v, x, y, z> e NHANVIEN) }
C s d liu - Khoa CNTT - H KHTN TPHCM 39
Cng thc an ton (tt)
Xt cng thc




- R l quan h c tp cc gi tr hu hn
- Cng c 1 tp hu hn cc gi tr khng thuc R
- Cng thc 1: ch xem xt cc gi tr trong R
- Cng thc 2: khng th kim tra khi khng bit tp gi tr
hu hn ca z
{ x | -y (<x, y> e R) . -z ( <x, z> e R . P(x, z)) }
Cng thc 1 Cng thc 2
C s d liu - Khoa CNTT - H KHTN TPHCM 40
Cng thc an ton (tt)
Biu thc


c gi l an ton nu:

- Nhng gi tr xut hin trong cc b ca biu thc phi
thuc v min gi tr ca P
- V t -: biu thc -x (Q(x)) ng khi v ch khi xc nh
c gi tr ca x thuc dom(Q) lm cho Q(x) ng
- V t : biu thc x (Q(x)) ng khi v ch khi Q(x)
ng vi mi gi tr ca x thuc dom(Q)
{ x
1
, x
2
, , x
n
| P(x
1
, x
2
, , x
n
) }
C s d liu - Khoa CNTT - H KHTN TPHCM 41
Bi tp v nh
Bi tp
- Lm li cc bi tp ca chng 4 (SQH)
Tr cc cu c hm kt hp v gom nhm
- Biu din bng 2 ngn ng
Php tnh quan h c bin l b
Php tnh quan h c bin l min

c
- Ngn ng QBE
C s d liu - Khoa CNTT - H KHTN TPHCM 42

You might also like