這是一個數據庫建模問題。我應該使用關聯表爲未來的靈活性建模嗎?
我通常用一個標準的父子表設置模型一對多,我通常使用兩個表之間的關聯表建立多對多模型。在這種情況下,當前的需求需要一對多的關係。但客戶正在談論一些潛在的未來需求,這將需要一個多對多的關係。
因此,這裏有2個實施選項:
- 型數據庫作爲一個一對多,以滿足當前的需求。如果將來的需求需要多對多的話,那麼我需要改變數據庫結構和應用程序代碼。
- 將數據庫建模爲多對多並使應用程序代碼將數據限制爲一對多。如果將來的需求需要多對多的話,那麼我只需要改變應用程序代碼。
事後修改數據庫結構在我們的應用程序中可能會有些痛苦,但我可能會在靈活性的名義下引入不必要的複雜性。
你會選擇哪個選項,爲什麼?