You are on page 1of 21

Chng 6 Php tnh quan h

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

Gii thiu
Maths Database 1970 1972

Algebra Logic Geometry

YOU
???

1981

Relational Algebra Relational Calculus

Codd

ACM Turing Award

2???

??? Award

2???

Other fields

C s d liu - Khoa CNTT - H KHTN TPHCM

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

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

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

Php tnh quan h trn b


Biu thc php tnh quan h trn b c dng { t.A | P(t) }
- 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

C s d liu - Khoa CNTT - H KHTN TPHCM

V d 1
Tm cc nhn vin c lng trn 30000
{ t | t NHANVIEN t.LUONG > 30000 }
P(t) P(t)

- t NHANVIEN ng
Nu t l mt th hin ca quan h NHANVIEN

- t.LUONG > 30000 ng


Nu thuc tnh LUONG ca t c gi tr trn 30000

C s d liu - Khoa CNTT - H KHTN TPHCM

V d 2
Cho bit m v tn nhn vin c lng trn 30000
- Tm nhng b t thuc NHANVIEN c thuc tnh lng ln hn 30000 - Ly ra cc gi tr ti thuc tnh MANV v TENNV

{ t.MANV, t.TENNV | t NHANVIEN t.LUONG > 30000 }

- Tp cc MANV v TENNV ca nhng b t sao cho t l mt th hin ca NHANVIEN v t c gi tr ln hn 30000 ti thuc tnh LUONG
C s d liu - Khoa CNTT - H KHTN TPHCM 9

V d 3
Cho bit cc nhn vin (MANV) lm vic phng Nghien cuu
t.MANV | t NHANVIEN s PHONGBAN s.TENPHG = Nghien cuu

- Ly ra nhng b t thuc NHANVIEN - So snh t vi mt b s no tm ra nhng nhn vin lm vic phng Nghien cuu - Cu trc tn ti ca php ton logic

t R (Q(t))
Tn ti 1 b t thuc quan h R sao cho v t Q(t) ng
C s d liu - Khoa CNTT - H KHTN TPHCM 10

V d 3
Cho bit cc nhn vin (MANV) lm vic phng Nghien cuu
{ t.MANV | t NHANVIEN s PHONGBAN ( s.TENPHG = Nghien cuu s.MAPHG = t.PHG ) }
Q(s)

C s d liu - Khoa CNTT - H KHTN TPHCM

11

V d 4
Cho bit tn cc nhn vin (TENNV) tham gia lm n hoc c thn nhn
{ t.TENNV | t NHANVIEN (

s PHANCONG (t.MANV = s.MA_NVIEN) u THANNHAN (t.MANV = u.MA_NVIEN)) }

C s d liu - Khoa CNTT - H KHTN TPHCM

12

V d 5
Cho bit tn cc nhn vin (TENNV) va tham gia lm n va c thn nhn
{ t.TENNV | t NHANVIEN (

s PHANCONG (t.MANV = s.MA_NVIEN) u THANNHAN (t.MANV = u.MA_NVIEN)) }

C s d liu - Khoa CNTT - H KHTN TPHCM

13

V d 6
Cho bit tn cc nhn vin (TENNV) tham gia lm n m khng c thn nhn no
{ t.TENNV | t NHANVIEN

s PHANCONG (t.MANV = s.MA_NVIEN)


u THANNHAN (t.MANV = u.MA_NVIEN) }

C s d liu - Khoa CNTT - H KHTN TPHCM

14

V d 7
Vi mi n TP HCM cho bit m n, m phng ban ch tr v tn ngi trng phng
{ s.MADA, s.PHONG, t.TENNV | s DEAN t NHANVIEN s.DDIEM_DA = TP HCM

u PHONGBAN (s.PHONG = u.MAPHG


u.TRPHG = t.MANV) }

C s d liu - Khoa CNTT - H KHTN TPHCM

15

V d 8
Tm cc nhn vin (MA_NVIEN) tham gia vo tt c cc n
- Cu trc vi mi ca php ton logic

t R (Q(t))
Q ng vi mi b t thuc quan h R

C s d liu - Khoa CNTT - H KHTN TPHCM

16

V d 8 (tt)
Tm cc nhn vin (MANV, HONV, TENNV) tham gia vo tt c cc n
{ t.MANV, t.HONV, t.TENNV | t NHANVIEN

s DEAN ( u PHANCONG (
u.SODA = s.MADA t.MANV = u.MA_NVIEN )) }

C s d liu - Khoa CNTT - H KHTN TPHCM

17

V d 9
Tm cc nhn vin (MANV, HONV, TENNV) tham gia vo tt c cc n do phng s 4 ph trch
- Cu trc ko theo ca php tnh logic

PQ
Nu P th Q

C s d liu - Khoa CNTT - H KHTN TPHCM

18

V d 9 (tt)
Tm cc nhn vin (MANV, HONV, TENNV) tham gia vo tt c cc n do phng s 4 ph trch
{ t.MANV, t.HONV, t.TENNV | t NHANVIEN

s DEAN (
s.PHONG = 4 ( u PHANCONG ( u.SODA = s.MADA t.MANV = u.MA_NVIEN ))) }

C s d liu - Khoa CNTT - H KHTN TPHCM

19

nh ngha hnh thc


