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 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). ổ
ệ
t hóa/T ng quát hóa
• Chuyên bi
(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.
2
Subclasses, Superclasses, và Inheritance
• Ví 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 Phone
3
Subclasses, 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
4
Subclasses, Superclasses, and Inheritance
• Mộ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.
5
Subclasses, Superclasses, and Inheritance
6
Subclasses, Superclasses, and Inheritance
• Ví dụ: superclass PERSON, các subclass
FACULTY, STAFF, STUDENT
7
Subclasses, 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
8
Subclasses, Superclasses, and Inheritance
9
Tiế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.
10
Tiế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
11
Tiế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
12
Tiế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
13
Tiế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.
14
Tiế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.
15
Rà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.
16
Rà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.
17
Rà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.
18
Ràng buộc tham gia
19
Rà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.
20
Ràng buộc riêng biệt (Disjoint constraints)
21
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à O
22
Ràng buộc riêng biệt (Disjoint constraints)
23
Hệ 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.
24
Hệ thông phân cấp lớp cha/lớp con
25
Mô 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
26
Modeling of UNION Types Using Categories
27
Mô hình khái niệm của CSDL University
• we illustrate the
conceptual design for a university database
28
Loạ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ế
29
Loại quan hệ có bậc lớn hơn 2
(a) The SUPPLY relationship
30
(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.
31
Review 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?
32
Review 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.
33
Review 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.
34