調查系統中條件問題的資料庫架構
提供的資料庫架構,由調查表、問題表、答案表和可能答案表組成,滿足了簡單調查系統的需求。然而,要合併條件問題,需要額外考慮。
條件邏輯簡介
支持條件問題的關鍵在於連結資料集以識別問題之間的關係以及他們各自的答案。可以引入一個附加表 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中文網其他相關文章!