You are on page 1of 43

i Hc Si Gn Khoa Cng Ngh Thng Tin B Mn H Thng Thng Tin C S D LIU

$3. i S Quan H Relational Algebra


Ging vin: ThS. Trn nh Ngha

Khoa Cng Ngh Thng Tin - B Mn H Thng Thng Tin

Ni Dung
1. 2.

, , , , ,

: -kt (-join) Kt bng (equi-join), Kt t nhin (natural-join), Kt ni (inner-join), Kt tri (left-join), Kt phi (rightjoin), Kt ngoi (outer-join) Php chia Cc hm kt hp

Gii thiu Cc php ton trn quan h

3.

Cc thao tc trn d liu quan h: thm, xa , sa

$3.1. Gii thiu


i s quan h l ngn ng dng c t vic truy xut d liu trn quan h Gm tp hp cc php ton trn cc quan h v cho kt qu l mt quan h i s quan h c nn tng ton hc (c th l l thuyt tp hp) m hnh ha CSDL quan h. Ngoi ra, ta c th p dng cc php ton c sn ca l thuyt tp hp ti u qu trnh rt trch d liu t CSDL quan h

$3.2. Cc php ton trn quan h

C nm php ton c bn:


Chn (): Chn tp con cc dng trong quan h. Chiu (): Xa cc ct khng mong mun. Tch Descartes (x): Kt hai quan h. Hiu (-): Cha cc b ca QH 1 nhng khng nm trong QH 2. Hp () Cha cc b ca QH 1 v cc b trong QH 2.

Cc php ton khc: Giao (), kt, chia, i tn: khng c bn, nhng hu ch. Kt qu thc hin cc php ton trn cng l cc quan h, do c th kt hp gia cc php ton ny to nn php ton mi

$3.2. Cc php ton trn quan h


Mt s php ton trn quan h i hi 2 quan h tham gia phi kh hp Quan h kh hp: hai quan h r v s c coi l kh hp khi:

S lng thuc tnh phi bng nhau (cng bc) Min gi tr ca thuc tnh phi tng thch (dom(Ai) = dom(Bi)) vi 1 i n

$3.2. Cc php ton trn quan h

Php hi
Cho r v s l 2 quan h kh hp r s = { t/ (t r) (t s) } Quan h kt qu gm tt c cc b c trong r hoc c trong s (khng trng)

$3.2. Cc php ton trn quan h

Php giao
Cho r v s l 2 quan h kh hp r s = { t/ (t r) (t s) } Quan h kt qu gm tt c cc b c trong c r ln s

$3.2. Cc php ton trn quan h

Php tr Cho r v s l 2 quan h kh hp r - s = { t/ (t r) (t s) } Quan h kt qu gm tt c cc b c trong r nhng khng c trong s

$3.2. Cc php ton trn quan h

Php chn

nh ngha: Cho lc quan h R (A1, A2,, An), r(R):


E(r) = {t , t r v t tha E}, vi E l mt biu thc cho bit iu kin chn

Php chn c dng trch chn cc dng tha iu kin chn E t quan h ban u.

$3.2. Cc php ton trn quan h

Php chn

V d, cho bit cc sinh vin c hc bng

Cho danh sch cc nhn vin n ca phng KD c lng ln hn 1000000.

Phai=nu and Phg=KD and Luong>100000(NHANVIEN)

$3.2. Cc php ton trn quan h

Php chn

a ra cc php chn c R t R

Chn nhng nhn vin thuc Phng c m s l P3 v phi l Nam. Chn nhng nhn vin c lng nm trong khong t 30000 n 40000. Chn nhng nhn vin phi l N v lng >25000 hoc nhng nhn vin c h l inh

$3.2. Cc php ton trn quan h

Php chiu -

Cho trc mt lc quan h R(A1, A2,, An), XR, r(R):


X(r) = {t[X] | t r} K hiu: A1,A2,,Ak(r)

Dng trch chn cc thuc tnh (ct) t quan h r c ch ra trong danh sch thuc tnh Cc dng trng nhau s c loi b khi quan h kt qu

$3.2. Cc php ton trn quan h

Php chiu -

Php chiu lc quan h SINHVIN (MaSV, HoTen, HocBong) ln t p thuc tnh gm {HoTen,MaSV} s cho kt qu nh sau

$3.2. Cc php ton trn quan h

Php chiu -

Cho danh sch nhn vin gm cc thng tin tn nhn vin, lng, ngy sinh, phi Cho bit MaNV, TenNV, Luong ca cc nhn vin c luong>20000 Cho bit tn nhn vin n phng KD

TenNV,Luong,NgaySinh,Phai(NHANVIEN)

MaNV,TenNV,Luong (Luong>20000 (NHANVIEN)) TenNV (Phai=nu and Phg=KD (NHANVIEN))

$3.2. Cc php ton trn quan h

