多對多,在開發中我們一般引入一張中間表,在中間表中存放兩張表的主鍵,一般還會將這兩個主鍵設定成中間表的聯合主鍵()。
例子: 商品和訂單
--建立商品表
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...