1. 程式人生 > 其它 >資料庫表的三種關係

資料庫表的三種關係

關係一共分為三種:

  • 一對一
  • 一對多
  • 多對多

一、一對一

比如夫妻關係中,丈夫與妻子形成一對一關係。

分析:

在一對一關係中,為了查詢方便,需要兩個表,但是如果為了省空間,也可以只建一個表,通過建立兩個檢視(虛表,view)來實現一對一查詢。

  • 檢視只是邏輯概念,並不獨立佔用物理空間,依附於具體的資料表,對檢視進行修改時相應的表資料也會改動。

二、一對多

比如一個人可以擁有多輛汽車

分析:

其實在一對多關係中也可以只採用一張表,但是因為一個人可以擁有多輛汽車,如果採用一張表,會造成冗餘資訊過多。

比較好設計方式是,人和車輛單獨建表,通過在多的一方加一個外來鍵欄位,可以比較好的建立兩者間的關聯。

三、多對多

比如學生選課,一個學生可以選修多門課程,每門課程可供多個學生選擇。

分析:

在多對多關係中,如果仿照一對多方式建表,會產生很多的冗餘資訊。

比較好的方式是實體和關係分離並單獨建表,實體表為學生表和課程表,關係表為選修表,其中關係表採用聯合主鍵的方式(由學生表主鍵和課程表主鍵組成)建表。

時來天地皆同力,運去英雄不自由。