Professional Documents
Culture Documents
Chap 03
Chap 03
Chap 03
U
F
CHƯƠNG 3
ĐẠI SỐ QUAN HỆ
U
E
F
Nội dung chi tiết
¡ Giới thiệu
¡ Đại số quan hệ
¡ Phép toán tập hợp
¡ Phép chọn
¡ Phép chiếu
¡ Phép tích Cartesian
¡ Phép kết
¡ Phép chia
¡ Có 2 loại xử lý
- Làm thay đổi dữ liệu (cập nhật)
Thêm mới, xóa và sửa
- Không làm thay đổi dữ liệu (rút trích)
Truy vấn (query)
¡ Đại số
- Toán tử (operator)
- Toán hạng (operand)
¡ Trong số học
- Toán tử: +, -, *, /
- Toán hạng - biến (variables): x, y, z
- Hằng (constant)
- Biểu thức
(x+7) / (y-3)
(x+y)*z and/or (x+7) / (y-3)
¡ Giới thiệu
¡ Đại số quan hệ
¡ Phép toán tập hợp
¡ Phép chọn
¡ Phép chiếu
¡ Phép tích Cartesian
¡ Phép kết
¡ Phép chia
¡ Các phép toán khác
¡ Ví dụ
Bậc n=3
DOM(TENNV) = DOM(TENTN)
DOM(NGSINH) = DOM(NG_SINH)
DOM(PHAI) = DOM(PHAITN)
a 1 a 2 a 1
a 2 b 3 a 2
b 1 b 1
a 2
b 3
R Ç S = { t / tÎR Ù tÎS }
¡ Ví dụ
R A B S A B RÇS A B
a 1 a 2 a 2
a 2 b 3
b 1
R - S = { t / tÎR Ù tÏS }
¡ Ví dụ
R A B S A B R-S A B
a 1 a 2 a 1
a 2 b 3 b 1
b 1
¡ Giao hoán
RÈS=SÈR
RÇS=SÇR
¡ Kết hợp
R È (S È T) = (R È S) È T
R Ç (S Ç T) = (R Ç S) Ç T
R A B S A B T A B
a 1 a 2 a 1
a 2 b 3 b 3
b 1
R È (S - T)
R - (S Ç T)
¡ Giới thiệu
¡ Đại số quan hệ
¡ Phép toán tập hợp
¡ Phép chọn
¡ Phép chiếu
¡ Phép tích Cartesian
¡ Phép kết
¡ Phép chia
¡ Các phép toán khác
¡ Ví dụ
R A B C D
s (A=B)Ù(D>5) (R)
a a 1 7
A B C D
a b 5 7
b b 12 3 a a 1 7
b b 23 10 b b 23 10
s (s p1 p2 (R)) = s (s
p2 p1 (R)) = s p1 Ù p2 (R)
s PHG=4 (NHANVIEN)
¡ Giới thiệu
¡ Đại số quan hệ
¡ Phép toán tập hợp
¡ Phép chọn
¡ Phép chiếu
¡ Phép tích Cartesian
¡ Phép kết
¡ Phép chia
¡ Các phép toán khác
R A B C A C
a
a
10
20
1
1 p A,C (R)
a
a
1
1
b 30 1 b 1
b 40 2 b 2
p X,Y (R) = p (p
X Y (R))
p A1, A2, …, An( p A1, A2, …, Am(R)) = p A1, A2, …, An (R) , với n £ m
p HONV,TENNV,LUONG (NHANVIEN)
¡ 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%
¡ Ví dụ
- B1 S ¬ sP (R)
- B2 KQ ¬ pA1, A2, …, Ak (S)
- Thuộc tính
rS(X,C,D)(R)
Cơ sở dữ liệu - Khoa CNTT 34
U
E
F
Ví dụ 7
¡ C1: p s
HONV, TENNV ( PHG=4 (NHANVIEN))
¡ Giới thiệu
¡ Đại số quan hệ
¡ Phép toán tập hợp
¡ Phép chọn
¡ Phép chiếu
¡ Phép tích Cartesian
¡ Phép kết
¡ Phép chia
¡ Các phép toán khác
¡ Ví dụ
R´S
R A B
a 1 A B X C D
b 2 a 1 a 10 +
a 1 b 10 +
a 1 b 20 -
S B
X C D a 1 g 10 -
a 10 + b 2 a 10 +
b 10 + b 2 b 10 +
b 20 - b 2 b 20 -
g 10 - b 2 g 10 -
r(X,C,D) (S)
¡ Ví dụ
unambiguous
R A B
R´S A R.B S.B C D
a 1
b 2 a 1 a 10 +
a 1 b 10 +
a 1 b 20 -
S B C D a 1 g 10 -
b 2 a 10 +
a 10 +
b 2 b 10 +
b 10 +
b 2 b 20 -
b 20 -
b 2 g 10 -
g 10 -
a 1 a 10 + a 1 a 10 +
a 1 b 10 + b 2 b 10 +
a 1 b 20 - b 2 b 20 -
a 1 g 10 -
b 2 a 10 +
b 2 b 10 +
b 2 b 20 -
b 2 g 10 -
¡ Với mỗi phòng ban, cho biết thông tin của người
trưởng phòng
- Quan hệ: PHONGBAN, NHANVIEN
- Thuộc tính: TRPHG, MAPHG, TENNV, HONV, …
TENPHG MAPHG TRPHG NG_NHANCHUC
KQ ¬ sTRPHG=MANV(PB_NV)
R1 ¬ (pLUONG (NHANVIEN))
R2 ¬ sNHAN_VIEN.LUONG < R1.LUONG(NHANVIEN ´ R1)
R3 ¬ p NHAN_VIEN.LUONG (R2)
KQ ¬ p LUONG (NHANVIEN) - R3
¡ 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
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
R1 ¬ sMAPHG¹5 (DIADIEM_PHG)
R2 ¬ sDIADIEM=DD (R1 ´ DD_P5)
KQ ¬ pMAPHG (R2)
¡ Giới thiệu
¡ Đại số quan hệ
¡ Phép toán tập hợp
¡ Phép chọn
¡ Phép chiếu
¡ Phép tích Cartesian
¡ Phép kết
- Kết tự nhiên (Natural join)
- Kết có điều kiện tổng quát (Theta join)
- Kết bằng (Equi join)
¡ Phép chia
¡ Các phép toán khác
Cơ sở dữ liệu - Khoa CNTT 49
U
E
F
Phép kết
¡ 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
R B<D S
R A B C S 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
7 8 9 4 5 6 6 2
R C S = sC(R ´ S)
1 2 3 3 1 1 2 3 3 1
4 5 6 6 2 4 5 6 6 2
7 8 9
R C=S.C S
R A B C S S.C
C D A B C S.C D
1 2 3 3 1 1 2 3 3 1
4 5 6 6 2 4 5 6 6 2
7 8 9
r(S.C,D) S
Cơ sở dữ liệu - Khoa CNTT 53
U
E
F
Phép kết (tt)
R S
R A B C S C D AA BB C C S.CD D
1 2 3 3 1 11 22 33 31 1
4 5 6 6 2 44 55 66 62 2
7 8 9
¡ Với mỗi nhân viên, hãy cho biết thông tin của phòng
ban mà họ đang làm việc
- Quan hệ: NHANVIEN, PHONGBAN
¡ Với mỗi phòng ban hãy cho biết các địa điểm của
phòng ban đó
- Quan hệ: PHONGBAN, DDIEM_PHG
KQ ¬ PHONGBAN DDIEMPHG
¡ Giới thiệu
¡ Đại số quan hệ
¡ Phép toán tập hợp
¡ Phép chọn
¡ Phép chiếu
¡ Phép tích Cartesian
¡ Phép kết
¡ Phép chia
¡ Các phép toán khác
¡ Ví dụ
R÷S
R A B C D E S D E A B C
a a a a 1 a 1 a a g
a a g a 1 b 1 g a g
a a g b 1
b a g a 1
b a g b 3
g a g a 1
g a g b 1
g a b b 1
¡ Biểu diễn phép chia thông qua tập đầy đủ các phép
toán ĐSQH
Q1 ¬ pY (R)
Q2 ¬ Q1 ´ S
Q3 ¬ pY(Q2 - R)
T ¬ Q1 - Q3
¡ Giới thiệu
¡ Đại số quan hệ
¡ Phép toán tập hợp
¡ Phép chọn
¡ Phép chiếu
¡ Phép tích Cartesian
¡ Phép kết
¡ Phép chia
¡ Các phép toán khác
- Hàm kết hợp (Aggregation function)
- Phép gom nhóm (Grouping)
- Phép kết ngoài (Outer join)
Cơ sở dữ liệu - Khoa CNTT 66
U
E
F
Hàm kết hợp
¡ Nhận vào tập hợp các giá trị và trả về một giá trị
đơn
- AVG
- MIN
- MAX
- SUM
- COUNT
¡ Ví dụ
SUM(B) = 10
R A B
1 2 AVG(A) = 1.5
3 4
MIN(A) = 1
1 2
1 2 MAX(B) = 4
COUNT(A) = 4
¡ Ví dụ
𝜻SUM(C)(R)
SUM_C
R A B C
27
a 2 7
a 4 7
b 2 3
g 2 10 𝜻
A SUM(C)(R)
SUM_C
14
3
10
¡ Có 3 hình thức
- Mở rộng bên trái
- Mở rộng bên phải
- Mở rộng 2 bên
¡ Bài tập 1: Cho biết kết quả của các phép tập hợp
sau:
¡ Bài tập 2:
¡ Bài tập 2: Thực hiện các phép toán ĐSQH theo yêu
cầu sau:
a. Đưa ra tên và địa chỉ của tất cả các nhân viên làm việc cho đơn vị?
b. Với mỗi dự án có địa điểm tại Hà nội, hãy liệt kê mã số dự án, mã
số của đơn vị kiểm soát, Tên, địa chỉ và ngày sinh của người quản
lý đơn vị?
c. Tìm tên của các nhân viên làm việc trên tất cả các dự án do đơn vị
có mã số 5 kiểm soát?
d. Tạo ra một danh sách các mã số dự án đối với các dự án có một
nhân viên hoặc một người quản lý đơn vị kiểm soát dự án có tên là
‘Nam’?
e. Đưa ra tên của tất cả các nhân viên có nhiều hơn hoặc bằng 2
người phụ thuộc?
f. Đưa ra các nhân viên không có người phụ thuộc?
g. Đưa ra tên của những người quản lý có ít nhất là một người phụ
thuộc?
Cơ sở dữ liệu - Khoa CNTT 77
E
U
F