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

Bài tập thực hành môn Hệ quản trị cơ sơ dữ liệu

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 (365.19 KB, 28 trang )

HeCSDL
1
NN
NN
CHƯƠNG
CHƯƠNG
5
5
Mô h
Mô h
ì
ì
nh liên k
nh liên k
ế
ế
t th
t th


c th
c th


m
m


r
r



ng
ng
(EER)
(EER)
HeCSDL 2
NN
NN
Mô h
Mô h
ì
ì
nh liên k
nh liên k
ế
ế
t th
t th


c th
c th


m
m


r
r



ng
ng
Enhanced Entity Relationship EER
Enhanced Entity Relationship EER
 Thực tế: yêu cầu nghiệp vụ của các tổ
chức ngày càng phức tạp hơn
ÎMô hình ER cơ bản không đủ cấu trúc để
diễn tả những hệ thống thông tin phức
tạp
 Cần mô hình mở rộng để
¾ Diễn tả được các quy tắc nghiệp vụ (
business rules) phức tạp
¾ Tạo được những kiểu thực thể tổng quát
hơn (siêu kiểu)
2
HeCSDL 3
NN
NN
V
V
í
í
d
d


 Một công ty có 3 loại nhân viên khác nhau: làm
theo giờ, theo tháng và lương theo hợp đồng.

Thể hiện quy tắc nghiệp vụ này trên ER như thế
nào??
ÎCách 1: Tạo 1 kiểu thực thể EMPLOYEE
có 3 thuộc tính HOURLY, SALARY,
CONTRACTÆ mỗi thực thể chỉ có giá trị
thuộc 1 trong 3 thuộc tính trên, 2 thuộc
tính còn lại để trống
ÎCách 2: Tạo 3 kiểu thực thể riêng biệt
cho 3 loại nhân viên Æ không tận dụng
được những thuộc tính chung
3
HeCSDL 4
NN
NN
L
L


p
p
cha/
cha/
l
l


p
p
con
con

 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ớpcon: Quảnlý, kế toán, thư ký….
 Lớpcha: Nhânviên
 Lớp cha: là loạithựcthể bao gồmmộtsố các thựcthể
riêng biệt đượcthể hiện trong mô hình dữ liệu
 Lớp con: là các thựcthể có vai trò riêng biệtnhưng là
một thành viên củalớpcha
HeCSDL 5
NN
NN
V
V
í
í
d
d


HeCSDL 6
NN
NN
Siêu ki
Siêu ki



u v
u v
à
à
ki
ki


u con
u con
(Supertype v
(Supertype v
à
à
subtype)
subtype)
 Siêu kiểu (supertype): là kiểu thực thể
tổng quát có mối liên kết với một hay
nhiều kiểu con
 Kiểu con (subtype): là sự phân nhóm
từ một kiểu thực thể thành nhiều kiểu
thực thể
6
HeCSDL 7
NN
NN
Mô h
Mô h

ì
ì
nh
nh
7
SUPERTYPE
SUBTYPE 1
SUBTYPE 2
General
entity type
Specialized versions
of supertype
Attributes shared
by all entites
Attributes unique
To subtype 1
Attributes unique
To subtype 2
HeCSDL 8
NN
NN
V
V
í
í
d
d


sơ đ

sơ đ


EER
EER
8
EMPLOYEE
HOURLY
EMPLOYEE
SALARIED
EMPLOYEE
Employee_Name
Hourly_Rate
Annual_Salary
CONSULTANT
Address
Date_Hired
Employee_Number
Stock_Option
Contract_Number
Billing_Rate
HeCSDL 9
NN
NN
V
V
í
í
d
d



9
PART
MANUFACTURED
PART
PURCHASED
PART
Description
Routing_No
SUPPLIER
Location
QOH
Part_No
Supplier_ID
Supplies
Unit_price
HeCSDL 10
NN
NN
R
R
à
à
ng bu
ng bu


c trong m
c trong m



i liên k
i liên k
ế
ế
t
t
siêu ki
siêu ki


u/ ki
u/ ki


u con
u con
 Hai loại ràng buộc
 Ràng buộc về tính đầy đủ (completeness
constraint)
 Ràng buộc về tính đầy đủ dùng để trả lời
cho câu hỏi: “Một thể hiện của siêu kiểu có
phải là thành viên của ít nhất một kiểu con
hay không?”
 Ràng buộc về tính phân ly (Disjointness
constraint)
 Ràng buộc về tính phân ly để trả lời cho câu
hỏi “một thể hiện (instance) của siêu kiểu
có đồng thời là thành viên của cả 2 kiểu con

hay không?”
10
HeCSDL 11
NN
NN
R
R
à
à
ng bu
ng bu


c v
c v


t
t
í
í
nh đ
nh đ


y đ
y đ


 Có hai nguyên tắc (rule):

 Chuyên biệt hóa toàn phần (total
specialization)
 Chuyên biệt hóa toàn phần: mỗi thể hiện
của siêu kiểu tất yếu phải là một thể hiện
của một kiểu con
 Chuyên biệt hóa riêng phần (partial
specialization)
 Chuyên biệt hóa riêng phần: mỗi thể hiện
của siêu kiểu không nhất thiết phải là 1 thể
hiện của một kiểu con
11
HeCSDL 12
NN
NN
Chuyên bi
Chuyên bi


t h
t h
ó
ó
a riêng ph
a riêng ph


n
n
 Chuyên biệt hóa riêng phần: mỗi thể hiện
của siêu kiểu không nhất thiết phải là 1

thể hiện của một kiểu con
 Ví dụ: siêu kiểu VEHICLE có 2 kiểu con
