Bài giảng Cơ sở dữ liệu - Đại số quan hệ - Trần Ngọc Bảo

pdf 37 trang huongle 2280
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Đại số quan hệ - Trần Ngọc Bảo", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_co_so_du_lieu_dai_so_quan_he_tran_ngoc_bao.pdf

Nội dung text: Bài giảng Cơ sở dữ liệu - Đại số quan hệ - Trần Ngọc Bảo

  1. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học CCƠƠ SSỞỞ DDỮỮ LILIỆỆUU Đại số quan hệ (Relational Algebra) 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 CCƠƠ SSỞỞ DDỮỮ LILIỆỆUU ĐĐạạii ssốố quanquan hhệệ (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
  3. Đại số quan hệ U U Ệ Ệ • Là ngôn ngữ biểu diễn câu truy vấn về các quan hệ Ệ Ệ LI LI • Bao gồmtậphợp các phép toán đượcápdụng trên các thể Ữ Ữ D D hiệncủaquanhệ. Kếtquả trả về củamộtcâutruyvấnlà Ở Ở mộtthể hiện của quan hệ S S QUAN H QUAN H Ơ Ơ • Chuỗi các phép toán đại số quan hệ hình thành nên biểu Ố Ố N C N C thức đại số quan hệ (câu truy vấn) mà kết quả của nó cũng I S I S Ầ Ầ Ạ Ạ trả về một thể hiện của quan hệ Đ Đ C PH • Có 3 nhóm phép toán C PH Ữ Ữ Ọ Ọ •Phép toán quan hệ •Phép toán tập hợp NG H NG H Ả Ả •Phép toán khác I GI I GI NGÔN NG NGÔN NG À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H3HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (3)(3)
  4. Giới thiệu U U Ệ Ệ • Có 2 loại xử lý trên CSDL Ệ Ệ LI LI – Làm thay đổi dữ liệu (cập nhật) Ữ Ữ D D • Thêm mới, xóa và sửa Ở Ở S S – Không làm thay đổi dữ liệu (rút trích) QUAN H QUAN H Ơ Ơ Ố Ố • Truy vấn/mẫu hỏi (Query) N C N C I S I S Ầ Ầ • Thực hiện các xử lý Ạ Ạ Đ Đ Sử dụng ngôn ngữ truy vấn (Query Language) Æ cho phép người C PH C PH Ữ Ữ dùng thực hiện và rút trích dữ liệu từ CSDL. Bao gồm: Ọ Ọ – Đại số quan hệ (Relational Algebra) NG H NG H Ả Ả – Phép tính quan hệ (Relational Calculus) I GI I GI NGÔN NG NGÔN NG À À Cơ sở của các ngôn ngữ CSDL ví dụ như SQL B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H4HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (4)(4)
  5. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học CCƠƠ SSỞỞ DDỮỮ LILIỆỆUU ĐĐạạii ssốố quanquan hhệệ (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
  6. Các phép toán trên quan hệ U U Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành Ệ Ệ Ệ Ệ LI LI “SP101” Ữ Ữ Thực hiện CHỌN các dòng trong quan hệ SinhVien thỏa D D mãn điều kiện MANGANH = ‘SP101’ Ở Ở S S QUAN H QUAN H 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH) Ơ Ơ Ố Ố N C N C MASV HOTEN PHAI NGAYSINH MANGANH I S I S Ầ Ầ Ạ Ạ K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 Đ Đ C PH C PH Ữ Ữ K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 Ọ Ọ K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 NG H NG H K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 Ả Ả I GI I GI K29.201.001 Ly Thanh Nam 3/8/1979 SP201 NGÔN NG NGÔN NG À À B B K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201 K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104 TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H6HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (6)(6)
  7. Các phép toán trên quan hệ U U Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành Ệ Ệ Ệ Ệ LI LI “SP101” Ữ Ữ Thực hiện CHỌN các dòng trong quan hệ SinhVien thỏa D D mãn điều kiện MANGANH = ‘SP101’ Ở Ở S S QUAN H QUAN H 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH) Ơ Ơ Ố Ố N C N C MASV HOTEN PHAI NGAYSINH MANGANH I S I S Ầ Ầ Ạ Ạ K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 Đ Đ C PH C PH Ữ Ữ K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 Ọ Ọ K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 NG H NG H K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 Ả Ả I GI I GI K29.201.001 Ly Thanh Nam 3/8/1979 SP201 NGÔN NG NGÔN NG À À B B K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201 K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104 TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H7HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (7)(7)
  8. Các phép toán trên quan hệ U U Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành Ệ Ệ Ệ Ệ LI LI “SP101” Ữ Ữ D D Thực hiện CHỌN các dòng trong quan hệ SinhVien thỏa Ở Ở mãn điều kiện MANGANH = ‘SP101’ S S QUAN H QUAN H Ơ Ơ Ố Ố N C N C Kết quả I S I S Ầ Ầ Ạ Ạ MASV HOTEN PHAI NGAYSINH MANGANH Đ Đ C PH C PH Ữ Ữ K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 Ọ Ọ K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 NG H NG H Ả Ả I GI I GI NGÔN NG NGÔN NG À À B B Thực hiện PHÉP CHỌN trên quan hệ SINHVIEN TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H8HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (8)(8)
  9. Phép chọn U U Ệ Ệ • Được dùng để lấy ra các bộ của quan hệ R Ệ Ệ LI LI • Các bộ được chọn phải thỏa mãn điều kiện chọn P Ữ Ữ D D • Ký hiệu Ở Ở S S QUAN H QUAN H (R) Ơ Ơ σ P Ố Ố N C N C I S I S • P là biểu thức gồm các mệnh đề có dạng Ầ Ầ Ạ Ạ Đ Đ – C PH C PH Ữ Ữ Ọ Ọ – NG H NG H Ả Ả • gồm có: , ≤ , ≥ , ≠ , = I GI I GI • Các mệnh đề có thể được nối lại nhờ các phép NGÔN NG NGÔN NG À À B B toán luận lý: ∧ (and) , ∨ (or) , ¬ (not) TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN H9HỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (9)(9)
  10. Phép chọn (tt) U U Ệ Ệ Ệ Ệ • Kết quả của phép chọn là một quan LI LI Ữ Ữ hệ D D Ở Ở – Có cùng danh sách thuộc tính với R S S QUAN H QUAN H Ơ Ơ Ố – Có số bộ luôn ít hơn hoặc bằng số bộ của Ố N C N C I S I S R Ầ Ầ Ạ Ạ Đ Đ C PH C PH Ữ Ữ Ọ Ọ NG H NG H Ả Ả I GI I GI NGÔN NG NGÔN NG À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN10 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (10)(10)
  11. Phép chọn U U Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành Ệ Ệ Ệ Ệ LI LI “SP101” Ữ Ữ D D Thực hiện CHỌN các dòng trong quan hệ SinhVien thỏa Ở Ở mãn điều kiện MANGANH = ‘SP101’ S S QUAN H QUAN H Ơ Ơ Ố Ố Kết quả N C N C I S I S Ầ Ầ MASV HOTEN PHAI NGAYSINH MANGANH Ạ Ạ Đ Đ K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 C PH C PH Ữ Ữ Ọ Ọ K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 NG H NG H Ả Ả Thực hiện PHÉP CHỌN trên quan hệ SINHVIEN I GI I GI với điều kiện chọn MANGANH = ‘SP101’ NGÔN NG NGÔN NG À À B B σ MANGANH = ‘SP101’ (SINHVIEN) TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN11 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (11)(11)
  12. Phép chọn (tt) U U Ệ Ệ Ệ Ệ LI LI • Phép chọn có tính giao hoán Ữ Ữ D D Ở Ở S S ( (R)) = ( (R)) QUAN H QUAN H σ p1 σ p2 σ p2 σ p1 Ơ Ơ Ố Ố Ví dụ: N C N C I S I S Ầ Ầ Yêu cầu truy vấn: Liệt kê danh sách sinh viên Nam thuộc ngành Ạ Ạ Đ Đ “SP101” C PH C PH Ữ Ữ Ọ Ọ σ PHAI = ‘NAM’ ∧ MANGANH = ‘SP101’ (SINHVIEN) NG H NG H Ả Ả I GI I GI σ PHAI = ‘NAM’ (σ MANGANH = ‘SP101’ (SINHVIEN)) NGÔN NG NGÔN NG À À B B σ NGANH = ‘SP101’ (σ PHAI = ‘NAM’ (SINHVIEN)) TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN12 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (12)(12)
  13. Các phép toán trên quan hệ U Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN, U Ệ Ệ Ệ Ệ NGAYSINH) LI LI Ữ Ữ Thực hiện CHỌN các CỘT (MASV, HOTEN, NGAYSINH) trong D D quan hệ SinhVien Ở Ở S S QUAN H QUAN H 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH) Ơ Ơ Ố Ố N C N C MASV HOTEN PHAI NGAYSINH MANGANH I S I S Ầ Ầ Ạ Ạ K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 Đ Đ C PH C PH Ữ Ữ K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 Ọ Ọ K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 NG H NG H K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 Ả Ả I GI I GI K29.201.001 Ly Thanh Nam 3/8/1979 SP201 NGÔN NG NGÔN NG À À B B K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201 K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104 TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN13 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (13)(13)
  14. Các phép toán trên quan hệ U Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN, U Ệ Ệ Ệ Ệ NGAYSINH) LI LI Ữ Ữ Thực hiện CHỌN các CỘT (MASV, HOTEN, NGAYSINH) trong D D quan hệ SinhVien Ở Ở S S QUAN H QUAN H 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH) Ơ Ơ Ố Ố N C N C MASV HOTEN PHAI NGAYSINH MANGANH I S I S Ầ Ầ Ạ Ạ K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 Đ Đ C PH C PH Ữ Ữ K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 Ọ Ọ K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 NG H NG H K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 Ả Ả I GI I GI K29.201.001 Ly Thanh Nam 3/8/1979 SP201 NGÔN NG NGÔN NG À À B B K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201 K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104 TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN14 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (14)(14)
  15. Các phép toán trên quan hệ U Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN, U Ệ Ệ Ệ Ệ NGAYSINH) LI LI Ữ Ữ D D Kết quả MASV HOTEN NGAYSINH Ở Ở K29.101.001 Nguyen Cong Phu 10/10/1979 S S QUAN H QUAN H Ơ Ơ Ố Ố K29.101.002 Phan Anh Khanh 1/10/1979 N C N C I S I S Ầ Ầ K29.103.001 Han Quoc Viet 3/2/1979 Ạ Ạ Đ Đ K29.103.002 Pham Khanh Nhu 10/12/1979 C PH C PH Ữ Ữ Ọ Ọ K29.201.001 Ly Thanh 3/8/1979 K29.201.002 Tran Ngoc Dung 4/5/1979 NG H NG H Ả Ả K29.104.001 Ho Anh Thu 1/4/1979 I GI I GI NGÔN NG NGÔN NG À À B B Thực hiện PHÉP CHIẾU trên tập thuộc tính MASV, HOTEN, NGAYSINH quan hệ SINHVIEN TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN15 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (15)(15)
  16. Phép chiếu U U Ệ Ệ Ệ Ệ • Được dùng để lấy ra một vài cột của quan LI LI Ữ Ữ hệ R D D Ở Ở • Ký hiệu πA1, A2, , Ak(R) S S QUAN H QUAN H Ơ Ơ • Kết quả phép chiếu cũng là một quan hệ Ố Ố N C N C I S I S – Có k thuộc tính Ầ Ầ Ạ Ạ Đ Đ – Có số bộ luôn ít hơn hoặc bằng số bộ của R C PH C PH Ữ Ữ Ọ Ọ • Ví dụ R ABC R’ A C α 10 1 α 1 NG H NG H α 20 1 α 1 Ả Ả β 30 1 πA,C (R) β 1 I GI I GI NGÔN NG NGÔN NG β 40 2 β 2 À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN16 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (16)(16)
  17. Phép chiếu U Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN, U Ệ Ệ Ệ Ệ NGAYSINH) LI LI MASV HOTEN NGAYSINH Ữ Ữ D D Kết quả K29.101.001 Nguyen Cong Phu 10/10/1979 Ở Ở S S QUAN H QUAN H K29.101.002 Phan Anh Khanh 1/10/1979 Ơ Ơ Ố Ố K29.103.001 Han Quoc Viet 3/2/1979 N C N C I S I S Ầ Ầ Ạ Ạ K29.103.002 Pham Khanh Nhu 10/12/1979 Đ Đ K29.201.001 Ly Thanh 3/8/1979 C PH C PH Ữ Ữ Ọ Ọ K29.201.002 Tran Ngoc Dung 4/5/1979 NG H NG H K29.104.001 Ho Anh Thu 1/4/1979 Ả Ả I GI I GI Thực hiện PHÉP CHIẾU trên tập thuộc tính MASV, HOTEN, NGÔN NG NGÔN NG À À NGAYSINH quan hệ SINHVIEN B B π MASV, HOTEN, NGAYSINH (SINHVIEN) TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN17 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (17)(17)
  18. Phép chiếu (tt) U U Ệ Ệ Ệ Ệ • Phép chiếu không có tính giao hoán LI LI Ữ Ữ D D Ở Ở S S (R) = ( (R)) QUAN H πX,Y πX πY QUAN H Ơ Ơ Ố Ố N C N C I S I S Ầ Ầ Ạ Ạ Đ Đ C PH ( (R)) (R C PH πA1, A2, , An πA1, A2, , Am ≠ πA1, A2, , Am(πA1, A2, , An )) Ữ Ữ Ọ Ọ NG H NG H Ả Ả I GI I GI NGÔN NG NGÔN NG À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN18 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (18)(18)
  19. Phép chiếu mở rộng U U Ệ Ệ Ệ Ệ • Mở rộng phép chiếu bằng cách cho LI LI Ữ Ữ phép sử dụng các phép toán số học D D Ở Ở trong danh sách thuộc tính S S QUAN H QUAN H Ơ Ơ Ố Ố •Ký hiệu πF1, F2, , Fn (E) N C N C I S I S Ầ Ầ Ạ Ạ – E là biểu thức ĐSQH Đ Đ C PH C PH – F1, F2, , Fn là các biểu thức số học liên Ữ Ữ Ọ Ọ quan đến: NG H NG H • Hằng số Ả Ả • Thuộc tính trong E I GI I GI NGÔN NG NGÔN NG À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN19 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (19)(19)
  20. Các phép toán trên quan hệ U U Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh, Ệ Ệ Ệ Ệ LI LI TENNGANH) sinh viên Ữ Ữ D D 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH) Ở Ở S S QUAN H QUAN H MASV HOTEN PHAI NGAYSINH MANGANH Ơ Ơ Ố Ố K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 N C N C K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 I S I S Ầ Ầ Ạ Ạ K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 Đ Đ K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 C PH C PH Ữ Ữ Ọ 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 NG H NG H Ả Ả I GI I GI Thuộc tính MAVS, HOTEN, NGAYSINH thuộc quan hệ NGÔN NG NGÔN NG À À B B SINHVIEN Thuộc tính TENNGANH thuộc quan hệ NGANH TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN20 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (20)(20)
  21. Các phép toán trên quan hệ U U Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh, Ệ Ệ Ệ Ệ LI LI TENNGANH) sinh viên Ữ Ữ D D MaSV, HoTen, NgaySinh TENNGANH Ở Ở S S QUAN H QUAN H MASV HOTEN PHAI NGAYSINH MANGANH MANGANH TENNGANH SOCD TSSV Ơ Ơ Ố SP103 Sư Phạm Tin học 8 800 Ố K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 N C SP101 Sư Phạm Toán 5 1000 N C I S I S Ầ Ầ K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 Ạ Ạ 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 C PH C PH Ữ Ữ Ọ Ọ K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 CNTT Khoa học máy tính 8 160 K29.201.001 Ly Thanh Nam 3/8/1979 SP201 NG H NG H SP104 Sư Phạm Lý 6 1000 K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201 Ả Ả SP105 Sư phạm Anh 2 1100 K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104 I GI I GI NGÔN NG NGÔN NG À À B B Làm thế nào để liên kết 2 quan hệ SINHVIEN và NGANH ? TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN21 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (21)(21)
  22. Các phép toán trên quan hệ U U Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh, Ệ Ệ Ệ Ệ LI LI TENNGANH) sinh viên Ữ Ữ D D 1. Cách 1: SinhVien x Nganh 7 x 7 = 49 dòng Ở Ở MASV HOTEN PHAI NGAYSINH MANGANH MANGANH TENNGANH SOCD TSSV S S QUAN H QUAN H Ơ Ơ K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 SP103 Sư Phạm Tin 8 800 học Ố Ố K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 SP101 Sư Phạm Toán 5 1000 N C N C I S I S Ầ Ầ 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 C PH C PH Ữ Ữ K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 CNTT Khoa học máy 8 160 Ọ Ọ tính 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 NG H NG H Ả Ả K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 SP103 Sư Phạm Tin 8 800 học I GI I GI K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 SP101 Sư Phạm Toán 5 1000 NGÔN NG NGÔN NG À À B B K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 SP201 Sư Phạm Hóa 3 1500 TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN22 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (22)(22)
  23. Các phép toán trên quan hệ U U Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh, Ệ Ệ Ệ Ệ LI LI TENNGANH) sinh viên Ữ Ữ D D 1. Cách 1: SinhVien x Nganh 7 x 7 = 49 dòng Ở Ở S S QUAN H QUAN H Ơ Kết quả truy vấn: 7 dòng (những dòng có MANGANH = MANGANH) Ơ Ố Ố N C N C I S I S 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 8 800 Đ Đ học C PH C PH 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 NG H NG H Ả Ả K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 CNTT Khoa học máy 8 160 tính K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 SP101 Sư Phạm Toán 5 1000 I GI I GI NGÔN NG NGÔN NG À À K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 SP201 Sư Phạm Hóa 3 1500 B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN23 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (23)(23)
  24. Các phép toán trên quan hệ U U Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh, Ệ Ệ Ệ Ệ TENNGANH) sinh viên LI LI Ữ Ữ D D 2. Cách 2: SinhVien Nganh 7 x 1 = 7 dòng Ở Ở S S QUAN H QUAN H MASV HOTEN PHAI NGAYSINH MANGANH MANGANH TENNGANH SOCD TSSV Ơ Ơ Ố Ố SP103 Sư Phạm Tin học 8 800 K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 N C N C I S I S Ầ Ầ K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 SP101 Sư Phạm Toán 5 1000 Ạ Ạ Đ Đ SP201 Sư Phạm Hóa 3 1500 K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 C PH C PH Ữ Ữ Ọ Ọ K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 SP102 Sư Phạm Lý 4 1200 K29.201.001 Ly Thanh Nam 3/8/1979 SP201 CNTT Khoa học máy tính 8 160 NG H NG H Ả Ả K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201 SP104 Sư Phạm Lý 6 1000 K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104 I GI I GI SP105 Sư phạm Anh 2 1100 NGÔN NG NGÔN NG À À B B 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 TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN24 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (24)(24)
  25. Phép kết U U Ệ Ệ • Được dùng để tổ hợp 2 bộ có liên quan từ 2 quan Ệ Ệ LI LI hệ thành 1 bộ Ữ Ữ D D • Ký hiệu R S Ở Ở – R(A1, A2, , An) và S(B1, B2, , Bm) S S QUAN H QUAN H Ơ Ơ • Kết quả của phép kết là một quan hệ Q Ố Ố – Có n + m thuộc tính Q(A1, A2, , An, B1, B2, , Bm) N C N C I S I S Ầ Ầ – 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 PH C PH • Có dạng A θ B Ữ Ữ i j Ọ Ọ • 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ị NG H NG H • θ là phép so sánh: ≠, =, , ≤, ≥ Ả Ả I GI I GI NGÔN NG NGÔN NG À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN25 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (25)(25)
  26. Các phép toán trên quan hệ U U Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh, Ệ Ệ Ệ Ệ TENNGANH) sinh viên LI LI Ữ Ữ D D Thực hiện PHÉP KẾT thuộc tính MANGANH của quan hệ Ở Ở S S SINHVIEN với MANGANH của quan hệ NGANH QUAN H QUAN H Ơ Ơ Ố Ố N C N C I S I S Ầ Ầ ∏MASV, HOTEN, NGAYSINH, TENNGANH (SINHVIEN NGANH) Ạ Ạ SINHVIEN.MANGANH = NGANH.MANGANH Đ Đ C PH C PH Ữ Ữ Ọ Ọ NG H NG H Ả Ả I GI I GI NGÔN NG NGÔN NG À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN26 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (26)(26)
  27. Phép kết (tt) U U Ệ Ệ Ệ Ệ • Phân loại LI LI Ữ Ữ – Kết theta (Theta join) là phép kết có điều kiện D D • Ký hiệu R C S Ở Ở S S • C gọi là điều kiện kết trên thuộc tính QUAN H QUAN H Ơ Ơ Ố Ố N C N C I S I S Ầ Ầ – Kết bằng (Equi join) khi C là điều kiện so sánh bằng Ạ Ạ Đ Đ C PH C PH Ữ Ữ Ọ Ọ – Kết tự nhiên (Natural join) • Ký hiệu R S hay R ∗ S NG H NG H • R+ ∩ S+ ≠∅ Ả Ả • Kết quả của phép kết bằng bỏ bớt đi 1 cột giống nhau I GI I GI NGÔN NG NGÔN NG À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN27 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (27)(27)
  28. Kết hợp các phép toán U U 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 = LI LI Ữ “CÔNG NGHỆ PHẦN MỀM”) Ữ D D Ở Ở ‰ Chiếu S S QUAN H QUAN H Ơ Ơ MACD, TENCD, SOSVTD (thuộc quan hệ CHUYENDE) Ố Ố N C N C I S I S Ầ Ầ ‰ Chọn Ạ Ạ Đ Đ TENNGANH = ‘CÔNG NGHỆ PHẦN MỀM’ C PH C PH Ữ Ữ Ọ Ọ ‰ Kết NG H NG H Ả Ả NGANH, CD_NGANH, CHUYENDE I GI I GI NGÔN NG NGÔN NG À À NGANH CD_NGANH CHUYENDE MANGANH = MANGANH MACD = MACD B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN28 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (28)(28)
  29. Kết hợp các phép toán U U 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 = LI LI Ữ “CÔNG NGHỆ PHẦN MỀM”) Ữ D D Ở Ở S S QUAN H QUAN H Ơ Ơ Ố Ố N C N C I S I S Ầ Ầ Ạ Ạ Đ Đ C PH C PH Ữ Ữ Ọ Ọ NG H NG H Ả Ả I GI I GI NGÔN NG NGÔN NG À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN29 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (29)(29)
  30. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học CCƠƠ SSỞỞ DDỮỮ LILIỆỆUU ĐĐạạii ssốố quanquan hhệệ (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 thao tác cập nhật trên quan hệ
  31. Hàm kết hợp U U Ệ Ệ Ệ Ệ LI LI • Nhận vào tập hợp các giá trị và trả về Ữ Ữ D D một giá trị đơn Ở Ở S S • AVG(A): A là thuộc tính kiểu số QUAN H QUAN H Ơ Ơ Ố Ố •MIN(A): A là thuộc tính kiểu số N C N C I S I S Ầ Ầ Ạ Ạ •MAX(A): A là thuộc tính kiểu số Đ Đ C PH C PH Ữ Ữ Ọ •SUM(A): A là thuộc tính kiểu số Ọ •COUNT(A): A có kiểu bất kỳ NG H NG H Ả Ả I GI I GI NGÔN NG NGÔN NG À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN31 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (31)(31)
  32. Hàm kết hợp U U Ệ Ệ Ệ Ệ • Ví dụ LI LI Ữ Ữ D D SUM(B) = 10 R AB Ở Ở S S AVG(A) = 1.5 QUAN H QUAN H 1 2 Ơ Ơ Ố Ố 3 4 MIN(A) = 1 N C N C 1 2 I S I S Ầ Ầ Ạ Ạ 1 2 MAX(B) = 4 Đ Đ C PH C PH Ữ Ữ COUNT(A) = 4 Ọ Ọ NG H NG H Cho biết lương cao nhất của các nhân viên công ty Ả Ả I GI I GI NGÔN NG NGÔN NG À À MAX(π (NHANVIEN)) B Luong B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN32 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (32)(32)
  33. Phép gom nhóm (T) U U •Được dùng để phân chia quan hệ thành nhiều Ệ Ệ Ệ Ệ LI LI nhóm dựa trên điều kiện gom nhóm nào đó Ữ Ữ D D •Ký hiệu Ở Ở S S QUAN H QUAN H G1, G2, , Gn (E) Ơ Ơ TF1(A1), F2(A2), , Fn(An) Ố Ố N C N C –E là biểu thức ĐSQH I S I S Ầ Ầ Ạ Ạ –G1, G2, , Gn là các thuộc tính gom nhóm Đ Đ C PH C PH –F1, F2, , Fn là các hàm Ữ Ữ Ọ Ọ –A1, A2, , An là các thuộc tính tính toán trong hàm F NG H NG H Ả Ả I GI I GI NGÔN NG NGÔN NG À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN33 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (33)(33)
  34. Phép gom nhóm (tt) U U Ệ Ệ Ệ Ệ LI LI •Ví dụ Ữ Ữ D D R ABC Ở Ở ISUM(C)(R) S S QUAN H QUAN H α 2 7 Ơ Ơ Ố Ố α 4 7 Kết quả N C N C I S I S Ầ Ầ β 2 3 Ạ Ạ I (R) = 27 Đ Đ SUM(C) γ 2 10 C PH C PH Ữ Ữ Ọ Ọ NG H NG H A SUM(C) Ả Ả 14 A (R) α I GI Kết quả I GI ISUM(C) NGÔN NG NGÔN NG À À 3 B B β γ 10 TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN34 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (34)(34)
  35. Phép gom nhóm U U Liệt kê danh sách tên chuyên đề (TENCD) và số lần Ệ Ệ Ệ Ệ LI LI được mở tương ứng theo từng ngành (TENNGANH) Ữ Ữ D D ‰ Chiếu Ở Ở S S TENNGANH: thuộc quan hệ NGANH QUAN H QUAN H Ơ Ơ Ố Ố TENCD: thuộc quan hệ CHUYENDE N C N C I S I S Ầ Ầ COUNT(MACD): thuộc quan hệ CD_MO Ạ Ạ Đ Đ C PH C PH Ữ Ữ ‰ Kết Ọ Ọ NGANH, CD_NGANH, CHUYENDE, CD_MO NG H CD_NGANH NGANH NG H MANGANH = MANGANH Ả Ả I GI I GI NGÔN NG NGÔN NG À À MACD = MACD B B CHUYENDE CD_MO MACD = MACD TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN35 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (35)(35)
  36. Phép gom nhóm U U Liệt kê danh sách tên chuyên đề (TENCD) và số lần Ệ Ệ Ệ Ệ LI LI được mở tương ứng theo từng ngành (TENNGANH) Ữ Ữ D D Ở Ở S S QUAN H QUAN H Ơ Ơ Ố Ố N C N C I S I S Ầ Ầ Ạ Ạ Đ Đ C PH C PH Ữ Ữ Ọ Ọ NG H NG H Ả Ả I GI I GI NGÔN NG NGÔN NG À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN36 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (36)(36)
  37. U U Ệ Ệ Ệ Ệ LI LI Ữ Ữ D D Ở Ở S S QUAN H QUAN H Ơ Ơ Ố Ố N C N C I S I S Ầ Ầ Ạ Ạ Đ Đ C PH C PH Ữ Ữ Ọ Ọ NG H NG H Ả Ả I GI I GI NGÔN NG NGÔN NG À À B B TRTRẦẦNN NGNGỌỌCC BBẢẢOO ”” KHOAKHOA TOTOÁNÁN TINTIN37 HHỌỌCC ”” ĐĐẠẠII HHỌỌCC SSƯƯ PHPHẠẠMM TP.HCMTP.HCM ”” (37)(37)