Bài giảng Cơ sở dữ liệu - Chương 2.2: Mô hình Thực thể - Kết hợp mở rộng - Nguyễn Như Hoa

Giới thiệu • EER model (Enhanced Entity Relationship Model) mở rộng ER model, bổ sung các khái niệm nhằm tăng khả năng mô hình hóa ngữ nghĩa phức tạp của thế giới thực • Mô hình EER bổ sung một số khái niệm như – Specialization và Generalization – Aggregation và Composition 2Nội dung • Specialization /Generalization – Superclass và subclass – Mối quan hệ giữa superclass và subclass – Thừa kế thuộc tính và mối quan hệ – 2 cách xây dựng : tiếp cận Specialization và tiếp cận Generalization – Các ràng buộc trên Specialization/General

pdf39 trang | Chia sẻ: thanhle95 | Lượt xem: 1086 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Cơ sở dữ liệu - Chương 2.2: Mô hình Thực thể - Kết hợp mở rộng - Nguyễn Như Hoa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 2 - phần 2 Mô hình thực thể-kết hợp mở rộng Enhanced Entity Relationship (EER) model 1 Giáo trình & Tài liệu tham khảo: 1. Ramez Elmasri, Shamkant B. Navathe, 2011. Fundamentals of Database systems, 6th edition, Addison-Wesley. 2. Giáo trình Cơ sở dữ liệu , Trần Đắc Phiến, ĐH Công nghiệp TPHCM 3. Bộ slide bài giảng của Nguyễn Minh Thư, Khoa CNTT, ĐH KHTN TPHCM 4. Bộ slide bài giảng của Trần Thị Kim Chi, Khoa CNTT, ĐH Công nghiệp TPHCM Gv. Nguyễn Như Hoa Giới thiệu • EER model (Enhanced Entity Relationship Model) mở rộng ER model, bổ sung các khái niệm nhằm tăng khả năng mô hình hóa ngữ nghĩa phức tạp của thế giới thực • Mô hình EER bổ sung một số khái niệm như – Specialization và Generalization – Aggregation và Composition 2 Nội dung • Specialization /Generalization – Superclass và subclass – Mối quan hệ giữa superclass và subclass – Thừa kế thuộc tính và mối quan hệ – 2 cách xây dựng : tiếp cận Specialization và tiếp cận Generalization – Các ràng buộc trên Specialization/Generalization 3 Ví dụ 0 4 Staff • Dữ liệu của tập thực thể Staff Ví dụ 0 • Phân lớp tập thực thể Staff thành tập thực thể Staff(*) , Manager, SalesPersonnel, và Secretary 5 Staff (*) Manager SalesPersonel Secretary Ví dụ 0 6 Cấu trúc lại tập thực thể Staff Superclass và Subclass • Một loại thực thể (Superclass) bao gồm nhiều nhóm thực thể phân biệt (subclass) • Ví dụ : tập thực thể Staff có thể được phân lớp thành tập thực thể Manager, SalesPersonnel, và Secretary – Staff là superclass (hay supertype, tập thực thể cha) – Manager, SalesPersonnel, và Secretary là subclasses (hay subtypes, các tập thực thể con) 7 Superclass và Subclass 8 SuperClass SubClasses Cấu trúc lại các tâp thực thể dựa trên công việc Superclass và Subclass 9 SuperClass SubClasses Cấu trúc lại các tập thực thể dựa trên công việc , và loại hợp đồng làm việc Mối quan hệ giữa superclass và subclass • Là mối quan hệ 1:1 – Một thực thể của subclass phải là 1 thành viên của superclass – Ngược lại, một thực thể của superclass có thể không tương ứng với một thành viên của 1 subclass 10 class/subclass relationship Mối quan hệ giữa superclass và subclass 11 Ví dụ về dữ liệu Thừa kế thuộc tính và mối quan hệ • Một thực thể trong subclass thừa kế mọi thuộc tính và các mối quan hệ của superclass 12 Pearson Education SuperClass Specialization /Generalization • Specialization (chuyên biệt hóa) – Quá trình xác định các subclass từ một tập thực thể (superclass) – Xác định các thuộc tính khác biệt giữa các thực thể của superclass -> định nghĩa các subclass • Generalization (tổng quát hóa) – Quá trình định nghĩa một tập thực thể chung/tổng quát (superclass) từ một số tập thực thể ban đầu (subclasses) • Xác định các thuộc tính chung giữa các subclass -> định nghĩa superclass – Tập thực thể chung phải chứa các thực thể đến từ tất cả các subclass 13 Mục tiêu 14 Điểm xuất phát – dạng 1 Sử dụng Specialization (chuyên biệt hóa) 15 Specialization Điểm xuất phát – dạng 2 Sử dụng Generalization (tổng quát hóa) 16 Generalization Ví dụ 1 • Tập thực thể LIBRARY ITEM với các thuộc tính, trước khi chuyên biệt hóa 17 Ví dụ 1 • Mô hình tương đương sau khi chuyên biệt hóa: superclass LIBRARY ITEM và subclasses BOOK, JOURNAL, VIDEOCD 18 Ví dụ 2 • Tập thực thể FACULTY, STAFF, STUDENT trước khi tổng quát hóa 19 Ví dụ 2 • Mô hình tương đương với superclass PERSON, và các subclass FACULTY, STAFF, STUDENT sau khi tổng quát hóa 20 Các ràng buộc trên Specialization/Generalization • Ràng buộc về tính tham gia (participation constraint) • Ràng buộc về tính phân ly (disjoint constraint) 21 Các ràng buộc trên Specialization/Generalization • Ràng buộc về tính tham gia trả lời cho câu hỏi: “Mỗi thành viên của superclass có bắt buộc tham gia là thành viên của một subclass hay không?” • Có 2 loại – Bắt buộc : mô tả bằng từ “mandatory” • Vd: một nhân viên phải có một hợp đồng làm việc – Tùy chọn : mô tả bằng từ “optional” • Vd: một nhân viên ko nhất thiết phải có một vai trò thứ hai 22 Các ràng buộc trên Specialization/Generalization • Ràng buộc về tính tham gia Ví dụ 23 Các ràng buộc trên Specialization/Generalization • Ràng buộc về tính phân ly trả lời cho câu hỏi : “mỗi thành viên của superclass chỉ tham gia như là thành viên của một subclass , hay có thể tham gia như là thành viên của nhiều subclass ” • Có 2 loại – Disjoint : mỗi thực thể của superclass chỉ tham gia tối đa vào một subclass • mô tả bằng từ “OR” , hoặc ký hiệu – Non-disjoint hay overlap : mỗi thực thể của superclass có thể tham gia vào nhiều subclass • mô tả bằng từ “AND” , hoặc ký hiệu 24 d o Các ràng buộc trên Specialization/Generalization • Ràng buộc về tính phân ly 25  e8  e2  e1  e7  e4  e3  e6  e5  e10  e9 EMPLOYEE SECRETARY ENGINEER TECHNICIAN disjoin Các ràng buộc trên Specialization/Generalization • Ràng buộc về tính phân ly 26 Non_disjoin Cấu trúc phân cấp và mắt lưới (Hierarchies and Lattices) • Quá trình chuyên biệt hóa / tổng quát hóa có thể tạo ra một mô hình ER có cấu trúc phân cấp hoặc mắt lưới – Một subclass có thể là superclass của các subclass khác – Nếu mỗi subclass chỉ có một superclass (chỉ có một tập thực thể cha) => hình thành cấu trúc phân cấp (tree structure or hierarchy) – Nếu một subclass có nhiều hơn một class đóng vai trò là superclass => hình thành cấu trúc mắt lưới (lattice ) 27 Cấu trúc phân cấp và mắt lưới (Hierarchies and Lattices) 28 - Person là superclass của các subclass Staff, PrivateOwner, và Client - Staff là superclass của các subclass Supervisor , và Manager • Cấu trúc phân cấp Cấu trúc phân cấp và mắt lưới (Hierarchies and Lattices) • Cấu trúc mắt lưới 29 ENGINEERING_MANAGER là subclass của ENGINEER, MANAGER, và SALARIED_EMPLOYEE. Một thực thể thuộc ENGINEERING_MANAGER phải tồn tại trong cả 3 tập thực thể supperclass này. Cấu trúc phân cấp và mắt lưới (Hierarchies and Lattices) • Phân biệt cấu trúc mắt lưới với UNION type 30 OWNER là một subclass của hợp (union) 3 tập thực thể PERSON, BANK, COMPANY. Mỗi thành viên của OWNER chỉ tồn tại là một trong 3 tập thực thể này. Bài tập • Đọc “Fundamentals Of Database Systems”, Chương 8 : EER model => Tìm hiểu ví dụ mục 8.5 (trang 260) • Đọc hiểu mô tả UNIVERSITY database • Đọc hiểu mô hình EER 31 Câu hỏi 1 • Sự cần thiết của Specialization (chuyên biệt hóa) / Generalization (tổng quát hóa) ? 32 Câu hỏi 1 33 Câu hỏi 2 • Chỉ rõ các Relationship (giữa các tập thực thể) và các Class/subclass relationship trong mô hình sau ? • Mỗi subclass trong mô hình có mối quan hệ (Relationship) nào ? • Mỗi Class/subclass relationship được thiết lập dựa trên thuộc tính nào ? 34 Câu hỏi 3 • Trong hình mô tả quá trình Specialization hay Generalization? Mô tả tóm tắt quá trình đó ? 35 Câu hỏi 4 • Với dữ liệu như mô tả ở hình bên Hãy cho biết mô hình nào là phù hợp ? 36 Câu hỏi 4 37 Model 1 Model 2 Tham khảo Bộ ký hiệu • Biểu diễn class/subclass relationship • Khi có nhiều subclass dựa trên cùng một cách phân loại (vd : job type) , dùng • Biểu diễn ràng buộc disjoin của 1 class/subclass relationship • Biểu diễn ràng buộc non-disjoin (overlap) của 1 class/subclass relationship • Biểu diễn Union type của 1 class/subclass relationship • Biểu diễn ràng buộc tính tham gia : bắt buộc • Biểu diễn ràng buộc tính tham gia : ko bắt buộc 38 d o U Bộ ký hiệu khác 39 https://www.uml-diagrams.org/generalization.html Biểu diễn class/subclass relationship: Biểu diễn ràng buộc , dùng chữ : {mandatory, or} {mandatory, and} {optional, or} {optional, and}