Erd

在這種情況下,關係圖會是什麼樣子?

  • October 9, 2014

情況

上週我不得不做一個作業,我不同意我老師的 ERD。她使用n 元關係,而我使用兩個二元關係。我想知道一個真正的dba(你)對此的看法。

最初的任務是設計一個 ERD,但由於我們在學校使用的 ERD 表示法非常罕見,我要問一下關係圖應該是什麼樣子。我想一旦我知道關係圖應該是什麼樣子,我就可以自己弄清楚。

任務

有一家住房協會公司想要一個數據庫。

當客戶註冊時,客戶必須填寫他的詳細資訊(姓名、住址、電話號碼),此時他還必須填寫第二張表格。在那裡,他必須指定他想住在哪個城市,以及他想住在什麼類型的房子裡(房子、豪宅、別墅等)。要求客戶至少填寫一個城市和一所房子。

第二個表格還有一些客戶必須填寫的其他欄位,例如最高價格和備註(例如,房子必須有游泳池)。

我的答案

CUSTOMER: customer# (PK), firstname, lastname, dob, phonenumber 
FORM: customer# (PK), dateofregister, remark, maxprice
contains1: customer# (PK), city (PK)
contains2: customer# (PK), housetype (PK)
  • 客戶 1..1 表格
  • 表格 1..n 包含 1
  • 表格 1..n 包含 2

我的老師回答

她將兩者合併CUSTOMERFORM同一個表中,因為它們具有相同的鍵customer#,並創建了表CONTAINS: customer# (PK), city (PK), housetype (PK)

我不同意她的觀點,因為我可以housetype用相同的customer#. 同樣的事情city。我也不同意她將所有FORM屬性都放入CUSTOMER表格的事實。它看起來很草率,我相信你會把它分成第三範式,你會再次得到​​我的結果……

關於概念數據建模和邏輯數據建模之間的關係,存在不止一種思想流派。這些思想流派通常會導致類似的做法,但術語上的差異可能會令人困惑,尤其是在正式的學習環境中。

據我所知,概念數據建模遵循 Peter Chen 首次推廣的 ER 建模。如果您查看有關Chen的 Wikipedia 文章,您會看到有關 ER 建模和概念建模的段落。如果你的老師的框架同意這個,那麼也許她的 ER 圖描繪的是一個 ER 模型,而不是一個關係模型。如果這是真的,那麼規範化問題應該推遲到實體和關係達成一致之後。

另一方面,如果你的老師的框架與 Pieter 的優秀反應相同,那麼 Pieter 的反應應該指導你。

無論哪種方式,您都需要清楚分析主題和設計反映該分析的有用表格之間的差異。

引用自:https://dba.stackexchange.com/questions/78409