2012-01-02 90 views
1

我有以下表格:如果在實踐中不使用ER映射關係映射關係?

______________   ___________  ___________ 
Persons  |  Enquiries |  Products | 
______________|  ___________|  ___________| 
PersonID  |  EnID  |  ProductID | 
FirstName  |  EnDate  |  Product | 
LastName  |  Enquiry |  Price  | 
Email   |  ___________|  ___________| 
Etc.   | 
______________| 

我打算做一個1:個人和查詢之間N的關係。諮詢和產品之間也存在明確的M:N關係。但是,商業人士不需要記錄詢問是否與特定產品有關。

我的問題: 從邏輯設計的角度來看,即使我不打算使用它,我是否仍然需要在ER圖上記錄關係並在RDMBS中實現它?

非常感謝, 咱

回答

1

根據我的經驗,如果你甚至問這個問題,那麼你需要製作表格。

從您的問題的聲音,你有感覺可能有用於映射EnquiriesProducts之間的統計數據,現在或將來。

多到多個表,以這種方式實現時:

 Product-Enquiries 
============================= 
P_ID-E_ID PK, int, AUTO_INCR 
P_ID  FK, int 
E_ID  FK, int 

是非常小的表,時間不超過五分鐘設置,並且可以用很少的後果不容忽視。然而,當它進入某人的腦海時,「嘿,我們應該能夠分辨出人們詢問哪些產品」,創建這些類型表的行爲以及將DML實現到應用程序邏輯中變成一件痛苦。

此外,您只需編寫您的SELECT即可獲得關於系統中可用主題的完整信息列表,而不必等到表格中的記錄聚集才能回答問題。

1

我想你可以切出的關係,如果你知道它永遠不會被使用。這將使設計更簡單,更易於管理。或者你可以將兩個實體合併到查詢中。

1

創建表之間的關係僅用於目的。如果您是開發人員,並且您不會開發使用產品和查詢表之間關係的東西,那麼爲什麼要創建它。

RDBMS不會促進或限制關係的創建。如果需要,創建它們,否則留下它們。