以下のデータベース設計で小さなアンケートを作成しています。Michael Durrant によって作成されたこのスレッドのスキーマに従って、わずかな変更を加えます。
ここで、いくつかの質問に対して、回答の選択肢として都市を提供する必要があります。master_cities テーブルに既に存在します。例: あなたは今、どの都市に住んでいますか?
回答は、master_city テーブルから派生したドロップダウン形式になります。master_cities_table の内容全体を option_choices テーブルにコピーしないでください。
どんなアイデアでも大歓迎です。
編集:質問を明確にしたいと思います。
- この質問は、UI/UX、純粋なデータベース設計とはまったく関係ありません。
- 私が達成しようとしている目標は、マスター テーブル レコードを options_choices にコピーするなどのデータの冗長性を回避することです。
- これは調査システムであるため、回答のすべての選択肢は、A. 強く同意する、B. どちらでもない、C. まったく同意しないなどのように、データベースに基づいている必要があります。「あなたはどこで生まれたの?」など、他の質問に答えるために再利用できます。または「以前住んだことがある都市は?」
- ここにある Master_cities テーブルは、回答の選択肢を提供するために参照する必要がある (そして最大の) マスター テーブルの 1 つにすぎません。
混乱が解消されることを願っています。
現在のアプローチ:
referral_table
テーブル内のフィールドを削除し、代わりにテーブルoptions_choices
内に配置しました。options_group
- NULL可能としてテーブルに設定さ
option_choice_id
れ、answers
master_cities
主キーをテキストとしてanswers_text
フィールドに保存します。
それはうまくいくようです。
しかし、もっと良いアプローチがあるかもしれませんので、あなたの洞察を共有してください。データベースの専門家です!