lOMoARcPSD| 46342819
19/3/2023
1
ĐẠI SỐ QUAN HỆ
Nội dung chi ết
Giới thiệu
Đại số quan hệ
Phép toán tập hợp
Phép chọn
Phép chiếu
Phép ch Cartesian
Phép kết
Phép chia
Các phép toán khác
Các thao tác cập nhật trên quan hệ
2
lOMoARcPSD| 46342819
19/3/2023
2
Xét một số xử lý trên quan hệ NHANVIEN
- Thêm mới một nhân viên
- Chuyển nhân viên có tên là “Tùng” sang phòng số 1
- Cho biết họ tên và ngày sinh các nhân viên có lương trên
20000
TENNV HONV NGSINH DCHI PHAI LUONG PHONG
638 NVC Q5 Nam 40000 51
332 NTH Q1 Nu 25000 4 291 HVH QPN Nu 43000 4
Ba Ria VT Nam 38000 5
450 TV HN Nam 55000 1
3
Giới thiệu ()
Có 2 loại xử
- Làm thay ổi dữ liệu (cập nhật)
Thêm mới, xóa và sửa
- Không làm thay ổi dữ liệu (rút trích)
Truy vấn (query)
Thực hiện các xử
- Đại số quan hệ (Relaonal Algebra)
Biểu diễn câu truy vấn dưới dạng biểu thức
- Phép nh quan hệ (Relaonal Calculus)
Biểu diễn kết quả
- SQL (Structured Query Language)
4
Tung
Nguyen
12/08/1955
Hang
Bui
07/19/1968
Nhu
Le
06/20/1951
Hung
Nguyen
09/15/1962
Quang
Pham
11/10/1937
lOMoARcPSD| 46342819
19/3/2023
3
Đại số
- Toán tử (operator)
- Toán hạng (operand)
Trong số học
- Toán tử: +, -, *, /
- Toán hạng - biến (variables): x, y, z
- Hằng (constant)
- Biểu thức
(x+7) / (y-3)
(x+y)*z and/or (x+7) / (y-3)
5
Đại số quan hệ
Biến là các quan hệ
- Tập hợp (set)
Toán tử là các phép toán (operaons)
- Trên tập hợp
Hội (union)
Giao (intersec)
Tr (dierence)
- Rút trích 1 phần của quan hệ
Chn (selecon)
Chiếu (projecon)
- Kết hợp các quan hệ
Tích Cartesian (Cartesian product)
Kết (join)
- Đổi tên
6
lOMoARcPSD| 46342819
19/3/2023
4
Đại số quan hệ ()
Hằng số là thể hiện của quan hệ
Biểu thức
- Được gọi là câu truy vấn
- Là chuỗi các phép toán ại số quan hệ
- Kết quả trả về là một thể hiện của quan hệ
7
Nội dung chi ết
Giới thiệu
Đại số quan hệ
Phép toán tập hợp
Phép chọn
Phép chiếu
Phép ch Cartesian
Phép kết
Phép chia
Các phép toán khác
Các thao tác cập nhật trên quan hệ
8
lOMoARcPSD| 46342819
19/3/2023
5
Phép toán tập hợp
Quan hệ là tập hợp các bộ
- Phép hội R S
- Phép giao R S
- Phép trừ R S
Tính khả hợp (Union Compability)
- Hai lược ồ quan hệ R(A
1
, A
2
, …, A
n
) và S(B
1
, B
2
, …, B
n
) là khả hợp
nếu
Cùng bậc n
Và có DOM(A
i
)=DOM(B
i
) , 1 i n
Kết quả của , , và là một quan hệ có cùng tên thuộc
nh với quan hệ ầu ên (R)
9
Phép toán tập hợp ()
Ví dụ
NHANVIEN
TENNV
NGSINH
Tung
Hang
Nhu
Hung
12/08/1955
07/19/1968
06/20/1951
09/15/1962
THANNHAN
TENTN
NG_SINH
PHAITN
Trinh
Khang
Phuong
Minh
04/05/1986
10/25/1983
05/03/1958
02/28/1942
Nu
Nam
Nu
Nam
Chau
12/30/1988
Nu
Bậc n=3
DOM(TENNV) = DOM(TENTN)
DOM(NGSINH) = DOM(NG_SINH)
DOM(PHAI) = DOM(PHAITN)
10
lOMoARcPSD| 46342819
19/3/2023
6
Cho 2 quan hệ R và S khả hợp
Phép hội của R và S
- Ký hiệu R S
- Là một quan hệ gồm các bộ thuộc R hoặc thuộc S, hoặc cả hai
(các bộ trùng lắp sẽ bị bỏ)
R S = { t / tR tS }
Ví dụ
R
A
B
1
2
1
S
A
B
2
3
R S
A
B
1
2
1
2
Cho 2 quan hệ R và S khả hợp
Phép giao của R và S
- Ký hiệu R S
- Là một quan hệ gồm các bộ thuộc R ồng thời thuộc S
R S = { t / tR tS }
Ví dụ
R
A
B
1
2
1
S
A
B
2
3
A
B
2
12
lOMoARcPSD| 46342819
19/3/2023
7
3
11
lOMoARcPSD| 46342819
19/3/2023
8
Cho 2 quan hệ R và S khả hợp
Phép giao của R và S
- Ký hiệu R S
- Là một quan hệ gồm các bộ thuộc R và không thuộc S
R S = { t / tR tS }
Ví dụ
R
A
B
1
2
1
S
A
B
A
B
2
3
1
1
13
Các nh chất
Giao hoán
R S = S R
R S = S R
Kết hợp
R (S T) = (R S) T
R (S T) = (R S) T
14
lOMoARcPSD| 46342819
19/3/2023
9
Nội dung chi ết
Giới thiệu
Đại số quan hệ
Phép toán tập hợp
Phép chọn
Phép chiếu
Phép ch Cartesian
Phép kết
Phép chia
Các phép toán khác
Các thao tác cập nhật trên quan hệ
15
Được dùng ể lấy ra các bộ của quan hệ R
Các bộ ược chọn phải thỏa mãn iều kiện chọn P
Ký hiệu
P
(R)
P là biểu thức gồm các mệnh ề có dạng
- <tên thuộc nh> <phép so sánh> <hằng số>
- <tên thuộc nh> <phép so sánh> <tên thuộc nh>
<phép so sánh> gồm , , , , ,
Các mệnh ược nối lại nhờ các phép , ,
16
lOMoARcPSD| 46342819
19/3/2023
10
Phép chọn ()
Kết quả trả về là một quan hệ
- Có cùng danh sách thuộc nh với R
- Có số bộ luôn ít hơn hoặc bằng số bộ của R
Ví dụ
(A=B)(D>5) (R)
17
R
A
B
C
D
1
5
12
23
7
7
3
10
A
B
C
D
1
23
7
10
lOMoARcPSD| 46342819
19/3/2023
11
Cho biết các nhân viên ở phòng số 4
- Quan hệ: NHANVIEN
- Thuộc nh: PHG
- Điều kiện: PHG=4
PHG=4
(NHANVIEN)
19
Tìm các nhân viên có lương trên 25000 ở phòng 4 hoặc các
nhân viên có lương trên 30000 ở phòng 5
- Quan hệ: NHANVIEN -
Thuộc nh: LUONG, PHG -
Điều kiện:
LUONG>25000 và PHG=4 hoặc
LUONG>30000 và PHG=5
(LUONG>25000 PHG=4) (LUONG>30000 PHG=5) (NHANVIEN)
20
lOMoARcPSD| 46342819
19/3/2023
12
Nội dung chi ết
Giới thiệu
Đại số quan hệ
Phép toán tập hợp
Phép chọn
Phép chiếu
Phép ch Cartesian
Phép kết
Phép chia
Các phép toán khác
Các thao tác cập nhật trên quan hệ
21
Đượ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ả trả về là một quan hệ
- Có k thuộc nh
- Có số bộ luôn ít hơn hoặc bằng số bộ của R
Ví dụ
R
A
B
C
A,C
(R)
A
C
10
20
30
40
1
1
1
2
1
1
1
2
22
lOMoARcPSD| 46342819
19/3/2023
13
Phép chiếu ()
Phép chiếu không có nh giao hoán
X,Y
(R) =
X
(
Y
(R))
A1, A2, …, An(A1, A2, …, Am(R)) = A1, A2, …, An (R) , với n m
23
lOMoARcPSD| 46342819
19/3/2023
14
Cho biết mã nhân viên có tham gia ề án hoặc có thân nhân
25
lOMoARcPSD| 46342819
19/3/2023
15
Cho biết mã nhân viên không có thân nhân nào
27
Phép chiếu tổng quát
Mở rộng phép chiếu bằng cách cho phép sử dụng các phép
toán số học trong danh sách thuộc nh
Ký hiệu F1, F2, …, Fn (E)
- E là biểu thức ĐSQH
- F
1
, F
2
, …, Fn là các biểu thức số học liên quan ến
Hằng số
Thuộc nh trong E
28
lOMoARcPSD| 46342819
19/3/2023
16
Phép chiếu tổng quát ()
Ví dụ
- Cho biết họ tên của các nhân viên và lương của họ sau khi tăng
10%
HONV, TENNV, LUONG*1.1
(NHANVIEN)
29
Chuỗi các phép toán
Kết hợp các phép toán ại số quan hệ
- Lồng các biểu thức lại với nhau
A1, A2, …, Ak (P (R)) P (A1, A2, …, Ak (R))
- Thực hiện từng phép toán một
B1
P
(R)
B2
A1, A2, …, Ak
(Quan hệ kết quả ở B1)
Cần ặt tên cho quan hệ
30
lOMoARcPSD| 46342819
19/3/2023
17
Được sử dụngnhận lấy kết quả trả về của một phép toán
- Thường là kết quả trung gian trong chuỗi các phép toán
Ký hiệu
Ví dụ
- B1
- B2
S
P
(R)
KQ A1, A2, …, Ak (S)
31
Phép ổi tên
Được dùng ổi tên
- Quan hệ
t quan hệ R(B, C, D)
S
(R) : Đổi tên quan hệ R thành S
- Thuộc nh
X, C, D
(R) : Đổi tên thuộc nh B thành X
Đổi tên quan hệ R thành S và thuộc nh B thành X
S(X,C,D)
(R)
32
lOMoARcPSD| 46342819
19/3/2023
18
Cho biết họ và tên nhân viên làm việc ở phòng số 4
- Quan hệ: NHANVIEN
- Thuộc nh: HONV, TENNV
- Điều kiện: PHG=4
C1: HONV, TENNV (PHG=4 (NHANVIEN))
C2: NV_P4
PHG=4
(NHANVIEN)
Nội dung chi ết
Giới thiệu
Đại số quan hệ
Phép toán tập hợp
Phép chọn
Phép chiếu
Phép ch Cartesian
Phép kết
Phép chia
Các phép toán khác
Các thao tác cập nhật trên quan hệ
34
lOMoARcPSD| 46342819
19/3/2023
19
KQ
(NV_P4)
33
lOMoARcPSD| 46342819
19/3/2023
20
Phép ch Cartesian
Được dùng ể kết hợp các bộ của các quan hệ lại với nhau
Ký hiệu
R S
Kết quả trả về là một quan hệ Q
- Mỗi bộ của Q là tổ hợp giữa 1 bộ trong R và 1 bộ trong S -
Nếu R có u bộ và S có v bộ thì Q sẽ có u v bộ
- Nếu R có n thuộc nh và Q có m thuộc nh thì Q sẽ có n + m
thuộc nh (R
+
Q
+
)
35
Phép ch Cartesian ()
Ví dụ
R
A
B
1
2
A
B
X
C
D
1
1
1
1
2
2
2
2
10
10
20
10
10
10
20
10
+
+
-
-
+
+
-
-
S
XB
C
D
10
10
+
+
20
-
10
-
S
R
(X,C,D) (S)
36

