一、表關系的概念
現實生活中,實體與實體之間肯定是有關系的,如:學生和老師,學生和課程,部門和員工,每個人和自己的身份證號碼等。
在設計表的時候,就應該體現出來表與表之間的這種關系。
表與表之間的三種關系:
-
- 一對多:最常用的關系,如部門和員工
- 多對多:學生選課表和學生表,一門課程可以有多個學生選擇,一個學生選擇多門課程
- 一對一:相對使用比較少,員工表,公民表,護照表
二、一對多
一對多(1:n)
例如:部門和員工,客戶和訂單,分類和商品。
一對多建表原則:在從表(多方)創建一個字段,字段作為外鍵指向主表(一方)的主鍵
三、多對多
多對多(m:n)
例如:老師和學生,學生和課程,用戶和角色
多對多關系建表原則:需要創建第三張表,中間表至少兩個字段,這兩個字段分別作為外鍵指向各自一方的主鍵。
多對多關系示意圖:
四、一對一
一對一(1:1)
在實際開發應用不多,因為一對一可以創建成一張表。
兩種建表原則:
一對一的建表原則 | 說明 |
外鍵唯一 | 主表的主鍵和從表的外鍵(唯一),形成主外鍵關系,外鍵唯一 UNIQUE |
外鍵是主鍵 | 主表的主鍵和從表的主鍵,形成主外鍵關系 |
關系示意圖:
五、表與表之間的關系總結
表與表的關系 | 關系的維護 |
一對多 | 主外鍵的關系 |
多對多 | 中間表,兩個一對多 |
一對一 | 1) 特殊一對多,從表中的外鍵設置為唯一 2) 從表中的主鍵又是外鍵 |