邢台学院教案2014~2015学年度第一学期课程名称MS-SQLServer数据库技术实验学时学分32学时(1学分)专业班级14计科接1授课教师李伟系部数信学院第1页本课程教学总体安排课程名称:MS-SQLServer数据库技术实验课程性质与类型:专业课,限选总学时、学分:32学时,1学分教学目的与要求:《MS-SQLServer数据库技术实验》与是《MS-SQLServer数据库技术》配套的实验课程,是计算机科学与技术专业数据库技术方向课程。本课程通过实验教学,进一步强化数据库与信息管理技术的概念、原理,练习大型数据库管理系统SQLServer2005的使用方法,包括SQLServer2005数据库的安装和配置;对数据库进行日常管理与维护;创建和管理数据库和数据库对象;对数据进行增、删、改和查询操作;数据库的安全性管理;数据库的备份与还原等实践内容。教材及参考书目:教材:《数据库应用技术SQLServer2005基础篇》张蒲生机械工业出版社参考书目:《数据库应用技术SQLServer2005提高篇》张蒲生机械工业出版社《数据库系统概论》王珊萨师煊高等教育出版社《SQLServer2000入门与提高》清华大学出版社《SQLServer2000数据库编程》张长富北京希望电子出版社考核方式及成绩计算方法:考核方式:考查总成绩=平时成绩*30%+期末成绩*70%第2页课程教学日历课程名称:MS-SQLServer数据库技术实验学期:2013-2014学年第一学期周次章节及教学内容累计学时21SQLServer2005安装与启动232数据库及其管理243数据表与表数据(1)253数据表与表数据(2)264数据查询275Transact—SQL语言基础(1)285Transact—SQL语言基础(2)296视图及其应用2107索引及其应用2118存储过程与触发器(1)2128存储过程与触发器(2)2139事务与游标(1)2149事务与游标(2)21510数据库的安全管理(1)21610数据库的安全管理(2)21711数据库的备份和还原2第3页实验一SQLServer2005安装与启动实验名称:SQLServer2005安装与启动实验时数:2学时授课类型:实验课教学方法与手段:指导目的要求:了解SQLServer2005系统的版本特点,学会SQLServer2005系统的安装、服务器注册与配置,以及安装后的验证。学会使用SQLServerManagementStudio。实验内容:1.安装SQLServer2005标准版。2.安装结束后验证。3.注册服务器。4.配置服务器选项。5.使用SQLServer配置管理器。6.阅读SQLServer2005教程。7.熟悉对象资源管理器。实验二数据库及其管理实验名称:数据库及其管理实验时数:2学时授课类型:实验课教学方法与手段:指导目的要求:了解系统数据库的作用,学会使用对象资源管理器创建用户数据库,学会使用SQL编辑器创建用户数据库,学会压缩和扩充数据库,学会查看和修改数据库选项,学会给数据库改名和删除数据库。实验内容:1.分别使用对象资源管理器、SQL编辑器和模板资源管理器创建一盒数据库。数据库名称为student,主据库文件的逻辑名字为student_data,操作系统文件的名称为d:/mssql/data/student_mdf。大小为20MB,最大为50MB,以25%的速度增上。数据库日志的文件名为student_log,操作系统文件的名称为d:/mssql/data/student_ldf,大小为3MB,最大为10MB,以1MB的速度增长。2.分别使用对象资源管理器、SQL编辑器将数据库student的初始分配空间扩充到40MB。3.分别使用对象资源管理器、SQL编辑器将student数据库的空间压缩至最小容量。第4页4.分别使用对象资源管理器、SQL编辑器将student数据库重新设置为只读状态。5.分别使用对象资源管理器、SQL编辑器将student数据库改名为scholastic。6.分别使用对象资源管理器、SQL编辑器删除scholastic数据库。7.采用分别使用对象资源管理器,系统存储过程分离和附加数据库实验三数据表与表数据实验名称:数据表与表数据实验时数:4学时授课类型:实验课教学方法与手段:指导目的要求:学会使用对象资源管理器和T-SQL语句创建数据表,插入、修改和删除表数据。了解数据库完整性的意义和分类,学会使用对象资源管理器和T-SQL语句定义、删除约束,创建、绑定默认值和规则。实验内容:1.依据student学生管理系统使用对象资源管理器创建表。2.使用DROPTABLE删除上步创建的表,再利用重新T-SQL创建。3.利用对象资源管理器或T-SQL语言每个表录入至少10行数据。4.创建考试管理stud_exam表,并录入数据。5.分别使用对象资源管理器和T-SQL修改表结构。1)将teacher-info表中的teacher—id列长度从6个字符改变为8个字符。2)在dept—code表中添加一列dept-demo,其数据类型为可变字符型,30位。3)在stud-info表增加“入学时间”列,其数据类型为日期型。6.建立约束。1)为数据表stud-info创建对应的check约束,限制mark在560到600之间。2)使用T-SQL语句建立变,设置stud-id为主键。3)为stud-info表的telecode创建unique约束。4)为stud-grade表中的stud-id创建外键。5)为stud-info表中的gender创建默认值,“男”。7.修改数据1)在成绩表中,将课程号为“0401010101”(指定课号)的成绩在原来基础上增加10%。2)将所有低于60分的成绩置空。3)将所有老师的年龄加1.8.删除数据1)删除学号为“0401020201”(指定学号)的学生记录第5页2)删除计算机工程系(指定系)所有学生的成绩。9.创建默认值对象D1,nchar(1),值为“男”,并绑定到学生表的gender列和教师表的gender列。10.创建规则对象R1,@a=“男”or@a=“女”,并绑定到学生表的gender列和教师表的gender列。实验四数据查询实验名称:数据查询实验时数:2学时授课类型:实验课教学方法与手段:指导目的要求:在了解SELECT基本格式的基础上,实现带条件的查询,模糊查询和分组查询。实现多表连接查询,嵌套查询和相关查询等复杂的查询。实验内容:1.select语句的基本使用1)查询学生基本信息表的每个学生的所有数据。2)查询学生基本信息表中每个学生的地址和电话3)查询stud_id为‘0401010634’的学生的地址和电话、4)查询stud_info表中性别为女的学生的地址和电话。使用as子句将结果中的名称分别指定为汉字标题。5)查询计算机应用教研室的教师工资情况。6)找出所有姓王的教师所对应的技术职称。7)在学生基本信息表中查询成绩在80~90的学号和课程号及成绩。2.子查询的使用1)查找在计算机工程系工作的教师名册。2)查找计算机工程系中所有担当“计算机专业英语”的教师编号和姓名。3)在学生成绩表中查询计算机工程系,且课程名称为“计算机专业英语”的学生考试情况。4)查找计算机应用技术专业的学生学号、姓名、年龄、电话号码及其家庭地址5)查找计算机工程系担任“多媒体技术”课程教学的教师姓名、电话号码及课程编码。6)查询计算机工程系计算机应用教研室的教师编号、姓名及课程号。3.连接查询的使用1)实现stud_info与stud_grade等值内连接2)实现teacher_info与lesson_info左外连接第6页4.数据汇总1)查询计算机工程系全体教师的平均工资2)求计算机工程系教师的平均年龄3)求计算机工程系教师的总人数5.groupby、orderby子句的使用1)按职称统计各各教研室的教师人数2)计算机工程系称为“讲师”的教师,按年龄由高到低排列。实验五Transact-SQL语言基础实验名称:Transact-SQL语言基础实验时数:4学时授课类型:实验课教学方法与手段:指导目的要求:学会定义数据类型、声明局部变量的方法。学会批处理,以及流程控制语句的使用方法。实验内容:1.使用系统存储过程,创建用户自定义数据类型address,stud-name,postalcode。2.使用DECLARE语句声明局部变量,并使用SELECT或SET语句给变量赋值。3.运用流程控制语句编写程序。1)使用IF语句实现1到10的累加和,并输出。2)设置在指定时间或5分钟后进行一次查询操作。4.分别创建标量函数,内嵌表值函数,多语句表值函数各一个,并调用。实验六视图及其应用实验名称:视图及其应用实验时数:2学时授课类型:实验课教学方法与手段:指导目的要求:理解视图的概念。学会利用对象资源管理器和SQL编辑器创建视图的方法。学会查询、更新、删除视图的方法。实验内容:1.创建视图:1)将表stud-info中所有女生记录定义为一个视图(stud_info_female),在SQL第7页编辑器窗口中输入和执行语句,并通过对象资源管理器来显示数据。2)为表stud-info中定义一个反应学生出生日期的视图(stud_info_birthday),在SQL编辑器窗口中输入和执行语句,并通过对象资源管理器来显示数据。3)将表stud-grade中血红色的学号和平均成绩创建一个视图,(stud_grade_average),在SQL编辑器窗口中输入和执行语句,并通过对象资源管理器来显示数据。2.使用视图:1)通过stud_info_female查询所有女生记录的信息。2)通过查询视图stud_info_birthday查询学生年龄。3)向视图stud_info_famale中插入一条记录。4)通过stud_info_female将张艳燕从管理工程系转到计算机工程系。5)通过stud_info_female把张艳燕从表stu_info中删除。3.索引视图:1)为stud_grade_average视图在学号列创建索引,并按学号查询平均成绩实验七索引及其应用实验名称:索引及其应用实验时数:2学时授课类型:实验课教学方法与手段:指导目的要求:学会使用对象资源管理器或SQL编辑器创建索引。学会创建唯一、聚集、复合索引。学会查看和修改索引选项,以及给索引改名和删除索引。理解全文索引与普通索引的不同,并利用其进行查询。实验内容:1.建立索引,为学生信息表的学号建立索引xh-index,2.创建复合索引,根据入学成绩和学号为学生信息表建立复合索引cj-xh-index。3.创建聚集、复合索引,为学生成绩表创建一个基于学号,课程号组合列的聚集复合索引xhkc-index。4.创建聚集、复合、唯一索引,为课程信息表创建一个基于课号,课程类型组合列的唯一、聚集、复合索引kc-lx-index。5.为课程信息表的课程名创建全文索引。6.利用全文索引进行查询第8页实验八存储过程与触发器实验名称:存储过程与触发器实验时数:4学时授课类型:实验课教学方法与手段:指导目的要求:理解存储过程的概念。学会使用对象资源管理器和SQL编辑器创建存储过程。学会存储过程的调用和管理方法。理解触发器的概念。学会使用对象资源管理器和SQL编辑器创建触发器。学会触发器的管理方法。实验内容:1.创建和执行存储过程1)针对教师表,创建一个存储过程,能根据编号检索教师的姓名和职称,并执行。2)建立能完成教师记录插入的存储过程,并调用完成教师信息的插入。3)建立能完成教师记录修改的存储过程,并调用完成教师信息的修改。4)建立能完成教师记录删除的存储过程,并调用。2.创建触发器1)针对教师表创建插入触发器,在插入时显示相应信息。2)使用系统存储过程查看触发器的文本信息。3)针对教师表创建删除触发器,实现级联删除。3.利用触发器完成级联操作1)编写一个(teacher_cancel)触发器,当在teac