首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模拟问卷回答

模拟问卷回答
EN

Stack Overflow用户
提问于 2011-12-16 04:02:46
回答 2查看 64关注 0票数 0

想知道从保存回答的角度来看,建立调查问卷模型的最佳方法是什么。因此,我假设保存它的理想方法应该是这样的表:

ID_pk

response_id

question_id

价值

因此,每个条目都是一个问题的答案。问题是,当我在这个表上搜索时,性能会很差。我想知道我是否需要在旁边创建另一个表来帮助我提高性能。有什么想法吗?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2011-12-16 04:13:12

最好的方法取决于你需要多大的灵活性。你会有多项选择题吗?用于计算的纯数字questinos?对/错问题等。

对于我们来说,实现终极灵活性的方法具有以下结构:

表:调查

PK

  • Surveyname

  • SurveyId

表QuestionTypes

  • QuestionType PK
  • QuestionTypeText (即“多项选择”、“对/错”等)

表问题

FK

  • QuestionId PK

  • QuestionText

  • QuestionType

  • SurveyId

表答案(仅包含多项选择题的答案)

PK

  • QuestionId FK

  • AnswerText
  • Answerid

表结果

从Question)

  • MultipleChoiceAnswerid复制的空

  • ResultId PK

  • Surveyid otherwise)

  • BooleanResult (如果QT = boolean,则为空otherwise)

  • NumericResult

  • FreeFormTextResult

,除非是多选题,否则为FK to otherwise)

  • BooleanResult

然后是大量的编程逻辑来处理显示。

实际上,我们的实际解决方案更进一步,将问题分组到QuestionGroups中,这样类似的问题就可以放在一起,但这个简化的版本应该会给你一些想法。它相对复杂,但我见过专业的调查软件,甚至更复杂,但遵循类似的模式。这对我们来说也是非常好的。通过创建一个新的SurveyType,我们已经能够在多个场景中重用它。

票数 2
EN

Stack Overflow用户

发布于 2011-12-16 04:07:57

这个想法是,任何可以在一个表中复制的东西都应该拉出到另一个表中。

  • 问题将被复制,因此您将需要一个questions
  • Response but be duplicated,这取决于这是多项选择还是填空等。
  • 值可以重复,但取决于Responses

的答案

所以,我会说想想你的调查问卷。想一想在db中会多次保存什么,然后从中进行规范化。

不要担心性能问题-标准化将带来更多的帮助而不是伤害。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8525885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档