mysql 多表及其之間的關係
阿新 • • 發佈:2020-02-01
多表的關係
一對多關係:
客戶和訂單、分類和商品、部門和員工。
一對多建表原則:
在多的一方建立一個欄位,欄位作為外來鍵指向一方的主鍵。
程式碼(以商品和分類為例,其中商品是多方,分類是一方。)
商品表:product(多) pid
分類表:category(一) cid
通過外來鍵約束,程式碼如下:
alter table product add foreign key (pid) references category(cid);
多對多關係:
學生和課程
多對多關係建表原則:
需要建立第三張表,中間表中至少兩個欄位,這兩個欄位分別作為外來鍵指向各自一方的主鍵。
程式碼(以訂單和商品為例,其中訂單和商品都是多方。)
訂單表:orders(多) id
商品表:product(多) id
在開發中,我們需要把這兩個多對多拆分,拆分成兩個一對多。
由上建表原則:需要建立第三張表:orderitem (oid,pid)
訂單表和訂單項表的主外來鍵關係:
alter table orderitem add foreign key (oid) references orders(id);
商品表和訂單表單的主外來鍵關係
alter table `orderitem` add foreign key(pid) references product(id);