关系数据库范式理论的实例教学法探讨

2016-10-11 08:27余艳邢远秀刘燕丽
高师理科学刊 2016年2期
关键词:实例范式费用

余艳[1],邢远秀,刘燕丽



关系数据库范式理论的实例教学法探讨

余艳[1],邢远秀,刘燕丽

(武汉科技大学 理学院,湖北 武汉 430065)

关系数据库规范化理论是本科数据库课程的重要内容之一.为提升教学质量,以范式理论的教学问题为例,探讨了实例教学的重要性和具体实施方法.在教学环节中精心设计了4个教学实例,阐明了范式理论的意义,辅助了范式理论的讲解,并引导学生积极参与到对理论知识的理解中.实践证明教学效果良好.

关系数据库;规范化理论;范式;实例教学

数据库系统概论是信息类本科专业的必修课程,课程内容涵盖丰富,理论知识和应用技术相互交融,主要包括:数据模型、关系代数、SQL语言、关系数据理论、数据库设计和编程以及数据库管理系统的事务处理技术[1].根据以往的教学经验来看,学生对可以直接上机实践的应用技术,如SQL的学习兴趣盎然,且能够轻松掌握,但是对理论知识的学习却有抵触情绪.

1 规范化理论实例教学的必要性

关系数据库规范化理论是数据库教学中的重点和难点[2-3],对该知识的掌握程度直接决定了学生在实践工作中能否根据应用需求设计出好的数据库模式.出于对知识严谨阐述的原因,教材对规范化理论的讲解往往使用了大量抽象符号和术语,但这种讲解模式容易击退学生初始的学习热情.且随着课程的不断深入,大量的概念和规则容易使学生产生枯燥无趣的感觉[4].在教学过程中设法调动学生自身的学习主动性和积极性,启迪学生思维尤为重要.

实例教学法是指在授课教师指导下,根据课程教学目标和内容的需要,通过典型实例的分析和讲解完成教学,这一教学方法在许多学科的教学工作中取得了良好的效果[5-9].范式理论是关系数据库规范化理论的重要组成部分,本文围绕该问题探讨实例教学的具体实施方法.在课堂教学环节中,围绕4个简洁明了并具备实际意义的教学实例,通过讨论式的教学方法阐明范式理论的含义,激发学生的学习兴趣,增强学生运用基本理论解决实际问题的思维意识[10],进而有助于学生将相关知识灵活应用到数据库设计的实践活动中去.

2 范式理论的实例教学法

2.1 1NF的实例教学

关系模式属于1NF的条件是每一个分量必须是不可分的数据项[11].在课堂教学中除了概念的陈述,更需要向学生强调:只有满足1NF,关系模式才是合法的,才可以建立在关系数据库中,它是对关系模式最基本的要求.在实际的数据库设计工作中,经常要对收集到的报表进行信息采集,此时常会遇到大表套小表的情形(见表1),属性列“应发工资”和“扣除项”均又分为3个数据项,故不满足1NF的要求,这样的表无法存入数据库.要使其满足1NF,则应将“应发工资”和“扣除项”分别拆分为3个属性列.同时,可引导学生分析属性列“实发工资”的冗余特性,及其带来的问题.

表1 大表套小表的工资报表实例

值得进一步思考的是,满足1NF的关系模式是否就是好的关系模式,以及衡量关系模式设计好坏的标准又是什么;在数据库设计的工作中,初学者倾向于将收集到的报表中的所有字段汇集到一个关系模式中,这样做是否正确.为回答这些问题,给出实例:学校开展了一系列的兴趣活动,为协助活动的宣传、便于活动管理,预备开发一个小型系统可以发布活动的费用信息、查询和管理学生参与活动的信息.简单需求分析发现,学生需缴纳一定的费用参加某项活动,且每个学生可以参加多项活动,因此有学生设计了关系模式activities(sid,activity,fee),其对应的关系实例见表2.其中属性sid表示学生的学号,activity表示活动,fee表示参与活动所需的费用.

表2 关系实例activities

该关系模式每个分量都不可分,故满足1NF.