CAR và TRUCK. Kiểu thực thể
MOTORCYCLE cũng là 1 loại xe cộ nhưng
không được đưa vào mô hình
12
HeCSDL 13
NN
NN
V
V
í
í
d
d


Chuyên bi
Chuyên bi


t ho
t ho
á
á
13
VEHICLE
CAR
Vehicle_Name
No_of_

Passengers
TRUCK
Model
Price
Vehicle_ID
Car_Type
Capacity
Make
HeCSDL 14
NN
NN
R
R
à
à
ng bu
ng bu


c v
c v


t
t
í
í
nh phân ly
nh phân ly
Disjointness constraint

Disjointness constraint
 Hai nguyên tắc (rule):
 Phân ly (disjoint): một thể hiện của siêu
kiểu là thành viên của chỉ một kiểu con
Ví dụ: PATIENT chỉ có thể hoặc là
OUTPATIENT hoặc là RESIDENT PATIENT
 Trùng lặp (overlap): một thể hiện của
siêu kiểu có thể đồng thời là thành viên
của nhiều hơn một kiểu con
Ví dụ: một thể hiện của siêu kiểu PART có
thể hoặc là thể hiệ
n của kiểu con
MANUFACTURED PART hoặc của kiểu con
PURCHASED PART
14
HeCSDL 15
NN
NN
V
V
í
í
d
d


thu
thu



c t
c t
í
í
nh ki
nh ki


u phân ly
u phân ly
15
PATIENT
d
OUTPATIENT
RESIDENT
PATIENT
Patient_ID
Checkback_
Date
Date_
Discharged
Patient_Name
Patient_Type =
‘O’ ‘R’
Patient_ID
HeCSDL 16
NN
NN
V
V

í
í
d
d


thu
thu


c t
c t
í
í
nh ki
nh ki


u tr
u tr
ù
ù
ng l
ng l


p
p
16
PART

O
MANUFACTURED
PART
Part_Type
PURCHASED
PART
Purchased?
QOH
Description
Manufactured?
Part_No
Location
Part_Type
Manufactured?=‘Y’
Purchased?=‘Y’
HeCSDL 17
NN
NN
4
4
lo
lo


i
i
r
r
à
à

ng
ng
bu
bu


c
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
HeCSDL 18
NN
NN
V
V
í
í
d
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
HeCSDL 19
NN
NN
Th
Th


t
t



phân c
phân c


p (Hierarchy) c
p (Hierarchy) c


a siêu
a siêu
ki
ki


u/ki
u/ki


u con
u con
 Một kiểu con có thể trở thành siêu kiểu
cho 1 số kiểu con khác
 Siêu kiểu ở mức cao nhất được gọi là root
 Ví dụ: hãy lập mô hình nhân lực (human
resource) của 1 trường đại học
Một faculty thì sẽ có những thuộc tính gì?
19
HeCSDL 20
NN

NN
V
V
í
í
d
d


mô h
mô h
ì
ì
nh nhân l
nh nhân l


c trư
c trư


ng đ
ng đ


i h
i h


c

c
20
PERSON
O
EMPLOYEE
ALUMNUS
Name
Rank
Position
STUDENT
Address
BirthDate
SSN
Test_Score
Class
FACULTY
STAFF
d
GRADUATE UNGRADUATE
d
HeCSDL 21
NN
NN
Quy t
Quy t


c nghi
c nghi



p v
p v


Business Rules
Business Rules
 Lược đồ ER là 1 phương tiện thông dụng để
diễn tả các kiểu quy tắc nghiệp vụ nào đó.
 Nhưng có những quy tắc nghiệp vụ không
thể diễn tả được trong lược đồ ER.
21
HeCSDL 22
NN
NN
Quy t
Quy t


c nghi
c nghi


p v
p v


Business Rules
Business Rules
 Quy tắc nghiệp vụ là “một phát biểu (statement)

dùng để định nghĩa hay ràng buộc một số ngữ
cảnh của hoạt động nghiệp vụ. Quy tắc này dùng
để khẳng định cấu trúc của hoạt động nghiệp vụ
hoặc để điều khiển đến hoạt động nghiệp vụ”.
Ví dụ:
 Một sinh viên chỉ được phép đăng ký 1
môn học khi sinh viên đó đã đạt được
những môn học tiên quyết cho môn học
đó.
 Một khách quen được giảm giá 10% nếu
không nợ quá hạn
22
HeCSDL 23
NN
NN




c đ
c đ


ER đơn gi
ER đơn gi


n
n
23

CAR
DRIVER’S
LICENSE
PERSON
Rents
Rents
Possesses
Possesses
Đối tượng nào là đối tượng bị ràng buộc?? Rents
Đối tượng nào là đối tượng ràng buộc?? Possesses
Chỉ ra cấu trúc của ngữ cảnh nhưng không chỉ ra
được các ràng buộc giữa các đối tượng
HeCSDL 24
NN
NN




c đ
c đ


ER c
ER c
ó
ó
r
r
à

à
ng bu
ng bu


c
c
24
CAR
DRIVER’S
LICENSE
PERSON
Rents
Rents
Possesses
Possesses
R
HeCSDL 25
NN
NN
V
V
í
í
d
d


2
2

 Bài toán lập lịch lớp học (class scheduling): quy
tắc nghiệp vụ như sau:
 For a faculty member to be assigned to
teach a section of a course, the faculty
member must be qualified to teach the
course for which that section is
scheduled
Æ 3 entities: FACULTY, COURSE, SECTION
Æ 1 Constrained entity: Is_assigned
Æ 2 Constraining entities: Is_qualified,
Is_Scheduled
25

×