回答をデータベースに保存する調査を作成する必要があります。これをデータベースに実装するための最良の方法は何ですか、特に必要なテーブルだけだと思います。調査にはさまざまな種類の質問が含まれています。例:コメントのテキストフィールド、複数選択の質問、および複数の回答を含む可能性のある質問(つまり、該当するものすべてをチェックしてください)。
私は2つの可能な解決策を考え出しました:
各調査の提出に対する回答を含む巨大なテーブルを作成します。各列は、調査の回答に対応します。つまり、SurveyID、Answer1、Answer2、Answer3
この調査には多くの質問があり、調査を変更する場合はあまり柔軟ではないため、これが最良の方法だとは思いません。
もう1つ考えたのは、質問テーブルと回答テーブルの作成です。質問表には、調査のすべての質問が含まれます。回答テーブルには、調査からの個々の回答が含まれ、各行が質問にリンクされます。
簡単な例:
tblSurvey:SurveyID
tblQuestion:QuestionID、SurveyID、QuestionType、Question
tblAnswer:AnswerID、UserID、QuestionID、Answer
tblUser:UserID、UserName
これに関する私の問題は、Answerテーブルをかなり巨大にする大量の回答が存在する可能性があることです。パフォーマンスに関しては、それがそれほど素晴らしいことかどうかはわかりません。
任意のアイデアや提案をいただければ幸いです。