Chương 4 Đại số quan hệ

Một phần của tài liệu bài giảng hệ quản trị cơ sở dữ liệu (Trang 29 - 33)

Đại số quan hệ là một ngôn ngữ đại số trong đó các bảng mới được định nghĩa bằng các toán tử liên hệ với các bảng khác. Đây là một ngôn ngữ biểu thức. Trong đó một bảng mới được định nghĩa như một biểu thức bao gồm các bảng khác và các toán tử.

4.1. Phép chọn

Phép chọn trên quan hệ r ký hiệu F(r) là phép tính để xây dựng một tập con các bộ của r, thoả mãn biểu thức logic F.

Các phép toán sử dụng trong biểu thức F là: - Phép toán so sánh: >, <, =, >=, <=, <> - Phép toán logic: , , 

Biểu diễn hình thức phép chọn:

F(r) = {t  r | F(t) = TRUE}

F(t) được hiểu là giá trị của các thuộc tính xuất hiện trong biểu thức F tại bộ t thoả các điều kiện của F. Ví dụ 4.6: r ( A B C) F  (A = a1) F(r) = ( A B C ) a1 b2 c1 a1 b2 c1 a2 b5 c4 a3 b2 c2 4.2. Phép chiếu

Giả sử R = {A1, A2,..., AN} là một tập các thuộc tính, A  R, r là một quan hệ trên R, t là một bộ thuộc r. Khi đó ký hiệu t[A] là giá trị của bộ t tại thuộc tính A. Mở rộng ra, nếu X = {B1, B2,..., BM}

 R với M  N, Bi R với i = 1, 2,..., M thì t[X] = (t[B1], t[B2],..., t[BM]).

Người ta định nghĩa phép chiếu như sau: Phép chiếu trên tập X của quan hệ r, ký hiệu là X (r) hoặc r[X] được định nghĩa theo công thức X (r) = {t[X] | t  r}

Ví dụ 4.5:

r ( A B C) X = {A, B} X =( A B )

a1 b2 c1 a1 b2

a2 b5 c4 a2 b5

4.3. Phép hợp

* Tính khả hợp: r là quan hệ xác định trên tập thuộc tính R = {A1, A2,..., AN}, s là quan hệ xác định trên tập thuộc tính S = {B1, B2,..., BM}. r và s được gọi là hai quan hệ khả hợp khi và chỉ khi M = N và miền giá trị của Ai và Bi với i = 1, 2,..., N là tương đồng với nhau.

Hợp của hai quan hệ r và s khả hợp, ký hiệu là r  s là tập các bộ thuộc r hoặc s. Biểu diễn hình thức phép hợp có dạng: r  s = {t | t  r  t  s} Ví dụ 4.1: r ( A B C ) S( A B C ) r  s =( A B C ) a1 b2 c5 a7 b2 c3 a1 b2 c5 a2 b5 c6 a2 b2 c2 a2 b5 c6 a4 b3 c7 a4 b3 c7 a7 b2 c3 a2 b2 c2 4.4. Phép giao

Giao của hai quan hệ r và s khả hợp, ký hiệu là r  s là tập các bộ thuộc cả quan hệ r và s. Biểu diễn hình thức phép giao có dạng.

r  s = {t | t  r  t  s} Ví dụ 4.2: r ( A B C ) S( A B C ) r  s =( A B C ) a1 b2 c5 a1 b2 c5 a4 b3 c7 a2 b5 c6 a2 b2 c2 a1 b2 c5 a4 b3 c7 a4 b3 c7 4.5. Phép trừ

Hiệu của hai quan hệ r và s khả hợp, ký hiệu r – s là tập các bộ thuộc r nhưng không thuộc s. Biểu diễn hình thức phép trừ có dạng: r - s = {t | t  r  t  s} Ví dụ 4.3: r ( A B C ) s( A B C ) r - s =( A B C ) a1 b2 c5 a1 b2 c5 a2 b5 c6 a2 b5 c6 a2 b2 c2 a4 b3 c7 a4 b3 c7

4.6. Tích Descartes

Gọi r là quan hệ xác định trên tập thuộc tính {A1, A2,..., AN} và s là quan hệ xác định trên tập thuộc tính {B1, B2,..., BM}.

