gpt4 book ai didi

sql - 对于有很多问题的调查问卷,我应该使用什么类型的数据库设计?

转载 作者:行者123 更新时间:2023-12-04 00:11:35 24 4
gpt4 key购买 nike

我有一个项目,需要记录包含 50 多个问题的调查问卷的答案。每个问题都与数字 1 到 5 相关联。因此,填写的每个调查问卷的数据类似于

Username : "Bob", 
"Question 1" : 1,
"Question 2" : 1,
"Question 3" : 5,
.
.
.
"Question N" : 2

向每个人询问相同的问题。我想知道对于这种情况正确的数据库设计是什么。我做一个像这样的表格

                      Questionaire_Answers
---------------------------------------------------------------------------
userid | Quesiton_1_Answer | .... | Question_N_Answer

或者更好的方法是什么?我是否使用巨大的 varchar 列序列化信息,例如

        Questionaire_Answers
-------------------------------------------------------------------------
userid | Question_Answers
--------------------------------------------------------------------------
1238 | "Question1->1,Question2->1,Question3->5,...QuestionN->2"

或者我应该做什么?

最佳答案

您的问题的直接答案是:“不,您不会将信息序列化到巨大的 varchar() 列中。”这很容易,因为在 SQL 中这种序列化几乎从来都不是正确的做法。正确的东西是连接表。

但是,除此之外,调查数据结构很难实现,因为:

  • 可以在调查(尤其是在线调查)中添加和删除问题。
  • 各个问题可以有不同的版本,细微差别很重要。
  • 可以添加和删除给定问题的答案。
  • 各个答案可以有不同的版本,细微差别很重要。

在线调查尤其如此,其中数据是在多天内收集的。早期回应可能会导致调查发生变化——这是有充分理由的。

关于sql - 对于有很多问题的调查问卷,我应该使用什么类型的数据库设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34406576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com