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

本文关键字:实现 抽象的 父子关系 数据库 访问 | 更新日期: 2023-09-27 18:31:00

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

低名气不会让我直接在这里通过图像,所以我把类图的图像放在这里,请看一下。

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

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

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

你几乎有了你的类图,现在你必须识别身份并规范化它们。是的,对于您的所有类,您需要创建一个表。

如何定义关系:在你的类图中,你有[customer_table]和[商业,公司,消费者]在 rational 数据库中,您将有一个 [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

查看上面的链接,它们可能会帮助您了解更多信息。 如果您遇到困难,您可以发布到目前为止尝试过的任何内容。祝你好运