2010-04-19 101 views
0

我想提高對ER圖中基數約束的理解。實體關係圖表

我有兩個實體:

  1. User
  2. Location

但是,我想這兩個實體之間的關係是許多一對多(用戶可以在許多位置和位置可以有許多用戶)。

爲此,我需要引入一個關聯類UserLocation

說我現在有3個實體是正確的嗎?

如果我要繪製上述的ER圖,我是否可以在UserLocation實體中繪製,並且基數是這樣的?

User 1 ------ * User Location * ------ 1 Location 

回答

1

你不需要第三個實體。

在實體世界中,這是仿照這樣的:

  • 實體用戶有位置的列表。
  • 實體位置有一個用戶列表。

在關係世界中,這被建模這樣的:

  • 甲表USER,與主鍵USER_ID
  • 的表位置,用主鍵LOCATION_ID
  • 甲表USER_LOCATION,與兩個外鍵,每個上述表中的一個。

我相信在關係圖中「中介」是不可見的。所以,我認爲你需要像這樣:

用戶* ------- *位置

1

這一切都取決於你正在做的entitiy映射的類型和級別。

可以表達的關係,因爲它是

實體1 <>實體2

如使用「魚尾紋」來表示一對多關係。

當歸你會打破了多對多關係具有中間表中的地圖,這通常同時包含許多表

實體1>實體3 <實體2

的的主鍵

其中實體3(您的中介表)將爲這兩個表格保留PK,以及任何其他數據,例如唯一ID等。