Bài giảng Cơ sở dữ liệu đa phương tiện - Chương 4: Đại số quan hệ - Khoa CNTT - Trường ĐH KHTN

Giới thiệu
 Đại số quan hệ
 Phép toán tập hợp
 Phép chọn
 Phép chiếu
 Phép tích Cartesian
 Phép kết
 Phép chia
 Các phép toán khác
 Các thao tác cập nhật trên quan hệ 
pdf 88 trang xuanthi 30/12/2022 1880
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu đa phương tiện - Chương 4: Đại số quan hệ - Khoa CNTT - Trường ĐH KHTN", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_giang_co_so_du_lieu_da_phuong_tien_chuong_04_dai_so_quan.pdf

Nội dung text: Bài giảng Cơ sở dữ liệu đa phương tiện - Chương 4: Đại số quan hệ - Khoa CNTT - Trường ĐH KHTN

  1. Nội dung chi tiết Giới thiệu Đại số quan hệ Phép toán tập hợp Phép chọn Phép chiếu Phép tích Cartesian Phép kết Phép chia Các phép toán khác Các thao tác cập nhật trên quan hệ 2
  2. Giới thiệu (tt) Có 2 loại xử lý: Làm thay đổi dữ liệu (cập nhật): thêm mới, xóa và sửa Không làm thay đổi dữ liệu (rút trích): truy vấn Ngôn ngữ truy vấn (Query Language – QL): Cho phép người dùng rút trích hay cập nhật dữ liệu được lưu trong một mô hình dữ liệu Ngôn ngữ truy vấn quan hệ: Đại số quan hệ (Relational Algebra) Biểu diễn câu truy vấn dưới dạng biểu thức, cho phép người dùng biểu diễn các bước thực hiện câu truy vấn Phép tính quan hệ (Relational Calculus) Biểu diễn kết quả phi thủ tục dựa trên ngôn ngữ logic, cho phép người dùng diễn đạt cái họ cần hơn là thao tác xử lý nó SQL (Structured Query Language) 4
  3. Đại số quan hệ Biến là các quan hệ Tập hợp (set) Toán tử là các phép toán (operations) Trên tập hợp Hội  (union) Giao  (intersec) Trừ (difference) Rút trích 1 phần của quan hệ Chọn  (selection) Chiếu (projection) Kết hợp các quan hệ Tích Cartesian (Cartesian product) Kết (join) 6
  4. Đại số quan hệ (tt) Phép toán đại số Phép toán đại số quan hệ Toán hạng - Biến : x, y, z, - Quan hệ : NhanVien, - Hằng số : 150, - Thể hiện của quan hệ : t, v, Toán tử - Thao tác xử lý giữa các toán hạng - Thao tác xử lý giữa các quan hệ để tạo thành giá trị mới : +, -, *, /, để tạo thành quan hệ mới : phép chọn , hội  , Biểu thức - Chuỗi các phép toán đại số - Chuỗi các phép toán đại số quan - Kết quả cho ra một giá trị mới hệ (câu truy vấn) - Kết quả cho ra một quan hệ mới (x+7) / (y-3) (x+y)*z and/or (x+7) / (y-3) MANV (NHANVIEN) 8
  5. Phép toán tập hợp Quan hệ là tập hợp các bộ Phép hội r  s Phép giao r  s Phép trừ r s Tính khả hợp (Union Compatibility) Cho hai lược đồ quan hệ R(A1, A2, , An) và S(B1, B2, , Bn), r(R), s(S). Hai quan hệ r và s là khả hợp nếu R và S có cùng bậc n Và có DOM(Ai)=DOM(Bi) , 1 i n Kết quả phép toán , , hoặc của r và s là một quan hệ có các thuộc tính cùng tên với các thuộc tính của quan hệ r. 10
  6. Phép hội Cho 2 quan hệ r và s khả hợp Phép hội của r và s Ký hiệu r  s Là một quan hệ gồm các bộ thuộc r hoặc thuộc s, hoặc cả hai (các bộ trùng lắp sẽ bị loại bỏ) r  s = { t / t r  t s } Ví dụ r A B s A B r  s A B 1 2 1 2  3 2  1  1 2  3 12
  7. Phép giao Cho 2 quan hệ r và s khả hợp Phép giao của r và s Ký hiệu r  s Là một quan hệ gồm các bộ thuộc r đồng thời thuộc s r  s = { t / t r  t s } Ví dụ r A B s A B r  s A B 1 2 2 2  3  1 14
  8. Phép trừ Cho 2 quan hệ r và s khả hợp Phép giao của r và s Ký hiệu r s Là một quan hệ gồm các bộ thuộc R và không thuộc S r s = { t / t r  t s } Ví dụ r A B s A B r s A B 1 2 1 2  3  1  1 16
  9. Các tính chất Giao hoán r  s = s  r r  s = s  r Kết hợp r  (s  t) = (r  s)  t r  (s  t) = (r  s)  t 18
  10. Phép chọn Được dùng để lấy ra các bộ của quan hệ r thỏa mãn điều kiện chọn P Ký hiệu  P (r) P là biểu thức gồm các mệnh đề có dạng gồm , , , , , Các mệnh đề được nối lại nhờ các phép  ,  ,  20
  11. Phép chọn (tt) Phép chọn có tính giao hoán  p1 ( p2 (r)) =  p2 ( p1 (r)) =  p1  p2 (r) 22
  12. Phép chiếu Được dùng để lấy ra một vài cột của quan hệ r Ký hiệu A1, A2, , Ak(r) Kết quả trả về là một quan hệ Có k thuộc tính Có số bộ luôn ít hơn hoặc bằng số bộ của r Ví dụ A,C (r) r A B C A,C (r) A C 10 1 1 20 1  1  30 1  2  40 2 24
  13. Phép chọn vs. Phép chiếu A1, A2, A3 , An A1, A2, A3 , An  Phép chọn i j, i>=j A1, A2, A3 , An A1, A2, A3 , Am Phép chiếu n m, n>=m 26
  14. Ví dụ 2 Cho biết mã số các giáo viên thuộc bộ môn HTTT hoặc có tham gia đề tài mã 001 MAGV (MABM=‘HTTT’ (GIAOVIEN))  MAGV (MAĐT=‘001’ (TG_ĐETAI)) 28
  15. Ví dụ 4 Cho biết tên các công việc bắt đầu trong khoảng từ 01/01/2007 đến 01/08/2007  (NGAYBĐ>=‘1/1/2007’  NGAYBĐ<=‘1/8/2007’) (CONGVIEC) 30
  16. Phép chiếu tổng quát Ví dụ Cho biết họ tên của các giáo viên và lương của họ sau khi tăng 10% HOTEN, LUONG*1.1 (GIAOVIEN) 32
  17. Phép gán Được sử dụng để nhận lấy kết quả trả về của một phép toán Thường là kết quả trung gian trong chuỗi các phép toán Ký hiệu  Ví dụ B1 s P (r) B2 KQ  A1, A2, , Ak (s) 34
  18. Ví dụ 5 Cho biết mã số và họ tên giáo viên thuộc bộ môn HTTT C1: MAGV, HOTEN (MABM=‘HTTT’ (GIAOVIEN)) C2: GV_HTTT  MABM=‘HTTT’ (GIAOVIEN) KQ  MAGV, HOTEN (GV_HTTT) KQ(MA, TEN)  MAGV, HOTEN (GV_HTTT) KQ(MA, TEN) ( MAGV, HOTEN (GV_HTTT)) 36
  19. Phép tích Cartesian Được dùng để kết hợp các bộ của các quan hệ lại với nhau Ký hiệu r s Kết quả trả về là một quan hệ q Mỗi bộ của q là tổ hợp giữa 1 bộ trong r và 1 bộ trong s Nếu r có u bộ và s có v bộ thì q sẽ có u v bộ Nếu r có n thuộc tính và s có m thuộc tính thì q sẽ có n + m thuộc tính (R+  S+  ) 38
  20. Phép tích Cartesian (tt) Thông thường theo sau phép tích Cartesian là phép chọn r s A=S.B (r s) A R.B S.B C D A R.B S.B C D 1 10 + 1 10 + 1  10 +  2  10 + 1  20 -  2  20 - 1  10 -  2 10 +  2  10 +  2  20 -  2  10 - 40
  21. Ví dụ 6 (tt) TENBM MABM TRUONGBM NGAYNHANCHUC GV HOTEN Hệ thống thông tin HTTT 002 20/09/2004 002 Trần Trà Dương Mạng máy tính MMT 001 15/05/2005 001 Trương Nam Sơn 42
  22. GIÁOVIÊN MÃGV HỌTÊN . NGÀYSINH SỐNHÀ . 001 Nguyễn Hoài An . 15/02/1973 25/3 . 002 Trần Trà Hương . 20/06/1960 125 . 003 Nguyễn Ngọc Ánh . 11/05/1975 12/21 . . . . . . . BỘMÔN MÃBM TÊNBM PHÒNG . TRƯỞNGBM . HTTT Hệ thống thông tin B13 . 002 . CNTT Công nghệ tri thức B15 . . MMT Mạng máy tính B16 . 001 . . . . . . . GIÁOVIÊNTRUONGBM=MAGV x BỘMÔN(BM_GV) MÃGV HỌTÊN . NGÀYSINH . MÃBM TÊNBM PHÒNG . TRƯỞNGBM . 001 Nguyễn Hoài An . 15/02/1973 . HTTT Hệ thống thông tin B13 . 002 . 001 Nguyễn Hoài An . 15/02/1973 . CNTT Công nghệ tri thức B15 . . 001 Nguyễn Hoài An . 15/02/1973 . MMT Mạng máy tính B16 . 001 . 44 . . . . . . . . . . .
  23. Ví dụ 7 (tt) B1: Chọn ra những lương không phải là lớn nhất r1  ( LUONG (GIAOVIEN)) r2  GIAOVIEN.LUONG < R1.LUONG(GIAOVIEN r1) r3  R2.LUONG (r2) B2: Lấy tập hợp lương trừ đi lương trong r3 KQ  LUONG (GIAOVIEN) r3 46
  24. Ví dụ 8 (tt) B1: Tìm bộ môn mà giáo viên ‘Trần Trà Hương’ thuộc về r1  MABM,MAGV (HOTEN=‘Trần Trà Hương’ (GIAOVIEN)) B2: Lấy ra họ tên các giáo viên cùng bộ môn r2  HOTEN <>’Trần Trà Hương’ (GIAOVIEN) r3  R1.MABM=R2.MABM (r1 r2) KQ  HOTEN (r3) 48
  25. Phép kết Được dùng để truy xuất dữ liệu từ hai quan hệ Ký hiệu r s R(A1, A2, , An) và S(B1, B2, , Bm) Kết quả của phép kết là một quan hệ q Có n + m thuộc tính Q(A1, A2, , An, B1, B2, , Bm) Mỗi bộ của q là tổ hợp của 1 bộ trong r và 1 bộ trong s, thỏa mãn một số điều kiện kết nào đó Có dạng Ai  Bj Ai là thuộc tính của R, Bj là thuộc tính của S Ai và Bj có cùng miền giá trị  là phép so sánh , , , , , 51
  26. Phép kết (tt) Ví dụ phép kết theta r B<D s r A B C s D E A B C D E 1 2 3 3 1 1 2 3 3 1 4 5 6 6 2 1 2 3 6 2 7 8 9 4 5 6 6 2 r C s = C(r s) 53
  27. Phép kết (tt) Ví dụ phép kết tự nhiên r s r A B C s C D A A B B C C S.D D C 1 2 3 3 1 1 1 2 2 3 3 3 1 1 4 5 6 6 2 4 4 5 5 6 6 6 2 2 7 8 9 55
  28. Ví dụ 11 Với mỗi giáo viên, hãy cho biết thông tin của bộ môn mà họ đang làm việc Quan hệ: GIAOVIEN, BOMON GIAOVIEN(MAGV, HOTEN, LUONG, PHAI, , MABM, ) BOMON(MABM, TENBM, PHONG, DIENTHOAI, ) KQ  GIAOVIEN BOMON KQ(MAGV, HOTEN, , MABM, TENBM, PHONG, )) 57
  29. Ví dụ 13 Với mỗi khoa cho biết thông tin trưởng khoa 59
  30. Ví dụ 15 Cho biết giáo viên làm việc cùng bộ môn với giáo viên 002 61
  31. Tập đầy đủ các phép toán ĐSQH Tập các phép toán , , , ,  được gọi là tập đầy đủ các phép toán ĐSQH Nghĩa là các phép toán có thể được biểu diễn qua chúng Ví dụ r  s = r  s ((r s)  (s r)) r C s = C(r s) 63
  32. Phép chia Được dùng để lấy ra một số bộ trong quan hệ r sao cho thỏa với tất cả các bộ trong quan hệ s Ký hiệu r  s r(Z) và x(X) Z là tập thuộc tính của r, X là tập thuộc tính của s X  Z Kết quả của phép chia là một quan hệ t(Y) Với Y=Z-X Có t0 là một bộ của t nếu với mọi bộ tS S, tồn tại bộ tR R thỏa 2 điều kiện tR(Y) = t0 R(Z) S(X) T(Y) tR(X) = tS(X) X Y 65
  33. Ví dụ 17 Cho biết mã giáo viên tham gia tất cả công việc thuộc đề tài 001 67
  34. Phép chia (tt) Biểu diễn phép chia thông qua tập đầy đủ các phép toán ĐSQH Q1  Y (r) Q2  Q1 s Q3  Y(Q2 r) KQ  Q1 Q3 69
  35. Hàm kết hợp Nhận vào tập hợp các giá trị Trả về một giá trị đơn Gồm AVG MIN MAX SUM COUNT 71
  36. Phép gom nhóm Được dùng để phân chia quan hệ thành nhiều nhóm dựa trên điều kiện gom nhóm nào đó Ký hiệu G1, G2, , GnF1(A1), F2(A2), , Fn(An)(E) E là biểu thức ĐSQH G1, G2, , Gn là các thuộc tính gom nhóm F1, F2, , Fn là các hàm A1, A2, , An là các thuộc tính tính toán trong hàm F 73
  37. Ví dụ 19 Cho biết số lượng giáo viên viên và tổng lương của họ 75
  38. Ví dụ 21 Cho biết tên khoa có đông giáo viên nhất 77
  39. Ví dụ 23 Cho biết tên chủ đề và số lượng đề tài thuộc về chủ đề đó 79
  40. Ví dụ 24 - a Cho biết họ tên giáo viên và tên bộ môn họ làm trưởng bộ môn nếu có R1  GIAOVIEN MAGV=TRUONGBM BOMON KQ  HOTEN, TENBM (R1) HOTEN TENBM Nguyễn Hoài An Mạng máy tính Trần Trà Hương Hệ thống thông tin Nguyễn Ngọc Ánh null 81
  41. Ví dụ 24 - c Cho danh sách tên giáo viên và các đề tài giáo viên đó chủ nhiệm nếu có 83
  42. Các thao tác cập nhật Nội dung của CSDL có thể được cập nhật bằng các thao tác Thêm (insertion) Xóa (deletion) Sửa (updating) Các thao tác cập nhật được diễn đạt thông qua phép toán gán rnew  các phép toán trên rold 85
  43. Thao tác xóa Được diễn đạt rnew  rold E r là quan hệ E là một biểu thức ĐSQH Ví dụ Xóa phân công tham gia đề tài cho giáo viên 001 THAMGIAĐT  THAMGIAĐT MAGV=‘001’(THAMGIAĐT) 87
  44. Thao tác sửa Được diễn đạt rnew  F1, F2, , Fn (rold) r là quan hệ Fi là biểu thức tính toán cho ra giá trị mới của thuộc tính Ví dụ Tăng mức phụ cấp cho các đề tài của tất cả giáo viên lên 1.5 lần THAMGIAĐT  MAGV, MAĐT, STT, PHUCAP*1.5(THAMGIAĐT) 89