Biến đổi mô hình thực thể liên kết
thành mô hình quan hệ
Lê Thị Lan
Biến đổi thực thể
Thực thể -> quan hệ
CUSTOMER (CustID, Name, Address, Phone)
Biến đổi thực thể yếu
ORDER (OrderNum, OrderDate, SalesP)
ITEMS (OrderNum, ItemNum, PartNum, Qty,
Cost)
ITEMS là thực thể yếu, bên cạnh khóa của nó
(ItemNum) ta cần dùng thêm khóa của thực thể mà nó
phụ thuộc (OrderNum).
Biến đổi liên kết 1-N
CUSTOMER (CustomerID, Name, Address, ...)
ORDER (OrderNum, OrderDate, SalesP,
CustomerID)
Copy khóa của cha (bên 1) vào quan hệ của con (bên
nhiều N)
Biến đổi liên kết M-N
SUPPLIER (SupplierID, FirmName, Address, ...)
PRODUCT (ProductID, Description, ...)
PRODUCT_SUPPLIER (SupplierID, ProductID)
Sinh ra quan hệ trung gian và copy khóa của 2 quan hệ
vào
Biến đổi liên kết quy hồi
PART (Part_ID, Parent_Part_ID, Description)
Tương tự liên kết 1-N
Biến đổi liên kết quy hồi
Part_ID
Parent_Part_ID
Description
1000
null
Complete Car
200
1000
Engine
500
1000
Body
510
500
Doors
520
500
Hood
530
500
Quarter Panels
540
500
Trunk
550
500
Roof
Biến đổi liên kết quy hồi
STUDENT (Student_ID, Name, Address, ...)
TUTOR-INTERSECTION (Student_ID,
Tutored_by_ID) )
Tương tự liên kết M-N
Biến đổi liên kết quy hồi
STUDENT
Student ID
Name
Address
101
B. Smith
1234 Smith St.
202
A. Green
12 Grant St.
303
D. Jones
98 Short St.
404
P. Ewing
999 Tall St.
TUTOR-INTERSECTION
Student ID
Tutored by ID
101
202
404
202
202
303
404
303
Student ID
Tutored by ID
Biến đổi liên kết
ORDER (Order_Number, Order_Date, Customer_ID,
Salesperson_Id)
CUSTOMER (Customer_ID, Contact,
Address...Salesperson_id)
SALESPERSON (Salesperson_Id, Name, Department,
Phone)
Biến đổi liên kết «là một»
Chuyển thực thể “tổng quát” mức trên cùng thành quan hệ
Chuyển thực thể “chi tiết” thành quan hệ, chỉ chứa các thuộc
tính riêng
Copy khóa của thực thể tổng quát sang thực thể chi tiết
CALL (Call_Identifier, Customer_Id, Source_Number,
Destination_Number, TimeOfDay)
REGULAR_CALL (Call_Identifier, Duration)
LONG_DISTANCE (Call_Identifier, Duration, LongDistanceCarrier)
CELL_CALL (Call_Identifier, Air_Time, Land_Time)
CUSTOMER (Customer_ID, Name, Address, ...)
Bài tập
Proj#
EnameSalary
EMPS
N
Work
in
1
N
Work
for
N
Dollar
amount
Proj
Dname
Dept
Dept#
Bài tập
Dept
EMPS
E# Enam salar D#
e
y
-
-
-
-
D#
Dname
-
EMPS-Proj
Proj
Proj# Dollar amount
E#
Proj#
-
-
-
-
Bài tập
ServiceRendered
-LineItemNumber (id)
-ServiceExtendedPrice
rendered by
rendering
Employee
-EmployeeID (id)
-FirstName
-LastName
-PayRate
a rendering of
a service
rendered as
SalonService
-ServiceID (id)
-ServiceName
-ServiceDuration
-ServicePrice
a specific service
rendered during
a reservation
to provide
Appointment
-AppointmentID (id)
-AppointmentDate
-AppointmentTime
a reservation for
making
Customer
-CustomerID (id)
-FirstName
-LastName
-CustPhone
-Street
-City
-State
-Zip
Ví dụ
Hệ thống khách sạn (The restaurant chain)
Một công ty có một hệ thống các nhà hàng, mỗi nhà hàng được đặt tại các
địa điểm riêng. Mỗi nhà hàng chia thành các khu vực như không gian
đợi, quầy bar, chỗ hút thuốc, không hút thuốc, phòng party,….kèm
theo là suất phục vụ từ 2,4,6…chỗ ngồi của mỗi khu vực.
Thực đơn phục vụ khách bao gồm: danh sách các món ăn, mô tả ngắn gọn
về các món và giá cả.
Khi đặt chỗ tại nhà hàng, khách hàng cần để lại các thông tin: ngày, giờ,
số lượng người và sẽ được nhà hàng phục vụ bởi một trong những nhân
viên của nhà hàng.
Chúng tôi quản lý các nhân viên nhà hàng bằng các thông tin: tên, công
việc, địa chỉ nhà, số điện thoại, số bảo mật xã hội.
Hệ thống khách sạn (The restaurant chain)
Mô hình quan hệ