1

データベースにメンバーのテーブルがあるとします。各メンバーが作成できる製品と独自のカテゴリを追加する前に、サブカテゴリ、さらにはサブサブカテゴリを追加します。追加する製品はカテゴリにのみ属している可能性がありますが、別の製品はサブ サブカテゴリに属している可能性があります。これを行う最も効率的な方法を考えようとしています。以下の例がおそらく正しくないことは承知していますが、私の考えを説明していただければ幸いです。

Member 
MemberID  Name  
-----------------------
Member_Category
CategoryID, MemberID, CategoryName
------------------------------------
Member_SubCategory
SubCategoryID, CategoryID, SubCategoryName
---------------------------------
Member_SubSubCategory
SubSubCategoryID, SubCategoryID, SubSubCategoryName
----------------------------
Product
ProductID, MemberID, CategoryID, SubCategoryID, SubSubCategoryID, ProductName, Cost
4

1 に答える 1

0

まず、製品には「categoryID」列が1つだけあり、サブはありません。

製品が同時に複数のカテゴリに含まれる可能性がある場合は、「productID」列と「columnID」列を持つ別のテーブル「products2categies」に配置することをお勧めします。

次に、DBにツリー構造を実装するさまざまな方法があります。私はあなたに最も簡単なものを提供します。'categories'テーブルで、次の構造を作成します:'categoryID'、'category_name'、および'parentID'列。最初の2つは自明であり、3番目は親カテゴリを示しています。これがメインカテゴリの場合は、'parentID'=0にします。

DBのツリー構造の詳細については、これを参照してください。リレーショナルDBにツリー構造を格納するための既知の方法は何ですか。

Member 
MemberID  Name  
-----------------------
Member_Category
CategoryID, MemberID, CategoryName, ParentID
------------------------------------
Product
ProductID, MemberID, CategoryID, ProductName, Cost
于 2013-03-08T14:51:55.080 に答える