Php gn -
Php gn gip th hin d dng cc cu truy vn phc tp. tng: vit cc cu truy vn nh l mt chng trnh tun t gm mt chui cc php ton V d: Cho bit tn nhn vin n phng KD

KQ1 Phai=nu and Phg=KD (NHANVIEN)

KQ TenNV (KQ1)

$3.2. Cc php ton trn quan h

Php i tn
Cho php tham chiu ti mt quan h bng nhiu tn. D dng s dng trong trng hp mt quan h c s dng nhiu ln trong mt biu thc quan h Quan h: <tn mi>php ton quan h

SV HoTen, MaSV(SinhVien)

Thuc tnh: <tn mi qh>(tn mi thuc tnh) php ton quan h


SV(Ten,Maso) HoTen, MaSV(SinhVien)

$3.2. Cc php ton trn quan h

Php tch Cartersian -

r x s := {t q | t r ^ q s }
Thuc tnh ca r v s phi khc nhau (r s = ) Php tch Cartersian l mt php ton v ngha nu ng ring. Do , ngi ta thng phi s dng phi hp vi cc php ton khc

$3.2. Cc php ton trn quan h

Php tch Cartersian -

Vi mi phng ban, cho bit thng tin v ngi trng phng


PB_NV PhongBan x NhanVien PB_TruongPhongMaNV=TrPhg(PB_NV)

NHANVIEN
MANV 001 002 003 004 HONV Vuong Nguyen Le Dinh TENLOT Ngoc Thanh Thi Ba TENNV Quyen Tung Nhan Tien
MANV 001 HONV Vuong Vuong Vuong TENLOT Ngoc Ngoc Ngoc Thanh TENNV Quyen MAPHG QL TENPHG Quan Ly TRPHG 001

MANV 001 002 003

001 001

HONV

TENLOT

TENNV

Quyen Quyen

MAPHG
DH NC

TENPHG
Dieu Hanh Nghien Cuu

TRPHG
003 002

Vuong 002
002 Le 003 003 003 004 004 004

Ngoc Nguyen
Nguyen Thi Le Le Le Dinh Dinh Dinh

Quyen Tung TungTung NhanTung


Nhan Nhan Nhan Tien Tien Tien

QL QL NC DH DH NC
QL DH NC QL DH NC

Quan Ly Quan Ly Nghien Cuu Dieu Hanh


Nghien Cuu Dieu Hanh Quan Ly Dieu Hanh Nghien Cuu Quan Ly Dieu Hanh Nghien Cuu

001 001 002 003


002 003 001 003 002 001 003 002

NguyenNguyen Thanh Thanh 002


Thanh Thi Thi Thi Ba Ba Ba

PHONGBAN
MAPHG QL DH NC TENPHG Quan Ly Dieu Hanh Nghien Cuu TRPHG 001 003 002

$3.2. Cc php ton trn quan h

Php kt -

kt Kt bng, kt t nhin Kt tri Kt phi Kt ni Kt ngoi

$3.2. Cc php ton trn quan h

Php kt l s kt hp c th t ca php tch Cartersian v php chn. Gi l mt trong cc php so snh {=, >, , <, , }. Php kt gia hai lc quan h Q1 v Q2 s to thnh mt lc quan h Q12:

Php kt - - kt

Q1 A B Q2 = { q1 q2| q1r, us q1[A] q2[B]} iu kin AB c gi l iu kin kt.

$3.2. Cc php ton trn quan h

Php kt bng: khi l php so snh = ta gi l php kt bng hay cn gi l equi-join Php kt t nhin: Kt bng hai quan h v mt trong hai thuc tnh tham gia iu kin kt c loi b qua php chiu th php kt c gi l kt t nhin (natural-join)

Php kt - - kt

$3.2. Cc php ton trn quan h

Php kt - - Kt ni

Php kt ni (inner join): Thc cht l php kt ni bng.


Hai thuc tnh so snh c cng tn th kt qu php kt ni vn gi li 2 tn thuc tnh

$3.2. Cc php ton trn quan h

Php kt - Kt tri

Php kt tri (left join):


R S = { v = (t, u) | (t R , u S t.A u.B) hoc (t R, u = uNULL vi t.A S[B]) }

$3.2. Cc php ton trn quan h

Php kt - Kt phi

Php kt phi (right join):


R S = { v = (t, u) | (t R , u S t.A u.B) hoc (u S, t = tNULL vi u.B R[A]) }

$3.2. Cc php ton trn quan h

Php kt - Kt ngoi

Php kt ngoi (outer join):


Kt hp hai php kt tri v kt phi

$3.2. Cc php ton trn quan h

Php chia -
r

s: ly cc b trong quan h r sao cho khp vi tt c cc b trong quan h s


cc thuc tnh ca s phi l mt tp thuc tnh con ca r, s+ r+. Thuc tnh ca quan h kt qu chnh l cc thuc tnh ca r s

$3.2. Cc php ton trn quan h

Php chia -

Cc bc thc hin:
1. Xa cc thuc tnh khng kha trong R v S

