2012-06-27 105 views
0

我有三种类型的产品数据库的电子商务应用

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

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

记住用户可以购买多种类型。 (例如,她可以通过2个零售产品3课程和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? 
+0

编辑的职位。请立即查看表格模式。每种产品类型具有不同的属性。例如,事件具有startDate和EndDate,其他则不具有。 –