背景:-我的公会定期参加在线PvP锦标赛,并根据游戏结果获得游戏货币以及有时是真钱的奖励。我需要跟踪谁参加了哪个日期。 我创建了一个表,其中包含玩家数据,如果有人加入或离开我的战队,该数据将进行更新。 每个战争游戏为15对15。 我们每天玩4场战争游戏,每场都有多达7场战斗,涉及我队和对手的玩家。 因此, 每天每场战争游戏有15个条目。
我的问题
1-如何设计一张表格,以记录战争游戏,日期和时间,结果以及所涉及的玩家。
2-根据上述表格,我还需要分配奖励并跟踪奖励。参与度越高,奖励越多。
我将Oracle 11g用于数据库。
答案 0 :(得分:0)
您可以这样设置表:
idPlayer PK
Name
cell#
email
... other fields that define a player
idClan PK
Name
idClan FK Clan.idClan
idPlayer FK Player.idPlayer
idWarGame PK
Date
Time
WarGames FK WarGames.idWarGame
Winner FK Player.idPlayer
Looser FK Player.idPlayer
idReward PK
Reward <-- what the reward is
idPlayer FK Player.idPlayer
idReward FK Reward.idReward
战斗:WarGame中有许多战斗。因此,将WarGame链接到每个Battle条目。由于一场战斗不能与多个WarGame链接,因此只需将WarGame链接到该战役。
要了解WarGame中存在哪些玩家,您可以通过Battle链接表进行查询
或者,如果即使不参加战斗也可以让玩家出现在WarGame中,则可以添加一个链接表WarGamesAsPlayer。
PlayerAsReward:该表必须由应用程序根据您实现的某些逻辑填充
当表之间具有n到n的关系时,可以使用链接表(如PlayerAsReward)。像这样的人,任何玩家都可以得到任何奖励。
这可以帮助您开始使用数据库设计器或建模软件。