Preview text:

lOMoAR cPSD| 46342819 19/3/2023 ĐẠI SỐ QUAN HỆ Nội dung chi tiết  Giới thiệu  Đại số quan hệ  Phép toán tập hợp  Phép chọn  Phép chiếu  Phép tích Cartesian  Phép kết  Phép chia  Các phép toán khác
 Các thao tác cập nhật trên quan hệ 2 1 lOMoAR cPSD| 46342819 19/3/2023
 Xét một số xử lý trên quan hệ NHANVIEN
- Thêm mới một nhân viên
- Chuyển nhân viên có tên là “Tùng” sang phòng số 1
- Cho biết họ tên và ngày sinh các nhân viên có lương trên 20000 TENNV HONV NGSINH DCHI PHAI LUONG PHONG Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 51
332 NTH Q1 Nu 25000 4 291 HVH QPN Nu 43000 4 Hang Bui 07/19/1968 Ba Ria VT Nam 38000 5 Nhu Le 06/20/1951 450 TV HN Nam 55000 1 Hung Nguyen 09/15/1962 Quang Pham 11/10/1937 3 Giới thiệu (tt)  Có 2 loại xử lý - Làm thay
ổi dữ liệu (cập nhật)
 Thêm mới, xóa và sửa
- Không làm thay ổi dữ liệu (rút trích)  Truy vấn (query)
 Thực hiện các xử lý
