Magic Cardgame的SQL数据库

时间:2016-05-23 07:49:14

标签: sql sql-server database database-design

对于学校我正在创建一个基于Magic收集的deckbuilder网站。这是决定我是否获得学位的项目。通过Deckbrew的网站,我能够获得如下数据:

 [
      {
        "name": "About Face",
        "id": "about-face",
        "url": "https://api.deckbrew.com/mtg/cards/about-face",
        "store_url": "http://store.tcgplayer.com/magic/urzas-legacy/about-face",
        "types": [
          "instant"
        ],
        "colors": [
          "red"
        ],
        "cmc": 1,
        "cost": "{R}",
        "text": "Switch target creature's power and toughness until end of turn.",
        "formats": {
          "commander": "legal",
          "legacy": "legal",
          "vintage": "legal"
        },
        "editions": [
          {
            "set": "Urza's Legacy",
            "rarity": "common",
            "artist": "Melissa A. Benson",
            "multiverse_id": 12414,
            "flavor": "The overconfident are the most vulnerable.",
            "number": "73",
            "layout": "normal",
            "price": {
                "low": 0,
                "average": 0,
                "high": 0
            },
            "url": "https://api.deckbrew.com/mtg/cards?multiverseid=12414",
            "image_url": "http://mtgimage.com/multiverseid/12414.jpg",
            "set_url": "https://api.deckbrew.com/mtg/sets/ULG",
            "store_url": "http://store.tcgplayer.com/magic/urzas-legacy/about-face"
          }
        ]
      }
    ]

很明显它是jSon格式的。我已经找到了将其转换为对象的方法,项目的结构是带有实体框架和C#的4层MVC,它正在工作(有点)......问题是数据库。我已经工作了2个月了,我没有进一步。我坚持的是数据库。我还没有看到如何创建数据库及其出错的地方。我不知道如何构建数据库。如果我想出如何包含某些东西,创作本身就会奏效......

1)格式:如果卡片格式合法,格式填写:"遗产":"合法","指挥官":&# 34;合法",......所以只包含合法格式。

2)类型和颜色只是简单的单词阵列,但由于我对数据库非常糟糕,我甚至不知道如何解决这个问题。

3)版本完全不同。它是一个对象版本的数组,我相信它必须有一个自己的表。这里的问题是我认为我需要使用外键,但由于它是一系列版本,我不知道如何开始这样做。

4)然后有价格:它总是有3个值:低,平均和高,如果没有价格,可以是0。

所以在这里你拥有它。对我来说,这个数据库非常复杂,或者说我太复杂了。有没有人可以帮助我组织这个数据库,这样我就可以继续我的项目了,因为我现在迷失了,我觉得我不会在下个月底之前准备好这个。那太糟糕了。

1 个答案:

答案 0 :(得分:1)

1:不,你应该包括所有。

2:带有颜色的表,标准m:n在将卡表与颜色表映射之间的绑定表。不知道如何制作一个m:n关系的东西让我跳过所有课程......这是基础和基础。

3:看起来像“cardedition”实际上是主表,之前的一切都是主类型表。不确定 - 我根本不会做魔术,所以我缺乏所谓的领域知识。卡片是否已更改,因此存在多个版本?为什么这是json中的数组?

3:魔法值,0,1,2,3。问题是什么?

  

对我来说这个数据库非常复杂

我建议你从头开始(让事情变得更容易),并且可能只有10个左右的表。一步一步走。按照你学到的,转到第4个普通形式的第3个并且去关系。