数据库原理实验指导书
实验名称:试验一:SQL语言嵌套查询和数据更新操作
所属课程:数据库原理
实验类型:设计型实验
实验类别:基础□ 专业基础√ 专业□
实验学时:4学时
一、实验目的
1.熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练的使用SQL 语句的各种形式;
2.加深理解关系运算的各种操作(尤其的关系的选择,投影,连接和除运算);
3.熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用;
4.加深理解表的定义对数据更新的作用
二、预习与参考
1.熟悉SQL SERVER 工作环境;
2.连接到学生-课程数据库
3.复习对表中数据查询的SQL语言命令;
4.复习对表中数据的插入、修改和删除的SQL语言命令。
三、实验要求(设计要求)
针对教材例子,通过SQL SERVER企业管理器和查询分析器两种模式,熟悉数据嵌套查询、更新操作。
四、实验方法及步骤
1.在表S、C、SC上进行简单查询;
2.在表S、C、SC上进行连接查询;
3.在表S、C、SC上进行嵌套查询;
4.使用聚合函数的查询;
5.对数据的分组查询;
6.对数据的排序查询。
7. 将数据插入当前数据库的表S、C、SC中;
A:用SQL命令形式
B:用SQL SERVER提供的企业管理器以交互方式进行
8.将以上插入的数据分别以.SQL文件和.txt文件的形式保存在磁盘上;
9.修改表S、C、SC中的数据;
A:用SQL命令形式
B:用SQL SERVER提供的企业管理器以交互方式进行
10.删除表S、C、SC中的数据。
A:用SQL命令形式
B:用SQL SERVER提供的企业管理器以交互方式进行
五、实验内容
在表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分以上的学生学号;
25. 选做:针对SPJ数据库中的四个表S,P,J,SPJ,完成教材P74-75--习题5中的查询及教材P127--习题5中的查询。
26. 将数据分别插入表S、C、SC;
27. 将表S、C、SC中的数据分别以.SQL文件和.txt文件的形式保存在磁盘上。
28. 在表S、C、SC上练习数据的插入、修改、删除操作。(比较在表上定义/未定义主码(Primary Key)或外码(Foreign Key)时的情况)
29. 将表S、C、SC中的数据全部删除,再利用磁盘上备份的数据来恢复数据。
30. 如果要在表SC中插入某个学生的选课信息(如:学号为“200215121”,课程号为“c123”,成绩待定),应如何进行?
31. 求各系学生的平均成绩,并把结果存入数据库;
32. 将“CS”系全体学生的成绩置零;
33. 删除“CS”系全体学生的选课记录;
34. 删除学号为“S1”的相关信息;
35. 将学号为“S1”的学生的学号修改为“S001”;
36. 把平均成绩大于80分的男同学的学号和平均成绩存入另一个表S——GRADE(SNO,AVG——GRADE);
37. 把选修了课程名为“数据结构”的学生的成绩提高10%;
38. 把选修了“C2”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高5%;
39. 把选修了“C2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉;
40. 选做:将数据插入SPJ数据库中的四个表S,P,J,SPJ中,并以.SQL文
2021-10-30 17:28:11
667KB
S
SC
C
1