具有相似属性的多个对象的数据库设计

时间:2016-12-14 02:28:44

标签: mysql sql database

我在unity3d游戏中有以下对象和各自的属性:

  1. 伐木

    • 等级
    • 生产
    • 的Maxcap
    • StoneUpPrice
    • ClayUpPrice
  2. 采石

    • 等级
    • 生产
    • 的Maxcap
    • ClayUpPrice
    • WoodUpPrice
  3. Claypit

    • 等级
    • 制作
    • 的Maxcap
    • WoodUpPrice
    • StoneUpPrice
  4. 我的问题是,我应该如何在我的Mysql数据库中组织它?

    我已经想到了:

    • 创建一个名为Buildings的唯一表,并将所有属性作为列放置,同时使用引用相应用户的user_id

    • 为每个具有相应属性的Building构建一个表,所有这些都具有user_id。

    我还没在大学里学过数据库,所以我真的很感激任何帮助。我的英语不是最好的,但我尽量让自己变得清晰。

    现在谢谢:)

1 个答案:

答案 0 :(得分:0)

你可以制作2张桌子

  1. 类别:保留Lumbermill,Quarry等类别
  2. 对象:使用category_id作为外键
  3. 分类

    id
    name
    

    物体

    category_id
    Level
    Production
    MaxCap
    StoneUpPrice(can be null for non relevant category)
    ClayUpPrice(can be null for non relevant category)
    WoodUpprice(can be null for non relevant category)
    

    在评论之前编辑

    您可以像下面的

    那样创建像player_object这样的独立桥牌表

    player_object

    player_id
    object_id
    

    假设你有像下面的玩家表

    玩家

    id
    name