Chương
Chương
2.2
2.2
Mô
Mô
h
h
ì
ì
nh
nh
th
th
ự
ự
c
c
th
th
ể
ể
liên
liên
k
k
ế
ế
t
t
m
m
ở
ở
r
r
ộ
ộ
ng
ng
(Enhanced Entity
(Enhanced Entity
-
-
Relationship)
Relationship)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 2
Nộidung chi tiết
Khái niệmcơ 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ệtvàlưới
Giớithiệuvề kiểuhợp (Union type)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 3
Khái
niệmcơ
bản
TạisaocầnEER?
-
Các
khái
niệmcơ
bảnvề
ER không
đủ
để
biểudiễnmột
số
các
ứng
dụng
phứctạp
-
Ví
dụ: CSDL dùng
cho
công
nghệ
và
sảnxuấtnhư
viễn
thông, khai
phá
dữ
liệu, …
Î Thêm vào ER mộtsố khái niệm để tăng khả năng mô tả
đốitượng rõ ràng và chính xác hơn
-
EER là
sự
mở
rộng
củaER bằng
cách
thêm
vào
mộtsố
các
khái
niệmtrừutượng
(abstraction) và
thể
hiệncác
ràng
buộcrõrànghơn
Nhập môn Cơ sở dữ liệu - Khoa CNTT 4
Khái
niệmcơ
bản
Mộtsố khái niệmbổ sung
-
Thừakế
-
Chuyên
biệthóa
-
Tổng
quát
hóa
-
Phân
cấp
Mộtsố khái niệmtương tự như trong OOA&D hoặc
OOP
Nhập môn Cơ sở dữ liệu - Khoa CNTT 5
Lớpcha/lớpcon
Ví dụ
Nhân viên
Thư
ký
Quảnlý
Kỹ
thuậtviên
Kế
toán
Nhân
viên
bán
hàng
-
Lớp
con: Quảnlý, kế
toán, thư
ký….
-
Lớp
cha: Nhân
viên
Lớp cha: là loạithựcthể bao gồmmộtsố các thực
thể riêng biệt đượcthể hiện trong mô hình dữ liệu
Lớpcon: làcácthựcthể có vai trò riêng biệtnhưng
là một thành viên củalớpcha
Nhập môn Cơ sở dữ liệu - Khoa CNTT 6
Tính
kế
thừa
Lớpcon thừakế mộtsố thuộc tính và quan hệ của
lớpcha
+
Mộtsố thuộc tính và quan hệ củariêngnó
Lợiích
-
Tránh
mô
tả
các
định
nghĩatrùnglặp
nhau
-
Thêm
thông
tin về
ngữ
nghĩa
vào
trong
thiếtkế
Mối quan hệ giữalớpcha vàlớp con gọilàkiểu liên
kếtISA
Nhập môn Cơ sở dữ liệu - Khoa CNTT 7
Ví
dụ: Manager ISA Employee
Nhập môn Cơ sở dữ liệu - Khoa CNTT 8
Ví
dụ
EMPLOYEE
SECRETARY
TECHNICIAN
∪
∪
d
Fname
Lname SSN
TypingSpeed
TGrade
ENGINEER
EngType
∪
SECRETARY
Fname, Lname, SSN, Addr
TypingSpeed
TECHNICIAN
Fname, Lname, SSN, Addr, TGrade
ENGINEER
Fname, Lname, SSN, Addr,
EngType
Addr
EMPLOYEE
Fname, Lname, SSN, Addr
Nhập môn Cơ sở dữ liệu - Khoa CNTT 9
Chuyên
biệthóa
ĐN: là quá trình xác định tậpcáclớp con củamột
kiểuthựcthể
Tậpcáclớpcon đượctạodựatrênmộtsố các đặc
tính riêng biệtnàođócủacácthựcthể trong lớpcha
Nhập môn Cơ sở dữ liệu - Khoa CNTT 10
Tổng
quát
hóa
Mộtsố các lớpchiasẻ mộtsố thuộc tính chung
được nhóm lạivàomộtlớpcha
Ví dụ
-
Sinh
viên
và
giáo
viên
chia
sẻ
nhau
chung
mộtsố
thuộc
tính
như
tên, tuổi, địachỉ, giới
tính, ….
-
Nhóm
lại
thành
1 lớp
cha: Người
Chuyên biệthóavàTổng quát hóa là 2 cách tiếp
ngượcnhau
-
Tổng
quát
hóa
= bottom up
-
Chuyên
biệthóa= Top down
Nhập môn Cơ sở dữ liệu - Khoa CNTT 11
Ví
dụ
CAR
Nopass
Maxspeed
VehID
Price
TRUCK
NoAxles
Price
Tonnage
VehID
VEHICLE
TRUCK
CAR
Nopass
Maxspeed
NoAxles
Price
VehID
Tonnage
d
⊃
⊃
Nhập môn Cơ sở dữ liệu - Khoa CNTT 12
Ràng
buộctrênchuyênbiệthóa
Ràng buộcrờirạc(disjointness constraint) mô tả
quan hệ giữalớpcha vàcáclớp con phải độclập
hoàn toàn (mộtthựcthể là thành viên củachỉ một
lớpcon được chuyên biệt hóa)
Trong sơđồEER, ràng buộcrờirạc đượckýhiệu
bởichữ d (disjoint) nằm trong vòng tròn
Nhập môn Cơ sở dữ liệu - Khoa CNTT 13
Ràng
buộcrờirạc
Ràng buộcrờirạc(disjointness constraint) mô tả
quan hệ giữalớpcha vàcáclớp con phải độclập
hoàn toàn (mộtthựcthể là thành viên củachỉ một
lớpcon được chuyên biệt hóa)
Trong sơđồEER, ràng buộcrờirạc đượckýhiệu
bởichữ d (disjoint) nằm trong vòng tròn
Nhập môn Cơ sở dữ liệu - Khoa CNTT 14
Ví
dụ
EMPLOYEE
Name
SSN BirthDate
Address
SECRETARY
∪
∪
d
TypeSpeed
TECHNICIAN
TGrade
ENGINEER
EngType
∪
∪
d
SALARIED_EMP
Salary
HOURLY_EMP
PayScale
∪
Disjoint subclasses
Disjoint subclasses
Nhập môn Cơ sở dữ liệu - Khoa CNTT 15
Ràng
buộcchồng
chéo
Ràng buộcchồng chéo (Overlaping constraint) cho
biết quan hệ giữalớpcha vàcácthựcthểởlớp con
là không tách rời được(mộtthựcthể có thể là thành
viên của nhiềulớp con theo sự chuyên biệt hóa)
Trong lược đồ EER, ràng buộc này đượcmôtả bởi
chữ o (overlap) bên trong vòng tròn
Nhập môn Cơ sở dữ liệu - Khoa CNTT 16
Ví
dụ
PART
MANU_PART
PURC_PART
o
⊃
⊃
ListPrice
SupplierName
ManufactureDate
DrawingNo
BatchNo
PartNo
Description
Ràng
buộcchồng
chéo
Nhập môn Cơ sở dữ liệu - Khoa CNTT 17
Ràng
buộc
đầy
đủ
Ràng buộc đầy đủ (completeness const.) bao gồm
-
Ràng
buộctoànbộ
(total) cho
biếttấtcả
các
thựcthể
trong
lớp
cha phải
là
thành
viên
củaítnhấtmộtlớp
con nào
đó
trong
chuyên
biệt
y Thể hiệnbằng một đường nét đôi nốigiữalớp cha và vòng
tròn chuyên biệt
-
Ràng
buộctừng
phần
(partial) cho
phép
mộtthựcthể
ở
lớp
cha không
thuộcbấtkỳ
mộtlớp
con nào
trong
chuyên
biệt
y Thể hiệnbằng đường nét đơn
Nhập môn Cơ sở dữ liệu - Khoa CNTT 18
Ví
dụ
EMPLOYEE
Name
SSN BirthDate
Address
SECRETARY
∪
∪
d
TypeSpeed
TECHNICIAN
TGrade
ENGINEER
EngType
∪
∪
d
SALARIED_EMP
Salary
HOURLY_EMP
PayScale
∪
Ràng
buộc
toàn
bộ
Ràng
buộc
từng
phần
Nhập môn Cơ sở dữ liệu - Khoa CNTT 19
4 loạiràngbuộc
Các ràng buộc ở trên là độclậpvớinhau
Chúng ta sẽ có tấtcả 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 20
Chuyên
biệtphâncấpvàlưới
Mộtlớpcon cóthể có lớpcon của chính nó bao
gồm2 loại:
-
Phân
cấp
(hierarchy) là
ràng
buộc
trong
đótấtcả
các
lớp
con chỉ
tham
gia
vào
1 liên
kếtlớp
cha/con (thừakếđơn
ánh)
-
Lưới
(Lattice) là
ràng
buộctrongđólớp
con có
thể
tham
gia
vào
nhiềuhơn1 liênkết
cha/con (thừakế
bội)
Trong loại chuyên biệt này lớpcon kochỉ kế thừa
thuộctínhcủalớpcha màcònkế thừathuộc tính
củalớpcha củalớp cha nó
Nhập môn Cơ sở dữ liệu - Khoa CNTT 21
VD. chuyên
biệtphâncấp
Nhập môn Cơ sở dữ liệu - Khoa CNTT 22
VD. Chuyên
biệtlưới
Nhập môn Cơ sở dữ liệu - Khoa CNTT 23
Kiểuhợp-phạmtrù
Trong chuyên biệtlướilớpcon thừakế từ nhiềulớp
cha, thừahưởng tấtcả các thuộctínhcủalớpcha
Làm thế nào để mô tả quan hệ lớp con/cha của1
con vớimộttậpcáclớpcha?
Ví dụ:
CSDL đăng ký xe có ngườisở 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 24
Ví
dụ
Thể
hiệntrong
lược
đồ
EER
Nhập môn Cơ sở dữ liệu - Khoa CNTT 25
Partial category
PERSON COMPANY
ACCOUNT_
HOLDER
u
⊃
Address
Tel
Name
BAddress
BName
Tel
Fax