Tải bản đầy đủ (.pdf) (33 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 (329.76 KB, 33 trang )

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




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




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





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




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




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





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




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





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




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

×