0

我想建模、分析和创建一个包含纸牌游戏信息的数据库。每一轮游戏都有一个 ID、时间戳和 4 个或更多玩家(通常是 4 个)。我已经用一组属性定义了我的播放器表。但是由于每回合有4名玩家,我如何有效地实现回合与玩家之间的关系?

基本上每一轮都有 4 个不同的玩家,具有相同的属性(具有不同的值)。每个玩家都有一个属性(列)似乎很奇怪,因为我想有某种链接到玩家表以保持我的“对象”独立和封装。这是回合和4名玩家之间的一对多关系吗?

当我在纸上绘制模型时,它似乎更像是一个层次结构。例如,我有一个4 名玩家的回合,每个玩家都有一手牌。这是关系模型、层次模型、对象模型还是其他什么?

另外,这可以在 SQL 中完成吗?如果不是我应该使用什么? 非常感谢任何帮助/建议,因为我的所有经验都是使用 SQL 中的关系数据库。

谢谢!

4

1 回答 1

1

基本上

   Round                                       Player
------------                              -----------------

round_id player_id others_attri       player_id info_attributes

然后,对于每一轮,您需要在 Round 中存储 4 行,具有相同的 id 和每个玩家 id,例如,玩家 1、2、3、4 所在的 id 为 1 的 Round。

   Round               Player
-----------          -----------
1  1  date                1
1  2  date                2
1  3  date                3
1  4  date                4

player_id 是 player_id 的外键。

或者,如果您不想多次存储日期,请执行以下操作:

Round                      player_play                      Player
---------                   ------------                -----------------

round_id info_attributes  round_id player_id        player_id info_attributes



Round           player_play              Player
-------         -----------          -----------
1 date           1  1                  1
                 1  2                  2
                 1  3                  3
                 1  4                  4
于 2012-07-26T01:22:34.860 回答