複数のテーブルを使用して商品を保存することはお勧めできません。カテゴリが重複する商品があり、同じ商品が複数のテーブルに保存されるためです。
ID、product_number、descriptionなどの製品テーブルとカテゴリテーブルを使用して、さまざまなカテゴリを保存するだけです。次に、次のように直接リンクできます。
製品表:
ID product_number description category
1 00001 Screwdriver 1
カテゴリテーブル:IDの説明1ツール
また、サブカテゴリの親をアドレス指定することで、サブカテゴリを使用するために追加の列を使用してカテゴリテーブルを拡張することもできます。
サブカテゴリのあるカテゴリテーブル:
ID description parent
1 Tools NULL
2 Automatic tools 1
また、製品テーブルからカテゴリテーブルに直接リンクしたくない場合は、リンクテーブルを使用できます。
製品カテゴリ:
Product_ID Category_ID
1 1
これがあなたの質問に答えることを願っています。
編集、追加されたフィルターテーブル:
製品のフィルタリングを追加するには、次のように、フィルターのテーブルとリンクテーブルを使用できます。
フィルター:
Filter_ID description value
1 brand Bosch
2 brand Bahco
3 type Phillips
Product_Filter:
Product_ID Filter_ID
1 1
1 3
そうすれば、複数のフィルターを各製品にリンクして、同じフィルターを複数回使用できます。
フィルタ値に別のテーブルを使用してこれをさらに拡張することもできますが、それは物事を少し複雑にする可能性があります。
フィルター:
Filter_ID description value
1 brand 1
Filter_value:
Filter_ID value
1 Bosch
2 Bahco