- Đại số quan hệ (Relational Algebra)
 Biểu diễn câu truy vấn dưới dạng biểu thức
- Phép tính quan hệ (Relational Calculus)  Biểu diễn kết quả
- SQL (Structured Query Language) 4 2 lOMoAR cPSD| 46342819 19/3/2023  Đại số - Toán tử (operator) - Toán hạng (operand)  Trong số học - Toán tử: +, -, *, /
- Toán hạng - biến (variables): x, y, z - Hằng (constant) - Biểu thức  (x+7) / (y-3)
 (x+y)*z and/or (x+7) / (y-3) 5 Đại số quan hệ  Biến là các quan hệ - Tập hợp (set)
 Toán tử là các phép toán (operations) - Trên tập hợp  Hội  (union)  Giao  (intersec)  Trừ  (difference)
- Rút trích 1 phần của quan hệ  Chọn  (selection)  Chiếu  (projection) - Kết hợp các quan hệ
 Tích Cartesian  (Cartesian product)  Kết (join) - Đổi tên  6 3 lOMoAR cPSD| 46342819 19/3/2023 Đại số quan hệ (tt)
 Hằng số là thể hiện của quan hệ  Biểu thức
- Được gọi là câu truy vấn
- Là chuỗi các phép toán ại số quan hệ
- Kết quả trả về là một thể hiện của quan hệ 7 Nội dung chi tiết  Giới thiệu  Đại số quan hệ  Phép toán tập hợp  Phép chọn  Phép chiếu  Phép tích Cartesian  Phép kết  Phép chia  Các phép toán khác
 Các thao tác cập nhật trên quan hệ 8 4 lOMoAR cPSD| 46342819 19/3/2023 Phép toán tập hợp
 Quan hệ là tập hợp các bộ - Phép hội R  S - Phép giao R  S - Phép trừ R  S
 Tính khả hợp (Union Compatibility)
