我想建模、分析并创建一个由纸牌游戏信息组成的数据库。游戏的每一轮都有一个ID、时间戳和4名或更多玩家(通常是4名)。我已经用它的一组属性定义了我的玩家表。然而,由于每一轮都有4名玩家,我如何有效地实现这一轮与玩家之间的关系
基本上,每一轮都有4名不同的玩家,具有相同的属性(具有不同的值)。每个玩家有一个属性(列)似乎很奇怪,因为我希望有某种到玩家表的链接,以保持我的"对象"独立和封装这是本轮比赛和4名选手之间的一对多关系吗
当我在纸上画我的模型时,它似乎更像是一个层次结构。例如,我有一轮有4名玩家,每个玩家都有一手牌这是关系模型、层次模型、对象模型还是其他什么
此外,这可以在SQL中完成吗?如果没有,我应该用什么任何帮助/建议都将不胜感激,因为我所有的经验都是使用SQL中的关系数据库。
谢谢!
基本
Round Player
------------ -----------------
round_id player_id others_attri player_id info_attributes
然后,对于每一轮,你需要在round中存储4行,具有相同的id和每个玩家id,例如,round with id 1,其中玩家1,2,3,4在其中。
Round Player
----------- -----------
1 1 date 1
1 2 date 2
1 3 date 3
1 4 date 4
player_id是player_id的forign键。
或者,如果你不想多次存储日期,可以这样做:
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