数据库关系模式规范化分析

时间:2022-05-05 06:54:21

数据库关系模式规范化分析

摘要:在数据库中关系模式设计得好与坏,直接影响到数据冗余度等问题,要设计好的数据库模式,就必须有一定的关系模式理论基础,将关系模式规范化,减少数据的冗余和数据一致性、完整性等问题。

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

中图法分类号:TP311文献标识码:A 文章编号:1009-3044(2007)03-10617-01

1 引言

在数据库中,数据冗余、数据不一致等问题会引起各种数据操作异常,为了尽可能的避免此类问题,能过模式规范化将关系模式分解为若干比较小的关系模式以消除冗余等现象。

2 关系模式

关系模式级别有1NF、2NF、3NF、BCNF等多种,1NF是关系模式的基础,关系模式中每个属性值都不可再分就为1NF,称不上1NF的关系模式,就不能算是关系模式,1NF是关系模式应具备的最起码的条件。

例如:库存(仓库号,设备号,数量,地点)每个属性均不可再分,所以该关系模式首先就是1NF级别的。

1NF关系模式很可能具有不受欢迎的冗余和异常现象,我们现在需要把关系模式做进一步规范化,对它进行分解让它达到2NF。2NF就是在1NF的基础上消除非主属性对键的局函数信赖,那么我们分析上例,库存(仓库号,设备号,数量,地点)为1NF,但非2NF。

非主属性“数量”完全依赖于关键字。非主属性“地点”局部依赖于关键字。即有仓库号地点。(仓库号,设备号)地点。那么将它分解为2NF的方法,将局部函数依赖关系的决定方和非主属性从关系模式中提出,单独构成一个关系模式,再将余下属性加上码构成另一关系模式。

那么我们按此方法最后将库存(仓库号,设备号,数量,地点)分解为:

库存(仓库号,设备号,数量)仓库(仓库号,地点)。现在分解出来的关系模式就不会出现数据插入、数据操作等异常了。

3NF是在2NF的基础上消除了所有非主属性对键的传递依赖,如关系模式:仓库(仓库号,所在省,仓库面积,所在城市)是2NF而非3NF,因为仓库号所在城市,所在城市所在省,所以仓库号所在省,不是3NF,其中会出现数据插入异常的问题。假如在广东深圳要设一个仓库,想先存入有关所在城市信息,但还暂时无仓库号,现在则不能插入数据。

为避免此类问题需将它分解为3NF,分解方法就是将传递依赖的属性分解出来。例关系模式:仓库(仓库号,所在省,仓库面积,所在城市)就可分解为仓库(仓库号,仓库面积,所在城市) 城市(省,城市),那么就不会再出现数据插入异常现象了。

虽然3NF在数据库设计中常常出现但有的情况下3NF也存在操作异常,我们就需要对它进行一步分解为更高范式BCNF。BCNF是在3NF的基础上消除了主属性对非主属性的函数依赖。如学生(学号,姓名,专业,宿舍)假定无重名,则码为学号或姓名,非主属性对这两个码不存在部分函数依赖和传递函数依赖,所以是3NF。而同时除{学号}和{姓名}以外没有其他决定因素,所以也是BCNF。

范式是衡量模式优劣的标准,范式表达了模式中数据依赖之间应满足的联系。关系模式在分解时应保持“等价”,数据等价和语义等价两种,分别用无损分解和保持依赖两个特征来衡量。

3 结束语

关系模式的规范化过程是一个分解的过程,把逻辑上独立的信息放在独立的关系模式中,是解决数据冗余的主要方法,也是规范化的原则。

参考文献:

[1]龚小勇.关系数据库与SQL Server2000[M].机械工业出版社,2004.

[2]张世伟.数据库高手[M].中国电力出版社,2003.

[3]沈祥玖.数据库基础[M].高等教育出版社, 2003.

本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

上一篇:基于EPR纠缠对的量子加密技术研究 下一篇:范例推理在智能决策系统中的应用研究