1. Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
TRUY VẤN DỮ LIỆUTRUY VẤN DỮ LIỆU
Ố Ó ẤTỐI ƯU HÓA TRUY VẤN
Trần Ngọc Bảo
Email: tnbao.dhsp@gmail.com
2. Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
TỐI ƯU HÓATỐI ƯU HÓA
TRUY VẤNTRUY VẤNTRUY VẤNTRUY VẤN
• Giới thiệu về tối ưu hóa truy vấn
• Các qui tắc biến đổi tương đương
• Giải thuật Heuristic cho tối ưu hóa truy vấn
3. Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
TỐI ƯU HÓATỐI ƯU HÓA
TRUY VẤNTRUY VẤNTRUY VẤNTRUY VẤN
• Giới thiệu về tối ưu hóa truy vấn
• Các qui tắc biến đổi tương đương
• Giải thuật Heuristic cho tối ưu hóa truy vấn
4. UU
DLDL
Phò iá t i ột t ờ Đ i h ố ti h hó iệ ả lý đă ký
Giới thiệu về tối ưu hóa truy vấn
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Phòng giáo vụ tại một trường Đại học muốn tin học hóa việc quản lý đăng ký
học chuyên đề của sinh viên. Kết quả phân tích thiết kế được mô hình CSDL
quan hệ như sau:
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
2. NGANH (MANGANH, TENNGANH, SOCD, TSSV)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
3. CHUYENDE (MACD, TENCD, SOSVTD)
2. NGANH (MANGANH, TENNGANH, SOCD, TSSV)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
4. CD_NGANH (MACD, MANGANH)
5. CD_MO(MACD, NAM, HOCKY)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
6. DANGKY(MASV, MACD, NAM, HOCKY)
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (44))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (44))44
5. UU
DLDL Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (55))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (55))55
Lược đồ CSDL ứng dụng quản lý chuyên đề
6. UU
DLDL
ầ ấ
Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
1 SINHVIEN (MASV HOTEN PHAI NGAYSINH MANGANH)
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
MASV HOTEN PHAI NGAYSINH MANGANH
29 0 00 C h 0/ 0/ 9 9 S 0
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101
K29 103 001 Han Quoc Viet Nam 3/2/1979 SP103
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103
K29.201.001 Ly Thanh Nam 3/8/1979 SP201
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201
K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (66))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (66))66
7. UU
DLDL Giới thiệu về tối ưu hóa truy vấn
ầ ấ
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
2 NGANH (MANGANH TENNGANH SOCD TSSV)
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
MANGANH TENNGANH SOCD TSSV
SP103 Sư Phạm Tin học 8 800
2. NGANH (MANGANH, TENNGANH, SOCD, TSSV)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
SP103 Sư Phạm Tin học 8 800
SP101 Sư Phạm Toán 5 1000
SP201 Sư Phạm Hóa 3 1500
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
SP201 Sư Phạm Hóa 3 1500
SP102 Sư Phạm Lý 4 1200
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
CNTT Khoa học máy tính 8 160
SP104 Sư Phạm Lý 6 1000
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (77))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (77))77
SP105 Sư phạm Anh 2 1100
8. UU
DLDL
ầ ấ
Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
MASV HOTEN PHAI NGAYSINH MANGANH MANGANH TENNGANH SOCD TSSV
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103
SP103 Sư Phạm Tin học 8 800
SP101 Sư Phạm Toán 5 1000
SP201 Sư Phạm Hóa 3 1500
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103
K29.201.001 Ly Thanh Nam 3/8/1979 SP201
SP102 Sư Phạm Lý 4 1200
CNTT Khoa học máy tính 8 160
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201
K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104
SP104 Sư Phạm Lý 6 1000
SP105 Sư phạm Anh 2 1100
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
MASV HOTEN NGAYSINH
K29.103.001 Han Quoc Viet 3/2/1979
Kết quả truy vấn: 1 dòng
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (88))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (88))88
K29.103.001 Han Quoc Viet 3/2/1979
9. UU
DLDL Giới thiệu về tối ưu hóa truy vấn
Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h) i h iê
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
1. Cách 1:
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
SELECT MASV, HOTEN, NGAYSINH
FROM SINHVIEN SV, NGANH N
WHERE SV.MANGANH = N.MANGANH AND PHAI = ‘NAM’ AND
TENNGANH ‘S h Ti h ’
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
2. Cách 2:
TENNGANH = ‘Sư phạm Tin học’
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
SELECT MASV, HOTEN, NGAYSINH
FROM SINHVIEN SV JOIN NGANH N ON SV.MANGANH =
N.MANGANH
WHERE PHAI = ‘NAM’ AND TENNGANH = ‘Sư phạm Tin học’
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
WHERE PHAI = NAM AND TENNGANH = Sư phạm Tin học
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (99))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (99))99
10. UU
DLDL Giới thiệu về tối ưu hóa truy vấn
Yêu cầu truy vấn: Liệt kê danh sách (MaSV HoTen NgaySinh) sinh viên
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
3. Cách 3:
SELECT MASV HOTEN NGAYSINH
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
SELECT MASV, HOTEN, NGAYSINH
FROM
(SELECT MASV,TENSV, NGAYSINH, MANGANH
FROM SINHVIEN
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
WHERE PHAI = ‘NAM’) AS SV JOIN
(SELECT MANGANH
FROM NGANH
WHERE TENNGANH = ‘Sư phạm Tin học’) AS N
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
WHERE TENNGANH = Sư phạm Tin học ) AS N
ON SV.MANGANH = N.MANGANH
ễ ễễ ễ
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Trong 3 cách biểu diễn như trên cách nào biểu diễn nàoTrong 3 cách biểu diễn như trên cách nào biểu diễn nào
chạy chậm nhất (xấu nhất) ?, cách biểu diễn nào chạychạy chậm nhất (xấu nhất) ?, cách biểu diễn nào chạy
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1010))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1010))1010
nhanh nhất (tối ưu nhất) ?nhanh nhất (tối ưu nhất) ?
11. UU
DLDL Giới thiệu về tối ưu hóa truy vấn
Yêu cầu truy vấn: Liệt kê danh sách (MaSV HoTen NgaySinh) sinh viên
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
1. Cách 1:
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
SELECT MASV, HOTEN, NGAYSINH
FROM SINHVIEN SV, NGANH N
WHERE SV.MANGANH = N.MANGANH AND PHAI = ‘NAM’ AND
TENNGANH ‘S h Ti h ’
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
TENNGANH = ‘Sư phạm Tin học’
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1111))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1111))1111
12. UU
DLDL
ầ ấ
Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
1. Cách 1: SinhVien x Nganh 7 x 7 = 49 dòng
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
MASV HOTEN PHAI NGAYSINH MANGANH
K29 101 001 N C Ph N 10/10/1979 SP101
g g
MANGANH TENNGANH SOCD TSSV
SP103 Sư Phạm Tin học 8 800
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103
SP101 Sư Phạm Toán 5 1000
SP201 Sư Phạm Hóa 3 1500
SP102 Sư Phạm Lý 4 1200
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103
K29.201.001 Ly Thanh Nam 3/8/1979 SP201
K29 201 002 Tran Ngoc Dung Nu 4/5/1979 SP201
ạ ý
CNTT Khoa học máy tính 8 160
SP104 Sư Phạm Lý 6 1000
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201
K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104
SP105 Sư phạm Anh 2 1100
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1212))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1212))1212
13. UU
DLDL
ầ ấ
Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
1. Cách 1: SinhVien x Nganh 7 x 7 = 49 dòng
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
MASV HOTEN PHAI NGAYSINH MANGANH MANGANH TENNGANH SOCD TSSV
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 SP103 Sư Phạm Tin
học
8 800
g g
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 SP101 Sư Phạm Toán 5 1000
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 SP201 Sư Phạm Hóa 3 1500
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 SP102 Sư Phạm Lý 4 1200
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 CNTT Khoa học máy
tính
8 160
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 SP104 Sư Phạm Lý 6 1000
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 SP105 Sư phạm Anh 2 1100
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 SP103 Sư Phạm Tin
học
8 800
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 SP101 Sư Phạm Toán 5 1000
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 SP201 Sư Phạm Hóa 3 1500
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1313))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1313))1313
…..
14. UU
DLDL
ầ ấ
Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
1. Cách 1: SinhVien x Nganh 7 x 7 = 49 dòng
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
MASV HOTEN PHAI NGAYSINH MANGANH MANGANH TENNGANH SOCD TSSV
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 SP103 Sư Phạm Tin
học
8 800
g g
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 SP101 Sư Phạm Toán 5 1000
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 SP201 Sư Phạm Hóa 3 1500
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 SP102 Sư Phạm Lý 4 1200
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 CNTT Khoa học máy
tính
8 160
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 SP104 Sư Phạm Lý 6 1000
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 SP105 Sư phạm Anh 2 1100
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 SP103 Sư Phạm Tin
học
8 800
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 SP101 Sư Phạm Toán 5 1000
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 SP201 Sư Phạm Hóa 3 1500
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1414))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1414))1414
…..
15. UU
DLDL
ầ ấ
Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
1. Cách 1: SinhVien x Nganh 7 x 7 = 49 dòng
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
MASV HOTEN PHAI NGAYSINH MANGANH MANGANH TENNGANH SOCD TSSV
g g
Kết quả truy vấn: 1 dòng
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
MASV HOTEN PHAI NGAYSINH MANGANH MANGANH TENNGANH SOCD TSSV
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 SP103 Sư Phạm Tin
học
8 800
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 SP101 Sư Phạm Toán 5 1000
i / / h ó
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 SP201 Sư Phạm Hóa 3 1500
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 SP102 Sư Phạm Lý 4 1200
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 CNTT Khoa học máy
tính
8 160
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 SP104 Sư Phạm Lý 6 1000
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 SP105 Sư phạm Anh 2 1100
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 SP103 Sư Phạm Tin
học
8 800
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1515))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1515))1515
16. UU
DLDL Giới thiệu về tối ưu hóa truy vấn
ầ ấ
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
2. Cách 2:
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
2. Cách 2:
SELECT MASV, HOTEN, NGAYSINH
FROM SINHVIEN SV JOIN NGANH N ON SV.MANGANH =
N MANGANH
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
N.MANGANH
WHERE PHAI = ‘NAM’ AND TENNGANH = ‘Sư phạm Tin học’
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1616))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1616))1616
17. UU
DLDL
ầ ấ
Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
2. Cách 2: SinhVien Nganh 7 x 1 = 7 dòng
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
MASV HOTEN PHAI NGAYSINH MANGANH
K29 101 001 N C Ph N 10/10/1979 SP101
g g
MANGANH TENNGANH SOCD TSSV
SP103 Sư Phạm Tin học 8 800
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103
SP103 Sư Phạm Tin học 8 800
SP101 Sư Phạm Toán 5 1000
SP201 Sư Phạm Hóa 3 1500
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103
K29.201.001 Ly Thanh Nam 3/8/1979 SP201
K29 201 002 Tran Ngoc Dung Nu 4/5/1979 SP201
SP102 Sư Phạm Lý 4 1200
CNTT Khoa học máy tính 8 160
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201
K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104
SP104 Sư Phạm Lý 6 1000
SP105 Sư phạm Anh 2 1100
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1717))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1717))1717
18. UU
DLDL
ầ ấ
Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
2. Cách 2: SinhVien Nganh 7 x 1 = 7 dòng
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
MASV HOTEN PHAI NGAYSINH MANGANH
g g
MANGANH TENNGANH SOCD TSSV
SP103 Sư Phạm Tin học 8 800
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103
SP103 Sư Phạm Tin học 8 800
SP101 Sư Phạm Toán 5 1000
SP201 Sư Phạm Hóa 3 1500
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103
K29.201.001 Ly Thanh Nam 3/8/1979 SP201
SP102 Sư Phạm Lý 4 1200
CNTT Khoa học máy tính 8 160
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201
K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104
SP104 Sư Phạm Lý 6 1000
SP105 Sư phạm Anh 2 1100
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1818))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1818))1818
19. UU
DLDL
ầ ấ
Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
2. Cách 2: SinhVien Nganh 7 x 1 = 7 dòng
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
MASV HOTEN PHAI NGAYSINH MANGANH MANGANH TENNGANH SOCD TSSV
Kết quả truy vấn: 1 dòng
g g
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
MASV HOTEN PHAI NGAYSINH MANGANH MANGANH TENNGANH SOCD TSSV
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 SP103 Sư Phạm Tin
học
8 800
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1919))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (1919))1919
20. UU
DLDL Giới thiệu về tối ưu hóa truy vấn
ầ ấ
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
3 Cách 3:
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
3. Cách 3:
SELECT MASV, HOTEN, NGAYSINH
FROM
(SELECT MASV,HOTEN, NGAYSINH, MANGANH
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
( , , ,
FROM SINHVIEN
WHERE PHAI = ‘NAM’) AS SV JOIN
(SELECT MANGANH
FROM NGANH
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
FROM NGANH
WHERE TENNGANH = ‘Sư phạm Tin học’) AS N
ON SV.MANGANH = N.MANGANH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2020))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2020))2020
21. UU
DLDL
ầ ấ
Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
3. Cách 3: Bước 1
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
SELECT MASV, HOTEN, NGAYSINH
FROM
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
(SELECT MASV,HOTEN, NGAYSINH, MANGANH
FROM SINHVIEN
WHERE PHAI = ‘NAM’) AS SV JOIN
(SELECT MANGANH
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
(SELECT MANGANH
FROM NGANH
WHERE TENNGANH = ‘Sư phạm Tin học’) AS N
ON SV.MANGANH = N.MANGANH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Chọn các dòngChọn các dòng [MASV, HOTEN, NGAYSINH, MANGANH][MASV, HOTEN, NGAYSINH, MANGANH] có thuộccó thuộc
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2121))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2121))2121
tínhtính PHAI = ‘NAM’PHAI = ‘NAM’ trong quan hệtrong quan hệ SINHVIENSINHVIEN
22. UU
DLDL
ầ ấ
Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
3. Cách 3: Bước 1 (SELECT MASV TENSV NGAYSINH
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
(SELECT MASV,TENSV, NGAYSINH,
MANGANH FROM SINHVIEN
WHERE PHAI = ‘NAM’)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
MASV HOTEN PHAI NGAYSINH MANGANH
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101
MASV HOTEN NGAYSINH MANGANH
Kết quả truy vấn: 3 dòng
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103
K29.101.001 Nguyen Cong Phu 10/10/1979 SP101
K29.103.001 Han Quoc Viet 3/2/1979 SP103
K29.201.001 Ly Thanh 3/8/1979 SP201
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
K29.201.001 Ly Thanh Nam 3/8/1979 SP201
K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201
K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2222))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2222))2222
23. UU
DLDL
ầ ấ
Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
3. Cách 3: Bước 2
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
SELECT MASV, HOTEN, NGAYSINH
FROM
(SELECT MASV HOTEN NGAYSINH MANGANH
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
(SELECT MASV,HOTEN, NGAYSINH, MANGANH
FROM SINHVIEN
WHERE PHAI = ‘NAM’) AS SV JOIN
(SELECT MANGANH
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
FROM NGANH
WHERE TENNGANH = ‘Sư phạm Tin học’) AS N
ON SV.MANGANH = N.MANGANH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Chọn các dòngChọn các dòng [MANGANH][MANGANH] có thuộc tính TENNGANHcó thuộc tính TENNGANH = ‘Sư phạm= ‘Sư phạm
Ti h ’Ti h ’ t hệt hệ NGANHNGANH
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2323))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2323))2323
Tin học’Tin học’ trong quan hệtrong quan hệ NGANHNGANH
24. UU
DLDL
ầ ấ
Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
3. Cách 3: Bước 2 (SELECT MANGANH
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
MANGANH TENNGANH SOCD TSSV
FROM NGANH
WHERE TENNGANH = ‘Sư
phạm Tin học’)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
MANGANH TENNGANH SOCD TSSV
SP103 Sư Phạm Tin học 8 800
SP101 Sư Phạm Toán 5 1000 MANGANH
Kết quả truy vấn: 1 dòng
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
SP201 Sư Phạm Hóa 3 1500
SP102 Sư Phạm Lý 4 1200
CNTT Khoa học máy tính 8 160
SP103
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
CNTT Khoa học máy tính 8 160
SP104 Sư Phạm Lý 6 1000
SP105 Sư phạm Anh 2 1100
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2424))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2424))2424
25. UU
DLDL
ầ ấ
Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
3. Cách 3: Bước 3
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
SELECT MASV, HOTEN, NGAYSINH
FROM
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
(SELECT MASV,HOTEN, NGAYSINH, MANGANH
FROM SINHVIEN
WHERE PHAI = ‘NAM’) AS SV JOIN
(SELECT MANGANH
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
(SELECT MANGANH
FROM NGANH
WHERE TENNGANH = ‘Sư phạm Tin học’) AS N
ON SV.MANGANH = N.MANGANH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2525))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2525))2525
26. UU
DLDL
ầ ấ
Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
3. Cách 3: Bước 3 [Bước 1] AS SV JOIN
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
[Bước 1] AS SV JOIN
[Bước 2] AS N
ON SV.MANGANH = N.MANGANH
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
MANGANH
SP103
Kết quả truy vấn bước 2 (N)
MASV HOTEN NGAYSINH MANGANH
K29 101 001 Nguyen Cong Phu 10/10/1979 SP101
Kết quả truy vấn bước 1 (SV)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
SP103K29.101.001 Nguyen Cong Phu 10/10/1979 SP101
K29.103.001 Han Quoc Viet 3/2/1979 SP103
K29.201.001 Ly Thanh 3/8/1979 SP201
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
MASV HOTEN NGAYSINH MANGANH MANGANH
K29 103 001 H Q Vi t 3/2/1979 SP103 SP103
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2626))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2626))2626
K29.103.001 Han Quoc Viet 3/2/1979 SP103 SP103
27. UU
DLDL
ầ ấ
Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
3. Cách 3: Bước 4
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
SELECT MASV, HOTEN, NGAYSINH
FROM
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
(SELECT MASV,TENSV, NGAYSINH, MANGANH
FROM SINHVIEN
WHERE PHAI = ‘NAM’) AS SV JOIN
(SELECT MANGANH
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
(SELECT MANGANH
FROM NGANH
WHERE TENNGANH = ‘Sư phạm Tin học’) AS N
ON SV.MANGANH = N.MANGANH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Chiếu trên thuộc tínhChiếu trên thuộc tính [MASV HOTEN NGAYSINH][MASV HOTEN NGAYSINH] trong kết quả củatrong kết quả của
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2727))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2727))2727
Chiếu trên thuộc tínhChiếu trên thuộc tính [MASV, HOTEN, NGAYSINH][MASV, HOTEN, NGAYSINH] trong kết quả củatrong kết quả của
Bước 3Bước 3
28. UU
DLDL
ầ ấ
Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
3. Cách 3: Bước 4 SELECT MASV, HOTEN, NGAYSINH
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Kết quả truy vấn bước 3
, ,
FROM [KQ BƯỚC 3]
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
MASV HOTEN NGAYSINH MANGANH MANGANH
K29.103.001 Han Quoc Viet 3/2/1979 SP103 SP103
ế quả uy ấ bước 3
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
MASV HOTEN NGAYSINH
K29.103.001 Han Quoc Viet 3/2/1979
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Q
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2828))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2828))2828
29. UU
DLDL Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Trong 3 cách biểu diễn như trên cách nào biểu diễn nàoTrong 3 cách biểu diễn như trên cách nào biểu diễn nào
chạy chậm nhất (xấu nhất) ?, cách biểu diễn nào chạychạy chậm nhất (xấu nhất) ?, cách biểu diễn nào chạy
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
nhanh nhất (tối ưu nhất) ?nhanh nhất (tối ưu nhất) ?
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
1. Cách 1: Xấu nhất Đơn giản nhất
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
2. Cách 2: Thường sử dụng nhất Trung bình
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
3. Cách 3: Tốt nhất Phức tạp nhất
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2929))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (2929))2929
30. UU
DLDL Giới thiệu về tối ưu hóa truy vấn
Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h) i h iê
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
1. Cách 1:
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
SELECT MASV, HOTEN, NGAYSINH
FROM SINHVIEN SV NGANH N
Ngôn ngữ SQL
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
FROM SINHVIEN SV, NGANH N
WHERE SV.MANGANH = N.MANGANH AND PHAI = ‘NAM’ AND
TENNGANH = ‘Sư phạm Tin học’
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Ngôn ngữ ĐSQL
∏ σ
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
∏MASV, HOTEN, NGAYSINH( σTENNGANH = ‘Sư phạm Tin học’’
∧ PHAI = ‘NAM’ ∧ SINHVIEN.MANGANH = NGANH.MANGANH
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3030))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3030))3030
(SINHVIEN x NGANH))
31. UU
DLDL Giới thiệu về tối ưu hóa truy vấn
Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h) i h iê
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
2. Cách 2:
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Ngôn ngữ SQL
SELECT MASV, HOTEN, NGAYSINH
FROM SINHVIEN SV JOIN NGANH N ON SV MANGANH
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
FROM SINHVIEN SV JOIN NGANH N ON SV.MANGANH =
N.MANGANH
WHERE PHAI = ‘NAM’ AND TENNGANH = ‘Sư phạm Tin học’
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Ngôn ngữ ĐSQL
∏
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
∏MASV, HOTEN, NGAYSINH( σTENNGANH = ‘Sư phạm Tin học’’
∧ PHAI = ‘NAM’ (SINHVIEN NGANH))
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3131))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3131))3131
SINHVIEN.MANGANH = NGANH.MANGANH
32. UU
DLDL Giới thiệu về tối ưu hóa truy vấn
Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h) i h iê
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
3. Cách 3:
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
N ô ữ SQL
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Ngôn ngữ SQL
SELECT MASV, HOTEN, NGAYSINH
FROM
(SELECT MASV HOTEN NGAYSINH MANGANH FROM SINHVIEN
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
(SELECT MASV,HOTEN, NGAYSINH, MANGANH FROM SINHVIEN
WHERE PHAI = ‘NAM’) AS SV JOIN
(SELECT MANGANH
FROM NGANH
WHERE TENNGANH = ‘Sư phạm Tin học’) AS N
ON SV.MANGANH = N.MANGANH
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Ngôn ngữ ĐSQL
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
∏MASV, HOTEN, NGAYSINH((πMASV,HOTEN,NGAYSINH,MANGANH( σPHAI
(SINHVIEN))) (π (σ (NGANH))))
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3232))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3232))3232
= ‘NAM’(SINHVIEN))) (πMANGANH(σNGANH = ‘Sư phạm Tin học’ (NGANH))))
SINHVIEN.MANGANH = NGANH.MANGANH
33. UU
DLDL Giới thiệu về tối ưu hóa truy vấnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Tối ưu hóa truy vấn là một giải thuật HeuricticsTối ưu hóa truy vấn là một giải thuật Heurictics
tìm cách biểu diễn các truy vấn cho kết quảtìm cách biểu diễn các truy vấn cho kết quả
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
tìm cách biểu diễn các truy vấn cho kết quảtìm cách biểu diễn các truy vấn cho kết quả
nhanh nhất (tối ưu nhất) áp dụng một số qui tắcnhanh nhất (tối ưu nhất) áp dụng một số qui tắc
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
biến đổi tương đươngbiến đổi tương đương
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
1. Cách 1: Xấu nhất 3. Cách 3: Tốt nhất
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3333))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3333))3333
34. Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học CƠ SỞ DỮ LIỆUCƠ SỞ DỮ LIỆU
TỐI ƯU HÓATỐI ƯU HÓA
TRUY VẤNTRUY VẤNTRUY VẤNTRUY VẤN
• Giới thiệu về tối ưu hóa truy vấn
• Các qui tắc biến đổi tương đương
• Giải thuật Heuristic cho tối ưu hóa truy vấn
35. UU
DLDL Các qui tắc biến đổi tương đương
1 Q i tắ 1 biế đổi dã á hé h
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
1. Qui tắc 1: biến đổi dãy các phép chọn
( ) ( )( )( )......2121 RR cncccnANDcANDc σσσσ ≡
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Ví dụ
( ) ( )( )( )21...21 cncccnANDcANDc
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
ụ
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
σMANGANH = ‘SPS101’ AND PHAI = ‘NAM’ (SINHVIEN)
==
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
σMANGANH = ‘SPS101’(σPHAI = ‘NAM’ (SINHVIEN))
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3535))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3535))3535
36. UU
DLDL Các qui tắc biến đổi tương đương
2 Q i tắ 2 T
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
2. Qui tắc 2: Tính giao hoán của phép chọn
( )( ) ( )( )RR σσσσ ≡
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
( )( ) ( )( )RR cccc 1221 σσσσ ≡
Ví dụ
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
ụ
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
σMANGANH = ‘SPS101’(σPHAI = ‘NAM’ (SINHVIEN))
=
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
σPHAI = ‘NAM’(σ MANGANH = ‘SPS01’ (SINHVIEN))
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3636))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3636))3636
37. UU
DLDL Các qui tắc biến đổi tương đương
3 Q i tắ 3 Biế ổ ế
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
3. Qui tắc 3: Biến đổi dãy các phép chiếu
( )( )( ) ( )RR ≡ππππ
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
( )( )( ) ( )RR DSDSnDSDS ><><><>< ≡ 121 ...... ππππ
V
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Ví dụ
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
πMASV, HOTEN (πMASV, HOTEN,PHAI, NGAYSINH (SINHVIEN))
=
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
πMASV, HOTEN (SINHVIEN))
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3737))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3737))3737
38. UU
DLDL Các qui tắc biến đổi tương đương
4 Q i tắ 4 T ế
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
4. Qui tắc 4: Tính giao hoán của phép chọn với phép chiếu
( )( ) ( )( )RR πσσπ ≡
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
( )( ) ( )( )RR AnAAccAnAA ,...,2,1,...,2,1 πσσπ ≡
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Ví dụ
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
πMASV, HOTEN, PHAI (σPHAI = ‘NAM’ (SINHVIEN))
=
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
σPHAI = ‘NAM’(πMASV, HOTEN (SINHVIEN))
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3838))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3838))3838
39. UU
DLDL Các qui tắc biến đổi tương đương
5 Q i tắ 5 T ế
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
5. Qui tắc 5: Tính giao hoán của phép tích, phép kết
( ) )( RSSR =
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
( ) )( RSSR CC =
( )
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
( ) )( RxSSxR =Ví dụ
1 SINHVIEN (MASV HOTEN PHAI NGAYSINH MANGANH)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
(SINHVIEN NGANH )
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
2. NGANH (MANGANH, TENNGANH)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
( )
=
(NGANH (SINHVIEN)
SINHVIEN.MANGANH = NGANH.MANGANH
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3939))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (3939))
SINHVIEN.MANGANH = NGANH.MANGANH
40. UU
DLDL Các qui tắc biến đổi tương đương
6 Q i tắ 6
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
6. Qui tắc 6:
Nếu tất cả các thuộc tính trong c đều là thuộc tính của R, thì
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
( ) S))((S RR cc σσ ≡
g
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
( ) ))(( cc
Ví dụ
1 SINHVIEN (MASV HOTEN PHAI NGAYSINH MANGANH)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
σPHAI = ‘NAM’(SINHVIEN NGANH)
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
2. NGANH (MANGANH, TENNGANH)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
σPHAI = NAM (S G )
=
(σ )
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4040))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4040))
(σPHAI = ‘NAM’ (SINHVIEN)) NGANH
41. UU
DLDL Các qui tắc biến đổi tương đương
6 Q i tắ 6
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
6. Qui tắc 6:
Nếu c=c1 and c2, trong đó c1 là một thuộc tính của R, c2 là một thuộc tính
của S thì:
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
( ) )(S)())((S 21 ccc RR σσσ ≡
của S, thì:
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
2
Ví dụ
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
σPHAI = ‘NAM’ AND TENNGANH = ‘SP TIN’(SINHVIEN NGANH)
2. NGANH (MANGANH, TENNGANH)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
σPHAI = NAM AND TENNGANH = SP TIN (S G )
=
(σ ) (σ )
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4141))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4141))
(σPHAI = ‘NAM’ (SINHVIEN)) (σTENNGANH = ‘SP TIN’ (NGANH))
42. UU
DLDL Các qui tắc biến đổi tương đương
6 Q i tắ 6
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
6. Qui tắc 6:
Nếu tất cả các thuộc tính trong c đều là thuộc tính của R, thì
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
( ) Sx))((Sx RR cc σσ ≡
g
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
( ) ))(( cc
Ví dụ
1 SINHVIEN (MASV HOTEN PHAI NGAYSINH MANGANH)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
σPHAI = ‘NAM’(SINHVIEN X NGANH)
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
2. NGANH (MANGANH, TENNGANH)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
σPHAI = NAM (S G )
=
(σ )
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4242))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4242))4242
(σPHAI = ‘NAM’ (SINHVIEN)) X NGANH
43. UU
DLDL Các qui tắc biến đổi tương đương
6 Q i tắ 6
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
6. Qui tắc 6:
Nếu c=c1 and c2, trong đó c1 là một thuộc tính của R, c2 là một thuộc tính
của S thì:
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
( ) )(S)(x))((Sx 1 ccc RR σσσ ≡
của S, thì:
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
( ) )(S)(x))((Sx 21 ccc RR σσσ
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
σPHAI = ‘NAM’ AND TENNGANH = ‘SP TIN’(SINHVIEN X NGANH)
2. NGANH (MANGANH, TENNGANH)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
σPHAI = NAM AND TENNGANH = SP TIN (S G )
=
(σ ) (σ )
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4343))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4343))4343
(σPHAI = ‘NAM’ (SINHVIEN)) X (σTENNGANH = ‘SP TIN’ (NGANH))
44. UU
DLDL Các qui tắc biến đổi tương đương
7 Q i tắ 7
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
7. Qui tắc 7:
Giả sử L = {A1,…,AN,B1,…,BM}, trong đó A1,…,AN là
thuộc tính của R; B1 BM là thuộc tính của S
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
( ) ))(())((S SRR ∏∏∏
thuộc tính của R; B1,…,BM là thuộc tính của S
Nếu điều kiện kết nối c chỉ chứa các thuộc tính trong L thì
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
( ) ))(())((S M321N321 ,...BB,B,BC,...AA,A,AC SRRL ∏∏≡∏
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
2 NGANH (MANGANH TENNGANH)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
2. NGANH (MANGANH, TENNGANH)
πMASV,HOTEN,MANGANH,TENNGANH (SINHVIEN NGANH)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
= (πMASV,HOTEN,MANGANH (SINHVIEN))
SINHVIEN.MANGANH = NGANH.MANGANH
SINHVIEN MANGANH NGANH MANGANH
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4444))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4444))4444
(πTENNGANH,MANGANH ((NGANH))
SINHVIEN.MANGANH = NGANH.MANGANH
45. UU
DLDL Các qui tắc biến đổi tương đương
7 Q i tắ 7
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
7. Qui tắc 7:
Nếu điều kiện kết nối c có chứa các thuộc tính không ở trong L, giả sử là
AN 1 AN K của R và BM 1 BM P của S thì
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
( ) ))(())((S SRR ∏∏∏ ≡
AN+1,… AN+K của R và BM+1,…,BM+P của S thì
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
( ) ))(())((S
PM2M1MM321KN2N1NN321 ...BBB,...BB,B,BC...AAA,,...AA,A,AC SRRL ∏∏∏ ++++++
≡
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
2 NGANH (MANGANH TENNGANH)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
2. NGANH (MANGANH, TENNGANH)
πMASV,HOTEN,TENNGANH (SINHVIEN NGANH)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
= (πMASV,HOTEN,MANGANH (SINHVIEN))
SINHVIEN.MANGANH = NGANH.MANGANH
SINHVIEN MANGANH NGANH MANGANH
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4545))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4545))
(πTENNGANH,MANGANH ((NGANH))
SINHVIEN.MANGANH = NGANH.MANGANH
46. UU
DLDL Các qui tắc biến đổi tương đương
7 Q i tắ 7
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
7. Qui tắc 7:
Giả sử L = {A1,…,AN,B1,…,BM}, trong đó A1,…,AN là
thuộc tính của R; B1 BM là thuộc tính của S
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
( ) ))((x))((Sx M321N321 ,...BB,B,B,...AA,A,A SRRL ∏∏≡∏
thuộc tính của R; B1,…,BM là thuộc tính của S
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
2 NGANH (MANGANH TENNGANH)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
2. NGANH (MANGANH, TENNGANH)
πMASV,HOTEN,MANGANH,TENNGANH (SINHVIEN X NGANH)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
= (πMASV,HOTEN,MANGANH (SINHVIEN)) X
SINHVIEN.MANGANH = NGANH.MANGANH
SINHVIEN MANGANH NGANH MANGANH
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4646))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4646))4646
(πTENNGANH,MANGANH ((NGANH))
SINHVIEN.MANGANH = NGANH.MANGANH
47. UU
DLDL Các qui tắc biến đổi tương đương
8 Q i tắ 8 T
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
8. Qui tắc 8: Tính giao hoán của phép hội, giao
RSSRRSSR ∩≡∩∪≡∪
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
RSSRRSSR ∩≡∩∪≡∪ ,
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4747))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4747))4747
48. UU
DLDL Các qui tắc biến đổi tương đương
9 Q i tắ 9 T ế
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
9. Qui tắc 9: Tính kết hợp
T)(SRT)SR( θθθθ =
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Trong đó là 1 trong các phép toán , X, ∩, ∪θ
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4848))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4848))4848
49. UU
DLDL Các qui tắc biến đổi tương đương
10 Qui tắc 10: Tính phân phối của phép chọn σ đối với các phép toán
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
10.Qui tắc 10: Tính phân phối của phép chọn σ đối với các phép toán
Giao (∩), Hội (∪), Trừ (-)
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
(S))((R))()SR( cc σθσθσ =c
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4949))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (4949))4949
50. UU
DLDL Các qui tắc biến đổi tương đương
11 Qui tắc 11: Tí h hâ hối ủ hé hiế π đối ới á hé t á
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
11.Qui tắc 11: Tính phân phối của phép chiếu π đối với các phép toán
Giao (∩), Hội (∪), Trừ (-)
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
(S))((R))()SR( LL ∏∏=∏ θθL
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5050))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5050))5050
51. UU
DLDL Các qui tắc biến đổi tương đương
12 Q i tắ 12 ế ổ
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
12.Qui tắc 12: các biến đổi khác
Chuyển các phép (σ, ×) thành phép
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Chuyển các phép (σ, ) thành phép
SR)SxR( c=cσ
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Hoặc
cc
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
c ≡ NOT (c1 AND c2) ≡ NOT (c1) OR NOT (c2)
c ≡ NOT (c1 OR c2) ≡ NOT (c1) AND NOT (c2)
Hoặc
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5151))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5151))5151
52. Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
TỐI ƯU HÓATỐI ƯU HÓA
TRUY VẤNTRUY VẤNTRUY VẤNTRUY VẤN
• Giới thiệu về tối ưu hóa truy vấn
• Các qui tắc biến đổi tương đương
• Giải thuật Heuristic cho tối ưu hóa truy vấn
53. UU
DLDL Giải thuật heuristic cho tối ưu hóa biểu thức ĐSQH
1 Dù i ắ 1 á h á hé h liê kiệ hà h 1 dã
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
1. Dùng qui tắc 1, tách các phép chọn liên kiện thành 1 dãy
các phép chọn.
2. Dùng qui tắc 2,4,6 và 10, liên quan đến tính giao hoán của
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
g q q g
phép chọn và các phép khác để di chuyển phép chọn
xuống nhánh của cây.
3 Dùng qui tắc 5 và 9 liên quan đến tính kết hợp của các
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
3. Dùng qui tắc 5 và 9, liên quan đến tính kết hợp của các
phép 2 ngôi để sắp xếp lại các nút lá của cây để các phép
chọn được ưu tiên thực hiện trước.
4 Dù i tắ 12 tổ h á tí h D t ới hé h
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
4. Dùng qui tắc 12, tổ hợp các tích Descartes với phép chọn
thành các phép kết.
5. Sử dụng các qui tắc 3, 4, 7 và 11 để tách và đẩy các phép
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
chiếu xuống các nhánh.
6. Nhận biết từng nhánh con biểu diễn cho một nhóm các
thao tác có thể được thi hành bằng một chiến lược thực
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5353))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5353))
thao tác có thể được thi hành bằng một chiến lược thực
hiện đơn.
54. UU
DLDL
Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h) i h iê
Giải thuật heuristic cho tối ưu hóa biểu thức ĐSQH
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
1. Cách 1:
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
SELECT MASV, HOTEN, NGAYSINH
FROM SINHVIEN SV NGANH N
Ngôn ngữ SQL
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
FROM SINHVIEN SV, NGANH N
WHERE SV.MANGANH = N.MANGANH AND PHAI = ‘NAM’ AND
TENNGANH = ‘Sư phạm Tin học’
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Ngôn ngữ ĐSQH
∏ σ
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
∏MASV, HOTEN, NGAYSINH( σTENNGANH = ‘Sư phạm Tin học’’
∧ PHAI = ‘NAM’ ∧ SINHVIEN.MANGANH = NGANH.MANGANH
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5454))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5454))5454
(SINHVIEN x NGANH))
55. UU
DLDL Giải thuật heuristic cho tối ưu hóa biểu thức ĐSQHSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
∏MASV, HOTEN, NGAYSINH( σTENNGANH = ‘Sư phạm Tin học’’
∧ PHAI ‘NAM’ ∧ SINHVIEN MANGANH NGANH MANGANH
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
∧ PHAI = ‘NAM’ ∧ SINHVIEN.MANGANH = NGANH.MANGANH
(SINHVIEN x NGANH))
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
MASV, HOTEN, NGAYSINH
TENNGANH = ‘Sư phạm Tin học’
Phép chọn
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
PHAI = ‘NAM’
SINHVIEN.MANGANH = NGANH.MANGANH
X
Phép chiếu
Quan hệ
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
NGANHSINHVIEN
Quan hệ
Phép tíchx
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5555))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5555))5555
Cây biểu diễn biểu thức truy vấnPhép kết
56. UU
DLDL Giải thuật heuristic cho tối ưu hóa biểu thức ĐSQH
MASV HOTEN NGAYSINH
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
MASV, HOTEN, NGAYSINH
TENNGANH = ‘Sư phạm Tin học’
MASV HOTEN NGAYSINH
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
PHAI = ‘NAM’
SINHVIEN.MANGANH
= NGANH.MANGANH
X
MASV, HOTEN, NGAYSINH
TENNGANH = ‘Sư phạm Tin học’
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGANHSINHVIEN
PHAI = ‘NAM’
SINHVIEN.MANGANH = NGANH.MANGANH
X
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Cây biểu diễn biểu thức truy vấn
X
TENNGANH = ‘Sư phạm Tin học’PHAI = ‘NAM’
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
NGANHSINHVIEN
TENNGANH Sư phạm Tin học
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5656))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5656))5656
Đưa phép chọn xuống sâu các nhánh
57. UU
DLDL Giải thuật heuristic cho tối ưu hóa biểu thức ĐSQH
MASV HOTEN NGAYSINH
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
MASV, HOTEN, NGAYSINH
SINHVIEN.MANGANH
Thay thế các phép tích Descartes
và phép chọn
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
= NGANH.MANGANH
X
và phép chọn
bằng phép kết
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
X
TENNGANH
= ‘Sư phạm Tin học’PHAI = ‘NAM’
MASV, HOTEN, NGAYSINH
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
NGANHSINHVIEN
= Sư phạm Tin học
SINHVIEN.MANGANH
= NGANH.MANGANH
TENNGANH
PHAI = ‘NAM’
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
NGANHSINHVIEN
= ‘Sư phạm Tin học’PHAI = NAM
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5757))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5757))5757
58. UU
DLDL Giải thuật heuristic cho tối ưu hóa biểu thức ĐSQH
Di chuyển các phép chiếu xuống các nhánh
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
MASV, HOTEN, NGAYSINH
SINHVIEN MANGANH
Di chuyển các phép chiếu xuống các nhánh
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
SINHVIEN.MANGANH
= NGANH.MANGANH
TENNGANH
= ‘Sư phạm Tin học’PHAI = ‘NAM’
MASV, HOTEN, NGAYSINH
SINHVIEN.MANGANH
= NGANH.MANGANH
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGANHSINHVIEN
= Sư phạm Tin học
MASV, HOTEN,
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
TENNGANH
PHAI = ‘NAM’
, ,
NGAYSINH MANGANH
MANGANH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
NGANHSINHVIEN
= ‘Sư phạm Tin học’PHAI = NAM
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5858))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5858))5858
59. UU
DLDL Giải thuật heuristic cho tối ưu hóa biểu thức ĐSQH
MASV, HOTEN, NGAYSINH
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
SINHVIEN.MANGANH
= NGANH.MANGANH
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Chuyển cây truy vấn
sang biểu thức ĐSQH
MASV, HOTEN,
NGAYSINH MANGANH
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
TENNGANH
= ‘Sư phạm Tin học’PHAI = ‘NAM’
MANGANH
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
NGANHSINHVIEN
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
∏MASV, HOTEN, NGAYSINH((πMASV,HOTEN,NGAYSINH,MANGANH( σPHAI
(SINHVIEN))) (π (σ (NGANH))))
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5959))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (5959))
= ‘NAM’(SINHVIEN))) (πMANGANH(σNGANH = ‘Sư phạm Tin học’ (NGANH))))
SINHVIEN.MANGANH = NGANH.MANGANH
60. UU
DLDL
Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h) i h iê
Giải thuật heuristic cho tối ưu hóa biểu thức ĐSQH
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh) sinh viên
Nam thuộc ngành “Sư phạm Tin học”
Ngôn ngữ ĐSQH
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
g g
∏MASV, HOTEN, NGAYSINH((πMASV,HOTEN,NGAYSINH,MANGANH( σPHAI
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
= ‘NAM’(SINHVIEN))) (πMANGANH(σNGANH = ‘Sư phạm Tin học’ (NGANH))))
SINHVIEN.MANGANH = NGANH.MANGANH
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Ngôn ngữ SQL
SELECT MASV, HOTEN, NGAYSINH
FROM
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
FROM
(SELECT MASV,HOTEN, NGAYSINH, MANGANH FROM SINHVIEN
WHERE PHAI = ‘NAM’) AS SV JOIN
(SELECT MANGANH
FROM NGANH
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (6060))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (6060))6060
WHERE TENNGANH = ‘Sư phạm Tin học’) AS N
ON SV.MANGANH = N.MANGANH
62. UU
DLDL Giải thuật heuristic cho tối ưu hóa biểu thức ĐSQH
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
SELECT NV TENNV
Ví dụ
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
SELECT NV.TENNV
FROM NHANVIEN NV, THUCHIEN TH, DUAN DA
WHERE (DA.TEN = ”A”) AND (DA.MADA = TH.MADA) AND
(NV.MANV = TH.MANV) AND (NS > “12/31/1978”)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Ngôn ngữ ĐSQH
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
∏ NV.TENNV ( (σDA.TTEN = ‘A’ AND DA.MADA = TH.MADA AND
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
NV.MANV = TH.MANV AND NS > ’12/31/1978’
(NHANVIEN X THUCHIEN X DUAN))
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (6262))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (6262))6262
63. UU
DLDL Giải thuật heuristic cho tối ưu hóa biểu thức ĐSQHSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
TENNV
∏ NV.TENNV ( (σDA.TTEN = ‘A’ AND
DA.MADA = TH.MADA AND NV.MANV = TH.MANV
AND NS > ’12/31/1978’
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
DA.TEN=”A” AND
DA.MADA=TH.MADA AND
NV.MANV=TH.MANV AND
AND NS > 12/31/1978
(NHANVIEN X THUCHIEN X DUAN))
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NS>”12/31/1978”
X
Phép chọn
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
DUAN
X
Phép chiếu
Quan hệ
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
THUCHIEN
NHANVIEN
Quan hệ
Phép tíchx
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (6363))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (6363))
Cây biểu diễn biểu thức truy vấnPhép kết
64. UU
DLDL Giải thuật heuristic cho tối ưu hóa biểu thức ĐSQH
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
TENNV
DA MADA=
TENNV
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
X
DA.MADA=
TH.MADA
DA.TEN=”A” AND
DA.MADA=TH.MADA AND
NV.MANV=TH.MANV AND
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
DA.TEN=”A”NV.MANV=
TH.MANV
NS>”12/31/1978”
X
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
DUANX
DUAN
X
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
THUCHIEN
NHANVIEN
NS > ”12/31/1978”
THUCHIEN
NHANVIEN
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (6464))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (6464))
Đưa phép chọn xuống sâu các nhánh
65. UU
DLDL Giải thuật heuristic cho tối ưu hóa biểu thức ĐSQH
TENNV
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
TENNV
NV.MANV=
TH MANV
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
X
TH.MANV
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NS > ”12/31/1978”
DA.MADA=
TH.MADA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
X NHANVIEN
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
THUCHIEN
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (6565))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (6565))
DUAN
Áp dụng các phép chọn chặt chẽ trước
66. UU
DLDL Giải thuật heuristic cho tối ưu hóa biểu thức ĐSQH
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
TENNV
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
NV.MANV=
TH.MANV
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
DA.MADA=
TH.MADA NS > ”12/31/1978”
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
THUCHIEN NHANVIEN
DA.TEN=”A”
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
DUAN Th thế á hé tí h D t à hé h
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (6666))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (6666))
DUAN Thay thế các phép tích Descartes và phép chọn
bằng phép kết
67. UU
DLDL Giải thuật heuristic cho tối ưu hóa biểu thức ĐSQH
TENNV
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
TENNV
NV.MANV=
TH.MANV
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
MANV MANV, TEN
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
DA.MADA=
TH.MADA
NS > ”12/31/1978”
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
NHANVIEN
MANV,
MADA
MADA
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
THUCHIENDA.TEN=”A”
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (6767))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (6767))6767
DUAN
Di chuyển các phép chiếu xuống các nhánh
68. UU
DLDL Giải thuật heuristic cho tối ưu hóa biểu thức ĐSQH
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Ngôn ngữ ĐSQH
∏ ((
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
∏ NV.TENNV ((∏ MANV, TENNV(σNS > ’12/31/1978’ (NHANVIEN)))
NHANVIEN MANV = THUCHIEN MANV
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
(∏ MANV(∏MADA (σTENDA=‘A’(DUAN))) (∏MADA,MANV(THUCHIEN)) ))
DUAN.MADA = THUCHIEN.MADA
NHANVIEN,MANV = THUCHIEN.MANV
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (6868))TRẦN NGỌC BẢOTRẦN NGỌC BẢO KHOA TOÁNKHOA TOÁN --TIN HỌCTIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (ĐẠI HỌC SƯ PHẠM TP.HCM (6868))6868