1. 程式人生 > 其它 >MySQL:多表關係設計(一對多 / 多對多 / 一對一)

MySQL:多表關係設計(一對多 / 多對多 / 一對一)

<0> 多表關係概述

  實際開發中,一個專案通常需要很多張表才能完成。

  例如:一個商城專案就需要分類表(category)、 商品表(products)、訂單表(orders)等多張表。且這些表的資料之間存在一定的關係,接下來我們一起 學習一下多表關係設計方面的知識

表與表之間的三種關係
一對多關係:最常見的關係:學生對班級 , 員工對部門
多對多關係:學生與課程 , 使用者與角色
一對一關係:使用較少,因為一對一關係可以合成為一張表

<1> 一對多關係 (常見)

    例如: 班級和學生, 部門和員工, 客戶和訂單, 分類和商品

    建表原則: 在從表(多方)建立一個欄位, 欄位作為外來鍵指向主表(一方)的主鍵

<2>多對多關係 (常見)

    例如:老師和學生, 學生和課程, 使用者和角色

    建表原則: 需要建立第三行表,中間表中至少有兩個欄位,這兩個欄位分別作為外來鍵,指向各自一方的主鍵

    

<3> 一對一關係(瞭解)

    在實際開發中應用不多,因為一對一可以建立成一張表

    建表原則: 外來鍵唯一, 主表的主鍵和從表的唯一外來鍵,形成主外來鍵關係, 外來鍵唯一用UNIQUE修飾