《數据库开发技术》实验指导书(计本10)-唐军芳.docVIP

  • 32
  • 0
  • 约2.27万字
  • 约 23页
  • 2016-12-07 发布于重庆
  • 举报

《數据库开发技术》实验指导书(计本10)-唐军芳.doc

《數据库开发技术》实验指导书(计本10)-唐军芳

PAGE PAGE 7浙江树人大学信息科技学院《数据库开发技术》实验指导书适合专业:计算机科学与技术本科专业编写部门:电子商务教研室编写日期:2012.09 TOC \o 1-3 \h \z \u HYPERLINK \l _Toc335827647 实验一:T-SQL高级查询 PAGEREF _Toc335827647 \h 1 HYPERLINK \l _Toc335827648 实验二:数据完整性测试 PAGEREF _Toc335827648 \h 7 HYPERLINK \l _Toc335827649 实验三:T-SQL编程结构 PAGEREF _Toc335827649 \h 9 HYPERLINK \l _Toc335827650 实验四:游标和事务设计 PAGEREF _Toc335827650 \h 11 HYPERLINK \l _Toc335827651 实验五:SQL Server函数的使用 PAGEREF _Toc335827651 \h 14 HYPERLINK \l _Toc335827652 实验六:存储过程的创建和使用 PAGEREF _Toc335827652 \h 16 HYPERLINK \l _Toc335827653 实验七:触发器的创建 PAGEREF _Toc335827653 \h 18实验一:T-SQL高级查询实验目的通过实验使学生掌握T-SQL高级查询。本次实验让学生学会掌握多表查询的思想,使用UNION子句,以及熟悉统计函数的用法;让学生学会使用group by子句,compute和compute by子句,以及掌握较为复杂的嵌套查询的思想。原理解析多表查询在以前的课程中,所使用的查询局限于一张表格中,但在更多的情况下,需要对多张表格中的数据同时进行查询,这是可以把多张表格的名字全部填写在FROM子句中。在使用多表查询时需要注意的是如何避免笛卡尔积的出现。使用UNION子句如果有多个不同的查询结果数据集合,但又希望将他们连接在一起组成一组数据。这组数据是这多个结果集合的逻辑联合,在这种情况下,可以使用UNION子句。在UNION子句的使用中,有两条基本原则:1)、每一个结果集的数据类型都必须相同,更确切地说是兼容;2)、每一个结果集中列的数量都必须相等,排列顺序必须相互对应。使用统计函数为了有效的处理使用SQL查询得到的数据集合,SQL Server提供了一系列统计函数。这些函数把存储在数据库中的数据描述为一个整体而不是一行行孤立的记录。通过使用这些函数可以实现对数据集合汇总,求平均值等各种运算。使用group by 子句在大多数情况下使用统计函数,返回的是所有行数据的统计结果。如果需要按某一列数据的值进行分类,在分类的基础上再进行查询,就需要使用group by子句了。需要注意的是在group by子句中不支持对列分配的别名也不支持任何使用了统计函数的集合列。另外,Select后面每一列数据除了出现在统计函数中的列以外都必须在group by子句中应用。使用compute 和compute by子句使用compute子句,允许同时观察查询所得的各列数据的细节以及统计各列数据所产生的总和。通过使用compute子句既可以计算数据分类后的和,也可以计算所有数据的总和。需要注意的是,从返回的查询结果来看,compute子句和group by子句非常类似。但是两者之间存在着较大的区别,使用group by子句只能产生一个结果集合;使用compute可以返回多种结果集。使用嵌套查询在以前的实验中,我们所使用的查询都是单层查询,但在实际应用中经常要应用到嵌套查询。嵌套查询要求服务器在处理最终查询工作之前先生成一个结果,然后根据当前的查询结果再进一步继续下面的查询工作。但嵌套查询返回的结果作为查询条件等号右边的值存在时之允许嵌套查询返回一行结果,否则系统出错。实验内容查询每个学生的学号、姓名、邮政编码等基本信息及其所选课程的成绩情况;查询学生信息数据表中所有学生的学号、姓名、院系名称和院系编号;查询每门课程名称及该门课的任课教师的姓名、编号;在stud_info与stud_grade中按学号stud_id进行等值连接,以查询所有参加考试的基本信息和成绩;查询所学专业为“计算机控制技术”或年龄为21岁的所有学生的姓名;查询计算机工程系全体教师的平均工资;求计算机工程系教师的平均年龄;求计算机工程系教师的总人数。统计计算机工程系各个专业的学生的平均入学成绩;在学生成绩表中统计各门课程的人数;在教师信息表中,按职称分组统计“教授”或“副教授”的工资总额;按职称统计各个教研室的教师人数;对teacher_info中职称为“讲师”的教师工资生成汇总行和明细行;对teach

文档评论(0)

1亿VIP精品文档

相关文档