关系规范化理论在数据库设计中的重要性

时间:2022-09-04 07:40:33

关系规范化理论在数据库设计中的重要性

摘要:关系规范化理论是关系数据库开发与设计的重要部分。关系数据库的设计主要取决于关系模式的设计,关系模式设计的好坏直接影响到数据库设计的成败,而关系规范化理论则是指导关系模式设计的标准。该文通过实例探讨关系规范化理论用于关系数据库设计的方法以及关系数据库规范化的原则。

关键词:关系;关系模式;数据库设计;规范化

中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)24-6616-02

The Theory of Standardization and it is Importance to Database Design

TIAN Jin-hua,YANG Zhi-qiang

(Huanghuai University,Zhumadian 463000, China)

Abstract: The relational standardization theory is the relational database development and the design important part. Relational database's design is mainly decided by the relational scheme design, the relational scheme design quality immediate influence to the database design success or failure. The relationship between the standardization of the theory is to guide the design of the standard model.. This article introduces the relational standardization theoretical design through the example the method, and should the matters needing attention.

Key words: relationship; relation mode; ratabase design; standardization

1 关系数据库规范化理论

关系数据库是以关系模型为基础的数据库,它利用关系描述现实世界。一个关系即可用来描述一个实体及其属性,也可用来描述实体间的一种联系。关系模式是用来定义关系的,一个关系数据库包含一组关系,定义这组关系的关系模式的全体就构成了该数据库的模式。关系数据库规范化理论是用来研究如何将一个“设计不合理”的关系模型转化为一个“好”的关系模式,其基本思想是通过合理的分解关系模式来消除其中不合适的数据依赖,以解决数据冗余、插入异常、删除异常以及更新复杂等问题。

关系数据库规范化理论认为,一个关系数据库中的每一个关系都必须满足一定的约束条件,称为范式。由于规范化程度不同,从而产生了不同的范式。一个较低范式的关系,可以通过关系的无损分解转换为若干个较高级范式关系的集合,这一过程就叫做关系规范化。从理论上讲范式级别越高,规范化的程度就越高,关系模式就越好,但在实际应用中要具体问题具体分析,通常对于一般数据库应用系统而言,只要将关系规范到第三范式的标准就可以满足用户需求。既已达到不必存储不必要的重复信息,又可以方便地获取信息的目的。

2关系模式规范化的必要性

关系数据库的设计主要是关系模式的设计。关系模式设计的好坏将直接影响到数据库设计的成败。将关系模式规范化,使之达到较高的范式是设计好关系模式的唯一途径。否则,所设计的关系数据库会产生一系列的问题。下面结合自己在平时教学中,学生常遇到的关系规范化问题展开探讨。我们结合一个实例来分析数据库模式设计的好与坏。例如有一个教学管理数据库,包括的信息有学生的学号、姓名、性别、系别、系主任、课程号和选修课程的学生成绩,以及一个教师只能带一门课,一个学生选修一门课就对应一个教师。若将此信息按要求设计为一个关系模式,则该关系模式为:学生(学号、姓名、性别、系别、系主任、课程号、任课教师、成绩)。此关系模式的主码应为(学号、课程号),从关系模式上看,该关系模式已经包括需要的全部信息,如果按此关系模式建立关系,并对其进行深入分析,就会发现其中的问题所在。

1) 数据冗余度大:每一个“系别”和“系主任”信息存储的次数等于该系的学生人数乘以每个学生选修的课程门数。

2) 插入异常:一个新系没有招生时,“系别”和“系主任”信息就无法插入到数据库中。因为,主码为(学号、课程号),此时没有学生而使学号为空。

3) 删除异常:当一个系的学生都毕业了而又没招新生时,删除了全部学生记录时,随之也删除了“系别”和“系主任”等信息。这个系依然存在,而在数据库中却无法找到该系信息。从上面的分析可知,学生关系不是一个合理的数据库模式。一个合理的模式应当避免发生上述异常问题。规范化理论认为,关系中的各属性是相互关联的,他们互相依赖、互相制约,构成一个结构严谨的整体。因此,在关系设计中,必须从语义中摸清这些关联,特别是依赖关系,只能把那些相互关联密切的属性拼凑在一起。构造一个“好”的数据库模式,必须使它的关系模式的属性之间满足某种内在的语义条件,而这种联系又可对关系的不同要求分为若干等级,这就是关系规范化。

3 关系数据库的规范化

一般而言,我们通过一个关系模式是否属于某一范式来确定其在多大程度上解决了数据冗余度大、插入异常、删除异常及更新复杂等问题,下面我们结合范式的几种定义来探讨数据库的规范化。

3.1 第一范式(1NF)

如果一个关系模式R的所有属性都是原子的,也就是其属性域中的元素是不可再分的单元,则称其属于1NF的关系模式。显然,此学生关系模式中不存在可分的数据项,即满足了第一范式的要求。但是,满足1NF并不能保证它就是一个好的关系,其原因就是1NF不够规范,即限制太少,造成表中存放的信息太杂,学生关系模式中的依赖关系为

学生关系模式由于存在以上函数依赖关系,所以它才出现上述异常问题。对它改进的方法是消除同时存在于学生关系模式中属性间不同的依赖情况,也就是使一个关系尽可能地只描述一个实体或联系。因此,应考虑高一级范式的关系模式。

3.2 第二范式(2NF)

如果关系模式R(U,F)属于1NF并且R中每个非主属性都完全函数依赖于关系的码,则R(U,F)属于2NF。

将1NF转化为2NF,其实质是采用投影分解法,将一个1NF的关系无损分解为几个2NF的关系。分解方式为:将部分函数依赖((学号,课程号)姓名,性别,系别)单独提取出来,把学生关系模式分解为学生信息和学生成绩两个关系模式,分别表示为

学生信息(学号、姓名、性别、系别、系主任)

学生成绩(学号、课程号、任课教师、成绩)

此时,两个分解后的关系模式均属于2NF,再对学生信息模式分析,发现其中仍然存在以下问题:

1) 数据冗余度大:系主任信息会重复存储多次。

2) 修改麻烦:若某个系更换了系主任,则必须重复修改相应系的每个学生对应的系主任的名字,若漏改一处则造成数据不一致。

上一篇:如何手工恢复分区表 下一篇:网络时代高校电视的生存与发展