我目前正在计划我的下一个项目,这是一个基于文本的mmorpg游戏。我目前正在尝试设计数据库的某些部分,并遇到了一些我以前从未遇到过的问题。游戏的一部分允许玩家购买汽车并添加插件。我将完全有一个不同的桌子来管理汽车的插件,但是一个用户可以为一辆汽车配备多达100个插件,这将需要超过100个字段,当然我对这一多个字段不满意因为它可能变得难以管理,有没有其他方法将它们分成多个表?
由于
答案 0 :(得分:9)
为什么每个插件都必须是一个单独的列?难道你没有一个可以将汽车链接到插件的多对多连接表吗?
Car
ID | Owner
1 | Jacob
2 | Mary
Addon
ID | Name | Price
1 | Flame decal | $10
2 | CD Changer | $150
Car_Addon
Car_ID | Addon_Id
1 | 1
1 | 2
2 | 2
这表明雅各布的汽车有火焰贴纸和换碟机,而玛丽的汽车只有换碟机。
这种方法的优点:
car_addon
表格可以包含添加到该汽车的插件的时间,付款方式,是否属于折扣的一部分包等等。答案 1 :(得分:7)
你在汽车和插件之间有多对多的关系。您需要一个中间联结表来解决这种关系。
答案 2 :(得分:1)
没有。
将它们拆分为多个表格。如果您在表格中有100多个字段,那么99.9%的时间您没有足够的规范化您的设计。结构严重的数据库的确定标志是许多人口稀少的领域。
你为什么犹豫不决分裂?
答案 3 :(得分:0)
你应该有一个汽车表(ID,名称),例如,一个表用于ADDON(ID,名称),另一个表用于链接这些名为CAR_ADDON(idCar,idADDON)的表。
这将是最好的方法