HCSDL
1
NN
NN
CHƯƠNG
CHƯƠNG
4
4
Chuy
Chuy
ể
ể
n đ
n đ
ổ
ổ
i ERD th
i ERD th
à
à
nh c
nh c
á
á
c quan h
c quan h
ệ
ệ
HCSDL 2
NN
NN
N
N
ộ
ộ
i dung
i dung
Bảy bước chuyển đổi từ ERD thành các
quan hệ
Chuyển đổi kiểu thực thể thông thường
Chuyển đổi kiểu thực thể yếu
Chuyển đổi mối liên kết 2 ngôi
Chuyển đổi kiểu thực thể kết hợp
chuyển đổi mối liên kết 1 ngôi
chuyển đổi mối liên kết 3 ngôi
chuyển đổi mối liên kết siêu kiểu/kiểu con
2
HCSDL 3
NN
NN
Bư
Bư
ớ
ớ
c 1: chuy
c 1: chuy
ể
ể
n đ
n đ
ổ
ổ
i ki
i ki
ể
ể
u th
u th
ự
ự
c th
c th
ể
ể
thông
thông
thư
th
ư
ờ
ờ
ng (regular entity)
ng (regular entity)
Mỗi kiểu thực thể thông thường được
chuyển thành 1 quan hệ (bảng). Khoá
chính của kiểu thực thể trở thành khoá
chính của bảng. Các thuộc tính của kiểu
thực thể trở thành các cột của bảng
3
HCSDL 4
NN
NN
V
V
í
í
d
d
ụ
ụ
4
CUSTOMER
CUSTOMER
Customer_ID
Customer_Address
Customer_Name
CUSTOMER(Customer_ID, Customer_Name, Customer_Address)
HCSDL 5
NN
NN
Bư
Bư
ớ
ớ
c 1: chuy
c 1: chuy
ể
ể
n đ
n đ
ổ
ổ
i ki
i ki
ể
ể
u th
u th
ự
ự
c th
c th
ể
ể
thông
thông
thư
th
ư
ờ
ờ
ng (regular entity)
ng (regular entity)
Với thuộc tính phức hợp (ghép): các
thành phần sẽ được chuyển thành các
thuộc tính trong quan hệ
Với thuộc tính đa trị: thực thể sẽ được
chuyển thành 2 quan hệ
Một quan hệ chứa mọi thuộc tính trừ thuộc
tính đa trị
Một quan hệ có 2 thuộc tính: 1 khoá và 1
thuộc tính đa trị
5
HCSDL 6
NN
NN
V
V
í
í
d
d
ụ
ụ
v
v
ề
ề
thu
thu
ộ
ộ
c t
c t
í
í
nh gh
nh gh
é
é
p (ph
p (ph
ứ
ứ
c h
c h
ợ
ợ
p)
p)
6
CUSTOMER
CUSTOMER
Customer_ID Customer_Address
Customer_Name
CUSTOMER(Customer_ID, Customer_Name,Street, City, State)
Street
City
State
HCSDL 7
NN
NN
V
V
í
í
d
d
ụ
ụ
v
v
ề
ề
thu
thu
ộ
ộ
c t
c t
í
í
nh đa tr
nh đa tr
ị
ị
7
EMPLOYEE
EMPLOYEE
Employee_ID
Employee_Address
Employee_Name
EMPLOYEE(employee_ID, employee_Name, employee_Address)
EMPLOYEE_SKILL(Employee_ID, Skill
)
HCSDL 8
NN
NN
Bư
Bư
ớ
ớ
c 2: Chuy
c 2: Chuy
ể
ể
n đ
n đ
ổ
ổ
i ki
i ki
ể
ể
u th
u th
ự
ự
c th
c th
ể
ể
y
y
ế
ế
u
u
(weak entity)
(weak entity)
Mỗi thực thể yếu chuyển thành 1 quan
hệ. Thuộc tính xác định của kiểu thực thể
chủ được đưa vào như là 1 thuộc tính của
quan hệ.
Khóa chính cuả quan hệ= thuộc tính xác
định của thực thể chủ + thuộc tính xác
định của thực thể yếu
8
HCSDL 9
NN
NN
V
V
í
í
d
d
ụ
ụ
v
v
ề
ề
th
th
ự
ự
c th
c th
ể
ể
y
y
ế
ế
u
u
9
DEPENDENT
DEPENDENT
Employee_ID
Employee_Name
EMPLOYEE(Employee_ID, Employee_Name)
DEPENDENT( Dependent_Name, Employee_ID,
Date_Of_Birth, Gender)
Dependent_Name
Date_Of_Birth
Gender
Has
EMPLOYEE
EMPLOYEE
HCSDL 10
NN
NN
B
ư
B
ư
ớ
ớ
c 3: Chuy
c 3: Chuy
ể
ể
n đ
n đ
ổ
ổ
i m
i m
ố
ố
i liên k
i liên k
ế
ế
t 2
t 2
ngôi
ngôi
Với mối liên kết 1-1: Khoá chính của 1
trong 2 quan hệ sẽ được đưa vào làm
khoá ngoại của quan hệ kia. Khóa chính,
khóa ngoại?
Nếu 1 trong 2 đầu mối liên kết là nhiệm
ý, thì nên đưa khoá chính của kiểu thực
thể bắt buộc vào làm khoá ngoại của
quan hệ tương ứng với kiểu thực thể
nhiệm ý
10
HCSDL 11
NN
NN
11
Ví dụ về quan hệ 1-1
HCSDL 12
NN
NN
Bư
Bư
ớ
ớ
c 3: Chuy
c 3: Chuy
ể
ể
n đ
n đ
ổ
ổ
i m
i m
ố
ố
i liên k
i liên k
ế
ế
t 2 ngôi
t 2 ngôi
Với mối liên kết 1-M: thuộc tính xác định
của kiểu thực thể phía 1 được đưa vào
làm khoá ngoại của kiểu thực thể phía M.
12
HCSDL 13
NN
NN
V
V
í
í
d
d
ụ
ụ
v
v
ề
ề
quan h
quan h
ệ
ệ
1
1
-
-
M
M
13
Customer_ID
Customer_Name
CUSTOMERS(Customer_ID, Customer_Name)
ORDERS ( Order_ID, Order_Date, Customer_ID)
Order_ID
Order_Date
CUSTOMERS
CUSTOMERS
SUBMIT
ORDERS
HCSDL 14
NN
NN
Bư
Bư
ớ
ớ
c 3: Chuy
c 3: Chuy
ể
ể
n đ
n đ
ổ
ổ
i m
i m
ố
ố
i liên k
i liên k
ế
ế
t 2 ngôi
t 2 ngôi
Với mối liên kết M-N: một quan hệ mới
được tạo ra. Khoá chính của quan hệ mới
bao gồm khóa chính của 2 quan hệ tương
ứng với kiểu thực thể tham gia vào mối
liên kết.
14
HCSDL 15
NN
NN
V
V
í
í
d
d
ụ
ụ
v
v
ề
ề
quan h
quan h
ệ
ệ
M
M
-
-
N
N
15
Material_ID
Cost
MATERIALs(Material_ID, Cost)
SUPPLIES(Material_ID, Vendor_ID,
Unit_Price)
VENDORS( Vendor_ID
, Vendor_Name)
Vendor_ID
Vendor_Name
MATERIALS
MATERIALS
Unit_Price
supplies
VENDORS
HCSDL 16
NN
NN
Bước 4: Chuyển đổi kiểu thực thể kết hợp
Một quan hệ mới được tạo ra để diễn tả cho
kiểu thực thể kết hợp
Nếu kiểu thực thể kết hợp không có thuộc tính
xác định riêng, khoá chính của quan hệ mới bao
gồm khoá chính của 2 quan hệ tương ứng với 2
kiểu thực thể có liên quan
Nếu kiểu thực thể kết hợp có thuộc tính xác
định riêng thì thuộc tính này có thể được dùng
làm khoá chính cho quan hệ mới.
16
HCSDL 17
NN
NN
V
V
í
í
d
d
ụ
ụ
v
v
ề
ề
ki
ki
ể
ể
u th
u th
ự
ự
c th
c th
ể
ể
k
k
ế
ế
t h
t h
ợ
ợ
p
p
17
Customer_ID
Customer_Name
CUSTOMER(Customer_ID, Customer_Name, )
SHIPMENT(Shipment_No, Customer_ID, Vendor_ID,Date,…)
VENDOR( Vendor_ID, Address,…)
Vendor_ID
Address
CUSTOMER
CUSTOMER
Date
Shipment_No
VENDORS
SHIPMENT
HCSDL 18
NN
NN
Bư
Bư
ớ
ớ
c 5: chuy
c 5: chuy
ể
ể
n đ
n đ
ổ
ổ
i m
i m
ố
ố
i liên k
i liên k
ế
ế
t 1 ngôi
t 1 ngôi
Với liên kết 1 ngôi 1-M: Thêm 1 khoá
ngoại vào quan hệ của mối liên kết này
để tham chiếu đến các trị của khoá chính
của quan hệ (khoá ngoại và khoá chính
phải cùng miền trị).
Î Được gọi là khoá ngoại đệ quy
18
HCSDL 19
NN
NN
V
V
í
í
d
d
ụ
ụ
19
EMPLOYEE
EMPLOYEE
Employee_ID
Birthdate
Name
Employee(Employee_ID, Name, BirthDate, Manager_ID)
Manages
HCSDL 20
NN
NN
Bư
Bư
ớ
ớ
c 5: chuy
c 5: chuy
ể
ể
n đ
n đ
ổ
ổ
i m
i m
ố
ố
i liên k
i liên k
ế
ế
t 1 ngôi
t 1 ngôi
Với liên kết 1 ngôi M-N:mối liên kết được
chuyển thành 2 quan hệ:
Một quan hệ diễn tả kiểu thực thể
Một quan hệ diễn tả chính mối liên kết
với khoá chính bao gồm 2 thuộc tính lấy
từ khoá chính của quan hệ tương ứng
20
HCSDL 21
NN
NN
V
V
í
í
d
d
ụ
ụ
m
m
ố
ố
i liên k
i liên k
ế
ế
t 1 ngôi M
t 1 ngôi M
-
-
N
N
21
ITEM
ITEM
Item_ID
Unit_Cost
Name
ITEM(Item_No, Name, Unit_Cost)
CONTAINS(Item_No, Component_No, Quantity)
Contains
Quantity
HCSDL 22
NN
NN
Bư
Bư
ớ
ớ
c 6: chuy
c 6: chuy
ể
ể
n đ
n đ
ổ
ổ
i m
i m
ố
ố
i liên k
i liên k
ế
ế
t 3 ngôi
t 3 ngôi
Mối liên kết 3 ngôi và các kiểu thực thể có
liên quan được chuyển thành 4 quan hệ:
3 quan hệ cho 3 kiểu thực thể liên quan
và 1 quan hệ cho mối liên kết
Bốn trường hợp :
1:1:1
1:1:N
1:N:M
N:M:L
22
HCSDL 23
NN
NN
Bư
Bư
ớ
ớ
c 6: chuy
c 6: chuy
ể
ể
n đ
n đ
ổ
ổ
i m
i m
ố
ố
i liên k
i liên k
ế
ế
t 3 ngôi
t 3 ngôi
Trường hợp 1:1:1:
“Mỗi kỹ sư dùng 1 case book khác nhau cho mỗi
project mà họ tham gia. Các kỹ sư không dùng
chung case book khi làm cùng 1 project”
Î 3 kiểu thực thể: Engineer, Project, CaseBook
Î Các phụ thuộc hàm:
Eng_No, Proj_No Æ Book_No
Book_No, Proj_No Æ Eng_No
Eng_No, Book_No Æ Proj_No
23
HCSDL 24
NN
NN
V
V
í
í
d
d
ụ
ụ
v
v
ề
ề
quan h
quan h
ệ
ệ
3 ngôi 1:1:1
3 ngôi 1:1:1
24
CASEBOOK
CASEBOOK
ENGINEER(Eng_No,…)
PROJECT(Proj_No,…)
CASEBOOK(Book_No,…)
USE_CASEBOOK(Eng_No, Proj_No, Book_No,…)
ENGINEER
ENGINEER
PROJECT
PROJECT
Use_Casebook
HCSDL 25
NN
NN
V
V
í
í
d
d
ụ
ụ
v
v
ề
ề
quan h
quan h
ệ
ệ
3 ngôi 1:1:1
3 ngôi 1:1:1
3 khoá candidate:
Eng_No, Proj_No
Book_No, Proj_No
Eng_No, Book_No
Î Có thể chọn bất kỳ khoá candidate nào
làm khoá chính
25