我正在为一款在线纸牌游戏(有点像《炉石传说》)开发牌组构建器,并且正在寻求有关如何处理数据库的建议。
快速总结一下:每张卡牌都可以是普通/不常见/稀有/传奇/无限。
我是否应该创建一个名为cards的表,在其中添加一列rarity (VARCHAR),我将在其中写入常见/不常见/稀有/传奇/像这样的每张卡都是无限的?
card -> id, name, class, type, rarity (VARCHAR), cost, attack, defense
或者我应该创建两个表,一个名为cards,其中包含稀有度(INT),另一个表名为rarity,其中列出了所有稀有度和像这样在我的卡片表中使用他们的id?
card -> id, name, class, type, rarity (INT), cost, attack, defense
rarity -> id, name
此外,这些选项中的任何一个都更适合多语言目的还是基本上相同? (我以前从未自己创建过多语言网站,所以如果这是一个愚蠢的问题,我很抱歉)
感谢您的阅读:)
最佳答案
考虑到扁平结构速度更快,而你的第二个选择并没有真正做任何事情,所以选择第一个。
也就是说,你可以尝试:
card -> id, name, class, type, cost, attack, defense
rarity -> id, name
Card_rarity --> card_id, rarity_id
关于mysql - 关于我的 Deck Builder 数据库的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41284620/