在生活中,物體有多種多樣的關聯關係,這也體現在資料表中。
在資料表的設計中,不同表代表的實體和其他表都有以下三種關係:
一對一;一對多/多對一;多對多。
表與表的關係的合理程度,直接影響了專案的完成度和執行效能。
(1) 一對一關係
例如:乙個人只有一張身份證;一張身份證只能對應乙個人。
(2) 一對多/多對一關係
例如:乙個人可以有很多個**號;但是乙個**號只能對應乙個人。
(3) 多對多關係
例如:乙個學生可以選擇多門課程;一門課程可以有多個學生。
在多的一方建立外來鍵,作為從表,指向一的一方的主鍵。
借助中間表,至少兩列記錄兩張表中主鍵的對應關係,然後這兩列分別作為兩張主表的外來鍵。
注意:第三張中間表不可以出現重複的外來鍵對。這種做法也叫聯合主鍵。
在任一表中新增唯一外來鍵,指向另一方主鍵,確保一對一關係。
也可以讓兩個表的主鍵相同。但是一般一對一關係很少見,遇到一對一關係的表最好是合併表。
MySQL資料庫 多表關係
多個表之間是有關係的,那麼關係靠誰來維護?1.1 一對多關係 乙個表中的一天資料對應另乙個表中的多條資料,比如 客戶和訂單 乙個客戶可以有多張訂單 分類和商品 乙個種類對應多種商品 部門和員工 乙個部門裡有多名員工 建表原則 在 多 的一方 客戶 商品 員工 建立乙個字段,字段作為外來鍵指向 一 的...
資料庫(六) 多表關係
多表問題其實可以把它變成兩個表之間的關係 就像上一節我們提到的外來鍵,就是兩個表之間的關係 所以對於多表之間的關係,我們可以化繁為簡討論兩個表之間的關係 表與表之間的關係就好像數學函式的y和x的關係,也分為三種 一對一,多對一,多對多 怎麼說呢?其實上一節我們做的那個外來鍵表就是乙個多對一模式 怎麼...
MySQL資料庫操作(四) 多表之間的關係
個人部落格 haichenyi.com。感謝關注 1 一張表可以有多個外來鍵 2 外來鍵是表的主鍵,可以是別的表,也可以是本身 少見 3 外來鍵可以為null,可以重複,但是不能不存在,必須要查的到 建立語法foreign key 本表的列名 references 關聯的表名 關聯表的主鍵 建立乙個...