Ch ng 8 chuy n i erd th nh c c quan h
Download
1 / 30

Chương 8: Chuyển đổi ERD thành các quan hệ - PowerPoint PPT Presentation


  • 120 Views
  • Uploaded on

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).

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Chương 8: Chuyển đổi ERD thành các quan hệ' - toviel


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

N i dung
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
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


Ví dụ thường (regular entity)

Customer_Name

CUSTOMER

Customer_ID

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 entity1
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ị


V d v thu c t nh ph c h p
Ví dụ về thuộc tính phức hợp thường (regular entity)

Customer_Name

City

Street

State

CUSTOMER

Customer_ID

Customer_Address

CUSTOMER(Customer_ID, Customer_Name,Street, City, State)


V d v thu c t nh a tr
Ví dụ về thuộc tính đa trị thường (regular entity)

Employee_Name

Employee_Address

Employee_ID

Skill

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
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


V d v th c th y u
Ví dụ về thực thể yếu entity)

Date_Of_Birth

Employee_ID

Employee_Name

Dependent_Name

Gender

EMPLOYEE

Has

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 2 ng i
Bước 3: Chuyển đổi mối liên kết 2 ngôi entity)

  • 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.


V d v quan h 1 m
Ví dụ về quan hệ 1-M entity)

Customer_ID

Order_Date

Customer_Name

Order_ID

ORDERS

CUSTOMER

Submits

CUSTOMER(Customer_ID, Customer_Name)

ORDER( Order_ID, Order_Date, Customer_ID)


B c 3 chuy n i m i li n k t 2 ng i1
Bước 3: Chuyển đổi mối liên kết 2 ngôi entity)

  • 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.


V d v quan h m n
Ví dụ về quan hệ M-N entity)

Material_ID

Vendor_Name

Cost

Unit_Price

Vendor_ID

VENDORS

MATERIALS

Submits

MATERIAL(Material_ID, Cost)

SUPPLIES(Material_ID, Vendor_ID, Unit_Price)

VENDOR( Vendor_ID, Vendor_Name)


B c 3 chuy n i m i li n k t 2 ng i2
Bước 3: Chuyển đổi mối liên kết 2 ngôi entity)

  • 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 ý



B c 4 chuy n i ki u th c th k t h p
Bước 4: Chuyển đổi kiểu thực thể kết hợp entity)

  • 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.


V d v ki u th c th k t h p
Ví dụ về kiểu thực thể kết hợp entity)

Customer_ID

Vendor_ID

Date

Customer_Name

Address

Shipment_No

VENDOR

CUSTOMER

Shipment

CUSTOMER(Customer_ID, Customer_Name,..)

SHIPMENT(Shipment_No, Customer_ID,Vendor_ID,Date,…)

VENDOR( Vendor_ID, Address,…)


B c 5 chuy n i m i li n k t 1 ng i
Bước 5: chuyển đổi mối liên kết 1 ngôi entity)

  • 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


Ví dụ entity)

Tên

Ngày sinh

MANV

NHANVIEN

quản lý

Employee(Employee_ID, Name, BirthDate, Manager_ID)


B c 5 chuy n i m i li n k t 1 ng i1
Bước 5: chuyển đổi mối liên kết 1 ngôi entity)

  • 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


V d m i li n k t 1 ng i m n
Ví dụ mối liên kết 1 ngôi M-N entity)

Name

Item_ID

Unit_Cost

ITEM

Contains

Quantity

ITEM(Item_No, Name, Unit_Cost)

CONTAINS(Item_No, Component_No, Quantity)


B c 6 chuy n i m i li n k t 3 ng i
Bước 6: chuyển đổi mối liên kết 3 ngôi entity)

  • 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


B c 6 chuy n i m i li n k t 3 ng i1
Bước 6: chuyển đổi mối liên kết 3 ngôi entity)

  • 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


V d v quan h 3 ng i 1 1 1
Ví dụ về quan hệ 3 ngôi 1:1:1 entity)

ENGINEER

Use_Casebook

CASEBOOK

PROJECT

ENGINEER(Eng_No,…)

PROJECT(Proj_No,…)

CASEBOOK(Book_No,…)

USE_CASEBOOK(Eng_No, Proj_No, Book_No,…)


V d v quan h 3 ng i 1 1 11
Ví dụ về quan hệ 3 ngôi 1:1:1 entity)

  • 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


B c 6 chuy n i m i li n k t 3 ng i2
Bước 6: chuyển đổi mối liên kết 3 ngôi entity)

  • 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, Project

  • Cá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


V d v quan h 3 ng i 1 1 n
Ví dụ về quan hệ 3 ngôi 1:1:N entity)

STUDENT

Supervises

PROJECT

TEACHER

STUDENT(Stud_No,…)

PROJECT(Proj_No,…)

TEACHER(Tea_No,…)

SUPERVISES(Tea_No, Stud_No, Proj_No,…)


B c 7 chuy n i m i li n k t si u ki u ki u con
Bước 7: chuyển đổi mối liên kết si entity)ê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


Employee_Name entity)

Address

Employee_Type

Employee_No

EMPLOYEE

Date_Hired

Employee_Type=

Contract_No

“H”

d

“S”

“C”

HOURLY

EMPLOYEE

SALARIEDEMPLOYEE

CONSULTANT

Hourly_Rate

Billing_Rate

Annual_Salary

Stock_Options


Ví dụ entity)

  • 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)


ad