Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
0,95 MB
Nội dung
Chương 7: Chuyển đổi ERD thành quan hệ Nội dung Bảy bước chuyển đổi từ ERD thành quan hệ 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 chuyển thành quan hệ (bảng) Khố kiểu thực thể trở thành khố bảng Các thuộc tính kiểu thực thể trở thành cột bảng Ví dụ Customer_Name Customer_ID CUSTOMER CUSTOMER Customer_Address CUSTOMER(Customer_ID, Customer_Name, Customer_Address) 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: thành phần chuyển thành thuộc tính quan hệ Với thuộc tính đa trị: thực thể chuyển thành quan hệ Một quan hệ chứa thuộc tính trừ thuộc tính đa trị Một quan hệ có thuộc tính: khố thuộc tính đa trị Ví dụ thuộc tính phức hợp Customer_Name City Street Customer_ID CUSTOMER CUSTOMER State Customer_Address CUSTOMER(Customer_ID, Customer_Name,Street, City, State) Ví dụ thuộc tính đa trị Employee_Name Employee_Address Employee_ID EMPLOYEE EMPLOYEE EMPLOYEE(employee_ID, employee_Name, employee_Address) EMPLOYEE_SKILL(Employee_ID, Skill) 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 quan hệ Thuộc tính xác định kiểu thực thể chủ đưa vào thuộc tính quan hệ ◦ Khóa cuả quan hệ= thuộc tính xác định thực thể chủ + thuộc tính xác định thực thể yếu Ví dụ thực thể yếu Date_Of_Birth Employee_ID Employee_Name EMPLOYEE EMPLOYEE Has Dependent_Name Gender DEPENDENT DEPENDENT EMPLOYEE(Employee_ID, Employee_Name) DEPENDENT( Dependent_Name, Employee_ID, Date_Of_Birth, Gender) Bước 3: Chuyển đổi mối liên kết Với mối liên kết 1-M: thuộc tính xác định kiểu thực thể phía đưa vào làm khố ngoại kiểu thực thể phía M 10 Bước 4: Chuyển đổi kiểu thực thể kết hợp Một quan hệ tạo để 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, khố quan hệ bao gồm khố quan hệ tương ứng với 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 thuộc tính dùng làm khố cho quan hệ 16 Ví dụ kiểu thực thể kết hợp Customer_ID Date Customer_Name CUSTOMER CUSTOMER Vendor_ID Address Shipment_No Shipment VENDOR VENDOR CUSTOMER(Customer_ID, Customer_Name, ) SHIPMENT(Shipment_No, Customer_ID, Vendor_ID,Date,…) VENDOR( Vendor_ID, Address,…) 17 Bước 5: chuyển đổi mối liên kết Với liên kết 1-M: Thêm khoá ngoại vào quan hệ mối liên kết để tham chiếu đến trị khoá quan hệ (khố ngoại khố phải miền trị) Được gọi khoá ngoại đệ quy 18 Ví dụ Employee_ID Name Birthdate EMPLOYEE EMPLOYEE Manages Employee(Employee_ID, Name, BirthDate, Manager_ID) 19 Bước 5: chuyển đổi mối liên kết Với liên kết M-N:mối liên kết đuợc chuyển thành quan hệ: ◦ Một quan hệ diễn tả kiểu thực thể ◦ Một quan hệ diễn tả mối liên kết với khố bao gồm thuộc tính lấy từ khố quan hệ tương ứng 20 Ví dụ mối liên kết M-N Item_ID Name Unit_Cost ITEM ITEM Quantity Contains ITEM(Item_No, Name, Unit_Cost) CONTAINS(Item_No, Component_No, Quantity) 21 Bước 6: chuyển đổi mối liên kết Mối liên kết kiểu thực thể có liên quan chuyển thành quan hệ: quan hệ cho kiểu thực thể liên quan 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 Bước 6: chuyển đổi mối liên kết Trường hợp 1:1:1: “Mỗi kỹ sư dùng case book khác cho project mà họ tham gia Các kỹ sư không dùng chung case book làm 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 Ví dụ quan hệ 1:1:1 ENGINEER ENGINEER Use_Casebook PROJECT PROJECT CASEBOOK CASEBOOK ENGINEER(Eng_No,…) PROJECT(Proj_No,…) CASEBOOK(Book_No,…) USE_CASEBOOK(Eng_No, Proj_No, Book_No,…) 24 Ví dụ quan hệ ngơi 1:1:1 khố candidate: ◦ Eng_No, Proj_No ◦ Book_No, Proj_No ◦ Eng_No, Book_No Có thể chọn khố candidate làm khố 25 Bước 6: chuyển đổi mối liên kết Trường hợp 1:1:N: “Sinh viên làm đề tài theo hướng dẫn giáo sư Không giáo sư hướng dẫn sinh viên làm nhiều đề tài Không sinh viên làm đề tài với nhiều giáo sư” 3 kiểu thực thể: Teacher, Student, Các phụ thuộc hàm: ◦ Stud_No, Tea_No Proj_No ◦ Stud_No, Proj_No Tea_No Project khố candidate, chọn khố làm khố 26 Ví dụ quan hệ ngơi 1:1:N STUDENT STUDENT Supervises TEACHER TEACHER PROJECT PROJECT STUDENT(Stud_No,…) PROJECT(Proj_No,…) TEACHER(Tea_No,…) SUPERVISES(Tea_No, Stud_No, Proj_No,…) 27 Bước 7: chuyển đổi mối liên kết siêu kiểu/ kiểu Trình tự chuyển đổi: ◦ Tạo quan hệ cho siêu kiểu quan hệ cho kiểu ◦ Đưa vào quan hệ cho siêu kiểu thuộc tính chung ◦ Đưa vào quan hệ cho kiểu khoá siêu kiểu với thuộc tính riêng kiểu ◦ Thêm thụơc tính phân biệt kiểu vào siêu kiểu 28 Address Employee_Name Employee_Type Employee_No EMPLOYEE EMPLOYEE “H” d “S” HOURLY HOURLY EMPLOYEE EMPLOYEE Hourly_Rate Employee_Type= Contract_No “C” SALARIEDE SALARIEDE MPLOYEE MPLOYEE Annual_Salary Date_Hired Stock_Options CONSULTANT CONSULTANT Billing_Rate 29 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) 30 ... Proj_No,…) 27 Bước 7: chuyển đổi mối liên kết siêu kiểu/ kiểu Trình tự chuyển đổi: ◦ Tạo quan hệ cho siêu kiểu quan hệ cho kiểu ◦ Đưa vào quan hệ cho siêu kiểu thuộc tính chung ◦ Đưa vào quan hệ cho... thuộc tính phức hợp: thành phần chuyển thành thuộc tính quan hệ Với thuộc tính đa trị: thực thể chuyển thành quan hệ Một quan hệ chứa thuộc tính trừ thuộc tính đa trị Một quan hệ có thuộc tính:... Bảy bước chuyển đổi từ ERD thành quan hệ 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 chuyển thành quan hệ (bảng) Khố kiểu thực thể trở thành khố