Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 42 trang
THÔNG TIN TÀI LIỆU
Nội dung
Chương Phép tính quan hệ Nội dung chi tiết Giới thiệu Phép tính quan hệ Phép tính quan hệ miền Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Giới thiệu Maths Database Algebra 1970 1972 Logic Geometry … … … 1981 YOU Relational Algebra Relational Calculus Codd ACM Turing Award 2??? ??? ??? Award 2??? Other fields Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Giới thiệu (tt) Là ngôn ngữ truy vấn hình thức Do Codd đề nghị vào năm 1972, “Data Base Systems”, Prentice Hall, p33-98 Đặc điểm - Phi thủ tục Dựa vào lý thuyết logic Rút trích (what) rút trích (how) Khả diễn đạt tương đương với ĐSQH Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Giới thiệu (tt) Có loại - Phép tính quan hệ (Tuple Rational Calculus) SQL - Phép tính quan hệ miền (Domain Rational Calculus) QBE (Query By Example) Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Nội dung chi tiết Giới thiệu Phép tính quan hệ Phép tính quan hệ miền Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Phép tính quan hệ Biểu thức phép tính quan hệ có dạng { t.A | P(t) } - t biến Biến nhận giá trị quan hệ CSDL t.A giá trị t thuộc tính A - P công thức có liên quan đến t P(t) có giá trị ĐÚNG SAI phụ thuộc vào t - Kết trả tập t cho P(t) Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Ví dụ Tìm nhân viên có lương 30000 { t | t NHANVIEN t.LUONG > 30000 } P(t) P(t) - t NHANVIEN Nếu t thể quan hệ NHANVIEN - t.LUONG > 30000 Nếu thuộc tính LUONG t có giá trị 30000 Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Ví dụ Cho biết mã tên nhân viên có lương 30000 - Tìm t thuộc NHANVIEN có thuộc tính lương lớn 30000 - Lấy giá trị thuộc tính MANV TENNV { t.MANV, t.TENNV | t NHANVIEN t.LUONG > 30000 } - Tập MANV TENNV t cho t thể NHANVIEN t có giá trị lớn 30000 thuộc tính LUONG Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Ví dụ Cho biết nhân viên (MANV) làm việc phòng ‘Nghien cuu’ t.MANV | t NHANVIEN s PHONGBAN s.TENPHG ‘Nghien cuu’ - Lấy t thuộc NHANVIEN - So sánh t với s để tìm nhân viên làm việc phòng ‘Nghien cuu’ - Cấu trúc “tồn tại” phép toán logic t R (Q(t)) Tồn t thuộc quan hệ R cho vị từ Q(t) Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 10 Một số biến đổi (i) P1 P2 = (P1 P2) (ii) tR (P(t)) = tR (P(t)) (iii) tR (P(t)) = tR (P(t)) (iv) P Q = P Q Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 28 Công thức an toàn Xét công thức { t | (t NHANVIEN) } - Có nhiều t không thuộc quan hệ NHANVIEN - Thậm chí CSDL - Kết trả không xác định Một công thức P gọi an toàn giá trị kết lấy từ miền giá trị P - Dom(P) - Tập giá trị đề cập P Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 29 Công thức an toàn (tt) Ví dụ { t | t NHANVIEN t.LUONG > 30000 } - Dom(t NHANVIEN t.LUONG > 30000) - Là tập giá trị Có giá trị 30000 thuộc tính LUONG Và giá trị khác thuộc tính lại - Công thức an toàn Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 30 Nội dung chi tiết Giới thiệu Phép tính quan hệ Phép tính quan hệ miền Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 31 Phép tính quan hệ miền Biểu thức phép tính quan hệ miền có dạng { x1, x2, …, xn | P(x1, x2, …, xn) } - x1, x2, …, xn biến miền Biến nhận giá trị miền giá trị thuộc tính - P công thức theo x1, x2, …, xn P hình thành từ công thức nguyên tố - Kết trả tập giá trị x1, x2, …, xn cho giá trị thay cho xi P Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 32 Ví dụ Cho biết mã tên nhân viên có lương 30000 { r, s | x ( NHANVIEN x > 30000 ) } Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 33 Ví dụ Cho biết nhân viên (MANV) làm việc phòng ‘Nghien cuu’ { s | z ( NHANVIEN a, b ( PHONGBAN a = ‘Nghien cuu’ b = z )) } Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 34 Ví dụ 10 Cho biết nhân viên (MANV, HONV, TENNV) thân nhân { p, r, s | s ( NHANVIEN a ( THANNHAN a = s )) } Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 35 Công thức nguyên tố (i) R - xi biến miền - R quan hệ có n thuộc tính (ii) xy - x, y biến miền - Miền giá trị x y phải giống - phép so sánh , , , , , (iii) xc - c số - x biến miền - phép so sánh , , , , , Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 36 Nhận xét Một công thức nguyên tố mang giá trị ĐÚNG SAI với tập giá trị cụ thể tương ứng với biến miền - Gọi chân trị công thức nguyên tố Một số qui tắc biến đổi tương tự với phép tính quan hệ Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 37 Công thức an toàn Xét công thức { p, r, s | ( NHANVIEN) } - Các giá trị kết trả không thuộc miền giá trị biểu thức - Công thức không an toàn Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 38 Công thức an toàn (tt) Xét công thức { x | y ( R) z ( R P(x, z)) } Công thức - Công thức R quan hệ có tập giá trị hữu hạn Cũng có tập hữu hạn giá trị không thuộc R Công thức 1: xem xét giá trị R Công thức 2: kiểm tra tập giá trị hữu hạn z Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 39 Công thức an toàn (tt) Biểu thức { x1, x2, …, xn | P(x1, x2, …, xn) } gọi an toàn nếu: - Những giá trị xuất biểu thức phải thuộc miền giá trị P - Vị từ : biểu thức x (Q(x)) xác định giá trị x thuộc dom(Q) làm cho Q(x) - Vị từ : biểu thức x (Q(x)) Q(x) với giá trị x thuộc dom(Q) Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 40 Bài tập nhà Bài tập - Làm lại tập chương (ĐSQH) Trừ câu có hàm kết hợp gom nhóm - Biểu diễn ngôn ngữ Phép tính quan hệ có biến Phép tính quan hệ có biến miền Đọc - Ngôn ngữ QBE Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 41 Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 42 [...]... trong đó Có giá trị trên 30000 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 Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 30 Nội dung chi tiết Giới thiệu Phép tính quan hệ trên bộ Phép tính quan hệ trên miền Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 31 Phép tính quan hệ trên miền Biểu thức phép tính quan hệ trên miền có dạng { x1, x2, …, xn |... Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM Biến kết buộc 21 Công thức nguyên tố (i) tR - t là biến bộ - R là quan hệ t NHANVIEN (ii) t.A s.B t.MANV = s.MANV - A là thuộc tính của biến bộ t - B là thuộc tính của biến bộ s - là các phép so sánh , , , , , (iii) t.A c - c là hằng số s.LUONG > 30000 - A là thuộc tính của biến bộ t - là các phép so sánh , , , , , Cơ. .. s.DDIEM_DA ‘TP HCM’ u PHONGBAN (s.PHONG u.MAPHG u.TRPHG t.MANV) } Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 15 Ví dụ 8 Tìm các nhân viên (MA_NVIEN) tham gia vào tất cả các đề án - Cấu trúc “với mọi” của phép toán logic t R (Q(t)) Q đúng với mọi bộ t thuộc quan hệ R Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 16 Ví dụ 8 (tt) Tìm các nhân viên (MANV, HONV, TENNV) tham gia vào tất cả các... cuu’ b = z )) } Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 34 Ví dụ 10 Cho biết các nhân viên (MANV, HONV, TENNV) không có thân nhân nào { p, r, s | s ( NHANVIEN a ( THANNHAN a = s )) } Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 35 Công thức nguyên tố (i) R - xi là biến miền - R là quan hệ có n thuộc tính (ii) xy - x,... (iv) P Q = P Q Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 28 Công thức an toàn Xét công thức { t | (t NHANVIEN) } - Có rất nhiều bộ t không thuộc quan hệ NHANVIEN - Thậm chí không có trong CSDL - Kết quả trả về không xác định Một công thức P gọi là an toàn nếu các giá trị trong kết quả đều lấy từ miền giá trị của P - Dom(P) - Tập các giá trị được đề cập trong P Cơ sở dữ liệu - Khoa CNTT -... t.TENNV | t NHANVIEN s DEAN ( u PHANCONG ( u.SODA s.MADA t.MANV u.MA_NVIEN )) } Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 17 Ví dụ 9 Tìm các nhân viên (MANV, HONV, TENNV) tham gia vào tất cả các đề án do phòng số 4 phụ trách - Cấu trúc “kéo theo” của phép tính logic PQ Nếu P thì Q Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 18 Ví dụ 9 (tt) Tìm các nhân viên (MANV, HONV, TENNV) tham... ĐÚNG Chân trị SAI khi P(t) SAI với mọi bộ t trong R Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 26 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=P1P2 , P=P1P2 , P=P1P2 - 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 Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 27 Một số biến đổi... u.SODA s.MADA t.MANV u.MA_NVIEN ))) } Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 19 Đị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 là các biến bộ - Ai, Aj, …, Ak là các thuộc tính trong các bộ t tương ứng - P là công thức P được hình thành từ những công thức nguyên tố Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 20 Biến bộ... một thuộc tính - P là công thức theo x1, x2, …, xn P được hình thành từ những công thức nguyên tố - Kết quả trả về là tập các giá trị x1, x2, …, xn sao cho khi các giá trị được thay thế cho các xi thì P đúng Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 32 Ví dụ 3 Cho biết mã và tên nhân viên có lương trên 30000 { r, s | x ( NHANVIEN x > 30000 ) } Cơ sở dữ liệu - Khoa... s PHANCONG (t.MANV s.MA_NVIEN) u THANNHAN (t.MANV u.MA_NVIEN)) } Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 13 Ví dụ 6 Cho biết tên các nhân viên (TENNV) tham gia làm đề án mà không có thân nhân nào { t.TENNV | t NHANVIEN s PHANCONG (t.MANV s.MA_NVIEN) u THANNHAN (t.MANV u.MA_NVIEN) } Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 14 Ví dụ 7 Với mỗi đề án ở ‘TP HCM’ cho biết ... Example) Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Nội dung chi tiết Giới thiệu Phép tính quan hệ Phép tính quan hệ miền Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Phép tính quan hệ Biểu thức phép tính. .. thuộc tính LUONG Và giá trị khác thuộc tính lại - Công thức an toàn Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 30 Nội dung chi tiết Giới thiệu Phép tính quan hệ Phép tính quan hệ miền Cơ sở liệu. .. dom(Q) Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 40 Bài tập nhà Bài tập - Làm lại tập chương (ĐSQH) Trừ câu có hàm kết hợp gom nhóm - Biểu diễn ngôn ngữ Phép tính quan hệ có biến Phép tính quan