Mysql 多个问题和答案的数据库选择
我将开发一个数据库,用于存储问题数量不定的调查问卷。该数据库将与服务器通信,用于注册答案并在需要时检索答案。对于每个用户,我需要存储每个问题的答案,这是服务器端必需的 结构应该是这样的:Mysql 多个问题和答案的数据库选择,mysql,database,entity,entity-relationship,Mysql,Database,Entity,Entity Relationship,我将开发一个数据库,用于存储问题数量不定的调查问卷。该数据库将与服务器通信,用于注册答案并在需要时检索答案。对于每个用户,我需要存储每个问题的答案,这是服务器端必需的 结构应该是这样的: QUESTIONNAIRE: Questionnaire n.1 (Question1,Question2,...,QuestionN) Questionnaire n.2 (Question1,...,QuestionM) ... USER: User1 User2 ... ANSWERS User1 -
QUESTIONNAIRE:
Questionnaire n.1 (Question1,Question2,...,QuestionN)
Questionnaire n.2 (Question1,...,QuestionM)
...
USER:
User1
User2
...
ANSWERS
User1 - Questionnaire n.1 (AnswToQuestion1, AnswToQuestion2...AnswToQuestionN)
User2 - Questionnaire n.1 (AnswToQuestion1, AnswToQuestion2...AnswToQuestionN)
User2 - Questionnaire n.2 (AnswToQuestion1, AnswToQuestion2...AnswToQuestionM)
鉴于上述规范,我面临两个主要问题:
USER
表中,并为每个用户存储一个答案
,该答案引用一个特定的问卷。这会提供类似“用户x已回复问卷”的信息。然后,将使用唯一idid:ANSWER
在MARKETINGANSWER
中标记给定答案。问卷
表将保存问卷的每个实例,并提供一个唯一的id来链接MARKETINGQUESTION
表中的每个不同问题。最后,将使用唯一idid:MARKETINGQUESTION
将问题映射到给定答案
什么不能说服我:这有太多的间接层次。我不喜欢MARKETINGANSWER
和MARKETINGQUESTION
之间的强制连接,但我需要一种方法来映射它们。此外,我需要答案
的常规表,因为它提供了一些关于问卷的常规信息(隐藏列)
然后我考虑了第二种方法:创建一个独特的答案和问卷表,该表将包含在文本属性中,由一个特殊转义字符分隔的一系列答案/问题(例如#&
)。这将破坏映射,但它可以在web应用程序中实现-我正在考虑对问题/答案的数量进行控制,在问卷注册和数据库提交时确保排序。此外,模式会更干净。然而,我会丢失数据库模式中的一致表示
如果可能的话,我想就拟议的解决办法提出一些建议。我很确定有一件简单的事情我不能完全理解。
先谢谢你