首页 百科知识 数据库逻辑设计基本方法

数据库逻辑设计基本方法

时间:2022-10-18 百科知识 版权反馈
【摘要】:数据库的逻辑设计的基本方法是将E-R图转换成指定RDBMS中的关系模式,此外还包括关系的规范化以及性能调整,最后是约束条件设置。关系数据库规范化在数据库设计及数据库应用中有重要的作用,规范化理论从方法上对关系数据库给予严格的规范与界定,这是极端必要的。“一事一地”原则是判别关系模式满足3NF的有效方法,此种方法既非形式化又较为简单,因此在数据库设计中被经常使用。

10.4.1 数据库逻辑设计基本方法

数据库的逻辑设计的基本方法是将E-R图转换成指定RDBMS中的关系模式,此外还包括关系的规范化以及性能调整,最后是约束条件设置。首先,从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系表,E-R图中属性也可以转换成关系表的属性。下面讨论由E-R图转换成关系模式的一些转换问题。

1)命名与属性域的处理

关系模式中的命名可以用E-R图中原有命名,也可另行命名,但是应尽量避免重名,RDBMS一般只支持有限种数据类型而E-R中的属性域则不受此限制,如出现有RDBMS不支持的数据类型时则要进行类型转换。

2)非原子属性处理

E-R图中允许出现非原子属性,但在关系模式中不允许出现非原子属性,非原子属性主要有集合型和元组型。如出现此种情况时可以进行转换,其转换办法是集合属性纵向展开,而元组属性则横向展开。

例10.2 学生实体有学号、学生姓名及选读课程三个属性,其前两个为原子属性而后一个为非原子属性,因为一学生可选读若干课程,设有学生S1307,王承志,他修读Database、OS 及Network三门课,此时可将其纵向展开用关系表形式如表10.1所示。

表10.1 学生实体表

img231

例10.3 设有表示圆的实体,它有三个属性:圆标识符、圆心与半径,而圆心是由坐标X轴、Y轴的位置所组成的二元组表示,在此情况下可通过横向展开将三个属性转换成四个属性,即圆标识符、圆心X轴位置、圆心Y轴位置以及半径。

3)实体集的处理

原则上讲,一个实体集可用一个关系表示。

4)联系的转换

在一般情况下联系可用关系表示,但是在有些情况下联系可归并到相关联的实体的关系中。具体的说来即是对n∶m联系可用单独的关系表示,而对1∶1及1∶n联系可将其归并到相关联的实体的关系中。

(1)在1∶1联系中,该联系可以归并到相关联的实体的关系中,如图10.6所示。有实体集E1、E2及1∶1联系r,其中E1有主键k,属性a;E2有主键h,属性b;而联系r有属性s,此时,可以将r归并至E1处,而用关系表R1(k,a,h,s)表示,同时将E2用关系表R2(h,b)表示。

img232

图10.6 1∶1联系

(2)在1∶n联系中也可将联系归并至相关联为n处的实体的关系表中,如图10.7所示,有实体集E1、E2及1∶n联系r,其中E1有主码k,属性a;E2有主码h,属性b,而r有属性s,此时,可以将E1用关系R1(k,a)表示,而将E2及联系r用R2(h,b,k,s)表示。

img233

图10.7 1∶n联系

在将E-R图转换成关系表后,接下来是做规范化、性能调整等工作。

5)规范化

关系数据库规范化在数据库设计及数据库应用中有重要的作用,规范化理论从方法上对关系数据库给予严格的规范与界定,这是极端必要的。但是在实际应用中由于理论的抽象性使得具体操作较为复杂,为方便应用,在本节中给出常用范式的非形式化判别方法以供参考。

关系数据库的规范化即是关系模式中的属性间一般要满足一定的约束关系,否则会出现数据的异常现象,从而造成操作不能正确执行。为避免此种现象出现,一般对在数据库中的关系模式制订一些标准规范。目前常用有五种,凡满足此类规范的模式称范式,它们分别称第一范式、第二范式、第三范式、BC范式及第四范式。它们可分别简写为:1NF、2NF、3NF、BCNF 及4NF。

一般而言,一个关系模式至少需满足第三范式,因此第三范式成为鉴别关系模式是否合理的最基本条件,在本节中我们介绍判别第三范式的非形式化方法,这个方法称为“一事一地”(one fact one place)原则。即一件事放一张表而不同事则放不同表的原则。前面的学生数据库中学生(S)、课程(C)与修读(SC)是不相干的三件事,因此必须放在三张不同表中,这样所构成的模式必满足第三范式,而任何其中两张表的组合必不满足第三范式。

“一事一地”原则是判别关系模式满足3NF的有效方法,此种方法既非形式化又较为简单,因此在数据库设计中被经常使用。所唯一要注意的是,此种方法要求对所关注的数据体的语义要清楚了解,具体地说即要对数据体中的不同“事”能严格区分,这样才能将其放入不同“表”中。

6)RDBMS性能调整

满足RDBMS的性能、存储空间等要求的调整以及适应RDBMS限制条件的修改,包括如下内容:

(1)调整性能以减少连接运算。

(2)调整关系表大小,使每个关系表数量保持在合理水平,从而可以提高存取效率。

(3)尽量采用快照(snapshot),因在应用中经常仅需某固定时刻的值,此时可用快照将某时刻值固定成快照,并定期更换,此种方式可以显著提高查询速度。

7)约束条件设置

经调整后最后所生成的表尚需对其设置一定约束条件,包括表内属性及属性间的约束条件及表间属性的约束条件。这些约束条件可以是完整性约束、安全性约束,它也可以包括数据类型约束及数据量的约束等,此外,还要重新设置每个表的候选键、主键及外键。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