gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 00:46:17 24 4
gpt4 key购买 nike

我有一个问题,如何在数据库中设计一些表。我有一个用于跟踪类别的表和一个用于子类别的表:

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))

希望有帮助...

埃里克·塔拉索夫

关于sql - 数据库设计问题 - 类别/子类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5384183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com