讓我對ERD感到困惑的一件事是,他們是否會對他們的關係如何在技術上實施做任何處方。ERD是否規定了實施方法?
在下圖中,我不確定圖表是否需要在數據庫級別或應用程序級別實現這些關係。
它是否正在制定任何技術規定或簡單地定義關係,並讓我決定如何實現它?
在構建基於它的東西之前,我需要從ERD的創建者那裏獲得更多信息嗎?
alt text http://i40.tinypic.com/eslumd.jpg
讓我對ERD感到困惑的一件事是,他們是否會對他們的關係如何在技術上實施做任何處方。ERD是否規定了實施方法?
在下圖中,我不確定圖表是否需要在數據庫級別或應用程序級別實現這些關係。
它是否正在制定任何技術規定或簡單地定義關係,並讓我決定如何實現它?
在構建基於它的東西之前,我需要從ERD的創建者那裏獲得更多信息嗎?
alt text http://i40.tinypic.com/eslumd.jpg
ERD不是您所說的「技術處方」,而只是邏輯關係的表示。
如何在數據庫或應用程序中實現它取決於您。
但是數據庫是執行這些關係的適當位置。
似乎是要打開的倒掛問題。
答案當然是:不,沒有什麼會迫使您在數據庫中創建關係。但爲什麼你不這樣做?
這就是爲什麼數據庫稱爲關係數據庫 - 因爲它爲您提供了這個非常疑問,是現成的,用的工具和持久層以及集成的解決方案,它的應用程序開發人員的後果是很好理解的。
如果不在數據庫層面實現關係,那會很瘋狂。
ERD圖是一個邏輯圖,顯示了實體關係及其基數,雖然它可以同時解釋爲表關係圖或類圖,但它們都不是它們,您仍然需要其他圖。
順便說一句,據我所知,在數據庫模型中保持強制關係以保持數據庫一致性總是很好。
當談到驗證數據被放入數據庫時,我會說盡可能多餘。
在應用程序端執行檢查以確保Uniquness /數據類型有效性完好無損。並構建數據庫以獲得所需的所有關係。
不要讓數據庫/應用程序假定一切正確。
這可能會爲您節省數小時修復孤立記錄和一致性問題。
「是不是做任何技術處方......」
它看起來並不像代碼。也許我錯過了一些東西。
「或簡單地定義關係,並讓我決定如何實現它?
這取決於您的客戶。
如果他們認爲該圖與代碼是同構的,那麼您必須瞭解約定或上下文中缺少的部分。
如果他們不認爲該圖與代碼是同構的,那麼您將不得不決定如何實現它。