chương 8: chuyển đổi erd thành các quan hệ
DESCRIPTION
Chương 8: Chuyển đổi ERD thành các quan hệ. Nội dung. Bảy bước chuyển đổi. Bước 1: chuyển đổi kiểu thực thể thông thường (regular entity). - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/1.jpg)
1
Chương 8: Chuyển đổi ERD thành các quan hệ
![Page 2: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/2.jpg)
2
Nội dung
• Bảy bước chuyển đổi
![Page 3: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/3.jpg)
3
Bước 1: chuyển đổi kiểu thực thể thông thườ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
![Page 4: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/4.jpg)
4
Ví dụ
CUSTOMERCUSTOMERCustomer_ID Customer_Address
Customer_Name
CUSTOMER(Customer_ID, Customer_Name, Customer_Address)
![Page 5: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/5.jpg)
5
Bước 1: chuyển đổi kiểu thực thể thông thường (regular entity)
• Với thuộc tính phức hợ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ị
![Page 6: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/6.jpg)
6
Ví dụ về thuộc tính phức hợp
CUSTOMERCUSTOMERCustomer_ID Customer_Address
Customer_Name
CUSTOMER(Customer_ID, Customer_Name,Street, City, State)
Street
City
State
![Page 7: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/7.jpg)
7
Ví dụ về thuộc tính đa trị
EMPLOYEEEMPLOYEE
Employee_ID Employee_Address
Employee_Name
EMPLOYEE(employee_ID, employee_Name, employee_Address)
EMPLOYEE_SKILL(Employee_ID, Skill)
Skill
![Page 8: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/8.jpg)
8
Bước 2: Chuyển đổi kiểu thực thể yếu (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
![Page 9: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/9.jpg)
9
Ví dụ về thực thể yếu
DEPENDENTDEPENDENT
Employee_ID
Employee_Name
EMPLOYEE(Employee_ID, Employee_Name)DEPENDENT( Dependent_Name, Employee_ID,
Date_Of_Birth, Gender)
Dependent_Name
Date_Of_Birth
Gender
HasEMPLOYEEEMPLOYEE
![Page 10: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/10.jpg)
10
Bước 3: Chuyển đổi mối liên kế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.
![Page 11: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/11.jpg)
11
Ví dụ về quan hệ 1-M
ORDERSORDERS
Customer_ID
Customer_Name
CUSTOMER(Customer_ID, Customer_Name)ORDER( Order_ID, Order_Date, Customer_ID)
Order_ID
Order_Date
SubmitsCUSTOMERCUSTOMER
![Page 12: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/12.jpg)
12
Bước 3: Chuyển đổi mối liên kế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.
![Page 13: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/13.jpg)
13
Ví dụ về quan hệ M-N
VENDORSVENDORS
Material_ID
Cost
MATERIAL(Material_ID, Cost)SUPPLIES(Material_ID, Vendor_ID, Unit_Price)VENDOR( Vendor_ID, Vendor_Name)
Vendor_ID
Vendor_Name
SubmitsMATERIALSMATERIALS
Unit_Price
![Page 14: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/14.jpg)
14
Bước 3: Chuyển đổi mối liên kết 2 ngôi
• Với mối liên kết 1-1: là 1 trường hợp đặc biệt của 1-M. Khoá chính của 1 trong 2 quan hệ sẽ được đưa vào khoá ngoại của quan hệ kia.
• 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 ý
![Page 15: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/15.jpg)
15
Hình 1.4.6 - Moâ hình ER vaø moâ hình quan heä cuûa vaán ñeà Ngöôøi laùi xe vaø baèng laùi
Moâ hình ER
Löôïc ñoà CSDL
NGÖÔØI LAÙI XE (maõ ngöôøi laùi xe, teân, ñòa chæ, ngaøy sinh)
BAÈNG LAÙI(maõ baèng laùi, loaïi baèng laùi, ngaøy heát haïn, maõ ngöôøi laùi xe)
NGÖÔØI LAÙIXE
BAÈNG LAÙI
maõ ngöôøi laùixeteânñòa chængaøy sinh
maõ baèng laùiloaïi baèng laùingaøy heát haïn
sôû höõu
ñöôïc sôû höõu bôûi
NGÖÔØI LAÙI XE (maõ ngöôøi laùi xe, teân, ñòa chæ, ngaøy sinh, maõ baèng laùi)
BAÈNG LAÙI(maõ baèng laùi, loaïi baèng laùi, ngaøy heát haïn)
hay
Ví dụ về quan hệ 1-1
![Page 16: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/16.jpg)
16
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 dùng làm khoá chính cho quan hệ mới.
![Page 17: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/17.jpg)
17
Ví dụ về kiểu thực thể kết hợp
VENDORVENDOR
Customer_ID
Customer_Name
CUSTOMER(Customer_ID, Customer_Name,..)SHIPMENT(Shipment_No, Customer_ID, Vendor_ID,Date,…)VENDOR( Vendor_ID, Address,…)
Vendor_ID
Address
ShipmentCUSTOMERCUSTOMER
Date
Shipment_No
![Page 18: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/18.jpg)
18
Bước 5: chuyển đổi mối liên kế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
![Page 19: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/19.jpg)
19
Ví dụ
NHANVIEN
MANVNgày sinh
Tên
Employee(Employee_ID, Name, BirthDate, Manager_ID)
quản lý
![Page 20: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/20.jpg)
20
Bước 5: chuyển đổi mối liên kết 1 ngôi
• Với liên kết 1 ngôi M-N:mối liên kết đuợc chuyển thành 1 quan hệ 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
![Page 21: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/21.jpg)
21
Ví dụ mối liên kết 1 ngôi M-N
ITEMITEM
Item_ID
Unit_Cost
Name
ITEM(Item_No, Name, Unit_Cost)CONTAINS(Item_No, Component_No, Quantity)
ContainsQuantity
![Page 22: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/22.jpg)
22
Bước 6: chuyển đổi mối liên kế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
![Page 23: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/23.jpg)
23
Bước 6: chuyển đổi mối liên kế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, CaseBookCác phụ thuộc hàm:
Eng_No, Proj_No Book_NoBook_No, Proj_No Eng_NoEng_No, Book_No Proj_No
![Page 24: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/24.jpg)
24
Ví dụ về quan hệ 3 ngôi 1:1:1
CASEBOOKCASEBOOK
ENGINEER(Eng_No,…)PROJECT(Proj_No,…)CASEBOOK(Book_No,…)USE_CASEBOOK(Eng_No, Proj_No, Book_No,…)
ENGINEERENGINEER
PROJECTPROJECT
Use_Casebook
![Page 25: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/25.jpg)
25
Ví dụ về quan hệ 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
![Page 26: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/26.jpg)
26
Bước 6: chuyển đổi mối liên kết 3 ngôi
• Trường hợp 1:1:N:“Sinh viên làm đề tài theo sự hướng dẫn của giáo sư.
Không giáo sư nào hướng dẫn cùng 1 sinh viên làm nhiều hơn 1 đề tài. Không sinh viên nào làm 1 đề tài với nhiều hơn 1 giáo sư”
3 kiểu thực thể: Teacher, Student, ProjectCác phụ thuộc hàm:
– Stud_No, Tea_No Proj_No– Stud_No, Proj_No Tea_No
2 khoá candidate, có thể chọn 1 trong 2 khoá làm khoá chính
![Page 27: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/27.jpg)
27
Ví dụ về quan hệ 3 ngôi 1:1:N
PROJECTPROJECT
STUDENT(Stud_No,…)PROJECT(Proj_No,…)TEACHER(Tea_No,…)SUPERVISES(Tea_No, Stud_No, Proj_No,…)
STUDENTSTUDENT
TEACHERTEACHER
Supervises
![Page 28: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/28.jpg)
28
Bước 7: chuyển đổi mối liên kết siêu kiểu/ kiểu con
• Trình tự chuyển đổi:– Tạo 1 quan hệ cho siêu kiểu và 1 quan hệ
cho mỗi kiểu con– Đưa vào quan hệ cho siêu kiểu những thuộc
tính chung– Đưa vào mỗi quan hệ cho mỗi kiểu con khoá
chính của siêu kiểu cùng với thuộc tính riêng của từng kiểu con
– Thêm thụôc tính phân biệt kiểu con vào siêu kiểu
![Page 29: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/29.jpg)
29
EMPLOYEEEMPLOYEE
Address
Date_Hired
Employee_Name
Hourly_Rate
Employee_No
Employee_Type
SALARIEDEMPLOYEE
SALARIEDEMPLOYEE
HOURLYEMPLOYEEHOURLY
EMPLOYEECONSULTANTCONSULTANT
d
Annual_Salary Stock_Options Billing_Rate
Contract_No“H”
“S” “C”
Employee_Type=
![Page 30: Chương 8: Chuyển đổi ERD thành các quan hệ](https://reader030.vdocuments.mx/reader030/viewer/2022033022/56814bed550346895db8cd60/html5/thumbnails/30.jpg)
30
Ví dụ
• EMPLOYEE(Employee_No, Employee_Name, Address, Employee_Type, Date_Hired)
• HOURLY_EMPLOYEE(H_Employee_No, Hourly_Rate)
• SALARIES_EMPLOYEE(S_Employee_No, Annual_Salary,Stock_Options)
• CONSULTANT(C_Employee_No, Contract_No, BillingRate)