2. Gi s, gi B l ct chung ca c 2 quan h R v S. Thc hin xa cc dng trong R sao cho gi tr ca ct B trong R khng c trong ct B ca S

$3.2. Cc php ton trn quan h

Php chia -

Cc bc thc hin:
3. To t1 bng cch thc hin php chiu trn ct khng phi ct chung ca R v S 4. To t2 = t1 x S

$3.2. Cc php ton trn quan h

Php chia -

Cc bc thc hin:
5. To t3 = t2 - R

$3.2. Cc php ton trn quan h

Php chia -

Cc bc thc hin:
6. Chiu ly cc thuc tnh ca t3 c trong R v khng c trong S 7. To tp kt qu: tKq= t1 t4

$3.2. Cc php ton trn quan h

Php chia -
Cho

bit cc nhn vin c phn cng tham gia tt c cc n

$3.2. Cc php ton trn quan h

Php chia -

Cho bit cc nhn vin c phn cng tham gia tt c cc n c a im ti TPHCM

$3.2. Cc php ton trn quan h

Cc hm kt hp gom nhm

Max (thuc tnh kiu s) : tr v gi tr ln nht. Min (thuc tnh kiu s) : tr v gi tr nh nht. Count (tn thuc tnh), Count(*): m s phn t, trng vn m. Sum (thuc tnh kiu s): Tr v tng. Avg (thuc tnh kiu s): Tr v gi tr trung bnh.

$3.2. Cc php ton trn quan h

Cc hm kt hp gom nhm
G1, G2, , Gn

E l biu thc i s quan h Gi l tn thuc tnh gom nhm (c th tnh ton khng gom nhm) Fi l hm gom nhm, c th l tn thuc tnh nu mun chn thuc tnh ny. Ai l tn thuc tnh tnh ton trong hm gom nhm Fi

F1(A1), F2(A2), , Fn(An) (E)

$3.2. Cc php ton trn quan h

Cc hm kt hp gom nhm
MaNV HoTen Phai NV1 NV2 NV3 NV4 NV5 Bi Cam Xoi Mt i N MaPB KD MaPB Nam DH Nam KD N N NC DH

COUNT(MaNV)(NhanVien)

MaPB No column name KD NC DH

KQ(MaPB,SLNV)MaPB

MaPB SLNV KD NC 2 2 1 DH

2 2 1

COUNT(MaNV)(NhanVien)

$3.2. Cc php ton trn quan h

Cc hm kt hp gom nhm
Tnh

Count(*) (NHANVIEN)

s nhn vin trong ton cng ty.


No column name 20

KQ(SLNV) Count(*) (NHANVIEN)

SLNV 20

$3.2. Cc php ton trn quan h

Cc hm kt hp gom nhm
Cho bit c bao nhiu n TPHCM i vi mi a im, cho bit tn v s lng n c thc hin Cho bit s nm thm nin (s nm lm trng phng) ca tng trng phng i vi tng n, cho bit s lng nhn vin tham gia n, tng s gi lm vic ca n

$3.3. Cc thao tc trn d liu quan h

Ni dung ca CSDL c th c cp nht bng cch dng cc thao tc thm, xa, sa Tt c cc thao tc ny c din t thng qua php ton gn
R (kt qu)Cc php ton trn R (ban u)

$3.3. Cc thao tc trn d liu quan h

Thm Chn (Insertion)

C php:
R R E ( vi E l mt biu thc i s quan h)

V d: phn cng NV 001 vo n X vi thi gian l 25


PHANCONG PHANCONG {001, X, 25}

$3.3. Cc thao tc trn d liu quan h

Xa (Delete)

C php:
R R - E ( vi E l mt biu thc i s quan h)

V d: xa ton b phn cng ca NV 001


T1 MANV=001(PHANCONG) PHANCONG PHANCONG T1

$3.3. Cc thao tc trn d liu quan h

Sa (Update)

Thng c din t bng chui cc thao tc thm v xa. Tuy nhin, c th s dng trc tip cc php ton s hc V d: Tng lng gp 1,5 cho nhn vin c m s 001
T1MaNV,TenNV, Luong 1.5(MaNV=001 (NHANVIEN)) T2MaNV=001 (NHANVIEN) NHANVIEN NHANVIEN T2 NHANVIEN NHANVIEN T1

$3.3. Cc thao tc trn d liu quan h

Sa (Update)

Tng lng gp 1,5 cho nhn vin c m s 001

NHANVIEN MANV,TENNV,LUONG*1.5(MANV=001(NHANVIEN)) MANV,TENNV,LUONG(MANV 001(NHANVIEN))

$3.3. Cc thao tc trn d liu quan h

Bi tp
Xa cc nhn vin c s thn nhn >=3 Tng 10% lng i vi cc nhn vin n Tng 10% lng i vi cc nhn vin nam c phn cng lm vic cho n Vng Tu hay Nha Trang

You might also like