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