あなたのデザインは適切です。私はデータベースの専門家から開発者になったので、カテゴリとサブカテゴリを 1 つのテーブルにまとめたいという気持ちは理解できますが、KISS を使えば間違いはありません。
極端なパフォーマンスや無限の階層が必要でない限り (私はそうではないと思います)、問題ありません。
複数のサブカテゴリを製品に関連付けることができることが要件である場合、@Mikael のポイントでは、結合/交差テーブル Product_SubCategory を介して多対多の関係を作成するこのようなセットアップが必要になります:
CREATE TABLE Product (ProductID int, Description nvarchar(100)) CREATE TABLE Product_SubCategory (ProductID int, SubCategoryID int) CREATE TABLE SubCategory (SubCategoryID int, CategoryID int, Description nvarchar(100)) CREATE TABLE Category (CategoryID int, Description nvarchar(100))
プレ>お役に立てば幸いです...
エリック・タラソフ