Làngôn ngữbiểu diễn câu truy vấnvềcác quan hệ
•Bao gồmtậphợp các phép toánđượcáp dụng trên các thể
hiệncủaquanhệ. Kếtquảtrảvềcủamộtcâu truyvấnlà
mộtthểhiện của quan hệ
•Chuỗi các phép toán đại sốquan hệhình thành nên biểu
thức đại sốquan hệ(câu truy vấn) mà kết quảcủa nó cũng
trảvềmột thểhiệncủa quan hệ
37 trang |
Chia sẻ: Mr Hưng | Lượt xem: 934 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Cấu trúc dữ liệu và giải thuật - Đại số quan hệ (Relational Algebra), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
CƠ SỞ DỮ LIỆU
Trần Ngọc Bảo
Email: tnbao.dhsp@gmail.com
Đại số quan hệ
(Relational Algebra)
• Giới thiệu về Đại số quan hệ
• Các phép toán quan hệ
• Các phép toán khác
Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học CƠ SỞ DỮ LIỆU
Đại số quan hệ
(Relational Algebra)
3TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (3) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Đại số quan hệ
• Là ngôn ngữ biểu diễn câu truy vấn về các quan hệ
• Bao gồm tập hợp các phép toán được áp dụng trên các thể
hiện của quan hệ. Kết quả trả về của một câu truy vấn là
một thể hiện của quan hệ
• Chuỗi các phép toán đại số quan hệ hình thành nên biểu
thức đại số quan hệ (câu truy vấn) mà kết quả của nó cũng
trả về một thể hiện của quan hệ
• Có 3 nhóm phép toán
•Phép toán quan hệ
•Phép toán tập hợp
•Phép toán khác
4TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (4) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
• Có 2 loại xử lý trên CSDL
– 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/mẫu hỏi (Query)
• Thực hiện các xử lý
Sử dụng ngôn ngữ truy vấn (Query Language) Æ cho phép người
dùng thực hiện và rút trích dữ liệu từ CSDL. Bao gồm:
– Đại số quan hệ (Relational Algebra)
– Phép tính quan hệ (Relational Calculus)
Giới thiệu
Cơ sở của các ngôn ngữ CSDL ví dụ như SQL
• Giới thiệu về Đại số quan hệ
• Các phép toán quan hệ
• Các phép toán khác
Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học CƠ SỞ DỮ LIỆU
Đại số quan hệ
(Relational Algebra)
6TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (6) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành
“SP101”
Các phép toán trên quan hệ
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
SP1041/4/1979NuHo Anh ThuK29.104.001
SP2014/5/1979NuTran Ngoc DungK29.201.002
SP2013/8/1979NamLy ThanhK29.201.001
SP10310/12/1979NuPham Khanh NhuK29.103.002
SP1033/2/1979NamHan Quoc VietK29.103.001
SP1011/10/1979NuPhan Anh KhanhK29.101.002
SP10110/10/1979NamNguyen Cong PhuK29.101.001
MANGANHNGAYSINHPHAIHOTENMASV
Thực hiện CHỌN các dòng trong quan hệ SinhVien thỏa
mãn điều kiện MANGANH = ‘SP101’
7TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (7) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành
“SP101”
Các phép toán trên quan hệ
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
SP1041/4/1979NuHo Anh ThuK29.104.001
SP2014/5/1979NuTran Ngoc DungK29.201.002
SP2013/8/1979NamLy ThanhK29.201.001
SP10310/12/1979NuPham Khanh NhuK29.103.002
SP1033/2/1979NamHan Quoc VietK29.103.001
SP1011/10/1979NuPhan Anh KhanhK29.101.002
SP10110/10/1979NamNguyen Cong PhuK29.101.001
MANGANHNGAYSINHPHAIHOTENMASV
Thực hiện CHỌN các dòng trong quan hệ SinhVien thỏa
mãn điều kiện MANGANH = ‘SP101’
8TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (8) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành
“SP101”
Các phép toán trên quan hệ
SP1011/10/1979NuPhan Anh KhanhK29.101.002
SP10110/10/1979NamNguyen Cong PhuK29.101.001
MANGANHNGAYSINHPHAIHOTENMASV
Thực hiện CHỌN các dòng trong quan hệ SinhVien thỏa
mãn điều kiện MANGANH = ‘SP101’
Kết quả
Thực hiện PHÉP CHỌN trên quan hệ SINHVIEN
9TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (9) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
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
–
– <tên thuộc
tính>
• gồm có: , ≤ , ≥ , ≠ , =
• Các mệnh đề có thể được nối lại nhờ các phép
toán luận lý: ∧ (and) , ∨ (or) , ¬ (not)
σ P (R)
10TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (10) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Phép chọn (tt)
• Kết quả của phép chọn 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
11TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (11) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành
“SP101”
Phép chọn
SP1011/10/1979NuPhan Anh KhanhK29.101.002
SP10110/10/1979NamNguyen Cong PhuK29.101.001
MANGANHNGAYSINHPHAIHOTENMASV
Thực hiện CHỌN các dòng trong quan hệ SinhVien thỏa
mãn điều kiện MANGANH = ‘SP101’
Kết quả
σ MANGANH = ‘SP101’ (SINHVIEN)
Thực hiện PHÉP CHỌN trên quan hệ SINHVIEN
với điều kiện chọn MANGANH = ‘SP101’
12TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (12) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Phép chọn (tt)
• Phép chọn có tính giao hoán
σ p1 (σ p2 (R)) = σ p2 (σ p1 (R))
σ PHAI = ‘NAM’ ∧ MANGANH = ‘SP101’ (SINHVIEN)
Ví dụ:
Yêu cầu truy vấn: Liệt kê danh sách sinh viên Nam thuộc ngành
“SP101”
σ PHAI = ‘NAM’ (σ MANGANH = ‘SP101’ (SINHVIEN))
σ NGANH = ‘SP101’ (σ PHAI = ‘NAM’ (SINHVIEN))
13TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (13) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN,
NGAYSINH)
Các phép toán trên quan hệ
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
SP1041/4/1979NuHo Anh ThuK29.104.001
SP2014/5/1979NuTran Ngoc DungK29.201.002
SP2013/8/1979NamLy ThanhK29.201.001
SP10310/12/1979NuPham Khanh NhuK29.103.002
SP1033/2/1979NamHan Quoc VietK29.103.001
SP1011/10/1979NuPhan Anh KhanhK29.101.002
SP10110/10/1979NamNguyen Cong PhuK29.101.001
MANGANHNGAYSINHPHAIHOTENMASV
Thực hiện CHỌN các CỘT (MASV, HOTEN, NGAYSINH) trong
quan hệ SinhVien
14TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (14) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN,
NGAYSINH)
Các phép toán trên quan hệ
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
SP1041/4/1979NuHo Anh ThuK29.104.001
SP2014/5/1979NuTran Ngoc DungK29.201.002
SP2013/8/1979NamLy ThanhK29.201.001
SP10310/12/1979NuPham Khanh NhuK29.103.002
SP1033/2/1979NamHan Quoc VietK29.103.001
SP1011/10/1979NuPhan Anh KhanhK29.101.002
SP10110/10/1979NamNguyen Cong PhuK29.101.001
MANGANHNGAYSINHPHAIHOTENMASV
Thực hiện CHỌN các CỘT (MASV, HOTEN, NGAYSINH) trong
quan hệ SinhVien
15TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (15) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN,
NGAYSINH)
Các phép toán trên quan hệ
1/4/1979Ho Anh ThuK29.104.001
4/5/1979Tran Ngoc DungK29.201.002
3/8/1979Ly ThanhK29.201.001
10/12/1979Pham Khanh NhuK29.103.002
3/2/1979Han Quoc VietK29.103.001
1/10/1979Phan Anh KhanhK29.101.002
10/10/1979Nguyen Cong PhuK29.101.001
NGAYSINHHOTENMASVKết quả
Thực hiện PHÉP CHIẾU trên tập thuộc tính
MASV, HOTEN, NGAYSINH quan hệ SINHVIEN
16TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (16) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
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ả phép chiếu cũng 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 B
α
R
α
β
10
20
30
C
1
1
1
β 40 2
πA,C (R)
A
α
R’
α
β
C
1
1
1
β 2
17TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (17) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN,
NGAYSINH)
1/4/1979Ho Anh ThuK29.104.001
4/5/1979Tran Ngoc DungK29.201.002
3/8/1979Ly ThanhK29.201.001
10/12/1979Pham Khanh NhuK29.103.002
3/2/1979Han Quoc VietK29.103.001
1/10/1979Phan Anh KhanhK29.101.002
10/10/1979Nguyen Cong PhuK29.101.001
NGAYSINHHOTENMASVKết quả
Thực hiện PHÉP CHIẾU trên tập thuộc tính MASV, HOTEN,
NGAYSINH quan hệ SINHVIEN
Phép chiếu
π MASV, HOTEN, NGAYSINH (SINHVIEN)
18TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (18) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
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, , Am(πA1, A2, , An(R))
πX,Y (R) = πX (πY (R))
19TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (19) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Phép chiếu mở rộng
• 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
20TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (20) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh,
TENNGANH) sinh viên
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
SP1041/4/1979NuHo Anh ThuK29.104.001
SP2014/5/1979NuTran Ngoc DungK29.201.002
SP2013/8/1979NamLy ThanhK29.201.001
SP10310/12/1979NuPham Khanh NhuK29.103.002
SP1033/2/1979NamHan Quoc VietK29.103.001
SP1011/10/1979NuPhan Anh KhanhK29.101.002
SP10110/10/1979NamNguyen Cong PhuK29.101.001
MANGANHNGAYSINHPHAIHOTENMASV
Các phép toán trên quan hệ
Thuộc tính MAVS, HOTEN, NGAYSINH thuộc quan hệ
SINHVIEN
Thuộc tính TENNGANH thuộc quan hệ NGANH
21TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (21) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh,
TENNGANH) sinh viên
SP1041/4/1979NuHo Anh ThuK29.104.001
SP2014/5/1979NuTran Ngoc DungK29.201.002
SP2013/8/1979NamLy ThanhK29.201.001
SP10310/12/1979NuPham Khanh NhuK29.103.002
SP1033/2/1979NamHan Quoc VietK29.103.001
SP1011/10/1979NuPhan Anh KhanhK29.101.002
SP10110/10/1979NamNguyen Cong PhuK29.101.001
MANGANHNGAYSINHPHAIHOTENMASV
11002Sư phạm AnhSP105
10006Sư Phạm LýSP104
1608Khoa học máy tínhCNTT
12004Sư Phạm LýSP102
15003Sư Phạm HóaSP201
10005Sư Phạm ToánSP101
8008Sư Phạm Tin họcSP103
TSSVSOCDTENNGANHMANGANH
MaSV, HoTen, NgaySinh TENNGANH
Làm thế nào để liên kết 2 quan hệ SINHVIEN và NGANH ?
Các phép toán trên quan hệ
22TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (22) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
..
15003Sư Phạm HóaSP201SP1011/10/1979NuPhan Anh KhanhK29.101.002
10005Sư Phạm ToánSP101SP1011/10/1979NuPhan Anh KhanhK29.101.002
8008Sư Phạm Tin
học
SP103SP1011/10/1979NuPhan Anh KhanhK29.101.002
Sư phạm Anh
Sư Phạm Lý
Khoa học máy
tính
Sư Phạm Lý
Sư Phạm Hóa
Sư Phạm Toán
Sư Phạm Tin
học
TENNGANH
2
6
8
4
3
5
8
SOCD
SP105
SP104
CNTT
SP102
SP201
SP101
SP103
MANGANH
SP101
SP101
SP101
SP101
SP101
SP101
SP101
MANGANH
110010/10/1979NamNguyen Cong PhuK29.101.001
100010/10/1979NamNguyen Cong PhuK29.101.001
16010/10/1979NamNguyen Cong PhuK29.101.001
120010/10/1979NamNguyen Cong PhuK29.101.001
150010/10/1979NamNguyen Cong PhuK29.101.001
100010/10/1979NamNguyen Cong PhuK29.101.001
80010/10/1979NamNguyen Cong PhuK29.101.001
TSSVNGAYSINHPHAIHOTENMASV
1. Cách 1: SinhVien x Nganh 7 x 7 = 49 dòng
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh,
TENNGANH) sinh viên
Các phép toán trên quan hệ
23TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (23) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
..
15003Sư Phạm HóaSP201SP1011/10/1979NuPhan Anh KhanhK29.101.002
10005Sư Phạm ToánSP101SP1011/10/1979NuPhan Anh KhanhK29.101.002
Khoa học máy
tính
Sư Phạm Lý
Sư Phạm Hóa
Sư Phạm Toán
Sư Phạm Tin
học
TENNGANH
8
4
3
5
8
SOCD
CNTT
SP102
SP201
SP101
SP103
MANGANH
SP101
SP101
SP101
SP101
SP101
MANGANH
16010/10/1979NamNguyen Cong PhuK29.101.001
120010/10/1979NamNguyen Cong PhuK29.101.001
150010/10/1979NamNguyen Cong PhuK29.101.001
100010/10/1979NamNguyen Cong PhuK29.101.001
80010/10/1979NamNguyen Cong PhuK29.101.001
TSSVNGAYSINHPHAIHOTENMASV
1. Cách 1: SinhVien x Nganh 7 x 7 = 49 dòng
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh,
TENNGANH) sinh viên
Kết quả truy vấn: 7 dòng (những dòng có MANGANH = MANGANH)
Các phép toán trên quan hệ
24TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (24) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
SP1041/4/1979NuHo Anh ThuK29.104.001
SP2014/5/1979NuTran Ngoc DungK29.201.002
SP2013/8/1979NamLy ThanhK29.201.001
SP10310/12/1979NuPham Khanh NhuK29.103.002
SP1033/2/1979NamHan Quoc VietK29.103.001
SP1011/10/1979NuPhan Anh KhanhK29.101.002
SP10110/10/1979NamNguyen Cong PhuK29.101.001
MANGANHNGAYSINHPHAIHOTENMASV
2. Cách 2: SinhVien Nganh 7 x 1 = 7 dòng
11002Sư phạm AnhSP105
10006Sư Phạm LýSP104
1608Khoa học máy tínhCNTT
12004Sư Phạm LýSP102
15003Sư Phạm HóaSP201
10005Sư Phạm ToánSP101
8008Sư Phạm Tin họcSP103
TSSVSOCDTENNGANHMANGANH
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh,
TENNGANH) sinh viên
Thực hiện PHÉP KẾT thuộc tính MANGANH của quan hệ
SINHVIEN với MANGANH của quan hệ NGANH
Các phép toán trên quan hệ
25TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (25) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
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à S(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 đó
• Có dạng Ai θ Bj
• Ai là thuộc tính của R, Bj là thuộc tính của S
• Ai và Bj có cùng miền giá trị
• θ là phép so sánh: ≠, =, , ≤, ≥
26TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (26) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh,
TENNGANH) sinh viên
Thực hiện PHÉP KẾT thuộc tính MANGANH của quan hệ
SINHVIEN với MANGANH của quan hệ NGANH
Các phép toán trên quan hệ
∏MASV, HOTEN, NGAYSINH, TENNGANH (SINHVIEN NGANH)
SINHVIEN.MANGANH = NGANH.MANGANH
27TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (27) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Phép kết (tt)
• Phân loại
– Kết theta (Theta join) là phép kết có điều kiện
• Ký hiệu R C S
• 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)
• Ký hiệu R S hay R ∗ S
• R+ ∩ S+ ≠ ∅
• Kết quả của phép kết bằng bỏ bớt đi 1 cột giống nhau
28TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (28) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Kết hợp các phép toán
Liệt kê danh sách chuyên đề (MACD, TENCD, SOSVTD) cần phải
học của sinh viên ngành công nghệ phần mềm (TENNGANH =
“CÔNG NGHỆ PHẦN MỀM”)
Chiếu
MACD, TENCD, SOSVTD (thuộc quan hệ CHUYENDE)
Chọn
TENNGANH = ‘CÔNG NGHỆ PHẦN MỀM’
Kết
NGANH, CD_NGANH, CHUYENDE
MACD = MACDMANGANH = MANGANH
CD_NGANH CHUYENDENGANH
29TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (29) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Kết hợp các phép toán
Liệt kê danh sách chuyên đề (MACD, TENCD, SOSVTD) cần phải
học của sinh viên ngành công nghệ phần mềm (TENNGANH =
“CÔNG NGHỆ PHẦN MỀM”)
• Giới thiệu về Đại số quan hệ
• Các phép toán quan hệ
• Các phép toán khác
• Các thao tác cập nhật trên quan hệ
Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học CƠ SỞ DỮ LIỆU
Đại số quan hệ
(Relational Algebra)
31TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (31) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
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(A): A là thuộc tính kiểu số
• MIN(A): A là thuộc tính kiểu số
• MAX(A): A là thuộc tính kiểu số
• SUM(A): A là thuộc tính kiểu số
• COUNT(A): A có kiểu bất kỳ
32TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (32) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
• 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
Hàm kết hợp
MAX(πLuong(NHANVIEN))
Cho biết lương cao nhất của các nhân viên công ty
33TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (33) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Phép gom nhóm (T)
•Đượ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, , Gn TF1(A1), F2(A2), , Fn(An)(E)
34TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (34) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Phép gom nhóm (tt)
•Ví dụ
ISUM(C)(R)
A B
α
R
α
2
4
β
γ
2
2
C
7
7
3
10
AISUM(C)(R)
Kết quả
ISUM(C)(R) = 27
Kết quả
10γ
3β
14α
SUM(C)A
35TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (35) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Liệt kê danh sách tên chuyên đề (TENCD) và số lần
được mở tương ứng theo từng ngành (TENNGANH)
Chiếu
TENNGANH: thuộc quan hệ NGANH
TENCD: thuộc quan hệ CHUYENDE
COUNT(MACD): thuộc quan hệ CD_MO
Kết
NGANH, CD_NGANH, CHUYENDE, CD_MO
Phép gom nhóm
MACD = MACD
MANGANH = MANGANH
MACD = MACD
CD_MO
CD_NGANH
CHUYENDE
NGANH
36TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (36) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Liệt kê danh sách tên chuyên đề (TENCD) và số lần
được mở tương ứng theo từng ngành (TENNGANH)
Phép gom nhóm
37TRẦN NGỌC BẢO KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (37) - I I . ( )
B
B
À
À
I
G
I
I
G
I
Ả
Ả
N
G
H
N
G
H
Ọ
Ọ
C
P
H
C
P
H
Ầ
Ầ
N
C
Ơ
S
N
C
Ơ
S
Ở
Ở
D
D
Ữ
Ữ
L
I
L
I
Ệ
Ệ
U
U
N
G
Ô
N
N
G
N
G
Ô
N
N
G
Ữ
Ữ
Đ
Đ
Ạ
Ạ
I
S
I
S
Ố
Ố
Q
U
A
N
H
Q
U
A
N
H
Ệ
Ệ
Các file đính kèm theo tài liệu này:
- tn_dsqh_7632.pdf