* Phép ghép bộ: Giả sử a = (a1, a2,..., aN)  r, b = (b1, b2,..., bM)  s. Phép ghép bộ a với b được ký hiệu (a, b) hoặc a.b sẽ có dạng (a,b) = (a1, a2,..., aN, b1, b2,..., bM)

Tích đề các của r và s ký hiệu r x s là tập các bộ với n thành phần đầu có dạng một bộ thuộc r và m thành phần sau có dạng của một bộ thuộc s.

Biểu diễn hình thức phép tích đề các có dạng r x s = {t | t = (a,b)  a  r  b  s} Ví dụ 4.4: r ( A B ) s( E F ) r x s= ( A B E F ) a1 b2 e1 f2 a1 b2 e1 f2 a2 b5 e3 f4 a1 b2 e3 f4 a3 b2 a2 b5 e1 f2 a2 b5 e3 f4 a3 b2 e1 f2 a3 b2 e3 f4 4.7. Các phép kết nối

Phép kết nối của quan hệ r đối với thuộc tính A với quan hệ s đối với thuộc tính B được định nghĩa qua.

r s = {(t,u) | t  r  u  s  t[A]  u[B]}

Trong đó  là một phép toán thể hiện mối quan hệ giữa các thuộc tính của hai quan hệ r và s.

Trong trường hợp  là một phép toán so sánh „=‟, chúng ta gọi phép kết nối đó là phép kết nối bằng. Trường hợp phép kết nối bằng trên các thuộc tính cùng tên của hai quan hệ và sau khi kết nối một trong hai thuộc tính của phép so sánh „=‟ được loại bỏ thông qua phép chiếu thì phép kết nối này được gọi là kết nối tự nhiên và sử dụng ký hiệu “*”. Phép kết nối tự nhiên của hai quan hệ được định nghĩa như sau:

r(U) * s(V) = {t[U  V] | t[U]  r  t[V]  s} Ví dụ 4.7. r ( A B ) s( E F ) r s= ( B > E A B E F ) 6 1 2 3 5 4 2 3 5 4 3 3 5 4 3 3 4 3 4 3 2 3

4.8. Phép chia

Gọi r là quan hệ trên tập R = {A1, A2,..., AN}, s là quan hệ trên tập S = {B1, B2,..., BM} với M < N. Phép chia r cho s ký hiệu r  s là tập các bộ t sao cho với mọi bộ u  s thì bộ (t,u)  r.

Biểu diễn hình thức phép chia: r  s = {t |  u  s  (t,u)  r} Ví dụ 4.8: r ( A B C) s ( B C ) r  s = ( A ) a1 b2 c1 b2 c1 a1 a2 b2 c1 b2 c2 a2 a1 b2 c2 a3 b3 c3 a2 b2 c2 Bài tập

1. Trình bày khái niệm ngôn ngữ thao tác dữ liệu. 2. Các phép toán đại số quan hệ

a. Phép hợp các quan hệ – UNION

b. Phép giao của các quan hệ – INTERSECT. c. Hiệu của các quan hệ - MINUS.

d. Tích ĐềCác – (Decalesian Product) e. Phép chọn – Selection.

f. Phép chiếu – PROJECT. 3. Các tính chất của đại số quan hệ

a. Tính chất giao hoán b. Kết hợp

b. Tính chất tích luỹ đẳng

4. Cho hai quan hệ HocSinh(MaHS, TenHS, DiemThi, Lop) và Lop(MaLop, TenLop, PhongHoc). Hãy viết biểu thức đại số quan hệ thực hiện công việc sau:

1. Hiển thị ra các học sinh có điểm thi nằm trong khoảng từ 5 đến 7, thông tin hiển thị bao gồm: MaHS, TenHS, TenLop, DiemThi.

2. Thống kê số học sinh của mỗi lớp. Thông tin hiển thị bao gồm: MaLop, TenLop, SoHocSinh.

Một phần của tài liệu bài giảng hệ quản trị cơ sở dữ liệu (Trang 29 - 33)

Tải bản đầy đủ (PDF)

(54 trang)