Chương 2.2
Mơ hình thực thể liên kết mở rộng
(Enhanced Entity-Relationship)
Nội dung chi tiết
Khái niệm cơ bản
Lớp cha/con
Chuyên biệt hóa vs. Tổng quát hóa
Các ràng buộc trên chuyên biệt hóa
Phân cấp chuyên biệt và lưới
Giới thiệu về kiểu hợp (Union type)
Nhập môn Cơ sở dữ liệu - Khoa CNTT
2
Khái niệm cơ bản
Tại sao cần EER?
- Các khái niệm cơ bản về ER không đủ để biểu diễn một
số các ứng dụng phức tạp
- Ví dụ: CSDL dùng cho công nghệ và sản xuất như viễn
thông, khai phá dữ liệu, …
Thêm vào ER một số khái niệm để tăng khả năng mơ tả
đối tượng rõ ràng và chính xác hơn
- EER là sự mở rộng của ER bằng cách thêm vào một số
các khái niệm trừu tượng (abstraction) và thể hiện các
ràng buộc rõ ràng hơn
Nhập môn Cơ sở dữ liệu - Khoa CNTT
3
Khái niệm cơ bản
Một số khái niệm bổ sung
-
Thừa kế
Chuyên biệt hóa
Tổng quát hóa
Phân cấp
Một số khái niệm tương tự như trong OOA&D hoặc
OOP
Nhập môn Cơ sở dữ liệu - Khoa CNTT
4
Lớp cha/lớp con
Ví dụ
Quản lý
Kỹ thuật viên
Thư ký
Kế tốn
Nhân viên
bán hàng
Nhân viên
- Lớp con: Quản lý, kế toán, thư ký….
- Lớp cha: Nhân viên
Lớp cha: là loại thực thể bao gồm một số các thực
thể riêng biệt được thể hiện trong mơ hình dữ liệu
Lớp con: là các thực thể có vai trị riêng biệt nhưng
là một thành viên của lớp cha
Nhập môn Cơ sở dữ liệu - Khoa CNTT
5
Tính kế thừa
Lớp con thừa kế một số thuộc tính và quan hệ của
lớp cha
+
Một số thuộc tính và quan hệ của riêng nó
Lợi ích
- Tránh mơ tả các định nghĩa trùng lặp nhau
- Thêm thông tin về ngữ nghĩa vào trong thiết kế
Mối quan hệ giữa lớp cha và lớp con gọi là kiểu liên
kết ISA
Nhập môn Cơ sở dữ liệu - Khoa CNTT
6
Ví dụ: Manager ISA Employee
Nhập mơn Cơ sở dữ liệu - Khoa CNTT
7
Ví dụ
Lname
SSN
Fname
Addr
EMPLOYEE
Fname, Lname, SSN, Addr
SECRETARY
Fname, Lname, SSN, Addr TypingSpeed
EMPLOYEE
TECHNICIAN
Fname, Lname, SSN, Addr, TGrade
d
∪
TypingSpeed
ENGINEER
Fname, Lname, SSN, Addr, EngType
∪
∪
EngType
TGrade
SECRETARY
Nhập môn Cơ sở dữ liệu - Khoa CNTT
TECHNICIAN
ENGINEER
8
Chun biệt hóa
ĐN: là q trình xác định tập các lớp con của một
kiểu thực thể
Tập các lớp con được tạo dựa trên một số các đặc
tính riêng biệt nào đó của các thực thể trong lớp cha
Nhập mơn Cơ sở dữ liệu - Khoa CNTT
9
Tổng quát hóa
Một số các lớp chia sẻ một số thuộc tính chung
được nhóm lại vào một lớp cha
Ví dụ
- Sinh viên và giáo viên chia sẻ nhau chung một số thuộc
tính như tên, tuổi, địa chỉ, giới tính, ….
- Nhóm lại thành 1 lớp cha: Người
Chuyên biệt hóa và Tổng quát hóa là 2 cách tiếp
ngược nhau
- Tổng quát hóa = bottom up
- Chuyên biệt hóa = Top down
Nhập môn Cơ sở dữ liệu - Khoa CNTT
10
Ví dụ
Nopass
NoAxles
Price
Price
Tonnage
Maxspeed
CAR
TRUCK
VehID
VehID
Price
VEHICLE
VehID
d
⊃
Nopass
CAR
Maxspeed
Nhập mơn Cơ sở dữ liệu - Khoa CNTT
NoAxles
⊃
TRUCK
Tonnage
11
Ràng buộc trên chuyên biệt hóa
Ràng buộc rời rạc(disjointness constraint) mô tả
quan hệ giữa lớp cha và các lớp con phải độc lập
hoàn toàn (một thực thể là thành viên của chỉ một
lớp con được chuyên biệt hóa)
Trong sơ đồ EER, ràng buộc rời rạc được ký hiệu
bởi chữ d (disjoint) nằm trong vịng trịn
Nhập mơn Cơ sở dữ liệu - Khoa CNTT
12
Ràng buộc rời rạc
Ràng buộc rời rạc(disjointness constraint) mô tả
quan hệ giữa lớp cha và các lớp con phải độc lập
hoàn toàn (một thực thể là thành viên của chỉ một
lớp con được chuyên biệt hóa)
Trong sơ đồ EER, ràng buộc rời rạc được ký hiệu
bởi chữ d (disjoint) nằm trong vịng trịn
Nhập mơn Cơ sở dữ liệu - Khoa CNTT
13
Ví dụ
Name
SSN
BirthDate
Address
EMPLOYEE
d
∪
∪
TypeSpeed
SECRETARY
d
∪
TGrade
TECHNICIAN
∪
EngType
ENGINEER
Disjoint subclasses
Nhập mơn Cơ sở dữ liệu - Khoa CNTT
∪
Salary
SALARIED_EMP
PayScale
HOURLY_EMP
Disjoint subclasses
14
Ràng buộc chồng chéo
Ràng buộc chồng chéo (Overlaping constraint) cho
biết quan hệ giữa lớp cha và các thực thể ở lớp con
là khơng tách rời được (một thực thể có thể là thành
viên của nhiều lớp con theo sự chuyên biệt hóa)
Trong lược đồ EER, ràng buộc này được mơ tả bởi
chữ o (overlap) bên trong vịng trịn
Nhập mơn Cơ sở dữ liệu - Khoa CNTT
15
Ví dụ
PartNo
Description
PART
Ràng buộc chồng chéo
ManufactureDate
o
⊃
⊃
SupplierName
MANU_PART
PURC_PART
ListPrice
DrawingNo
Nhập mơn Cơ sở dữ liệu - Khoa CNTT
BatchNo
16
Ràng buộc đầy đủ
Ràng buộc đầy đủ (completeness const.) bao gồm
- Ràng buộc toàn bộ (total) cho biết tất cả các thực thể
trong lớp cha phải là thành viên của ít nhất một lớp
con nào đó trong chuyên biệt
Thể hiện bằng một đường nét đôi nối giữa lớp cha và vòng
tròn chuyên biệt
- Ràng buộc từng phần (partial) cho phép một thực thể
ở lớp cha không thuộc bất kỳ một lớp con nào trong
chuyên biệt
Thể hiện bằng đường nét đơn
Nhập môn Cơ sở dữ liệu - Khoa CNTT
17
Ví dụ
Name
SSN
BirthDate
Address
EMPLOYEE
Ràng buộc
từng phần
Ràng buộc
tồn bộ
d
∪
∪
TypeSpeed
SECRETARY
d
∪
TGrade
TECHNICIAN
Nhập mơn Cơ sở dữ liệu - Khoa CNTT
∪
EngType
ENGINEER
∪
Salary
SALARIED_EMP
PayScale
HOURLY_EMP
18
4 loại ràng buộc
Các ràng buộc ở trên là độc lập với nhau
Chúng ta sẽ có tất cả 4 khả năng khác nhau
-
Disjoint, total
Disjoint, partial
Overlapping, total
Overlapping, partial
Nhập môn Cơ sở dữ liệu - Khoa CNTT
19
Chuyên biệt phân cấp và lưới
Một lớp con có thể có lớp con của chính nó bao
gồm 2 loại:
- Phân cấp (hierarchy) là ràng buộc trong đó tất cả các lớp
con chỉ tham gia vào 1 liên kết lớp cha/con (thừa kế đơn
ánh)
- Lưới (Lattice) là ràng buộc trong đó lớp con có thể tham
gia vào nhiều hơn 1 liên kết cha/con (thừa kế bội)
Trong loại chuyên biệt này lớp con ko chỉ kế thừa
thuộc tính của lớp cha mà cịn kế thừa thuộc tính
của lớp cha của lớp cha nó
Nhập mơn Cơ sở dữ liệu - Khoa CNTT
20
VD. chuyên biệt phân cấp
Nhập môn Cơ sở dữ liệu - Khoa CNTT
21
VD. Chuyên biệt lưới
Nhập môn Cơ sở dữ liệu - Khoa CNTT
22
Kiểu hợp - phạm trù
Trong chuyên biệt lưới lớp con thừa kế từ nhiều lớp
cha, thừa hưởng tất cả các thuộc tính của lớp cha
Làm thế nào để mơ tả quan hệ lớp con/cha của 1
con với một tập các lớp cha?
Ví dụ:
CSDL đăng ký xe có người sở hữu là cá nhân, công
ty hoặc ngân hàng
Nhập môn Cơ sở dữ liệu - Khoa CNTT
23
Ví dụ
Thể hiện trong
lược đồ EER
Nhập mơn Cơ sở dữ liệu - Khoa CNTT
24
Partial category
Fax
Address
PERSON
COMPANY
u
Tel
⊃
ACCOUNT_
HOLDER
Tel
BName
Name
Nhập môn Cơ sở dữ liệu - Khoa CNTT
BAddress
25