十二 多表的建立及關係 多對多

2021-08-15 15:46:16 字數 596 閱讀 2383

多對多,在開發中我們一般引入一張中間表,在中間表中存放兩張表的主鍵,一般還會將這兩個主鍵設定成中間表的聯合主鍵()。

例子:  商品和訂單

--建立商品表

create table product(

id  int primary key auto_increment,

name varchar(20),

price double

--建立中間表

create table orderitem(

oid int,

pid int

--增加外來鍵約束

alter table orderitem add foreign key(oid) references orders(id);

alter table orderitem add foreign key(pid) references product(id);

在開發中處理多對多:

引入一張中間表,存放兩張表的主鍵,一般會將這兩個字段設定為聯合主鍵,這樣就可以將多對多的關係拆成兩個一對多了。

為了保證資料的有效性和完整性

需要在中間表上增加兩個外來鍵約束即可。

圖示:<

建立多對一關係

在資料庫設計中,很多實體之前並不是簡單的一對一關係。有些可能是多對一,多對多關係。下面的文章中以常見的客戶訂單之間的關係為例,介紹在hibernate中,如果去配置多對一的關係。1.實體分析 客戶和訂單之間是一對多的關係,或者說訂單和客戶之間是多對一的關係。按照上面的思想,可以設計出兩種方式的類關係...

多表多對一的級聯關係(tomocat報錯)

報錯資訊 net.sf.json.jsonexception there is a cycle in the hierarchy 好像說表之間死迴圈 解決方法就是 jsonconfig.setexcludes new string 去掉某屬性 將關聯之間的物件去掉 list型別 獲取商品分類 pub...

多對多關係的多表關聯查詢

出處 下面我就舉個比較好理解的例子來說明這個概念。學生和學生所選的選修課之間的關係,就符合多對多的關係,怎麼理解呢?乙個學生可能會選擇多門選修課,而,一門選修課則可能會對應多個學生,下面我以此為例子來說明這個問題。alter table stu ref sub add constraint fk s...