ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA HỆ THỐNG THÔNG TIN
Chương 3
Đại số quan hệ
GV: ThS. Hồ Trần Nhật Thủy
Nội dung
1.Gi ới thiệu
2. Đại số quan hệ
3.Các phép toán c ơ bản
4.Các phép toán khác
5.Các thao tác c ập nhật
2
1. Giới thiệu
u Thế nào là truy vấn CSDL?
n Cho một CSDL, đưa ra các câu hỏi, nhận được các câu
trả lời n Ví dụ:
n Cho biết tất cả sinh viên có điểm trung bình > 8 thuộc các
khoa.
n Cho biết các khoa có hơn 100 sinh viên. n Trong các khoa, chọn sinh viên đạt điểm trung bình cao
nhất trong năm học trước
u Ngôn ngữ truy vấn: là ngôn ngữ cho phép người
dùng cập nhật và rút trích dữ liệu được lưu trong một mô hình dữ liệu.
3
1. Giới thiệu (tt)
u Có 2 loại xử lý
n Làm thay đổi dữ liệu (cập nhật)
n Thêm mới, xóa và sửa
n Không làm thay đổi dữ liệu (rút trích)
n Truy vấn (query)
u Thực hiện các xử lý
n Đại số quan hệ (Relational Algebra)
n Biểu diễn câu truy vấn dưới dạng biểu thức
n Phép tính quan hệ (Relational Calculus)
n Biểu diễn kết quả
n SQL (Structured Query Language)
4
Nội dung
1.Gi ới thiệu
2. Đại số quan hệ
3.Các phép toán c ơ bản
4.Các phép toán khác
5.Các thao tác c ập nhật
5
2. Đại số quan hệ
u Đại số quan hệ (ĐSQH)
n Có nền tảng toán học (cụ thể là lý thuyết tập hợp). n Là một tập hợp các phép toán quan hệ để rút trích dữ
liệu.
u Chức năng:
n Cho phép mô tả các phép toán rút trích dữ liệu từ các
quan hệ trong cơ sở dữ liệu quan hệ.
n Cho phép tối ưu quá trình rút trích bằng các phép toán
có sẵn của lý thuyết tập hợp.
6
2. Đại số quan hệ
u Biến là các quan hệ
n Tập hợp (set)
u Toán tử là các phép toán (operations)
n Trên tập hợp
n Hội ¨ (union) n Giao ˙ (intersec) n Trừ - (difference)
n Rút trích 1 phần của quan hệ
n Chọn s (selection) n Chiếu p (projection)
n Kết hợp các quan hệ
n Tích Cartesian · (Cartesian product) n Kết (join)
n Đổi tên r
7
2. Đại số quan hệ (tt)
u Biểu thức ĐSQH
n Là chuỗi các phép toán đại số quan hệ n Kết quả trả về là thể hiện của quan hệ
8
Nội dung
1.Gi ới thiệu
2. Đại số quan hệ
3.Các phép toán c ơ bản
4.Các phép toán khác
5.Các thao tác c ập nhật
9
Phép chọn
( P Rs s
) =˛ (){|()} P RttRP t
u Được dùng để lấy ra các bộ của quan hệ R u Các bộ được chọn phải thỏa mãn điều kiện chọn P u Ký hiệu: u Định nghĩa: u Trong đó:
n R là một quan hệ n P là biểu thức điều kiện gồm các mệnh đề có dạng:
n
n
10
(cid:217)
Ví dụ phép chọn
u Cho biết danh sách các học viên nam
n Quan hệ: HOCVIEN n Thuộc tính: Gioitinh n Điều kiện: Gioitinh=‘Nam’
sGioitinh=‘Nam’(HOCVIEN)
Mahv
HoTen
Gioitinh
Noisinh Malop
K1103 Ha Duy Lap
Nam
Nghe An
K11
K1102 Tran Ngoc Han Nu
Kien Giang K11
K1104 Tran Ngoc Linh Nu
Tay Ninh
K11
K1105 Tran Minh Long Nam
TpHCM
K11
K1106 Le Nhat Minh
Nam
TpHCM
K11
11
Phép chọn (tt)
u Kết quả trả về là một quan hệ
n Có cùng danh sách thuộc tính với R n Có số bộ luôn ít hơn hoặc bằng số bộ của R n Không có kết quả trùng
=
= )
R
u Phép chọn có tính chất giao hoán s
ssss
(())(())( PPPPP P RR 1221(12)
12
(cid:217)
Ví dụ phép chọn (tt)
u Tìm những học viên ‘Nam’ có nơi sinh ở ‘TpHCM’
n Quan hệ: HOCVIEN n Thuộc tính: Gioitinh, Noisinh n Điều kiện: Gioitinh=‘Nam’ và Noisinh=‘TpHCM’
(Gioitinh=‘Nam’)(cid:217) (Noisinh=‘TpHCM’)(HOCVIEN)
s
Mahv
HoTen
Gioitinh
Noisinh Malop
K1103 Ha Duy Lap
Nam
Nghe An
K11
K1102 Tran Ngoc Han Nu
Kien Giang K11
K1104 Tran Ngoc Linh Nu
Tay Ninh
K11
K1105 Tran Minh Long Nam
TpHCM
K11
K1106 Le Nhat Minh
Nam
TpHCM
K11
13
Ví dụ phép chọn (tt)
u Liệt kê danh sách các nhân viên làm việc ở phòng
số 4
u Cho biết các nhân viên có lương > 45000 hoặc
sinh sau ngày ‘1/1/1970’
u Tìm các nhân viên có lương trên 25000 ở phòng 4 hoặc các nhân viên có lương trên 30000 ở phòng 5
14
Phép chiếu
u Được dùng để lấy ra một vài cột (thuộc tính) của
u Ký hiệu:
(
)R
quan hệ R p
,,..., AA 12
A k
n Trong đó, Ai là tên các thuộc tính được chiếu
u Định nghĩa:
}
= (){[,,...,]| Rtt R
AA
A
p
k
,,..., AAA12 12
k
u Kết quả trả về là một quan hệ
n Có k thuộc tính n Có số bộ luôn ít hơn hoặc bằng số bộ của R n Các dòng trùng nhau chỉ lấy một
u Phép chiếu không có tính giao hoán
15
˛
Ví dụ phép chiếu
u Cho biết mã học viên và họ tên của các học viên
n Quan hệ: HOCVIEN n Thuộc tính: Mahv, HoTen
Mahv,HoTen (HOCVIEN)
16
p
Ví dụ phép chiếu (tt)
1.Ch ỉ trả về các thuộc tính
nvu và tgian
2.Ch ỉ trả về thuộc tính ms_nv 3.Ch ỉ trả về thuộc tính ms_da
Cho biết kết quả trong mỗi trường hợp.
17
Phép chiếu tổng quát
u Mở rộng phép chiếu bằng cách cho phép sử dụng các phép toán số học trong danh sách thuộc tính
u Ký hiệu pF1, F2, …, Fn (E)
n E là biểu thức ĐSQH n F1, F2, …, Fn là các biểu thức số học liên quan đến
n Hằng số n Thuộc tính trong E
u Ví dụ:
n Cho biết họ tên của các nhân viên và lương của họ sau khi
tăng 10%
HONV, TENNV, LUONG*1.1 (NHANVIEN)
18
p
Chuỗi các phép toán
u Kết hợp các phép toán đại số quan hệ
n Lồng các biểu thức lại với nhau
A1, A2, …, Ak (s
P (R))
P (p
A1, A2, …, Ak (R))
p s
n B1:
n Thực hiện từng phép toán một P (R)
s
n B2:
A1, A2, …, Ak (Quan hệ kết quả ở B1)
Cần đặt tên cho quan hệ
19
p
Ví dụ kết hợp phép chiếu và phép chọn
u Tìm mã số, họ tên những học viên ‘Nam’ có nơi
sinh ở ‘TpHCM’ p Mahv,Hotens(Gioitinh=‘Nam’)(cid:217)(Noisinh=‘TpHCM’)(HOCVIEN)
Mahv
HoTen
Gioitinh
Noisinh Malop
K1103 Ha Duy Lap
Nam
Nghe An
K11
K1102 Tran Ngoc Han Nu
Kien Giang K11
K1104 Tran Ngoc Linh Nu
Tay Ninh
K11
K1105 Tran Minh Long Nam
TpHCM
K11
K1106 Le Nhat Minh
Nam
TpHCM
K11
20
Ví dụ kết hợp phép chiếu và phép chọn
u Cho biết họ, tên, giới tính và mức lương của các
nhân viên của phòng số 5.
u Cho biết các dự án (MaDA, TenDA) có địa điểm ở
Hà Nội và có ngân sách lớn hơn 10.000.000.
21
Phép gán
u Được sử dụng để nhận lấy kết quả trả về của một
phép toán n Thường là kết quả trung gian trong chuỗi các phép toán
u Ký hiệu: ‹ u Ví dụ: n B1:
S ‹
P (R)
s
KQ ‹
n B2:
A1, A2, …, Ak (S)
p
R(HO,TEN,LUONG)‹
HONV,TENNV,LUONG(NHANVIEN)
22
p
Phép đổi tên
u Được dùng để đổi tên quan hệ và các thuộc tính u Cú pháp: Cho quan hệ R(A1, ..., An)
n Đổi tên quan hệ R thành S
S(R)
r
n Đổi tên thuộc tính A1 thành B1 (B1, A2, A3, ..., An)(R)
n Đổi tên quan hệ R thành S và các thuộc tính Ai thành Bi
r
S(B1, B2, ..., Bn)(R)
n Đổi tên quan hệ R thành S và thuộc tính A1 thành B1
r
S(B1, A2, A3, ..., An)(R)
23
r
Ví dụ
u Cho biết họ và tên nhân viên làm việc ở phòng số 4
n Quan hệ: NHANVIEN n Thuộc tính: HONV, TENNV n Điều kiện: PHG=4
u C1:
HONV, TENNV (s
PHG=4 (NHANVIEN))
u C2:
p
PHG=4 (NHANVIEN)
s
NV_P4 ‹ KQ ‹
HONV, TENNV (NV_P4)
p
HONV, TENNV (NV_P4)
p
KQ(HO, TEN) ‹ KQ(HO, TEN) (p
HONV, TENNV (NV_P4))
24
r
Các phép toán tập hợp
u Các phép toán thực hiện trên 2 quan hệ xuất phát
từ lý thuyết tập hợp của toán học: n Phép hội R ¨ S n Phép giao R ˙ S n Phép trừ R - S
u Các quan hệ R(A1,A2,…An) và S(B1,B2,…Bn) phải
có tính khả hợp n Có cùng bậc (cùng số lượng thuộc tính) n Với mọi i, Dom(Ai) = Dom(Bi)
u Kết quả của ¨, ˙, và - là một quan hệ có cùng tên
thuộc tính với quan hệ đầu tiên (R)
25
Các phép toán tập hợp (tt)
u Ví dụ:
NHANVIEN TENNV NGSINH PHAI THANNHAN TENTN NG_SINH PHAITN
Tung 12/08/1955 Nam Trinh 04/05/1986 Nu
Hang 07/19/1968 Nu Khang 10/25/1983 Nam
Nhu 06/20/1951 Nu Phuong 05/03/1958 Nu
Hung 09/15/1962 Nam Minh 02/28/1942 Nam
Bậc n=3 DOM(TENNV) = DOM(TENTN) DOM(NGSINH) = DOM(NG_SINH) DOM(PHAI) = DOM(PHAITN)
26
Chau 12/30/1988 Nu
Phép hội (Union)
u Cho 2 quan hệ R vàS kh ả hợp u Phép hội củaR và S
n Kýhi ệuR ¨ S n Là mộtquan h ệ gồmcác b ộ thuộcR ho ặcthu ộcS, ho ặc cả hai
(các bộ trùng lắp sẽ bị bỏ)
R ¨ S = { t / t˛R (cid:218) t˛S }
u Ví dụ: Cho biết học viên đượckhenth ưởng đợt1
hoặc đợt 2
DOT1
DOT2
Mahv
Hoten
Mahv
Hoten
Mahv
Hoten
K1101 Le Kieu My
K1103 Le Van Tam
K1101 Le Kieu My
K1103 Le Van Tam
K1114 Tran Ngoc Han
K1114 Tran Ngoc Han
K1114 Tran Ngoc Han
K1203 Le Thanh Hau
K1203 Le Thanh Hau
K1308 Nguyen Gia
K1308 Nguyen Gia
DOT1 ¨ DOT2
27
Phépgiao(intersection)
u Cho 2 quan hệ R vàS kh ả hợp u Phépgiao c ủaR và S
n Kýhi ệuR ˙ S n Là mộtquan h ệ gồmcác b ộ thuộcR đồngth ờithu ộc S
R ˙ S = { t / t˛R (cid:217) t˛S }
u Ví dụ: Họcviên đượckhenth ưởng cả hai đợt1 và 2
KT_D1
Mahv
Hoten
KT_D2
Mahv
Hoten
K1114 Tran Ngoc Han
Mahv
Hoten
K1103 Le Van Tam
K1101 Le Kieu My
DOT1 ˙ DOT2
K1114 Tran Ngoc Han
K1114 Tran Ngoc Han
K1203 Le Thanh Hau
K1308 Nguyen Gia
28
Phéptr ừ
u Cho 2 quan hệ R vàS kh ả hợp u Phépgiao c ủaR và S
n Kýhi ệuR - S n Là mộtquan h ệ gồmcác b ộ thuộcR vàkhôngthu ộc S
R - S = { t / t˛R (cid:217) tˇS }
u Ví dụ: Họcviên đượckhenth ưởng đợt1 nh ưng
không đượckhenth ưởng đợt 2
DOT1
DOT2
Mahv
Hoten
Mahv
Hoten
Mahv
Hoten
K1103 Le Van Tam
K1103 Le Van Tam
K1101 Le Kieu My
K1203 Le ThanhHau
K1114 Tran Ngoc Han
K1114 Tran Ngoc Han
K1308 Nguyen Gia
K1203 Le Thanh Hau
DOT1 -DOT2
K1308 Nguyen Gia
29
Phéptích
u Đượcdùng để kết hợpcác b ộ củacácquan h ệ lại
vớinhau
u Ký hiệu: R · S
u Kết quả trả về là mộtquan h ệ Q
n Mỗi bộ củaQ là t ổ hợpgi ữa1 b ộ trongR và1 b ộ trongS.
n Số bộ của Q = Số bộ của R x số bộ của S .
n Số thuộc tính của Q = Số thuộc tính của R + Số thuộc tính
của S.
30
Phép tích (tt)
u Ví dụ:
HOCVIEN· MONHOC
MONHOC
HOCVIEN
Mahv
Hoten
Mamh
Mamh
Mahv
Hoten
K1103 Le Van Tam
CTRR
CTRR
K1103 Le Van Tam
THDC
K1103 Le Van Tam
THDC
K1114 Tran Ngoc Han
CTDL
K1103 Le Van Tam
CTDL
K1203 Le Thanh Hau
K1114 Tran Ngoc Han CTRR
K1114 Tran Ngoc Han THDC
K1114 Tran Ngoc Han CTDL
K1203 Le Thanh Hau CTRR
K1203 Le Thanh Hau
THDC
K1203 Le Thanh Hau CTDL
31
Phép tích (tt)
32
Phép tích (tt)
Pban · Dan
33
Phép kết
u Được dùng để tổ hợp 2 bộ có liên quan từ 2 quan
hệ thành 1 bộ
u Ký hiệu R S
n R(A1, A2, …, An) và (B1, B2, …, Bm)
u Kết quả của phép kết là một quan hệ Q
n Có n + m thuộc tính Q(A1, A2, …, An, B1, B2, …, Bm) n Mỗi bộ của Q là tổ hợp của 2 bộ trong R và S, thỏa
mãn một số điều kiện kếtnào đó q Bj
n Có dạng Ai n Ai là thuộc tính của R, Bj là thuộc tính của S n Ai và Bj có cùng miền giá trị n q
là phép so sánh „, =, <, >, £, ‡
34
Phép kết (tt)
u Phân loại
n Kết theta (theta join) là phép kết có điều kiện
n Ký hiệu R C S n C gọi là điều kiện kết trên thuộc tính
n Kết bằng (equi join) khi C là điều kiện so sánh bằng
n Kết tự nhiên (natural join)
n Ký hiệu R * S n R+ ˙ Q+ „ ˘ n Kết trên tập thuộc tính cùng tên n Kết quả của phép kết bằng bỏ bớt đi 1 cột giống nhau
35
Phép kết (tt)
u Ví dụ phép kết theta
R
B R S A B C D E A B C D E 1 2 3 3 1 1 2 3 3 1 4 5 6 6 2 1 2 3 6 2 C(R · S) R C S = s 36 7 8 9 4 5 6 6 2 u Ví dụ phép kết bằng R C=D S R S A B C D E A B C D E 1 2 3 3 1 1 2 3 3 1 4 5 6 6 2 4 5 6 6 2 R C=S.C S 7 8 9 R S
S S.C D
C D A B C A B C S.C D 1 2 3 3
3 1 1 1 2 3 3 1 4 5 6 6
6 2 2 4 5 6 6 2 7 8 9 (S.C,D) S
37 r u Ví dụ phép kết tự nhiên R * S R S A B C C D A B C D 1 2 3 3 1 1 2 3 S.
C
3 1 4 5 6 6 2 4 5 6 6 2 7 8 9 A B C D 1 2 3 1 38 4 5 6 2 u Với mỗi phòng ban, cho biết thông tin của người TENPHG MAPHG TRPHG NG_NHANCHUC Nghien cuu 5 333445555 05/22/1988 Dieu hanh 4 987987987 01/01/1995 Quan ly 1 888665555 06/19/1981 MANV TENNV HONV NGSINH DCHI PHAI LUONG PHG 333445555 Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5 999887777 Hang Bui 07/19/1968 332 NTH Q1 25000 Nu 4 987654321 Nhu Le 06/20/1951 291 HVH QPN 43000 Nu 4 PHONGBAN
TRPHG 987987987 Hung Nguyen 09/15/1962 Ba Ria VT 38000 Nam 4 TRPHG=MANV NHANVIEN
NG_NHANCHUC MAPHG MANV TENNV HONV TENPHG … 333445555 05/22/1988 333445555 Tung Nguyen Nghien cuu 5 … 39 987987987 01/01/1995 987987987 Hung Nguyen Dieu hanh 4 … 888665555 06/19/1981 888665555 Quan ly 1 Vinh Pham … u Với mỗi nhân viên, hãy cho biết thông tin của NHANVIEN(HONV, TENNV, MANV, …, PHG) PHONGBAN(TENPHG, MAPHG, TRPHG, NG_NHANCHUC) KQ ‹ NHANVIEN PHG=MAPHG PHONGBAN KQ(HONV, TENNV, MANV, …, PHG, TENPHG, MAPHG, …) 40 u Với mỗi phòng ban hãy cho biết các địa điểm của PHONGBAN(TENPHG, MAPHG, TRPHG, NGAY_NHANCHUC) DDIEM_PHG(MAPHG, DIADIEM) 41 u Cho biết nhân viên có lương hơn lương của nhân NHAN_VIEN(HONV, TENNV, MANV, …, LUONG, PHG) LUONG (s TENNV=‘Tung’ (NHANVIEN)) R1(LG) ‹
KQ ‹ NHAN_VIEN LUONG>LG R1 KQ(HONV, TENNV, MANV, …, LUONG, LG) 42 p u Cho biết họ, tên của các nhân viên nữ và tên các 43 44 u Kýhi ệuR ‚ S
n R(Z) vàS(X) n Z là tậpthu ộctính c ủaR, X là t ậpthu ộctính c ủa S
n X ˝ Z u Kếtqu ả củaphépchialà m ộtquan h ệ T(Y) ˛ R n VớiY=Z-X
n Cót là m ột bộ củaT n ếu với mọi bộ tS ˛ S, tồn tại bộ tR thỏa2 điềuki ện n tR(Y) = t
n tR(X) = tS(X) R(Z) S(X) T(Y) 45 X Y u Cho biết mã nhân viên tham gia tất cả các đề án MA_NVIEN, MADA(PHANCONG) ÷ p MADA(DEAN) u Cho biết các nhân viên (Ho, ten) tham gia tất cả các p p MADA(s
PHONG = 4(DUAN))
MA_NVIEN, MADA(PHANCONG) p A ‹
B ‹
C ‹ B ÷ A
KQ ‹ HONV,TENNV (C MA_NVEN=MANV NHANVIEN) 47 p 48 u Nhậnvào t ập hợpcácgiátr u Ví dụ: R A B 1 2 3 4 1 2 SUM(B) = 10
AVG(A) = 1.5
MIN(A) = 1
MAX(B) = 4
COUNT(A) = 4 49 1 2 u Ký hiệu: G1, G2, …, GnIF1(A1), F2(A2), …, Fn(An)(E) n E là biểu thức ĐSQH
n G1, G2, …, Gn là các thuộc tính gom nhóm
n F1, F2, …, Fn là các hàm
n A1, A2, …, An là các thuộc tính tính toán trong hàm F 50 u Ví dụ: SUM_C R A B C 27 a 2 7 a 4 7 b 2 3 AISUM(C)(R) g 2 10 SUM_C 14 3 51 10 u Ví dụ: Xétquan h ệ Nhanvien(honv, tenlot, tennv, ươngtrungbình n Số lượngnhânviên và l ươngtrungbình c ủa từng phòng 52 u Mở rộngphép k ết để tránh mấtmátthôngtin n Thựchi ệnphép k ết
n Lấythêmcác b ộ khôngth ỏa điềuki ện kết u Có 3 dạng p S p S n Left outer join (Mở rộngbêntrái) R
n Right outer join (Mở rộngbênph ải) R
n Full outer join (Mở rộng2 bên) R p S 53 u Phép kết mở rộng trái: n Giữ lại tất cả các bộ của quan hệ ở bên trái phép toán kết mà không liên kết được với bộ nào của quan hệ bên phải. C A B A B C E D 1 a a a a 1 7 2 5 a b a a 1 12 3 15 b b R C a b 5 12 3 b b 15 null null D E 1 7 2 7 12 3 54 u Phép kết mở rộng phải: n Giữ lại tất cả các bộ của quan hệ ở bên phải phép toán kết
mà không liên kết được với bộ nào của quan hệ bên trái. C A B A B C D E 1 a a a b 5 1 7 5 a b a b 5 2 7 15 b b R C>D S b b 15 1 7 b b 15 2 7 D E nullnullnull 20 3 1 7 2 7 20 3 55 u Phép kết mở rộng 2 phía: n Giữ lại tất cả các bộ của từng quan hệ ở hai bên phép toán
kết mà không liên kết được với bộ nào của quan hệ còn lại. C A B A B C D E 1 a a a a 1 1 7 2 a b a b 2 2 7 15 b b R C=D S b b 15 null null null null null 20 3 D E 1 7 2 7 20 3 56 u Cho biết họ tên nhân viên và tên phòng ban mà họ HONV,TENNV, TENPHG (NHANVIEN MANV=TRPHG PHONGBAN) p TENNV HONV TENPHG Tung Nguyen Nghiencuu Hang Bui null Nhu Le null 57 Vinh Pham Quan ly 58 u Nội dung của CSDL có thể được cập nhật bằng u Các thao tác cập nhật được diễn đạt thông qua Rnew các phép toán trên Rold 59 ‹ u Thaotácthêm đượcdi ễn đạtnh ư sau: Rold ¨ E Rnew
n R làquan h ệ
n E là mộtbi ểuth ức ĐSQH u Ví dụ: Phâncôngnhânviêncómã123456789 làm thêm đề ánmã s ố 20 với số giờ là10 PHANCONG ‹ PHANCONG ¨ (‘123456789’, 20, 10) 60 ‹ u Thaotácxóa đượcdi ễn đạtnh ư sau: Rnew Rold - E n R làquan h ệ
n E là mộtbi ểuth ức ĐSQH u Ví dụ: n Xóacácphâncông đề án củanhânviên123456789 PHANCONG ‹ PHANCONG - s MANV=‘123456789’(PHANCONG) n Xóanh ữngphâncông đề áncó địa điểm ở ‘HA NOI’ 61 ‹ u Thaotác s ửa đượcdi ễn đạtnh ư sau: F1, F2, …, Fn (Rold) Rnew
n R làquan h ệ
n Filàbi ểuth ứctínhtoánchoragiátr ị mới củathu ộctính, thuộctínhth ứ icóth ể giữ nguyên nếukhôngmu ốn cậpnh ật u Ví dụ: n Tăngth ờigianlàmvi ệccho t ất cả nhânviênlên1.5 l ần ‹ p PHANCONG ‹ MA_NVIEN, SODA, THOIGIAN*1.5(PHANCONG) 62 p u Đại số quan hệ là một tập hợp các phép toán để u Các phép toán cơ sở gồm: s, p, ·, ¨, - u Các phép toán khác định nghĩa trên các phép toán 63 Mỗi phòng ban có một mã phòng ban duy nhất để phân biệt với phòng ban khác, có tên phòng
ban, do một nhân viên làm trưởng phòng và có ngày nhận chức của người trưởng phòng đó. u NHANVIEN(HONV,TENLOT,TENNV,MANV,NGSINH,DCHI,PHAI,CVU,LUONG,MA_NQL,PHG) Mỗi nhân viên của công ty có một họ, tên lót, tên, lương, địa chỉ, điện thoại, phái và có một mã
nhân viên duy nhất để phân biệt với các nhân viên khác. Một nhân viên có một người quản lý
trực tiếp và làm việc cho một phòng ban nào đó. u DIADIEM_PHG(MAPHG, DIADIEM) Một phòng ban có thể ở nhiều địa điểm và một địa điểm có thể có nhiều phòng ban tọa lạc. u THANNHAN(MA_NVIEN, TENTN, PHAI, NGSINH, QUANHE) Mỗi thân nhân là một người thân của một nhân viên nào đó. Một nhân viên có thể có nhiều thân
nhân. Thân nhân có tên, phái, ngày sinh và mô tả mối quan hệ với nhân viên. u DEAN(TENDA, MADA, DDIEM_DA, PHONG, NSACH) Một đề án có tên và một mã đề án duy nhất để phân biệt với đề án khác. Đề án do một phòng
ban chịu trách nhiệm chủ trì và diễn ra ở một địa điểm nào đó. u PHANCONG(MA_NVIEN, MADA, THOIGIAN) 64 Một nhân viên được phân công làm nhiều đề án và một đề án có thể có nhiều nhân viên tham
gia. Nhân viên tham gia đề án với 1 khoảng thời gian nào đó trong tuần.Phép kết (tt)
Phép kết (tt)
Ví dụ phép kết
trưởng phòng
Ví dụ phép kết (tt)
phòng ban mà họ đang làm việc
n Quan hệ: NHANVIEN, PHONGBAN
Ví dụ phép kết (tt)
phòng ban đó
n Quan hệ: PHONGBAN, DDIEM_PHG
PHONGBAN * DDIEMPHG
Ví dụ phép kết (tt)
viên ‘Tùng’
n Quan hệ: NHANVIEN
n Thuộc tính: LUONG
Ví dụ phép kết (tt)
thân nhân của họ.
A ‹ sPHAI = ‘Nu’(NHANVIEN)
B ‹ A
MANV=MA_NVIEN THANNHAN
KQ ‹ pHONV, TENNV, TENTN B
Bài tập
Cho biết:
1.Tìm tên và địa chỉ của các nhân viên thuộc phòng
‘Nghien cuu'.
2.Tên nhân viên và tên phòng mà nhân viên đó làm
việc.
3.Tên tr ưởng phòng và tên phòng mà người đó làm
trưởng phòng.
4.Tên nh ững trưởng phòng có ít nhất một thân nhân.
5.Cho bi ết tên những đề án có nhân viên Nguyen Van A
và Nguyen Van B cùng tham gia.
6.Tên nhân viên không có thân nhân nào.
7.Tên nh ững nhân viên phòng số 5 có tham gia vào đề
án ‘San pham X’ và nhân viên này do ‘Nguyen Thanh
Tung’ quản lý trực tiếp.
Phép chia
u Đượcdùng để lấyra m ột số bộ trongquan h ệ R
saochoth ỏa với tất cả các bộ trongquan h ệ S
Ví dụ
đề án do phòng số 4 phụ trách
Nội dung
1.Gi ới thiệu
2. Đại số quan hệ
3.Các phép toán c ơ bản
4.Các phép toán khác
5.Các thao tác c ập nhật
Hàm kết hợp
ị vàtr ả về mộtgiátr ị
đơn
n AVG
n MIN
n MAX
n SUM
n COUNT
Phép gom nhóm
u Được dùng để phân chia quan hệ thành nhiều
nhóm dựa trên điều kiện gom nhóm nào đó
Phép gom nhóm (tt)
ISUM(C)(R)
Phép gom nhóm (tt)
manv, luong, ma_nql, phg). Cho biết:
n Số lượngnhânviêntrongcôngtyvà l
ICOUNT(MANV),AVG(luong)(Nhanvien)
phgICOUNT(MANV),AVG(luong)(Nhanvien)
Phép kết ngoài (mở rộng)
Phép kết ngoài (tt)
R
S
Phép kết ngoài (tt)
R
S
Phép kết ngoài (tt)
R
S
Ví dụ
phụ trách nếu có
n Quan hệ: NHANVIEN, PHONGBAN
n Thuộc tinh: HONV, TENNV, TENPH
Nội dung
1.Gi ới thiệu
2. Đại số quan hệ
3.Các phép toán c ơ bản
4.Các phép toán khác
5.Các thao tác c ập nhật
Các thao tác cập nhật
các thao tác
n Thêm (insertion)
n Xóa (deletion)
n Sửa (updating)
phép toán gán
Thao tác thêm
Thao tác xóa
Thao tác sửa
Tổng kết
ánh xạ quan hệ thành quan hệ.
cơ sở: ˙, , ‚
Lược đồ CSDL Quản lý dự án công ty:
u PHONGBAN(TENPHG, MAPHG, TRPHG, NGAY_NHANCHUC)