- Hai lược ồ quan hệ R(A1, A2, …, An) và S(B1, B2, …, Bn) là khả hợp nếu  Cùng bậc n
 Và có DOM(Ai)=DOM(Bi) , 1 i  n
 Kết quả của , , và  là một quan hệ có cùng tên thuộc
tính với quan hệ ầu tiên (R) 9 Phép toán tập hợp (tt)  Ví dụ NHANVIEN TENNV NGSINH PHAI THANNHAN TENTN NG_SINH PHAITN Tung 12/08/1955 Nam Trinh 04/05/1986 Nu Hang 07/19/1968 Nu Khang 10/25/1983 Nam Nhu 06/20/1951 Nu Phuong 05/03/1958 Nu 02/28/1942 Hung 09/15/1962 Nam Minh Nam Chau 12/30/1988 Nu Bậc n=3 DOM(TENNV) = DOM(TENTN) DOM(NGSINH) = DOM(NG_SINH) DOM(PHAI) = DOM(PHAITN) 10 5 lOMoAR cPSD| 46342819 19/3/2023
 Cho 2 quan hệ R và S khả hợp  Phép hội của R và S - Ký hiệu R  S
- Là một quan hệ gồm các bộ thuộc R hoặc thuộc S, hoặc cả hai
(các bộ trùng lắp sẽ bị bỏ)
R  S = { t / tR  tS }  Ví dụ R A B S A B R  S A B  1  2  1  2  3  2   1 1  2
 Cho 2 quan hệ R và S khả hợp  Phép giao của R và S - Ký hiệu R  S
