Các phép toán căn bản • IV.. Giới thiệu• DML trên mô hình quan hệ: – Ngôn ngữ hỏi: phần chính của DML – Ngôn ngữ cập nhật dữ liệu • 2 kiểu ngôn ngữ hỏi: • Ngôn ngữ đại số: có nền là đại
Trang 1Chương 3 :
Đạ i số quan hệ
• I Giới thiệu
• II Một số khái niệm bổ sung
• III Các phép toán căn bản
• IV Các phép toán khác
• V Các hàm kết tập
Trang 2I Giới thiệu
• DML trên mô hình quan hệ:
– Ngôn ngữ hỏi: phần chính của DML – Ngôn ngữ cập nhật dữ liệu
• 2 kiểu ngôn ngữ hỏi:
• Ngôn ngữ đại số: có nền là đại số
quan hệ
• Ngôn ngữ tính toán tân từ
Trang 3II Một số khái niệm bổ sung
• 1 Đại số hệ
• 2 Đại số quan hệ
• 3 Biểu thức quan hệ
• 4 Quan hệ tương thích
Trang 4II Một số khái niệm bổ sung
Trang 5II Một số khái niệm bổ sung
Trang 6II Một số khái niệm bổ sung
3 Biểu thức quan hệ
• Biểu thức quan hệ : xây dựng bởi:
– các quan hệ trong một CSDL quan hệ, và
–các phép toán quan hệ
Trang 7II Một số khái niệm bổ sung
4 Quan hệ tương thích
• Quan hệ tương thích = Các quan hệ
có cùng sơ đồ quan hệ
Trang 8III Các phép toán căn bản
Trang 9III Các phép toán căn bản
1 Phép chọn
• a Mục đích:
Tạo ra một tập con các bộ của quan hệ hiện hành, các bộ này phải thỏa một điều kiện luận lý nào dó.
Trang 10III Các phép toán căn bản
1 Phép chọn (2)
• b Giả thiết: Cho
– Tập các thuộc tính U
– Quan hệ trên U: R(U)
– Biểu thức luận lý F trên U, gồm có:
Trang 11III Các phép toán căn bản
1 Phép chọn (3)
• c Định nghĩa:
– Phép toán một ngôi đặc biệt, trên quan
hệ R theo điều kiện F, sinh ra một quan
hệ P:
P= R(F) ={t ∈R| F(t) }
Ký hiệu khác: P= σF (R)
Trang 12III Các phép toán căn bản
2 Phép chiếu
a Mục đích:
Chỉ sử dụng một số thuộc tính cần thiếttrong quan hệ đang xét
Trang 13III Các phép toán căn bản
Trang 14III Các phép toán căn bản
2 Phép chiếu (3)
c Định nghĩa:
Phép toán một ngôi đặc biệt, trên tậpthuộc tính X của quan hệ R, sinh ramột quan hệ P:
P= R[X] = {t[X] | t ∈R}
hoặc P= R.X = {t.X | t ∈R}
Ký hiệu khác: P= ∏X (R)
Trang 15III Các phép toán căn bản
Trang 16III Các phép toán căn bản
4 Phép hội/ hợp
• Định nghĩa:
Hội của hai quan hệ tương thích R(U)
et S(U) là P(U) (cũng tương thích
với R và S):
P= R∪S= {t | t ∈R ∨ t ∈ S }
Trang 17III Các phép toán căn bản
4 Tích Đề-các
• a Giả thiết : Cho
– R(A1, A2, …, An) Ai ∈U i=1, , n – S(B1, B2, …, Bm) Bj ∈V j=1, , m – U ∩ V= ∅
Trang 18III Các phép toán căn bản
n thuộc tính đầu có dạng một bộ u của R
m thuộc tính cuối - v của S
• (mỗi bộ u của R với mọi bộ v của S)
R x S= { <u, v> | u ∈R ∧ v ∈ S }
Trang 20IV Các phép toán khác
1 Phép giao
• Định nghĩa:
Giao của hai quan hệ tương thích R(U)
et S(U) là P(U) (cũng tương thích
với R và S):
P= R∪S= {t | t ∈R ∧ t ∈ S }
Trang 22<t,v> là một bộ thuộc R.
R ÷ S = {t=u[X] | (u ∈R) ∧
(∀v∈ S) (<t, v> ∈R) }
Trang 23IV Các phép toán khác
3 Phép kết nối bình thường
• a Giả thiết : Cho
θ: phép so sánh số học R(U)
S(V)
Trang 24R S= {<u, v> | (u ∈R) ∧ (v∈ S) ∧
AθB (u[A] θ v[B])}
Trang 25Đề-• θ : phép so sánh “=“ => kết nối-θ : kết nối bằng (equịoin)
Trang 26IV Các phép toán khác
4 Phép kết nối tự nhiên
• Định nghĩa :
– Là phép kết nối bằng
– Tại 2 thuộc tính cùng tên
– Một trong hai thuộc tính đó bị loịa
bỏ trong kết quả kết nối
Trang 28S R
S R
S R
P∪
Q∪ R S
P∪ Q∪ R S
Trang 29thuộc tính trong u đều được gán trị trống}
Trang 30V Các hàm kết tập
1 Hàm kết tập bình thường
2 Hàm kết tập trên nhóm các bộ
Trang 31– Trả lại kết quả là trị duy nhất
– Nếu xét trên tập bội và muốn loại bỏ trị trùng: thêm “-distinct” sau tên hàm.
Trang 32V Câc hăm kết tập
1 Hăm kết tập bình thường (2)
b Danh sâch hăm:
sum Tính tổng của một tập giá trị
avg Tính trung bình của một tập giá trị
count Đếm số giá trị của một tập hợp
min Tính giá trị lớn nhất của một tập giá trị max Tính giá trị nhỏ nhất của một tập giá trị
Trang 33V Câc hăm kết tập
1 Hăm kết tập trín nhóm câc bộ
a Nhu cầu:
Muốn áp dụng hàm kết tập:
- không phải chỉ trong một tập các bộthôi,
- mà trên nhiều tập các bô,ü mỗi tập làmột nhóm
Trang 34V Câc hăm kết tập
1 Hăm kết tập trín nhóm câc bộ (2)
b Giả thiết:
E: biểu thức đại số quan hệ
G1, G2, , Gm : danh sách các thuộc tính mà việc chia nhóm dựa trên đó
(mỗi nhóm có một trị (g1, g2, , gm):
+ như nhau ở câc bộ trong cung nhóm + khác nhau ở các nhóm khác nhau)
(∀i=1, , n) Fi : hàm kết tập,
Ai: thuộc tính.
Trang 35V Câc hăm kết tập
1 Hăm kết tập trín nhóm câc bộ (3)
c Định nghĩa:
Hàm kết tập trên nhóm có dạng:
Đối với mỗi nhóm (g1, g2, , gm), kết quả sẽ có một bộ (g1, g2, , gm, a1, a2, , an):
(∀i=1, , n) ai : kết quả của việc áp dụng hàm
Fi trên tập bội các trị của Ai trong nhóm