0

我有三种类型的产品

 - Retail products (ID,product_categoryId,price,name)
 - Courses (ID,course_categoryId,price,name,roomId)
 - Events (ID,name,price,StartTime,EndTime)

所有类型都有自己的价格。我应该为所有提及它的父对象创建一个表,还是必须为每种类型创建单独的表?

请记住,用户可以购买多种类型。(例如她可以通过 2 个零售产品 3 个课程和一个事件)。所以发票就是这样创建的。

请帮助

4

1 回答 1

1

为什么不创建这样的表(TSQL)

CREATE TABLE [dbo].[ProductTypes] (
    [Id] INT NOT NULL ,
    [Description] NVARCHAR(MAX) NOT NULL
)

CREATE TABLE [dbo].[Products] (
    [Id] INT NOT NULL IDENTITY(1) ,
    [ProductTypeId] INT NOT NULL, -- FK to ProductTypes table
    [Price] ...
)

CREATE TABLE [dbo].[OrderItems] (
    [OrderId] INT NOT NULL ,
    [ProductId] INT NOT NULL
)

... and so forth?
于 2012-06-27T06:45:34.167 回答