1

我有一个数据库应用程序,可以存储不同地方的价格。每个价格都有以下相关数据:

  • 价格
  • 日期
  • 产品编号
  • 国家
  • 价格类型(工厂/批发/零售)

最后三个项目(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)

这值得增加所需的编程工作吗?从长远来看,它会或多或少可扩展/可维护吗?

4

2 回答 2

1

这值得增加所需的编程工作吗?

是的

从长远来看,它会或多或少可扩展/可维护吗?

更具可扩展性和更易于维护。

一般来说
,您应该始终规范化到至少 3NF。

见这篇文章:http ://databases.about.com/od/specificproducts/a/normalization.htm

于 2011-10-04T11:22:40.287 回答
-1

这取决于您期望在该表中的数据量。如果您没有性能/存储问题,则不需要单独的表(出于性能原因)。

另一方面,您将获得冗余带来的所有缺点。您必须检查您的数据是否存在不一致等。

但是:无论您选择何种设计,仍有时间改变您的道路。

于 2011-10-04T11:23:49.833 回答