调查问卷的MySQL数据库结构

时间:2010-10-22 10:21:12

标签: mysql

我愿意建立一个小问卷,我只是想知道,数据库结构应该是什么样子......我的意思是我有不同的答案可能性 - 复选框,下拉菜单,输入框等那么问题。我该如何保存调查问卷呢?我应该为每个不同的调查问卷制作一张自己的餐桌吗?行“question_1”,“question_2”等等? 您还有什么其他机会?谢谢你的建议,伙计们! :)

1 个答案:

答案 0 :(得分:1)

由于答案的数据类型会有所不同(例如,您可能有一个是/否问题,然后问题是答案是多项选择a,b,c,d)您应该保持简单并做出答案一个varchar。

 Questions
  id  integer pk
 question  varchar

 QuestionPossibleAnswers
id int pk
questionid int foreign key references Questions
ordinal  decimal
possibleanswer  varchar


Users
id
name



Questionnaire
id
name
description



QuestionnaireQuestions
int pk
questionnaireid foreign key references Questionnaire
questionid   foreign key references Question table
ordinal      decimal  (where in the sequence of questions this one belongs)
[put unique composite index  on (questionnaireid, questionid)]



QuestionnaireQuestionsAnswers
id int pk
QuestionnaireQuestionid  foreign key references QuestionnaireQuestions(id)
userid  foreign key references Users
answer  varchar
[unique composite index on (questionnairequestionid, userid)]

此结构使您能够拥有问题的主列表,为问题的答案创建可能的选择,使用主题列表中的子集根据需要定义问卷,然后跟踪用户在完成问题时提供的答案问卷