【发布时间】:2019-12-02 14:24:17
【问题描述】:
我正在为 ERD 做一个练习题,我想知道对任何一个或关系进行建模的正确方法是什么。
例如,在跆拳道学校,您将拥有客户帐户,该帐户将代表一名或多名学生并为其付费。该帐户由家长或学生本人拥有。因此,帐户所有者是家长或学生。表示这种关系的最佳方式是什么?
这是我想出的,但我不确定这是否符合最佳做法:
【问题讨论】:
-
account_id 在 person 实体而不是 student 中不是更有意义吗?您是在问如何绘制独占子类型或如何在数据库中创建它?有多种不同的符号支持独占子类型medium.com/@ericgcc/…
-
一个帐户可以覆盖多个学生(例如,在学校有几个孩子的家长),因此
students表中的account_id用于跟踪帐户需要为谁付款。accounts中的account_owner是实际为帐户付款的人。 -
这是排他的子类型/继承。你在哪里停留在你所遵循的教科书/参考方法中?此外,这是一个常见问题解答。请不要再要求演示了。请参阅How to Ask、其他help center 链接、点击谷歌搜索“stackexchange 作业”和投票箭头鼠标悬停文本。 PS 通过编辑而不是 cmets 进行澄清。
-
@nvogel。 account_id 在 person 实体中而不是在 student 中是否更有意义? 不。1)然后该字段可以为 NULL。 2) Account 是 Person 的子节点,而不是相反。
标签: database database-design erd