category subcategory subcategory
jewelry body nose ring,arm ring,ear ring
men ring,ear ring
複数category->subcategory->subcategory
あるので、MySQL でのテーブルはどうなりますか?
category subcategory subcategory
jewelry body nose ring,arm ring,ear ring
men ring,ear ring
複数category->subcategory->subcategory
あるので、MySQL でのテーブルはどうなりますか?
次のようにテーブルを構成します。
Id Category ParentId
1 Jewelry NULL
2 Body 1
3 nose ring 2
4 arm ring 2
5 ear ring 2
-
-
これは自己参照テーブルと呼ばれます。つまり、ParentId
列には、または同じテーブルNULL
の列の値が含まれます。Id
subcategories
したがって、特定の のすべての直接を知る必要があるときはいつでもcategory
、次のようなクエリを作成するだけです。
Select * from CategoryMaster where ParentId = 2;
これを行うと、サブカテゴリのすべてのサブカテゴリが取得されますBody
。
このデータ構造の最も優れた点は、任意のサブカテゴリに対して n レベルのサブカテゴリを持つことができ、3 つの列 (最低でも) を持つ同じ単一のテーブルで十分であることです。