Bài 2. Các phép toán đại số quan hệ

You might also like

You are on page 1of 23

Bài 2.

Các phép toán


đại số quan hệ
Nội dung
1. Khái niệm đại số quan hệ
2. Các phép toán đại số quan hệ
1. Khái niệm đại số quan hệ
VÍ DỤ
S S# SNAME STATUS CITY
Tìm địa chỉ của hãng có S1 Hùng 20 HN
số hiệu S1 S2 Lan 10 HT
S3 lan 30 HT

Đưa ra các bộ của S có số KQ1 S# SNAME STATUS CITY


hiệu S#=S1 S1 Hùng 20 HN

KQ CITY
Đưa ra giá trị của thuộc
HN
tính City của các bộ này
1. Khái niệm đại số quan hệ
Nhận xét:
Để thực hiện các công việc trên phải thực hiện một tập các
phép toán ( vd: phép chọn, phép chiếu, phép kết nối…)
Mỗi phép toán tương ứng một thao tác trên quan hệ
Đại số quan hệ: tập hợp các phép toán trên một tập các
CSDL quan hệ
Với mỗi phép toán
◦ Đầu vào: một hay nhiều quan hệ
◦ Đầu ra: một quan hệ
Chọn (select)
Chiếu (project)
Tích đề các – nhân(product)
Kết nối (joint)
2. Phép toán Kết nối tự nhiên (*)
đại số quan
hệ Hợp (union)
Giao (intersect)
Trừ (difference)
Chia (divide)
Phép chọn
Là phép toán lọc ra một tập con các bộ của
quan hệ đã cho theo biểu thức chọn F
σF(r) = {t  r | F(t) đúng}
 Biểu thức chọn F là biểu thức logic đơn hoặc phức.
 Biểu thức logic đơn giản là một phép so sánh giữa hai
thuộc tính hoặc giữa một thuộc tính và một giá trị
─ Phép toán so sánh: > , < , = , >= , <= , < >

─ Phép toán logic:  (và),  (hoặc),  (phủ định)


Phép chọn
:
r A B
Vd a1 1 F=(A=a1)v (B=3)
a2 2
a3 3

r’ A B
σF (r )=
a1 1
a3 3

Chú ý:
◦ Bậc r= bậc r’
◦ Lực lượng của r>= lực lượng r’
Phép chiếu
Là phép toán loại bỏ đi một số thuộc tính và chỉ
giữ lại các thuộc tính được chỉ định của một
quan hệ
Cho quan hệ r(R), X là tập con của tập thuộc
tính R. Phép chiếu của quan hệ r trên X:
ΠX(r) = {t[X]  r ; t[X] là bộ t lấy trên tập thuộc tính X}
Phép chiếu
Vd: r A
a1
B
1
a2 2
a3 3

Phép chiếu trên thuộc tính A ( X={A})


ΠA(r) A
a1 Chú ý:
a2 •Bậc của r > bậc cuả k
a3 •Lực lượng của r > lực lượng của k
Phép tích đề các
Cho quan hệ r(R) với R={A1, A2 , . . . , An} và quan hệ
s(U) với U ={B1, B2 , . . . , Bm}.
Tích đề các của r và s:
r x s = { t =(a1, a2,…, an, b1, b2,…, bm ) |
a1, a2,…, an  r và b1, b2,…, bm  s)
MH MaMH TenMH KQ MaSV MaMH Điem
5 SQL 345 5 7
7 Java 345 7 6
VD: MH x KQ 873 7 9
8 CSDL
693 5 5
MH x KQ MaMH TenMH MaSV MaMH Điem
5 SQL 345 5 7
5 SQL 345 7 6
5 SQL 873 7 9
5 SQL 693 5 5
7 Java 345 5 7
7 Java 345 7 6
7 Java 873 7 9
7 Java 693 5 5
8 CSDL 345 5 7
8 CSDL 345 7 6
8 CSDL 873 7 9
8 CSDL 693 5 5
Phép kết nối
Phép kết nối thường: Cho quan hệ r(R) với R={A1,
A2 , . . ., An} và quan hệ s(U) với U ={B1, B2 , . . . , Bm}.
Cho hai bộ d = (d1, d2 , . . . , dn) và e = (e1, e2 , . . . , em) ,
phép xếp cạnh nhau của d và e là (d^e) = (d 1, d2 , . . . ,dn,
e1, e2 , . . . , em)
Phép kết nối giữa quan hệ r với thuộc tính A và quan hệ s
với thuộc tính B với một phép so sánh  là :

r A  B s = {a ^ b | a r , b s và a(A)  b(B) }
Phép kết nối
Phép kết nối tự nhiên: Phép kết nối bằng dựa trên
những thuộc tính cùng tên của hai quan hệ và sau
khi kết nối thì bỏ đi một thuộc tính cùng tên bằng
phép chiếu của đại số quan hệ, ký hiệu *

