【问题标题】:Tables for fantasy league and design implementations幻想联盟和设计实施表
【发布时间】:2017-07-13 20:03:24
【问题描述】:

我正在做一个纸牌游戏的幻想联盟网站,需要一些设计实施建议和一些疑问。

简要介绍一下,每周都会有玩家、卡片和锦标赛。

用户可以选择 x 卡和 x 玩家,并在每次锦标赛后根据所选卡/玩家结果获得积分。每个用户都可以在活动开始前的 y 时间更改他的玩家/卡片。

a) 锦标赛(结果)表对于玩家结果来说似乎很简单,但对于卡片,我需要另一个表或将所有表放在相同的位置,增加行数和空行数?

有了这个,我在这个表格中思考:

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、数量以及何时使用的 put 值,否则为 NULL?这是做数据库的好方法吗?在未使用的行中添加 NULL 列?

有这么多空列对我来说似乎很尴尬。

现在要为用户获得积分,我应该做一个视图吗?有没有办法在 x 日期过去后触发和更新视图? (自动更新统计数据)。

【问题讨论】:

  • 那么作为用户,我会选择红桃 A 作为我的卡片吗?
  • @bones 是的,还有数量。

标签: php mysql


【解决方案1】:

我会这样做:

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

如果您不选择每场锦标赛,您可以跳过锦标赛 ID 字段,但不可能知道他们在特定锦标赛中拥有哪些牌。

【讨论】:

    猜你喜欢
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    • 2020-10-04
    • 2011-01-30
    • 1970-01-01
    • 2011-06-19
    相关资源
    最近更新 更多