【数据库基础】EER图(Enhanced Entity-Relationship Modelling)

本文探讨了EER模型在实体关系图中的使用,关注何时区分特化子类和通用父类,以及参与性和不相交约束如何影响设计。通过实例解析了特化(如Manager和Secretary角色区别)和概化(Superclass-STAFF的抽象)的概念,以及它们在 Staff 和 Branch 关系中的具体实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1. 为什么需要EER model?

什么时候用EER?

2. Specialization / Generalization 特化和概化

特化和概化的两种约束

1.Participation constraint 参与性约束

2.Disjoint constraint 相关性约束

范例


1. 为什么需要EER model?

        如图,staff有多种不同职务,而有的属性值是某一种职务特有的,其余的职务对它并不关心(如只有Manager有mgrStart和bonus,只有Secretary需要在乎typingSpeed),

        此时绘制实体关系图可以在ER的基础上更细分,将父类(superclass)STAFF按照属性position值的不同下分出多个子类(subclass,和Java中的父子继承相似):Manager,Assistant,Secretary,...等等,这就是 “加强的ER”


什么时候用EER?

When one or both of:

1. Attributes apply to some (but not all) instances of an entity.

一类实体中,只有一部分个体实例需要有这个属性(其他个体就算有也都是空)

2. Instances of potential subclass participate in a relationship unique to that subclass;

有的关系只联系于superclass下某一类subclass(放在下边范例1的图看,就是Manager和Branch那种情况)


2. Specialization / Generalization 特化和概化

Specialization:
Process of maximizing differences between members of an entity by identifying their distinguishing characteristics;
Potential subclass? (为爸爸找儿子
Generalization:
Process of minimizing differences between entities by identifying their common characteristics;
Potential superclass? (给儿子们找爸爸

特化和概化的两种约束

1.Participation constraint 参与性约束

“爸爸”是否必须也是个“孩子”?

Mandatory: member of superclass must be member of subclass
Optional: member of superclass may be member of subclass.

2.Disjoint constraint 相关性约束

“爸爸”可以是一个孩子,还是多个孩子?

Disjoint:member of superclass is member of at most one subclass ( or ).
Non-disjoint:member of superclass can be member of more than one subclass ( and ).

上述约束条件交叉组合,形成4种不同的概化特化情况:


范例

1. 由关系Staff、Branch等改写来的EER,和第一个图的情况相似:

Staff中,由属性position值的不同可暂分3个subclass:Manager、Sales Personnel、Secretary,一个staff可能是三种职业中的任意一种,也可以都不是(还有别的职业),所以是{Optional,And};

由工时(全职 or 临时工)不同可分为2个subclass:FullTimePermanent、PartTimeTemporary, 一个staff要么全职,要么临时,没有别的选择,所以是{Mandatory,Or};

2. subclass也可以有subclass,一个subclass还可以有多个superclass(子类小奉先了属于是)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值