2016-10-17 11 views
0

「ファンタジー・フットボール」データベースを想像すると、ユーザーがリーグを創り上げている場所で、1人のユーザーが数多くのリーグに分かれることがあります。この単純なデータベース関係を達成するための正しい表構造は何ですか?

私はこれに似た何かをするつもりだった。

create table fantasy_league (
     id int, 
     name varchar(100), 
     password, admin, 
     players_id(array) 
) 

create table player_profiles (
     id int, 
     email, 
     display_name varchar(100), 
leagues_id(array) 
) 

各リーグは、それだけで6人の選手がいるが、私は最近、1列に配列を格納知らされている可能性があるの方法ではありません行く。

もっと良い選択肢は何ですか?

+0

ノーマライズ、その方法はあなたにもリーグに登録されているすべてのユーザーにユーザーを登録している全てのリーグを知ってみましょう。 – johnnynemonic

答えて

1

leagues_playersという名前の第3のテーブルを作成し、各テーブルのidをそこに格納します。

もちろん、必要な外部キーの関係や制約を確立し、それぞれのテーブルからplayers_idとleagues_idキーを削除します。次leagues_id、PROFILE_IDとテーブルの関係を使用して

create table leagues_players (league_id int, player_id int) 
+0

外部キーの関係/制約は何ですか? – RDowns

+0

これをお読みください:https://technet.microsoft.com/en-us/library/ms175464%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396 –

+0

ありがとう – RDowns

関連する問題