UTEx - Chapter03 - Relational Algebra - (Part2)

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 19

1

WELCOME MESSAGES
Insert your subtitle here

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


Phần 2 - Các phép toán trên hai quan hệ

page 2
Nội dung
1. Khái niệm
2. Phép hội (Union)
3. Phép giao (Intersection)

3. Phép trừ (Minus / Except / Set difference)


4. Phép tích đề các (Cartesian product)
5. Phép kết theo điều kiện
6. Phép kết tự nhiên
7. Phép kết ngoài

page 3
1. Khái niệm
Giả sử có 2 quan hệ
R(A1, A2, ..., An)
S(B1, B2, ..., Bn)
R và S thỏa mãn tương thích hội nếu:
Số thuộc tính (bậc/cột) của R và S bằng nhau
dom(Ai) = dom(Bi), với 1 ≤ i ≤ n

page 4
2. Phép hội (Union):

- Cú pháp: RS
- Điều kiện: R và S phải thỏa tương thích hội
- Kết quả là một quan hệ mới có số cột (thuộc tính) như R và chứa tất cả
bộ (dòng) có trong 2 bảng R và S.
- Vd. KQTHI_M01 KQTHI_M02
MaSV MaMH Điem MaSV MaMH Điem
14110 M01 8 14110 M02 7
14111 M01 8 15111 M02 4
MaSV MaMH Điem
15112 M01 5
14110 M01 8

KQTHI_M01  KQTHI_M02 14111 M01 8


15112 M01 5
14110 M02 7
15111 M02 4

page 5
3. Phép giao (Intersection):
- Cú pháp: RS
- Điều kiện: R và S phải thỏa tương thích hội
- Kết quả là một quan hệ mới có số cột (thuộc tính) như R và chứa các bộ (dòng) vừa
có trong R và vừa có trong S.
- Vd. DSSV_M01 DSSV_M02
MaSV HoTen NgaySinh MaSV HoTen NgaySinh
14110 Trương Trọng 24/04/01 14110 Trương Trọng 24/04/01
14111 Nguyễn Duy 18/05/01 14115 Nguyễn Kha 20/05/01
14112 Lê Khang 11/01/01 14112 Lê Khang 11/01/01
14113 Trần B 12/02/01 14118 Trần Tinh 22/02/01
14114 Nguyễn Kha 13/03/01
MaSV HoTen NgaySinh
DSSV_M01  DSSV_M02 14110 Trương Trọng 24/04/01
14112 Lê Khang 11/01/01
page 6
4. Phép trừ (Minus / Except / Set difference):
- Cú pháp: R – S
- Điều kiện: R và S phải thỏa tương thích hội
- Kết quả là một quan hệ mới có số cột (thuộc tính) như R và chứa tất cả bộ (dòng) có
trong R nhưng không có trong S.
- Vd. DSSV_M01 DSSV_M02
MaSV HoTen NgaySinh MaSV HoTen NgaySinh
14110 Trương Trọng 24/04/01 14110 Trương Trọng 24/04/01
14111 Nguyễn Duy 18/05/01 14115 Nguyễn Kha 20/05/01
14112 Lê Khang 11/01/01 14112 Lê Khang 11/01/01
14113 Trần B 12/02/01 14118 Trần Tinh 22/02/01
14114 Nguyễn Kha 13/03/01
MaSV HoTen NgaySinh
DSSV_M01 – DSSV_M02 14111 Nguyễn Duy 18/05/01
14113 Trần B 12/02/01
page 7
5. Tích đề các (CARTESIAN PRODUCT / CROSS PRODUCT)

- Cú pháp: R x S
- Giả sử R có n cột và k dòng, S có m cột và l dòng
- Kết quả là một quan hệ mới có n+m cột (thuộc tính) và có k * l dòng.
- Vd.
DSSV MonHoc
MaSV HoTen MaMH TenM SoTC
14110 Trương Trọng H
M01 CSDL 3 MaSV HoTen MaM TenM SoTC
14111 Nguyễn Duy
M02 CTDL 3 14110 Trương Trọng H
M01 H
CSDL 3
14112 Lê Khang
14110 Trương Trọng M02 CTDL 3
14111 Nguyễn Duy M01 CSDL 3
DSSV x MonHoc
14111 Nguyễn Duy M02 CTDL 3
14112 Lê Khang M01 CSDL 3
14112 Lê Khang M02 CTDL 3
page 8
5. Kết theo điều kiện  ( join)
- Cho R(A1, A2, ..., An), S(B1, B2, ..., Bm)
- Cú pháp: R <đk kết> S

- <đk kết> có dạng R.A  S.B, với  là một trong các toán tử
so sánh =, >=, <=, <>. Trong đó R.A và S.B phải có cùng miền
giá trị.
- Tổng quát điều kiện kết có dạng:
<đk kết 1> and <đk kết 2> and … and <đk kết k>
- Kết quả là một quan hệ mới có n+m cột (thuộc tính) và có các dòng thỏa điều kiện
được kết hợp từ 2 quan hệ R và S

page 9
5. Kết theo điều kiện  ( join) (cont.)

- Vd. PB NV
MaPB TenPB MaNQL MaNV HoTen

01 Nhân sự 11111 11110 Trương Trọng


11111 Nguyễn Duy
02 Tài chính 11110
11112 Lê Khang
03 Kỹ thuật 11114
11113 Trần B
11114 Nguyễn Kha

MaPB TenPB MaNQL MaNV HoTen


PB NV
01 Nhân sự 11111 11111 Nguyễn Duy
02 Tài chính 11110 11110 Trương
Với : PB.MaNQL = NV.MaNV
03 Kỹ thuật 11114 11114 Trọng
Nguyễn Kha

Chú ý: R S  (R x S)

