Chương 3: Mô hình thực thể kết hợp mở rộng (Enhanced entity relationship model - EER)

Review Questions What is a subclass? When is a subclass needed in data modeling? Define the following terms: superclass of a subclass, superclass/subclass relationship, IS-A relationship, specialization, generalization, category, specific (local) attributes, specific relationships. What is the difference between a specialization hierarchy and a specialization lattice?

pptx34 trang | Chia sẻ: vutrong32 | Lượt xem: 5480 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Chương 3: Mô hình thực thể kết hợp mở rộng (Enhanced entity relationship model - EER), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 3: MÔ HÌNH THỰC THỂ KẾT HỢP MỞ RỘNG (Enhanced Entity Relationship Model -EER)Khái niệm về mô hình EERMô hình EER (Enhanced Entity Relationship Model): Bao gồm tất cả khái niệm của mô hình ER cơ bàn và thêm các khái niệm :Lớp cha/con (Subclasses/super classes).Chuyên biệt hóa/Tổng quát hóa (Specialization/generalization)Lớp, thuộc tính kế thừa (Categories, attribute inheritance).Được sử dụng để mô hình hóa các ứng dụng phức tạp.Bao gồm các khái niệm hướng đối tượng, và kế thừa.Subclasses, Superclasses, và InheritanceVí dụ: Loại thực thể PERSON bao gồm các thuộc tính của người trong trường đại học: STUDENTS, STAFF, FACULTY. Thuộc tính của PERSON SSN, Address, Email, Salary, Class, GPA, and Office PhoneSubclasses, Superclasses, InheritanceNhững thuộc tính Class và GPA là không yêu cầu đối với FACULTY. Những thuộc tính Salary là thuộc tính của STAFF và FACULTY nhưng không yêu cầu đối với STUDENTS.Cách biểu diễn trên có các vấn đề:Dư thừa dữ liệuCơ sở dữ liệu không thể hiện tính hiệu quả.Giải pháp:Dùng mô hình lớp Superclass /Subclass Subclasses, Superclasses, and InheritanceMột superclass là một loại thực thể mà nó có một hoặc nhiều nhóm con riêng biệt với những thuộc tính duy nhất.Superclass chỉ chứa những thuộc tính chung của tất cả các nhóm con.Các nhóm con với những thuộc tính duy nhất được gọi là subclasses. Một subclass là một loại thực thể mà nó có thể chia sẽ những thuộc tính chung hoặc các mối quan hệ riêng biệt từ những subclass khác.Subclasses, Superclasses, and InheritanceSubclasses, Superclasses, and InheritanceVí dụ: superclass PERSON, các subclass FACULTY, STAFF, STUDENTSubclasses, Superclasses, and InheritanceThuộc tính kế thừa và các quan hệ của subclassThuộc tính thừa kế là thuộc tính mà các thực thể lớp con (Subclasses) kế thừa từ các thuộc tính của lớp cha (Superclasses). Thực thể Subclass kế thừa tất cả thuộc tính của lớp cha của nó (superclass).Thực thể subclass chính nó cũng có những thuộc tính và mối quan hệ của nó.Ví dụ, subclass STUDENT có những thuộc tính: Class, GPA và kế thừa tất cả những thuộc tính của loại thực thể PERSON đồng thời có mối quan hệ với COURSE Subclasses, Superclasses, and InheritanceTiến trình tổng quát hóa và chuyên biệt hóaCó hai tiến trình để xác định loại thực thể superclass/subclass là tổng quát hóa (Generalization) và chuyên biệt hóa (Specialization)Tổng quát hóa (Generalization)Tiến trình này xác định loại thực thể tổng quát từ tập các loại thực thể chuyên biệt bằng các xác định những thuộc tính chung của nó.Tổng quát hóa là cách tiếp cận từ dưới lên bắt đầu từ loại thực thể subclasses đến loại thực thể superclass.Tiến trình tổng quát hóa và chuyên biệt hóaVí dụ: loại thực thể FACULTY, STAFF, STUDENT trước khi tổng quat hóaTiến trình tổng quát hóa và chuyên biệt hóa Các loại thực thể FACULTY, STAFF, STUDENT sau khi tổng quát hóaTiến trình tổng quát hóa và chuyên biệt hóaChuyên biệt hóa (Specialization)Chuyên biệt hóa là tiến trình xác định một hoặc nhiều subclasses của superclass bằng cách xác định những đặc điểm riêng biệt của nó.Chuyên biệt hóa là cách tiếp cận từ trên xuống, bắt đầu từ loại thực thể tổng quát (superclass) xác định những subclasses dựa trên những thuộc tính riêng hoặc mối quan hệ cụ thể của lớp conTiến trình tổng quát hóa và chuyên biệt hóaVí dụ: loại thực thể LIBRARY ITEM với các thuộc tính: IdentificationNo, Edition, RecordingDate, Frequency.Tiến trình tổng quát hóa và chuyên biệt hóaSau khi chuyên biệt hóa: superclass: LIBRARY ITEM và subclasses BOOK, JOURNAL, VIDEOCD.Ràng buộc tham giaRàng buộc tham gia (Participation Constraints): mỗi thể hiện của một lớp cha (Superclass) phải tham gia như là một thể hiện của một lớp con (Subclass).Sự tham gia của một thể hiện của lớp cha có thể là bắt buộc hoặc tùy chọn trong một hoặc nhiều lớp con.Ràng buộc bắt buộc là loại tham gia toàn phầnRàng buộc tùy chọn là tham gia từng phần.Ràng buộc tham giaQuy tắc tham gia toàn phần (Total Participation Rule): Trong tham gia toàn phần, thành viên là bắt buộc, mỗi thể hiện của một lớp cha phải là một thể hiện của ít nhất một lớp con. Ràng buộc tham giaQuy tắc ràng buộc tham gia từng phần (Partial Participation Rule): thành viên là tùy chọn trong tham gia từng phần. Một thể hiện của lớp cha có thể không là thành viên của bất kỳ lớp con nào.Ví dụ: Một thể hiện lớp cha LIBRARY ITEM có thể là thành viên của BOOK, VIDEO CD, JOURNALS, nhưng nó không phải là bắt buộc đối với một thể hiện thuộc bất kỳ của các lớp con. Nếu Newspaper là một thể hiện của một lớp cha, nó không thuộc một trong một trong các lớp con.Ràng buộc tham giaRàng buộc riêng biệt (Disjoint constraints)Disjoint constraints: xác định một thể hiện của lớp cha có thể là thành viên của một hoặc nhiều lớp con. Nó xác định thể hiện của lớp cha (superclass) có thể là riêng biệt hay chồng lắp trên nhiều lớp con.The disjoint rule: Nếu một thể hiện của lớp cha là thành viên của bất kỳ một lớp con thì nó không thể là thành viên của bất lớp con khác.Trong mối quan hệ superclass/subclass, ràng buộc Disjoint được ký hiệu là D.Ràng buộc riêng biệt (Disjoint constraints)Ràng buộc riêng biệt (Disjoint constraints)Quy tắc chồng lắp (The overlap rule): nếu một thể hiện của một lớp cha là một thành viên của lớp con bất kỳ, thì nó có thể là một thành viên của nhiều hơn một lớp con.Trong mối quan hệ superclass/subclass, overlap constraint được ký hiệu là ORàng buộc riêng biệt (Disjoint constraints)Hệ thông phân cấp lớp cha/lớp conMột lớp con có thể có một hoặc nhiều lớp con, nó thể hoạt động như lớp cha của các loại thực thể khác, kết quả là một hệ thống phân cấp của lớp cha và lớp con.Một hệ thống phân cấp superclass/subclass là một cấu trúc phân cấp của một lớp cha và các lớp con khác nhau của nó, trong đó mỗi lớp con có đúng một lớp cha.Hệ thông phân cấp lớp cha/lớp conMô hình UNIONMột mối quan hệ superclass/subclass với nhiều hơn một superclass, với superclasses thể hiện những loại thực thể khác nhau, subclass thể hiện một tập các đối tượng mà nó là hợp (UNION) của các loại thực thể riêng biệt.Một subclass như vậy được gọi là UNION hoặc categoryModeling of UNION Types Using Categories Mô hình khái niệm của CSDL University we illustrate the conceptual design for a university databaseLoại quan hệ có bậc lớn hơn 2Sự chọn lựa giữa loại quan hệ Binary và Tenary: Một số công cụ thiết kế CSDL chỉ giới hạn trong loại quan hệ binary.Quan hệ Ternary cần được biểu diễn như một loại thực thể yếu, không có khóa riêng biệt.Quan hệ Tenary được biểu diễn như một loại thực thể mạnh, Bằng cách đưa ra một khóa thay thếLoại quan hệ có bậc lớn hơn 2(a) The SUPPLY relationship(b) Three binary relationships not equivalent to SUPPLY.Loại quan hệ có bậc lớn hơn 2(c) SUPPLY represented as a weak entity type.Review QuestionsWhat is a subclass? When is a subclass needed in data modeling? Define the following terms: superclass of a subclass, superclass/subclass relationship, IS-A relationship, specialization, generalization, category, specific (local) attributes, specific relationships. What is the difference between a specialization hierarchy and a specialization lattice?Review QuestionsA department in a university stores the information about its students and courses in a database. The administrative assistant manages the database At the end of the semester, he prepares a report about each course. Is the E-R diagram correct? If not, explain why and draw the correct diagram.Review QuestionsConsider the BANK ER schema of Figure 03.17, and suppose that it is necessary to keep track of different types of ACCOUNTS (SAVINGS_ACCTS, CHECKING_ACCTS, . . .) and LOANS (CAR_LOANS, HOME_LOANS, . . .). Suppose that it is also desirable to keep track of each account’s TRANSACTIONs (deposits, withdrawals, checks, . . .) and each loan’s PAYMENTs; both of these include the amount, date, and time. Modify the BANK schema, using ER and EER concepts of specialization and generalization. State any assumptions you make about the additional requirements.

Các file đính kèm theo tài liệu này:

  • pptxchuong3_6154.pptx