ホームページ  >  記事  >  バックエンド開発  >  カテゴリー、ブランド、商品構成のデザイン

カテゴリー、ブランド、商品構成のデザイン

WBOY
WBOYオリジナル
2016-06-23 13:44:431146ブラウズ

JD.com のようなカテゴリ、ブランド、製品のテーブル構造の設計についてアドバイスをお願いします。慎重に検討した結果、これら 3 つのカテゴリ間の関係は非常に複雑です。
1 つの製品には 1 つのカテゴリに N 個のブランドが含まれる場合があります。
1 つのブランドには N 個のカテゴリがある可能性があります。N 個の製品があります。
1 つのカテゴリの下に N 個のブランドと N 個の製品があります。
これと同様のテーブル構造をより効率的に設計する方法。


ディスカッションに返信(解決策)

製品テーブル、製品属性を記録し、製品に一意の製品番号を与えます
ブランドテーブル、ブランド情報を記録し、ブランドに一意の番号を与えます
分類テーブル、分類情報を記録し、クラスに固有の番号を付与します 分類番号
製品ブランド表、品目番号、ブランド番号
製品分類表、品目番号、分類番号

製品テーブル、製品の属性を記録し、製品に固有の番号を付与します品目番号
ブランドテーブル、ブランド情報を記録し、ブランドに一意の番号を与えます
分類テーブル、分類情報を記録し、カテゴリに一意の分類番号を割り当てます
製品ブランドテーブル、品目番号、ブランド番号
製品分類テーブル、品目番号、カテゴリ番号


さて、この設計は実現可能であり、2 つの関連するテーブルが接続に使用されます。電子機器では、再帰的に id、nameparent_id メソッドを使用していますが、この方法には明らかなボトルネックがあります。モデレータからいくつかの提案をいただけますか。難しい。

マルチレベル分類は分類テーブルから導き出すことができます
現在、隣接リスト アルゴリズムを使用していますが、読み取り時に再帰的走査が必要ですが、製品分類変数は大きくないため、事前にソートされた走査に変換できます。ツリー アルゴリズムを使用して読み取り速度を向上させます (挿入、変更、削除はより高価になります)
隣接リスト アルゴリズムから事前にソートされたツリー トラバーサル アルゴリズムまで、再帰関数を 1 回実行するだけで済みます

関連する知識については、を参照してください。 http://www.baidu.com/s?wd= %E9%A2%84%E6%8E%92%E5%BA%8F%E9%81%8D%E5%8E%86%E6%A0%91 %E7%AE%97%E6%B3%95&ie=utf -8

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。