Bài giảng Cơ sở dũ liệu - Chương 8: Chuyển đổi ERD thành các quan hệ

Bảy bước chuyển đổi

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

 

ppt30 trang | Chia sẻ: hienduc166 | Lượt xem: 540 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Cơ sở dũ liệu - Chương 8: Chuyển đổi ERD thành các quan hệ, để xem tài liệu hoàn chỉnh bạn click vào nút TẢI VỀ ở trên
Chương 7: Chuyển đổi ERD thành các quan hệ1Nội dungBảy bước chuyển đổi2Bướ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 3Ví dụCUSTOMERCustomer_IDCustomer_AddressCustomer_NameCUSTOMER(Customer_ID, Customer_Name, Customer_Address)4Bướ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ị5Ví dụ về thuộc tính phức hợpCUSTOMERCustomer_ID Customer_AddressCustomer_NameCUSTOMER(Customer_ID, Customer_Name,Street, City, State)StreetCityState6Ví dụ về thuộc tính đa trịEMPLOYEEEmployee_IDEmployee_AddressEmployee_NameEMPLOYEE(employee_ID, employee_Name, employee_Address)EMPLOYEE_SKILL(Employee_ID, Skill)Skill7Bướ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 8Ví dụ về thực thể yếuDEPENDENTEmployee_ID Employee_NameEMPLOYEE(Employee_ID, Employee_Name)DEPENDENT( Dependent_Name, Employee_ID, 	Date_Of_Birth, Gender)Dependent_NameDate_Of_BirthGenderHasEMPLOYEE9Bước 3: Chuyển đổi mối liên kết 2 ngôiVớ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. 10Ví dụ về quan hệ 1-MORDERSCustomer_ID Customer_NameCUSTOMER(Customer_ID, Customer_Name)ORDER( Order_ID, Order_Date, Customer_ID)Order_IDOrder_DateSubmitsCUSTOMER11Bước 3: Chuyển đổi mối liên kết 2 ngôiVớ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.12Ví dụ về quan hệ M-NVENDORSMaterial_ID CostMATERIAL(Material_ID, Cost)SUPPLIES(Material_ID, Vendor_ID, Unit_Price)VENDOR( Vendor_ID, Vendor_Name)Vendor_IDVendor_NameSubmitsMATERIALSUnit_Price13Bước 3: Chuyển đổi mối liên kết 2 ngôiVớ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 ý14Ví dụ về quan hệ 1-115Bước 4: Chuyển đổi kiểu thực thể kết hợpMột quan hệ mới được tạo ra để diễn tả cho kiểu thực thể kết hợpNế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 quanNế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.16Ví dụ về kiểu thực thể kết hợpVENDORCustomer_ID Customer_NameCUSTOMER(Customer_ID, Customer_Name,..)SHIPMENT(Shipment_No, Customer_ID, Vendor_ID,Date,)VENDOR( Vendor_ID, Address,)Vendor_IDAddressShipmentCUSTOMERDateShipment_No17Bước 5: chuyển đổi mối liên kết 1 ngôiVớ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 đệ quy18Ví dụEMPLOYEEEmployee_IDBirthdate NameEmployee(Employee_ID, Name, BirthDate, Manager_ID)Manages19Bước 5: chuyển đổi mối liên kết 1 ngôiVớ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 ứng20Ví dụ mối liên kết 1 ngôi M-NITEMItem_IDUnit_CostNameITEM(Item_No, Name, Unit_Cost)CONTAINS(Item_No, Component_No, Quantity)ContainsQuantity21Bước 6: chuyển đổi mối liên kết 3 ngôiMố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ếtBốn trường hợp : 1:1:11:1:N1:N:MN:M:L22Bước 6: chuyển đổi mối liên kết 3 ngôiTrườ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_No	Book_No, Proj_No 	 Eng_No	Eng_No, Book_No 	 Proj_No23Ví dụ về quan hệ 3 ngôi 1:1:1CASEBOOKENGINEER(Eng_No,)PROJECT(Proj_No,)CASEBOOK(Book_No,)USE_CASEBOOK(Eng_No, Proj_No, Book_No,)ENGINEERPROJECTUse_Casebook24Ví dụ về quan hệ 3 ngôi 1:1:13 khoá candidate:Eng_No, Proj_No 	Book_No, Proj_NoEng_No, Book_No Có thể chọn bất kỳ khoá candidate nào làm khoá chính 25Bước 6: chuyển đổi mối liên kết 3 ngôiTrườ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_NoStud_No, Proj_No	 Tea_No 2 khoá candidate, có thể chọn 1 trong 2 khoá làm khoá chính 26Ví dụ về quan hệ 3 ngôi 1:1:NPROJECTSTUDENT(Stud_No,)PROJECT(Proj_No,)TEACHER(Tea_No,)SUPERVISES(Tea_No, Stud_No, Proj_No,)STUDENTTEACHERSupervises27Bước 7: chuyển đổi mối liên kết siêu kiểu/ kiểu conTrì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 conThêm thụôc tính phân biệt kiểu con vào siêu kiểu28EMPLOYEEAddressDate_HiredEmployee_NameHourly_RateEmployee_NoEmployee_TypeSALARIEDEMPLOYEEHOURLYEMPLOYEECONSULTANTdAnnual_SalaryStock_OptionsBilling_RateContract_No“H”“S”“C”Employee_Type=29Ví 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) 30

File đính kèm:

  • pptChuong 8 Chuyen doi ERD.ppt