【发布时间】:2016-04-28 16:11:22
【问题描述】:
我正在尝试找出设置实体图的最佳方法。我将根据下图进行说明。
tblParentCustomer:此表存储我们的主要客户的信息,可以是企业或消费者。(使用查找表 tblCustomerType 识别它们。)
tblChildCustomer:此表存储主要客户下的客户。主要商业客户可以拥有授权员工和授权代表。主要消费者客户可以拥有授权用户。 (它们使用查找表 tblCustomerType 来识别。)
tblChildAccountNumber:此表存储 tblChildCustomer 的 AccountNumbers。这些帐号主要用于子企业客户。我可能会为儿童消费者客户添加帐号,我还不确定,但我相信这种设计会在必要时允许这样做。
回到 tblParentCustomer :如果此客户是消费者,我将需要为他们添加帐号。我的问题是,我是否在 tblParentCustomer 和 tblParentAccountNumber 之间创建 1 - Many 关系?此选项将为我提供 2 个不同的帐号表。
或者创建一个与 tblParentCustomer 和 tblChildCustomer 相交的连接帐户表是否有意义?
第一个选项对我来说真的没有意义,因为如果一个客户只有一个帐号但有多个 childCustomers 怎么办?
拥有 2 个用于不同目的的相似帐户表是否有意义?
【问题讨论】:
-
一位客户有一个帐号还是一位客户可以有多个帐号?如果一个客户只有一个 AccountNumber,AccountNumber 应该直接包含在 Customer 表中。如果 AccountNumber 也永远不会更改,则 AccountNumber 可以用作主键。
-
ChildAccountNumber 可以和 ParentAccountNumber 有相同的数字吗?如果不是,为什么将它们放在 2 个单独的表中?只需在两者之间指定一个名为 Parent 的字段,该字段设置为 True 或 False。
标签: sql-server entity-framework ms-access