Skema Pangkalan Data untuk Soalan Bersyarat dalam Sistem Tinjauan
Skema pangkalan data yang disediakan, terdiri daripada jadual untuk Tinjauan, Soalan, Jawapan dan KemungkinanJawapan , menangani keperluan untuk sistem tinjauan mudah. Walau bagaimanapun, untuk memasukkan soalan bersyarat, pertimbangan tambahan diperlukan.
Memperkenalkan Logik Bersyarat
Kunci untuk menyokong soalan bersyarat terletak pada memautkan set data untuk mengenal pasti hubungan antara soalan dan jawapan masing-masing. Jadual tambahan, QuestionDependency, boleh diperkenalkan untuk mentakrifkan dependencies ini.
QuestionDependency Table
SoalanDependency table menetapkan prasyarat untuk memaparkan soalan tertentu . Ia termasuk lajur berikut:
Contoh:
Pertimbangkan contoh di mana soalan "Apakah jenama rokok kegemaran anda?" (Soalan B) hanya perlu dipaparkan kepada individu yang menjawab "Ya" kepada "Adakah anda membeli rokok?" (Soalan A). Jadual QuestionDependency mempunyai entri berikut:
DependentQuestionID | PrerequisiteQuestionID | PrerequisiteAnswerID |
---|---|---|
2 | 1 | 1 |
Pertanyaan Pangkalan Data untuk Logik Bersyarat
Untuk melaksanakan logik bersyarat, sistem tinjauan perlu menanyakan QuestionDependency jadual untuk menentukan soalan yang perlu dipaparkan berdasarkan jawapan pengguna sebelum ini. Ini boleh dicapai menggunakan pertanyaan seperti:
SELECT QuestionID FROM Question WHERE QuestionID NOT IN ( SELECT DependentQuestionID FROM QuestionDependency WHERE PrerequisiteQuestionID = 1 AND PrerequisiteAnswerID = 2 )
Pertanyaan ini akan mengembalikan senarai ID soalan untuk soalan yang harus disembunyikan daripada pengguna yang menjawab "Tidak" kepada soalan A.
Dengan memasukkan jadual Ketergantungan Soalan dan melaksanakan pertanyaan pangkalan data yang sesuai, skema yang dicadangkan menyediakan cara yang fleksibel dan berkesan untuk menyokong soalan bersyarat dalam sistem tinjauan.
Atas ialah kandungan terperinci Bagaimanakah Skema Pangkalan Data Berkesan Mengendalikan Soalan Bersyarat dalam Sistem Tinjauan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!