如何在访问数据库中实现抽象,父子关系

时间:2014-11-20 00:01:33

标签: c# ms-access abstract-class parent-child abstraction

以下是我正在处理的应用程序的暂定类图。我将使用C#来查询我的Access数据库(我不会使用LINQ)。 我的问题是关于Customer类(父类/抽象类)与其他三个子类之间的父子关系,零售商/商业,企业和消费者。我在图上设计了类,这就是我打算在C#中实现的方法,我不知道如何在MS Access数据库中实现它。我应该为父类(Customer)创建一个表,然后为三个子类创建另外三个表吗?如何将关系定义为父子关系以及如何查询它们?例如,如果我正在寻找所有客户,我是否只查询客户表或其所有子表?请暂时忽略这些属性,因为我稍后会对它们进行优化。谢谢。

低声望不会让我直接在这里过去图像,所以我把类图的图像放在这里,请看看。

http://postimg.org/image/wesl37i8f/

1 个答案:

答案 0 :(得分:1)

我认为你需要的只是一些基础数据库课程:这里: http://code.tutsplus.com/tutorials/relational-databases-for-dummies--net-30244 https://www.google.co.uk/search?q=how%20to%20create%20relational%20database&gws_rd=ssl

您的班级图几乎就在那里,现在您必须识别身份并将其标准化。对于您创建表格所需的所有课程都是。

如何定义关系: 在您的类图中,您有[customer_table]和[business,corporate,consumers] 在理性数据库中,您将在[customer_table]中拥有[customer_table],您将拥有[customer_type_id]作为[customer_type]表的链接键。

如果您创建了一个新客户,那么您将从customer_type表中选择一个客户类型,这将是一个简单的关系。

查询客户表: 如果您想获得所有客户的详细信息,您只能查询customer_table。如果你想知道他们是什么类型的客户,你会链接 [customer_table]与[customer_type_table]有点内容

select customer_table.customer_name, customer_type_table.customer_type
from customer_table inner join customer_type_table on customer_Table.customer_type_id = customer_type_table.customer_type_id

查看以上链接,他们可能会帮助您了解更多信息。如果你被卡住,你可以发布到目前为止你所尝试的任何内容。 祝你好运