E-R模型和EER模型
E-R Modeling
Entity-Relationship Modeling
UML:Unified Modeling Language统一建模语言,图像呈现ER模型
Concepts
实体、关系、属性、关键字、约束
Entity
- Entity type类(可以是抽象概念)
- Entity occurrence实例:实体类型中可唯一标识的一个对象
- 矩形
- Strong Entity Type,有主键
- Weak ,没
Relationship
- relationship type
- relationship occurrence
- degree=该关系涉及的实体类型个数,binary(2)、ternary(3)、quaternary(4)、complex(>2)
binary
complex-菱形
recursive relationship
自环?同一实体在某一关系中扮演不同角色role
两实体俩关系
类似主动被动?交换主语宾语或者换个谓语表达?
Attribute
- Attribute:不仅实体,联系也有属性
- Attribute Domain:属性的取值集合?
- Simple Attribute
- Composite Attribute组合属性,如name=first+last
- Single-valued Attribute:一个实例只能取一个值,如一个人只有一个身份证号
- Multi-valued Attribute:一个实例可取多个值,如一个人可以办两张手机号码
- Derived Attribute导出属性,可由相关属性导出得到
Keys
- Candidate Key候选关键字,能唯一标识实例的最小属性集合
- Primary Key主关键字,候选关键字中选出来的
- Foreign Key外键,关系R中的一个属性组,它不是R的候选码,但它与另一个关系S的候选码相对应
- Composite Key合成关键字
diagram
实体+关系+属性(多值+合成+导出)
关系的属性
Structural Constraints
0..0, 0..1, 1..1, 1..*, *..*
, 远端each做主语,不一定是0or1,可以是具体的数字234…
对于complex relationship中的约束,通过固定两端作为一端,将complex化为binary
- Cardinality基数:max of x..x
- Participation:min
- mandatory强制参与
- optional部分参与
EER
Enhanced Entity-Relationship Model
Specialization/Generalization
- superclass超类,一个超类不一定需要子类
- subclass子类
- Attribute Inheritance属性继承,三角符号
- Specialization特殊化,拆分-差异最大化
- Generalization泛化,合并-差异最小化
子类可单独与非超类实体建立关系;
根据不同差异特征将同一实体进行多种形式的特殊化;
constraints
- participation限定每个超类的成员是否一定是某个子类的成员
- optional
- mandatory:每个超类成员必须是某一子类的成员
- disjoint不相交
- and非不相交:
- or不相交:某一超类的成员最多只能属于一个子类
聚合/组合
- 聚合:空心菱形,紧挨整体
- 组合:实心