2011-10-04 48 views
1

我有一個數據庫應用程序,存儲在不同地方的東西的價格。每個價格都具有與其關聯的下列數據:我應該分開數據庫中的冗餘數據嗎?

  • 價格
  • 日期
  • 產品ID
  • 國家
  • 價格型(廠家/批發/零售)

最後可以將三個項目(pID,國家,原價類型)看作是描述價格目的的一個組合項目;這些數據有很多冗餘。所以我在想:把它們分離出來,以節省空間並簡化查詢。

Normal: 
Prices (price_id, price, date, product_id, country_id, pricetype_id) 

vs: 
Prices (price_id, price, date, descriptor_id) 
Descriptors (descriptor_id, product_id, country_id, pricetype_id) 

這是否值得添加所需的編程工作?從長遠來看,它可能會或多或少地具有可擴展性/可維護性?

回答

-1

這取決於你在該表期待的數據量。如果您沒有性能/存儲問題,則不需要單獨的表(出於性能原因)。

另一方面,你會得到所有與冗餘相關的缺點。您必須檢查您的數據是否存在不一致性等。

但是:無論您選擇哪種設計,仍有時間改變您所處的道路。

+1

「還有時間改變你正在走的路」>費用是多少?一旦您擁有數百萬條記錄的實時應用程序,您在改變「您所在的道路」之前要三思而行, –