做一個項目,必然是少不了數據庫設計的!在學習階段,基本都是單表。然而在實際開發過程中,一對多,多對多的表處處都是!簡單整理一下,一對多,多對多表如何設計整理一下思路:
數據庫實體間有三種對應關系:一對一,一對多,多對多。
一對一關系示例:
- 一個學生對應一個學生檔案材料,或者每個人都有唯一的身份證編號。
一對多關系示例:
- 一個學生只屬於一個班,但是一個班級有多名學生。
多對多關系示例:
- 一個學生可以選擇多門課,一門課也有多名學生。
一、關系的實現
在實體關系模型中,我們知道有三種關系:一對一、一對多、多對多。這只是概念上的關系,但是在真實的關系數據庫中,我們只有外鍵,
並沒有這三種關系,那么我們就來說一說在關系數據庫管理系統中,怎么實現這三種關系。
一對多
這里先講解一對多,因為這個關系最簡單。一對多和多對一是一回事,所以就不再提多對一這個詞。一對多的概念是一個對象A會對應多個對象B,
而從B的角度看,一個對象B只會對應一個對象A。比如說班級和學生就是一對多關系。一個班級對應多個學生,一個學生只會對於一個班級。
一對多的關系之所以說簡單,是因為RDBMS的【外鍵】其實就是表示一對多關系。對於一對多關系,我們只需要在“多”的這個表中建立“一”的外鍵關聯即可,
而“一”這邊的表不需要做任何修改。比如前面說到的班級學生關系。班級表不變,學生表增加班級Id作為外鍵。