CHƯƠNG 2CHƯƠNG 2
CHƯƠNG 2CHƯƠNG 2
Mô hình quan hệ thực thể
(Entity Relationship Model
–
ER Model)
(Entity
Relationship
Model
ER
Model)
NNNN
HCSDL
1
Quá trình thiết kế CSDL
NNNN
HCSDL 2
Mô hình liên kết Mô hình liên kết ––thực thực thể thể ERER
(Entity (Entity Relationship Relationship Model)Model)
Được dùng để thiết kế CSDL ở mức khái
niệm
Biểudiễntrừutượng cấutrúccủaCSDL
Biểu
diễn
trừu
tượng
cấu
trúc
của
CSDL
Lược đồ liên kết thực thể (Entity-
Relationship
Diagram
)có3phầntử cơ
Relationship
Diagram
)
có
3
phần
tử
cơ
bản
Tậpthựcthể (
Entity
Set)
Tập
thực
thể
(
Entity
Set)
Thuộc tính (Attribute)
Mốiquanhệ (Relationship)
NNNN
HCSDL 3
Mối
quan
hệ
(Relationship)
3
Mô Mô hình hình ER ER
Mô hình ER như 1 công cụ để trao đổi ý
tưởn
g
g
iữa nhà thiết kế và n
g
ười dùn
g
cuối trong giai đoạn phân tích. Nó độc lập
với DBMS và quá trình hiện thực database.
NNNN
HCSDL 4
4
Ví dụVí dụ
NNNN
HCSDL 5
Thực thể Thực thể EntityEntity
Thực thể là loại đối tượng mà ta có thông tin
ề
hú hâ biệtiữ hú à hữ
v
ề
c
hú
n
g
, p
hâ
n
biệt
giữ
a c
hú
n
g
v
à
n
hữ
n
g
loại đối tượng khác, chúng thường có một
th ộ tí h đị hd h
th
u
ộ
c
tí
n
h
đị
n
h
d
an
h
Thựcthể có thể là
Thực
thể
có
thể
là
Nhân viên, sinh viên (người)
Thành
phố
đất
nước(nơichốn)
Thành
phố
,
đất
nước
(nơi
chốn)
Hóa đơn, chứng nhận (biểu diễn sự kiện)
Mô
h
tài
kh ả (t ừ tượ )
NNNN
HCSDL 6
Mô
n
họ
c,
tài
kh
o
ả
n
(t
r
ừ
u
tượ
n
g)
Cách đặt tên và ký hiệu Cách đặt tên và ký hiệu
Mỗi kiểu thực thể phải có một tên gọi,
êà ừ ố íàế ữ
n
ê
n l
à
danh t
ừ
s
ố
í
t v
à
vi
ế
t ch
ữ
hoa.
T
hể hi
ệ
n
(
instance
)
là m
ộ
t trườn
g
h
ợp
c
ụ
ệ ()ộ g ợp ụ
thể của thực thể: Nguyễn văn A
Ký hiệucủacáckiểuthựcthể
Ký
hiệu
của
các
kiểu
thực
thể
EMPLOYEE
DEPENDENT
EMPLOYEE
DEPENDENT
Th
ự
c thể m
ạ
nh
Thực thể yếu
NNNN
HCSDL 7
7
ự ạ
Thực thể yếu
Ví dụ thực thể mạnh/yếuVí dụ thực thể mạnh/yếu
De
p
endent
_
Name
Employee_ID
Employee_Name
p_
BirthDate
EMPLOYEE
DEPENDENT
Has
EMPLOYEE
Has
NNNN
HCSDL 8
8
Thuộc tính Thuộc tính attributeattribute
Mỗi kiểu thực thể có 1 số thuộc tính.
ể ể
T
huộc tính là đặc tính của 1 ki
ể
u thực th
ể
hay 1 mối liên kết.
Ví dụ: kiểu thực thể STUDENT có các thuộc
tính như Student
_
ID
,
Student
_
Name
,
_, _ ,
Address, Major.
STUDENT Student_ID, Student_Name,…
NNNN
HCSDL 9
Các kiểu thuộc tínhCác kiểu thuộc tính
Thuộc tính đơn (simple attribute): là thuộc
tính khôn
g
thể phân nhỏ được.
Ví dụ: Color, Weight, HorsePower
Ví
dụ:
Color,
Weight,
HorsePower
Thuộc tính phức hợp (composite
attribute):
là thuộctínhcóthể phân thành
attribute):
là
thuộc
tính
có
thể
phân
thành
nhiều thành phần
Ví dụ:
Thuộc tính Address bao gồmcác
Ví
dụ:
Thuộc
tính
Address
bao
gồm
các
thành phần Street, District, City
NNNN
HCSDL 10
10
Các kiểu thuộc tính (tt)Các kiểu thuộc tính (tt)
Thuộc tính đơn trị (single valued
attribute)
Thuộctínhđatrị
(multivalued attribute):
Thuộc
tính
đa
trị
(multivalued
attribute):
có thể có nhiều hơn một trị cho một thể
hi
ệ
n
của
t
h
ực
t
h
ể
ệ củat ựct ể
Ví dụ: Thực thể COURSE có thuộc tính
Teacher đatrị mộtmônhọccóthể được
Teacher
đa
trị
,
một
môn
học
có
thể
được
dạy bởi nhiều hơn 1 thầy cô.
NNNN
HCSDL 11
11
Các kiểu thuộc tính (tt)Các kiểu thuộc tính (tt)
Thuộc tính khóa: là 1 thuộc tính hoặc 1 tổ
á ộ íá á ể
hợp c
á
c thu
ộ
c t
í
nh x
á
c định được c
á
c th
ể
hiện (instance) riêng biệt của 1 kiểu thực
ể
th
ể
V
í dụ: Student_ID là thuộc tính xác định
của kiểu thực thể STUDENT
NNNN
HCSDL 12
12
Các kiểu thuộc tính (tt)Các kiểu thuộc tính (tt)
Thuộc tính dẫn xuất (derived attribute): là
ộ íàủ óó ể í
thu
ộ
c t
í
nh m
à
trị c
ủ
a n
ó
c
ó
th
ể
t
í
nh ra
được từ các thuộc tính khác
Ví dụ: Year_Employed là thuộc tính dẫn
xuất từ thuộc tính Date_Em
p
lo
y
ed
py
NNNN
HCSDL 13
13
Cách đặt tên và ký hiệuCách đặt tên và ký hiệu
Mỗi thuộc tính nên được biểu diễn là danh
từ số ít và viết chữ thườn
g
.
Ký hiệucủacáckiểuthuộctính:
Ký
hiệu
của
các
kiểu
thuộc
tính:
Student ID
Teacher
YEld
Student
_
ID
Teacher
Thuộc tính xác định
Thuộc tính dẫn xuất
Y
ears_
E
mp
l
oye
d
Thuộc tính đa trị
NNNN
HCSDL 14
14
Giá trị của thuộc tínhGiá trị của thuộc tính
Kiểu dữ liệu (data type) và Miền giá trị
ủ th ộ tí h (d i )
c
ủ
a
th
u
ộ
c
tí
n
h
(d
oma
i
n
)
Kiểu chuỗi (string)
ể
Ki
ể
u số n
g
uyên (inte
g
er)
Kiểu số thực …
Ví dụ thực thể NHANVIEN có các thuộc tính
H
ọ
tên
(
hoten: strin
g[
20
])
ọ (g[])
Ngày sinh (ns: date)
ĐiểmTB(DTB:float)
NNNN
HCSDL 15
Điểm
TB
(DTB:float)
Mối liên kết Mối liên kết RelationshipRelationship
Mối liên kết (relationship): diễn tả sự
lê ữ ộ hhề k ể h
l
i
ê
n quan
g
i
ữ
a m
ộ
t
h
ay n
h
i
ề
u
k
i
ể
u t
h
ực
thể với nhau. Tên liên kết là một động từ
có ý nghĩa
có
ý
nghĩa
Các kiểu liên kết (relationship type):
ố thự thể th i à liê kết
s
ố
thự
c
thể
th
am
gi
a v
à
o
liê
n
kết
Liên kết 1 ngôi
Liên kết2ngôi
Liên
kết
2
ngôi
Liên kết 3 ngôi
NNNN
HCSDL 16
16
Liên kết một ngôi (Unary relationship)
Là mối liên kết giữa các thể hiện của cùng
ộ ể ể
m
ộ
t ki
ể
u thực th
ể
Còn
gọ
i là mối liên kết đ
ệ
q
u
y
(
recursive
gọ ệ qy(
relationship)
Ví dụ:
Ví
dụ:
EMPLOYEE
EMPLOYEE
Manages
NNNN
HCSDL 17
17
Vai trò (Role)Vai trò (Role)
Đôi khi một thực thể xuất hiện nhiều hơn
1 lần tron
g
mối quan hệ.
Để phân biệt, nên tạo role (nhãn) trên các
Để
phân
biệt,
nên
tạo
role
(nhãn)
trên
các
cạnh nối giữa mối quan hệ và thực thể.
EMPLOYEE
Nhân viên
EMPLOYEE
Manages
Giám
đốc
NNNN
HCSDL 18
18
Giám
đốc
Liên kết hai ngôi (Binary relationship)Liên kết hai ngôi (Binary relationship)
Là mối liên kết giữa hai kiểu thực thể
STUDENT
COURSE
Registers for
NNNN
HCSDL 19
19
Liên kết ba ngôi (Ternary relationship)Liên kết ba ngôi (Ternary relationship)
Là mối liên kết giữa 3 kiểu thực thể
PART
VENDOR
WAREHOUSE
Supplies
Shipping mode Unit cost
NNNN
HCSDL 20
20
Lượng số của mối liên kết (Cardinality)Lượng số của mối liên kết (Cardinality)
Lượng số là số thể hiện thực thể tham gia
vào liên kết
Lượng số tốithiểu(
minimum
cardinality)
Lượng
số
tối
thiểu
(
minimum
cardinality)
Lượng số tối đa (maximum cardinality)
NNNN
HCSDL 21
21
Lượng số của mối liên kết (Cardinality)Lượng số của mối liên kết (Cardinality)
Nếu lượng số tối thiểu là 0 được gọi là lượng số
nhiệm
ý
nhiệm
ý
Nếu lượng số tối thiểu và tối đa đều là 1 thì lượng
ố à đ ilà
bắ b ộ (d )
s
ố
n
à
y
đ
ược
g
ọ
i
là
bắ
t
b
u
ộ
c
(
man
d
atory
)
Ba dạng liên kết:
Liên kết 1-1
Liên kết 1-n
Liên kết n-n
NNNN
HCSDL 22
22
Ký hiệu của lượng sốKý hiệu của lượng số
Nhi
ệ
m
ý
: k
ý
hi
ệ
u là O
ệ ýýệ
Bắt buộc: ký hiệu là ||
Nhiều
Nhiều
Một hoặc nhiều |
Khôn
g
hoặc nhiều O
NNNN
HCSDL 23
23
Ví Ví dụ dụ dự ándự án
EMPLOYEE
PROJECTIs_assigned_to
Rose
PROJECT1
Peter
PROJECT2
Tom
Heidi
PROJECT3
NNNN
HCSDL 24
24
Ví Ví dụ hàng hóadụ hàng hóa
Name
Item_No
Name
Unit Cost
ITEM
Contains
Quantity
NNNN
HCSDL 25
25