存储调查和答案的 SQL 结构 - 基于用户数据构建表和查询?

标签 sql survey auto-generate

在 SQL 方面,我完全是新手。我正在 ASP.NET 中创建一个站点来进行调查。特权管理员用户将能够构建调查。然后会有很多其他人回复调查。

一旦我有了新调查的一组问题,自动构建表和 INSERT 查询来存储答案的最佳方法是什么?

更新

感谢您的快速回复!我仍然不清楚在这种情况下如何最好地存储调查响应。每个受访者会得到表格的一排吗?如果是这样,这些列是否会是“针对第 1 列中的条目确定的调查的问题 k 给出的答案”?

最佳答案

您不想为每个调查建立一个新表。

创建调查表(SurveyID、UserID、姓名等)

创建问题表(QuestionID、SurveyID、QuestionText、SortOrder 等)

(可选)创建一个选项表,假设您有多项选择类型的问题(OptionID、QuestionID、OptionText 等)

然后当有人创建调查时,您插入到调查表中,引用该人的用户 ID 作为外键,然后获取新插入的调查 ID,

然后对于他们添加的每个问题,将其插入到 Questions 表中,使用上面的 SurveyID 作为外键......等等。

编辑回答您的编辑:

抱歉,我也应该继续介绍存储答案。

您需要另一个名为 SurveyResponses 的表(ResponseID、Name 等) 另一个表我将调用 ResponseAnswers(ResponseAnswerID, SurveyID, ResponseID, QuestionID, AnswerText/AnswerID) 其中 SurveyID 和 ResponseID 是他们各自表的外键,并且根据用户是否有多项选择,或者输入答案,你要么将他们的答案存储为 text(varchar) 或作为选项表的另一个外键。

关于存储调查和答案的 SQL 结构 - 基于用户数据构建表和查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/584791/

相关文章:

sql - 需要 SQL 查询以将格式化和每小时过滤的日期转换为 Excel 报告

mysql - 如何在 MySQL 的 View 中创建临时表

R 包 "translateR"和 Microsoft API

r - 调查加权和多重估算数据的汇总平均边际效应

Java - 如何克服自动生成代码中的最大方法大小

php - 选择行作为 wordpress post meta 的列

sql - LENGTH 命令的奇怪行为 - ORACLE

mysql - 匹配调查数据库和成员(member)数据库

angular - 如何使用 Jasmine Karma 为现有的 Angular2 应用程序生成单元测试

c++ - 如何自动生成设置/选项对话框?