Tải bản đầy đủ (.pdf) (29 trang)

Nhập môn Cơ Sở Dữ Liệu - Chương 2 ( tiếp theo ) pps

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (448.31 KB, 29 trang )

Chương
Chương

2.2
2.2



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
-



dụ: CSDL dùng

cho

công

nghệ



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ư


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



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


dụ: Manager ISA Employee
Nhập môn Cơ sở dữ liệu - Khoa CNTT 8


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




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


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


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


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



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



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


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

×