如何设计可扩展的数据库?

时间:2016-04-06 13:11:11

标签: mysql database

我现在正在开发一个纸牌游戏参考网站。我需要有一张桌子,我相信我将来会扩展它。

例如,如果我有一个用于保存卡属性的表,并且每张卡都有以下信息:

card_name    rarity    race    skill1

将来,游戏可能会为此卡添加其他技能或其他信息,如下所示:

card_name    rarity    race    skill1    skill2    others

在这种情况下,我想知道设计数据库的最佳解决方案是什么。我是否添加新列或使用其他表来保存卡的新信息?

另外,我正在寻找一些我需要注意的提示。顺便说一下,我正在使用mySQL

2 个答案:

答案 0 :(得分:0)

创建关系表。将主键id添加到卡表,什么是自动增量,并存储卡的基本数据。然后创建一个关系表,其中foreing键是卡表id。稍后你可以扩展该表。

这是一篇关于如何创建它的帖子:How to create a relation table in MySQL?

以下是关于它的更详细的帖子:http://www.techrepublic.com/article/relational-databases-defining-relationships-between-database-tables/

答案 1 :(得分:0)

您可以查看"键值对"表,虽然在关系数据库中被认为是一种不好的做法。如果纸牌游戏属性/技能不会经常改变(例如一年一次或两次),我每次都会使用alter语句并扩展表格。否则,键/值表使您可以自由添加任意数量的属性。