0

簡単に言うと、私は適切な DB スキーマを作成するのに助けが必要であり、データベースの方法に精通していません。

保存したいデータのサンプルを 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 を使用するか、MySQL を使用するかどうかも疑問に思っています。

どうもありがとうございます。私は SQL データベースは初めてですが、プログラミングは初めてなので、うまくいけば理解できると思います。

-ビリー

4

2 に答える 2

0

参加を計画している場合、MySQLは素晴らしいです。ただし、単にツリーのような関係があり、ツリー(親から子)または兄弟(子から他の子)だけをトラバースする必要がある場合は、MongoDBまたはRiakなどの他のNoSQLデータベースソリューションがより高速で柔軟になりますデプロイします。さらに、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 に答える