2016-10-17 82 views
0

如果你想象一个'幻想足球'数据库,你有用户创建联赛,一个用户可以分开很多不同的联赛。实现这种简单数据库关系的正确表结构是什么?

我打算做类似这样的东西:

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名球员在里面,但我最近一直在劝存储阵列中的一列是没有办法的办法,以走。

什么是更好的选择?

+0

规范化使用具有以下leagues_id,PROFILE_ID表的关系,这种方式让你知道所有的地方注册的用户,也都在那里中甲联赛的注册用户联赛。 – johnnynemonic

回答

1

创建一个名为leagues_players的第三个表,并将每个表中的id存储到其中。

off course建立所需的外键关系/约束条件,并从各个表中删除players_id和leagues_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

相关问题