Bài giảng Cơ sở dữ liệu - Chương 4: Đại số quan hệ

Tóm tắt Bài giảng Cơ sở dữ liệu - Chương 4: Đại số quan hệ: ...iên ở phòng số 4 - Quan hệ: NHANVIEN - Thuộc tính: PHG - Điều kiện: PHG=4 σ PHG=4 (NHANVIEN) Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 20 Ví dụ 2 ƒ 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 ...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+ ≠ ∅ ) R × S 17 Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 33 Phép tích Cartesian (tt) ƒ Ví dụ A B α R β 1 2 B C α S β 10 10 D + + β 20 - γ 10 - X ρ(X,... join) - Kết có điều kiện tổng quát (Theta join) - Kết bằng (Equi join) ƒ Phép chia ƒ Các phép toán khác ƒ Các thao tác cập nhật trên quan hệ 22 Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 43 Phép kết ƒ Được dùng để tổ hợp 2 bộ có liên quan từ 2 quan hệ thành 1 bộ ƒ Ký hiệu R S - R(A1, A2, ...

pdf30 trang | Chia sẻ: havih72 | Lượt xem: 100 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Cơ sở dữ liệu - Chương 4: Đại số quan hệ, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1Chương 4
Đại số quan hệ
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 2
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ệ
2Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 3
Giới thiệu
ƒ 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
5
4
TENNV HONV NGSINH DCHI PHAI LUONG PHONG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5
Quang Pham 11/10/1937 450 TV HN Nam 55000 1
1
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 4
Giới thiệu (tt)
ƒ Có 2 loại xử lý
- Làm thay đổi dữ liệu (cập nhật)
y Thêm mới, xóa và sửa
- Không làm thay đổi dữ liệu (rút trích)
y Truy vấn (query)
ƒ Thực hiện các xử lý 
- Đại số quan hệ (Relational Algebra)
y 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)
y Biểu diễn kết quả
- SQL (Structured Query Language)
3Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 5
Nhắc lại
ƒ Đạ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
y (x+7) / (y-3)
y (x+y)*z and/or (x+7) / (y-3)
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 6
Đạ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
y Hội ∪ (union)
y Giao ∩ (intersec)
y Trừ − (difference)
- Rút trích 1 phần của quan hệ
y Chọn σ (selection)
y Chiếu π (projection)
- Kết hợp các quan hệ
y Tích Cartesian × (Cartesian product)
y Kết (join)
- Đổi tên ρ
4Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 7
Đạ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ệ
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 8
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ệ
5Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 9
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
y Cùng bậc n
y 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)
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 10
Phép toán tập hợp (tt)
ƒ Ví dụ
TENNV NGSINH PHAI
Tung 12/08/1955 Nam
Hang 07/19/1968 Nu
Nhu 06/20/1951 Nu
Hung 09/15/1962 Nam
NHANVIEN TENTN NG_SINH PHAITN
Trinh 04/05/1986 Nu
Khang 10/25/1983 Nam
Phuong 05/03/1958 Nu
Minh 02/28/1942 Nam
THANNHAN
Chau 12/30/1988 Nu
Bậc n=3
DOM(TENNV) = DOM(TENTN)
DOM(NGSINH) = DOM(NG_SINH)
DOM(PHAI) = DOM(PHAITN)
6Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 11
Phép hội
ƒ 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ỏ)
ƒ Ví dụ
R ∪ S = { t / t∈R ∨ t∈S }
A B
α
R
α
β
1
2
1
A B
α
S
β
2
3
A B
α
R ∪ S
α
β
1
2
1
β 3
α 2
R + S = { t / t∈R ∨ t∈S }
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 12
Phép giao
ƒ 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
ƒ Ví dụ
R ∩ S = { t / t∈R ∧ t∈S }
A B
α
R
α
β
1
2
1
A B
α
S
β
2
3
A B
α
R ∩ S
2
R * S = { t / t∈R ∧ t∈S }
7Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 13
Phép trừ
ƒ 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
ƒ Ví dụ
R − S = { t / t∈R ∧ t∉S }
A B
α
R
α
β
1
2
1
A B
α
S
β
2
3
A B
α
R − S
β
1
1
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 14
Các tính chất
ƒ Giao hoán
ƒ Kết hợp
R ∪ S = S ∪ R
R ∩ S = S ∩ R
R ∪ (S ∪ T) = (R ∪ S) ∪ T
R ∩ (S ∩ T) = (R ∩ S) ∩ T
8Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 15
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ệ
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 16
Phép chọn
ƒ Đượ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 là biểu thức gồm các mệnh đề có dạng
- 
- 
y gồm , ≤ , ≥ , ≠ , =
y Các mệnh đề được nối lại nhờ các phép ∧ , ∨ , ¬
σ P (R)
9Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 17
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ụ
σ (A=B)∧(D>5) (R) A B
α
R
α
β
C
1
5
12
β 23
D
7
7
3
10
α
β
β
β
A B
α
C
1
β 23
D
7
10
α
β
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 18
Phép chọn (tt)
ƒ Phép chọn có tính giao hoán
σ p1 (σ p2 (R)) = σ p2 (σ p1 (R)) = σ p1 ∧ p2 (R)
10
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 19
Ví dụ 1
ƒ 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)
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 20
Ví dụ 2
ƒ 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: 
y LUONG>25000 và PHG=4 hoặc
y LUONG>30000 và PHG=5
σ (LUONG>25000 ∧ PHG=4) ∨ (LUONG>30000 ∧ PHG=5) (NHANVIEN)
11
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 21
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ệ
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 22
Phép chiếu
ƒ Được dùng để lấy ra một vài cột của quan hệ R
ƒ Ký hiệu
ƒ 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ụ
πA1, A2, , Ak(R)
A C
α 1
A B
α
R
α
β
10
20
30
C
1
1
1
β 40 2
πA,C (R)
β 1
β 2
α 1
12
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 23
Phép chiếu (tt)
ƒ Phép chiếu không có tính giao hoán
πA1, A2, , An(πA1, A2, , Am(R)) = πA1, A2, , An (R) , với n ≤ m
πX,Y (R) = πX (πY (R)) 
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 24
Ví dụ 3
ƒ Cho biết họ tên và lương của các nhân viên
- Quan hệ: NHANVIEN
- Thuộc tính: HONV, TENNV, LUONG
πHONV,TENNV,LUONG (NHANVIEN)
13
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 25
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
y Hằng số
y Thuộc tính trong E
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 26
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)
14
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 27
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
- Thực hiện từng phép toán một
y B1
y B2
πA1, A2, , Ak (σP (R)) σP (πA1, A2, , Ak (R))
σP (R) 
πA1, A2, , Ak (Quan hệ kết quả ở B1)
Cần đặt tên cho quan hệ
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 28
Phép gán
ƒ Đượ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
- B2
S ←σP (R) 
KQ ←πA1, A2, , Ak (S)
15
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 29
Phép đổi tên
ƒ Được dùng để đổi tên 
- Quan hệ
- Thuộc tính
ρS(R) : Đổi tên quan hệ R thành S
Xét quan hệ R(B, C, D)
ρ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)
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 30
Ví dụ 7
ƒ 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:
ƒ C2:
πHONV, TENNV (σPHG=4 (NHANVIEN))
NV_P4 ←σPHG=4 (NHANVIEN)
KQ ← πHONV, TENNV (NV_P4)
KQ(HO, TEN) ← πHONV, TENNV (NV_P4)ρKQ(HO, TEN) (πHONV, TENNV (NV_P4))
16
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 31
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ệ
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 32
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
ƒ 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+ ≠ ∅ )
R × S
17
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 33
Phép tích Cartesian (tt)
ƒ Ví dụ
A B
α
R
β
1
2
B C
α
S
β
10
10
D
+
+
β 20 -
γ 10 -
X
ρ(X,C,D) (S)
R × S
A B
α
β
1
2
β 2
α 1
α 1
α 1
β 2
β 2
X C
α
α
10
10
β 10
β 10
β 20
γ 10
β 20
γ 10
D
+
+
+
+
-
-
-
-
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 34
Phép tích Cartesian (tt)
ƒ Ví dụ
A B
α
R
β
1
2
B C
α
S
β
10
10
D
+
+
β 20 -
γ 10 -
unambiguous
A R.B
α
β
1
2
β 2
α 1
α 1
α 1
β 2
β 2
S.B C
α
α
10
10
β 10
β 10
β 20
γ 10
β 20
γ 10
D
+
+
+
+
-
-
-
-
R × S
18
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 35
Phép tích Cartesian (tt)
ƒ Thông thường theo sau phép tích Cartesian là phép 
chọn
R × S
A R.B
α
β
1
2
β 2
α 1
α 1
α 1
β 2
β 2
S.B C
α
α
10
10
β 10
β 10
β 20
γ 10
β 20
γ 10
D
+
+
+
+
-
-
-
-
σA=S.B (R × S)
A R.B
α 1
β 2
β 2
S.B C
α 10
β 10
β 20
D
+
+
-
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 36
Ví dụ 8
ƒ Với mỗi phòng ban, cho biết thông tin của người 
trưởng phòng
- Quan hệ: PHONGBAN, NHANVIEN 
- Thuộc tính: TRPHG, MAPHG, TENNV, HONV, 
TENPHG MAPHG TRPHG NG_NHANCHUC
Nghien cuu 5 333445555 05/22/1988
Dieu hanh 4 987987987 01/01/1995
Quan ly 1 888665555 06/19/1981
TENNV HONV NGSINH DCHI PHAI LUONG PHG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5
333445555
987987987
987654321
999887777
MANV
TENPHG MAPHG TRPHG NG_NHANCHUC
Nghien cuu 5 333445555 05/22/1988
Dieu hanh 4 987987987 01/01/1995
Quan ly 1 888665555 06/19/1981
TENNV HONV
Tung Nguyen
Hung Nguyen
333445555
987987987
888665555
MANV
Vinh Pham
19
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 37
Ví dụ 8 (tt)
ƒ B1: Tích Cartesian PHONGBAN và NHANVIEN
ƒ B2: Chọn ra những bộ thỏa TRPHG=MANV
PB_NV ← (NHANVIEN × PHONGBAN)
KQ ←σTRPHG=MANV(PB_NV)
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 38
Ví dụ 9
ƒ Cho biết lương cao nhất trong công ty
- Quan hệ: NHANVIEN
- Thuộc tính: LUONG
TENNV HONV LUONG 
Tung Nguyen 40000 
Hang Bui 25000 
Nhu Le 43000 
Hung Nguyen 38000 
LUONG 
40000 
25000 
43000 
38000 
20
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 39
Ví dụ 9 (tt)
ƒ B1: Chọn ra những lương không phải là lớn nhất
ƒ B2: Lấy tập hợp lương trừ đi lương trong R3
R1 ← (πLUONG (NHANVIEN))
R2 ←σNHAN_VIEN.LUONG < R1.LUONG(NHANVIEN × R1)
R3 ← πNHAN_VIEN.LUONG (R2)
KQ ← πLUONG (NHANVIEN) − R3
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 40
Ví dụ 10
ƒ Cho biết các phòng ban có cùng địa điểm với phòng 
số 5
- Quan hệ: DIADIEM_PHG
- Thuộc tính: DIADIEM, MAPHG
- Điều kiện: MAPHG=5
Phòng 5 có tập hợp những 
địa điểm nào?
Phòng nào có địa điểm nằm 
trong trong tập hợp đó?
DIADIEMMAPHG
1
4
5
5
TP HCM
VUNGTAU
NHATRANG
HA NOI
5 TP HCM
DIADIEMMAPHG
1
4
5
5
TP HCM
VUNGTAU
NHATRANG
HA NOI
5 TP HCM
21
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 41
Ví dụ 10 (tt)
ƒ B1: Tìm các địa điểm của phòng 5
ƒ B2: Lấy ra các phòng có cùng địa điểm với DD_P5
DD_P5(DD) ←πDIADIEM (σMAPHG=5 (DIADIEM_PHG))
R2 ←σDIADIEM=DD (R1 × DD_P5)
KQ ←πMAPHG (R2)
R1 ←σMAPHG≠5 (DIADIEM_PHG)
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 42
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
- Kết tự nhiên (Natural join)
- Kết có điều kiện tổng quát (Theta join)
- Kết bằng (Equi join)
ƒ Phép chia
ƒ Các phép toán khác
ƒ Các thao tác cập nhật trên quan hệ
22
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 43
Phép kết
ƒ Được dùng để tổ hợp 2 bộ có liên quan từ 2 quan 
hệ thành 1 bộ
ƒ Ký hiệu R S
- R(A1, A2, , An) và (B1, B2, , Bm)
ƒ Kết quả của phép kết là một quan hệ Q
- Có n + m thuộc tính Q(A1, A2, , An, B1, B2, , Bm)
- Mỗi bộ của Q là tổ hợp của 2 bộ trong R và S, thỏa mãn 
một số điều kiện kết nào đó
y Có dạng Ai θ Bj
y Ai là thuộc tính của R, Bj là thuộc tính của S 
y Ai và Bj có cùng miền giá trị
y θ là phép so sánh ≠, =, , ≤, ≥
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 44
Phép kết (tt)
ƒ Phân loại
- Kết theta (theta join) là phép kết có điều kiện 
y Ký hiệu R C S
y C gọi là điều kiện kết trên thuộc tính
- Kết bằng (equi join) khi C là điều kiện so sánh bằng
- Kết tự nhiên (natural join)
y Ký hiệu R S hay R ∗ S
y R+ ∩ Q+ ≠ ∅
y Kết quả của phép kết bằng bỏ bớt đi 1 cột giống nhau
23
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 45
Phép kết (tt)
ƒ Ví dụ phép kết theta
D E
3
S
6
1
2
A B
1
R
4
2
5
C
3
6
7 8 9
R B<D S
1 2 3 3 1
1 2 3 6 2
4 5 6 6 2
A B C D E
R C S = σC(R × S)
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 46
Phép kết (tt)
ƒ Ví dụ phép kết bằng
D E
3
S
6
1
2
A B
1
R
4
2
5
C
3
6
7 8 9
R C=D S
A B
1 2
C
3
4 5 6
D
3
E
1
6 2
C D
3
S
6
1
2
A B
1
R
4
2
5
C
3
6
7 8 9
R C=S.C S
A B
1 2
C
3
4 5 6
S.C
3
D
1
6 2
S.C
ρ(S.C,D) S
24
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 47
Phép kết (tt)
ƒ Ví dụ phép kết tự nhiên
R S
C D
3
S
6
1
2
A B
1
R
4
2
5
C
3
6
7 8 9
A B
1 2
C
3
4 5 6
S.C
3
D
1
6 2
A B
1 2
C
3
4 5 6
D
1
2
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 48
Ví dụ 11
ƒ Cho biết nhân viên có lương hơn lương của nhân 
viên ‘Tùng’
- Quan hệ: NHANVIEN
- Thuộc tính: LUONG
NHAN_VIEN(HONV, TENNV, MANV, , LUONG, PHG)
R1(LG) ←πLUONG (σTENNV=‘Tung’ (NHANVIEN))
KQ ← NHAN_VIEN LUONG>LG R1
KQ(HONV, TENNV, MANV, , LUONG, LG)
25
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 49
Ví dụ 12
ƒ Với mỗi nhân viên, hãy cho biết thông tin của phòng 
ban mà họ đang làm việc
- Quan hệ: NHANVIEN, PHONGBAN
PHONGBAN(TENPHG, MAPHG, TRPHG, NG_NHANCHUC)
NHANVIEN(HONV, TENNV, MANV, , PHG)
KQ ← NHANVIEN PHG=MAPHG PHONGBAN
KQ(HONV, TENNV, MANV, , PHG, TENPHG, MAPHG, )
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 50
Ví dụ 13
ƒ Với mỗi phòng ban hãy cho biết các địa điểm của 
phòng ban đó
- Quan hệ: PHONGBAN, DDIEM_PHG
PHONGBAN(TENPHG, MAPHG, TRPHG, NGAY_NHANCHUC)
DDIEM_PHG(MAPHG, DIADIEM)
KQ ← PHONGBAN DDIEMPHG
KQ(TENPHG, MAPHG, TRPHG, NGAY_NHANCHUC, DIADIEM)
26
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 51
Ví dụ 8
ƒ Với mỗi phòng ban hãy cho biết thông tin của người 
trưởng phòng
- Quan hệ: PHONGBAN, NHANVIEN
PHONGBAN(TENPHG, MAPHG, TRPHG, NG_NHANCHUC)
NHANVIEN(HONV, TENNV, MANV, , PHG)
KQ ← NHANVIEN PHG=MAPHG PHONGBAN
KQ(HONV, TENNV, MANV, , PHG, TENPHG, MAPHG, )
TP ← (σTENPHG=‘Truong phong’ (KQ))
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 52
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ệ
27
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 53
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
ƒ Ký hiệu R ÷ S
- R(Z) và S(X)
y Z là tập thuộc tính của R, X là tập thuộc tính của S
y X ⊆ Z
ƒ Kết quả của phép chia là một quan hệ T(Y) 
- Với Y=Z-X
- Có t là một bộ của T` nếu với mọi bộ tS∈S, tồn tại bộ
tR∈R thỏa 2 điều kiện
y tR(Y) = t
y tR(X) = tS(X) X Y
T(Y)S(X)R(Z)
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 54
Phép chia (tt)
ƒ Ví dụ
A B
α
β
a
a
γ a
α a
α a
β a
γ a
γ a
C D
α
γ
a
b
γ a
γ a
γ b
γ a
γ b
β b
E
1
3
1
1
1
1
1
1
R D E
a
S
b
1
1
R ÷ S
A B C
α a γ
γ a γ
ƒ R ÷ S là một quan hệ T(Y) 
- Với Y=Z-X
- Có t là một bộ của T nếu với mọi 
bộ tS∈S, tồn tại bộ tR∈R thỏa 2 
điều kiện
y tR(Y) = t
y tR(X) = tS(X)
28
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 55
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
- Hàm kết hợp (Aggregation function)
- Phép gom nhóm (Grouping)
- Phép kết ngoài (Outer join)
ƒ Các thao tác cập nhật trên quan hệ
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 56
Hàm kết hợp
ƒ Nhận vào tập hợp các giá trị và trả về một giá trị 
đơn
- AVG
- MIN
- MAX
- SUM
- COUNT
29
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 57
Hàm kết hợp (tt)
ƒ Ví dụ
A B
1
R
3
2
4
1
1
2
2
SUM(B) = 10
AVG(A) = 1.5
MIN(A) = 1
MAX(B) = 4
COUNT(A) = 4
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 58
Phép gom nhóm
ƒ Được dùng để phân chia quan hệ thành nhiều nhóm 
dựa trên điều kiện gom nhóm nào đó
ƒ Ký hiệu
- E là biểu thức ĐSQH
- G1, G2, , Gn là các thuộc tính gom nhóm
- F1, F2, , Fn là các hàm
- A1, A2, , An là các thuộc tính tính toán trong hàm F
G1, G2, , GnIF1(A1), F2(A2), , Fn(An)(E)
30
Cơ sở dữ liệu - Khoa ĐT-TH - CĐ KTCN-ĐN 59
Phép gom nhóm (tt)
ƒ Ví dụ
ISUM(C)(R)
SUM_C
27
A B
α
R
α
2
4
β
γ
2
2
C
7
7
3
10 AISUM(C)(R)
SUM_C
14
3
10

File đính kèm:

  • pdfbai_giang_co_so_du_lieu_chuong_4_dai_so_quan_he.pdf