实体-联系建模
递归联系:同一个实体类型以不同的角色多次参与了同一个联系类型,这种联系类型被称为递归联系
当两个实体之间存在多于一种联系时可以使用角色名称
属性
属性域:单个属性或多个属性所允许的取值集合
简单属性和组合属性(有多个简单属性组成),单值属性和多值属性
导出属性:属性的值是由相关的一个或一组属性的值导出来的属性。
合成关键字:包括两个或两个以上属性的候选关键字
结构化约束
基数约束:在指定的联系类型中,一个实体可能参与的联系出现的最大数目
参与性约束:实际上是多重性范围中的最大值,分为强制参与(最小值为1)和可选参与(最小值为0),某个实体的参与性是由在联系中另外一方实体的多重性的最小值决定的。
ER模型的问题
扇形陷阱:模型给了两实体类型之间的一种联系,但在某些实体出现之间存在着多条通路。
断层陷阱:模型表示某些实体类型之间存在着联系,但某些实体出现之间却不存在通路
增强的实体-联系建模
特殊化/泛化
子类拥有超类的所有属性,一个子类有不止一个超类时,称这个子类为共享子类。共享子类中的成员必须是其所有超类的成员。
参与约束:强制的(A=a1+a2),可选的(A>=a1+a2)
不相交约束:子类的成员不存在相交现象
聚合
表示实体类型之间的“拥有”和“属于”联系,这些实体中有一个表示“整体“,其他的表示”部分“。表示整体的那端用空心菱形相连。一个”部分“可以属于多个“整体”
组合
一种特殊形式的聚合,表示在实体的关联中,”整体“方对”部分“方拥有强所有权,且两者的生存期相同。表示整体方的用实心菱形相连。