我正在为ERD准备一个实践问题,我想知道什么是正确的方法来建模或者是关系。
例如,在跆拳道学校,你将有客户帐户,这将代表和支付一个或多个学生。帐户由家长或学生本人拥有。因此,帐户所有者要么是家长,要么是学生。什么是最好的方式来代表这样的关系?
以下是我想出的,但我不确定这是否符合最佳实践:
发布于 2019-12-07 20:40:32
1澄清
代表乌鸦脚ERD中的一个或一个关系
你的图表是一个很好的开始。注意:
最终,您需要一个具有实现所需细节的数据模型(远大于ERD)。这就是为什么我说你的图表是一个好的开始,它正在朝那个方向移动。然而,我们有一个关系数据建模标准:IDEF1X,这是1993年以来的关系数据库建模标准,在它被提升到一个标准之前,它从1984年就开始使用了。
关系符号,特别是基数,在IEEE表示法中比IDEF1X更好(更容易理解),因此大多数人使用它。所有数据建模工具(如ERwin )都实现了IDEF1X,并允许使用IDEF1X或IEEE来表示关系。
2项请求
该图是非法的。为什么?因为你有一段关系要“离开”人,两张桌子。不可能。您正在询问如何在数据模型中表示这种关系(在ERD中是不可能的)。答案是,或是逻辑术语,子类型是关系术语中的。
请查阅这些答案的概述和细节。有关实现细节和代码的链接如下:
子类型可以是:
从Role
来看,它似乎是排他性的。您所称的Role
是IDEF1X中的一个IDEF1X。
这是关系数据库的最佳实践。
关系数据模型
这是用于数据模型的最佳实践(此级别的详细信息仅显示属性名称)。
ParentId, StudentId, OwnerId
都是PersonId
的关系词( RoleNames )。这就明确了FK的上下文。3校正
但我不确定这是否符合最佳实践
既然你很关心,还有另外一个问题。您的模型中有一个错误,它是在每个文件上标记id
时发生的常见错误之一。这种做法削弱了建模练习,使其容易出现各种错误。(我知道有人教你那种残废的方法。)
https://stackoverflow.com/questions/59140908
复制相似问题