逻辑结构是独立于任何一种数据模型的信息结构,逻辑结构的设计任务是把概念结构设计阶段设计好的基本 E-R图 转化为与选用数据库管理系统产品支持的数据模型相符合的逻辑结构。
(只介绍 E-R 图 向关系数据模型的转换原则和方法)
一、E-R 图向关系模式的转换
E-R 图向关系模式转换要考虑到:
- 如何将实体型和实体间的联系转化为关系模式?
- 如何确定这些关系模式的属性和码?
---
转换原则:
一个 实体型转换为一个关系模式,关系的属性就是实体的属性,关系的码就是实体的码。
(1)一个 1:1 联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
(2)一个 1:n 联系可以转换为一个独立的关系模式,也可以与 n 端对应的关系模式合并。
(3)一个 m:n 联系转换为一个关系模式。
(4)三个或三个以上实体间的一个多元联系可以转换为一个关系模式。
(5)具有相同码的关系模式可合并。
---
二、数据模型的优化
关系数据模型的优化通常以规范化理论为指导,方法:
(1)确定数据依赖。
(2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的数据联系。
(3)确定关系模式属于第几范式。
(4)根据需求分析阶段得到的处理要求分析对于应用环境这些模式是否合适,确定是否要对某些模式进行合并分解。
必须注意的是,并不是规范化程度越高的关系就越优。例如,当查询经常涉及两个或者多个关系模式的属性时,系统经常进行连接运算,连接运算的代价是相当高的,可以说关系模型低效的主要原因就是连接运算引起的。这时可以考虑将几个关系合并为一个关系。因此在这种情况下,第二范式甚至第一范式也许是合适的。
(5)对关系模式进行必要分解,提高数据操作效率和存储空间利用率。常用的分解方法水平分解和垂直分解。
三、设计用户子模式
将概念模型转换为全局逻辑模型之后,还应根据局部应用需求,结合具体关系数据库管理系统的特点设计用户的外模式。
定义数据库全局模式主要是从系统的时间效率、空间效率、易维护等角度出发的。由于用户外模式与模式是相互独立的,因此在定义用户外模式的时候可以考虑用户的习惯与方便。
(1)使用更符合用户习惯的别名
用视图机制可以在设计用户视图时重新定义某些属性名,使其与用户习惯一致。
(2) 可以对不同级别的用户定义不同的视图,以保证系统的安全性。
(3)简化用户对系统的使用。如果某些局部应用中经常要用到某些很复杂的查询,为了方便用户可以将复杂的查询定义为视图,用户每次只对定义好的视图查询。