Bài giảng slide cơ sở dữ liệu_BKA_C7:Đại số quan hệ
Trang 1Chương 7
Đại số quan hệ
Trang 2Nội dung
Định nghĩa các thuật ngữ.
Các phép toán đại số quan hệ.
Trang 3Các phép toán đại số quan hệ
Năm phép toán cơ bản
Trang 4Các phép toán đại số quan hệ
Trang 5Phép chọn
Cho r(R) và điều kiện F (là một biểu thức luận lý có giá trị là true hoặc false) bao
gồm:
f Các toán hạng là các hằng hoặc các tên
thuộc tính của lược đồ quan hệ R.
f Các phép toán so sánh: =, ≠, <, ≤, >, ≥.
f Các phép toán luận lý: not ( ¬), and (∧), or (∨).
Trang 6Phép chọn
Phép chọn (selection) trên r theo điều kiện
hệ gồm các bộ của r thỏa mãn điều kiện F
là true.
σF (r) = {u⏐u ∈ r và F(u) = true}
với F(u) là điều kiện có được bằng cách
thay thế các tên thuộc tính trong điều kiện
F bởi các giá trị tương ứng trong bộ u.
Trang 7Phép chọn
σA ≤ 4 R R
Trang 8Phép chiếu
Cho lược đồ quan hệ R (A1, A2, A m) và
một tập con các thuộc tính X = {A j1 , A j2,…,
A jn } với j1, j2, j n là các số nguyên phân
biệt và nằm trong khoảng từ 1 đến m.
Phép chiếu (projection) r(R) trên một tập thuộc tính X, ký hiệu là ΠX(r), cho kết quả
là một quan hệ gồm các bộ u(u1, u2,…, u n)
sao cho tồn tại một bộ v(v1, v2,…, v m) trong
r để u i = v ji với i = 1, 2, …, n.
ΠX(r) = {u⏐∃v ∈ r: u = v[X]}
Trang 9Phép chiếu
πAB R R
Trang 12r − s = {u⏐u ∈ r và u ∉ s}
Phép hiệu không có tính giao hoán.
r − s ≠ s − r
Trang 14Phép tích Descartes
Cho quan hệ r trên lược đồ quan hệ R (A1 ,
A2,…, A m ) và s trên lược đồ quan hệ S (B1 ,
r × s = {(u1, …, u m , u m+1 , …, u m+n)⏐
(u1, …, u m) ∈ r và (um+1 , …, u m+n) ∈ s}
Phép tích Descartes có tính giao hoán.
r × s = s × r
Trang 18so sánh với nhau bởi phép θ.
Phép kết−θ (θ-join) của r và s trên hai
thuộc tính A và B, ký hiệu là r >< A θ B s,
cho kết quả là một quan hệ trên lược đồ
quan hệ T gồm các bộ t như sau:
q(T) = {t ⏐ ∃t r ∈ r, ∃t s ∈ s:
t[R] = t r , t[S] = t s , t[A] θ t[B]}
Trang 20Phép kết - θ
R ZY R.A > T.A T R
Trang 21Phép kết tự nhiên
Cho r(R), s(S) và T = R ∪ S (R và S có thể
có các thuộc tính chung).
Phép kết tự nhiên (natural join) của r và s,
ký hiệu là r >< s, cho kết quả là một quan
hệ q(T) gồm các bộ t sao cho tồn tại các bộ
t r ∈ r và t s ∈ s với t r = t[R] và t s = t[S].
r >< s = {t ⏐ ∃t r ∈ r, ∃t s ∈ s: t[R] = t r , t[S] = t s}
Trang 22Phép kết tự nhiên
Phép kết tự nhiên không đòi hỏi hai tập
thuộc tính R và S giao nhau khác rỗng Nếu R ∩ S = ∅ thì r >< s là phép tích
với F là biểu thức R.A1 = S.A1 and R.A2 =
S.A2 and … and R.A m = S.A m
trong đó R ∩ S = {A1, A2, …, A m}.
Phép kết tự nhiên có tính giao hoán.
r >< s = s >< r
Trang 23Phép kết tự nhiên
R ZY T R
Trang 24Phép kết ngoài
Cho r(R), s(S), R và S có thể có các thuộc tính chung Gọi T = R ∪ S.
Phép kết ngoài (outer join) của r và s, ký hiệu là r ><o s, cho kết quả là một quan hệ
q trên lược đồ quan hệ T bao gồm các bộ
của r >< s và các bộ được tạo từ các bộ của r không kết với các bộ của s và các bộ được tạo từ các bộ của s không kết với các bộ của r; các thuộc tính bị thiếu của
các bộ được tạo thêm sẽ lấy các giá trị
rỗng (null)
Trang 25Phép kết ngoài
R ZY O T R
4 5 6 null
null
3 null null 7
Trang 26Phép kết ngoài
Phép kết ngoài trái (left outer join) của r và
s, ký hiệu là r L><o s, cho kết quả là một
quan hệ q trên lược đồ quan hệ T bao gồm các bộ của r >< s và các bộ được tạo từ các bộ của r không kết với các bộ của s.
Phép kết ngoài phải (right outer join) của r và s, ký hiệu là r ><o
Trang 27Phép kết ngoài
R LZYO T R
4 5 6 null
null
Trang 28Phép kết ngoài
R ZY O
R T R
3 null null 7
Trang 29Phép nửa kết - θ
Cho r(R), s(S), θ là một phép so sánh (=, ≠,
<, ≤, >, ≥), A ∈ R và B ∈ S là hai thuộc tính
có thể so sánh với nhau bởi phép θ.
Phép nửa kết−θ (θ-semijoin) của r và s trên hai thuộc tính A và B, ký hiệu là r >< A θ B s,
cho kết quả là một quan hệ trên lược đồ
quan hệ R như sau:
r >< A θ B s = {u ⏐ u ∈ r, ∃v ∈ s: u[A] θ v[B]}
Trang 31Phép nửa kết - θ
R Z< R.A > T.A T R
Trang 32Phép nửa kết tự nhiên
Cho r(R), s(S) và X = R ∩ S ≠ ∅.
Phép nửa kết tự nhiên (natural semijoin) của r và s, ký hiệu là r >< s, cho kết quả là một quan hệ trên lược đồ quan hệ R như
Trang 34Phép chia
Cho quan hệ r trên lược đồ quan hệ R (A1 ,
A2, …, A k , A k+1 , …, A m ) và quan hệ s trên lược đồ quan hệ S (A1, A2, …, A k).
Phép chia (division / quotient) quan hệ r cho s với s ≠ ∅, ký hiệu là r ÷ s, cho kết
quả là một quan hệ trên lược đồ quan hệ T (A k+1 , …, A m ) gồm các bộ (u k+1 , …, u m) sao
cho đối với tất cả các bộ (u1, , u k ) thuộc s thì bộ (u1, …, u k , u k+1 , …, u m ) thuộc r.
Trang 35Phép chia
Phép chia quan hệ r cho s có thể được
tính từ các phép chiếu, phép tích, phép hiệu:
r ÷ s = ∏ Ak+1,…,Am (r) −
∏ Ak+1,…,Am ((∏ Ak+1,…,Am (r) × s) – r)
Phép chia không có tính giao hoán.
r ÷ s ≠ s ÷ r
Trang 36B 6