如何将其放入 E/R 图中?
How to put this in a E/R diagram?
有一个简单的问题,但我想我想多了。我需要从中制作一个 E/R 图:
Substantial fees are due every calendar year. Fee payments must be
made via a bank transfer, mentioning the member number and the
membership year it applies to. The database should store the date of
payment.
我忽略了日历年,因为我认为它与 E/R 图无关。我有一个名为 "Members"
的实体,我喜欢通过 *"payed via the relationship (diamond symbol) a bank transfer"*.
"Fee"
现在,我的问题是:"member number"
和 "membership"
应该是 "fee"
实体还是 "member"
实体的一部分?或两者?因为我想在 "fee"
中添加一个新的 relationship 并命名为 "consists of" 然后是 link "member number" 和 "membership",但我不知道这样好不好。
最后一句怎么办? "The database should store the date of payment."?我可以忽略它吗?
根据你的描述我得到:
- 您有实体集
Members
和 Payments
Members
由 member_number
标识
Payments
具有属性 date
、amount
和 membership_year
显然,我们还需要:
Payments
有一个属性 amount
我们如何识别 Payments
?在我看来,所列属性的组合都不是唯一标识。一个 Member
可以 在同一日期、相同的会员年、相同的金额制作两个相同的 Payments
,例如如果一开始不小心只付了一半的年费,然后再付一次改正。
让我们介绍一个代理键:
Payments
由 payment_id
标识
我们还需要两个实体集之间的关系:
- 每个
Payment
都与一个 Member
关联
- 每个
Member
可以制作多个Payments
我们可以将此信息放入 ER 图中:
为了导出table图,Chen的原始方法将每个实体关系(实体键和属性)和关系关系(关系键(即相关实体键)和关系属性)实现为单独的tables:
但是,通常的做法是使用相同的主键对 table 进行非规范化:
我推荐你研究陈的论文The Entity-Relationship Model - Toward a Unified View of Data
。 Codd 的论文 A Relational Model of Data for Large Shared Databanks
提供了有价值的背景。
有一个简单的问题,但我想我想多了。我需要从中制作一个 E/R 图:
Substantial fees are due every calendar year. Fee payments must be made via a bank transfer, mentioning the member number and the membership year it applies to. The database should store the date of payment.
我忽略了日历年,因为我认为它与 E/R 图无关。我有一个名为 "Members"
的实体,我喜欢通过 *"payed via the relationship (diamond symbol) a bank transfer"*.
"Fee"
现在,我的问题是:"member number"
和 "membership"
应该是 "fee"
实体还是 "member"
实体的一部分?或两者?因为我想在 "fee"
中添加一个新的 relationship 并命名为 "consists of" 然后是 link "member number" 和 "membership",但我不知道这样好不好。
最后一句怎么办? "The database should store the date of payment."?我可以忽略它吗?
根据你的描述我得到:
- 您有实体集
Members
和Payments
Members
由member_number
标识
Payments
具有属性date
、amount
和membership_year
显然,我们还需要:
Payments
有一个属性amount
我们如何识别 Payments
?在我看来,所列属性的组合都不是唯一标识。一个 Member
可以 在同一日期、相同的会员年、相同的金额制作两个相同的 Payments
,例如如果一开始不小心只付了一半的年费,然后再付一次改正。
让我们介绍一个代理键:
Payments
由payment_id
标识
我们还需要两个实体集之间的关系:
- 每个
Payment
都与一个Member
关联
- 每个
Member
可以制作多个Payments
我们可以将此信息放入 ER 图中:
为了导出table图,Chen的原始方法将每个实体关系(实体键和属性)和关系关系(关系键(即相关实体键)和关系属性)实现为单独的tables:
但是,通常的做法是使用相同的主键对 table 进行非规范化:
我推荐你研究陈的论文The Entity-Relationship Model - Toward a Unified View of Data
。 Codd 的论文 A Relational Model of Data for Large Shared Databanks
提供了有价值的背景。