我写了我的项目,我会给用户将他的商店添加到我的系统,然后用户可以将shopItem添加到他的商店。
我的问题是:
也许已经存在Category-Subcategory的商店数据库。
我的意思是 - 当用户添加例如靴子时 - 他需要选择 分类衣服 - >然后选择Subcategory Shoes。
所以我需要具有MS SQL所有类别子类别的数据库 - 或其他数据库(最多我将编写用于传输数据到MS SQL的脚本)
谢谢。
此致 大卫。
答案 0 :(得分:2)
你在谈论等级关系。通常,您将拥有一个具有主键(例如,CategoryID)的类别数据库。如果子类别只能属于单个类别,那么您的Category表中可能有另一个字段(可能称为ParentCategoryID)。对于根级别类别,此字段将为NULL。对于子类别,ParentCategoryID将包含任何类别的CategoryID(非常合乎逻辑)。
如果子类别可以存在于多个类别下,那么您需要一个包含CategoryID和ParentCategory ID的映射表。
如果您还需要允许子类别成为根类别,那么您的映射表必须考虑到这一点(可能允许在ParentCategoryID表中使用NULL)
MSDN在这里有一个关于分层数据结构的教程:https://msdn.microsoft.com/en-us/library/bb677213.aspx