SQL Azure数据库设计问题

时间:2014-06-08 20:32:22

标签: sql .net azure

我正在建立一个数据库来存储类别,每个类别都有多个子类别。

我正在努力寻找设计这个的最好方法,但除了为每个类别创建一个表之外,Cant真的想到了什么,看到至少有50个类别会觉得有点混乱。有没有办法可以创建一个"类别" -table,并以某种方式有一个名为" SubCategories"列出多个字符串?如果是这样,我将如何分割这些子类别,以便我可以在没有应用程序问题的情况下检索它们?

1 个答案:

答案 0 :(得分:1)

您的评论是大多数人会选择的解决方案。

创建表格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

当然,如果您使用的是像 Entity Framework 这样的数据库访问技术,那么您很可能不会编写这种SQL,因为 EF 会照顾对你而言。