R  S = { t / tR  tS }
- Là một quan hệ gồm các bộ thuộc R ồng thời thuộc S  Ví dụ R A B S A B R  S A B  1  2  2  2  3  1 12 6 lOMoAR cPSD| 46342819 19/3/2023  3 11 7 lOMoAR cPSD| 46342819 19/3/2023
 Cho 2 quan hệ R và S khả hợp  Phép giao của R và S - Ký hiệu R  S
- Là một quan hệ gồm các bộ thuộc R và không thuộc S
R  S = { t / tR  tS }  Ví dụ R A B S A B R  S A B  1  2  1  2  3  1  1 13 Các tính chất  Giao hoán R  S = S  R R  S = S  R  Kết hợp
R  (S  T) = (R  S)  T
R  (S  T) = (R  S)  T 14 8 lOMoAR cPSD| 46342819 19/3/2023 Nội dung chi tiết  Giới thiệu  Đại số quan hệ  Phép toán tập hợp  Phép chọn  Phép chiếu  Phép tích Cartesian  Phép kết  Phép chia  Các phép toán khác
 Các thao tác cập nhật trên quan hệ 15  Được dùng
ể lấy ra các bộ của quan hệ R  Các bộ
ược chọn phải thỏa mãn iều kiện chọn P  Ký hiệu  P (R)
 P là biểu thức gồm các mệnh ề có dạng - -
 gồm  ,  ,  ,  ,  ,   Các mệnh ề
ược nối lại nhờ các phép  ,  ,  16 9 lOMoAR cPSD| 46342819 19/3/2023 Phép chọn (tt)
 Kết quả trả về là một quan hệ
- Có cùng danh sách thuộc tính với R
- Có số bộ luôn ít hơn hoặc bằng số bộ của R  Ví dụ R A B C D  (A=B)(D>5) (R)   1 7 A B C D   5 7   12 3   1 7   23 10   23 10 17 10 lOMoAR cPSD| 46342819 19/3/2023
 Cho biết các nhân viên ở phòng số 4 - Quan hệ: NHANVIEN - Thuộc tính: PHG - Điều kiện: PHG=4  PHG=4 (NHANVIEN) 19
 Tìm các nhân viên có lương trên 25000 ở phòng 4 hoặc các
nhân viên có lương trên 30000 ở phòng 5 - Quan hệ: NHANVIEN - Thuộc tính: LUONG, PHG - Điều kiện:
 LUONG>25000 và PHG=4 hoặc  LUONG>30000 và PHG=5
 (LUONG>25000  PHG=4)  (LUONG>30000  PHG=5) (NHANVIEN) 20 11 lOMoAR cPSD| 46342819 19/3/2023 Nội dung chi tiết  Giới thiệu  Đại số quan hệ  Phép toán tập hợp  Phép chọn  Phép chiếu  Phép tích Cartesian  Phép kết  Phép chia  Các phép toán khác
 Các thao tác cập nhật trên quan hệ 21  Đượ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ả trả về là một quan hệ - Có k thuộc tính