首先,提醒学生分析出该关系模式的码和非主属性.然后,带领学生认识不合理的模式设计可能带来的问题:

(1)每项活动所需的费用只对应一条信息,但在此表中却重复存储多次,重复次数等同于参与该活动的人数,此种问题称为数据冗余;

(2)当开设了新的活动,需要发布该活动的费用信息,但由于初始时刻还没有学生参加,而(sid,activity)是该关系模式的码,根据实体完整性约束,元组的主属性不能为空,导致新的活动及其费用信息无法插入该表,即该插入的信息不能插入,此种问题称为插入异常;

(3)假设参与某活动的学生都退出,删除这些学生参与活动的信息同时,该项活动的费用信息也一并删除了,即不该删除的信息也被删除了,此问题称为删除异常;

(4)当某项活动的费用发生变化,由于活动费用信息重复存储多次,则修改费用的操作也需要重复多次执行,此种问题称为修改异常.若有漏改,则将导致同一活动对应多种费用,即产生数据不一致的问题.

提示学生,当关系模式中存在一些不合适的函数依赖,如存在非主属性或主属性对码的部分或传递依赖则会导致上述问题的发生.引导学生分析activities中非主属性和码之间的依赖关系.由于非主属性fee是由活动决定的,和参与活动的学生无关,因此该关系模式存在非主属性fee对码(sid,activity)的部分依赖.为解决上述问题,可以将activiteis分解为2个关系模式SA(sid,activity)和AF(activity,fee),从而消除这种不合适的函数依赖.根据上述发现,研究者们力求对关系模式提出更高的要求,从而引出2NF的定义.

2.2 2NF的实例教学

接下来引导学生进一步思考,满足2NF的关系模式是否就一定是好的关系模式.考虑关系模式housing(sid,building,fee),其对应的关系实例见表3.该关系存储了学生的住宿信息,通过该关系可以查询到学生住在哪个宿舍大楼及其支付的费用.其中sid表示学号,building表示宿舍大楼,fee表示宿舍大楼的收费标准.

首先,提醒学生分析该关系的码、主属性和非主属性,以及该关系模式的范式级别.由于housing的码是单属性sid,不可能存在非主属性对码的部分依赖,故housing2NF.其次,带领学生使用上一节提到的方法来验证housing是否.通过简单分析就会发现,每栋宿舍大楼都有固定的费用,但该费用信息重复存储多次,故该关系存在数据冗余的问题;若某栋大楼新建完毕,学生还未入住,由于sid是码不能为空,则导致该大楼的费用信息无法存入该关系模式,故存在插入异常;若某栋大楼的学生均离校,由于sid不能为空,则一并删除大楼及费用信息,故存在删除异常;若某栋大楼的费用发生变化,则需修改多次,故存在修改异常.

最后,分析导致这些问题的原因,该关系模式存在非主属性fee对码sid传递依赖.据此发现,研究者们又力求对关系模式提出更高的要求,从而解决上述异常问题.由此,得到3NF的定义.

2.3 3NF的实例教学

同上一节的教学模式,引导学生思考满足3NF的关系模式是否就是好的关系模式.考虑关系adviser(sid,major,tname),表示学生选择喜爱的专业进行研究,并受该专业下某教师指导;一个学生可选多个专业,术业有专攻,每位教师只负责一个专业,每个专业有多名教师.其对应的关系实例见表4.

表4 关系实例adviser

首先,提醒学生分析该关系模式的码,得知为(sid,major)和(sid,tname).发现此关系模式不存在非主属性,故其不存在非主属性对码的部分依赖和传递依赖,因此adviser3NF.然后,验证adviser是否完美.分析后发现,新分配的教师由于还没有学生跟随其学习,由于主属性sid不能为空,所以该教师的信息无法存入该关系,故存在插入异常;如果某位教师唯一的学生毕业,则该教师的信息也一并删除,故存在删除异常;最后,分析导致这些问题的原因,该关系模式存在主属性major对码(sid,tname)的部分依赖.因此,研究者们对关系模式提出更高的要求,从而解决上述异常问题.由此,得到BCNF的定义.

2.4 BCNF及范式理论小结

