資料庫表的三種關係
阿新 • • 發佈:2022-01-15
關係一共分為三種:
- 一對一
- 一對多
- 多對多
一、一對一
比如夫妻關係中,丈夫與妻子形成一對一關係。
分析:
在一對一關係中,為了查詢方便,需要兩個表,但是如果為了省空間,也可以只建一個表,通過建立兩個檢視(虛表,view)來實現一對一查詢。
- 檢視只是邏輯概念,並不獨立佔用物理空間,依附於具體的資料表,對檢視進行修改時相應的表資料也會改動。
二、一對多
比如一個人可以擁有多輛汽車
分析:
其實在一對多關係中也可以只採用一張表,但是因為一個人可以擁有多輛汽車,如果採用一張表,會造成冗餘資訊過多。
比較好設計方式是,人和車輛單獨建表,通過在多的一方加一個外來鍵欄位,可以比較好的建立兩者間的關聯。
三、多對多
比如學生選課,一個學生可以選修多門課程,每門課程可供多個學生選擇。
分析:
在多對多關係中,如果仿照一對多方式建表,會產生很多的冗餘資訊。
比較好的方式是實體和關係分離並單獨建表,實體表為學生表和課程表,關係表為選修表,其中關係表採用聯合主鍵的方式(由學生表主鍵和課程表主鍵組成)建表。
時來天地皆同力,運去英雄不自由。