我建立一个数据库来存储类别,每个类别都有多个子类别。SQL Azure数据库的设计问题
我试图找到设计的最佳方式,但不能真的认为任何东西,除了为每个类别创建一个表,这种感觉有点乱看怎么会有至少50个类别。有没有办法我可以创建一个“类别” - 表,并以某种方式有一个名为“SubCategories”列多个字符串?如果是这样,我将如何分割这些子类别,以便我可以在没有来自应用程序的问题的情况下检索它们?
我建立一个数据库来存储类别,每个类别都有多个子类别。SQL Azure数据库的设计问题
我试图找到设计的最佳方式,但不能真的认为任何东西,除了为每个类别创建一个表,这种感觉有点乱看怎么会有至少50个类别。有没有办法我可以创建一个“类别” - 表,并以某种方式有一个名为“SubCategories”列多个字符串?如果是这样,我将如何分割这些子类别,以便我可以在没有来自应用程序的问题的情况下检索它们?
您的评论是解决大多数人会一起去。
创建一个表Categories
,以及第二个表SubCategories
。
Categories
将具有唯一的主键CategoryID
(认为Identity
)。
SubCategories
将有一个主键SubCategoryID
和外键CategoryID
现在让我们说你在你的代码的一个类别,你想获得的所有子类别:
DECLARE @CategoryID BIGINT = 23
SELECT s.SubCategoryID, s.CategoryID, s.Name
FROM SubCategories s
WHERE s.CategoryID = @CategoryID
当然,如果你使用的数据库访问技术,如实体框架的ñ你最有可能不会写这种SQL作为EF会为你照顾。
谢谢,将与此:) –
我在想,如果我做了一个表的类别,并给他们全部潮头ID是什么,然后我做了一个子类别的表,给他们相应的ID。我能以这种方式从我的应用程序中为每个类别检索正确的子类别吗? –