Professional Documents
Culture Documents
CƠ SỞ DỮ LIỆU
Lê Đức Long
Email: longld@math.hcmup.edu.vn
Website: http://www.2learner.edu.vn
NỘI DUNG TRÌNH BÀY
ĐẠI SỐ QUAN HỆ
(Relational Algebra)
TENNV
Tung HONV
Nguyen NGSINH
12/08/1955 DCHI PHAI LUONG PHONG
Hang
Tung Bui
Nguyen 07/19/1968
12/08/1955 638 NVC Q5 Nam 40000 15
Nhu
Hang Le Bui 06/20/1951
07/19/1968 332 NTH Q1 Nu 25000 4
Hung
Nhu Nguyen
Le 09/15/1962
06/20/1951 291 HVH QPN Nu 43000 4
Quang
Hung Pham
Nguyen 11/10/1937
09/15/1962 Ba Ria VT Nam 38000 5
Quang Pham 11/10/1937 450 TV HN Nam 55000 1
Vấn đề là … http://en.wikipedia.org/wiki/Relational_algebra#Introduction
Relational Algebra (RA) can be viewed as a data manipulation language for relational model. It consists of several basic
operations which is enable user to specify retrieval requests. RA is called a procedural language in which user need to
specify how to retrieve the expected data. http://www.vocw.edu.vn/content/m10536/latest/
8
TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HCM
KHOA TOÁN – TIN
280, An Dương Vương, Q5, Tp HCM ĐT: (08).8352020 - 8352021
Lê Đức Long
Email: longld@math.hcmup.edu.vn
Website: http://www.2learner.edu.vn
Tính khả hợp
Quan hệ là tập hợp các bộ
Tính khả hợp (Union Compatibility)
Hai lƣợc đồ quan hệ R(A1, A2, …, An) và
S(B1, B2, …, Bn) là khả hợp nếu:
• Cùng bậc n (cùng số thuộc tính)
• Và có DOM(Ai)=DOM(Bi) , 1 i n
Ví dụ
NHANVIEN TENNV NGSINH PHAI THANNHAN TENTN NG_SINH PHAITN
11
Ví dụ
Xét hai quan hệ của hai lược đồ quan hệ NV1 (Q1) và NV2 (Q2) như sau :
1 2 Q A B
2 3 2
1
13
Ví dụ
Xét hai quan hệ của hai lược đồ quan hệ NV1 (Q1) và NV2 (Q2) như sau :
14
Phép trừ ()
Q=R-S
R A B S A B
Q A B
1 2
2 3 1
1 1
15
Ví dụ
Xét hai quan hệ của hai lược đồ quan hệ NV1 (Q1) và NV2 (Q2) như sau :
16
Lƣu ý …
Giao hoán
RS=SR
Các phép toán ,
RS=SR
có tính chất
Kết hợp
R (S T) = (R S) T
R (S T) = (R S) T
17
Phép tích Descartes (x)
unambiguous
1 1 10 +
2 bộ 2 1 10 +
1 20 -
S B C D 1 10 -
8 bộ
2 10 +
10 +
2 10 +
10 +
4 bộ 2 20 -
20 -
2 10 -
10 -
5 cột
19
Ví dụ
Xét hai quan hệ của hai lược đồ quan hệ NV1 (Q1) và KHOA(Q2) như sau :
20
Phép chia ()
Đƣợc dùng để lấy ra một số bộ trong quan
hệ R sao cho thỏa với tất cả các bộ trong
quan hệ S
Ký hiệu R S
– R(Z) và S(X)
» Z là tập thuộc tính của R, X là tập thuộc tính của S
»XZ
Kết quả của phép chia là một quan hệ T(Y)
Với Y=Z-X
Có t là một bộ của T nếu với mọi bộ tSS, tồn tại bộ tRR
thỏa 2 điều kiện
R(Z) S(X) T(Y)
» t = tR(Y)
X Y
» tR(X) = tS(X)
21
Minh hoạ T=RS
a a 1 a 1
a a 1 b 1
a b 1
a a 1 Bộ trong R thoả tất cả T=RS
a b 3 các bộ trong S
T A B C
a a 1
a
a b 1
Kết quả lấy ở các cột Y=Z - X a
a b 1
T+= {A,B,C}
22
TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HCM
KHOA TOÁN – TIN
280, An Dương Vương, Q5, Tp HCM ĐT: (08).8352020 - 8352021
Lê Đức Long
Email: longld@math.hcmup.edu.vn
Website: http://www.2learner.edu.vn
Phép chọn ()
Đƣợc dùng để lấy ra các bộ của quan hệ R
Các bộ đƣợc chọn phải thỏa mãn điều kiện
chọn P
Ký hiệu p (R)
24
Phép chọn (tt)
R A B C D
(A=B) (D>5) (R)
1 7 R A B C D
5 7
1 7
12 3
23 10 23 10
25
Lƣu ý …
(
p1 p2 (R)) = p2 ( p1 (R))
Ví dụ:
Chọn nhân viên ở phòng 4 và có lương lớn hơn 2500
(PHONG=4)(( Luong>2500) (NHANVIEN))
27
Lời giải
PHONG=4 (NHANVIEN)
29
LƢU Ý …
RS A=S.B (R S)
A R.B S.B C D A R.B S.B C D
1 10 + 1 10 +
1 10 + 2 10 +
1 20 - 2 20 -
1 10 -
2 10 +
2 10 +
2 20 -
2 10 -
30
Phép chiếu ()
Đƣợc dùng để lấy ra một vài cột của
quan hệ R
Ký hiệu (R)
A1, A2, …, Ak
31
Lƣu ý …
A1, A2, …, An( A1, A2, …, Am(R)) (
A1, A2, …, Am A1, A2, …, An(R ))
32
Ví dụ 1 CSDL - QUẢN LÝ ĐỀ ÁN CÔNG TY
nhân viên
33
Lời giải
HONV, TENNV,MLUONG(NHANVIEN)
34
Ví dụ 2
Lưu trữ D/s các nhân viên tham gia đề án
Cho biết mã nhân Lưu trữ D/s các thân nhân
viên có tham gia của nhân viên
đề án hoặc có thân
nhân
35
Lời giải
Cho biết mã nhân viên có tham gia đề
án hoặc có thân nhân
Nhân viên có tham gia đề án
•Quan hệ: PHANCONG
•Thuộc tính: MANV
Nhân viên có thân nhân
•Quan hệ: THANNHAN
•Thuộc tính: MANV
MANV(PHANCONG) U MANV(THANNHAN)
36
Ví dụ 3
Lưu trữ D/s các nhân viên của công ty
Cho biết mã nhân Lưu trữ D/s các nhân viên
viên không có thân có thân nhân
nhân nào
37
Lời giải
MANV(NHANVIEN) - MANV(THANNHAN)
38
Phép chiếu mở rộng
39
Ví dụ
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%
Chú ý câu truy vấn này kô làm thay đổi dữ liệu trong CSDL
40
Biểu diễn phép chiếu theo phép tính quan hệ
NhanVien
MaNV HoTen Phai Luong PHG
nv1 = 123 NTA Nữ 2000 NC
nv2 = 124 LVM Nam 2100 NC
41
Phép chiếu lên 1 thuộc tính HoTen của quan
hệ NhanVien:
NhanVien[HoTen] = {N T A, L V M}
NhanVien
MaNV HoTen Phai Luong PHG
123 NTA Nữ 2000 NC
124 LVM Nam 2100 NC
42
Phép kết ()
Đƣợc dùng để tổ hợp 2 bộ có liên quan
từ 2 quan hệ thành 1 bộ (thoả điều kiện)
Ký hiệu R S
R(A1, A2, …, An) và S(B1, B2, …, Bm)
Kết quả của phép kết là một quan hệ Q
Có n + m thuộc tính Q(A1, A2, …, An, B1, B2, …, Bm)
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ết nào đó
• Có dạng Ai Bj
• Ai là thuộc tính của R, Bj là thuộc tính của S
• Ai và Bj có cùng miền giá trị
• là phép so sánh: , , , , ,
43
Phân loại
Kết theta (Theta join) là phép kết có điều kiện
• Ký hiệu R C S
• C gọi là điều kiện kết trên thuộc tính
44
Minh hoạ
R A B C S D E
1 2 3 3 1
B1: Q R x S
4 5 6 6 2
7 8 9
B2: KQ B < D (Q)
A B C D E
1 2 3 3 1
1 2 3 6 2
4 5 6 6 2
45
Minh hoạ
Kết bằng (Equi join) khi C là điều kiện so
sánh bằng
Ví dụ phép kết bằng
R A B C S D E A B C D E
1 2 3 3 1
1 2 3 3 1 R C=D S
4 5 6 6 2 4 5 6 6 2
7 8 9
R A B C
S C D
1 2 3
3 1 A B C S. E
4 5 6 R C=S.C S C
7 8 9 6 2
1 2 3 3 1
4 5 6 6 2
46
Minh hoạ
R S
Ví dụ phép kết tự nhiên
A B C S.C D
1 2 3 3 1
4 5 6 6 2
R A B C S C D
1 2 3 3 1 Bỏ đi cột
4 5 6 6 2 giống nhau
7 8 9 A B C D
1 2 3 1
Thường dùng phép kết này trong câu truy vấn 4 5 6 2
47
Ví dụ tổng hợp 1
Liệt kê danh sách mã nhân viên, tên
nhân viên, tên phòng ban mà họ làm việc
48
Ví dụ tổng hợp 1
49
Ví dụ tổng hợp 2
Liệt kê danh sách mã phòng, tên phòng
và địa điểm của phòng ban đó
50
Ví dụ tổng hợp 2
51
Ví dụ tổng hợp 3
Với mỗi phòng ban, cho biết thông
tin của người trưởng phòng
52
Ví dụ tổng hợp 3
53
Lời giải
CÁCH 1:
TRPHG,MAPHG, HONV,TENNV(NHANVIEN PHONGBAN)
CÁCH 2:
B1: Tích Descartes PHONGBAN và NHANVIEN
PB_NV (NHANVIEN PHONGBAN)
B2: Chọn ra những bộ thỏa TRPHG=MANV
KQ TRPHG=MANV(PB_NV)
B3: Liệt kê mã NV, mã PB, họ và tên của
trưởng phòng
KQ TRPHG,MAPHG, HONV,TENNV(KQ)
54
Hoạt động thảo luận
55
Biểu diễn phép chia thông qua tập
đầy đủ các phép toán ĐSQH
R A B C D E
a a 1
S D E
a a 1
a b 1 a 1
56
A B C D E
a a 1 D E
a a 1 S a 1
a b 1 b 1
R a a 1
a b 3
a a 1
Q1 Y (R)
a
a
b
b
1
1
Y(Q2 R)
A B C
Q3
a
a
a
Q1 a A B C
a a
a Q3 a
a a
a a
Q2 Q1 S
A B C D E
Q1 Q3
a a 1
a
a
a
a
1
1
T
a a 1
a a 1 A B C
a a 1 a
a a 1 a
Q2 a a 1
a b 1
a b 1
a b 1
T=RS
a b 1
a b 1
a b 1
a b 1
a b 1 57
Ví dụ 1 CSDL - QUẢN LÝ ĐỀ ÁN CÔNG TY
60
TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HCM
KHOA TOÁN – TIN
280, An Dương Vương, Q5, Tp HCM ĐT: (08).8352020 - 8352021
Lê Đức Long
Email: longld@math.hcmup.edu.vn
Website: http://www.2learner.edu.vn
Chuỗi các phép toán
Kết hợp các phép toán đại số quan hệ
Lồng các biểu thức lại với nhau
A1, A2, …, Ak
( P (R)) (
P A1, A2, …, Ak (R))
ĐÂY LÀ CÁCH SẼ BIỂU DIỄN CÂU TRUY VẤN TRONG BÀI TẬP, BÀI THI
62
Phép gán
Ví dụ
B1 S P (R) Kết quả cuối cùng đặt là quan hệ KQ
63
Phép đổi tên
Đƣợc dùng để đổi tên
Quan hệ Xét quan hệ R(B, C, D)
Thuộc tính
65
Lời giải
Cho biết họ và tên nhân viên làm việc
ở phòng số 4
Quan hệ: NHANVIEN
Thuộc tính: HONV, TENNV
Điều kiện: PHONG=4
67
Ý tƣởng
69
Ví dụ 3
Cho biết các phòng ban có cùng địa điểm
với phòng số 5
70
Ý tƣởng
Cho biết các phòng ban có cùng địa
điểm với phòng số 5
Quan hệ: DIADIEM_PHG
Thuộc tính: DIADIEM, MAPHG
Điều kiện: MAPHG=5
Phòng 5 có tập hợp những Phòng nào có địa điểm nằm
địa điểm nào? trong trong tập hợp đó?
1 TP HCM 1 TP HCM
4 HA NOI 4 HA NOI
5 VUNGTAU 5 VUNGTAU
5 NHATRANG 5 NHATRANG
5 TP HCM 5 TP HCM
71
Lời giải
73
Hàm kết hợp
» MAX 3 4 MIN(A) = 1
1 2
1 2 MAX(B) = 4
» SUM
COUNT(A) = 4
» COUNT
74
Ví dụ
Cho biết số lượng phòng ban trong công ty
COUNT(MAPHG(PHONGBAN))
Cho biết lương cao nhất của các nhân viên công ty
MAX(MLuong(NHANVIEN))
Xem lại câu truy vấn ở Slide 69,70)
75
Phép gom nhóm (T)
76
Ví dụ SUM(C(R))
ISUM(C)(R) Tính tổng trên
R A B C
thuộc tính C
2 7
27
4 7
2 3
2 10
A ISUM(C)(R)
Gom nhóm theo 14
thuộc tính A 3
10
77
Ví dụ 1
Cho biết lương cao nhất của các nhân viên công ty
MAX(MLUONG(NHANVIEN))
C2: Cách thường sử dụng trong câu truy vấn
IMAX(MLUONG)(NHANVIEN)
78
Ví dụ 2
TCOUNT(MANV),AVG(MLUONG)(NHANVIEN)
79
Ví dụ 3
Tính số lƣợng nhân viên và lƣơng trung
bình của từng phòng ban
PHONGTCOUNT(MANV),AVG(MLUONG)(NHANVIEN)
80
Phép kết ngoài - OUTER JOIN Operation
81
Phép kết ngoài - OUTER JOIN Operation
The OUTER JOIN Operation
o In NATURAL JOIN tuples without a matching (or related) tuple are
eliminated from the join result. Tuples with null in the join attributes
are also eliminated. This amounts to loss of information.
o A set of operations, called outer joins, can be used when we want to
keep all the tuples in R, or all those in S, or all those in both
relations in the result of the join, regardless of whether or not they
have matching tuples in the other relation.
o The left outer join operation keeps every tuple in the first or left
relation R in R S; if no matching tuple is found in S, then the
attributes of S in the join result are filled or “padded” with null
values.
o A similar operation, right outer join, keeps every tuple in the second
or right relation S in the result of R S.
o A third operation, full outer join, denoted by keeps all tuples
in both the left and the right relations when no matching tuples are
found, padding them with null values as needed.
82
Ví dụ
Cho biết họ tên nhân viên và mã
phòng ban mà họ làm trƣởng
phòng nếu có
Quan hệ: NHANVIEN, PHONGBAN
Thuộc tinh: TENNV, TENPH
R1 NHANVIEN MANV=TRPHG PHONGBAN
Quyen Vuong QL
Tung Nguyen NC
Các bộ thêm vào của
Nhan Le DH
quan hệ bên trái (kô
Tien Dinh null thỏa điều kiện kết)
…. …. ….
83
TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HCM
KHOA TOÁN – TIN
280, An Dương Vương, Q5, Tp HCM ĐT: (08).8352020 - 8352021
Lê Đức Long
Email: longld@math.hcmup.edu.vn
Website: http://www.2learner.edu.vn
84