这是关于SQL或SQLite的模型设计的问题。
假设您有一些纸牌游戏,其中有许多可重复使用的牌,并且玩家可以从这些牌中取出牌组(例如MtG)
当然,您不希望为用户可能创建的每个套牌创建新的卡片实例。这将有很多冗余。
因此应该有一个"主人"卡(包含所有相关信息)。
那么我的问题是,如何最好地整合给定套牌中的牌(及其数量)?
(我实际上并没有创建这个数据库,它只是强调了一个用户拥有来自某些普通股的不同数量的多个项目的任意数量集合的设计。)
答案 0 :(得分:2)
有三张桌子:一张桌子上有卡片上的数据(名称,费用等)。另一张桌子有甲板(甲板名称,创建者等)。另一张桌子上有牌(deck_cards)(将card_id连接到deck_id和数量)。
编辑:附录:这与所有数据库设计引物中使用的经典首选示例(产品,订单和订单行项目)的设置(和基本原理)相同。唯一缺少的是"客户" (如果你想将甲板连接到玩家或甲板建造者,可以添加它。)
答案 1 :(得分:0)
我会想象:
卡片 - 包含卡片详情的表格
Card_ID Card_Name Card_Dmg Card_Attribute Card_Health
123 Fire Mage 20 Fire 100
345 Water Man 6 Water 200
037 Earth Dwarf 10 Earth 150
玩家 - 包含玩家详细信息的表
Player_ID Player_ForeName Player_Surname
1 Fred Smith
Player_Cards - 详细说明球员牌组的表格,每张牌都有一个新行,例如:
Player_ID Card_ID
1 123
1 345
1 037