Mt cng thc truy vn tng qut c dng { t1.Ai, t2.Aj, tn.Ak | P(t1, t2, , tn) }
- t1, t2, , tn l cc bin b - Ai, Aj, , Ak l cc thuc tnh trong cc b t tng ng - P l cng thc
P c hnh thnh t nhng cng thc nguyn t

C s d liu - Khoa CNTT - H KHTN TPHCM

20

10

Bin b
Bin t do (free variable)
{ t | t NHANVIEN t.LUONG > 30000 }
t l bin t do

Bin kt buc (bound variable)


{ t | t NHANVIEN s PHONGBAN (s.MAPHG = t.PHG) }
Bin t do Bin kt buc

C s d liu - Khoa CNTT - H KHTN TPHCM

21

Cng thc nguyn t


(i)
tR - t l bin b - R l quan h t NHANVIEN

(ii) t.A s.B


t.MANV = s.MANV - A l thuc tnh ca bin b t - B l thuc tnh ca bin b s - l cc php so snh < , > , , , , =

(iii) t.A c
- c l hng s s.LUONG > 30000 - A l thuc tnh ca bin b t - l cc php so snh < , > , , , , =
C s d liu - Khoa CNTT - H KHTN TPHCM 22

11

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
R A B 10 20 C 1 1

t1 = <, 10, 1> t2 = <, 20, 2>

t1 R c chn tr NG t2 R c chn tr SAI

C s d liu - Khoa CNTT - H KHTN TPHCM

23

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
R A B 10 20 C 1 1 Nu t l b <, 10, 1> Th t.B > 5 c chn tr NG (10 > 5)

C s d liu - Khoa CNTT - H KHTN TPHCM

24

12

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 P2 l cng thc - P1 P2 l cng thc - P1 P2 l cng thc

C s d liu - Khoa CNTT - H KHTN TPHCM

25

Qui tc (tt)
(4) Nu P(t) l cng thc th
- t 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 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

26

13

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=P1P2 , P=P1P2 , 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

27

Mt s bin i
(i) P1 P2 = (P1 P2) (ii) tR (P(t)) = tR (P(t)) (iii) tR (P(t)) = tR (P(t)) (iv) P Q = P Q

C s d liu - Khoa CNTT - H KHTN TPHCM

28

14

Cng thc an ton


Xt cng thc
{ t | (t NHANVIEN) }

- 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
C s d liu - Khoa CNTT - H KHTN TPHCM 29

Cng thc an ton (tt)


V d
{ t | t NHANVIEN t.LUONG > 30000 }

- Dom(t 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

C s d liu - Khoa CNTT - H KHTN TPHCM

30

15

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

31

Php tnh quan h trn min


Biu thc php tnh quan h trn min c dng { x1, x2, , xn | P(x1, x2, , xn) }
- x1, x2, , xn l cc bin min
Bin nhn gi tr l mt min gi tr ca mt thuc tnh

- P l cng thc theo x1, x2, , xn

P c hnh thnh t nhng cng thc nguyn t

- Kt qu tr v l tp cc gi tr x1, x2, , xn sao cho khi cc gi tr c thay th cho cc xi th P ng

C s d liu - Khoa CNTT - H KHTN TPHCM

32

16

V d 3
Cho bit m v tn nhn vin c lng trn 30000
{ r, s | x ( <p, q, r, s, t, u, v, x, y, z> NHANVIEN x > 30000 ) }

C s d liu - Khoa CNTT - H KHTN TPHCM

33

V d 4
Cho bit cc nhn vin (MANV) lm vic phng Nghien cuu
{ s | z ( <p, q, r, s, t, u, v, x, y, z> NHANVIEN a, b ( <a, b, c, d> PHONGBAN a = Nghien cuu b = z )) }

C s d liu - Khoa CNTT - H KHTN TPHCM

34

17

V d 10
Cho bit cc nhn vin (MANV, HONV, TENNV) khng c thn nhn no
{ p, r, s | s ( <p, q, r, s, t, u, v, x, y, z> NHANVIEN a ( <a, b, c, d, e> THANNHAN a = s )) }

C s d liu - Khoa CNTT - H KHTN TPHCM

35

Cng thc nguyn t


(i)
<x1, x2, , xn> R - xi l bin min - R l quan h c n thuc tnh xy - x, y l cc bin min - Min gi tr ca x v y phi ging nhau - l cc php so snh < , > , , , , = xc - c l hng s - x l bin min - l cc php so snh < , > , , , , =
36

(ii)

(iii)

C s d liu - Khoa CNTT - H KHTN TPHCM

18

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

37

Cng thc an ton


Xt cng thc
{ p, r, s | (<p, q, r, s, t, u, v, x, y, z> NHANVIEN) }

- Cc gi tr trong kt qu tr v khng thuc min gi tr ca biu thc - Cng thc khng an ton

C s d liu - Khoa CNTT - H KHTN TPHCM

38

19

Cng thc an ton (tt)


Xt cng thc
{ x | y (<x, y> R) z ( <x, z> R P(x, z)) }
Cng thc 1 Cng thc 2

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

C s d liu - Khoa CNTT - H KHTN TPHCM

39

Cng thc an ton (tt)


Biu thc { x1, x2, , xn | P(x1, x2, , xn) } 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)

C s d liu - Khoa CNTT - H KHTN TPHCM

40

20

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

41

C s d liu - Khoa CNTT - H KHTN TPHCM

42

21

You might also like