2011-01-19 18 views
0

私はフットボール選手に関する情報を入力するためのフォームを持っています。このフィールドには、その選手が所属しているすべてのチームに入力するフィールドがあります。考えられるのは、これらの選手の記録は、ののインデックスと、のチームのページを生成するために使用されるということです。チームページには、ある時点でチームにいたすべてのプレイヤーの記録が表示されます。MySQL:リストを扱うスキーマの手助けが必要ですか?

これは抽象的に動作する方法です。フィールドをどのように扱うか正確にはわかりません。私は、ユーザーが入力したときにチームをコンマ区切りにすることを考えています。しかし、私はデータベース自体の中で、バックエンドをどのように扱うかをより心配しています。

各プレイヤーは、私は選手たちのためのdbテーブルにteams属性を保存するべきか、彼に関連付けられた複数のチームを持っている場合は?現時点では、フォームは単一のプレーヤーに関するものなので、私が扱っているメインテーブルはplayersテーブルです。この表の各行は、彼が行っているチームのリストである属性を含めて、1人のプレイヤーと彼の統計についてです。私はteamsのための追加のテーブルが必要かもしれないと思う。このセカンダリテーブルの各行は、idだけでなく、プレーヤのリストで構成されます。しかし、どのようにプレイヤーのリストを処理するのですか?

このような状況に対処する方法についてのご意見はありますか?より良い解決策はありますか?

答えて

2

多対多関係について説明しています。あなたは "プレーヤー"テーブル、 "チーム"テーブル、 "player_team" assocテーブルが必要です。 assocテーブルには、player_idとteam_idの両方があります。その後、assocテーブルの結合を実行することで、特定のチームに関連付けられたプレーヤーを読み込むことができます。

+0

ありがとうございました!私はあなたがそれを釘付けにしたと思う。 –

関連する問題