APP下载

浅谈SQL Server 2000教学中的体会

2009-03-31李爱军

中国校外教育(下旬) 2009年1期
关键词:子句触发器前台

李爱军

(天津滨海职业学院,天津 300450)

摘 要:本文主要从数据完整性、通过触发器在后台控制主表和子表间的数据同步更新、SQL语句的语法规则、查询语句的细化、程序的严密性等五个方面,阐述在SQL Server 2000教学中突破瓶颈问题,以提高教学效果。

关键词:SQL Server 2000数据 触发器

《数据库原理与应用》是计算机专业的一门重要的职业核心技能课。目前,高校普通使用的是SQL Server 2000数据库类教材,SQL Server 2000可实现网络环境下的数据处理和信息管理。目前,SQL Server 2000已成为数据仓库、电子商务应用程序及网站设计的优秀数据库平台,显然,在高校的计算机专业开设SQL Server 2000是十分重要和必要的。

通过在教学中的探索,笔者体会到SQL Server 2000中有以下几个难点和重点问题,对于这些问题的正确理解是掌握该课程的关键。

一、数据的完整性

数据完整性是指存储在数据库中数据的一致性和正确性,包括实体完整性、域完整性、引用完整性及用户定义完整性。数据规划的不完整是导致前台操作和后台数据出现漏洞的主要原因。

在教学中,笔者尽量通过与学生贴近的易于理解的实例说明数据完整性的重要性。比如,使用的样例数据库系统是学籍管理系统。在该系统中有多个与学生信息相关的数据库表,其中,一个名称为“学生”的表中含有学号、姓名、政治面貌等多个字段,而每个学生只有“学号”字段的值完全不可能出现重复值,故将“学号”字段设置为关键字,这样可以确保实体完整性;而另一个名称为“成绩”的表中含有学号、课程代号、平时成绩、期末成绩等多个字段,设定平时成绩、期末成绩两字段的取值范围为0至100,以确保成绩值合理来规约域完整性……这样,由简至难引入通过数据类型、索引、各种约束、触发器等来规约数据的完整性。

二、通过触发器在后台控制主表和子表间的数据同步更新

触发器是一种特殊类型的存储过程,当有操作影响到触发器保护的数据时,触发器会自动发生。通过触发器可以在后台很好地控制相关表间数据的同步更新(包括添加、删除、修改等操作)。但学生往往不能正确理解触发器的设计规则及实现原理,致使在表间数据同步问题上不会巧妙地利用触发器。

笔者采用三种方法解决了触发器对大部分同学的困扰:一是将创建触发器的语法格式分解成多个“子句”,通过逐层消化让学生理解触发器;二是引入inserted和deleted这两个特殊的临时表,通过讲授这两个表的生成时机、内容来源来说明当用户对数据表做添加、删除、修改等更新操作时数据的原型在inserted或deleted表存有临时副本,利用inserted或deleted表的数据原型副本作条件即可同步更新相关子表的数据;三是通过各种触发器应用实例让学生从感性上理解触发器的作用,从而达到正确使用触发器的目的。

三、繁杂的语法规则

T-SQL语法规则繁杂,每个语句有众多子句,而随着课程进度的发展,要掌握的语法规则越来越多,很多学生往往知难而退了,这正是初学者学习SQL Server 2000的瓶颈问题之一。在讲课过程中笔者采用求共性、记重点、逐层消化的方法简化了该问题。

求共性是指随着讲课的深入,把不同语句中共性的关键字或子句及时的给学生总结并指点出来,让学生在前面知识的基础上记忆后面的内容,强化记忆规则,减少记忆量。

记重点是指在掌握新内容的初始阶段只要求学生记忆并掌握语句的重点子句,其它子句允许学生查阅相关资料或联机帮助,减少学生的课业负担,提高学生的学习兴趣。

逐层消化是在求共性、记重点的基础上完成的。包括两方面的含义:一是指教师在讲授内容上要逐个子句的细化重点内容;二是指大部分学生要逐渐脱离相关资料和联机帮助,消化所学知识。

四、T-SQL中查询语句的细化

检索或称查询数据是数据库系统中的一个重要内容,同时,查询语句也是前台应用程序连接后台数据的一个简洁的常用工具,在数据源中正确使用查询语句的不同形式,可以巧妙地简化前台的很多操作。为了使学生牢固掌握查询语句,笔者采用层层细化的方法分别介绍查询语句中的SELECT子句、COMPUTE BY子句等内容,并结合由简至难的实例加深了学生对这部分内容的理解,为实验教学中灵活使用后台数据奠定了基础。

五、程序的严密性

计算机专业的学生在学习SQL Server 2000之前已学习过多种高级语言,编程并不存在太大问题,但程序的严密性往往很差,包括教材中样例程序也大多存在着漏洞。

在教学中,笔者从以前学生设计的程序入手,先找漏洞,让学生实际感受到程序设计中存在的问题,然后以模块的方式规范学生的编程风格。比如,在前台的添加数据模块中,要求学生在程序中必须依次考虑:各数据列是否允许为空、数据的类型或格式是否正确、是否关键字列或列集、是否需要手动写入后台数据库表。把这四部分通过前台对象的事件过程依次完成,然后调试运行,通过查看后台数据库表的同步变化,体会如何通过前台规约后台数据的完整性。通过这种方式,学生提高了分析问题、完善解决问题的能力。

经教学实践证明,这种重点突破瓶颈问题的教学方式是行之有效的,大部分同学都对后台数据规划及前台程序有了一定的认识,并且,几乎每个教学班都会有几名学生在教师的指导下设计出优秀的小型数据库信息系统,明显提高了教学效果。

猜你喜欢

子句触发器前台
命题逻辑中一类扩展子句消去方法
命题逻辑可满足性问题求解器的新型预处理子句消去方法
公路电助力 从幕后走向前台
孟晚舟:从前台打杂到华为副总裁
西夏语的副词子句
主从JK触发器逻辑功能分析
使用触发器,强化安全性
前台、后台精彩花絮停不了
网站前台设计分包合同中应注意的问题
命题逻辑的子句集中文字的分类