林健
(中山市三乡镇理工学校,广东 中山 528463)
文章对教材中的一些例题进行了分析,由于教材中使用的数据库系统与实际使用有一定的差距,因此这些例题不能在一些数据库中实现,导致了学生上机测试的困难。本文以SQLServer2000为数据库的实验平台,对那些不能实现的例题进行了相应的转化,给出了同一问题的多种实现方法,设计了针对SQL语言使用的辅助实验系统。为了进一步提高学生对SQL的实践能力,介绍了存储过程和自定义函数的使用。在进行SQL语言教学的过程中,这些方法和措施的实行,已经在数据库的综合实验和项目实践中都得到很好的体现。
例题是学生学习新概念、领会新知识的一种重要手段,它在整个教学过程中起着非常重要的作用。在教学中,如何根据使用环境的不同,对教材种的例题进行及时的调整显得尤为重要。在本文中,以SQLServer2000作为数据库的使用环境,下面通过一些例题来说明教材[1]中的实现方式与实际使用环境的差异性。
【例51】查询选修了课程1又选修课程2的学生。
教材上给出了如下的表达:

而这种表达方式在SQLServer2000中是无法实现的。在三种集合操作中,只有并操作Union可以以这种方式使用,而交操作Intersect和差操作Except必须通过转化才能在SQLServer2000中使用。Intersect和Except关键字在SQLServer2000中是两个函数,分别表示两个集合的交运算和差运算。下面给出【例51】对应的正确代码:

同样【例52】的代码也必须进行转化。
【例39】查询与"刘晨"在同一个系学习的学生。……