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

2021-08-26 03:40:25 字數 682 閱讀 8860

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

資料庫實體間有三種對應關係:一對一,一對多,多對多。

一對一關係示例:乙個學生對應乙個學生檔案材料,或者每個人都有唯一的身份證編號。

一對多關係示例:乙個學生只屬於乙個班,但是乙個學院有多名學生。

多對多關係示例:乙個學生可以選擇多門課,一門課也有多名學生。

這三種關係在資料庫中邏輯結構處理分析:

1.一對多關係處理:

我們以學生和班級之間的關係來說明一對多的關係處理方法。

假設現有基本表學生表(學號,姓名,……),班級表(班級號,備註資訊,……)。

方法一:

新增乙個關係表,用來表示學生與班級的屬於關係,該關係表包含字段(學生號,班級號)。通過學生號與班級號的對應關係表示學生屬於的班級。

方法二:

在學生表中新增字段(班級號),該欄位作為學生表的外來鍵與班級表中的班級號關聯。每乙個學生實體在班級號字段的值,表示該學生屬於的班級。

小結:一般情況下,一對多關係採用方法二來處理。一對多的兩個實體間,在「多」的實體表中新增乙個字段,該字段是「一」實體表的主鍵。

2.多對多關係處理:

在多對多關係中,我們要新增加乙個關係表。如在上面示例中,在學生表和課程表的基礎上增加選課表來表示學生與課程之間的多對多關係。在選課表中,必須含有的屬性有學生號和課程號。(學生號,課程號)這個屬性集剛好也就是選課表的關鍵字。

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

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

ORACLE 資料庫設計 多對多關係

關於資料庫兩張表多對多的關係設計,之前以為多對多關係,只要兩張表存在各自對方表的主鍵就行。殊不知這種理解是錯誤的,今天藉此時間總結一下。資料庫多對多表設計,假設使用主外來鍵關係設計多對多表關係,會造成 1 對一張表進行dml語句時,該錶對應的外來鍵會影響另外一張表的資料,產生級聯刪除問題 2 因為是...

Flask 資料庫高階多對多關係

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