调查系统中条件问题的数据库架构
提供的数据库架构,由调查表、问题表、答案表和可能答案表组成,满足了对简单调查系统的需求。然而,要合并条件问题,需要额外考虑。
条件逻辑简介
支持条件问题的关键在于链接数据集以识别问题之间的关系以及他们各自的答案。可以引入一个附加表 QuestionDependency 来定义这些依赖关系。
QuestionDependency 表
QuestionDependency 表建立了显示某些问题的先决条件。它包括以下列:
示例:
考虑以下问题“您最喜欢的香烟品牌是什么?”的示例。 (问题 B)只应显示给对“你买香烟吗?”回答“是”的个人。 (问题A)。 QuestionDependency 表将包含以下条目:
DependentQuestionID | PrerequisiteQuestionID | PrerequisiteAnswerID |
---|---|---|
2 | 1 | 1 |
条件逻辑的数据库查询
要实现条件逻辑,调查系统需要查询 QuestionDependency表来确定应根据用户之前的答案显示哪些问题。这可以通过使用以下查询来实现:
SELECT QuestionID FROM Question WHERE QuestionID NOT IN ( SELECT DependentQuestionID FROM QuestionDependency WHERE PrerequisiteQuestionID = 1 AND PrerequisiteAnswerID = 2 )
此查询将返回应该对问题 A 回答“否”的用户隐藏的问题的问题 ID 列表。
通过合并 QuestionDependency 表并实现适当的数据库查询,所提出的模式提供了一种灵活有效的方法来支持调查系统中的条件问题。
以上是数据库模式如何有效处理调查系统中的条件问题?的详细内容。更多信息请关注PHP中文网其他相关文章!