1

我正在为我们社区的一个小项目设计一个测量系统。但不知何故,我陷入了如何以可以在数据库端配置的方式正确设计系统的问题。

我的用例是这样的:这是一种调查系统,用户在其中提出一系列问题,并根据他们的回答提出另一个问题。我打算将其显示为步骤/向导页面。

                                   | --- 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。

谢谢

4

1 回答 1

2

我认为有问题疑问项(又名答案)是有意义的。然后,您只需将每个question_item链接到其后续页面。使用单独的page列将问题分组在一起。

问题

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

ETC ...

于 2012-05-02T08:36:32.770 回答