0

我正在爲RoR項目工作,並且在決定關係數據庫表的設計時遇到問題。RoR和關係數據庫:處理數據庫中的模型默認值

考慮以下幾點:

我有一個型號產品,每個產品都有一個唯一的名稱。

我也有一個叫Shop的模特,每家店都有很多產品。

最後,我有一個訂單模型,訂單顯然與訂單所在的商店以及訂購的產品列表相關。

我想保留每個產品的默認值(例如默認價格),並且我希望每個商店能夠在需要時覆蓋這些默認值,但不能真正決定這樣做的策略。

我已經記如下:

  • 創建產品表,其中包括產品名稱,並且還列,以保持產品的默認值(如價格)

  • 創建一個商店表,其中將包括與商店有關的所有內容。

  • 創建一個Product_To_Shop表格,該表格將保存該商店的產品數量,並將包含與產品默認值列相匹配的其他列,這些列可讓商店覆蓋默認的產品相關值。

現在,當我想獲得的價格爲一個特定的順序,我先檢查了Product_To_Shop表,爲相關產品和店鋪,並檢查價格領域的匹配行,如果未設置爲值(零),請轉到產品表並獲取相關產品的默認價格值。

整個事情看起來有點複雜,看起來有點瑣碎。

我想知道是否有人曾經處理保持默認值在這樣的數據庫,並有一個更優雅的解決方案,因爲這一次似乎像一個矯枉過正...

回答

0

,你可以做以下

  1. 創建一個產品表,其中將包括產品數據(但不包括價格)。
  2. 創建一個Shops表,其中將包含商店數據。
  3. 創建一個價格表,其中包含Product_id,Shop_id,Price。

Shop_id默認爲空,這將顯示您的默認價格

當你需要的價格獲得一個匹配shop_id或ISNULL