需要帮助制作DB Schema

时间:2012-08-14 22:12:59

标签: java mysql sql database schema

为了缩短它,我需要帮助制作一个漂亮的DB Schema,而且我不太熟悉数据库的方式。

我可以用json格式给你一个我想要存储的数据样本。

"items": [
{
"defindex": 45,
"level": 10,
"quality": 6,
"quantity": 1,
},
{
"defindex": 348,
"level": 10,
"quality": 6,
"quantity": 1,
},

虽然会有更多这些,最多1000个,所有附加到识别号码,所以我可以说“5162562有这些项目”。但是,我还希望能够在数据库中搜索“defindex”= 45,然后获得“5162562”,或者存储项目中“defindex”= 45的所有识别号码。

将存储大量数据,所以我也想知道DB使用什么数据库?

非常感谢,我是SQL数据库的新手,但不是编程,所以我希望能够理解。

比利

2 个答案:

答案 0 :(得分:0)

如果您计划加入,MySQL非常棒。但是,如果你只是一个像树的关系,只需要遍历树(父对子)或兄弟姐妹(孩子对其他孩子),那么MongoDB或其他NoSQL数据库解决方案如Riak将更快,更灵活部署。作为一个优点,NoSQL数据库将接受略微修改的JSON。

在你的情况下,这看起来像是NoSQL的完美之处。

答案 1 :(得分:0)

BTW,我希望您已正确标记为java - 您的代码为javascript(尽管Java中经常使用这种格式)。

如果您学习如何使用Java Persistence API(使用类似Hibernate EntityManager的实现),则无需手动创建架构,因为它将根据Javabeans上的注释自动创建以及您对DB的选择。

A tutorial from Oracle

如果您也在使用Lombok,那么您的课程可能就像

一样简单
@Getter @Setter
@Entity
public class MyEntity {
    @Id private int id;
    @Column private int original_id;
    @Column private defindex;
    @Column private int level;
    @Column private int quality;
    @Column private int inventory;
    @Column private int quantity;
    @Column private int origin;
}

或者您可以为该字段定义enum并使用它们。

留意The JPA hashCode() / equals() dilemma