Eコマースソリューションを開発しようとしていますが、カテゴリ管理の問題に固執しており、さらに先に進む方法がわかりません。
参照してください、カテゴリには親カテゴリがあり、ルートカテゴリに到達するまで、戻り値は別の親を指すこともできます。次のデータベーススキーマを設計してみましたが、
それが正しいかどうか教えてください?
またはこのシナリオをよりよく理解するのに役立つカテゴリと親カテゴリに関するチュートリアルはありますか?
クラシックDBの回答:「場合によります」
質問:
はいの場合、現在のテーブルはOKです
いいえの場合は、別の自己参照CategoryParentテーブルを用意してください。現在のカテゴリはその子になります。
これにより、アイテムは最下位レベルのカテゴリに制限されますが、カテゴリの階層が可能になります。
階層カテゴリを処理するためのテーブル設計は正しいです。これは、ツリーが1つのブランチに沿ってどのくらい深いかを正確に予測する方法がない状況を処理できる汎用設計です。
設計で検討する必要があるのは、リレーショナルDBMSで階層データをナビゲートする実用性を支援するために修正を加えるかどうかです。
この質問に対する私の回答 では、カテゴリ階層の設計について説明しました。
この他の質問に対する私の答え 私は、階層データを-少なくとも読み取り側で-ネストされたセットと訪問数。
列CategoryParentがcategory_idを参照する外部キーであると想定し、CategoryParent列がNULLを許可すると想定しても、問題はありません。
明確にするために、外部キー列に_fkを追加することをお勧めします。また、CategoryParentの主キーとして正確なdatatypがあることも確認してください。
Blockquoteこのシナリオをよりよく理解するのに役立つカテゴリと親カテゴリに関するチュートリアルはありますか?ブロッククォート
あなたのケースは典型的な自己参照または階層関係です。このケースは、組織図など、カテゴリ以外の多くのケースに存在します。
同様の例がここにあります: DataModeling