1

さて、これをどのように言えば、私はユーザーデータベースに取り組んでおり、各ユーザーはいくつかのロック解除可能なものを持っています。

したがって、これらの種類のデータを管理するための最良の方法がわかりません。ロック解除可能な各データと各データの数量値を含むテーブルを作成し、それをユーザーにリンクする必要がありますか?それとももっと良い方法はありますか?または、2つのデータベースを使用できます。1つはユーザー用で、もう1つはロック解除可能データベース用です。

正直なところ、これがどのように機能するかについての私の考えは最善ではないと思います。1000の可能なロック解除可能オブジェクトがある場合、各ユーザーは1000の可能性を持つテーブルにリンクする必要があるからです。また、新しいアイテムを追加したい場合は、この方法で大規模なデータベースを更新する必要があります。

4

1 に答える 1

1

編集

私が答えたのは本当に悪い考えでした。それは機能しますが、リレーショナルデータベースでは、1つのフィールドにアイテムのマッシュアップを入れたくないので、これを正規化するために複数のテーブルを使用する方がよいため、悪い習慣と見なされます。そうは言っても、noSqlを使用している場合は、私が提案したようなものを使用できますが、連結文字列を使用する代わりに、連想配列(json)構造を使用してこれらの値を保持します。


ユーザーテーブル内に、「ロック解除可能」と呼ばれる列を作成するか、最適と思われる列を作成し(データ型として「テキスト」を入力)、ユーザーがロック解除可能ファイルの1つを取得するたびに、このフィールドに追加します。 「*」または必要なもの。これらのロック解除可能なアイテムにも数量がある場合は、この「ID+数量*ID +数量」のような2番目の区切り文字を追加することもできます。たとえば、次のID(12,45,89)のアイテムが3つあるとします。この同等の量(1,6,2)の場合、次のように追加します(12 + 1 * 45 + 6 * 89 + 2)次に、phpを使用してこの値を取得するときに、最初に「*」を使用して文字列を2回分解します。 、次に「+」を使用すると、データを含む配列が作成されます。このための2番目のテーブルを作成することもできますが、これは選択です。これは、必要なものをすばやく実行する方法です。これが少しお役に立てば幸いです。

于 2012-12-26T22:11:33.520 に答える