2011-10-04 68 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

“还有时间改变你正在走的路”>费用是多少?一旦您拥有数百万条记录的实时应用程序,您在改变“您所在的道路”之前要三思而行, –