我的Deck Builder数据库

时间:2016-12-22 13:45:35

标签: mysql sql database database-design

我正在为一个在线纸牌游戏(有点像Heartstone)的甲板制造商工作,我正在寻求关于如何处理我的数据库的建议。

快速总结一下:每张卡可以是普通/不常见/稀有/传奇/无限

我应该创建一个名为的表格,其中我添加了一个列稀有(VARCHAR),其中我会写 common / uncommon / rare /像这样的每张卡的传奇/无限

card -> id, name, class, type, rarity (VARCHAR), cost, attack, defense

或者我应该创建两个表,一个名为稀有(INT),另一个表名为稀有,我列出了每个稀有内容在我的表格中使用他们的 id

card -> id, name, class, type, rarity (INT), cost, attack, defense
rarity -> id, name

此外,这些选项中的任何一种都可以更好地用于多语言目的,还是基本相同? (我之前从未创建过多语种网站,所以如果这是一个愚蠢的问题,我很抱歉)

感谢阅读:)

2 个答案:

答案 0 :(得分:0)

考虑到平面结构更快,而你的第二个选择并没有真正做任何事情,请选择第一个。

那说,你可以尝试:

popToRootViewController

答案 1 :(得分:0)

你可以半途而废,设置稀有作为CHAR(3)然后使用缩写:COM UNC RAR LEG INF

您的第二个表应该是其他可枚举值(类,类型)的通用查找表

LOOKUP_ID CHAR(8)     -- PK class,type,rarity
CODE CHAR(3)          -- PK key code 
LANG VARCHAR(10)      -- PK e.g. en-US
LABEL VARCHAR(255)    -- Short label for UI components
FULLTEXT VARCHAR(255) -- Full description for help etc...

示例数据

RARITY    COM     en  Common    Common card
RARITY    COM     fr  Commune   Carte commune
CLASS     COM     en  Combat    Combat has both defence and offence stats
CLASS     COM     fr  Combat    Les cartes combat possèdent des stats défence et offence