Rumah >pangkalan data >tutorial mysql >Bagaimanakah Skema Pangkalan Data Berkesan Mengendalikan Soalan Bersyarat dalam Sistem Tinjauan?

Bagaimanakah Skema Pangkalan Data Berkesan Mengendalikan Soalan Bersyarat dalam Sistem Tinjauan?

Barbara Streisand
Barbara Streisandasal
2025-01-06 15:43:47627semak imbas

How Can a Database Schema Effectively Handle Conditional Questions in a Survey System?

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:

  • DependentQuestionID: ID soalan yang bergantung pada jawapan sebelumnya.
  • PrasyaratQuestionID: ID daripada soalan yang jawapannya mencetuskan paparan tanggungan soalan.
  • PrasyaratJawapanID: ID jawapan khusus kepada soalan prasyarat yang menentukan sama ada soalan bergantung ditunjukkan.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn