我正在创建一个游戏网站,该网站将拥有一个游戏中发现的项目数据库(数千个),我想知道数据库结构的最佳实践是什么。
有 5 种物品类型:武器、盔甲、药水、任务物品和垃圾。这些中的每一个都具有不适用于其他项目的独特属性。例如,武器可以是不同的类型(即双手、主手、副手),装甲可以是不同的重量(板、皮)等。
一切都是“项目”,但我想知道我是否应该有一个项目表,即:
item id, item_type ... item_weapon_type_id, item_armor_weight_id
因此在一张表中拥有所有可能的属性。
或为每个项目类型单独的表,即:
weapon_id, weapon_type, weapon_name
我想知道这一点,因为每种项目类型都有许多独特的属性,这意味着单个项目表将有很多列,其中许多列不适用于表中 80% 的项目。
提前感谢您的帮助。