我现在正在开发一个纸牌游戏参考网站。我需要一张桌子,我相信我将来会扩大它。
例如,如果我有一个用于保存卡片属性的表,并且每张卡片都有以下信息:
card_name rarity race skill1
在未来,游戏可能会为这张卡添加另一项技能或其他信息,如下所示:
card_name rarity race skill1 skill2 others
在这种情况下,我想知道什么是设计数据库的最佳解决方案。我是添加新列还是使用另一个表来保存卡片的新信息?
此外,我正在寻找一些我必须注意的技巧。顺便说一句,我正在使用mySQL
创建一个关系表。将主键id
添加到卡片表中,即自动递增,并存储卡片的基本数据。然后创建一个关系表,其中外键是卡片表id。稍后您可以扩展该表。
这里有一篇关于如何创建的帖子:如何在MySQL中创建关系表?
以下是关于它的更详细的帖子:http://www.techrepublic.com/article/relational-databases-defining-relationships-between-database-tables/
您可以查看"键值对"表,尽管这在关系数据库中被认为是一种糟糕的做法。如果纸牌游戏的属性/技能不会经常改变(例如一年一到两次),我每次都会得到一个alter语句,并扩展表格。否则,键/值表可以自由添加任意多的属性。