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
39 trang |
Chia sẻ: thanhle95 | Lượt xem: 1148 | Lượt tải: 1
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}