问卷的MySQL数据库结构

问卷的MySQL数据库结构,mysql,Mysql,我愿意建立一个小调查问卷,我只是想知道,数据库结构应该是什么样的。。。我的意思是我有不同的答案-复选框,下拉菜单,输入框,等等,所以对于问题。我应该如何保存问卷本身?我应该为每个不同的调查问卷制作一个自己的表格吗?行“问题1”、“问题2”等。? 你还看到了什么机会?谢谢你们的建议,伙计们!:) 由于答案的数据类型会有所不同(例如,您可能有一个是/否问题,然后是一个答案为多选a、b、c、d的问题),因此您可能应该保持简单,并将答案设置为varchar Questions id intege

我愿意建立一个小调查问卷,我只是想知道,数据库结构应该是什么样的。。。我的意思是我有不同的答案-复选框,下拉菜单,输入框,等等,所以对于问题。我应该如何保存问卷本身?我应该为每个不同的调查问卷制作一个自己的表格吗?行“问题1”、“问题2”等。?
你还看到了什么机会?谢谢你们的建议,伙计们!:)

由于答案的数据类型会有所不同(例如,您可能有一个是/否问题,然后是一个答案为多选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)]
此结构使您能够拥有问题的主列表,为问题的答案创建可能的选项,根据需要使用问题主列表中的子集定义问卷,然后在完成问卷时跟踪用户提供的答案