アンケートは常に変わる可能性があり、質問自体が長くなる可能性があるので、列名として質問を使用するのは愚かなようです。 アンケートをデータベースに保存するための慣習や実績のある方法はありますか?アンケートをデータベースに保存する効果的な方法は何ですか?
私は(Question-ID、Question)という表を持っていて、質問IDと回答の2番目の表を持っていると考えていました。しかし、この解決策は遅すぎるかもしれません。特定のユーザーと質問に参加するためには3回目の参加が必要になるからです。
アンケートは常に変わる可能性があり、質問自体が長くなる可能性があるので、列名として質問を使用するのは愚かなようです。 アンケートをデータベースに保存するための慣習や実績のある方法はありますか?アンケートをデータベースに保存する効果的な方法は何ですか?
私は(Question-ID、Question)という表を持っていて、質問IDと回答の2番目の表を持っていると考えていました。しかし、この解決策は遅すぎるかもしれません。特定のユーザーと質問に参加するためには3回目の参加が必要になるからです。
結合にはどのような問題がありますか?これは、リレーショナルデータベースの全要素、つまり結合です。
質問を1つのテーブルに格納します。
別の表に質問の回答を格納します。
答えがあらかじめ定義されており、複数の質問に共通する場合は、共通の回答を独自のテーブルに格納し、AnswerIDを持つQuestionIDを持つ別のテーブルを作成します。
ジョインを恐れず、リレーショナルデータベースの一部です。結合がなければ、フラットファイルを処理するだけです。
私はアンケートの情報をモデル化するのが最善の答えだと思います。アンケート自体をモデリングしようとはしないでください。アンケートは単にデータベースの内容を収集する手段に過ぎません。
私はハッシュマップを使って質問を表す別のクラス/ファイルを持つのが最善であると思います。そしてそれを他のクラスで利用することができます。データベースに質問を格納する必要はまだありません。ハッシュマップにロードされるためです。
私は私の答えで少し遅れましたが、多分誰かがこの情報を役に立つと思うでしょう。
私はJonHと完全に同意しています。共通のソリューションをより明確にするために実装した方法の例を示します。
最も一般的なテーブルは以下のとおりです。
はまた、あなたがオプションで用意答えのための特別なテーブルを作成することを好むことができます説明(例えば、ラジオ、チェックボックスなど)、またはアクティビティトラッキングテーブルを使用する必要があります。以下は
参考にすることができ、リンク(アップからダウンに読み取るための提案された順序)は次のとおりです。
それは本当です。しかし、なぜ誰もが今ジョイントで叫んでいるのですか? – TheOne
@ Absolute0 - おそらくデータベースを理解していない人です。なぜあなたはリレーショナルデータで悲鳴を上げますか?それは理にかなっています!これらの怒っている動物に私を向ける? – JonH
googleアプリエンジン: - Pその他いくつか – TheOne