Bài giảng Cơ sở dữ liệu - Chương 6: Phép tính quan hệ - Nguyễn Thị Như Anh

Giới thiệu
▪ Nhắc lại về lý thuyết logic
▪ Phép tính quan hệ trên bộ
- Tuple Relational Calculus (TRC)
▪ Phép tính quan hệ trên miền
- Domain Relational Calculus (DRC) 
pdf 23 trang xuanthi 02/01/2023 1880
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 6: Phép tính quan hệ - Nguyễn Thị Như Anh", để 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_chuong_6_phep_tinh_quan_he_nguyen_th.pdf

Nội dung text: Bài giảng Cơ sở dữ liệu - Chương 6: Phép tính quan hệ - Nguyễn Thị Như Anh

  1. Nội dung ▪ Giới thiệu ▪ Nhắc lại về lý thuyết logic ▪ Phép tính quan hệ trên bộ ▪ Phép tính quan hệ trên miền © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 3 Giới thiệu (tt) ▪ Ngôn ngữ truy vấn hình thức dựa trên lý thuyết logic do Codd đề nghị năm 1972 ▪ Sử dụng biểu thức logic để định nghĩa hình thức kết quả câu truy vấn - Dựa trên lý thuyết logic - Phi thủ tục - Rút trích “cái gì” hơn là “làm thế nào” ▪ Khả năng diễn đạt tương đương ĐSQH © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 4 2
  2. Nhắc lại về lý thuyết logic ▪ Biểu thức logic : phát biểu luôn có giá trị “đúng” hay “sai” - Bây giờ là tháng 8. - 1 > 5 (phát biểu hằng sai) ▪ Các khái niệm : - Biến : đại lượng biến thiên - x, y, z, - Phép toán logic -  : phủ định, : kéo theo,  : và,  : hoặc - Lượng từ -  : tồn tại,  : với mọi - Công thức : các biểu thức xây dựng dựa trên biểu thức logic - © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 7 Nhắc lại về lý thuyết logic ▪ Một số ví dụ về công thức logic - P(t), P(t) , Q(t) - P(t)  Q(t) - t(P(t)) - t(P(t)) © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 8 4
  3. Ví dụ 1 ▪ Tìm các giáo viên có lương trên 2000 { t | GIAOVIEN (t)  t.LUONG > 2000 } P(t) Q(t) - Tìm các bộ t thuộc quan hệ giáo viên và thuộc tính lương có giá trị trên 2000 - Kết quả : t là các bộ thỏa mãn P(t) và Q(t) đúng - GIAOVIEN(t) đúng ⚫ Nếu t là một bộ của quan hệ GIAOVIEN - t.LUONG > 2000 đúng ⚫ Nếu thuộc tính LUONG của t có giá trị trên 2000 © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 11 Ví dụ 2 ▪ Tìm mã và họ tên giáo viên có lương trên 2000 { t.MAGV, t.HOTEN | GIAOVIEN (t)  t.LUONG > 2000 } P(t) - Tập các MAGV và HOTEN của những bộ t sao cho t là một thể hiện của GIAOVIEN và t có giá trị lớn hơn 2000 tại thuộc tính LUONG - Kết quả : - Tìm những bộ t thuộc GIAOVIEN có thuộc tính lương lớn hơn 2000 - Lấy ra các giá trị tại thuộc tính MAGV và HOTEN © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 12 6
  4. Ví dụ 4 ▪ Cho bie t te n ca c gia o vie n (HOTEN) tham gia đè tài hoặc là trưởng bộ môn { t.HOTEN | GIAOVIEN(t)  ( (s)(THAMGIADT(s)  t.MAGV = s.MAGV)  (u)(BOMON(u)  t.MAGV = u.TRUONGBM)) } GIAOVIEN THAMGIADT BOMON MAGV HOTEN MAGV MADT MABM TRUONGBM t1 1 Nguyễn Hoài An 1 1 HTTT 1 t2 2 Trần Trà Hương 3 2 CNPM 4 t3 3 Nguyễn Nam Sơn MMT null t4 4 Lý Hoàng Hà © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 15 Ví dụ 5 ▪ Cho bie t te n ca c gia o vie n (HOTEN) vư a kho ng tham gia đè tài vừa không chủ nhiệm đề tài { t.HOTEN | GIAOVIEN(t)  (  (s) (THAMGIADT(s)  t.MAGV = s.MAGV)   (u) (DETAI(u)  t.MAGV = u.GVCNDT)) } GIAOVIEN THAMGIADT DETAI MAGV HOTEN MAGV MADT MADT GVCNDT 1 Nguyễn Hoài An 1 1 1 1 2 Trần Trà Hương 3 2 2 2 3 Nguyễn Nam Sơn 3 null 4 Lý Hoàng Hà © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 16 8
  5. Ví dụ 8 ▪ Tìm các giáo viên (MAGV, HOTEN) tham gia vào tất cả các đề tài - Cấu trúc “với mọi” của phép toán logic (t) (P(t)) Mọi bộ t phải làm cho biểu thức P đúng © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 19 Ví dụ 8 (tt) ▪ Tìm các giáo viên (MAGV, HOTEN) tham gia vào tất cả các đề tài { t.MAGV, t.HOTEN | GIAOVIEN(t)  (s)(DETAI(s)  (u)(THAMGIADT(u)  u.MADT = s.MADT  t.MAGV = u.MAGV))} GIAOVIEN DETAI THAMGIADT MAGV HOTEN MADT TENDT MAGV MADT t1 1 Nguyễn Hoài An s1 1 u1 1 1 t2 2 Trần Trà Hương s2 2 u2 2 2 t3 3 Nguyễn Nam Sơn s3 3 u3 4 1 t4 4 Lý Hoàng Hà u4 4 2 u5 4 3 © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 20 10
  6. GIAOVIEN DETAI THAMGIADT MAGV HOTEN MADT GVCNDT MAGV MADT t1 1 Nguyễn Hoài An s1 1 2 u1 1 1 t2 2 Trần Trà Hương s2 2 1 u2 1 3 t3 3 Nguyễn Nam Sơn s3 3 2 u3 2 1 t4 4 Lý Hoàng Hà s4 4 null u4 4 2 s5 5 4 u5 2 3 4 3 4 5 { t.MAGV, t.HOTEN | GIAOVIEN(t)  (s)((DETAI(s)  MAGV s.GVCNDT = 2) (u(THAMGIADT(u)  1 u.MADT = s.MADT  2 t.MAGV = u.MAGV ))) } © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 23 Định nghĩa hình thức ▪ Một công thức truy vấn tổng quát có dạng { t1.Ai, t2.Aj, tn.Ak | P(t1, t2, , tn) } - t1, t2, , tn la ca c biến bộ - Ai, Aj, , Ak la ca c thuo ̣ c tinh trong ca c bo ̣ t tương ư ng - P là công thức ⚫ P là công thức nguyên tố ⚫ Hoặc được hình thành từ những công thức nguyên tố © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 24 12
  7. Công thức nguyên tố (tt) ▪ Mỗi công thức nguyên tố đều mang giá trị ĐÚNG hoặc SAI - Gọi là chân trị của công thức nguyên tố ▪ Công thức (i) t R - Chân trị ĐÚNG nếu t là một bộ thuộc R - Chân trị SAI nếu t không thuộc R R A B C t1 = t1 R có chân trị ĐÚNG 10 1 t2 = t2 R có chân trị SAI 20 1 © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 27 Công thức nguyên tố (tt) ▪ Công thức (ii) và (iii) t.A  s.B t.A  c - Chân trị tùy thuộc vào việc thay thế giá trị thật sự của bộ vào vị trí biến bộ R A B C Nếu t là bộ 10 1 Thì t.B > 5 có chân trị ĐÚNG (10 > 5) 20 1 © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 28 14
  8. Qui tắc (tt) ▪ (4) Nếu P(t) là công thức thì - t (P(t)) là công thức ⚫ Chân trị ĐÚNG khi P(t) ĐÚNG với mọi bộ t. ⚫ Chân trị SAI khi có ít nhất 1 bộ t làm cho P(t) SAI - t (P(t)) là công thức ⚫ Chân trị ĐÚNG khi có ít nhất 1 bộ làm cho P(t) ĐÚNG ⚫ Chân trị SAI khi P(t) SAI với mọi bộ t © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 31 Qui tắc (tt) ▪ (5) Nếu P là công thức nguyên tố thì - Các biến bộ t trong P là biến tự do ▪ (6) Công thức P=P1P2 , P=P1P2 , P=P1 P2 - Sự xuất hiện của biến t trong P là tự do hay kết buộc phụ thuộc vào việc nó là tự do hay kết buộc trong P1, P2 © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 32 16
  9. Công thức an toàn (tt) ▪ Ví dụ { t | GIAOVIEN(t)  t.LUONG > 30000 } - Dom(GIAOVIEN(t)  t.LUONG > 30000) - Là tập các giá trị trong đó ⚫ Có giá trị trên 3000 tại thuộc tính LUONG ⚫ Và các giá trị khác tại những thuộc tính còn lại - Công thức trên là an toàn © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 35 Nội dung ▪ Giới thiệu ▪ Nhắc lại về lý thuyết logic ▪ Phép tính quan hệ trên bộ ▪ Phép tính quan hệ trên miền © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 36 18
  10. Ví dụ 2 ▪ Cho biết các giáo viên (MAGV) làm việc ở bộ môn ‘Hệ thống thông tin’ {p | (m)(GIAOVIEN(p, q, r, s, t, u, v, x, y, z,m)  (a)(b)(BOMON(a, b, c, d, e, f, j)  b = ‘Hệ thống thông tin’  a = m )) } GIAOVIEN(MAGV, HOTEN, LUONG, PHAI, NGAYSINH, SONHA, DUONG, QUAN, THANHPHO, GVQLCM, MABM) BOMON(MABM, TENBM, PHONG, DIENTHOAI, TRUONGBM, MAKHOA, NGAYNHANCHUC) © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 39 Ví dụ 3 ▪ Cho biết các giáo viên (MAGV, HOTEN) không có tham gia đề tài nào {p, q | GIAOVIEN(p, q, r, s, t, u, v, x, y, z, m)  (a)(THAMGIADT(a, b, c, d, e)  a = p ) } GIAOVIEN(MAGV, HOTEN, LUONG, PHAI, NGAYSINH, SONHA, DUONG, QUAN, THANHPHO, GVQLCM, MABM) THAMGIADT(MAGV, MADT, STT, PHUCAP, KETQUA) © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 40 20
  11. Công thức an toàn ▪ Xét công thức { p, r, s |  GIAOVIEN(p, q, r, s, t, u, v, x, y, z)} - Các giá trị trong kết quả trả về không thuộc miền giá trị của biểu thức - Công thức không an toàn © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 43 Công thức an toàn (tt) ▪ Xét công thức { x | y (R(x, y))  z ( R(x, z)  P(x, z)) } Công thức 1 Công thức 2 - R là quan hệ có tập các giá trị hữu hạn - Cũng có 1 tập hữu hạn các giá trị không thuộc R - Công thức 1: chỉ xem xét các giá trị trong R - Công thức 2: không thể kiểm tra khi không biết tập giá trị hữu hạn của z © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 44 22