r (A, B,C) s (C, D, E) r * s = k’(A, B, C, D, E)


a1 1 1 1 d1 e1 a1 1 1 d1 e1
a2 2 1 2 d2 e2 a2 2 1 d1 e1
a1 2 2 3 d3 e3 a2 2 2 d2 e2
Phép kết nối tự nhiên
Phép kết nối tự nhiên: Phép kết nối bằng dựa trên
những thuộc tính khóa chính và khóa ngoài của hai
quan hệ và sau khi kết nối thì bỏ đi một cột, ký hiệu
*
VD: MH * KQ
KQ MaSV MaMH Điem
MH MaMH TenMH
345 5 7
5 SQL 345 7 6
7 Java 873 7 9
8 CSDL 693 5 5
MH MaMH TenMH KQ MaSV MaMH Điem

5 SQL 345 5 7

7 Java 345 7 6

8 CSDL 873 7 9
693 5 5

MH * KQ MaMH TenMH MaSV Điem


5 SQL 345 7
5 SQL 693 5
7 Java 345 6
7 Java 873 9
Quan hệ khả hợp
Quan hệ khả hợp: Hai quan hệ r và s được gọi là
khả hợp nếu chúng được xác định trên cùng một tập
các miền giá trị (có nghĩa là chúng được xác định
trên cùng một tập các thuộc tính)

r, s là khả hợp r (A, B, C) s (A, B, C) q (A, B, E)


r, q không khả hợp a1 b1 c1 a1 b1 c1 a2 b3 c1
a2 b2 c2 a1 b2 c2 a1 b1 c2
Phép hợp
Phép hợp của hai quan hệ khả hợp r và s (ký hiệu r  s ),
được định nghĩa là:
r  s = { t | t  r hoặc t  s}
Ví dụ: Cho hai quan hệ r và s:

r (A, B, C) s (A, B, C) r  s (A, B, C)


a1 b1 c1 a1 b1 c1 a1 b1 c1
a2 b2 c2 a1 b2 c2 a2 b2 c2
a1 b2 c2
Phép giao
Phép giao của hai quan hệ khả hợp r và s (ký hiệu r  s),
được định nghĩa là:
r  s = { t | t  r và t s)
Ví dụ: Cho hai quan hệ r và s:

r (A, B, C) s (A, B, C) r  s (A, B, C)


a1 b1 c1 a1 b1 c1 a1 b1 c1
a2 b2 c2 a1 b2 c2
HỢP(UNION), GIAO(INTERSECT)
HOADON1 HOADON2
so_hd ngay ma_kh so_hd ngay ma_kh
114 15-3-07 345 114 15-3-07 345
265 2-7-07 768
123 3-5-07 873

154 25-7-07 345

HOADON1  HOADON2 HOADON1  HOADON2


so_hd ngay ma_kh so_hd ngay ma_kh
114 15-3-07 345 114 15-3-07 345

123 3-5-07 873

154 25-7-07 345


265 2-7-07 768
Phép trừ
Phép trừ của hai quan hệ khả hợp r và s (ký hiệu r - s ),
được định nghĩa là:
r - s = { t | t  r và t  s)
Ví dụ: Cho hai quan hệ r và s:

r (A, B, C) s (A, B, C) r - s (A, B, C)


a1 b1 c 1 a1 b1 c1 a2 b2 c2
a2 b2 c 2 a1 b2 c2
TRỪ (DIFFERENCE)
HOADON1 HOADON2
so_hd ngay ma_kh so_hd ngay ma_kh

114 15-3-07 345 114 15-3-07 345

123 3-5-07 873 265 2-7-07 768

154 25-7-07 345

HOADON1 - HOADON2 HOADON2 – HOADON1


so_hd ngay ma_kh so_hd ngay ma_kh

123 3-5-07 873 265 2-7-07 768

154 25-7-07 345


Phép chia
Cho r là một quan hệ có n thuộc tính, s là
quan hệ có m thuộc tính (n>m) và s khác
rỗng. Tập thuộc tính của s là tập con các
thuộc tính của r
Phép chia quan hệ r cho quan hệ s là tập tất cả
các bộ t sao cho với mọi bộ u thuộc s thì bộ
(t^u) thuộc r
r  s = { t | với  u  s thì t^u  r}
CHIA (DIVIDE)
HOADON HANG
so_hd ma_hang ten_hang ma_hang ten_hang
114 v02 video v02 video
123 t04 tv21 t04 tv21
123 t07 tv27 t07 tv27
154 t04 tv21
154 v02 video
154 t07 tv27 HOADON  HANG
435 v02 video so_hd
435 t04 tv21 154
666 t07 tv27 666
666 v02 video
666 t04 tv21

You might also like