Chương 2 - phần 2
Mô hình thực thể-kết hợp mở rộng
Enhanced Entity Relationship (EER) model
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
1
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
• Dữ liệu của tập thực thể Staff
Staff
4
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
Staff (*)
Manager
SalesPersonel
Secretary
5
Ví dụ 0
Cấu trúc lại tập thực thể Staff
6
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
SuperClass
SubClasses
Cấu trúc lại các tâp thực thể dựa trên công việc
8
Superclass và Subclass
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
9
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
class/subclass relationship
10
Mối quan hệ giữa
superclass và subclass
Ví dụ về dữ liệu
11
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
SuperClass
Pearson Education
12
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)
Specialization
15
Điểm xuất phát – dạng 2
Sử dụng Generalization (tổng quát hóa)
Generalization
16
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
d
– 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
o
24
Các ràng buộc trên
Specialization/Generalization
• Ràng buộc về tính phân ly
SECRETARY
EMPLOYEE
e8
e7
e2
e1
disjoin
TECHNICIAN
e4
e5
e3
e6
e10
e9
ENGINEER
25