數據庫實體間一對多(多對一)、多對多關系處理


數據庫實體間有三種對應關系:一對一,一對多,多對多。
一對一關系示例:一個學生對應一個學生檔案材料,或者每個人都有唯一的身份證編號。
一對多關系示例:一個學生只屬於一個班,但是一個學院有多名學生。
多對多關系示例:一個學生可以選擇多門課,一門課也有多名學生。

這三種關系在數據庫中邏輯結構處理分析:

1.一對多關系處理:
我們以學生和班級之間的關系來說明一對多的關系處理方法。
假設現有基本表學生表(學號,姓名,……),班級表(班級號,備注信息,……)。

                       
方法一:
新增一個關系表,用來表示學生與班級的屬於關系,該關系表包含字段(學生號,班級號)。通過學生號與班級號的對應關系表示學生屬於的班級。
方法二:
在學生表中新增字段(班級號),該字段作為學生表的外鍵與班級表中的班級號關聯。每一個學生實體在班級號字段的值,表示該學生屬於的班級。
小結:一般情況下,一對多關系采用方法二來處理。一對多的兩個實體間,在“多”的實體表中新增一個字段,該字段是“一”實體表的主鍵。

2.多對多關系處理:

 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM