intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng môn Cơ sở dữ liệu: Chương 4 - ĐH KHTN

Chia sẻ: Vo Hoang Nhan | Ngày: | Loại File: PDF | Số trang:0

181
lượt xem
34
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng môn Cơ sở dữ liệu: Chương 4 giới thiệu về Đại số quan hệ, bài giảng có nội dung trình bày về đại số quan hệ, giới thiệu về đại số quan hệ, phép toán tập hợp, phép chọn, phép chiếu, phép tính 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ệ. Mời các bạn cùng tham khảo bài giảng.

Chủ đề:
Lưu

Nội dung Text: Bài giảng môn Cơ sở dữ liệu: Chương 4 - ĐH KHTN

  1. Nội!dung!chi!2ết! !  Giới"thiệu" !  Đại"số"quan"hệ" ! CHƯƠNG'4' !  Phép"toán"tập"hợp" !  Phép"chọn" Đại!số!quan!hệ! !  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ệ" Bài$giảng$môn$Cơ$sở$dữ$liệu$$ ©"Bộ"môn"Hệ"Thống"Thông"Tin"/"Khoa"Công"Nghệ"Thông"Tin"/"Trường"Đại"học"Khoa"học"Tự"nhiên""" ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 2 Giới!thiệu! Giới!thiệu!(8)! !  Xét"một"số"xử"lý"trên"quan"hệ"KHOA" !  Có"2"loại"xử"lý:" -  Thêm"Khoa"‘Hóa"học’"vào"quan"hệ" -  Làm"thay"đổi"dữ"liệu"(cập"nhật):"thêm"mới,"xóa"và"sửa" -  Chuyển"Khoa"CNTT"sang"phòng"B12" -  Không"làm"thay"đổi"dữ"liệu"(rút"trích):"truy"vấn" MÃKHOA TÊNKHOA NĂMTL PHÒNG ĐIỆNTHOAI TRƯỞNGKHOA NGÀYNHẬNCHỨC !  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" B12 CNTT Công nghệ thông tin 1995 B11 0838123456 002 20/02/2005 một"mô"hình"dữ"liệu" VL Vật lý 1976 B21 0838223223 005 18/09/2003 !  Ngôn"ngữ"truy"vấn"quan"hệ:" SH Sinh học 1980 B31 0838454545 004 11/10/2000 -  Đại"số"quan"hệ"(Relational&Algebra)" HH Hóa học 1980 B41 NULL 007 15/10/2001 "  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" -  Cho"biết"tên"các"khoa"được"thành"lập"từ"năm"1980" -  Phép"tính"quan"hệ"(Relational&Calculus)" " TÊNKHOA$ "  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ó" Sinh"học" Hóa"học" -  SQL"(Structured&Query&Language)" 3 4 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN"
  2. Đại!số! Đại!số!quan!hệ! !  Đại"số" !  Biến"là"các"quan"hệ"" -  Toán"tử"(operator)" -  Tập$hợp"(set)" -  Toán"hạng"(operand)" !  Toán"tử"là"các"phép"toán"(operations)" -  Trên"tập"hợp" "  Hội"""∪"(union)" !  Trong"số"học" "  Giao"∩"(intersec)" -  Toán"tử:"+,"/,"*,"/" "  Trừ""">""(difference)" -  Toán"hạng"/"biến"(variables):"x,"y,"z" -  Rút"trích"1"phần"của"quan"hệ" -  Hằng"(constant)" "  Chọn""σ""(selection)" -  Biểu"thức" "  Chiếu""π""(projection)" "  (x+7)"/"(y/3)" -  Kết"hợp"các"quan"hệ" "  (x+y)*z""and/or"(x+7)"/"(y/3)" "  Tích"Cartesian""×""(Cartesian"product)" "  Kết""""""""(join)" ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 5 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 6 Đại!số!quan!hệ!(8)! Đại!số!quan!hệ!(8)! Phép"toán"đại"số" Phép"toán"đại"số"quan"hệ" !  Khi"dùng"đại"số"quan"hệ,"một"nhu"cầu"truy"vấn"được"thể" " hiện"qua"một"biểu"thức"đại"số"quan"hệ:" Toán"hạng" / "Biến":"x,"y,"z,"…" / "Quan"hệ":"NhanVien,"…" -  Kết"quả"trả"về"là"một$thể$hiện$của"quan"hệ" / "Hằng"số":"150,"…" / "Thể"hiện"của"quan"hệ":"t,"v,"…"" -  Có"thể"là"một"chuỗi"các"phép"toán"đại"số"quan"hệ" Toán"tử" /"Thao"tác"xử"lý"giữa"các"toán" /"Thao"tác"xử"lý"giữa"các"quan"hệ" -  Theo"thứ"tự"thực"hiện"của"các"toán"tử,"kết"quả"của"toán"tử" hạng"để"tạo"thành"giá"trị"mới":"+,"/," để"tạo"thành"quan"hệ"mới":"phép& thực"hiện"trước"là"đầu"vào"cho"toán"tử"thực"hiện"kế"tiế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)&/&(yE3)& &&(x+y)*z&&and/or&(x+7)&/&(yE3)& π & MANV (NHANVIEN)" " " ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 7 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 8
  3. Nội!dung!chi!2ết! Phép!toán!tập!hợp! !  Giới"thiệu" !  Quan"hệ"là"tập"hợp"các"bộ" !  Đại"số"quan"hệ" -  Phép"hội""r"∪"s" -  Phép"giao""r"∩"s" !  Phép$toán$tập$hợp" -  Phép"trừ""r">"s" !  Phép"chọn" !  Phép"chiếu" !  Tính"khả"hợp"(Union"Compatibility)" !  Phép"tích"Cartesian" -  Cho"hai"lược"đồ"quan"hệ"R(A1,"A2,"…,"An)"và"S(B1,"B2,"…,"Bn)," !  Phép"kết" 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" !  Phép"chia" "  Và"có"DOM(Ai)=DOM(Bi)","1≤"i"≤"n" !  Các"phép"toán"khác" !  Các"thao"tác"cập"nhật"trên"quan"hệ" !  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." ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 9 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 10 Phép!toán!tập!hợp!(8)! Phép!hội! !  Ví"dụ"hai"quan"hệ"khả"hợp" !  Cho"2"quan"hệ"r"và"s"khả"hợp" !  Phép"hội"của"r"và"s" SINHVIEN TENSV NGSINH PHAI GIAOVIEN TENGV NG_SINH GIOITINH -  Ký"hiệu"r"∪"s" Tung 12/08/1955 Nam Trinh 04/05/1986 Nu -  Là"một"quan"hệ"gồm"các"bộ"thuộc"r"hoặc"thuộc"s,"hoặc"cả"hai" Hang 07/19/1968 Nu Khang 10/25/1983 Nam (các"bộ"trùng"lắp"sẽ"bị"loại"bỏ)" Nhu 06/20/1951 Nu Phuong 05/03/1958 Nu Hung 09/15/1962 Nam Minh 02/28/1942 Nam r ∪ s = { t / t∈r ∨ t∈s } Chau 12/30/1988 Nu !  Ví"dụ" r A B s A B r∪s A B Bậc n=3 DOM(TENSV) = DOM(TENGV) α 1 α 2 α 1 DOM(NGSINH) = DOM(NG_SINH) α 2 β 3 α 2 DOM(PHAI) = DOM(GIOITINH) β 1 β 1 α 2 β 3 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 11 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 12
  4. Phép!hội!(8)! Phép!giao! SinhVien' GiaoVien' !  Cho"2"quan"hệ"r"và"s"khả"hợp" HOTEN' DIACHI' HOTEN' DIACHI' Đinh Bá Tiến Nguyễn Thanh Tùng 119 Cống Quỳnh, Tp HCM 222 Nguyễn Văn Cừ, Tp HCM Đinh Bá Tiến Trần Thanh Tâm 119 Cống Quỳnh, Tp HCM 553 Mai Thị Lựu, Tp HCM !  Phép"giao"của"r"và"s" Lê Quỳnh Như 291 Hồ Văn Huê, Tp HCM -  Ký"hiệu"r"∩"s" -  Là"một"quan"hệ"gồm"các"bộ"thuộc"r"đồng"thời"thuộc"s" SinhVien'∪!GiaoVien'' HOTEN' DIACHI' r ∩ s = { t / t∈r ∧ t∈s } Đinh Bá Tiến 119 Cống Quỳnh, Tp HCM !  Ví"dụ" Nguyễn Thanh Tùng 222 Nguyễn Văn Cừ, Tp HCM Lê Quỳnh Như 291 Hồ Văn Huê, Tp HCM Trần Thanh Tâm 553 Mai Thị Lựu, Tp HCM r A B s A B r∩s A B α 1 α 2 α 2 α 2 β 3 β 1 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 13 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 14 Phép!giao!(8)! Phép!trừ! SinhVien' GiaoVien' !  Cho"2"quan"hệ"r"và"s"khả"hợp" HOTEN' DIACHI' HOTEN' DIACHI' Đinh Bá Tiến Nguyễn Thanh Tùng 119 Cống Quỳnh, Tp HCM 222 Nguyễn Văn Cừ, Tp HCM Đinh Bá Tiến Trần Thanh Tâm 119 Cống Quỳnh, Tp HCM 553 Mai Thị Lựu, Tp HCM !  Phép"giao"của"r"và"s" Lê Quỳnh Như 291 Hồ Văn Huê, Tp HCM -  Ký"hiệu"r"/"s" -  Là"một"quan"hệ"gồm"các"bộ"thuộc"R"và"không"thuộc"S" SinhVien'∩$GiaoVien'' HOTEN' DIACHI' r - s = { t / t∈r ∧ t∉s } Đinh Bá Tiến 119 Cống Quỳnh, Tp HCM !  Ví"dụ" r A B s A B r-s A B α 1 α 2 α 1 α 2 β 3 β 1 β 1 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 15 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 16
  5. Phép!trừ!(8)! Các!Enh!chất! SinhVien' GiaoVien' !  Giao"hoán" HOTEN' DIACHI' HOTEN' DIACHI' Đinh Bá Tiến 119 Cống Quỳnh, Tp HCM Đinh Bá Tiến 119 Cống Quỳnh, Tp HCM Nguyễn Thanh Tùng Lê Quỳnh Như 222 Nguyễn Văn Cừ, Tp HCM 291 Hồ Văn Huê, Tp HCM Trần Thanh Tâm 553 Mai Thị Lựu, Tp HCM r∪s=s∪r r∩s=s∩r SinhVien'–!GiaoVien'' HOTEN' DIACHI' Nguyễn Thanh Tùng 222 Nguyễn Văn Cừ, Tp HCM Lê Quỳnh Như 291 Hồ Văn Huê, Tp HCM !  Kết"hợp" r ∪ (s ∪ t) = (r ∪ s) ∪ t r ∩ (s ∩ t) = (r ∩ s) ∩ t ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 17 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 18 Các!Enh!chất! Nội!dung!chi!2ết! !  Giao"hoán" !  Giới"thiệu" !  Đại"số"quan"hệ" r∪s=s∪r !  Phép"toán"tập"hợp" r∩s=s∩r !  Phép$chọn$ !  Phép"chiếu" !  Kết"hợp" !  Phép"tích"Cartesian" !  Phép"kết" r ∪ (s ∪ t) = (r ∪ s) ∪ t !  Phép"chia" r ∩ (s ∩ t) = (r ∩ s) ∩ t !  Các"phép"toán"khác" !  Các"thao"tác"cập"nhật"trên"quan"hệ" ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 19 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 20
  6. Phép!chọn! Phép!chọn!(8)! !  Được"dùng"để"lấy"ra"các"bộ"của"quan"hệ"r"thỏa"mãn"điều" !  Kết"quả"trả"về"là"một"quan"hệ"" kiện"chọn"P" -  Có"cùng"danh"sách"thuộc"tính"với"r" !  Ký"hiệu" -  Có"số"bộ"luôn"ít"hơn"hoặc"bằng"số"bộ"của"r" σ P (r) !  Ví"dụ" !  P"là"biểu"thức"gồm"các"mệnh"đề"có"dạng" σ (A=B)∧(D>5) (r) -  ""
  7. Phép!chiếu! Phép!chiếu!(8)! !  Được"dùng"để"lấy"ra"một"vài"cột"của"quan"hệ"r" !  Phép"chiếu"không"có"tính"giao"hoán" !  Ký"hiệu" π A1, A2, …, Ak(r) !  Kết"quả"trả"về"là"một"quan"hệ"" π X,Y (r) = π (π X Y (r)) -  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ụ" π A1, A2, …, An( π A1, A2, …, Am(r)) = π A1, A2, …, An (r) , với n ≤ m π A,C (r) r A B C πA,C (r) A C α 10 1 α 1 α 20 1 β 1 β 30 1 β 2 β 40 2 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 25 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 26 Phép!chọn!vs.!Phép!chiếu! Ví!dụ!1! A1,"A2,"A3"…,"An" A1,"A2,"A3"…,"An" !  Cho"biết"họ"tên"và"mức"lương"của"các"giáo"viên"nữ" Phép chọn σ i j, i>=j ...." ...." π HOTEN, LUONG ( σ PHAI=‘Nữ’ (GIAOVIEN)) A1,"A2,"A3"…,"An" A1,"A2,"A3"…,"Am" π ...." ...." Phép chiếu n m, n>=m ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 27 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 28
  8. Ví!dụ!2! Ví!dụ!3! !  Cho"biết"mã"số"các"giáo"viên"thuộc"bộ"môn"HTTT"hoặc"có" !  Cho"biết"mã"số"các"trưởng"khoa"có"chủ"nhiệm"đề"tài" tham"gia"đề"tài"mã"001" π TRUONGKHOA(KHOA) ∩ π GVCNĐT (ĐETAI) π MAGV ( σ MABM=‘HTTT’ (GIAOVIEN)) ∪ π MAGV ( σ MAĐT=‘001’ (TG_ĐETAI)) ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 29 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 30 Ví!dụ!4! Phép!chiếu!tổng!quát! !  Cho"biết"tên"các"công"việc"bắt"đầu"trong"khoảng"từ" !  Mở"rộng"phép"chiếu"bằng"cách"cho"phép"sử"dụng"các"phép" 01/01/2007"đến"01/08/2007" toán"số"học"trong"danh"sách"thuộc"tính" !  Ký"hiệu""πF1,"F2,"…,"Fn"(E)" σ (NGAYBĐ>=‘1/1/2007’ ∧ NGAYBĐ
  9. Phép!chiếu!tổng!quát! Chuỗi!các!phép!toán! !  Ví"dụ" !  Kết"hợp"các"phép"toán"đại"số"quan"hệ" -  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%" -  Lồng"các"biểu"thức"lại"với"nhau" π A1, A2, …, Ak ( σ P (r)) σ (π P A1, A2, …, Ak (r)) π HOTEN, LUONG*1.1 (GIAOVIEN) -  Thực"hiện"từng"phép"toán"một" "  B1" σ(r) P "  B2" π A1, A2, …, Ak (Quan hệ kết quả ở B1) Cần đặt tên cho quan hệ ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 33 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 34 Phép!gán! Phép!đổi!tên! !  Được"sử"dụng"để"nhận"lấy"kết"quả"trả"về"của"một"phép"toán" !  Được"dùng"để"đổi"tên"" -  Thường"là"kết"quả"trung"gian"trong"chuỗi"các"phép"toán"" -  Quan"hệ" !  Ký"hiệu""←" Xét quan hệ r(B, C, D) ρs(r) : Đổi tên quan hệ r thành s !  Ví"dụ" -  B1" -  Thuộc"tính" -  B2" s← σ P (r) ρX, C, D (r) : Đổi tên thuộc tính B thành X -  Quan"hệ"lẫn"thuộc"tính" KQ ← π A1, A2, …, Ak (s) ρs(X,C,D)(r) : đổi tên quan hệ r thành s và thuộc tính B thành X ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 35 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 36
  10. Ví!dụ!5! Nội!dung!chi!2ết! !  Cho"biết"mã"số"và"họ"tên"giáo"viên"thuộc"bộ"môn"HTTT" !  Giới"thiệu" !  Đại"số"quan"hệ" !  Phép"toán"tập"hợp" !  C1:" π MAGV, HOTEN ( σ MABM=‘HTTT’ (GIAOVIEN)) !  Phép"chọn" !  Phép"chiếu" !  C2:" GV_HTTT ← σMABM=‘HTTT’ (GIAOVIEN) !  Phép"tích"Cartesian" KQ ← πMAGV, HOTEN (GV_HTTT) !  Phép"kết" !  Phép"chia" KQ(MA, TEN) ← π MAGV, HOTEN (GV_HTTT) !  Các"phép"toán"khác" ρKQ(MA, TEN) (πMAGV, HOTEN (GV_HTTT)) !  Các"thao"tác"cập"nhật"trên"quan"hệ" ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 37 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 38 Phép!Ech!Cartesian! Phép!Ech!Cartesian!(8)! !  Được"dùng"để"kết"hợp"các"bộ"của"các"quan"hệ"lại"với"nhau" !  Ví"dụ" unambiguous !  Ký"hiệu" r A B r×s r×s A R.B X S.B C D α 1 !  Kết"quả"trả"về"là"một"quan"hệ"q" β 2 α 1 α 10 + α 1 β 10 + -  Mỗi"bộ"của"q"là"tổ"hợp"giữa"1"bộ"trong"r"và"1"bộ"trong"s" α 1 β 20 - -  Nếu"r"có"u"bộ"và"s"có"v"bộ"thì"q"sẽ"có"u"×"v"bộ" S B X C D α 1 γ 10 - -  Nếu"r"có"n"thuộc"tính"và"s"có"m"thuộc"tính"thì"q"sẽ"có"n"+"m" α 10 + β 2 α 10 + thuộc"tính"(R+"∩"S+""=$∅")" β 10 + β 2 β 10 + β 2 β 20 - β 20 - β 2 γ 10 - γ 10 - ρ(X,C,D) (s) ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 39 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 40
  11. Phép!Ech!Cartesian!(8)! Ví!dụ!6! !  Cho"biết"thông"tin"của"bộ"môn"cùng"thông"tin"giảng"viên" !  Thông"thường"theo"sau"phép"tích"Cartesian"là"phép"chọn" làm"trưởng"bộ"môn"đó" TENBM MABM TRUONGBM NGAYNHANCHUC … r×s σ A=S.B (r × s) Hệ thống thông tin HTTT 002 20/09/2004 Công nghệ tri thức CNTT A R.B S.B C D A R.B S.B C D Mạng máy tính MMT 001 15/05/2005 α 1 α 10 + α 1 α 10 + α 1 β 10 + β 2 β 10 + α 1 β 20 - β 2 β 20 - MAGV HOTEN NGSINH MABM PHAI LUONG …. α 1 γ 10 - β 2 α 10 + 001 Nguyễn Hoài An 15/02/1973 MMT Nam 2000 β 2 β 10 + 002 Trần Trà Dương 20/06/1960 HTTT Nu 2500 β 2 β 20 - 003 Nguyễn Ngọc Anh 11/05/1975 HTTT Nu 2200 β 2 γ 10 - 004 Trương Nam Sơn 20/06/1959 VS Nam 2300 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 41 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 42 Ví!dụ!6!(8)! Ví!dụ!6!(8)! !  B1:"Tích"Cartesian"BOMON"và"GIAOVIEN" TENBM MABM TRUONGBM NGAYNHANCHUC GV HOTEN … BM_GV ← (GIÁOVIÊN × BỘMÔN) 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 !  B2:"Chọn"ra"những"bộ"thỏa"TRUONGBM"="MAGV" KQ ← σ TRUONGBM=MAGV(BM_GV) ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 43 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 44
  12. Ví!dụ!7! GIÁOVIÊN MÃGV HỌTÊN …. NGÀYSINH SỐNHÀ …. 001 Nguyễn Hoài An …. 15/02/1973 25/3 …. !  Cho"biết"mức"lương"cao"nhất"của"các"giảng"viên" 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 …. HOTEN … LUONG … … LUONG … CNTT Công nghệ tri thức B15 …. …. Nguyễn Hoài An … 2000 … … 2000 … MMT Mạng máy tính B16 …. 001 …. Trần Trà Hương … 2500 … … 2500 … …. …. …. …. …. …. Nguyễn Ngọc Anh … 2200 … … 2200 … … … … … (BM_GV) GIÁOVIÊN x BỘMÔN σTRUONGBM=MAGV 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 …. 45 …. …. …. …. …. …. …. …. …. …. …. ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 46 Ví!dụ!7!(8)! Ví!dụ!8! !  B1:"Chọn"ra"những"lương"không"phải"là"lớn"nhất" !  Cho"biết"họ"tên"các"giáo"viên"cùng"bộ"môn"với"giáo"viên" ‘Trần"Trà"Hương’" π r1 ← ( LUONG (GIAOVIEN)) -  Quan"hệ:"GIAOVIEN" -  Thuộc"tính:"HOTEN,"MABM" r2 ← σ GIAOVIEN.LUONG < R1.LUONG(GIAOVIEN × r1) -  Điều"kiện:"HOTEN"="‘Trần"Trà"Hương’" r3 ← π R2.LUONG (r2) Giáo viên “Trần Trà Hương” ở bộ môn nào? Những giáo viên nào thuộc về bộ môn đó? !  B2:"Lấy"tập"hợp"lương"trừ"đi"lương"trong"r3" MABM HOTEN MABM HOTEN MMT Nguyễn Hoài An MMT Nguyễn Hoài An KQ ← π LUONG (GIAOVIEN) - r3 HTTT HTTT Trần Trà Hương Nguyễn Ngọc Anh HTTT HTTT Trần Trà Hương Nguyễn Ngọc Anh VS Trương Nam Sơn VS Trương Nam Sơn … … … … ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 47 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 48
  13. Ví!dụ!8!(8)! Ví!dụ!9! !  Tìm"các"đề"tài"thuộc"chủ"đề"‘Quản"lý"giáo"dục’" !  B1:"Tìm"bộ"môn"mà"giáo"viên"‘Trần"Trà"Hương’"thuộc"về" -  Quan"hệ:"CHUĐE,"ĐETAI" -  Thuộc"tính:"TENCĐ,"MACĐ" r1 ← π MABM,MAGV ( σ HOTEN=‘Trần Trà Hương’ (GIAOVIEN)) -  Điều"kiện:"TENCĐ"="‘Quản"lý"giáo"dục’" MACĐ TENCĐ !  B2:"Lấy"ra"họ"tên"các"giáo"viên"cùng"bộ"môn" QLGD Quản lý giáo dục NCPT Nghiên cứu phát triển ƯDCN Ứng dụng công nghệ … … r2 ← σ HOTEN ’Trần Trà Hương’ (GIAOVIEN) MAĐT TENĐT MACĐ … r3 ← σ R1.MABM=R2.MABM (r1 × r2) 001 HTTT quản lý các trường ĐH QLGD … 002 HTTT quản lý giáo vụ cho một Khoa GLGD … KQ ← π HOTEN (r3) 003 Nghiên cứu chế tạo sợi Nanô Platin NCPT … … … … … ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 49 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 50 Nội!dung!chi!2ết! Phép!kết! !  Giới"thiệu" !  Đại"số"quan"hệ" !  Được"dùng"để"truy"xuất"dữ"liệu"từ"hai"quan"hệ" !  Phép"toán"tập"hợp" !  Ký"hiệu"r""""""s" !  Phép"chọn" -  R(A1,"A2,"…,"An)"và"S(B1,"B2,"…,"Bm)" !  Phép"chiếu" !  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)" !  Phép"tích"Cartesian" -  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" !  Phép$kết$ một"số"điều"kiện"kết"nào"đó" -  Kết"tự"nhiên"(Natural"join)" "  Có"dạng"Ai"θ"Bj" -  Kết"có"điều"kiện"tổng"quát"(Theta"join)" "  Ai"là"thuộc"tính"của"R,"Bj"là"thuộc"tính"của"S"" -  Kết"bằng"(Equi"join)" "  Ai"và"Bj"có"cùng"miền"giá"trị" !  Phép"chia" "  θ"là"phép"so"sánh"≠,"=,"
  14. Phép!kết!(8)! Phép!kết!(8)! !  Phân"loại" !  Ví"dụ"phép"kết"theta" -  Kết"theta"(theta"join)"là"phép"kết"có"điều"kiện"" "  Ký"hiệu"r""""""C"s" r s B
  15. Ví!dụ!10! Ví!dụ!11! !  Cho"biết"giáo"viên"có"lương"lớn"hơn"lương"của"giáo"viên" !  Với"mỗi"giáo"viên,"hãy"cho"biết"thông"tin"của"bộ"môn"mà"họ" ‘Nguyễn"Hoài"An’" đang"làm"việc" -  Quan"hệ:"GIAOVIEN$ -  Quan"hệ:"GIAOVIEN,"BOMON$ -  Thuộc"tính:"LUONG$ GIAOVIEN(MAGV, HOTEN, LUONG, PHAI, …, MABM, …) GIAOVIEN(MAGV, HOTEN, LUONG, PHAI, NGAYSINH, BOMON(MABM, TENBM, PHONG, DIENTHOAI, …) …) R1(LG) ← π LUONG ( σ HOTEN=‘Nguyễn Hoài An’ (GIAOVIEN)) KQ ← GIAOVIEN BOMON KQ ← GIAOVIEN LUONG>LG R1 KQ(MAGV, HOTEN, …, MABM, TENBM, PHONG, …)) KQ(MAGV, HOTEN, LUONG, PHAI, NGAYSINH,…, LG)) ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 57 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 58 Ví!dụ!12! Ví!dụ!13! !  Với"mỗi"đề"tài,"cho"biết"thông"tin"giáo"viên"chủ"nhiệm"đề"tài" !  Với"mỗi"khoa"cho"biết"thông"tin"trưởng"khoa" đó" -  Quan"hệ:"ĐETAI,"GIAOVIEN$ ĐETAI(MAĐT, TENĐT, KINHPHI, …, GVCNĐT) GIAOVIEN(MAGV, HOTEN, LUONG, PHAI, …) KQ ← ĐETAI GVCNĐT = MAGV GIAOVIEN KQ(MAĐT, TENĐT, KINHPHI, …, GVCNĐT, MAGV, HOTEN, …) ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 59 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 60
  16. Ví!dụ!14! Ví!dụ!15! !  Cho"biết"lương"cao"nhất"trong"bộ"môn"‘HTTT’" !  Cho"biết"giáo"viên"làm"việc"cùng"bộ"môn"với"giáo"viên"002" ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 61 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 62 Ví!dụ!16! Tập!đầy!đủ!các!phép!toán!ĐSQH! !  Cho"biết"các"giáo"viên"của"bộ"môn"‘Vi"sinh’"có"tham"gia"đề" !  Tập"các"phép"toán"σ,"π,"×,">,"∪"được"gọi"là"tập"đầy"đủ"các" tài"006" 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))" σC(r×s)" "  r""""""C"s"=" ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 63 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 64
  17. Nội!dung!chi!2ết! Phép!chia! !  Giới"thiệu" !  Được"dùng"để"lấy"ra"một"số"bộ"trong"quan"hệ"r"sao"cho" !  Đại"số"quan"hệ" thỏa"với"tất"cả"các"bộ"trong"quan"hệ"s" !  Phép"toán"tập"hợp" !  Ký"hiệu"r"÷"s" !  Phép"chọn" -  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" !  Phép"chiếu" "  X"⊆"Z" !  Phép"tích"Cartesian" !  Phép"kết" !  Kết"quả"của"phép"chia"là"một"quan"hệ"t(Y)"" -  Với"Y=Z/X" !  Phép$chia$ -  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" !  Các"phép"toán"khác" thỏa"2"điều"kiện" !  Các"thao"tác"cập"nhật"trên"quan"hệ" "  tR(Y)"="t0" R(Z) S(X) T(Y) "  tR(X)"="tS(X)" X Y ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 65 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 66 Phép!chia!(8)! Ví!dụ!17! !  Ví"dụ" !  Cho"biết"mã"giáo"viên"tham"gia"tất"cả"công"việc"thuộc"đề"tài" r÷s 001" 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 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 67 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 68
  18. Ví!dụ!18! Phép!chia!(8)! !  Cho"biết"tên"đề"tài"có"tất"cả"giảng"viên"bộ"môn"‘Hệ"thống" !  Biểu"diễn"phép"chia"thông"qua"tập"đầy"đủ"các"phép"toán" thông"tin’"tham"gia" ĐSQH" Q1 ← π Y (r) Q2 ← Q1 × s Q3 ← π (Q2 - r) Y KQ ← Q1 - Q3 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 69 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 70 Nội!dung!chi!2ết! Hàm!kết!hợp! !  Giới"thiệu" !  Đại"số"quan"hệ" !  Nhận"vào"tập"hợp"các"giá"trị" !  Phép"toán"tập"hợp" !  Trả"về"một"giá"trị"đơn" !  Phép"chọn" !  Gồm" !  Phép"chiếu" -  AVG" !  Phép"tích"Cartesian" -  MIN" !  Phép"kết" -  MAX" !  Phép$chia" -  SUM" !  Các$phép$toán$khác$ -  COUNT" -  Hàm"kết"hợp"(Aggregation"function)" -  Phép"gom"nhóm"(Grouping)" -  Phép"kết"ngoài"(Outer"join)" !  Các"thao"tác"cập"nhật"trên"quan"hệ" ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 71 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 72
  19. Hàm!kết!hợp!(8)! Phép!gom!nhóm! !  Ví"dụ" !  Đượ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"đó" SUM(B) = 10 !  Ký"hiệu" r A B AVG(A) = 1.5 G1, G2, …, Gn ℑF1(A1), F2(A2), …, Fn(An)(E) 1 2 MIN(A) = 1 -  E"là"biểu"thức"ĐSQH" 3 4 MAX(B) = 4 1 2 -  G1,"G2,"…,"Gn"là"các"thuộc"tính"gom"nhóm" COUNT(A) = 4 1 2 -  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" ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 73 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 74 Phép!gom!nhóm!(8)! Ví!dụ!19! !  Ví"dụ !  Cho"biết"số"lượng"giáo"viên"viên"và"tổng"lương"của"họ" ℑSUM(C)(r) SUM_C r A B C 27 α 2 7 α 4 7 β 2 3 γ 2 10 A ℑSUM(C)(r) A SUM_C α 14 β 3 γ 10 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 75 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 76
  20. Ví!dụ!20! Ví!dụ!21! !  Cho"biết"số"lượng"giáo"viên"và"lương"trung"bình"của"từng"bộ" !  Cho"biết"tên"khoa"có"đông"giáo"viên"nhất" môn" ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 77 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 78 Ví!dụ!22! Ví!dụ!23! !  Cho"biết"họ"tên"giáo"viên"chủ"nhiệm"nhiều"đề"tài"nhất" !  Cho"biết"tên"chủ"đề"và"số"lượng"đề"tài"thuộc"về"chủ"đề"đó" ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 79 ©"Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN" 80
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2