Saya perlu membuat survei di mana jawaban disimpan dalam database. Saya hanya ingin tahu apa yang akan menjadi cara terbaik untuk mengimplementasikan ini dalam database, khususnya tabel yang diperlukan. Survei ini berisi berbagai jenis pertanyaan. Misalnya: bidang teks untuk komentar, pertanyaan pilihan ganda, dan mungkin pertanyaan yang dapat berisi lebih dari satu jawaban (yaitu, periksa semua yang berlaku).
Saya telah menemukan dua solusi yang mungkin:
Buat tabel raksasa yang berisi jawaban untuk setiap pengiriman survei. Setiap kolom akan sesuai dengan jawaban dari survei. yaitu SurveyID, Answer1, Answer2, Answer3
Saya rasa ini bukan cara terbaik karena ada banyak pertanyaan dalam survei ini dan sepertinya tidak terlalu fleksibel jika survei ingin diubah.
Hal lain yang saya pikirkan adalah membuat tabel Pertanyaan dan tabel Jawaban. Tabel pertanyaan akan berisi semua pertanyaan untuk survei. Tabel jawaban akan berisi jawaban individual dari survei, setiap baris terkait dengan pertanyaan.
Contoh sederhana:
tblSurvey : SurveyID
tblQuestion : QuestionID, SurveyID , QuestionType, Question
tblAnswer : AnswerID, UserID , QuestionID , Answer
tblUser : UserID, UserName
Masalah saya dengan ini adalah bahwa mungkin ada banyak jawaban yang akan membuat tabel Jawaban cukup besar. Saya tidak yakin itu luar biasa dalam hal kinerja.
Saya menghargai ide dan saran.