page 10
6. Kết tự nhiên (natural join)
- Để có thể thực hiện được phép kết tự nhiên, phải có ít nhất một
cặp thuộc tính trùng tên tương ứng trong hai quan hệ và điều
kiện
kết là phép so sánh bằng thỏa trên tất cả các cặp thuộc tính trùng
tên đó.
- Cho R(A1, …,A5, A6, ..., An), S(B1, …, A5,A6, ..., Bm)
- Cú pháp: R R.A5=S.A5 and R.A6= S.A6 S

- <đk kết> có dạng R.Ai = S.Ai, nhưng không cần ghi tường minh.
- Kết quả là một quan hệ mới có số cột (thuộc tính) bằng
{A1, …, An.}  (B1, …, Bm)

page 11
6. Kết tự nhiên (cont.)

- Ví dụ 1. NV PB
MaN HoTen MaPB MaPB TenPB
V 01 Nhân sự
11110 Trương Trọng 02 02 Tài chính
11111 Nguyễn Duy 01 03 Kỹ thuật
11112 Lê Khang 01
MaN HoTen MaPB TênPB
11113 Trần B 02 V
11110 Trương 02 Tài chính
11114 Nguyễn Kha 03 11111 Trọng
Nguyễn Duy 01 Nhân sự
NV PB 11112 Lê Khang 01 Nhân sự
11113 Trần B 02 Tài chính
11114 Nguyễn Kha 03 Kỹ thuật

Chú ý: Kết theo điều kiện  và kết tự nhiên còn được gọi là kết nội
(inner join)
page 12
6. Kết tự nhiên (cont.)
Ví dụ 2: Nhanvien(MaNV, Hoten, Diachi, MaNQL)
Lập danh sách nhân viên và họ tên người quản lý của nhân viên đó.

Nhanvien.Hoten, Quanly.Hoten(Nhanvien   Quanly (Nhanvien))

: Nhanvien.MaNQL = Quanly.MaNV

Nhanvien Quanly
MaN Hoten Diachi MaNQL MaN Hoten Diachi MaNQL
V V
nv01 Trương 2 VVN nv03 nv01 Trương 2 VVN nv03
Trọng Trọng
nv02 Nguyễn Duy 3 NDT nv03
nv02 Nguyễn Duy 3 NDT nv03
nv03 Lê Khang 4 VVT nv05
nv03 Lê Khang 4 VVT nv05
nv04 Trần B 5 NT nv05
nv04 Trần B 5 NT nv05
nv05 Nguyễn Kha 11
nv05 Nguyễn Kha 11 HD2 page 13
7. Kết ngoài (Outer join)
- Có 3 loại: kết ngoài bên trái (left outer join), kết ngoài bên phải
(right outer join) và kết ngoài đầy đủ (full outer join).
Cho R(A1, …, Ai, ..., An), S(B1, …, Ai, ..., Bm)
- Kết ngoài bên trái: R S
• Thực hiện kết nội
• Giữ lại các dòng (bộ) của R (bảng bên trái) không kết được với
dòng (bộ) nào trong S (bảng bên phải)
• Gán giá trị null cho những thuộc tính của S trong các bộ của R
không kết được

page 14
7. Kết ngoài (tt.)
- Vd. NV PB
MaN HoTen MaPB MaPB TenPB
V 01 Nhân sự
11110 Trương Trọng 02 02 Tài chính
11111 Nguyễn Duy 01 03 Kỹ thuật
11112 Lê Khang 01
11113 Trần B 04
MaN HoTen MaPB TênPB
11114 Nguyễn Kha 05
V
11110 Trương L
02 Tài chính
11111 Trọng
Nguyễn Duy 01 Nhân sự
NV PB 11112 Lê Khang 01 Nhân sự
11113 Trần B 04 null
11114 Nguyễn Kha 05 null

page 15
7. Kết ngoài (tt.)
- Kết ngoài bên phải: R S
• Thực hiện kết nội
• Giữ lại các dòng (bộ) của S (bảng bên phải) không kết được
với dòng (bộ) nào trong R (bảng bên trái)
• Gán giá trị null cho những thuộc tính của R trong các bộ của
S không kết được.

page 16
7. Kết ngoài (tt.)
- Vd. NV PB
MaN HoTen MaPB MaPB TenPB
V 01 Nhân sự
11110 Trương Trọng 02 02 Tài chính
11111 Nguyễn Duy 01 03 Kỹ thuật
11112 Lê Khang 01
11113 Trần B 04
MaN HoTen MaPB TênPB
11114 Nguyễn Kha 05
V
11111 Nguyễn Duy 01 Nhân sự
11112 Lê Khang 01 Nhân sự
NV PB 11110 Trương 02 Tài chính
null Trọng
null 03 Kỹ thuật

page 17
7. Kết ngoài (tt.)
- Kết ngoài đầy đủ: R S
• Hội của kết ngoài trái và kết ngoài phải
Vd. NV PB
MaN HoTen Phong MaPB TenPB
V 01 Nhân sự
11110 Trương Trọng 02 02 Tài chính
11111 Nguyễn Duy 01 03 Kỹ thuật
11112 Lê Khang 01
MaN HoTen MaPB TênPB
11113 Trần B 04
V
11110 Trương L
02 Tài chính
11114 Nguyễn Kha 05
11111 Trọng
Nguyễn Duy 01 Nhân sự
NV PB 11112 Lê Khang 01 Nhân sự
11113 Trần B 04 null
11114 Nguyễn Kha 05 null
null null 03 Kỹ thuật page 18
Hết phần 2 chương 3

Số 1, Võ Văn Ngân, Thủ Đức, TPHCM

sonnt@hcmute.edu.vn

+84918648899

You might also like