C s d li u 1 ơ ở ữ ệ
Ch
ươ
ng 5: Đ i s quan h ạ ố
ệ
ả
ễ Th
Gi ng viên: Nguy n Công ngươ
Ch
ươ
ng 5: Đ i s quan h ạ ố
ệ
ậ
ợ
Các phép toán quan hệ Các phép toán t p h p Phép k tế Hàm g p và gom nhóm ộ K t đ quy ế ệ
2
CSDL minh h aọ
3
Các phép toán quan hệ
Phép ch n (SELECT) ọ
s
s
T ng quát:
PHONG=4(NHANVIEN) LUONG>30000(NHANVIEN) ổ
s
Ví d : ụ (PHONG=4 AND LUONG>25000) OR (PHONG=5 AND LUONG>30000)(NHANVIEN)
4
s
Các phép toán quan h (2)ệ
Ví dụ
5
Các phép toán quan h (3)ệ
Tính ch t c a phép ch n:
ọ B c c a quan h k t qu b ng v i b c c a quan ả ằ
ớ ậ ủ ệ ế
ầ
s
S dòng c a quan h k t qu ít h n ho c b ng
ệ ế
ệ
s
ấ ủ
ủ
h ban đ u
ủ
ủ
s ả ầ ằ ặ ơ c(R) | ≤ | R |
6
s ậ
ệ
ố
s dòng c a quan h ban đ u |
ố
Các phép toán quan h (4)ệ
Phép chi u (PROJECT)
ế
p
T ng quát:
HoNV, Tenlot, TenNV, Luong(NHANVIEN) ổ p
7
Các phép toán quan h (5)ệ
Tính ch t c a phép chi u:
ế
ấ ủ ộ
Các thu c tính k t qu là các thu c tính trong ả
ế ộ
ế ộ
ủ B c c a quan h k t qu b ng s thu c tính c a danh sách thu c tính c a phép chi u ệ ế ả ằ ủ ố ộ ậ
ủ phép chi uế
K t qu s lo i b nh ng dòng trùng nhau ữ S dòng k t qu ít h n ho c b ng s dòng ban ơ
ả ẽ ạ ỏ
p
ế ằ ặ ả ố
8
ế
ố
đ u.ầ
Các phép toán quan h (6)ệ
p
Phai, Luong(NHANVIEN)
9
Các phép toán quan h (7)ệ
Phép đ t l Đ t l
i tên ặ ạ ệ r i tên quan h :
S(R)
ặ ạ
Đ t l
(B1, B2, ..., Bn)(R)
Đ t l
r ặ ạ i tên thu c tính: ộ
S(B1, B2, ..., Bn)(R)
10
ặ ạ ệ r i tên thu c tính và tên quan h : ộ
Các phép toán t p h p
ợ
ậ
Có 3 phép toán: H i (UNION), Giao
ộ
(INTERSECTION), và Hi u (DIFFERENCE)
ệ
Gi
s có 2 quan h
ả ử
ệ
R(A1, A2, ..., An) S(B1, B2, ..., Bn) ỏ
ươ
ng thích h i (union ộ
ủ ậ ằ
R và S ph i th a mãn t ả compatible): B c c a R và S b ng nhau dom(Ai) = dom(Bi), v i 1 ớ
11
≤ i ≤ n
Các phép toán t p h p (2)
ợ
ậ
Phép h i (UNION): ký hi u R
ệ
ệ
ặ
ả
S ộ t c tuple xu t hi n trong là quan h ch a t ệ ấ ứ ấ ả R ho c trong S ho c trong c S và R ặ S ệ
Phép giao (INTERSECTION): R ˙ t c tuple xu t hi n trong ấ
ứ ấ ả
là quan h ch a t ệ c R và S ả ệ ậ
ợ
Hi u t p h p (DIFFERENCE): R – S ệ
ứ
ữ
ệ
ấ
là quan h ch a nh ng tuple xu t hi n trong R mà không có trong S
12
¨
Các phép toán t p h p (3)
ợ
ậ
Ví dụ
Phép giao:
13
Các phép toán t p h p (4)
ợ
ậ
Phép h iộ
14
Các phép toán t p h p (5)
ợ
ậ
Phép hi uệ
STUDENT – INSTRUCTOR
INSTRUCTOR – STUDENT
15
Các phép toán t p h p (6)
ợ
ậ
R ¨
Tính ch t:ấ Phép h i và phép giao có tính ch t giao hoán ộ R, và R ˙ S = S ¨ Phép h i và phép giao có ộ
tính ch t liên h p ấ S = S ˙ ấ
R ợ (S˙ T) (S¨ T) = (R¨ S)¨ T, và (R˙ S)˙ T = R˙ Phép hi u t p h p không có tính giao hoán và
R¨
ệ ậ ợ
R ˙
liên h pợ
16
S = (R ¨ S) – ((R – S) ¨ (S – R))
Các phép toán t p h p (7)
ợ
ậ
Tích Descartes (Cartesian Product):
ng thích h i ộ ầ ươ
Không c n t R(A1, A2, ..., An) × S(B1, B2, ..., Bm) là m t quan h ệ
ộ
1, A2, ..., An, B1, B2, ..., Bm)
M i tuple trong Q là m t k t h p gi a m t tuple
m+n thu c tính Q(A ộ
ộ ế ợ ữ ỗ ộ
17
trong R và m t tuple trong S ộ
Phép k tế
Cho R(A1, A2, ..., An), S(B1, B2, ..., Bm) Phép k t ế q (theta-join)
R <đi uề ki nệ k t>ế S Đi u ki n k t có d ng R.A ế ề Ví d ụ
DUAN Phong=MaPB PHONGBAN
Các đi u ki n so sánh còn có th là các phép
q S.B ệ ạ
ể ề
18
ệ khác ngoài so sánh b ng ằ
Phép k t (2)
ế
19
Phép k t (3)
ế
ế ự
K t t Còn g i là k t n i (inner join)
ế ộ
nhiên (natural join) ọ Ký hi u là * ệ Là phép k t ế q ộ
đi u ki n b ng trên trên các c p ặ ằ
ệ
ệ ủ N u không có thu c tính cùng tên thì ph i đ t l i ề thu c tính cùng tên c a hai quan h ộ ả ặ ạ
VD: PHONGBAN * DIADIEM_PHONG
20
ế tên tr cướ
Phép k t (4)
ế
21
Phép k t (5)
ế
K t t
ế ự
ặ
PHONGBAN * r
nhiên k t h p v i phép đ t tên ớ ế ợ (TenDA, MaDA, DiaDiem,MaPB) (DUAN)
22
Phép k t (7)
ế
l
t c tuple c a R
ủ
c v i S thì thay th nh ng
ữ
ế
ộ
ế ượ ị
ằ
K t ngo i ph i (right outer join), ký hi u R S:
K t ngo i ạ K t ngo i trái R S: ạ ế i t Gi ữ ạ ấ ả N u tuple nào không k t đ ế ủ ả
ệ
K t ngo i đ y đ (full outer join)
ớ thu c tính c a S b ng giá tr null ế Ng ế
ủ
ạ
ạ
ộ ủ ế
H i c a k t ngo i trái và k t ngo i ph i ả ộ
mà yêu c u t
ng thích m t ph n (partial compatible)
ạ i c l ượ ạ ạ ầ ế Phép k t không yêu c u t ầ ươ
ầ
ế ng thích h i (union compatible) ầ ươ ộ
23
ế
Phép k t (8)
ế
ế
K t ngo i trái (left outer join) ký hi u
K t ngo i (outer join) ạ ạ
ế ệ
HoNV, Tenlot, TenNV, MaPB(NHANVIEN MaNV=TrPhong PHONGBAN)
24
p
Tính ch tấ
Tính ch t c a phép toán quan h
ấ ủ
ệ
R
25
Hàm g p (Aggregate Function)
ộ
Ký hi u là ch ệ
ữ F (F ki u)ể
Các hàm g p g m có: COUNT, SUM,
ộ
AVERAGE (AVG), MIN, MAX
Ví d :ụ
F COUNT MaNV, AVERAGE Luong(NHANVIEN)
Phong F COUNT MaNV, AVERAGE Luong(NHANVIEN)
r
26
R(Phong, SoLuongNV, LuongTB) (Phong F COUNT MaNV, AVERAGE Luong (NHANVIEN))
Hàm g p (2) ộ
27
K t đ quy
ế ệ
ộ
ế
ệ
i qu n lý c a t ng ng
ườ
ộ ủ ừ
CapTren
K t hai thu c tính trong cùng m t quan h Ví d : Tìm ng i ườ ả ụ CapDuoi.MaNV, CapDuoi.TenNV, CapTren.MaNV, CapTren.TenNV (r CapDuoi (NHANVIEN) CapDuoi.MaNQL=CapTren.MaNV r (NHANVIEN))
28
p
29