2009-05-29 63 views
1

讓我對ERD感到困惑的一件事是,他們是否會對他們的關係如何在技術上實施做任何處方。ERD是否規定了實施方法?

在下圖中,我不確定圖表是否需要在數據庫級別或應用程序級別實現這些關係。

它是否正在制定任何技術規定或簡單地定義關係,並讓我決定如何實現它?

在構建基於它的東西之前,我需要從ERD的創建者那裏獲得更多信息嗎?

alt text http://i40.tinypic.com/eslumd.jpg

回答

1

ERD不是您所說的「技術處方」,而只是邏輯關係的表示。

如何在數據庫或應用程序中實現它取決於您。

但是數據庫是執行這些關係的適當位置。

3

似乎是要打開的倒掛問題。

答案當然是:不,沒有什麼會迫使您在數據庫中創建關係。但爲什麼你不這樣做?

這就是爲什麼數據庫稱爲關係數據庫 - 因爲它爲您提供了這個非常疑問,是現成的,用的工具和持久層以及集成的解決方案,它的應用程序開發人員的後果是很好理解的。

如果不在數據庫層面實現關係,那會很瘋狂。

0

ERD圖是一個邏輯圖,顯示了實體關係及其基數,雖然它可以同時解釋爲表關係圖或類圖,但它們都不是它們,您仍然需要其他圖。

順便說一句,據我所知,在數據庫模型中保持強制關係以保持數據庫一致性總是很好。

0

當談到驗證數據被放入數據庫時​​,我會說盡可能多餘。

在應用程序端執行檢查以確保Uniquness /數據類型有效性完好無損。並構建數據庫以獲得所需的所有關係。

不要讓數據庫/應用程序假定一切正確。

這可能會爲您節省數小時修復孤立記錄和一致性問題。

0

「是不是做任何技術處方......」

它看起來並不像代碼。也許我錯過了一些東西。

「或簡單地定義關係,並讓我決定如何實現它?

這取決於您的客戶。

如果他們認爲該圖與代碼是同構的,那麼您必須瞭解約定或上下文中缺少的部分。

如果他們不認爲該圖與代碼是同構的,那麼您將不得不決定如何實現它。

相關問題