mysql - 每行值数量有限的数据库设计

标签 mysql database-design

我正在寻找设计数据库的最佳实践。

我有一个表“product_reviews”,其中包含以下列的产品评论: revID、revName、revText、revDate

现在我想在产品评论中添加优点和缺点。产品评论最多可以有 5 个优点和 5 个缺点。

最佳实践是什么? 要向我现有的product_reviews 表添加 10 列(revPro1、revPro2 等)或创建一个新的单独表来保存这些优缺点?

最佳答案

根据规范化规则,您必须创建单独的表。此外,我建议在表中记录每个优点/缺点,而不是包含“pro1”、“pro2”等列的表,这也与标准化有关。

从实际角度来看,让我们假设稍后您需要在每次评论中了解更多优点/缺点。使用这种方法,您不需要更改数据库结构(一段时间后这可能会非常困难)。另一个例子可能是对优点/缺点应用一些文本限制 - 您必须仅将其应用于 1 列,而不是 10...

关于mysql - 每行值数量有限的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31243286/

相关文章:

mysql - bash/mysql 提示 ) 字符

mysql - 使用中间表的另一个数据库中另一个表的列的部分数据更新列

php - 从 MySQL 返回一行

php - Php 和 Mysql Insert 中的多维数组

sql - 使用 postgresql 进行表设计

oracle - 设计 Oracle 数据库上的作业监控

database - 数据库表中的排序列

php - 升级版本后Mysql查询返回空记录

sql - Bits vs Char - 存储 3 个互斥标志的最佳方法是什么?

mysql - 我应该如何构建这个数据库?