Bài giảng Cơ sở dữ liệu - Chương 3: Đại số quan hệ

pdf 65 trang ngocly 3420
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Chương 3: Đại số quan hệ", để 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_chuong_3_dai_so_quan_he.pdf

Nội dung text: Bài giảng Cơ sở dữ liệu - Chương 3: Đại số quan hệ

  1. Chương 3 Đại số quan hệ
  2. 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ệ Cơ sở dữ liệu - Khoa CNTT 2
  3. Giới thiệu 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 (query) Thực hiện các xử lý - Đại số quan hệ (Relational Algebra)  Biểu diễn câu truy vấn dưới dạng biểu thức - Phép tính quan hệ (Relational Calculus)  Biểu diễn kết quả - SQL (Structured Query Language) Cơ sở dữ liệu - Khoa CNTT 3
  4. Giới thiệu (tt) Đại số - Toán tử (operator) - Toán hạng (operand) Trong số học - Toán tử: +, -, *, / - Toán hạng - biến (variables): x, y, z - Hằng (constant) - Biểu thức  (x+7) / (y-3)  (x+y)*z and/or (x+7) / (y-3) Cơ sở dữ liệu - Khoa CNTT 4
  5. Đạ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) - Đổi tên Cơ sở dữ liệu - Khoa CNTT 5
  6. Đại số quan hệ (tt) Hằng số là thể hiện của quan hệ Biểu thức - Được gọi là câu truy vấn - Là chuỗi các phép toán đại số quan hệ - Kết quả trả về là một thể hiện của quan hệ Cơ sở dữ liệu - Khoa CNTT 6
  7. 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ệ Cơ sở dữ liệu - Khoa CNTT 7
  8. 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) - Hai lược đồ quan hệ R(A1, A2, , An) và S(B1, B2, , Bn) là khả hợp nếu  Cùng bậc n  Và có DOM(Ai)=DOM(Bi) , 1 i n Kết quả của , , và là một quan hệ có cùng tên thuộc tính với quan hệ đầu tiên (R) Cơ sở dữ liệu - Khoa CNTT 8
  9. Phép toán tập hợp (tt) Ví dụ NHANVIEN TENNV NGSINH PHAI THANNHAN TENTN NG_SINH PHAITN Tung 12/08/1955 Nam Trinh 04/05/1986 Nu Hang 07/19/1968 Nu Khang 10/25/1983 Nam Nhu 06/20/1951 Nu Phuong 05/03/1958 Nu Hung 09/15/1962 Nam Minh 02/28/1942 Nam Chau 12/30/1988 Nu Bậc n=3 DOM(TENNV) = DOM(TENTN) DOM(NGSINH) = DOM(NG_SINH) DOM(PHAI) = DOM(PHAITN) Cơ sở dữ liệu - Khoa CNTT 9
  10. 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ị 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 Cơ sở dữ liệu - Khoa CNTT 10
  11. 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 Cơ sở dữ liệu - Khoa CNTT 11
  12. Phép trừ Cho 2 quan hệ R và S khả hợp Phép trừ 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 Cơ sở dữ liệu - Khoa CNTT 12
  13. 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 Cơ sở dữ liệu - Khoa CNTT 13
  14. 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ệ Cơ sở dữ liệu - Khoa CNTT 14
  15. Phép chọn Được dùng để lấy ra các bộ của quan hệ R Các bộ được chọn phải thỏa mãn điều kiện chọn P Ký hiệu  P (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  ,  ,  Cơ sở dữ liệu - Khoa CNTT 15
  16. Phép chọn (tt) Kết quả trả về là một quan hệ - Có cùng danh sách thuộc tính với R - Có số bộ luôn ít hơn hoặc bằng số bộ của R Ví dụ (R) R A B C D  (A=B)(D>5) 1 7 A B C D  5 7   12 3 1 7   23 10   23 10 Cơ sở dữ liệu - Khoa CNTT 16
  17. Phép chọn (tt) Phép chọn có tính giao hoán  p1 ( p2 (R)) =  p2 ( p1 (R)) =  p1  p2 (R) Cơ sở dữ liệu - Khoa CNTT 17
  18. Ví dụ 1 Cho biết các nhân viên ở phòng số 4 - Quan hệ: NHANVIEN - Thuộc tính: PHG - Điều kiện: PHG=4  PHG=4 (NHANVIEN) Cơ sở dữ liệu - Khoa CNTT 18
  19. Ví dụ 2 Tìm các nhân viên có lương trên 25000 ở phòng 4 hoặc các nhân viên có lương trên 30000 ở phòng 5 - Quan hệ: NHANVIEN - Thuộc tính: LUONG, PHG - Điều kiện:  LUONG>25000 và PHG=4 hoặc  LUONG>30000 và PHG=5  (LUONG>25000  PHG=4)  (LUONG>30000  PHG=5) (NHANVIEN) Cơ sở dữ liệu - Khoa CNTT 19
  20. 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ệ Cơ sở dữ liệu - Khoa CNTT 20
  21. 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ụ R A B C A C 10 1 1 20 1 A,C (R) 1  30 1  1  40 2  2 Cơ sở dữ liệu - Khoa CNTT 21
  22. Phép chiếu (tt) Phép chiếu không có tính giao hoán X,Y (R) = X ( Y (R)) A1, A2, , An( A1, A2, , Am(R)) = A1, A2, , An (R) , với n m Cơ sở dữ liệu - Khoa CNTT 22
  23. Ví dụ 3 Cho biết họ tên và lương của các nhân viên - Quan hệ: NHANVIEN - Thuộc tính: HONV, TENNV, LUONG HONV,TENNV,LUONG (NHANVIEN) Cơ sở dữ liệu - Khoa CNTT 23
  24. Phép chiếu tổng quát Mở rộng phép chiếu bằng cách cho phép sử dụng các phép toán số học trong danh sách thuộc tính Ký hiệu F1, F2, , Fn (E) - E là biểu thức ĐSQH - F1, F2, , Fn là các biểu thức số học liên quan đến  Hằng số  Thuộc tính trong E Cơ sở dữ liệu - Khoa CNTT 24
  25. Phép chiếu tổng quát (tt) Ví dụ - Cho biết họ tên của các nhân viên và lương của họ sau khi tăng 10% HONV, TENNV, LUONG*1.1 (NHANVIEN) Cơ sở dữ liệu - Khoa CNTT 25
  26. Chuỗi các phép toán Kết hợp các phép toán đại số quan hệ - Lồng các biểu thức lại với nhau A1, A2, , Ak (P (R)) P ( A1, A2, , Ak (R)) - Thực hiện từng phép toán một  B1 P (R)  B2 A1, A2, , Ak (Quan hệ kết quả ở B1) Cần đặt tên cho quan hệ Cơ sở dữ liệu - Khoa CNTT 26
  27. 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) Cơ sở dữ liệu - Khoa CNTT 27
  28. 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ệ Cơ sở dữ liệu - Khoa CNTT 28
  29. 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+  Q+  ) Cơ sở dữ liệu - Khoa CNTT 29
  30. Phép tích Cartesian (tt) Ví dụ R S R A B 1 A B X C D  2 1 10 + 1  10 + 1  20 - S BX C D 1  10 - 10 +  2 10 +  10 +  2  10 +  20 -  2  20 -  10 -  2  10 - (X,C,D) (S) Cơ sở dữ liệu - Khoa CNTT 30
  31. Phép tích Cartesian (tt) Ví dụ unambiguous R A B R S A R.B S.B C D 1  2 1 10 + 1  10 + 1  20 - S B C D 1  10 -  2 10 + 10 +  2  10 +  10 +  2  20 -  20 -  2  10 -  10 - Cơ sở dữ liệu - Khoa CNTT 31
  32. 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 - Cơ sở dữ liệu - Khoa CNTT 32
  33. Ví dụ 4 Với mỗi phòng ban, cho biết thông tin của người trưởng phòng - Quan hệ: PHONGBAN, NHANVIEN - Thuộc tính: TRPHG, MAPHG, TENNV, HONV, TENPHG MAPHG TRPHG NG_NHANCHUC Nghien cuu 5 333445555 05/22/1988 Dieu hanh 4 987987987 01/01/1995 Quan ly 1 888665555 06/19/1981 MANV TENNV HONV NGSINH DCHI PHAI LUONG PHG 333445555 Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5 999887777 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4 987654321 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 987987987 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5 Cơ sở dữ liệu - Khoa CNTT 33
  34. Ví dụ 4 Kết quả TENPHG MAPHG TRPHG NG_NHANCHUC MANV TENNV HONV Nghien cuu 5 333445555 05/22/1988 333445555 Tung Nguyen Dieu hanh 4 987987987 01/01/1995 987987987 Hung Nguyen Quan ly 1 888665555 06/19/1981 888665555 Vinh Pham Cơ sở dữ liệu - Khoa CNTT 34
  35. Ví dụ 4(tt) B1: Tích Cartesian PHONGBAN và NHANVIEN PB_NV  (NHANVIEN PHONGBAN) B2: Chọn ra những bộ thỏa TRPHG=MANV KQ  TRPHG=MANV(PB_NV) Cơ sở dữ liệu - Khoa CNTT 35
  36. Ví dụ 5 Cho biết lương cao nhất trong công ty - Quan hệ: NHANVIEN - Thuộc tính: LUONG TENNV HONV LUONG LUONG Tung Nguyen 40000 40000 Hang Bui 25000 25000 Nhu Le 43000 43000 Hung Nguyen 38000 38000 Cơ sở dữ liệu - Khoa CNTT 36
  37. Ví dụ 5 (tt) B1: Chọn ra những lương không phải là lớn nhất R1  ( LUONG (NHANVIEN)) R2  NHAN_VIEN.LUONG < R1.LUONG(NHANVIEN R1) R3  NHAN_VIEN.LUONG (R2) B2: Lấy tập hợp lương trừ đi lương trong R3 KQ  LUONG (NHANVIEN) R3 Cơ sở dữ liệu - Khoa CNTT 37
  38. Ví dụ 6 Cho biết các phòng ban có cùng địa điểm với phòng số 5 - Quan hệ: DIADIEM_PHG - Thuộc tính: DIADIEM, MAPHG - Điều kiện: MAPHG=5 Phòng 5 có tập hợp những Phòng nào có địa điểm nằm địa điểm nào? trong trong tập hợp đó? MAPHG DIADIEM MAPHG DIADIEM 1 TP HCM 1 TP HCM 4 HA NOI 4 HA NOI 5 VUNGTAU 5 VUNGTAU 5 NHATRANG 5 NHATRANG 5 TP HCM 5 TP HCM Cơ sở dữ liệu - Khoa CNTT 38
  39. Ví dụ 6 (tt) B1: Tìm các địa điểm của phòng 5 DD_P5(DD)  MAPHG=5 (DIADIEM_PHG) B2: Lấy ra các phòng có cùng địa điểm với DD_P5 R1  MAPHG 5 (DIADIEM_PHG) R2  DIADIEM=DD (R1 DD_P5) KQ  MAPHG (R2) Cơ sở dữ liệu - Khoa CNTT 39
  40. Phép kết Kết tự nhiên (Natural join) Kết có điều kiện tổng quát (Theta join) Kết bằng (Equi join) Cơ sở dữ liệu - Khoa CNTT 40
  41. Phép kết (tt) Được dùng để tổ hợp 2 bộ có liên quan từ 2 quan hệ thành 1 bộ Ký hiệu R S - R(A1, A2, , An) và (B1, B2, , Bm) Kết quả của phép kết là một quan hệ Q - Có n + m thuộc tính Q(A1, A2, , An, B1, B2, , Bm) - Mỗi bộ của Q là tổ hợp của 2 bộ trong R và S, thỏa mãn một số điều kiện kết nào đó  Có dạng Ai  Bj  Ai là thuộc tính của R, Bj là thuộc tính của S  Ai và Bj có cùng miền giá trị   là phép so sánh , , , , , Cơ sở dữ liệu - Khoa CNTT 41
  42. Phép kết (tt) Phân loại - Kết theta (theta join) là phép kết có điều kiện  Ký hiệu R C S  C gọi là điều kiện kết trên thuộc tính - Kết bằng (equi join) khi C là điều kiện so sánh bằng - Kết tự nhiên (natural join)  Ký hiệu R S hay R S  R+  Q+   Kết quả của phép kết bằng bỏ bớt đi 1 cột giống nhau Cơ sở dữ liệu - Khoa CNTT 42
  43. 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) Cơ sở dữ liệu - Khoa CNTT 43
  44. Phép kết (tt) Ví dụ phép kết bằng R C=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 4 5 6 6 2 7 8 9 R C=S.C S R A B C S S.CC D A B C S.C D 1 2 3 3 1 1 2 3 3 1 4 5 6 6 2 4 5 6 6 2 7 8 9 (S.C,D) S Cơ sở dữ liệu - Khoa CNTT 44
  45. Phép kết (tt) Ví dụ phép kết tự nhiên R S R A B C S C D A B C S.C D 1 2 3 3 1 1 2 3 3 1 4 5 6 6 2 4 5 6 6 2 7 8 9 A B C D 1 2 3 1 4 5 6 2 Cơ sở dữ liệu - Khoa CNTT 45
  46. Ví dụ 7 Cho biết nhân viên có lương hơn lương của nhân viên ‘Tùng’ - Quan hệ: NHANVIEN - Thuộc tính: LUONG NHAN_VIEN(HONV, TENNV, MANV, , LUONG, PHG) R1(LG)  LUONG (TENNV=‘Tung’ (NHANVIEN)) KQ  NHAN_VIEN LUONG>LG R1 KQ(HONV, TENNV, MANV, , LUONG, LG) Cơ sở dữ liệu - Khoa CNTT 46
  47. Ví dụ 8 Với mỗi nhân viên, hãy cho biết thông tin của phòng ban mà họ đang làm việc - Quan hệ: NHANVIEN, PHONGBAN NHANVIEN(HONV, TENNV, MANV, , PHG) PHONGBAN(TENPHG, MAPHG, TRPHG, NG_NHANCHUC) KQ  NHANVIEN PHG=MAPHG PHONGBAN KQ(HONV, TENNV, MANV, , PHG, TENPHG, MAPHG, ) Cơ sở dữ liệu - Khoa CNTT 47
  48. Ví dụ 9 Với mỗi phòng ban hãy cho biết các địa điểm của phòng ban đó - Quan hệ: PHONGBAN, DDIEM_PHG PHONGBAN(TENPHG, MAPHG, TRPHG, NGAY_NHANCHUC) DDIEM_PHG(MAPHG, DIADIEM) KQ  PHONGBAN DDIEMPHG KQ(TENPHG, MAPHG, TRPHG, NGAY_NHANCHUC, DIADIEM) Cơ sở dữ liệu - Khoa CNTT 48
  49. 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 CS = C(R S) Cơ sở dữ liệu - Khoa CNTT 49
  50. 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ệ Cơ sở dữ liệu - Khoa CNTT 50
  51. Phép chia Gọi R là quan hệ n ngôi và S là quan hệ m ngôi (n>m,s #). Phép chia R: S là tập hợp tất cả (n-m) – bộ t sao cho với mọi bộ u S thì bộ t  u R. Ký hiệu : R ÷ S Sử dụng định nghĩa phép tích Đề - Các, có thể định nghĩa phép chia hình thức hơn R ÷ S = Q sao cho Q x S  R - R(Z) và S(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 R(Z) S(X) T(Y) X Y Cơ sở dữ liệu - Khoa CNTT 51
  52. Phép chia (tt) Ví dụ R  S R A B C D E S D E A B C a a 1 a 1 a  a  a 1 b 1  a  a  b 1  a  a 1  a  b 3  a  a 1  a  b 1  a  b 1 Cơ sở dữ liệu - Khoa CNTT 52
  53. 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) T  Q1 Q3 Cơ sở dữ liệu - Khoa CNTT 53
  54. Ví dụ 10 Cho biết mã nhân viên tham gia tất cả các đề án - Quan hệ: PHANCONG, DEAN - Thuộc tính: MANV Cơ sở dữ liệu - Khoa CNTT 54
  55. Ví dụ 11 Cho biết mã nhân viên tham gia tất cả các đề án do phòng số 4 phụ trách - Quan hệ: PHANCONG, DEAN - Thuộc tính: MANV - Điều kiện: PHG=4 Cơ sở dữ liệu - Khoa CNTT 55
  56. Các phép toán khác Hàm kết hợp (Aggregation function) Phép gom nhóm (Grouping) Phép kết ngoài (Outer join) Cơ sở dữ liệu - Khoa CNTT 56
  57. Hàm kết hợp Nhận vào tập hợp các giá trị và trả về một giá trị đơn - AVG - MIN - MAX - SUM - COUNT Cơ sở dữ liệu - Khoa CNTT 57
  58. Hàm kết hợp (tt) Ví dụ SUM(B) = 10 R A B 1 2 AVG(A) = 1.5 3 4 MIN(A) = 1 1 2 1 2 MAX(B) = 4 COUNT(A) = 4 Cơ sở dữ liệu - Khoa CNTT 58
  59. 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, , GnIF1(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 Cơ sở dữ liệu - Khoa CNTT 59
  60. Phép gom nhóm (tt) Ví dụ ISUM(C)(R) SUM_C R A B C 27 2 7 4 7  2 3  2 10 AISUM(C)(R) SUM_C 14 3 10 Cơ sở dữ liệu - Khoa CNTT 60
  61. Phép kết ngoài Mở rộng phép kết để tránh mất mát thông tin - Thực hiện phép kết - Lấy thêm các bộ không thỏa điều kiện kết Có 3 hình thức - Kết nối trái (Left join) - Kết nối phải phải (Right join) - Kết nối ngoài (Full outer join) Cơ sở dữ liệu - Khoa CNTT 61
  62. Kết nối trái Xác định các bộ giá trị của quan hệ bên trái nhưng không có bộ giá trị tương ứng trong quan hệ bên phải. Cơ sở dữ liệu - Khoa CNTT 62
  63. Kết nối phải Xác định các bộ giá trị của quan hệ bên phải không có bộ giá trị tương ứng trong quan hệ bên trái. Cơ sở dữ liệu - Khoa CNTT 63
  64. Phép kết nối ngoài Xác định các bộ giá trị của quan hệ bên phải không có bộ giá trị tương ứng trong quan hệ bên trái và ngược lại các bộ giá trị quan hệ bên trái không có bộ giá trị tương ứng bên phải. Cơ sở dữ liệu - Khoa CNTT 64
  65. Ví dụ 12 Cho biết họ tên nhân viên và tên phòng ban mà họ phụ trách nếu có - Quan hệ: NHANVIEN, PHONGBAN - Thuộc tinh: TENNV, TENPH R1  NHANVIEN MANV=TRPHG PHONGBAN KQ  HONV,TENNV, TENPHG (R1) TENNV HONV TENPHG Tung Nguyen Nghien cuu Hang Bui null Nhu Le null Vinh Pham Quan ly Cơ sở dữ liệu - Khoa CNTT 65