概念结构是独立于任何一种数据模型的信息结构,逻辑模型设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构。
1. E-R图向关系模型的转换
E-R图转换为关系模型遵循如下原则:一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
对于实体型间的联系则有以下不同的情况:
(1) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立打关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2) 一个1:n联系可以转换为一个独立的关系模式,也可以与n段相应的关系模式合并。如果转换为一个独立的关系模式,则与该关系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n段实体的码。
(3) 一个m:n联系转换为一个关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
(4) 3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码,组成关系的码或关系码的一部分。
(5) 具有相同码的关系模式可合并。
2. 关系模式的优化
关系数据模型优化通常以规范化理论为指导,方法为:
(1) 确定数据依赖;
(2) 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系;
(3) 按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖,传函数依赖,多值依赖等,确定各关系模式分别属于第几范式;
(4) 按照需求分析阶段得到的处理要求,分析对于这样的应用环境这些模式是否合适确定是否要对某些模式进行合并或分解;
(5) 对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率,常用的两种分解方法是水平分解和垂直分解。
a . 水平分解是把(基本)关系的元组分为若干子集合,定义每个子集合为一个子关系,以提高系统的效率;
b . 垂直分解是把关系模式R的属性分解为若干子集合,形成若干子关系模式。
3. 设计用户子模式
定义用户外模式时可以注重考虑用户的习惯与方便。包括:
(1) 使用更符合用户习惯的别名。
(2) 可以对不同级别的用户定义不同的VIEW,以保证系统的安全性。
(3) 简化用户对系统的使用。