APP下载

数据库规范化理论教学探讨与实践

2014-11-30赵营颖

中国校外教育 2014年18期
关键词:院系规范化数据库

◆王 哲 赵营颖

(河南中医学院信息技术学院)

对于数据库课程的学习,除了掌握应用型技术外,还应加强其基础理论的学习,如关系模型、关系运算理论、关系数据库语言SQL、数据库的规范化理论、数据库设计及数据库实现等知识点。数据库设计的好坏直接影响着实际的应用,数据库的规范化理论正是用来指导应用系统中数据模式的构建,即数据库逻辑结构的问题;对于初步的关系模式,可能存在这样或那样的问题(如数据冗余、插入异常、删除异常等),需要利用数据库规范化理论进行规范化,以逐步消除存在的问题,从而得到一定规范程度的关系模式。然而对于在目前的教材中及课堂讲授中,对这部分内容的介绍更多的停留在理论部分的讲述,大部分学生并没有真正的理解掌握并应用到数据库实践操作中。因此,如何有效学习数据库规范化理论知识,并将其应用到数据库技术实践体系中,构建科学的教学模式,是当前数据库课程教学改革的重要任务。

一、数据库规范化理论

关系数据库规范化理论的目标是得到一组满足用户需求的关系模式,旨在设计出一个“好”的关系模式,这里的“好”指的是数据拥有较少的数据冗余度和操作异常,以便我们对数据进行高效的管理。

例如,需要建立一个描述学校教务的数据库,有学生表student的属性集合 U={Sno,Sname,Sdept,Mname,Cname,Grade},其中 Sno 表示学号、Sname表示学生姓名、Sdept表示所在系、Mname表示系主任姓名、Cno表示课程号、Grade表示成绩;现实世界已知事实的语义:一个院系有若干学生,一名学生只属于一个院系;一个院系只有一名系主任;一名学生可以选修多门课程,每门课程有多名学生选修;每个学生所学的每门课程都有一个成绩。如何判断student是不是一个“好”的关系模式呢?经分析,关系模式student有如下问题:

1.数据冗余

如果一个院系有1000名学生,而且每名学生大约选修了20门课程,则院系名称和系主任姓名就要重复出现20000次,造成了巨大的数据冗余。

2.插入异常

如果一个院系刚成立,暂无招生,或者虽然有学生但尚未安排课程,按照实体完整性的原则,就无法把这个院系及系主任的信息录入到数据库。

3.删除异常

如果某院系的学生全部毕业且无新生的情况下,我们在删除该院系学生信息的同时,把这个院系及其系主任的信息也一并删除了。

4.更新异常

如果某系更换系主任或更换院系名称后,系统必须修改与该院系相关的每一条记录;若有一条记录中的数据未实时更新,就会造成数据不一致现象。因此,student不是一个“好”的关系模式。事实上,数据冗余和操作异常现象产生的根源,就是由于关系模式中属性间存在着复杂的依赖关系,这种依赖都称为数据依赖。对于关系模式student={Sno,Sname,Sdept,Mname,Cname,Grade},其属性关系如图1所示,由图1可看出,关系模式student中存在一定的数据依赖,如学生学号和学生姓名、学生学号和院系名称、院系名称和系主任之间都存在着依赖关系。

关系规范化理论正是用来改造关系模式,对于“不好”的关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题;对于关系模式student,依据规范化理论的指导原则,若消除数据冗余、异常等问题,可将关系模式Student分解为三个关系模式:S(Sno,Sname,Sdept)、SC(Sno,Cname,Grade)、Dept(Sdept,Mname),可基本解决以上问题。

二、确定理论教学的关键点

数据库规范化理论中,通常是通过一个关系模式是否属于某一范式(Normal Forms,简记为NF)来确定其是否解决了数据冗余、操作异常等问题,是否为一个“好”的模式。范式的种类与数据依赖有着直接的联系,主要有1NF、2NF、3NF、BCNF等多种。一个低一级范式的关系模式,通过模式分解(投影运算)可以转化为若干个高一级范式的关系模式的集合,这个过程叫做规范化,关系模式规范化的基本步骤如图2所示。

由图2可知,在范式的判断中,主要是对模式中主属性、非主属性、部分函数依赖、完全函数依赖、传递函数依赖、多值依赖的判别。关系模式中,属于候选键的属性称之为主属性,反之则为非主属性,则候选键则成为主属性和非主属性的判断标准,故候选键的判定是规范化理论的基石知识点。

数据库定义中,如果关系模式中某一个属性或属性组能够唯一决定关系中其他所有属性的值,而且其真子集无此性质,则称这个属性或属性组称为该关系模式的候选键。在很多教学中,很多教师忽略了候选键判定的重要性,再加上时间关系,直接省略掉候选键的规范化计算,故造成很多学生在应用中判别不清,跟着感觉走的现象严重。

在关系数据库理论中,关系模式中属性集的闭包可判断属性是否为候选键。故在设计数据库时,需要找出不同属性间的函数依赖,根据这些依赖关系,计算出关系模式中各属性集的闭包,进而确定该关系模式的候选键。例如关系模式 STC(SNO,SN,SA,TN,CN,G),F={SNO→SN,SNO→SA,(SNO,CN)→G},经过属性集闭包的计算,得出STC的候选码为(SNO,CN,TN),该计算结果准确科学,而不是某人看出来的或者感觉出来的。

三、结束语

数据库规范化理论可有效的消除数据依赖引起的冗余、异常,在数据库设计中起着重要的作用,针对于教材中出现的大量定义和概念类的知识点,我们不能照本宣科地介绍知识点,而应积极探索教学新方法,明确教学目标,变学生被动学习为主动学习,让学生带着兴趣进入课程的学习,使理论知识学习和实践操作的结合落到实处,真正提高课程的教学质量。

[1]王哲,姜姗.《数据库原理》课程教学改革探讨与实践[J].中国校外教育,2013,(11):166 -167.

[2]王艳,沈晓晶,赵慧娟.计算机专业数据库原理教学体系及教学模式探讨[J].计算机教育,2012,(2):54 -57.

[3]王珊,萨师煊.数据库系统概论(第4版)[M].北京:高等教育出版社,2006.

猜你喜欢

院系规范化数据库
浅谈SQL Server中Select语句的分组统计功能
价格认定的规范化之路
数据库
数据库
清华院系手机背景图
数据库
数据库
关于高等院校院系党政关系的思考
突出音乐本体 注重和声实践——高师音乐院系和声教学的思考
狂犬病Ⅲ级暴露规范化预防处置实践