如何将其放入E / R图表中?

时间:2017-04-14 08:03:12

标签: database entity-relationship

有一个简单的问题,但我想我是在思考它。我需要制作一个E / R图表:

  

每个日历年都需要支付大笔费用。费用必须是   通过银行转帐,提到会员编号和   会员年适用于。数据库应该存储日期   付款。

我忽略了日历年,因为我认为它与E / R图无关。我有一个名为"Members"的实体,我喜欢"Fee"通过*"通过关系付款(钻石符号)银行转帐" *。

现在,我的问题是:"member number""membership"应该是"fee"实体还是"member"实体的一部分?或两者?因为我正在考虑向"fee"添加新的关系,并为其命名 "由" 组成然后链接"会员编号"和"会员资格",但我不知道这是否有好处。

如何处理最后一句话? "数据库应存储付款日期。" ?我可以忽略它吗?

1 个答案:

答案 0 :(得分:1)

根据你的描述,我得到了:

  • 您有实体集MembersPayments
  • Membersmember_number
  • 标识
  • Payments包含dateamountmembership_year
  • 属性

显然,我们还需要:

  • Payments有一个属性amount

我们如何识别Payments?在我看来,没有列出的属性的组合唯一标识。对于相同的会员年度,Member 可以在同一日期以相同的金额制作两个相同的Payments,例如如果他们最初只是意外地只支付了一半的年费,那么就付第二笔付款来纠正。

让我们介绍一个代理键:

  • Paymentspayment_id
  • 标识

我们还需要两个实体集之间的关系:

  • 每个Payment都与一个Member
  • 相关联
  • 每个Member可以生成多个Payments

我们可以将此信息放入ER图表中:

Member payments ER diagram

为了得到一个表格图,Chen的原始方法将每个实体关系(实体键和属性)和关系关系(关系键(即相关实体键)和关系属性)实现为单独的表:

Member payments table diagram 1

但是,通常的做法是使用相同的主键对表进行非规范化:

Member payments table diagram 2

我建议你研究陈的论文The Entity-Relationship Model - Toward a Unified View of Data。 Codd的论文A Relational Model of Data for Large Shared Databanks提供了宝贵的背景资料。