database - 在数据库中存储问卷的有效方法是什么?

标签 database join scalability

由于调查问卷总是会发生变化,而且问题本身可能很长,因此使用问题作为列名称似乎很愚蠢。 在数据库中存储调查问卷是否有任何惯例或行之有效的方法?

我正在考虑有一个包含 (Question-ID, Question) 的表,然后是第二个包含问题 ID 和答案的表。但此解决方案可能太慢,因为需要第三次加入才能加入特定用户的问题。

最佳答案

连接有什么问题?这就是关系数据库的全部要点,即连接。

将问题存储在一张表中。

将问题答案存储在另一个表中。

如果答案是预定义的,并且在多个问题中很常见,那么将常见答案存储在它们自己的表中,并创建另一个表,该表具有一个 QuestionID 和一个 AnswerID。

不要害怕连接,它们是关系数据库的一部分。如果没有联接,您只能处理平面文件。

关于database - 在数据库中存储问卷的有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4626590/

相关文章:

SQL 连接单个表的多行

scala - 如何扩展使用 Akka 的 Scala REST 应用程序?

asp.net-mvc - 在 asp.net-mvc 中,在不影响其他用户的情况下进行昂贵操作的正确方法是什么?

Java/hibernate - c3p0 查询 MariaDB 时出错

mysql - 多个 JOIN 与多个 OR 非常慢

c# - System.Data.dll c# 中发生类型为 'System.Data.OleDb.OleDbException' 的未处理异常

scala - 当使用相同的键集创建两个不同的 Spark Pair RDD 时,Spark 是否会将具有相同键的分区分配到同一台机器上?

azure - Azure 应用服务计划内的 Web 应用是否作为 IIS 中的虚拟 Web 服务器实现?是否使用网络花园?

java - 如何引用已经保存在数据库中的实例?

java - 具有多对多关系的无限递归