我有一个关于如何设计多个类别和多个子类别的问题。商店将有多个类别和多个子类别。
例如,商店将以女性服装,男士服装为类别,并将配饰和底部作为子类别
如果重要,我会使用SQL Server 2016.这些是我到目前为止的表格:
TABLE Store
StoreID INT
Description NVARCHAR(500)
TABLE Category
CategoryID INT
Description NVARCHAR(500)
TABLE Subcategory
SubcategoryID INT
CategoryID INT
Description NVARCHAR(500)
答案 0 :(得分:1)
只需创建另一个表StoreCategories,即保留StoreID和CategoryID,以允许每个商店拥有多个类别,每个类别都有多个商店。
确保为每个表正确放置外键。 如果可以在多个类别上使用SubCategory,则可以放置另一个中间表 显然要避免双子类别。
答案 1 :(得分:0)
我不认为拥有单独的Category和SubCategory表有任何价值。只有一个Category表,可以使用TABLE Category
CategoryID INT
ParentCategory INT
Description NVARCHAR(500)
列。
null
您的顶级类别将是ParentCategory TABLE StoreCategory
StoreID INT
CategoryID INT
的类别。
你说现在不会有多个级别的子类别,但这样的要求有改变的趋势。如果你最终在某些时候需要子子类别,那么你不必用这样的设计重写一堆查询。
然后您需要一个表来存储商店的类别:
internal_busy