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