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

2021-07-05 06:58:13 字數 816 閱讀 5573

原文:

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

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

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

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

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

1.一對多關係處理:

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

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

方法一:

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

方法二:

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

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

2.多對多關係處理:

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

資料庫表一對多,多對一,多對多的理解

建表的時候,首先得明確兩個實體之間的關係是屬於哪一種,多對多是屬於雙向的一對多,即 站在彼此的角度,它們都是一對多的關係 比如 班級和學生 分析 先站在班級角度,乙個班級有多個學生,再站在學生角度,乙個學生只能屬於乙個班級,那麼它們就不屬於多對多的關係,這樣關係就好建立了,在多的這邊建立乙個外來鍵,...

資料庫一對一,多對一,多對多的關係

關聯對映 一對多 多對一 存在最普遍的對映關係,簡單來講就如球員與球隊的關係 一對多 從球隊角度來說乙個球隊擁有多個球員 即為一對多 多對一 從球員角度來說多個球員屬於乙個球隊 即為多對一 資料表間一對多關係如下圖 關聯對映 一對一 一對一關係就如球隊與球隊所在位址之間的關係,一支球隊僅有乙個位址,...

資料庫的 一對多 多對一 一對一 多對多 關係

關聯對映 一對多 多對一 存在最普遍的對映關係,簡單來講就如球員與球隊的關係 一對多 從球隊角度來說乙個球隊擁有多個球員 即為一對多 多對一 從球員角度來說多個球員屬於乙個球隊 即為多對一 資料表間一對多關係如下圖 關聯對映 一對一 一對一關係就如球隊與球隊所在位址之間的關係,一支球隊僅有乙個位址,...