0

简而言之,我需要帮助来制作一个不错的 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 的标识号。

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

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

-比利

4

2 回答 2

0

如果您打算加入,MySQL 非常棒。但是,如果您只是有一个树状关系,并且只需要遍历树(父到子)或兄弟姐妹(子到另一个子),那么 MongoDB 或其他 NoSQL 数据库解决方案(如 Riak)将更快、更灵活部署。另外,NoSQL 数据库将接受稍作修改的 JSON。

在您的情况下,这看起来非常适合 NoSQL。

于 2012-08-14T22:20:48.540 回答
0

顺便说一句,我希望您已将其正确标记为java- 您的代码是javascript(尽管 Java 中经常使用的格式)。

如果您学习了如何使用Java Persistence API(使用Hibernate EntityManager之类的实现),则无需手动创建模式,因为它将根据您的 Javabeans 上的注释和您选择的 DB 自动创建。

来自 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为该字段定义 s 并使用它们。

注意JPA hashCode() / equals() 的困境

于 2012-08-14T22:20:56.727 回答