1. 程式人生 > 資料庫 >mysql 多表及其之間的關係

mysql 多表及其之間的關係

多表的關係

一對多關係:
客戶和訂單、分類和商品、部門和員工。

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

程式碼(以商品和分類為例,其中商品是多方,分類是一方。)

商品表: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);