前提・実現したいこと
DB設計の正規化に対する質問
発生している問題・エラーメッセージ
プログラミングを学び始めて1ヶ月程度の初学者です。
個人開発する上でDB設計に関して生じた疑問があって投稿させて頂きました。
自分はスポーツの試合のレビューサイトを作ろうと考えているのですが、その中で試合日程を選択すれば、チームと選手のデータを表示できるようにしたいと思っています。
なので試合日程とチームのテーブルをアソシエーションしたいのですが、
##match_schedulesテーブル
Column | type |
---|---|
home_team | integer |
away_team | integer |
date | integer |
##teamsテーブル
Column | type |
---|---|
name | string |
とした時に、homeとaway2つのカラムを関連づける方法が分かりませんでした。
考えた挙げ句に思いついた手段が
##home_teamsテーブル
Column | type |
---|---|
team_id | integer |
##away_teamsテーブル
Column | type |
---|---|
team_id | integer |
##match_schedulesテーブル
Column | type |
---|---|
home_team_id | integer |
away_team_id | integer |
date | integer |
##teamsテーブル
Column | type |
---|---|
name | string |
とhome_teamsテーブルとaway_teamsテーブルという2つの中間テーブルを用意してアソシエーションさせるという方法なのですが、これがプロの方々から見て良い方法なのか自信がありませんでした。他に良いアソシエーションの方法があれば是非ご教授承りたいです。
分かりづらい質問内容で申し訳ございません。アドバイスの程、宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/29 08:10