《数据库原理》实验教学大纲
课程名称:
| 数据库原理
|
|
|
课程编号:
| 408013
| 420014
| 436011
|
适用专业:
| 计算机科学与技术
| 网络工程
| 软件工程
|
总 学 分:
| 3.5
|
|
|
总 学 时:
| 64
|
|
|
其中实验学时
| 12
|
|
|
一、实验课程性质、目的与任务
《数据库原理》是计算机科学与技术专业、软件工程专业和网络工程专业的必修课程,在计算机科学与技术中占重要地位。数据库的理论和技术是计算机科学和技术的一个重要发展方向,本身有重要的使用价值,同时又是其他发展方向(如分布式数据库、数据库机器、并行数据库、管理信息系统、决策支持系统等)的核心和基础;也是人工智能、CAD、CAE、计算机图形学、办公自动化以及软件开发环境等研究方向的有力工具。
数据库原理实验是学习和研究数据库理论的重要实践环节,其目的在于通过不同类型的实验使学生掌握数据库理论的基本概念和基本原理,并对该课程的核心关系模型有更深刻的理解。
通过本实验课程,要求学生利用SQL SEVER能完成关系模式定义、数据查询、数据更新等类型的数据库实验,从而验证所学的理论并提高分析与设计能力。
二、实验教学基本要求
要求掌握使用SQL SERVER或其它RDBMS来完成对数据库的创建、修改、数据更新、查询及完整性、安全性控制。
上机实验要求:
1、准备好上机所需的程序;
2、上机输入和调试自己所编写的程序;
3、上机结束后,应整理出实验报告,实验报告应包括以下内容:实验项目名称;算法分析;程序清单;运行结果;对运行情况所作的分析以及本次调试程序所取得的经验,如果程序未能通过,应分析其原因。
三、实验项目与类型:
序号
| 实验项目
| 学时
| 实验性质
| 备注
|
验证
| 综合
| 设计
| 研究
探索
| 必做
| 选做
|
1
| 认识DBMS
| 2
| √
|
|
|
| √
|
|
2
| 数据定义
| 2
|
|
| √
|
| √
|
|
3
| 数据查询
| 2
| √
|
|
|
| √
|
|
4
| 数据更新
| 2
| √
|
|
|
| √
|
|
5
| 视图操作
| 2
|
|
| √
|
|
| √
|
6
| 数据控制(完整性)
| 2
| √
|
|
|
| √
|
|
7
| 数据控制(安全性)
| 2
| √
|
|
|
| √
|
|
8
| 触发器
| 2
|
|
| √
|
|
| √
|
四、实验教学内容
实验一:认识DBMS
1、实验目的
通过对某个商用数据库管理系统的安装使用,初步了解DBMS的工作环境和系统构架;
熟悉对DBMS的安装;
搭建今后实验的平台。
2、实验主要设备及使用要求
486及以上微机;
Windows2000/XP及以上操作系统;
DBMS(SOL SERVER 2000)安装盘
3、实验原理、方法和手段
通过实际的DBMS的安装使用,初步了解DBMS的工作环境和系统构架
实验手段:上机操作
4、实验内容与步骤
1)根据安装文件的说明安装数据库管理系统。在安装过程中记录安装的选择,并且对所作的选择进行思考为何要进行这样的配置,对今后运行数据库管理系统有什么影响;
在实验室已经安装了各种RDBMS,所以不需要学生在做实验时自己动手安装DBMS,但要求学生在自己电脑上会进行安装使用,安装过程略。
2)学会启动和停止数据库服务;
3)了解RDBMS的系统构架;
SQL SERVER 2000由企业管理器,查询分析器,服务管理器和其它一些实用工具组成。我们在做实验时主要用到查询分析器和企业管理器。
实验二数据描述、定义实验
1、实验目的
熟悉和掌握数据库的创建和连接方法;
熟悉和掌握数据表的建立、修改和删除;
2、实验主要设备及使用要求
按操作计算机的要求使用好计算机设备。
3、实验方法及步骤
1.介绍有关SQL SERVER的图形界面工作环境;
2.创建数据库或连接已建立的数据库
3.在当前数据库上建立新表
4.定义表的结构
A:用SQL命令形式
B:用SQL SERVER提供的企业管理器以交互方式进行
5.进一步定义表的主码,外码及在表上建立索引。
6.将以上表的定义以 .SQL文件的形式保存在磁盘上。
7.修改表的结构
8.删除表的定义
4、实验内容与步骤
背景材料:在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。
1. 创建学生-课程数据库
2. 创建学生关系表Student:
学号
| 姓名
| 性别
| 年龄
| 所在系
|
Sno
| Sname
| Ssex
| Sage
| sdept
|
3. 创建课程关系表Course:
课程号
| 课程名
| 先行课
| 学分
|
Cno
| Cname
| Cpno
| ccredit
|
4. 创建课程关系表SC:
5. 将以上创建表S、C、SC的SQL命令以.SQL文件的形式保存在磁盘上。
6. 在表S上增加“出生日期”属性列。
7. 删除表S的“年龄”属性列。
8. 在表S上,按“Sno”属性列的唯一值方式建立索引。
9. 在表SC上,按“grade”属性列的多值方式建立索引。
10. 删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。
11. 选做:创建教材P74-75--习题5、SPJ数据库中的四个关系S,P,J,SPJ。
实验三数据更新实验
1、实验目的
熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用;
加深理解表的定义对数据更新的作用
2、实验主要设备及使用要求
按操作计算机的要求使用好计算机设备。
3、实验方法及步骤
1. 将数据插入当前数据库的表S、C、SC中;
A:用SQL命令形式
B:用SQL SERVER提供的企业管理器以交互方式进行
2. 将以上插入的数据分别以.SQL文件和.txt文件的形式保存在磁盘上;
3. 修改表S、C、SC中的数据;
A:用SQL命令形式
B:用SQL SERVER提供的企业管理器以交互方式进行
4. 删除表S、C、SC中的数据。
A:用SQL命令形式
B:用SQL SERVER提供的企业管理器以交互方式进行
4、实验内容
1. 将数据分别插入表S、C、SC;
2. 将表S、C、SC中的数据分别以.SQL文件和.txt文件的形式保存在磁盘上。
3. 在表S、C、SC上练习数据的插入、修改、删除操作。(比较在表上定义/未定义主码(Primary Key)或外码(Foreign Key)时的情况)
4. 将表S、C、SC中的数据全部删除,再利用磁盘上备份的数据来恢复数据。
5. 如果要在表SC中插入某个学生的选课信息(如:学号为“200215121”,课程号为“c123”,成绩待定),应如何进行?
6. 求各系学生的平均成绩,并把结果存入数据库;
7. 将“CS”系全体学生的成绩置零;
8. 删除“CS”系全体学生的选课记录;
9. 删除学号为“S1”的相关信息;
10. 将学号为“S1”的学生的学号修改为“S001”;
11. 把平均成绩大于80分的男同学的学号和平均成绩存入另一个表S——GRADE(SNO,AVG——GRADE);
12. 把选修了课程名为“数据结构”的学生的成绩提高10%;
13. 把选修了“C2”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高5%;
14. 把选修了“C2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉
实验四数据查询实验
1、实验目的
熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练的使用SQL语句的各种形式;
加深理解关系运算的各种操作(尤其的关系的选择,投影,连接和除运算)
2、实验主要设备及使用要求
按操作计算机的要求使用好计算机设备。
3、实验方法及步骤
1.在表S、C、SC上进行简单查询;
2.在表S、C、SC上进行连接查询;
3.在表S、C、SC上进行嵌套查询;
4.使用聚合函数的查询;
5.对数据的分组查询;
6.对数据的排序查询。
4、实验内容
在表S,C,SC上完成以下查询:
1. 查询学生的基本信息;
2. 查询“CS”系学生的基本信息;
3. 查询“CS”系学生年龄不在19到21之间的学生的学号、姓名;
4. 找出最大年龄;
5. 找出“CS”系年龄最大的学生,显示其学号、姓名;
6. 找出各系年龄最大的学生,显示其学号、姓名;
7. 统计“CS”系学生的人数;
8. 统计各系学生的人数,结果按升序排列;
9. 按系统计各系学生的平均年龄,结果按降序排列;
10. 查询每门课程的课程名;
11. 查询无先修课的课程的课程名和学时数;
12. 统计无先修课的课程的学时总数;
13. 统计每位学生选修课程的门数、学分及其平均成绩;
14. 统计选修每门课程的学生人数及各门课程的平均成绩;
15. 找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列;
16. 查询选修了“1”或“2”号课程的学生学号和姓名;
17. 查询选修了“1”和“2”号课程的学生学号和姓名;
18. 查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩;
19. 查询每位学生选修了课程的学生信息(显示:学号,姓名,课程号,课程名,成绩);
20. 查询没有选修课程的学生的基本信息;
21. 查询选修了3门以上课程的学生学号;
22. 查询选修课程成绩至少有一门在80分以上的学生学号;
23. 查询选修课程成绩均在80分以上的学生学号;
24. 查询选修课程平均成绩在80分以上的学生学号;
实验五视图的定义、使用实验
1、实验目的
熟悉和掌握对数据表中视图的定义操作和SQL命令的使用;
熟悉和掌握对数据表中视图的查询操作和SQL命令的使用;
熟悉和掌握对数据表中视图的更新操作和SQL命令的使用,并注意视图更新与基本表更新的区别与联系;
学习灵活熟练的进行视图的操作,认识视图的作用;
2、实验主要设备及使用要求
按操作计算机的要求使用好计算机设备。
3、实验方法及步骤
1. 视图的定义
2. 视图的查询
3. 视图的修改
4、实验内容
以S , C , SC表为基础完成以下视图定义及使用
1. 定义“IS”系学生基本情况视图V_IS并查询结果;
2. 将S,C,SC表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G并查询结果;
3. 将各系学生人数,平均年龄定义为视图V_NUM_AVG并查询结果;
4. 定义一个反映学生出生年份的视图V_YEAR并查询结果;
5. 将各位学生选修课程的门数及平均成绩定义为视图V_AVG_S_G并查询结果;
6. 将各门课程的选修人数及平均成绩定义为视图V_AVG_C_G并查询结果;
7. 查询平均成绩为90分以上的学生学号、姓名和成绩;
8. 查询各课成绩均大于平均成绩的学生学号、姓名、课程和成绩;
9. 按系统计各系平均成绩在80分以上的人数,结果按降序排列;
10.通过视图V_IS,分别将学号为“S1”和“S4”的学生姓名更改为“S1_MMM”,”S4_MMM”并查询结果;
11.通过视图V_IS,新增加一个学生记录('S12','YAN XI',19,'IS'),并查询结果;
12.通过视图V_IS,新增加一个学生记录('S13','YAN XI',19,'MA'),并查询结果;
13.通过视图V_IS,删除学号为“S12”和“S3”的学生信息,并查询结果;
14.要通过视图V_S_C_G,将学号为“S12”的姓名改为“S12_MMM”,是否可以实现?
15.要通过视图V_AVG_S_G,将学号为“S1”的平均成绩改为90分,是否可以实现?
实验六数据控制实验(安全性部分)
1、实验目的
通过SQL对数据进行安全性控制。完成作业的上机练习。
2、实验平台
实验一中安装的RDBMS及其交互查询工具。
3、实验内容和要求
使用SQL对数据进行安全性控制包括:授权与权力回收。操作完成后看看已授权的用户是否真正具有授予的数据操作的权力了;权力收回操作之后的用户是否确实丧失了收回的数据的权力。认真填写实验报告,记录所有的实验用例。
实验七数据控制实验(完整性部分)
1、实验目的
通过SQL对数据进行完整性控制,完成作业的上机练习。
2、实验平台
实验一中安装的RDBMS及其交互查询工具。
3、实验内容和要求
使用SQL对数据进行完整性控制(三类完整性、CHECK短语、CONSTRAINT子句)。用实验证实,当操作违反了完整性约束条件时,系统是如何处理的。认真填写实验报告,记录所有的实验用例。
五、考核方法
1.教师对学生实验过程完成情况进行详细登记,记入实验成绩中。
2.学生完成实验后按要求撰写实验报告,根据实验报告确定每次实验的等级。
3.实验成绩按20%比例计入课程期评总成绩中。
六、实验指导书及主要参考书目
1、自编实验指导书
2、《数据库系统概论》(第四版),王珊编著,高等教育出版社,2006年
主撰人: 刘刚常
审核人: 罗如为
2012.6