2017-07-13 62 views
0

我做了梦幻联赛网站纸牌游戏,并需要在一些设计实施的建议和一些疑虑。表幻想联赛和设计实施

快速背景下,会有球员,卡片和比赛周。

用户将不得不选择X卡和X的球员选项,每场比赛后,根据所选择的卡片机/播放效果获得积分。每个用户都可以在活动开始之前更换他的玩家/卡片。

一)比赛(结果)表似乎相当直截了当玩家的结果,但对于卡,我需要另一个表或把所有在同一增加线路和空行的数目?

有了这个,我在这个表想:

CREATE TABLE results 
    (`tournament` varchar(255) , `date` date, `place` varchar(255), `type` varchar(255), `format` varchar(255), `season` int , `player` varchar(255), `country` varchar(255), `standing` int) 
; 

INSERT INTO results 
    (`tournament`, `date`, `place`, `type`, `format`, `season`, `player`, `country`, `standing`) 
VALUES 
    ("Poker star","2018-01-15","Berlin","free for all","holdem","1","Michael","US",1) 
; 



CREATE TABLE user 
    (`player` varchar(255), `id` int, `country` varchar(255), `tournament` varchar(255) , `date` date, `place` varchar(255), `season` int,`added`) 
; 

INSERT INTO user 
VALUES 
    ("Michael",1,"US","Poker star","2018-01-15","Berlin",1,"2017-06-13") 
; 

现在添加卡的选择,我应该添加行卡VARCHAR,数量,当其用于放值,否则为NULL?这是做数据库的好方法吗?在未使用的行中添加NULL的列?

有这么多的空列似乎尴尬的我。

我们获得积分的用户,我应该做一个看法?在x日期过后,有没有办法在视图上触发和更新? (自动更新统计)。

+0

所以作为一个用户,我会选择心中的王牌作为我的卡,例如? – bones

+0

@bones是和数量。 –

回答

1

我会做这样的事情:

player_cards 
------------- 
id bigint autoincrement 
player_id 
tournament_id 
card_id 
card_qty 

如果你不接每一场比赛,你可以跳过tournament_id领域,但也不可能知道他们有一个特定的比赛哪张牌。