如何將ERD轉換為邏輯資料?


(1) 把每個[實體]都做成一個[表單],實體的[屬性]就是[欄位] , 並訂下主鍵(PK)。

例如 : Person (person_id, Name, Lastname, Email, Phone)

(2) 當存在多值屬性時(如Phone),該多值屬性也變成一個表格。

例如 : Person (person_id, Name, Lastname, Email)
以及 Phone (person_id, phone_id, phone_number)

(3) 當出現弱屬性時,該弱屬性可以由其他屬性得知,則該弱屬性不必成為一個欄位。

例如 : age可以由生日計算得知,age則不必成為一個欄位。

(4) 當實體A與實體B為 1:1 時,A表單加上FK連到B表單PK,或是B表單加上FK連到A表單 PK。

A(aid,a1,a2 …, bid) B(bid,b1,b2 …) 或是 A(aid,a1,a2 …) B(bid,b1,b2 …, aid)

以上A表單的bid為FK連接到B表單的bid (PK)
以上B表單的aid為FK連接到A表單的aid (PK)

(5) A實體與B實體為 1:N,B表單加上FK連到A表單的PK。

 A(aid,a1,a2 …) B(bid,b1,b2 …, aid)

以上B表單的aid為FK連接到A表單的aid (PK)

(6) A實體與B實體為 N:N,AB間的關聯C會變成表單,C表單多出兩個FK,一個到A 一個到B。

A(aid,a1,a2 …) B(bid,b1,b2 …) C(cid,aid,bid …)

(7) 如果[關聯]有屬性,則該[關聯]會變成一個[表單],關聯的[屬性]就成為其中[欄位],再加上實體的主鍵為其中的[欄位] 。

練習 :
https://www.mysql.tw/2015/04/blog-post.html
https://www.mysql.tw/2014/03/er-model.html





留言

這個網誌中的熱門文章

如何使用EXCEL連接MYSQL

關聯模式的五大鍵 Super key、Candidate Key、Primary Key、Alternate Key、Foreign Key

SELECT SQL語法總整理