此实体/表关系是否设置正确?

时间:2016-04-27 21:23:49

标签: sql-server entity-framework ms-access database-design

我正在SQL Server中构建一个数据库,我遇到了表关系的问题。我将在下面的图片中解释当前的设置以及为什么设置它的方式。

tblPrimaryCustomer:此表包含2种不同的客户类型;商业和消费者。它们由连接到“intType”字段的查找表标识。

tblSecondaryCustomer:tblPrimaryCustomer中的每个客户(业务或消费者)都可以拥有许多存储在tblSecondaryCustomer中的授权用户。

tblSecondaryAccount:TblSecondaryCustomer中的授权用户,其中PrimaryCustomer为“Business”,可以有许多帐户,这些帐户存储在tblSecondaryAccount中。 tblSecondaryCustomers中的“Consumer”的授权用户将没有辅助帐户。

tblPrimaryAccount:tblPrimaryCustomer中的“Consumer”类型客户可以拥有许多帐户,这些帐户存储在tblPrimaryAccount中。

我觉得有一种方法可以在没有2个不同帐户表的情况下进行设置。我做错了什么?

enter image description here

1 个答案:

答案 0 :(得分:0)

您是否有理由不想这样设置: enter image description here

然后我会添加一个名为intCustomer的字段,该字段将授权用户链接回主要客户。您只需要一个Customer表来保存您的客户和授权用户,并且只需要一个表来保存您的帐户。

使用他们的帐户获取消费者类型客户将非常简单。要查询您的商业客户信息的授权用户列表,您将重复该表,如下所示,链接intCustomer =客户ID:

enter image description here

我知道这可能不适合您的需求,但如果客户和授权用户信息类似,那么以这种方式组合可能有所帮助。