我正在创建一个游戏,需要考虑在 InnoDB 引擎上运行的 SQL 数据库中使用的底层数据模型。
主要实体将是帐户、插槽和角色。每个帐户至少有一个插槽,可能更多。每个插槽可以容纳一个字符,但并不总是有一个字符。
更多信息:
- 玩家将使用帐户登录游戏。
- 随着时间的推移,他们会获得更多(字符槽),从一个槽开始。
- 在每个插槽中,他们可以放置一个可能会在某个时候死去的角色。如果还没有放置角色或角色已经死亡,那么在给定时间该插槽将是空的。
- 玩家可以单独控制角色,同时通过主帐户登录。
没有关系的结构:
- 帐户(accountId,...帐户数据)
- 插槽(accountId、slotId、...插槽数据)
- 字符(characterId,...字符数据)
简单的关系:
- account_slots (accountId, slotId)
- slot_characters (accountId, slotId, characterId)
笔记:
- accountId 将是帐户的唯一键。
- slotId 不会是插槽的唯一键,它将是一个数字 1..maximum,但是 (accountId, slotId) 将是唯一的。
- characterId 将是字符的唯一键。
你认为这是一个正确的模型,即使它仍然不需要微调?
现在我想用尽可能少的关系在表之间添加正确的关系,如果可以通过向表中添加列来捕获关系,那么应该这样做。
问候。