当关系模式达到BCNF,那么在函数依赖范畴内,就实现了彻底的分离,消除了所有的插入和删除异常.规范化的主要思想是使数据库中各关系模式达到某种程度的分离,让一个关系描述一个概念、一个实体或一种联系,因此规范化的实质是概念的单一化.由前述讨论可知,范式级别越高,关系的分离程度就越强.如果多表连接操作非常频繁,则希望用降低范式级别的代价来换取系统的执行效率.由于3NF已经消除了大部分的异常,因此在实际应用中出于折衷考虑,一般要求关系达到3NF就可以了.同时,3NF也是商业数据库设计中最普遍的标准.

3 结论

在数据库范式理论的课堂教学中,通过对4个简单的关系实例展开分析和讨论,帮助学生认识到数据库模式设计的重要性,引导学生积极参与到对理论知识的理解过程中.按照本文方法实施课堂教学,学生普遍反应对范式理论的授课内容理解起来很轻松,同时在后续课程设计的实践环节中能够将知识灵活应用到数据库模式的设计中.实践教学证明,本文提出的授课方法取得了良好的教学效果.

[1] 李雁翎,李鹏谊.知识的内化:计算思维的培养与数据库教学[J].中国大学教学,2013(7):33-35

[2] 吕鸣,王萍,刘建斌.关系数据理论的教学实践探索[J].中国电力教育,2012(28):79-80

[3] 马金忠,田彦山.数据库原理课程教学中几个重难点问题的多解探讨[J].高师理科学刊,2011,31(4):90-94

[4] 范红,吴怡之.“C语言程序设计”趣味实例教学方法的探讨[J].计算机教育,2009(10):58-59

[5] 朱术云, 李小琴, 朴春德,等.实例教学法在“岩土工程数值分析”课程中的应用探讨[J].中国地质教育,2015(96): 111-113

[6] 张建勤,刘小林,王昕,等.实例分析教学法在《动物育种学》课程教学改革中的探索[J].家畜生态学报,2015(3): 94-96

[7] 杜雪莲.高职计算机课程“实例式”教学模式的探索[J].中国成人教育,2013(15):175-176

[8] 马玉真,宋方臻,邵海燕.建模仿真实例教学在研究生创新教育中的应用[J].实验技术与管理,2012(6):86-89

[9] 唐晓明.“基因突变”课堂教学实例的选择和呈现[J].生物学通报,2011(1):37-39

[10] 张中月,张志东,吴加贵,等.研究性实例在光学教学中的应用[J].西南师范大学学报:自然科学版,2012(5):173-176

[11] 王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2014


Discussion on the example teaching method of the theory of normal form for relational database

YU Yan,XING Yuan-xiu,LIU Yan-li

(School of Science,Wuhan University of Science and Technology,Wuhan 430065,China)

The normalization theory of relational database is one of the important contents of undergraduate database courses. To improve the quality of teaching,the normal form theory is taken as an example to discuss the significance and the specific methods of the example teaching. By four teaching examples well-designed in the class,the meaning of normal form is illuminated,the theory of normal form is explained,and the students are led to take active parts in understanding the theoretical knowledge. Practice has proved that the good teaching effects are obtained by our teaching method.

relational database;normalization theory;normal form;example teaching

1007-9831(2016)02-0066-04

TP311.13∶G642.0

A

10.3969/j.issn.1007-9831.2016.02.019

2016-01-03

武汉科技大学教学研究项目(2012X51);武汉科技大学研究生教学研究项目(2014JY33);湖北省自然科学基金项目(2015CFB602)

余艳(1980-),女,湖北襄阳人,副教授,硕士,从事计算机视觉和机器学习的研究.E-mail:yuyan_wust@163.com

猜你喜欢
实例范式费用
以写促读:构建群文阅读教学范式
范式空白:《莫失莫忘》的否定之维
孙惠芬乡土写作批评的六个范式
关于发票显示额外费用的分歧
管窥西方“诗辩”发展史的四次范式转换
监理费用支付与项目管理
医疗费用 一匹脱缰的马
医疗费用增长赶超GDP之忧
完形填空Ⅱ
完形填空Ⅰ