Chương 3 của bài giảng Hệ quản trị cơ sở dữ liệu giới thiệu về mô hình thực thể kết hợp mở rộng. Sau khi học xong chương này, người học có thể hiểu được: Khái niệm về mô hình EER; biết về Subclasses, Superclasses, và Inheritance; nắm bắt được các tiến trình tổng quát hóa và chuyên biệt hóa;... Mời các bạn cùng tham khảo.
Trang 2Khái niệm về mô hình EER
• Mô 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.
Trang 3–Thuộc tính của PERSON SSN, Address, Email, Salary, Class, GPA, and Office Phone
Trang 4Subclasses, Superclasses, Inheritance
–Nhữ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ệu
– Cơ 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
Trang 6Subclasses, Superclasses, and Inheritance
Trang 7Subclasses, Superclasses, and Inheritance
• Ví dụ: superclass PERSON, các subclass FACULTY, STAFF, STUDENT
Trang 8Subclasses, Superclasses, and Inheritance
• Thuộc tính kế thừa và các quan hệ của subclass
– Thuộ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
Trang 9Subclasses, Superclasses, and Inheritance
Trang 10Tiến trình tổng quát hóa và chuyên biệt hóa
Có 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.
Trang 11Tiến trình tổng quát hóa và chuyên biệt hóa
Ví dụ: loại thực thể FACULTY, STAFF, STUDENT trước khi tổng quat hóa
Trang 12Tiế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óa
Trang 13Tiến trình tổng quát hóa và chuyên biệt hóa
• Chuyê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 con
Trang 14Tiến trình tổng quát hóa và chuyên biệt hóa
Ví dụ: loại thực thể LIBRARY ITEM với các thuộc tính: IdentificationNo, Edition, RecordingDate, Frequency
Trang 15Tiến trình tổng quát hóa và chuyên biệt hóa
Sau khi chuyên biệt hóa: superclass: LIBRARY ITEM và subclasses BOOK, JOURNAL, VIDEOCD
Trang 16Ràng buộc tham gia
• Rà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ần
– Ràng buộc tùy chọn là tham gia từng phần.
Trang 17Ràng buộc tham gia
–Quy 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
Trang 18Ràng buộc tham gia
–Quy 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.
Trang 19Ràng buộc tham gia
Trang 20Rà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
Trang 21Ràng buộc riêng biệt (Disjoint constraints)
Trang 22Rà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à O
Trang 23Ràng buộc riêng biệt (Disjoint constraints)
Trang 24Hệ thông phân cấp lớp cha/lớp con
• Mộ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
Trang 25Hệ thông phân cấp lớp cha/lớp con
Trang 26Mô hình UNION
• Mộ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 category
Trang 27Modeling of UNION Types Using Categories
Trang 28Mô hình khái niệm của CSDL University
Trang 29Loại quan hệ có bậc lớn hơn 2
• Sự 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ế
Trang 30Loại quan hệ có bậc lớn hơn 2
(a) The SUPPLY relationship
Trang 31Loại quan hệ có bậc lớn hơn 2
(c) SUPPLY represented as a weak entity type.
Trang 32Review Questions
1 What is a subclass? When is a subclass
needed in data modeling?
2 Define the following terms: superclass of a
subclass, superclass/subclass relationship,
IS-A relationship, specialization, generalization, category, specific (local) attributes, specific relationships
3 What is the difference between a
specialization hierarchy and a specialization lattice?
Trang 33Review Questions
4 A 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
Trang 34Review Questions
5 Consider 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