SlideShare a Scribd company logo
1 of 52
Download to read offline
Đạ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
• Đại số quan hệ
• Ngôn ngữ SQL• Ngôn ngữ SQL
UU
DLDL Mẫu biểu trong các ứng dụng
SỞ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 (22))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 (22))
Làm thế nào để lấy dữ liệu hiển thị trên báo biểu ?
UU
DLDL Truy vấn dữ liệu
SỞ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 (33))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 (33)) 33
Làm thế nào để lấy dữ liệu hiển thị trên báo biểu ?
Tương tác dữ liệu: thêm, xóa,...
Lấy dữ liệuLấy dữ liệu
???
Thêm dữ liệu
(INSERT)
Xóa dữ liệu
Tran Ngoc BaoTran Ngoc Bao DaiDai hoc Su Pham TP.HCMhoc Su Pham TP.HCMTRẦ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))
Xóa dữ liệu
(DELETE)
Sửa dữ liệu (UPDATE)
UU
DLDL Tương tác dữ liệu: thêm, xóa,...SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Thêm dữ liệu (INSERT)
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Cập nhật dữ liệu (UPDATE)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Xóa dữ liệu (DELETE)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Lấy dữ liệu (TRUY VẤN DỮ LiỆU - SELECT)
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))
UU
DLDL Truy vấn dữ liệu
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Là ngôn ngữ rút trích dữ liệu thỏa một số
điều kiện nào đó
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
ệ
• Dựa trên
• Lệnh cơ bản để rút trích thông tin từ
Phép toán ĐSQH Một số bổ sung+
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Lệnh cơ bản để rút trích thông tin từ
CSDL: SELECT
• Lệnh SELECT không hoàn toàn giống
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
• Lệnh SELECT không hoàn toàn giống
phép chọn trong ĐSQH:
– Cho phép 1 bảng có nhiều dòng trùng nhau
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
– Cho phép 1 bảng có nhiều dòng trùng nhau
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
Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
ĐạĐại si sốố quan hquan hệệ
(Relational(Relational AlgebraAlgebra))
• 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 phép toán khác
UU
DLDL
ầ ấ
Các phép toán trên quan hệSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành
“SP101”
Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa
ãã điề kiệ MANGANH ‘SP101’điề kiệ MANGANH ‘SP101’
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
mãnmãn điều kiện MANGANH = ‘SP101’điều kiện MANGANH = ‘SP101’
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
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
9 03 00 a a u u 0/ / 9 9 S 03
K29.201.001 Ly Thanh Nam 3/8/1979 SP201
K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201
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.104.001 Ho Anh Thu Nu 1/4/1979 SP104
UU
DLDL
ầ ấ
Các phép toán trên quan hệSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành
“SP101”
Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa
ãã điề kiệ MANGANH ‘SP101’điề kiệ MANGANH ‘SP101’
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
mãnmãn điều kiện MANGANH = ‘SP101’điều kiện MANGANH = ‘SP101’
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
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
9 03 00 a a u u 0/ / 9 9 S 03
K29.201.001 Ly Thanh Nam 3/8/1979 SP201
K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201
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
K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104
UU
DLDL
ầ ấ
Các phép toán trên quan hệSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành
“SP101”
Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa
mãnmãn điều kiện MANGANH = ‘SP101’điều kiện MANGANH = ‘SP101’
Kết quả
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
MASV HOTEN PHAI NGAYSINH MANGANH
K29 101 001 Nguyen Cong Phu Nam 10/10/1979 SP101
Kết quả
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Thực hiện PHÉP CHỌN trên quan hệ 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 (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
ự ệ Ọ q ệ
UU
DLDL Phép chọn
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Đượ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ệ
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
• Ký hiệu
σP (R)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
• P là biểu thức gồm các mệnh đề có dạng
– <tên thuộc tính> <phép so sánh> <hằng số>
tê th ộ tí h hé á h tê th ộ
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
– <tên thuộc tính> <phép so sánh> <tên thuộc
tính>
• <phép so sánh> gồm có: < , > , ≤ , ≥ , ≠ , =
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
<phép so sá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)
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
UU
DLDL Phép chọn (tt)
ế ả ủ é à ộ
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Kết quả của phép chọn là một quan
hệ
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
– 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
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
R
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 (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
UU
DLDL
ầ ấ
Phép chọnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành
“SP101”
Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa
mãnmãn điều kiện MANGANH = ‘SP101’điều kiện MANGANH = ‘SP101’
Kết quả
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
MASV HOTEN PHAI NGAYSINH MANGANH
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101
q
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101
Thực hiện PHÉP CHỌN trên quan hệ SINHVIEN
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
σ (SINHVIEN)
Thực hiện PHÉP CHỌN trên quan hệ SINHVIEN
với điều kiện chọn MANGANH = ‘SP101’
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
σMANGANH = ‘SP101’ (SINHVIEN)
UU
DLDL Phép chọn (tt)
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Phép chọn có tính giao hoán
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
σp1 (σ p2 (R)) = σ p2 (σ p1 (R))
Ví dụ:
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Ví dụ:
Yêu cầu truy vấn: Liệt kê danh sách sinh viên Nam thuộc ngành
“SP101”
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
σPHAI = ‘NAM’ ∧ MANGANH = ‘SP101’ (SINHVIEN)
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
σPHAI = ‘NAM’ (σMANGANH = ‘SP101’ (SINHVIEN))
σ (σ (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 (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
σNGANH = ‘SP101’ (σPHAI = ‘NAM’ (SINHVIEN))
UU
DLDL
Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV HOTEN
Các phép toán trên quan hệSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN,
NGAYSINH)
Thực hiện CHỌN các CỘTThực hiện CHỌN các CỘT (MASV, HOTEN, NGAYSINH)(MASV, HOTEN, NGAYSINH) trongtrong
hệhệ Si hViSi hVi
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
quan hệquan hệ SinhVienSinhVien
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
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
9 03 00 a a u u 0/ / 9 9 S 03
K29.201.001 Ly Thanh Nam 3/8/1979 SP201
K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201
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
K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104
UU
DLDL
Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV HOTEN
Các phép toán trên quan hệSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN,
NGAYSINH)
Thực hiện CHỌN các CỘTThực hiện CHỌN các CỘT (MASV, HOTEN, NGAYSINH)(MASV, HOTEN, NGAYSINH) trongtrong
hệhệ Si hViSi hVi
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
quan hệquan hệ SinhVienSinhVien
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
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
9 03 00 a a u u 0/ / 9 9 S 03
K29.201.001 Ly Thanh Nam 3/8/1979 SP201
K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201
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
K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104
UU
DLDL
Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV HOTEN
Các phép toán trên quan hệSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN,
NGAYSINH)
MASV HOTEN NGAYSINHKết quả
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
MASV HOTEN NGAYSINH
K29.101.001 Nguyen Cong Phu 10/10/1979
K29.101.002 Phan Anh Khanh 1/10/1979
Kết quả
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
K29.103.001 Han Quoc Viet 3/2/1979
K29.103.002 Pham Khanh Nhu 10/12/1979
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.201.001 Ly Thanh 3/8/1979
K29.201.002 Tran Ngoc Dung 4/5/1979
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
K29.104.001 Ho Anh Thu 1/4/1979
Thực hiện PHÉP CHIẾU trên tập thuộc tính
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
ự ệ ập ộ
MASV, HOTEN, NGAYSINH quan hệ SINHVIEN
UU
DLDL Phép chiếu
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Được dùng để lấy ra một vài cột của quan
hệ R
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
• Ký hiệu
• Kết quả phép chiếu cũng là một quan hệ
πA1, A2, …, Ak(R)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
– 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
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
• Ví dụ A B
α
R
α
10
20
C
1
1
π ( )
A
α
R’
α
C
1
1
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
β 30 1
β 40 2
πA,C (R) β 1
β 2
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
UU
DLDL
Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV HOTEN
Phép chiếuSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN,
NGAYSINH)
MASV HOTEN NGAYSINH
Kết quả
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
K29.101.001 Nguyen Cong Phu 10/10/1979
K29.101.002 Phan Anh Khanh 1/10/1979
K29 103 001 Han Quoc Viet 3/2/1979
q
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
K29.103.001 Han Quoc Viet 3/2/1979
K29.103.002 Pham Khanh Nhu 10/12/1979
K29.201.001 Ly Thanh 3/8/1979
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
y / /
K29.201.002 Tran Ngoc Dung 4/5/1979
K29.104.001 Ho Anh Thu 1/4/1979
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Thực hiện PHÉP CHIẾU trên tập thuộc tính MASV, HOTEN,
NGAYSINH quan hệ 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 (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
πMASV, HOTEN, NGAYSINH (SINHVIEN)
UU
DLDL Phép chiếu (tt)
é ế ô ó í á
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Phép chiếu không có tính giao hoán
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
πX,Y (R) = πX (πY (R))
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
πA1 A2 An(πA1 A2 Am(R)) ≠ πA1 A2 Am(πA1 A2 An(R))
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
A1, A2, …, An( A1, A2, …, Am( )) A1, A2, …, Am( A1, A2, …, An( ))
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
UU
DLDL Phép chiếu mở rộng
ằ
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• 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
t d h á h th ộ tí h
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
trong danh sách thuộc tính
• Ký hiệu πF1 F2 Fn (E)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
ý ệ F1, F2, …, Fn ( )
– E là biểu thức ĐSQH
– F1, F2, …, Fn là các biểu thức số học liên
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
1, 2, , n ọ
quan đến:
• Hằng số
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
• Thuộc tính trong E
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
UU
DLDL
ầ ấ
Các phép toán trên quan hệ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,
TENNGANH) sinh viên
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
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
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
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
Thuộc tínhThuộc tính MAVS, HOTEN, NGAYSINHMAVS, HOTEN, NGAYSINH thuộc quan hệthuộc quan hệ
SINHVIENSINHVIEN
Thuộc tínhThuộc tính TENNGANHTENNGANH thuộc quan hệthuộc quan 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 (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
Thuộc tínhThuộc tính TENNGANHTENNGANH thuộc quan hệthuộc quan hệ NGANHNGANH
UU
DLDL
ầ ấ
Các phép toán trên quan hệ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,
TENNGANH) sinh viên
MaSV HoTen NgaySinh TENNGANH
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
MASV HOTEN PHAI NGAYSINH MANGANH
K29 101 001 Nguyen Cong Phu Nam 10/10/1979 SP101
MANGANH TENNGANH SOCD TSSV
SP103 Sư Phạm Tin học 8 800
MaSV, HoTen, NgaySinh TENNGANH
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
LLàm thế nào đểàm thế nào để liên kếtliên kết 2 quan hệ2 quan hệ SINHVIEN và NGANHSINHVIEN và 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 (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
LLàm thế nào đểàm thế nào để liên kếtliên kết 2 quan hệ2 quan hệ SINHVIEN và NGANHSINHVIEN và NGANH ??
UU
DLDL
ầ ấ
Các phép toán trên quan hệ - phép tíchSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
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
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 (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
…..
UU
DLDL
ầ ấ
Các phép toán trên quan hệSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
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
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
g g
Kết quả truy vấn: 7 dòng (chọn những dòng có MANGANH =
MANGANH)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
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
K29 101 001 Nguyen Cong Phu Nam 10/10/1979 SP101 SP101 Sư Phạm Toán 5 1000
MANGANH)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
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
K29 101 001 N C Ph N 10/10/1979 SP101 CNTT Kh h á 8 160
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 CNTT Khoa học máy
tính
8 160
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 (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
…..
UU
DLDL Phép tích
ù ể ổ ộ ó ê ừ
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Được dùng để tổ hợp 2 bộ có liên quan từ 2 quan
hệ thành 1 bộ
• Ký hiệu R x S
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Ký hiệu R x S
– R(A1, A2, …, An) và S(B1, B2, …, Bm)
• Kết quả của phép tích là một quan hệ Q
Có n + m thuộc tính Q(A A A B B B )
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
– Có n + m thuộc tính Q(A1, A2, …, An, B1, B2, …, Bm)
– Nếu gọi K1 là số bộ của quan hệ R và K2 là số bộ của quan
hệ S thì số bộ của Q sẽ là K1 x K2
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 (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))
UU
DLDL
Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h
Phép tíchSỞ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,
TENNGANH) sinh viên
É Í
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
B1: Thực hiện PHÉP TÍCH giữa quan hệ SINHVIEN với
quan hệ NGANH
B2: Chọn những dòng có thuộc tính MANGANH chuộc
hệ SINHVIEN bằ MANGANH th ộ hệ
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
quan hệ SINHVIEN bằng MANGANH thuộc quan hệ
NGANH
Ngôn ngữ ĐSQL
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
∏MASV, HOTEN, NGAYSINH, TENNGANH(σ(SINHVIEN.MANGANH =
Ngôn ngữ ĐSQL
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
MASV, HOTEN, NGAYSINH, TENNGANH(σ(
NGANH.MANGANH(SINHVIEN X 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 (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
UU
DLDL
Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h
Các phép toán trên quan hệ - Phép kếtSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
2. Cách 2: SinhVien Nganh 7 x 1 = 7 dòng
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh,
TENNGANH) sinh viên
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
Thực hiện PHÉP KẾT thuộc tính MANGANH của quan 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 (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
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
UU
DLDL Phép kết
ù ể ổ ộ ó ê ừ
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Đượ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
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
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(A A A B B B )
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
– 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
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
• 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: ≠, =, <, >, ≤, ≥
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
p p , , , , ,
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
UU
DLDL
Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h
Các phép toán trên quan hệ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,
TENNGANH) sinh viên
É Ế
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
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
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
∏MASV, HOTEN, NGAYSINH, TENNGANH (SINHVIEN NGANH)
SINHVIEN.MANGANH = NGANH.MANGANH
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 (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
UU
DLDL Phép kết (tt)
â
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Phân loại
–– Kết thetaKết theta (Theta join) là phép kết có điều kiện
• Ký hiệu R S
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
• Ký hiệu R C S
• C gọi là điều kiện kết trên thuộc tính
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
–– Kết bằngKết bằng (Equi join) khi C là điều kiện so sánh bằng
Kết tự nhiênKết tự nhiên (Natural join)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
–– Kết tự nhiênKết tự nhiên (Natural join)
• Ký hiệu R S hay R ∗ S
• R+ ∩ S+ ≠ ∅
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
• Kết quả của phép kết bằng bỏ bớt đi 1 cột giống nhau
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
Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
ĐạĐại si sốố quan hquan hệệ
(R l ti l(R l ti l Al bAl b ))(Relational(Relational AlgebraAlgebra))
• Giới thiệu về Đại số quan hệGiới thiệu về Đại số quan hệ
• Các phép toán quan hệ
• BÀI TẬP
• Các thao tác cập nhật trên quan hệ
UU
DLDL Kết hợp các phép toán
Liệt kê danh sách ch ên đề (MACD TENCD SOSVTD) cần phải
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
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ế
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Chiếu
MACD, TENCD, SOSVTD (thuộc quan hệ CHUYENDE)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
Chọn
TENNGANH = ‘CÔNG NGHỆ PHẦN MỀM’
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Kết
NGANH CD NGANH CHUYENDE
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
NGANH, CD_NGANH, CHUYENDE
MACD = MACDMANGANH = MANGANH
CD_NGANH CHUYENDENGANH
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))
UU
DLDL Kết hợp các phép toán
Liệt kê danh sách ch ên đề (MACD TENCD SOSVTD) cần phải
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
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”)
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 (3434))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 (3434))3434
Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
NgNgôôn ngn ngữữ SQLSQL
((Structured Query LanguageStructured Query Language))((Structured Query LanguageStructured Query Language))
• Giới thiệu về SQL
Truy vấn dữ liệu với câu lệnh SELECT• Truy vấn dữ liệu với câu lệnh SELECT
UU
DLDL CÚ PHÁP CÂU LỆNH SELECT
SELECT D h á h á ột đ h
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
SELECT <Danh sách các cột được chọn>
FROM < Danh sách các bảng>
WHERE <Điều kiện chọn>
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
WHERE <Điều kiện chọn>
GROUP BY <Danh sách cột cần nhóm>
HAVING < Điều kiện nhóm>
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
HAVING Điều kiện nhóm
ORDER BY < Danh sách cột cần sắp xếp>
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 (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
UU
DLDL Truy vấn cơ bản
Gồ 3 ệ h đề
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
• Gồm 3 mệnh đề
SELECT <danh sách các cột>
FROM <danh sách các bảng>
Tương ứng phép chiếu
T ứ hé tí h
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
<danh sách các cột>
FROM <danh sách các bảng>
WHERE <điều kiện> Tương ứng phép chọn
Tương ứng phép tích
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
– <danh sách các cột>
• Tên các cột cần được hiển thị trong kết quả truy vấn
– <danh sách các bảng>
Tê á bả liê đế â t ấ
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
• Tên các bảng liên quan đến câu truy vấn
– <điều kiện>
• Biểu thức boolean xác định dòng nào sẽ được rút trích
ể
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
• Nối các biểu thức: AND, OR, và NOT
• Phép toán: < , > , ≤ , ≥ , ≠ , =, LIKE và BETWEEN
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))
UU
DLDL Truy vấn cơ bản (tt)SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
•• SQL và ĐSQHSQL và ĐSQH
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
SELECT <danh sách các cột>
FROM <danh sách các bảng>
π
×
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
FROM <danh sách các bảng>
WHERE <điều kiện>σ
×
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
SELECTSELECT LL
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
FROMFROM RR
WHEREWHERE CC
πL (σC (R))
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
UU
DLDL
ầ ấ
Phép chọnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành
“SP101”
Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa
ãã điề kiệ MANGANH ‘SP101’điề kiệ MANGANH ‘SP101’
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
mãnmãn điều kiện MANGANH = ‘SP101’điều kiện MANGANH = ‘SP101’
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
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
9 03 00 a a u u 0/ / 9 9 S 03
K29.201.001 Ly Thanh Nam 3/8/1979 SP201
K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201
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))3939
K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104
UU
DLDL
ầ ấ
Phép chọnSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành
“SP101”
Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa
mãnmãn điều kiện MANGANH = ‘SPđiều kiện MANGANH = ‘SP101101’’
Ngôn ngữ ĐSQL
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
σMANGANH = ‘SP101’ (SINHVIEN)
g g
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Ngôn ngữ SQL
Lấy tất cả các cột của quan
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
SELECT *
FROM SINHVIEN
Lấy tất cả các cột của quan
hệ kết quả
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))4040
WHERE MANGANH = ‘SP101’
UU
DLDL
Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV HOTEN
Phép chiếu
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN,
NGAYSINH)
Thực hiện CHỌN các CỘTThực hiện CHỌN các CỘT (MASV, HOTEN, NGAYSINH)(MASV, HOTEN, NGAYSINH) trongtrong
hệhệ Si hViSi hVi
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH)
quan hệquan hệ SinhVienSinhVien
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
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101
K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103
K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
9 03 00 a a u u 0/ / 9 9 S 03
K29.201.001 Ly Thanh Nam 3/8/1979 SP201
K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201
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))4141
K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104
UU
DLDL Phép chiếu
Yê ầ t ấ Liệt kê d h á h i h iê (MASV HOTEN
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN,
NGAYSINH)
Thực hiệnThực hiện PHÉP CHIẾUPHÉP CHIẾU các CỘTcác CỘT (MASV, HOTEN, NGAYSINH)(MASV, HOTEN, NGAYSINH)
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
Ngôn ngữ ĐSQL
trong quan hệtrong quan hệ SinhVienSinhVien
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
g g
πMASV, HOTEN, NGAYSINH (SINHVIEN)
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Ngôn ngữ SQL
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
SELECT MASV, HOTEN, NGAYSINH
FROM 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 (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
UU
DLDL
ầ ấ
Phép tíchSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
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
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 (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
…..
UU
DLDL
ầ ấ
Các phép toán trên quan hệSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
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
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
g g
Kết quả truy vấn: 7 dòng (những dòng có MANGANH = MANGANH)
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
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
K29 101 001 Nguyen Cong Phu Nam 10/10/1979 SP101 SP101 Sư Phạm Toán 5 1000
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
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
K29 101 001 N C Ph N 10/10/1979 SP101 CNTT Kh h á 8 160
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 CNTT Khoa học máy
tính
8 160
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 (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
…..
UU
DLDL
Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h
Phép tíchSỞ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,
TENNGANH) sinh viên
Thực hiện PHÉP TÍCH của quan hệ SINHVIEN với quan hệ
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
NGANH kết hợp với PHÉP CHỌN
Ngôn ngữ ĐSQL
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
∏MASV, HOTEN, NGAYSINH, TENNGANH(σ(SINHVIEN.MANGANH =
NGANH MANGANH(SINHVIEN X NGANH)))
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
NGANH.MANGANH(SINHVIEN X NGANH)))
Ngôn ngữ SQL
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
SELECT MASV, HOTEN, NGAYSINH, TENNGANH
FROM 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 (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))
WHERE SINHVIEN.MANGANH = NGANH.MANGANH
UU
DLDL
Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h
Phép kếtSỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
2. Cách 2: SinhVien Nganh 7 x 1 = 7 dòng
Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh,
TENNGANH) sinh viên
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 Sinh 6 1000
SP105 Sư phạm Anh 2 1100
Thực hiện PHÉP KẾT thuộc tính MANGANH của quan 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 (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
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
UU
DLDL
Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h
Phép kếtSỞ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,
TENNGANH) sinh viên
É Ế
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
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
Ngôn ngữ ĐSQL
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
∏MASV, HOTEN, NGAYSINH, TENNGANH (SINHVIEN NGANH)
SINHVIEN.MANGANH = NGANH.MANGANH
Ngôn ngữ ĐSQL
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
Ngôn ngữ SQL
SELECT MASV, HOTEN, NGAYSINH, TENNGANH
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
SELECT MASV, HOTEN, NGAYSINH, TENNGANH
FROM SINHVIEN JOIN NGANH ON
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 (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
UU
DLDL Sử dụng bí danh (Alias – AS)
TRƯỜNG HỢP CÁC THUỘC TÍNH Ở CÁC QUAN HỆ KHÁC NHAU BỊ
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
TRƯỜNG HỢP CÁC THUỘC TÍNH Ở CÁC QUAN HỆ KHÁC NHAU BỊ
TRÙNG TÊN
SELECT MASV HOTEN NGAYSINH TENNGANH
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
SELECT MASV, HOTEN, NGAYSINH, TENNGANH
FROM SINHVIEN JOIN NGANH ON
SINHVIEN.MANGANH = NGANH.MANGANH
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
SỬ DỤNG TÊN BÍ DANH
S G G G
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
SELECT MASV, HOTEN, NGAYSINH, TENNGANH
FROM SINHVIEN AS SV JOIN NGANH AS N ON
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
FROM SINHVIEN AS SV JOIN NGANH AS N ON
SV.MANGANH = N.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 (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
UU
DLDL Kết hợp các phép toán
Liệt kê danh sách ch ên đề (MACD TENCD SOSVTD) cần phải
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
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”)
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
SELECT CD.MACD, TENCD, SOSVTD
FROM (NGANH AS N JOIN CD NGANH AS CDN ON
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
FROM (NGANH AS N JOIN CD_NGANH AS CDN ON
N.MANGANH = CDN.MANGANH ) JOIN CHUYENDE AS CD ON
CD.MACD = CDN.MACD
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
WHERE TENNGANH = ‘CÔNG NGHỆ PHẦN MỀM’
Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
NgNgôôn ngn ngữữ SQLSQL
((Structured Query LanguageStructured Query Language))((Structured Query LanguageStructured Query Language))
Bài tập truy vấn dữ liệu với câu lệnh SELECT đơn giản
(SELECT …FROM …WHERE)
UU
DLDL
QUI TRÌNH XỬ LÝ CÂU LỆNH SELECT ĐƠN GIẢN
SỞDỮLiỆSỞDỮLiỆUU
RÚCCSDRÚCCSD
CSDL
FROM
Tập kết quả 1
NTRỊCƠSNTRỊCƠS
CẤUTRCẤUTR
WHERE
Tập kết quả 2
HẦNQuẢNHẦNQuẢN
HNGHĨAHNGHĨA
ập q
NGNGHỌCPHHỌCPH
NHĐỊNHNHĐỊNH
SELECT
BÀIGIẢNBÀIGIẢN
CÂULỆCÂULỆ
KẾT QUẢ
CUỐI CÙ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 (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
UU
DLDL
SỞ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 (5252))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 (5252)) 52

More Related Content

Viewers also liked

Timhieuvediigo
TimhieuvediigoTimhieuvediigo
Timhieuvediigo
Van Vo
 
Ngon ngu lap trinh c# tieng viet - bach khoaaptech.com
Ngon ngu lap trinh c#   tieng viet - bach khoaaptech.comNgon ngu lap trinh c#   tieng viet - bach khoaaptech.com
Ngon ngu lap trinh c# tieng viet - bach khoaaptech.com
Nguyễn Thành
 
Chuong 4 - CSDL phân tán
Chuong 4 - CSDL phân tánChuong 4 - CSDL phân tán
Chuong 4 - CSDL phân tán
duysu
 
Chuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tánChuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tán
duysu
 
Chuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tánChuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tán
duysu
 
Chuong 3- CSDL phân tán
Chuong 3- CSDL phân tánChuong 3- CSDL phân tán
Chuong 3- CSDL phân tán
duysu
 

Viewers also liked (20)

Db 01
Db 01Db 01
Db 01
 
Db 02
Db 02Db 02
Db 02
 
TOEIC certificate
TOEIC certificateTOEIC certificate
TOEIC certificate
 
Timhieuvediigo
TimhieuvediigoTimhieuvediigo
Timhieuvediigo
 
Ngôn ngữ lập trình C#
Ngôn ngữ lập trình C#Ngôn ngữ lập trình C#
Ngôn ngữ lập trình C#
 
Db 10
Db 10Db 10
Db 10
 
Db 07
Db 07Db 07
Db 07
 
Db 08
Db 08Db 08
Db 08
 
Learning C# (Vietnamese)
Learning C# (Vietnamese)Learning C# (Vietnamese)
Learning C# (Vietnamese)
 
Linq-to-sql-tutorial
Linq-to-sql-tutorialLinq-to-sql-tutorial
Linq-to-sql-tutorial
 
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
 
Tối ưu-cau-lệnh-oracle-sql
Tối ưu-cau-lệnh-oracle-sqlTối ưu-cau-lệnh-oracle-sql
Tối ưu-cau-lệnh-oracle-sql
 
Ngon ngu lap trinh c# tieng viet - bach khoaaptech.com
Ngon ngu lap trinh c#   tieng viet - bach khoaaptech.comNgon ngu lap trinh c#   tieng viet - bach khoaaptech.com
Ngon ngu lap trinh c# tieng viet - bach khoaaptech.com
 
Chuong 5 toi_uu_hoa_van_tin
Chuong 5 toi_uu_hoa_van_tinChuong 5 toi_uu_hoa_van_tin
Chuong 5 toi_uu_hoa_van_tin
 
Chuong 4 - CSDL phân tán
Chuong 4 - CSDL phân tánChuong 4 - CSDL phân tán
Chuong 4 - CSDL phân tán
 
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vnLập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
 
Chuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tánChuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tán
 
Chuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tánChuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tán
 
Chuong 3- CSDL phân tán
Chuong 3- CSDL phân tánChuong 3- CSDL phân tán
Chuong 3- CSDL phân tán
 
Các thuật toán mã hóa
Các thuật toán mã hóaCác thuật toán mã hóa
Các thuật toán mã hóa
 

Db 04

  • 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 • Đại số quan hệ • Ngôn ngữ SQL• Ngôn ngữ SQL
  • 2. UU DLDL Mẫu biểu trong các ứng dụng SỞ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 (22))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 (22)) Làm thế nào để lấy dữ liệu hiển thị trên báo biểu ?
  • 3. UU DLDL Truy vấn dữ liệu SỞ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 (33))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 (33)) 33 Làm thế nào để lấy dữ liệu hiển thị trên báo biểu ?
  • 4. Tương tác dữ liệu: thêm, xóa,... Lấy dữ liệuLấy dữ liệu ??? Thêm dữ liệu (INSERT) Xóa dữ liệu Tran Ngoc BaoTran Ngoc Bao DaiDai hoc Su Pham TP.HCMhoc Su Pham TP.HCMTRẦ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)) Xóa dữ liệu (DELETE) Sửa dữ liệu (UPDATE)
  • 5. UU DLDL Tương tác dữ liệu: thêm, xóa,...SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Thêm dữ liệu (INSERT) NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR Cập nhật dữ liệu (UPDATE) HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA Xóa dữ liệu (DELETE) NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Lấy dữ liệu (TRUY VẤN DỮ LiỆU - SELECT) 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))
  • 6. UU DLDL Truy vấn dữ liệu SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Là ngôn ngữ rút trích dữ liệu thỏa một số điều kiện nào đó NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR ệ • Dựa trên • Lệnh cơ bản để rút trích thông tin từ Phép toán ĐSQH Một số bổ sung+ HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA Lệnh cơ bản để rút trích thông tin từ CSDL: SELECT • Lệnh SELECT không hoàn toàn giống NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH • Lệnh SELECT không hoàn toàn giống phép chọn trong ĐSQH: – Cho phép 1 bảng có nhiều dòng trùng nhau BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ – Cho phép 1 bảng có nhiều dòng trùng nhau 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. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học ĐạĐại si sốố quan hquan hệệ (Relational(Relational AlgebraAlgebra)) • 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 phép toán khác
  • 8. UU DLDL ầ ấ Các phép toán trên quan hệSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành “SP101” Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa ãã điề kiệ MANGANH ‘SP101’điề kiệ MANGANH ‘SP101’ NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH) mãnmãn điều kiện MANGANH = ‘SP101’điều kiện MANGANH = ‘SP101’ 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 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ 9 03 00 a a u u 0/ / 9 9 S 03 K29.201.001 Ly Thanh Nam 3/8/1979 SP201 K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201 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.104.001 Ho Anh Thu Nu 1/4/1979 SP104
  • 9. UU DLDL ầ ấ Các phép toán trên quan hệSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành “SP101” Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa ãã điề kiệ MANGANH ‘SP101’điề kiệ MANGANH ‘SP101’ NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH) mãnmãn điều kiện MANGANH = ‘SP101’điều kiện MANGANH = ‘SP101’ 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 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ 9 03 00 a a u u 0/ / 9 9 S 03 K29.201.001 Ly Thanh Nam 3/8/1979 SP201 K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201 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 K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104
  • 10. UU DLDL ầ ấ Các phép toán trên quan hệSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành “SP101” Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa mãnmãn điều kiện MANGANH = ‘SP101’điều kiện MANGANH = ‘SP101’ Kết quả HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA MASV HOTEN PHAI NGAYSINH MANGANH K29 101 001 Nguyen Cong Phu Nam 10/10/1979 SP101 Kết quả NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Thực hiện PHÉP CHỌN trên quan hệ 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 (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 ự ệ Ọ q ệ
  • 11. UU DLDL Phép chọn SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Đượ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ệ NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR • Ký hiệu σP (R) HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA • P là biểu thức gồm các mệnh đề có dạng – <tên thuộc tính> <phép so sánh> <hằng số> tê th ộ tí h hé á h tê th ộ NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH – <tên thuộc tính> <phép so sánh> <tên thuộc tính> • <phép so sánh> gồm có: < , > , ≤ , ≥ , ≠ , = BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ <phép so sá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) 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 Phép chọn (tt) ế ả ủ é à ộ SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Kết quả của phép chọn là một quan hệ NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR – 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 HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA R 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 (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 ầ ấ Phép chọnSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành “SP101” Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa mãnmãn điều kiện MANGANH = ‘SP101’điều kiện MANGANH = ‘SP101’ Kết quả HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA MASV HOTEN PHAI NGAYSINH MANGANH K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 q NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 Thực hiện PHÉP CHỌN trên quan hệ SINHVIEN BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ σ (SINHVIEN) Thực hiện PHÉP CHỌN trên quan hệ SINHVIEN với điều kiện chọn MANGANH = ‘SP101’ 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 σMANGANH = ‘SP101’ (SINHVIEN)
  • 14. UU DLDL Phép chọn (tt) SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Phép chọn có tính giao hoán NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR σp1 (σ p2 (R)) = σ p2 (σ p1 (R)) Ví dụ: HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA Ví dụ: Yêu cầu truy vấn: Liệt kê danh sách sinh viên Nam thuộc ngành “SP101” NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH σPHAI = ‘NAM’ ∧ MANGANH = ‘SP101’ (SINHVIEN) BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ σPHAI = ‘NAM’ (σMANGANH = ‘SP101’ (SINHVIEN)) σ (σ (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 (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 σNGANH = ‘SP101’ (σPHAI = ‘NAM’ (SINHVIEN))
  • 15. UU DLDL Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV HOTEN Các phép toán trên quan hệSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN, NGAYSINH) Thực hiện CHỌN các CỘTThực hiện CHỌN các CỘT (MASV, HOTEN, NGAYSINH)(MASV, HOTEN, NGAYSINH) trongtrong hệhệ Si hViSi hVi NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH) quan hệquan hệ SinhVienSinhVien 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 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ 9 03 00 a a u u 0/ / 9 9 S 03 K29.201.001 Ly Thanh Nam 3/8/1979 SP201 K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201 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 K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104
  • 16. UU DLDL Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV HOTEN Các phép toán trên quan hệSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN, NGAYSINH) Thực hiện CHỌN các CỘTThực hiện CHỌN các CỘT (MASV, HOTEN, NGAYSINH)(MASV, HOTEN, NGAYSINH) trongtrong hệhệ Si hViSi hVi NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH) quan hệquan hệ SinhVienSinhVien 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 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ 9 03 00 a a u u 0/ / 9 9 S 03 K29.201.001 Ly Thanh Nam 3/8/1979 SP201 K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201 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 K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104
  • 17. UU DLDL Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV HOTEN Các phép toán trên quan hệSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN, NGAYSINH) MASV HOTEN NGAYSINHKết quả NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR MASV HOTEN NGAYSINH K29.101.001 Nguyen Cong Phu 10/10/1979 K29.101.002 Phan Anh Khanh 1/10/1979 Kết quả HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA K29.103.001 Han Quoc Viet 3/2/1979 K29.103.002 Pham Khanh Nhu 10/12/1979 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH K29.201.001 Ly Thanh 3/8/1979 K29.201.002 Tran Ngoc Dung 4/5/1979 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ K29.104.001 Ho Anh Thu 1/4/1979 Thực hiện PHÉP CHIẾU trên tập thuộc tính 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 ự ệ ập ộ MASV, HOTEN, NGAYSINH quan hệ SINHVIEN
  • 18. UU DLDL Phép chiếu SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Được dùng để lấy ra một vài cột của quan hệ R NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR • Ký hiệu • Kết quả phép chiếu cũng là một quan hệ πA1, A2, …, Ak(R) HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA – 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 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH • Ví dụ A B α R α 10 20 C 1 1 π ( ) A α R’ α C 1 1 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ β 30 1 β 40 2 πA,C (R) β 1 β 2 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 Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV HOTEN Phép chiếuSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN, NGAYSINH) MASV HOTEN NGAYSINH Kết quả NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR K29.101.001 Nguyen Cong Phu 10/10/1979 K29.101.002 Phan Anh Khanh 1/10/1979 K29 103 001 Han Quoc Viet 3/2/1979 q HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA K29.103.001 Han Quoc Viet 3/2/1979 K29.103.002 Pham Khanh Nhu 10/12/1979 K29.201.001 Ly Thanh 3/8/1979 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH y / / K29.201.002 Tran Ngoc Dung 4/5/1979 K29.104.001 Ho Anh Thu 1/4/1979 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Thực hiện PHÉP CHIẾU trên tập thuộc tính MASV, HOTEN, NGAYSINH quan hệ 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 (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 πMASV, HOTEN, NGAYSINH (SINHVIEN)
  • 20. UU DLDL Phép chiếu (tt) é ế ô ó í á SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Phép chiếu không có tính giao hoán NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR πX,Y (R) = πX (πY (R)) HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA πA1 A2 An(πA1 A2 Am(R)) ≠ πA1 A2 Am(πA1 A2 An(R)) NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH A1, A2, …, An( A1, A2, …, Am( )) A1, A2, …, Am( A1, A2, …, An( )) 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 Phép chiếu mở rộng ằ SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • 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 t d h á h th ộ tí h NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR trong danh sách thuộc tính • Ký hiệu πF1 F2 Fn (E) HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA ý ệ F1, F2, …, Fn ( ) – E là biểu thức ĐSQH – F1, F2, …, Fn là các biểu thức số học liên NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH 1, 2, , n ọ quan đến: • Hằng số BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ • Thuộc tính trong E 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
  • 22. UU DLDL ầ ấ Các phép toán trên quan hệ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, TENNGANH) sinh viên 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 K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH 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 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ Thuộc tínhThuộc tính MAVS, HOTEN, NGAYSINHMAVS, HOTEN, NGAYSINH thuộc quan hệthuộc quan hệ SINHVIENSINHVIEN Thuộc tínhThuộc tính TENNGANHTENNGANH thuộc quan hệthuộc quan 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 (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 Thuộc tínhThuộc tính TENNGANHTENNGANH thuộc quan hệthuộc quan hệ NGANHNGANH
  • 23. UU DLDL ầ ấ Các phép toán trên quan hệ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, TENNGANH) sinh viên MaSV HoTen NgaySinh TENNGANH NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR MASV HOTEN PHAI NGAYSINH MANGANH K29 101 001 Nguyen Cong Phu Nam 10/10/1979 SP101 MANGANH TENNGANH SOCD TSSV SP103 Sư Phạm Tin học 8 800 MaSV, HoTen, NgaySinh TENNGANH 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 LLàm thế nào đểàm thế nào để liên kếtliên kết 2 quan hệ2 quan hệ SINHVIEN và NGANHSINHVIEN và 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 (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 LLàm thế nào đểàm thế nào để liên kếtliên kết 2 quan hệ2 quan hệ SINHVIEN và NGANHSINHVIEN và NGANH ??
  • 24. UU DLDL ầ ấ Các phép toán trên quan hệ - phép tíchSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD 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 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 (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 ầ ấ Các phép toán trên quan hệSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD 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 NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR g g Kết quả truy vấn: 7 dòng (chọn những dòng có MANGANH = MANGANH) HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA 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 K29 101 001 Nguyen Cong Phu Nam 10/10/1979 SP101 SP101 Sư Phạm Toán 5 1000 MANGANH) NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH 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 K29 101 001 N C Ph N 10/10/1979 SP101 CNTT Kh h á 8 160 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 CNTT Khoa học máy tính 8 160 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 (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 Phép tích ù ể ổ ộ ó ê ừ SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Được dùng để tổ hợp 2 bộ có liên quan từ 2 quan hệ thành 1 bộ • Ký hiệu R x S NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR Ký hiệu R x S – R(A1, A2, …, An) và S(B1, B2, …, Bm) • Kết quả của phép tích là một quan hệ Q Có n + m thuộc tính Q(A A A B B B ) HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA – Có n + m thuộc tính Q(A1, A2, …, An, B1, B2, …, Bm) – Nếu gọi K1 là số bộ của quan hệ R và K2 là số bộ của quan hệ S thì số bộ của Q sẽ là K1 x K2 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 (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))
  • 27. UU DLDL Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h Phép tíchSỞ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, TENNGANH) sinh viên É Í NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR B1: Thực hiện PHÉP TÍCH giữa quan hệ SINHVIEN với quan hệ NGANH B2: Chọn những dòng có thuộc tính MANGANH chuộc hệ SINHVIEN bằ MANGANH th ộ hệ HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA quan hệ SINHVIEN bằng MANGANH thuộc quan hệ NGANH Ngôn ngữ ĐSQL NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH ∏MASV, HOTEN, NGAYSINH, TENNGANH(σ(SINHVIEN.MANGANH = Ngôn ngữ ĐSQL BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ MASV, HOTEN, NGAYSINH, TENNGANH(σ( NGANH.MANGANH(SINHVIEN X 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 (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
  • 28. UU DLDL Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h Các phép toán trên quan hệ - Phép kếtSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD 2. Cách 2: SinhVien Nganh 7 x 1 = 7 dòng Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh, TENNGANH) sinh viên 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 Thực hiện PHÉP KẾT thuộc tính MANGANH của quan 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 (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 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
  • 29. UU DLDL Phép kết ù ể ổ ộ ó ê ừ SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Đượ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 NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR 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(A A A B B B ) HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA – 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 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH • 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: ≠, =, <, >, ≤, ≥ BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ p p , , , , , 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 Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h Các phép toán trên quan hệ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, TENNGANH) sinh viên É Ế NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR 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 HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA ∏MASV, HOTEN, NGAYSINH, TENNGANH (SINHVIEN NGANH) SINHVIEN.MANGANH = NGANH.MANGANH 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 (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
  • 31. UU DLDL Phép kết (tt) â SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Phân loại –– Kết thetaKết theta (Theta join) là phép kết có điều kiện • Ký hiệu R S NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR • Ký hiệu R C S • C gọi là điều kiện kết trên thuộc tính HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA –– Kết bằngKết bằng (Equi join) khi C là điều kiện so sánh bằng Kết tự nhiênKết tự nhiên (Natural join) NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH –– Kết tự nhiênKết tự nhiên (Natural join) • Ký hiệu R S hay R ∗ S • R+ ∩ S+ ≠ ∅ BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ • Kết quả của phép kết bằng bỏ bớt đi 1 cột giống nhau 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
  • 32. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học ĐạĐại si sốố quan hquan hệệ (R l ti l(R l ti l Al bAl b ))(Relational(Relational AlgebraAlgebra)) • Giới thiệu về Đại số quan hệGiới thiệu về Đại số quan hệ • Các phép toán quan hệ • BÀI TẬP • Các thao tác cập nhật trên quan hệ
  • 33. UU DLDL Kết hợp các phép toán Liệt kê danh sách ch ên đề (MACD TENCD SOSVTD) cần phải SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD 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ế NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR Chiếu MACD, TENCD, SOSVTD (thuộc quan hệ CHUYENDE) HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA Chọn TENNGANH = ‘CÔNG NGHỆ PHẦN MỀM’ NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Kết NGANH CD NGANH CHUYENDE BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ NGANH, CD_NGANH, CHUYENDE MACD = MACDMANGANH = MANGANH CD_NGANH CHUYENDENGANH 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))
  • 34. UU DLDL Kết hợp các phép toán Liệt kê danh sách ch ên đề (MACD TENCD SOSVTD) cần phải SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD 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”) 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 (3434))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 (3434))3434
  • 35. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học NgNgôôn ngn ngữữ SQLSQL ((Structured Query LanguageStructured Query Language))((Structured Query LanguageStructured Query Language)) • Giới thiệu về SQL Truy vấn dữ liệu với câu lệnh SELECT• Truy vấn dữ liệu với câu lệnh SELECT
  • 36. UU DLDL CÚ PHÁP CÂU LỆNH SELECT SELECT D h á h á ột đ h SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD SELECT <Danh sách các cột được chọn> FROM < Danh sách các bảng> WHERE <Điều kiện chọn> NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR WHERE <Điều kiện chọn> GROUP BY <Danh sách cột cần nhóm> HAVING < Điều kiện nhóm> HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA HAVING Điều kiện nhóm ORDER BY < Danh sách cột cần sắp xếp> 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 (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 Truy vấn cơ bản Gồ 3 ệ h đề SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD • Gồm 3 mệnh đề SELECT <danh sách các cột> FROM <danh sách các bảng> Tương ứng phép chiếu T ứ hé tí h NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR <danh sách các cột> FROM <danh sách các bảng> WHERE <điều kiện> Tương ứng phép chọn Tương ứng phép tích HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA – <danh sách các cột> • Tên các cột cần được hiển thị trong kết quả truy vấn – <danh sách các bảng> Tê á bả liê đế â t ấ NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH • Tên các bảng liên quan đến câu truy vấn – <điều kiện> • Biểu thức boolean xác định dòng nào sẽ được rút trích ể BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ • Nối các biểu thức: AND, OR, và NOT • Phép toán: < , > , ≤ , ≥ , ≠ , =, LIKE và BETWEEN 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))
  • 38. UU DLDL Truy vấn cơ bản (tt)SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD •• SQL và ĐSQHSQL và ĐSQH NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR SELECT <danh sách các cột> FROM <danh sách các bảng> π × HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA FROM <danh sách các bảng> WHERE <điều kiện>σ × NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH SELECTSELECT LL BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ FROMFROM RR WHEREWHERE CC πL (σC (R)) 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 ầ ấ Phép chọnSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành “SP101” Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa ãã điề kiệ MANGANH ‘SP101’điề kiệ MANGANH ‘SP101’ NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH) mãnmãn điều kiện MANGANH = ‘SP101’điều kiện MANGANH = ‘SP101’ 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 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ 9 03 00 a a u u 0/ / 9 9 S 03 K29.201.001 Ly Thanh Nam 3/8/1979 SP201 K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201 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))3939 K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104
  • 40. UU DLDL ầ ấ Phép chọnSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành “SP101” Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR Thực hiệnThực hiện CHỌNCHỌN các dòng trong quan hệcác dòng trong quan hệ SinhVienSinhVien thỏathỏa mãnmãn điều kiện MANGANH = ‘SPđiều kiện MANGANH = ‘SP101101’’ Ngôn ngữ ĐSQL HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA σMANGANH = ‘SP101’ (SINHVIEN) g g NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Ngôn ngữ SQL Lấy tất cả các cột của quan BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ SELECT * FROM SINHVIEN Lấy tất cả các cột của quan hệ kết quả 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))4040 WHERE MANGANH = ‘SP101’
  • 41. UU DLDL Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV HOTEN Phép chiếu SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN, NGAYSINH) Thực hiện CHỌN các CỘTThực hiện CHỌN các CỘT (MASV, HOTEN, NGAYSINH)(MASV, HOTEN, NGAYSINH) trongtrong hệhệ Si hViSi hVi NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH) quan hệquan hệ SinhVienSinhVien 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 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ 9 03 00 a a u u 0/ / 9 9 S 03 K29.201.001 Ly Thanh Nam 3/8/1979 SP201 K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201 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))4141 K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104
  • 42. UU DLDL Phép chiếu Yê ầ t ấ Liệt kê d h á h i h iê (MASV HOTEN SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN, NGAYSINH) Thực hiệnThực hiện PHÉP CHIẾUPHÉP CHIẾU các CỘTcác CỘT (MASV, HOTEN, NGAYSINH)(MASV, HOTEN, NGAYSINH) NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR Ngôn ngữ ĐSQL trong quan hệtrong quan hệ SinhVienSinhVien HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA g g πMASV, HOTEN, NGAYSINH (SINHVIEN) NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Ngôn ngữ SQL BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ SELECT MASV, HOTEN, NGAYSINH FROM 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 (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
  • 43. UU DLDL ầ ấ Phép tíchSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD 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 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 (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 …..
  • 44. UU DLDL ầ ấ Các phép toán trên quan hệSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD 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 NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR g g Kết quả truy vấn: 7 dòng (những dòng có MANGANH = MANGANH) HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA 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 K29 101 001 Nguyen Cong Phu Nam 10/10/1979 SP101 SP101 Sư Phạm Toán 5 1000 NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH 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 K29 101 001 N C Ph N 10/10/1979 SP101 CNTT Kh h á 8 160 BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 CNTT Khoa học máy tính 8 160 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 (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 …..
  • 45. UU DLDL Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h Phép tíchSỞ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, TENNGANH) sinh viên Thực hiện PHÉP TÍCH của quan hệ SINHVIEN với quan hệ NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR NGANH kết hợp với PHÉP CHỌN Ngôn ngữ ĐSQL HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA ∏MASV, HOTEN, NGAYSINH, TENNGANH(σ(SINHVIEN.MANGANH = NGANH MANGANH(SINHVIEN X NGANH))) NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH NGANH.MANGANH(SINHVIEN X NGANH))) Ngôn ngữ SQL BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ SELECT MASV, HOTEN, NGAYSINH, TENNGANH FROM 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 (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)) WHERE SINHVIEN.MANGANH = NGANH.MANGANH
  • 46. UU DLDL Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h Phép kếtSỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD 2. Cách 2: SinhVien Nganh 7 x 1 = 7 dòng Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh, TENNGANH) sinh viên 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 Sinh 6 1000 SP105 Sư phạm Anh 2 1100 Thực hiện PHÉP KẾT thuộc tính MANGANH của quan 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 (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 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
  • 47. UU DLDL Yê ầ t ấ Liệt kê d h á h (M SV H T N Si h Phép kếtSỞ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, TENNGANH) sinh viên É Ế NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR 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 Ngôn ngữ ĐSQL HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA ∏MASV, HOTEN, NGAYSINH, TENNGANH (SINHVIEN NGANH) SINHVIEN.MANGANH = NGANH.MANGANH Ngôn ngữ ĐSQL NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH Ngôn ngữ SQL SELECT MASV, HOTEN, NGAYSINH, TENNGANH BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ SELECT MASV, HOTEN, NGAYSINH, TENNGANH FROM SINHVIEN JOIN NGANH ON 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 (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 Sử dụng bí danh (Alias – AS) TRƯỜNG HỢP CÁC THUỘC TÍNH Ở CÁC QUAN HỆ KHÁC NHAU BỊ SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD TRƯỜNG HỢP CÁC THUỘC TÍNH Ở CÁC QUAN HỆ KHÁC NHAU BỊ TRÙNG TÊN SELECT MASV HOTEN NGAYSINH TENNGANH NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR SELECT MASV, HOTEN, NGAYSINH, TENNGANH FROM SINHVIEN JOIN NGANH ON SINHVIEN.MANGANH = NGANH.MANGANH HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA SỬ DỤNG TÊN BÍ DANH S G G G NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH SELECT MASV, HOTEN, NGAYSINH, TENNGANH FROM SINHVIEN AS SV JOIN NGANH AS N ON BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ FROM SINHVIEN AS SV JOIN NGANH AS N ON SV.MANGANH = N.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 (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 Kết hợp các phép toán Liệt kê danh sách ch ên đề (MACD TENCD SOSVTD) cần phải SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD 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”) NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH SELECT CD.MACD, TENCD, SOSVTD FROM (NGANH AS N JOIN CD NGANH AS CDN ON BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ FROM (NGANH AS N JOIN CD_NGANH AS CDN ON N.MANGANH = CDN.MANGANH ) JOIN CHUYENDE AS CD ON CD.MACD = CDN.MACD 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 WHERE TENNGANH = ‘CÔNG NGHỆ PHẦN MỀM’
  • 50. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học NgNgôôn ngn ngữữ SQLSQL ((Structured Query LanguageStructured Query Language))((Structured Query LanguageStructured Query Language)) Bài tập truy vấn dữ liệu với câu lệnh SELECT đơn giản (SELECT …FROM …WHERE)
  • 51. UU DLDL QUI TRÌNH XỬ LÝ CÂU LỆNH SELECT ĐƠN GIẢN SỞDỮLiỆSỞDỮLiỆUU RÚCCSDRÚCCSD CSDL FROM Tập kết quả 1 NTRỊCƠSNTRỊCƠS CẤUTRCẤUTR WHERE Tập kết quả 2 HẦNQuẢNHẦNQuẢN HNGHĨAHNGHĨA ập q NGNGHỌCPHHỌCPH NHĐỊNHNHĐỊNH SELECT BÀIGIẢNBÀIGIẢN CÂULỆCÂULỆ KẾT QUẢ CUỐI CÙ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 (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. UU DLDL SỞ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 (5252))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 (5252)) 52