ฉันต้องการสร้างแบบสำรวจที่เก็บคำตอบไว้ในฐานข้อมูล ฉันแค่สงสัยว่าอะไรคือวิธีที่ดีที่สุดในการนำสิ่งนี้ไปใช้ในฐานข้อมูลโดยเฉพาะตารางที่ต้องการ แบบสำรวจประกอบด้วยคำถามประเภทต่างๆ ตัวอย่างเช่น: ช่องข้อความสำหรับความคิดเห็นคำถามปรนัยและคำถามที่อาจมีมากกว่าหนึ่งคำตอบ (เช่นเลือกทุกข้อที่เกี่ยวข้อง)
ฉันคิดวิธีแก้ปัญหาที่เป็นไปได้สองวิธี:
สร้างตารางขนาดยักษ์ที่มีคำตอบสำหรับการส่งแบบสำรวจแต่ละครั้ง แต่ละคอลัมน์จะสอดคล้องกับคำตอบจากแบบสำรวจ ได้แก่ SurveyID, Answer1, Answer2, Answer3
ฉันไม่คิดว่านี่เป็นวิธีที่ดีที่สุดเนื่องจากมีคำถามมากมายในแบบสำรวจนี้และดูเหมือนจะไม่ยืดหยุ่นเท่าไหร่หากแบบสำรวจต้องเปลี่ยนแปลง
สิ่งอื่นที่ฉันคิดคือการสร้างตารางคำถามและตารางคำตอบ ตารางคำถามจะมีคำถามทั้งหมดสำหรับแบบสำรวจ ตารางคำตอบจะมีคำตอบจากแบบสำรวจแต่ละแถวเชื่อมโยงกับคำถาม
ตัวอย่างง่ายๆ:
tblSurvey : SurveyID
tblQuestion : QuestionID, SurveyID , QuestionType, คำถาม
tblAnswer : AnswerID, UserID , รหัสคำถาม , คำตอบ
tblUser : UserID, UserName
ปัญหาของฉันเกี่ยวกับเรื่องนี้คืออาจมีคำตอบมากมายซึ่งจะทำให้ตารางคำตอบค่อนข้างใหญ่ ฉันไม่แน่ใจว่ามันยอดเยี่ยมมากเมื่อพูดถึงการแสดง
ฉันขอขอบคุณสำหรับความคิดและข้อเสนอแนะ