【发布时间】:2015-07-06 18:28:28
【问题描述】:
我正在寻找设计数据库的最佳实践。
我有一个表“product_reviews”,其中包含以下列的产品评论: revID、revName、revText、revDate
现在我想在产品评论中添加优点和缺点。一条产品评论最多可以有 5 个优点和 5 个缺点。
最佳做法是什么? 要将 10 列(revPro1、revPro2 等)添加到我现有的 product_reviews 表或创建一个新的单独表来保存这些优缺点?
【问题讨论】:
-
单独的表。从您的帖子中,我解释说产品通常会有不同的优缺点 [不会总是使用 10 个可能的字段] 会导致大量空值。此外,访问将非常难看,因为您必须有条件地检查每个 pro1、pro2 等,而不是 join 上的 where 子句..
-
再添加两张表:一张用于 Pros,一张用于 Cons,外键为
Product_review.ID。您可以通过软件代码控制的每个产品评论的最大优缺点数。
标签: mysql database-design