E-R模型扩展
涉及概念:
- ISA联系
- 分类属性
- 不相交约束
- 可重叠约束
- 完备性约束
-
基数约束
- Part-of联系
- 非独占联系与独占联系
- 弱实体型与强实体型
ISA联系
由于在构建模型时,经常会遇到某些实体型是某个实体型的子类型。
如,研究生和本科生都是学生的子类型,学生是父类型,这种父类-子类联系称为ISA联系。
可表示为”is a”语义。
ISA联系用三角形表示。
如,
分类属性
例如上图中,在ISA联系符号三角形的右边加了一个分类属性学生类别, 它说明一个学生是研究生还是本科生由学生类别这个分类属性的值决定
不相交约束与可重叠约束
不相交约束描述父类中的一个实体不能同时属于多个子类中的实体集, 即一个父类中的实体最多属于一个子类实体集,用ISA联系三角形符号内 加一个叉(X)号表示。如,
即表明了一个学生不能既是本科生又是研究生
反之父类中的一个实体能同时属于多个子类中的实体集,则称为可重叠约束,即三角形内没有叉号。
完备性约束
完备性约束描述父类中的一个实体是否必须是某一个子类中的实体,如果是
则叫做完全特化,否则叫做部分特化。完全特化用双连接线,部分特化用单连接线。
如上图假设学生只有两类,要么是本科生,要么是研究生。属于完全特化。
基数约束
基数约束是对实体之间一对一、一对多和多对多联系的细化。
约束用一个数对min..max表示,0 ≤ min ≤ max。例如,0..1,1..3,1..*(*代表无穷大)。
如图,
上图(a)表示一个学生必须拥有一本学生证,一本学生证只能属于一个学生。(b)图表示,每个学生必须选修20~30门课程,一门课程会有0~*多个学生选修。
Part-of联系
Part-of联系即部分联系,它表明某个实体型是另一个实体型的一部分。例如 汽车和轮子是两个实体型,但轮子实体是汽车实体的一部分,即Part-of汽车实体。
独占联系与非独占联系
- 独占联系:整体实体被破坏,部分实体仍可以独立存在。如汽车被摧毁了,但轮子还存在。
- 非独占联系:整体实体被破坏,部分实体不能存在。
弱实体型与强实体型
- 弱实体型:一个实体型的存在依赖与其他实体型的存在,则该实体型称为弱实体型。
- 强实体型:实体可独立存在。
在E-R图中应该用双矩阵表示弱实体型,双菱形表示识别联系。如
当贷款实体被破坏时,还款自然也不存在,即还款实体为弱实体型。它们之间的联系用双菱形表示。