加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 数据库设计问题 – 类别/子类别

发布时间:2020-12-12 08:47:47 所属栏目:MsSql教程 来源:网络整理
导读:我有一个问题,我如何在我的数据库中设计几个表.我有一个表来跟踪分类,一个子类别: TABLE Category CategoryID INT Description NVARCHAR(500)TABLE Subcategory SubcategoryID INT CategoryID INT Description NVARCHAR(500) 类别可能是电子产品,其子类别可
我有一个问题,我如何在我的数据库中设计几个表.我有一个表来跟踪分类,一个子类别:
TABLE Category
    CategoryID INT
    Description NVARCHAR(500)

TABLE Subcategory
    SubcategoryID INT
    CategoryID INT
    Description NVARCHAR(500)

类别可能是电子产品,其子类别可能是DVD播放器,电视机等.

我有另一个表将要引用类别/子类别.是否需要引用SubcategoryID?

TABLE Product
    SubcategoryID INT  -- should this be subcategory?

有没有更好的方式来做这个或是正确的方法?我不是一个数据库设计的人.如果重要的话,我使用SQL Server 2008 R2.

解决方法

您的设计是合适的.我是一个数据库的人转向开发人员,所以我可以理解在一个表中有类别和子类别的倾向,但是KISS永远不会出错.

除非极端的表现或无限层次是一个要求(我猜不是),那么你很好.

如果能够将多个子类别与产品相关联,那么对于@ Mikael来说,您需要一个这样的设置,通过连接/相交表Product_SubCategory创建多对多关系:

CREATE TABLE Product (ProductID int,Description nvarchar(100))
CREATE TABLE Product_SubCategory (ProductID int,SubCategoryID int)
CREATE TABLE SubCategory (SubCategoryID int,CategoryID int,Description nvarchar(100))
CREATE TABLE Category (CategoryID int,Description nvarchar(100))

希望有帮助…

埃里克·塔拉索夫

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读