調査ごとに新しいテーブルを作成する必要はありません。
アンケート テーブルを作成する (SurveyID、UserID、Name など)
質問テーブルの作成 (QuestionID、SurveyID、QuestionText、SortOrder など)
必要に応じて、複数選択タイプの質問 (OptionID、QuestionID、OptionText など) があると仮定して、オプション テーブルを作成します。
次に、誰かが調査を作成すると、その人のユーザー ID を外部キーとして参照して調査テーブルに挿入し、新しく挿入された調査 ID を取得します。
次に、追加した質問ごとに、上記の SurveyID を外部キーとして使用して、質問テーブルに挿入します。
あなたの編集に答える編集:
申し訳ありませんが、回答の保存についても説明する必要がありました。
SurveyResponses (ResponseID、Name など) という別のテーブルが必要です。別のテーブルを ResponseAnswers(ResponseAnswerID、SurveyID、ResponseID、QuestionID、AnswerText/AnswerID) と呼びます。ここで、SurveyID と ResponseID はそれぞれのテーブルへの外部キーであり、ユーザーが複数の選択肢を持っているか、回答を入力するかどうかにかかわらず、回答を text(varchar) または別の外部キーとしてオプション テーブルに保存します。