1. 程式人生 > >mysql簡單介紹一對一,一對多,多對多關係處理辦法

mysql簡單介紹一對一,一對多,多對多關係處理辦法

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

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

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

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

2.多對多關係處理:

 

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

轉載http://blog.csdn.net/lm709409753/article/details/48440401