- ベストアンサー
複数選択か?単数選択か? テーブルは分けるか?
選択項目が、複数選択か単数選択か決まってない場合、データベースの設計はどのようにしますか? 例えば、性別や現住所の都道府県等、複数選択する可能性がないものは、親テーブルに定義しています。 例) プロフィールテーブル | id | 氏名 | 性別 | 都道府県 | | 1 | 山田 | 1 | 14 | また、絶対に複数選択の項目は、テーブルを分けます。 例) アイテムテーブル | id | プロフィールid | アイテム | | 1 | 1 | 2 | | 2 | 1 | 5 | | 3 | 1 | 12 | | 4 | 1 | 16 | では、複数選択になるか単数選択になるか決めかねている項目は、どうすればいいでしょうか? (例えば、「いちばん好きな食べ物をお選び下さい(単数選択)」を「好きな食べ物をお選び下さい(複数選択)」に変更するということは、普通にありえることですよね?) テーブルを分けた場合、複数選択になっても問題はないですが、データを抽出するのにjoinしなければいけないので、面倒だし、パフォーマンスが悪くなる気がします。 皆さんの意見を聞かせてください。 ※それとも、私の考え方自体が間違ってるのでしょうか・・・。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
お礼
ご回答ありがとうございました。 絶対に複数選択にならないようなもの以外は、基本、別テーブルでってことですね。 了解しました。