ORACLE 資料庫設計 多對多關係

2021-06-18 21:51:28 字數 338 閱讀 7390

關於資料庫兩張表多對多的關係設計,之前以為多對多關係,只要兩張表存在各自對方表的主鍵就行。殊不知這種理解是錯誤的,今天藉此時間總結一下。

資料庫多對多表設計,假設使用主外來鍵關係設計多對多表關係,會造成:

1、對一張表進行dml語句時,該錶對應的外來鍵會影響另外一張表的資料,產生級聯刪除問題;

2、因為是多對多的關係,會產生大量冗餘資料;

--假設以上2種都允許存在,系統將就湊合也還可用。致命一點是:

3、多對多關係,會導致主鍵重複(主鍵是不可重複的!!!)。

故對於多對多關係表設計,必須使用中間表進行管理,各自表的主鍵構成中間表的聯合主鍵。

Flask 資料庫高階多對多關係

之前介紹了多對多關係 在之前介紹的多對多關係中,關聯表就是乙個簡單的表,不是模型,sqlalchemy 會自動接管這個表。多對多關係可以分解成原表和關聯表之間的兩個一對多關係。這個表裡面儲存了原表的兩個主鍵作為自己的聯合主鍵。存在的問題 因為在這種關聯表裡操作的時候都是物件導向的,新增,刪除等操作都...

請教資料庫如何建立多對多關係

請問資料庫怎麼建立多對多關係 最好以mysql為例 我建立了兩張表 create table custom 顧客表 id int 10 primary key auto increment,name varchar 20 create table shop 商品表 id int 10 primary...

資料庫實體間多對多關係處理

資料庫實體間多對多關係處理 資料庫實體間有三種對應關係 一對一,一對多,多對多。一對一關係示例 乙個學生對應乙個學生檔案材料,或者每個人都有唯一的身份證編號。一對多關係示例 乙個學生只屬於乙個班,但是乙個學院有多名學生。多對多關係示例 乙個學生可以選擇多門課,一門課也有多名學生。這三種關係在資料庫中...