- Có số bộ luôn ít hơn hoặc bằng số bộ của R  Ví dụ R A B C 10 1  A C A,C (R)   1  20 1  1  30 1  1  40 2  2 22 12 lOMoAR cPSD| 46342819 19/3/2023 Phép chiếu (tt)
 Phép chiếu không có tính giao hoán X,Y (R) = X (Y (R))
A1, A2, …, An(A1, A2, …, Am(R)) = A1, A2, …, An (R) , với n  m 23 13 lOMoAR cPSD| 46342819 19/3/2023
 Cho biết mã nhân viên có tham gia ề án hoặc có thân nhân 25 14 lOMoAR cPSD| 46342819 19/3/2023
 Cho biết mã nhân viên không có thân nhân nào 27 Phép chiếu tổng quát
 Mở rộng phép chiếu bằng cách cho phép sử dụng các phép
toán số học trong danh sách thuộc tính
 Ký hiệu F1, F2, …, Fn (E) - E là biểu thức ĐSQH
- F1, F2, …, Fn là các biểu thức số học liên quan ến  Hằng số  Thuộc tính trong E 28 15 lOMoAR cPSD| 46342819 19/3/2023
Phép chiếu tổng quát (tt)  Ví dụ
- Cho biết họ tên của các nhân viên và lương của họ sau khi tăng 10%
HONV, TENNV, LUONG*1.1 (NHANVIEN) 29 Chuỗi các phép toán
 Kết hợp các phép toán ại số quan hệ
- Lồng các biểu thức lại với nhau A1, A2, …, Ak (P (R)) P (A1, A2, …, Ak (R))
- Thực hiện từng phép toán một  B1 P (R)
 B2 A1, A2, …, Ak (Quan hệ kết quả ở B1) Cần ặt tên cho quan hệ 30 16 lOMoAR cPSD| 46342819 19/3/2023
 Được sử dụng ể nhận lấy kết quả trả về của một phép toán
- Thường là kết quả trung gian trong chuỗi các phép toán  Ký hiệu   Ví dụ - B1  S P (R) - B2 KQ A1, A2, …, Ak (S) 31 Phép ổi tên  Được dùng ể ổi tên - Quan hệ Xét quan hệ R(B, C, D)
S(R) : Đổi tên quan hệ R thành S - Thuộc tính
X, C, D (R) : Đổi tên thuộc tính B thành X
Đổi tên quan hệ R thành S và thuộc tính B thành X S(X,C,D)(R) 32 17 lOMoAR cPSD| 46342819 19/3/2023
 Cho biết họ và tên nhân viên làm việc ở phòng số 4 - Quan hệ: NHANVIEN - Thuộc tính: HONV, TENNV - Điều kiện: PHG=4
 C1: HONV, TENNV (PHG=4 (NHANVIEN))   C2: NV_P4 PHG=4 (NHANVIEN) Nội dung chi tiết  Giới thiệu  Đại số quan hệ  Phép toán tập hợp  Phép chọn  Phép chiếu  Phép tích Cartesian  Phép kết  Phép chia  Các phép toán khác
 Các thao tác cập nhật trên quan hệ 34 18 lOMoAR cPSD| 46342819 19/3/2023  KQ  (NV_P4) 33 19 lOMoAR cPSD| 46342819 19/3/2023 Phép tích Cartesian
 Được dùng ể kết hợp các bộ của các quan hệ lại với nhau  Ký hiệu R  S
 Kết quả trả về là một quan hệ Q
- Mỗi bộ của Q là tổ hợp giữa 1 bộ trong R và 1 bộ trong S -
Nếu R có u bộ và S có v bộ thì Q sẽ có u  v bộ
- Nếu R có n thuộc tính và Q có m thuộc tính thì Q sẽ có n + m
thuộc tính (R+  Q+  ) 35 Phép tích Cartesian (tt)  Ví dụ R A B R   1 A S B X C D  2  1  10 +  1  10 +  1  20 - S XB C D  1  10 -  10 + 2  10 +    10 + 2  10 +  2  20 -  20 -  2  10 -  10 - (X,C,D) (S) 36 20