データベースの設計について
データベースの設計で悩んでいます。
例えばユーザー情報用のデータベースを作るとします。
users
- id
- name
これに性別を持たせるときは
users
- id
- name
- sex_id
sexes
- id
- name
これでよいと思うのですが、例えばグループを持たせたいときにすごく悩んでしまいます。
users
- id
- name
- group_id
groups
- id
- name
こうしてしまうと、将来複数のグループを持たせたいとなった時に融通がきかなくなると思います。
なので
users
- id
- name
groups_users
- id
- user_id
- group_id
groups
- id
- name
このように中間テーブルを挟むことになると思うのですが、将来必要になるかどうかわからないものを最初からこのように設計しても問題ありませんか?
必要になってから工事するくらいなら・・・と思ってしまうのですが。
みなさんはどうしてますか?
失敗談などもあれば是非教えて下さい。