13
www.elarion.com CƠ SỞ DỮ LiỆU LARION_TDT@internship_03 Never stop improving quality Phần 2: Đại số quan hệ

Phan2

Embed Size (px)

Citation preview

Page 1: Phan2

www.elarion.com

CƠ SỞ DỮ LiỆU

LARION_TDT@internship_03

Never stop improving quality

Phần 2: Đại số quan hệ

Page 2: Phan2

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ệ

Page 3: Phan2

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

Page 4: Phan2

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

Page 5: Phan2

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

Page 6: Phan2

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.

Page 7: Phan2

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)

Page 8: Phan2

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).

Page 9: Phan2

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.

Page 10: Phan2

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

Page 11: Phan2

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

Page 12: Phan2

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

Page 13: Phan2

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.