View
328
Download
0
Category
Preview:
Citation preview
www.elarion.com
CƠ SỞ DỮ LiỆU
LARION_TDT@internship_03
Never stop improving quality
Phần 2: Đại số quan hệ
Giới thiệu đại số quan hệ • Giới thiệu:
Là ngôn ngữ biểu diễn câu truy vấn dưới dạng một biểu thức
Bao gồm các phép toán được áp dụng trên các thể hiện của quan hệ
Kết quả của 1 biểu thức là 1 thể hiện của quan hệ
• Ý nghĩa:
Cơ sở hình thức cho các phép toán của mô hình quan hệ
Nền tảng cho các ngôn ngữ truy vấn cơ sở dữ liệu
Cơ sở để cài đặt và tối ưu các truy vấn trong các HQT CSDL quan hệ
Các phép toán đại số quan hệ
• Có 2 nhóm phép toán:
Phép toán tập hợp
Phép hợp Phép giao Phép tích Đềcác Phép trừ Phép chia
Phép toán quan hệ
Phép chiếu Phép chọn Phép kết
Phép hợp• Phép hợp:
Hợp của 2 quan hệ R và S là một quan hệ Q có các bộ giá trị bằng gộp của cả R và S, những giá trị trùng chỉ giữ lại 1 bộ.
Ta có: Q=R S = {t/t ∪ Є R v t Є S}
VD:
R(ABC) S(ABC) Q=R S (ABC)∪a1b1c1 a1b1c1 a1b1c1
a2b2c2 a3b3c3 a2b2c2
a3b3c3
Giải thích: Bộ a1b1c1 trùng nhau chỉ giữ lại 1 bộ khi hợp
Phép giao • Phép giao:
Giao của 2 quan hệ R và S là quan hệ mới có các bộ giá trị là các bộ giống nhau của 2 quan hệ R và S.
Gọi quan hệ Q là kết quả phép giao của 2 quan hệ R và S ta có: Q=R ∩ S ={t/t Є R ^ t Є S }
VD: cho 2 quan hệ R(ABC) và S(ABC)
R(ABC) S(ABC) Q=R ∩ S (ABC)
a1b1c1 a1b1c1 a1b1c1
a2b2c2 a3b3c3
Giải thích: chỉ có 1 bộ a1b1c1 cùng có ở 2 quan hệ được giữ lại
Phép Tích Đề-các• Phép tích Đề-các:
Tích Đề-các của 2 quan hệ R và S là quan hệ Q với mỗi bộ là tổ hợp 1 bộ trong R và một bộ trong S.
Ta có :Q = R x S = {(x, y) | x R và y S}∈ ∈ VD:
R(ABC) S(DE) Q=R x S (ABC)
a1b1c1 d1e1 a1b1c1d1e1
a2b2c2 d2e2 a1b1c1d2e2
a2b2c2d1e1
a2b2c2d2e2
Giải thích: bộ mới là sự kết hợp từng bộ của R với từng bộ của S.
Phép hiệu• Phép hiệu:
Hiệu của 2 quan hệ R với S là quan hệ mới với các bộ giá trị là các bộ giá trị của R sau khi đã loại bỏ đi các bộ có mặt trong quan hệ S
Ta có: Q=R-S={t /t ∊ R v t ∉ S}
VD:
R(ABC) S(ABC) Q=R ∩ S (ABC)
a1b1c1 a1b1c1 a2b2c2
a2b2c2 a3b3c3
Giải thích: kết quả của phép hiệu là tập các bộ còn lại của R sau khi đã bỏ đi những bộ của S có trong R (a1b1c1)
Phép chia (1/2)
• 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.
Quan hệ R có X thuộc tính, quan hệ S có Z thuộc tính. Kết quả của phép chia là một quan hệ Q(Y) với số thuộc tính Y = X-Z
Ta có: Q(Y)= R(X)÷S(Z)= {t /với mọi bộ tS Є S tồn tại t R Є R} thỏa: tR(Y)=t và tR(X)=tS(X).
Phép chia (2/2)
VD: Cho 2 quan hệ R và S cóR(ABCD) S(CD) Q(AB)=R÷Sa1b1 c1d1 c1d1 a3b3
a2b2 c2d2 c2d2
a3b3 c1d1
a3b3 c2d2
a4b4 c4d4
Giải thích:
B1: xác định các bộ trong R có chứa 2 thuộc tính c1d1 và c2d2
B2: từ các bộ được chọn ta thấy có 2 bộ cùng có 2 thuộc tính AB còn lại là a3b3 -> Kết quả của phép chia là a3b3.
Phép chiếu
• Phép toán quan hệ
Phép chiếu: Được dùng để lấy ra một vài cột của quan hệ R, ký hiệu Π
A1,A2,...,AK(R).
Kết quả của phép chiếu là 1 quan hệ có k thuộc tính và có số bộ ít hơn hoặc bằng R.
VD:
R(ABC) ΠA,C(R)
a1b1c1 a1c1
a1b2c1 a1c1
a3b3c3 a3c3
Giải thích: phép chiếu sẽ lấy những dòng của thuộc tính Avà C trên R
Phép chọn
• Phép toán quan hệ
Phép chọn: Được dùng để lấy ra các bộ của quan hệ R thỏa mãn điều kiện P nào đó, ký hiệu σ
P(R)
Kết quả trả về là một quan hệ có cùng danh sách thuộc tính và có số bộ ít hơn hoặc bằng R.
VD:
R(ABCD) (So sánh) σ(A=C)^(D>3)
(R)
1b15 5>3 1b15
2b23 3=3
ab22
1233 Giải thích: phép chọn chọn những bộ có thuộc tính A=C và có
thuộc tính D>3
Phép kết
• Phép kết: Được dùng để tổ hợp 2 bộ có liên quan từ 2 quan hệ thành 1 bộ, thỏa mãn điều kiện kết, ký hiệu RS.
Kết quả là một quan hệ có số thuộc tính là tổng thuộc tính R và S. Mỗi bộ trong Q là tổ hợp của 2 bộ trong R và S, thỏa mãn một số điều kiện nào đó.
VD:
R(ABC) S(DE) R B<D S
454 < 61 45461
321 > 16
122 = 22
Giải thích:phép kết được thực hiện ở những bộ có thuộc tính B của R bé hơn thuộc tính D của S
Tài liệu tham khảo
• Giáo trình Đại số quan hệ, ThS Trần Phước Tuấn – ĐH Sư Phạm.
Recommended