mysql - 关系数据库 : how to design this table

标签 mysql database database-design

我是设计数据库的数据库新手。我将使用 SO 作为示例,因为它更容易询问您已经看到的内容,但它不一样,它只会帮助我理解正确的方法。

正如您所看到的,这里有很多问题,每个问题都有很多答案。

  1. 我应该如何将答案存储在表格中?
  2. 我是否应该将所有答案存储在同一个表中,并使用唯一 ID(使其成为键)以及问题 ID 的新字段?
  3. 如果像这里一样有 100,000 个答案怎么办?我仍然将它们存储在一张表中吗?
  4. 当我想要搜索特定问题的答案时,应该使用哪些键来最大限度地缩短搜索时间?

如果在这种情况下有任何区别,数据库既可以读取也可以写入。

最佳答案

  1. 太宽泛了。您基本上是在问如何进行数据库设计。买本书。
  2. 是的,您应该将所有答案存储在一张表中。
  3. 100,000 并不是一个特别大的数字。
  4. 每个答案都与一个问题相关联,因此它应该在问题表的主键上有一个外键。搜索就像限制该键一样简单。

关于mysql - 关系数据库 : how to design this table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2710876/

相关文章:

一个表的MySQL速度受其他表的大小影响吗?

python - GAE 模型 : How to list child nodes in parent

mysql - 为什么在数据库中使用 bool 标志不好?应该用什么代替?

具有逗号分隔值的两组的Mysql交集

database - 选择一种方法来存储用户配置文件?

mysql - 如何使用 DATEDIFF() 返回添加后已超过 24 小时的行

Oracle - 为什么我应该使用包而不是独立的过程或函数

mysql - 有什么方法可以根据表列中的内容搜索表名?

php - 转换从 mysql 数据库中提取的陌生字符

mysql - 在 blob 中存储数据与存储指向文件的指针之间有什么区别?