试试我的答案,如果哪里不好,请指出来,我也是初学者。
我的办法很简单,就是再类别表加一个父类型编号,也就是所有的自连接,以商品类型为例,数据表如下:
Create Table ProductType
(
ID int identity(1,1) primary key,
Name varchar(10) not null unique,
--引用自身表的ID作为外键
fatherTypeID int null foreign key references ProductType(ID)
)
这样,当你添加某个商品类型时,如果是最高级别的类型,则将fatherTypeID置空,如果存在父类型,则引用父类的ID,如食品理论上应该是父类,酒类应该是食品的一个子类,而红酒类又是酒类的一个子类。假设食品类的ID是1,酒类的ID是2,红酒类的ID是3,那么数据库中的记录应该为
ID Name fatherTypeID
1 食品 NULL
2 酒类 1
3 红酒 2
不知道这样说楼主能不能看得懂?另外,查询时候需要用自身连接。