0

製品モジュールのテーブルを設計しています。1つの問題は成分です。食材で商品を絞り込みたい。これを行うには、各成分を個別にDBに保存し、IDも指定する必要があると思いますか? でもサプリで摂りましょう。それは50の成分を持っているかもしれません。保存する製品が 100 万個あり、それぞれに 50 の成分がある場合、これ (関係) を保存する最良の方法は何でしょうか? ビタミンE、ビタミンB12などはそれぞれ個別のIDになります。ユーザーにビタミンEを含む製品のみを見つけてもらいたいからです。もちろん、ブランド名、製品名、製品カテゴリ、製品タイプなどの他のファイラーもあります。 ...さらに、ビタミンEを含む製品を使用している他の人を見つけることができるように、ソーシャル機能も追加しています. これは、ユーザー コンテンツのソーシャル Web サイトです。製品は、はるかに大きなシステムの一部にすぎません。製品の親は、それ自体が多くのブランチを持つブランドです。そして、その親は、独自の支店を持つ会社です。

ありがとう。

編集しかし、それが問題です->それを正規化しても、各製品に入力された成分ごとに大量の行があります。行ごと以外に、アイテムごとに膨大な量のデータを保存するにはどうすればよいでしょうか? 通常のコードと同様に、配列を使用してすべてを投入できますが、DB ですべてを何らかの構造に収める方法がわかりません。私の理由は、50 は単なる例です。使用されている正確な化学物質から原材料を深く掘り下げれば、多くの製品には何百もの製品があります。そして、これは製品の世界的なカタログになるので、何百万もの製品を期待してください. 各成分を保存するためだけに製品ごとに数百行を追加すると、DB は非常に巨大になります。うーん... リレーションシップ DB を使用している間、何か別の方法があるはずですか? テキストをファイルに保存できますが、DB が必要です。1) 多言語サポートが必要であり、2) 製品ごと、成分レベルごとに分析し、ユーザーまでフィルタリングするためです。

4

1 に答える 1

1

データベース スキーマの設計に関して、あなたがどの程度の経験をお持ちかはわかりませんが、始めるためにもう少しできることがあると思います。

モデル化して保存するデータの一部を特定しましたが、そのデータを照会および更新する方法 (作成および削除を含む) についても考慮する必要があります。データが重複していないこと、およびパフォーマンスも考慮されていることを確認する必要があります。Kjensen が提案したように、データベースの正規化について調べてください。

さらに、データ階層 (会社、ブランド、製品、成分など) の図を自分で描いて、それぞれがどのように関連しているかを確認することをお勧めします。ER図はこれを行うための良い方法です。これらは、必要なテーブル、列、データ型、および主/外部キーを特定するのに役立ち、操作する必要があるすべてのデータを確実に保存するのに役立ちます。

複数のデータ モデルを設計し、チームと話し合うことを恐れないでください。

幸運を!

于 2010-09-15T18:24:33.177 に答える