电子商务应用数据库

时间:2012-06-27 06:26:47

标签: database-design e-commerce database-schema

我有三种类型的产品

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

所有类型都有自己的价格。我是否应该为所有提及父级的人创建一个表,或者我必须为每种类型创建单独的表?

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

请帮助

1 个答案:

答案 0 :(得分: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?