我正在为我们社区的一个小项目设计一个测量系统。 但不知何故,我陷入了如何以这样的方式正确设计系统的困境 它可以在数据库端配置。
我的用例是这样的: 这是一种调查系统,用户可以根据他们的答案提出一系列问题 另一个问题是问。我计划将其显示为步骤/向导页面。
| --- Answer C --> End Survey
|--- Answer A --- Q2 ---- | --- Answer D --> End Survey
Q1 ---> | | --- Answer E --> End Survey
|
|--- Answer B --- Q3 --- | --- Answer F --> Q7 ---> End survey
| | --- Answer G --- Q8 --- | Answer H --> End Survey
| | Answer I --> End Survey
| | Answer J --> End Survey
--- Q4 --- End Survey | Answer K --> End Survey
在我的图表中,用户首先显示Q1(问题1),如果他的答案是A,则Q2将显示答案列表(C,D,E)然后调查 停止。 但如果用户回答B,那么他将在同一页面上显示Q3 + Q4。如果用户在Q3上回答F,那么下一个问题是Q7并且一直打开。
我正在考虑创建一个用于保存问题的QUESTION表和一个用于保存答案列表的QUESTION_ITEMS表,但是如何处理状态转换?
我实际上坚持如何正确支持用户能够配置的这种要求 问题清单。
有什么想法吗?
顺便说一下,我的目标数据库是MYSQL。
谢谢
答案 0 :(得分:2)
我认为有问题和问题(又名答案)是有道理的。然后,您只需将每个 question_item 链接到其后续页面即可。使用页面的单独列将这些问题组合在一起。
<强>问题强>
ID Name Page
1 Q1 1
2 Q2 2
3 Q3 3
4 Q4 3
<强> Question_Items 强>
ID Name Question_ID Next_Page
1 Answer 1 1 2
2 Answer 2 1 3
等...