Dit design er passende. Jeg er en databasefyr, der blev udvikler, så jeg kan forstå tilbøjeligheden til at have kategori og underkategori i én tabel, men du kan aldrig gå galt af KISS.
Medmindre ekstrem ydeevne eller uendeligt hierarki er et krav (jeg gætter på ikke), er du godt i gang.
Hvis det er et krav at kunne tilknytte flere underkategorier til et produkt, ville du for @Mikaels pointe have brug for et set-up som dette, som skaber et mange-til-mange forhold via en join/skæringstabel, 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))
Håber det hjælper...
Eric Tarasoff