Professional Documents
Culture Documents
Chuong3 All
Chuong3 All
Chương 3
Đại số quan hệ
(Relational Algebra)
1
▪ Là một mô hình toán học dựa trên lý thuyết tập hợp
▪ Đối tượng xử lý là các quan hệ trong cơ sở dữ liệu
quan hệ
▪ Cho phép sử dụng các phép toán rút trích dữ liệu
từ các quan hệ
▪ Tối ưu hóa quá trình rút trích dữ liệu
▪ Gồm có:
➢ Các phép toán đại số quan hệ
➢ Biểu thức đại số quan hệ
2
1. ĐSQH - Các phép toán ĐSQH, biểu thức ĐSQH
◦ Kết quả thực hiện các phép toán đại số trên các quan hệ là một quan hệ,
do đó có thể kết hợp giữa các phép toán này để tạo nên các quan hệ mới!
3
▪ Phép chọn dùng để trích chọn một tập con trong một quan
hệ, các bộ được trích chọn phải thoả mãn điều kiện chọn.
Công thức : <điều kiện> (<Quan hệ>)
▪ <Quan hệ>: chỉ tên quan hệ được chọn
▪ <Điều kiện>: là các biểu thức điều kiện cần thoả mãn.
Các biểu thức này được nối với nhau bằng các phép:
(phủ định ), (và), (hoặc).
▪ Phép chọn có tính giao hoán.
<đk1>(<đk2>(R)) = <đk2>(<đk1>(R))
Câu hỏi 1: Cho biết các nhân viên nam ?
5
Câu hỏi 2: Cho biết các nhân viên nam sinh sau năm 1975 ?
6
▪ Kết quả của phép chiếu là tập các thuộc tính trong danh
sách với cùng thứ tự.
▪ Nếu <ds_thuộc tính> chỉ có những thuộc tính không khoá
thì phép chiếu sẽ bỏ đi những bộ lặp.
▪ Phép chiếu không có tính giao hoán.
<ds1>( <ds2>(R)) ≠ <ds2>( <ds1>(R))
Câu hỏi 3: Cho biết họ tên nhân viên và giới tính ?
8
Câu hỏi 4: Cho biết họ tên và ngày tháng năm sinh của các nhân viên nam?
▪ Biểu diễn cách 1:
Kết quả phép chọn
Bước 1: Q (NhanVien) (còn gọi là biểu thức
ĐSQH) được đổi tên
(Phai=‘Nam’)
thành quan hệ Q
Bước 2:
(Q)
HOTEN, NTNS
9
R là quan hệ xác định trên tập thuộc tính {A1, A2, .., An}
S là quan hệ xác định trên tập thuộc tính {B1, B2,..,Bm}
NHANVIEN X PHONGBAN
MANV HOTEN NTNS PHAI PHONG MAPH TENPH TRPH
11
Phép kết hai quan hệ R và S thực chất là phép
ghép các cặp bộ của hai quan hệ thoả mãn
một điều kiện nào đó trên chúng, điều kiện đó
được gọi là điều kiện kết nối hay biểu thức kết
nối.
13
(Theta-Join)
▪ Cách 1: (NHANVIEN X PHONGBAN)
NHANVIEN.PHONG=PHONGBAN.MAPH
▪ Cách 2:
(NHANVIEN PHONGBAN): (NHANVIEN.PHONG=PHONGBAN.MAPH)
* Phép kết được định nghĩa là phép tích Decartes và có điều kiện so
sánh liên quan đến thuộc tính của quan hệ 1 và quan hệ 2, cú pháp :
Quan-hệ-1 Quan-hệ-2
Điều kiện kết (phép so sánh)
(Phép kết với đk tổng quát được gọi là -kết, có thể là , =, >, <, >=, <=. Nếu đk kết là phép so sánh = thì gọi là kết bằng)
Cách 1: Q (CHUYENDI)
(ChieuDai>=300 SoNguoi>=12)
16
Mở rộng phép kết để tránh mất thông tin
Thực hiện phép kết và sau đó thêm vào kết quả của
phép kết các bộ của quan hệ mà không phù hợp với
các bộ trong quan hệ kia.
Có 3 loại:
◦ Left outer join R S (giữ lại các bộ của quan hệ trái)
◦ Right outer join R S (giữ lại các bộ của quan hệ phải)
◦ Full outer join R S (giữ lại các bộ của quan hệ trái, phải)
Ví dụ: In ra danh sách tất cả tài xế và số chuyến đi,
mã xe mà tài xế đó lái (nếu có)
17
matx (lấy hết tất cả bộ của quan hệ bên trái)
TAIXE CHUYENDI
TAIXE
MaTX Hoten
Matx Hoten SoCD Matx Maxe
TX01 Huynh Trong Tao
TX01 Huynh Trong Tao CD01 TX01 8659
TX02 Nguyen Sang
TX01 Huynh Trong Tao CD03 TX01 8659
TX03 Le Phuoc Long
TX02 Nguyen Sang CD02 TX02 7715
TX04 Nguyen Anh Tuan
TX03 Le Phuoc Long CD04 TX03 4573
{ TX04 Nguyen Anh Tuan Null Null Null
CHUYENDI
SoCD MaTX MaXe
Bộ của quan hệ TAIXE được thêm CD01 TX01 8659
Vào dù không phù hợp với kết quả CD02 TX02 7715
của quan hệ CHUYENDI CD03 TX01 8659
CD04 TX03 4573
R S
HONV TENNV HONV TENNV
Vuong Quyen Le Nhan
Nguyen Tung Vuong Quyen
Bui Vu
Phép trừ: R − S
Phép hợp: R S Phép giao: R S
20
r s
Phép trừ: Q = R −S = { t/ tR tS}
Phép hợp: Q = R = { t/ tR tS} r s
Phép giao: Q = R S = R – (R – S) = { t/tR tS}
S
R R S r s
HONV TENNV HONV TENNV
Vuong Quyen Le Nhan
Nguyen Tung Vuong Quyen
S Bui Vu
Định nghĩa:
R và S là hai quan hệ, R+ và S+ lần lượt là tập thuộc
tính của R và S. Điều kiện S+ là tập con không
bằng của R+. Q là kết quả phép chia giữa R và S, Q+
= R+ - S + T (R) + +
1 R −S
Q = R S = {t / s S , (t , s ) R } T2 R + − S + (( S T1 ) − R )
T T1 − T2
24
R=PHANCONG S=DEAN
M ANV M ADA M ADA Kết quả Q
001 TH001 TH001
Q= PHANCONG/DEAN
001 TH002 TH002
M ANV
002 TH001 DT001
002
002 TH002
26
Các hàm tính toán gồm 5 hàm: avg(giá-trị), min(giá-
trị), max(giá-trị), sum(giá-trị), count(giá-trị).
Phép toán gom nhóm: (Group by)
G1 , G 2 ,..., G n F1 ( A1 ), F2 ( A2 ),..., Fn ( An ) ( E )
◦ E là biểu thức đại số quan hệ
◦ Gi là thuộc tính gom nhóm (nếu không có Gi nào=> không chia
nhóm (1 nhóm), ngược lại (nhiều nhóm) => hàm F sẽ tính toán
trên từng nhóm nhỏ được chia bởi tập thuộc tính này)
◦ Fi là hàm tính toán
◦ Ai là tên thuộc tính
27
Điểm thi cao nhất, thấp nhất, trung bình của
môn CSDL ?
28
S
S# SNAME STATUS CITY Cho sơ đồ quan hệ sau :
S1 Smith 20 London
S2 Jones 10 Paris
S3 Kery 30 Roma P
P# PNAME COLOR WEIGHT
SP
S# P# QTY P1 Nut Red 12
➢Liệt kê S# của các hãng cung ứng cả hai mặt hàng ‘P1’ và P2’
S# (P# = ’P1’ (SP)) s# (P# = ’P2’(SP))
➢Liệt kê S# của các hãng cung ứng ít nhất một mặt hàng màu đỏ.
S# (SP * COLOR=’Red’(P))
➢Liệt kê S# của các hãng cung ứng tất cả các mặt hàng.
S#,P# (SP) P#(P)