-3

我正在尝试创建一个满足以下要求的实体关系图:

• 每个客户都有一个姓名、一个永久地址和一个社会安全号码。

• 每个客户可以有多个电话号码,同一个电话号码可能被多个客户共享。

• 一个客户可以拥有多个帐户,但每个帐户由一个客户拥有。• 每个账户都有一个帐号、一个类型(如储蓄、支票等)和一个余额

• 银行为每个账户签发一份账户对账单,并每月将其邮寄给其账户所有者。随着时间的推移,同一个账户会有多个报表。

• 每个报表都有一个发布日期和一个报表ID。同一个账户的所有报表都有不同的报表ID,但是两个不同的账户可以有具有相同报表ID的报表。例如,账户 A 可能有一个 ID 为“123”的对帐单,而账户 B 有另一个 ID 为“123”的对帐单。

我已经实现了这个:

在此处输入图像描述

我有几个问题:

  1. 是否可以在任何关系的情况下使用 Min-Max 表示法,或者仅在描述中有指示时使用?

  2. 我的多对多关系在这里正确描述了吗?

  3. 我能否正确描述 Account vs Account Statement vs StatementID 之间的关系?

  4. 根据我的假设, Account Statement 真的是一个弱实体,并且Has真的是一个依赖于 Statement ID 的弱关系吗?发行日期是弱键吗?

4

2 回答 2

1

Q1。是的。它们可以用于任何关系。如果描述缺少该信息,并不意味着该信息不存在。

Q2 和 Q3 和 Q4。 Phone Number应该是多值属性而不是实体。 Statement Id应该是弱键Account Statement而不是实体。当您进行上述更改时,您会意识到这Account Statement取决于Account它应该是什么。

于 2016-01-15T05:47:31.207 回答
0
  1. 这个符号对我来说有点奇怪,因为我习惯于将数字放在它们应用的边缘附近(1-N 关系与 N-1 关系不同)。就个人而言,我喜欢总是指出关系中的基数。
  2. 我有以下意见:
    • 一个客户可以拥有多个帐户,因此关系的基数为 (1, N)。
    • 一个帐户可以生成多个帐户对帐单,因此关系为(1,N)。
  3. 我认为您可以将语句 ID 作为 AccountStatement 的属性(并作为“弱键”),并将帐号用作复合键的另一个组件(如我所见,AccountStatement 有一个复合键,由报表 ID 和帐号)。

  4. 我认为 AccountStatement 实际上是一个弱实体。在我在 3 中所说的上下文中,我不会将发行日期视为键(尽管帐号和发行日期可能是复合候选键),并且我会删除 Has 关系和 StatementID 实体,移动AccountStatement 属性的语句 ID。

希望能帮助到你!

于 2016-01-15T01:48:28.633 回答