E-R图设计质量直接决定了关系数据库设计质量。
1.4.1 实体和属性
实体不是某一个具体事物,而是某一种类别所有事物的统称。
属性通常用于表示实体的某种特征,也可以使用属性表示实体间关系的特征,如图1.8所示。
图1.8 实体与属性
1.4.2 关系
E-R图中的关系用于表示实体间存在的联系。在E-R图中,实体间的关系通常使用一条线段表示。
E-R图中实体间的关系是双向的,如图1.9所示。
图1.9 实体间的双向关系
班级实体与学生实体之间的双向关系中:
(1)一个班级包含n个学生。
(2)一个学生只能属于一个班级,这两个“单向”的关系组成了这条“双向”的联系。
这点很重要,因为有时候从另一个方向记录关系会容易得多。
在E-R图中,实体间关系有这3个重要概念:基数,元,关联。
(1)基数(Cardinality/Kardinalität)。(www.xing528.com)
基数表示一个实体到另一个实体之间关联的数目,基数是针对关系之间的某个方向提出的概念,基数可以是一个取值范围,也可以是某个具体数值。
当基数min=1时,表示强制关系(mandatory),对应于非空约束(Not Null Constraint)。
当基数min=0时,表示可选关系(optional)。
示例如图1.10所示。
图1.10 基数取值
(2)元(set-theoretic)。
元表示关系所关联的实体个数,如图1.11所示。上面所提到的每个关系都是二元关系(Binary relation)。有些实体可能存在一元关系/回归关系,或者多元关系。例如,三元关系(ternary relation)。
图1.11 元表示关系所关联的实体个数
(3)关联(association)。
一元关系:例如人与人之间的“夫妻关系”。假设现在要加上“登记时间”这个属性,就要用到关联(association)。使用关联表示实体间关系的属性,如图1.12所示。
图1.12 实体间关系的属性
1.4.3 E-R图的设计原则
数据库开发人员通常采用“一事一地”的原则从系统的功能描述中抽象出E-R图。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。