概念结构设计所得的E-R模型是对用户需求的一种抽象的表达形式,它独立于任何一种具体的数据模型,因而也不能为任何一个具体的DBMS所支持。为了能够建立起最终的物理系统,还需要将概念结构进一步转化为某一DBMS所支持的数据模型,然后根据逻辑设计的准则、数据的语义约束、规范化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户子模式。这就是数据库逻辑设计所要完成的任务。
数据库逻辑结构的设计分为两个步骤:首先将概念设计所得的E-R图转换为关系模型;然后对关系模型进行优化,如图1.14所示。
图1.14 逻辑结构设计的过程
关系模型是由一组关系(二维表)的结合,而E-R模型则是由实体、实体的属性、实体间的关系三个要素组成。所以要将E-R模型转换为关系模型,就是将实体、属性和联系都要转换为相应的关系模型。下面具体介绍转换的规则。
1. 一个实体类型转换为一个关系模型
将每种实体类型转换为一个关系,实体的属性就是关系的属性,实体的关键字就是关系的关键字。例如,可将“学生”实体转换为一个关系模型,如图1.15所示。其中,带下划线的属性为主属性,该主属性为关系模型外键。