教 案
2012-1013 学年度第 一 学期
课 程 名 称 数据库技术与应用 (上机实验) 学 时 学 分 16学时 (2 学时) 专 业 班 级
授 课 教 师 系 部
本 课 程 教 学 总 体 安 排
课 程 名 称:数据库技术与应用(上机实验) 课程性质与类型:专业课+必修 总学时、学分:16学时,0.5学分 教学目的与要求:
该实验课附属《数据库技术与应用》,是课堂教学的补充,主要以实践环节教学为主,通过实验使学生更好地理解数据库的基本概念、基本理论,掌握SQL Server操作和使用的方法,培养学生的实际动手能力。
教材及参考书目:
教材:
《数据库原理与SQL Server》壮志剑 高等教育出版社
参考书目:
《数据库系统概论》 王珊 萨师煊 高等教育出版社 《SQL Server 2000 入门与提高》 清华大学出版社
《SQL Server 2000数据库编程》 张长富 北京希望电子出版社
考核方式及成绩计算方法:
考核方式:闭卷,笔试
总成绩=平时成绩*20%+实验*10%+期末成绩*70%
第 1 页
课 程 教 学 日 历
课程名称:数据库技术与应用(上机实验) 学期:2012-2013学年第一学期
周次 章节及教学内容 实验一 SQL Server 2000安装与启动, 实验二 创建数据库 实验三 创建表结构并录入记录 实验四 Transact-SQL程序设计 实验五 检索数据 实验六 创建索引、视图、存储过程、触发器 实验七 数据库数据的复制与恢复 实验八 数据安全性管理
累计学时 2 4 6 8 10 12 14 16 2 2 2 2 2 2 2 2 第 2 页
实验一 SQL Server 2000安装与启动
实验名称:SQL Server 2000安装与启动 实验时数: 1学时 授课类型:实验课 教学方法与手段:指导
目的要求:在Windows下安装SQL Server 2000,熟悉SQL Server 2000的运行环境,熟悉SQL Server 2000系统数据库,注册SQL Server,熟悉企业管理器,掌握连接与断开服务器的方法。 实验内容:
① 安装SQL Server 2000标准版。
其中设置选项:在本地安装新的SQL Server 2000服务器和客户端工具;使用默认实例名;选择典型安装,并将安装磁盘指定为D,文件夹名称不变;使用域用户账户,混合验证模式。
② 启动SQL Server服务管理器,并设置启动OS时自动启动该项服务。
③ 启动SQL Server企业管理器,并熟悉操作方法。
④ 设置创建与SQL Server服务器连接时,是否自动启动SQL Server服务。
⑤ 在客户端SQL Server企业管理器中注册服务器端的数据库服务器。
⑥ 启动SQL Server查询分析器,并熟悉操作方法。 ⑦ 熟悉SQL Server 2000的其他主要组件。
第 3 页
实验二 创建数据库
实验名称:创建数据库 实验时数: 1学时 授课类型:实验课 教学方法与手段:指导
目的要求:了解创建数据库的基本步骤。 实验内容:
① 在D盘根目录下创建文件夹,文件夹名为“<班级>_<学号>”。 ② 使用SQL-EM创建数据库,数据库名为“<班级>_<学号>”,包括一个主数据文件和一个事务日志文件。 其中,主数据文件名为“<班级>_<学号>.mdf”,事务日志文件名为“<班级>_<学号>.ldf”,并存放在D盘文件夹“<班级>_<学号>”中。 数据库的其他属性设置取默认值。
③ 为数据库“<班级>_<学号>”增加一个次数据文件,文件名为“<班级>_<学号>_1.ndf”,并存放在D盘文件夹“<班级>_<学号>”中,其他属性设置取默认值。 ④ 完成实例2-1~2-8。
实验三 创建表结构并录入记录
实验名称:创建表结构并录入记录 实验时数: 2学时 授课类型:实验课 教学方法与手段:指导
第 4 页
目的要求:分别采用企业管理器和SQL语句方式创建数据库,创建学生,课程,选修等表,并进行修改和删除操作,为教学数据库中的各基本表创建主键,外键,非空,CHECK约束,唯一值,默认值等完整性。使用INSERT,UPDATE,DELETE更新教学数据库中的数据。 实验内容:
① 使用SQL-EM在数据库student中创建学生表,表名为“<班级>_<学号>_s”,包括列:sno、char(4),class、char(20),sname、char(8),sex、char(2),birthday、datatime,address、varchar(50),telephone、char(20),email、char(40)。其中,sno为主键,要求class、sname非空,sex默认值为“男”,email惟一完整性约束。 ② 使用SQL-EM在数据库student中创建课程表,表名为“<班级>_<学号>_c”,包括列:cno、char(4),cname、char(20),credit、tinyint。其中,cno为主键,cname为惟一完整性约束。
③ 使用SQL-EM在数据库student中创建选课表,表名为“<班级>_<学号>_sc”,包括列:sno、char(4),cno、char(4),score、smallint。其中,sno、cno为主键,指定sno为外键参照表s的sno,指定cno为外键参照表c的cno。
④ 使用SQL-EM、T-SQL语句在学生、课程和选课表中输入本班5名以上学生的真实数据。 ⑤ 完成实例3-11~3-16。
实验四 Transact-SQL程序设计
实验名称:Transact-SQL程序设计
第 5 页
实验时数: 2学时 授课类型:实验课 教学方法与手段:指导
目的要求:掌握用Transact-SQL语句设计程序的方法。 实验内容:
① 启动查询分析器。
② 用T-SQL编写程序,求前多少个自然数之和不超过5 000,并存储为脚本文件“<班级>_<学号>_1”。
③ 用T-SQL语句编写程序,输出所有的水仙花数,并存储为脚本文件“<班级>_<学号>_2”。所谓水仙花数是指一个3位整数,其各位数字的立方和等于该数本身。 ④ 在osql中执行上述脚本文件。 ⑤ 完成实例4-1~4-9。
实验五 检索数据
实验名称:检索数据 实验时数: 4学时 授课类型:实验课 教学方法与手段:指导
目的要求:在了解SELECT基本格式的基础上,实现带条件的查询,模糊查询和分组查询。实现多表连接查询,嵌套查询和相关查询等复杂的查询。 实验内容:
第 6 页
① 完成实例5-1~5-11。
② 查询学生的学号、姓名、班级和地址。
③ 查询课程编号为c001并且成绩不及格的学生的学号、课程编号和成绩。
④ 查询各门课程的课程编号和不及格人数。
⑤ 查询各门课程的课程编号、选修的人数、平均成绩、最高分和最低分,并按课程编号升序排序。 ⑥ 完成实例5-12~5-23。
⑦ 查询不及格的同学的课程名、学号、姓名和成绩,并按课程编号升序排序。规定当课程编号相同时,按成绩降序排序。 ⑧ 查询平均成绩大于所有女同学平均成绩的男同学的姓名和平均成绩。
⑨ 查询选修了课程编号为c001并且成绩大于等于70和课程编号为c002并且成绩大于等于80的学生的学号、课程编号和成绩。 ⑩ 查询选修了课程编号为c001和课程编号为c002的学生总人数。
⑾ 创建实例5-32中的表s、c、sc,并输入数据。 ⑿ 完成实例5-32中的T-SQL语句部分。 ⒀ 创建习题22中的表s、c、sc,并输入数据。 ⒁ 完成习题22中的T-SQL语句部分。
实验六 创建索引、视图、存储过程、触发器
实验名称:创建索引、视图、存储过程、触发器
第 7 页
实验时数: 2学时 授课类型:实验课 教学方法与手段:指导
目的要求:掌握视图的创建,修改和删除,能够利用视图进行查询和数据操作。索引的创建,删除与使用。了解常用的系统存储过程。建立,修改,删除存储过程,调用存储过程,建立和调用带参数的存储过程。建立插入,删除和更新触发器,实现复杂的完整性控制。 实验内容:
① 使用SQL-EM在数据库student中学生表上创建列sname的非聚集索引。
② 使用T-SQL语句在数据库student中创建视图,视图名为“v_<班级>_<学号>_1”,包含列sno、class、sname、sex、cno、cname、score。
③ 使用视图“v_<班级>_<学号>_1”查询学生各科成绩信息。 ④ 使用SQL-EM在数据库student中创建学生表的统计表,表名为“<班级>_<学号>_n”,包含列:class、char(20),num、smallint,man、smallint,woman、smallint。其中,class为主键。 ⑤ 使用T-SQL语句编写一个存储过程,存储过程名为“<班级>_<学号>_total”,用于由学生表统计出数据插入统计表,并执行该存储过程。
⑥ 使用T-SQL语句编写一个带参数的存储过程,存储过程名为“<班级>_<学号>_score”,用于按课程名称输出学生的成绩单,并执行
第 8 页
该存储过程。
⑦ 完成实例6-18。
⑧ 使用SQL-EM在学生表上创建INSERT、DELETE和UPDATE触发器,用于维护学生表与统计表间数据的一致性。
实验七 数据库数据的复制与恢复
实验名称:数据库数据的复制与恢复 实验时数: 2学时 授课类型:实验课 教学方法与手段:指导
目的要求:掌握SQL Server 2000中有关数据库数据的复制与恢复的相关方法 实验内容:
① 使用SQL-EM分离数据库student。 ② 删除数据库student。
③ 使用SQL-EM附加数据库student。
④ 使用SQL语句创建DISK类型备份设备,备份设备名为“<班级>_<学号>_bak”,物理文件为D盘<班级>_<学号>文件夹下“<班级>_<学号>_bak.bak”。
⑤ 在数据库student中任意创建表“<班级>_<学号>_t”。 ⑥ 使用T-SQL语句将数据库student完全备份至备份设备“<班级>_<学号>_bak”上。
⑦ 删除表“<班级>_<学号>_t”。
第 9 页
⑧ 使用T-SQL语句从备份设备“<班级>_<学号>_bak”上还原数据库student。
⑨ 制定数据库维护计划,数据库维护计划名为“<班级>_<学号>”,用于每周五下午6点自动备份数据库student的数据文件和事务日志文件。其中,备份文件保存在D盘<班级>_<学号>文件夹下,维护报告以文本文件形式也保存在D盘<班级>_<学号>文件夹下。 ⑩ 将数据库student表“<班级>_<学号>_s”的数据导入D盘<班级>_<学号>文件夹下Excel文件“<班级>_<学号>”。
实验八 数据安全性管理
实验名称:创建索引、视图、存储过程、触发器 实验时数: 2学时 授课类型:实验课 教学方法与手段:指导
目的要求:掌握SQL Server 2000中有关登录账号、用户账号、角色和权限的管理 实验内容:
① 设置SQL Server 2000数据库服务器使用SQL Server和Windows混合认证模式。
② 创建登录账号,账号名要求为:<班级>_<学号>,自行设置密码,并用账号<班级>_<学号>登录,测试其能否访问数据库student。 ③ 创建登录账号<班级>_<学号>在数据库student中对应的用户账号<班级>_<学号>,并用账号<班级>_<学号>登录,测试其能否对数
第 10 页
据库student中的表进行操作。
④ 授予用户<班级>_<学号>对表<班级>_<学号>_s、<班级>_<学号>_c、<班级>_<学号>_sc的查询、插入和修改权限,用账号<班级>_<学号>登录,测试其能否对数据库student对象进行操作。 ⑤ 授予用户<班级>_<学号>对数据库student的SELECT语句的权限。
⑥ 创建自定义数据库角色student,并将用户<班级>_<学号>添加到自定义数据库角色student中。
第 11 页