我正在建立一个数据库,用于处理学术机构的休假申请。鉴于此类机构中存在等级制度,并且我需要记录在这些职位上的人员,例如“院长”,除了“current_cross_cutting_faculty”之外,我还实施了一个表“archived_cross_cutting_faculty”,其中 cross_cutting_faculty 表示该人除了是教员之外,还是院长或其他人。为了记录退休教员,除了教员表外,我还有表retired_faculty。
现在,archived_cross_cutting 中列出的教员可能是退休教员,因此他可能在退休教员表中。或者他可能出现在教员表中,即他目前担任教员,但说,他现在不是院长。
这种关系可以在 ER 图中显示吗?archived_cross_cutting_faculty 中的一个人要么在faculty 表中,要么在retired_faculty 表中?如何?
在 ER 模型中,这个概念被称为泛化/专业化。说明这一点的图表显示在链接到的文章中。
https://www.geeksforgeeks.org/generalization-specialization-and-aggregation-in-er-model/
但是,请注意。Gen/spec 适用于实体,而不是表。实体和表之间的区别在于抽象级别。如果您想清楚地考虑主题,而不仅仅是数据库,那么您应该在脑海中保持不同的层次。实体是主题中的对象,其描述性数据可以存储在表中。