Bài giảng Cơ sở dũ liệu - Chương 5: Mô hình dữ liệu quan hệ

Nội dung

Đại số quan hệ

5 phép toán cơ bản

3 phép toán suy dẫn

Các loại phép kết

Các quy tắc của 1 DBMS

 

ppt51 trang | Chia sẻ: hienduc166 | Lượt xem: 877 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Cơ sở dũ liệu - Chương 5: Mô hình dữ liệu quan hệ, để xem tài liệu hoàn chỉnh bạn click vào nút TẢI VỀ ở trên
Chương 5Mô hình dữ lịêu quan hệ1Nội dungĐại số quan hệ5 phép toán cơ bản3 phép toán suy dẫnCác loại phép kếtCác quy tắc của 1 DBMS2Ngôn ngữ quan hệNgôn ngữ phi thủ tục (non-procedural language) cho phép người dùng chỉ ra cái (what) họ muốn mà không cần chỉ ra cách thực hiện như thế nào (how) để được kết quả đóSQL là ngôn ngữ phi thủ tụcĐại số quan hệ là một ngôn ngữ thủ tục mức cao (high-level procedure language) cho phép DBMS tạo 1 quan hệ mới3Đại số quan hệ (Relational Algebra)Đại số quan hệ là ngôn ngữ tập hợp (set language) bao gồm các toán tử (operator) thao tác trên 1 hay nhiều quan hệ để tạo ra 1 quan hệ khác mà không làm thay đổi các quan hệ ban đầu.Các toán hạng và kết quả đều là quan hệ Kết quả của 1 phép toán có thể trở thành toán hạng cho 1 phép toán khác  tính bao đóng (closure)4Đại số quan hệ và SQL Query thực chất là 1 biểu thức chứa các toán tử của đại số quan hệ. Kết quả của query cũng là 1 quan hệ. NhưngSQL là 1 ngôn ngữ phi thủ tục ( không xác định các thủ tục được dùng để xử lý truy vấn), còn đại số quan hệ theo hướng thủ tục.Mối liên hệ giữa SQL và đại số quan hệ??5Đại số quan hệ và SQLLập trình viên dùng SQL để xác định query của họ.DBMS kiểm tra cú pháp (parse) của query, dịch nó thành 1 biểu thức của đại số quan hệ, đơn giản hơn nhưng ít hiệu quả hơn về giải thuật. Query optimizer biến đổi biểu thức đại số này thành 1 biểu thức tương đương nhưng ít tốn thời gian thực thi hơn  tạo 1 execution plan. Code generator chuyển đổi nó thành mã để thực thi. 6SQL queryRelational algebra ExpressionQuery Execution PlanExecutable CodeParserQuery OptimizerCode generator75 phép toán cơ bảnPhép chọn (selection)Phép chiếu (projection)Phép tích Descartes (Cartesian product)Phép hợp (union)Phép hiệu (difference)83 phép toán suy dẫn(Derived operator)Có thể được biểu diễn như biểu thức của các phép toán cơ bản 3 phép toán suy dẫn:IntersectionDivisionJoin95 phép toán cơ bảnCác phép toán được thực hiện cho quan hệ r trên lược đồ quan hệ R và điều kiện FĐiều kiện F là 1 biểu thức luận lý có giá trị true/false, nó bao gồm:Các toán hạng là hằng hoặc tên thuộc tính Các phép toán so sánh =, , , Các phép toán luận lý not (), and (), or ()10Phép chọn (selection)Phép chọn trên r theo điều kiện F, ký hiệu là F(r), cho kết quả là 1 quan hệ bao gồm các bộ của r thỏa mãn điều kiện FF(r) = {t|t r và F(t) = true}Nếu quan hệ r có bậc là n và có k bộ thì F(r) có bậc là n và có tối đa là k bộ11Ví dụ12SelectionPRICE sao cho đối với mỗi bộ của s , thì bộ thuộc r  r/s if and only if {} x s  r43AB ---a---- ---b---- ---a---- ---b---- ---c---- ---a---- ---b---- ---c---- ---b---- ---c----B___a_______b_______c____Quan hệ s1234Quan hệ rNot in r/sIn r/s44Ví dụ phép chiaPROFCSId101555CrsCodeCS305PROFCOURSESIdCrsCode783009121555101900101M123M123EE101CS305CS315MA23CS305Kết quả của PROFCOURSES/PROFCSMôn học mà tất cả giáo sư CS đều dạy45Ví dụ phép chia(Id,Name(STUDENT))[StudId, Name] (StudId,CrsCode(TRANSCRIPT)/ ((ProfId,CrsCode(TEACHING))[Id,CrsCode]/ Id(DeptIdr=‘CS’(PROFESSOR))) Sinh viên đã học tất cả các môn học được dạy bởi các giáo sư của khoa CS46Hệ quản trị cơ sở dữ liệu(Database Management System – DBMS)Các quy tắc cơ bản: để đánh giá 1 hệ thống có phải là 1 DBMS quan hệ hay không?Quy tắc 0 – Qui tắc cơ bản (foundational rule)Một hệ thống được xem là 1 DBMS quan hệ nếu hệ thống này có thể quản lý toàn bộ DB thông qua các khả năng quan hệQuy tắc 12 – Qui tắc bất biến (Non-subversion rule)Nếu 1 hệ thống quan hệ có ngôn ngữ mức thấp, thì các ràng buộc toàn vẹn trong ngôn ngữ quan hệ mức cao phải được kiểm tra ở mức thấpNgôn ngữ mức thấp cho phép xử lý một lần 1 mẫu tinNgôn ngữ mức cap cho phép xử lý một lần nhiều mẫu tin 47Hệ quản trị cơ sở dữ liệu(Database Management System – DBMS)Các quy tắc cấu trúc (structural rules)Quy tắc 1 – Biểu diễn thông tin ( information representation)Tất cả thông tin trong CSDL quan hệ phải được biểu diễn rõ ràng ở mức luận lý và theo một cách duy nhất thông qua các giá trị trong các bảngQuy tắc 6 – Cập nhật viewTất cả các view có thể được cập nhật về mặt lý thuyết thì chúng cũng có thể được cập nhật bởi hệ thống48Hệ quản trị cơ sở dữ liệu(Database Management System – DBMS)Các quy tắc toàn vẹn (integrity rules)Quy tắc 3 – Xử lý ngữ nghĩa của các giá trị nullCác giá trị null được dùng để biểu diễn thông tin bị thiếu và thông tin không có theo cùng một cách thống nhất, độc lập với kiểu dữ liệuQuy tắc 10 – Độc lập toàn vẹnCác ràng buộc toàn vẹn trong 1 CSDL riêng biệt phải được định nghĩa bởi 1 ngôn ngữ con dữ liệu quan hệ và được lưu trữ trong danh mục mà không phải trong các chương trình ứng dụng49Hệ quản trị cơ sở dữ liệu(Database Management System – DBMS)Các quy tắc thao tác dữ liệu:Quy tắc 2 – Truy xuất được bảo đảmQuy tắc 4 – Danh mục trực tuyến động dựa trên mô hình quan hệQuy tắc 5 – Ngôn ngữ con dữ liệu thông minhQuy tắc 7 – Thêm vào, cập nhật, xóa bỏ ở mức cao50Hệ quản trị cơ sở dữ liệu(Database Management System – DBMS)Các quy tắc độc lập dữ liệu Quy tắc 8 – Độc lập dữ liệu vật lýQuy tắc 9 – Độc lập dữ liệu luận lýQuy tắc 11 – Độc lập phân tán51

File đính kèm:

  • pptChuong 5 Dai so quan he.ppt
Bài giảng liên quan