数据库设计(二):ER图绘制
上一节我们提到ER图由3中基本的要素(属性/字段(Attribute)、关系(Relation)、实体(Entity))组成,那么在这一节中我们介绍不同在ER图中如何去表示这些要素。
属性/字段(Attribute)
属性的类型:
- 普通属性(Singlevalued attribute)。
- 多变量属性(Multivale attribute)。这种属性可以拥有超过一个的值,例如:工作地址属性,一个人可以有多个工作地址。
- 衍生属性(Derived attribute)。这种属性是有数据库衍生出来的,例如:数据库自动生成的***。
- 键属性(Key attribute)。该属性作为主键。
- 弱键属性(Weak key attribute)。该属性存在于弱关系中,作为区分(类似主键的作用)弱关系的属性。
- 组合属性(Composite attribute)。由其他属性组合而成的属性,例如:名字可由姓属性和名属性组合而成。
属性在ER图中的表示方法:
关系(Relation)
在上节我们提到,关系有3中性质:度(Degree)、参与度(Participation)和基数(Cardinality),在ER图中Participation和Cardinality的绘制方法如下图所示:
实体(Entity)
在ER建模中,实体分为3种:
- 普通实体(Normal entity)。
- 弱实体(Weak entity sets, WES)。弱实体的存在依赖于普通实体,例如:电话号码这个实体必须依附于人,因为电话号码不能单独存在,必须属于一个人。
- 子类(Subclasses)。子类分为重叠子类(Overlapping)和不相交子类(Disjoint)。其中重叠子类表示父类可以同时是多个子类,例如一个父类(人),可以同时是两个子类医生、患者。而在不相交子类,父类只能属于其中一种子类,例如:一个人只能是本科生和研究生其中的一种,不能同时是本科生和研究生。
不同类型的实体在ER图中的表示如下图所示: