我如何构建我的数据?

时间:2012-02-07 17:40:22

标签: c# sql

我有两个继承自Product类的类(Book,Software)。这两个类有一些彼此不同的字段。如果我要将这两个类的数据保存到单个表中,则会导致某些列具有空值。

如果我将数据保存到不同的表(Books表和Software Table)中,然后想在单个gridview中查看这些数据,我是否必须加入数据然后将其加载到gridview?

我想稍后再添加2个类(IndividualCustomer,W​​holesaleCustomer),它们将以与上述相同的方式继承Customer类。

请引导我走向最好的方法。谢谢你

3 个答案:

答案 0 :(得分:3)

在这种情况下,我创建了三个表:产品,书籍和软件。

在产品中我会把PK和所有常见字段放在一起;在预订相同的PK和书籍特定领域;与Book for Software相同。

这些表之间的关联应该是1:1。

答案 1 :(得分:3)

我不是C#程序员,但我会选择像

这样的东西
`products` table
 - product_id (pk)
 - title
 - price
 - etc

`products_software` table
 - software_id (pk)
 - product_id (foreign key, relates to a product_id)
 - serial_number
 - storage_media

`products_books` table
 - book_id (pk)
 - product_id (foreign key, relates to a product_id)
 - pages
 - author

答案 2 :(得分:1)

书籍和软件并不是不同的产品,它们只是不同的类别。

我会创建几个表: 制品 分类 属性 PropertiesToCategories PropertiesToProducts

在此表单中,您可以为每个类别附加一些属性,例如:图书有作者,标题,出版商

当您想要添加新产品时,您应首先选择它的类别,然后您可以将可用(对于图书:作者,标题,发布商)属性附加到您的新产品。