假设我有一个表格,我不得不问用户一些问题。示例问题如下所示。
您是在家中还是在家外工作以获得报酬?
和答案是
答案 0 :(得分:1)
我认为你应该将问题分开:
类似这样的事情
date,user_id,question_id,answer,answer_position, related_question
xxx yyy 1 yes 1 5
这种模式对分析更有效。 并且您不会受限于未来的变化
答案 1 :(得分:0)
根据问题的其余部分 - 答案和关系,有不同的方法。
也许您想尝试一个表格,例如:
id | questionid | order | text | moreinfo |
-----------------------------------------
1 | 1 | 1 | Yes | 0 |
2 | 1 | 2 | No | 0 |
3 | 2 | 1 | Full time | 0 |
4 | 2 | 2 | Part time | 0 |
5 | 2 | 3 | Other | 1 |
在上面的例子中,我已经包含了questionid。这将引用存储在另一个表中或可能在此表中的问题,具体取决于您可能已经存储了任何其他问题。这类似于以下内容。
id | parentid | order | text | moreinfo |
-----------------------------------------
1 | 0 | 1 | Are you working? | 0 |
2 | 1 | 1 | Yes | 0 |
3 | 1 | 2 | No | 0 |
4 | 2 | 2 | Great! How much? | 0 |
5 | 4 | 1 | Full time | 0 |
6 | 4 | 2 | Part time | 0 |
7 | 4 | 3 | Other | 1 |
在上面这个例子中,我已经将parentid包括在这个表内部引用父答案,这导致了二次答案。这种结构在概念上是相似的,实际上只是在字段名称及其哲学意义上有所不同。
如果我有5/6/7或更深的条件问题类型 我如何在表中存储数据。有没有更好的方法或好的方法 练习这种类型的场景。提前谢谢。
第二个表示例本身可以嵌套5/6/7/1000深,因为它是一个自引用表。您可以根据需要添加其他字段!
请阅读规范化数据库结构,它会睁开眼睛,给你更多的想法。这是一个示例链接: