教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

数据库上机实验

来源:网络收集 时间:2026-08-25
导读: 附录C 上机实验 C.1 第4章上机实验 下列实验均使用SQL Server 的SSMS工具实现。 1.用图形化方法创建符合如下条件的数据库(创建数据库的方法可参见本书附录A): ? 数据库名为:学生数据库 ? 主要数据文件的逻辑文件名为:Students_data,存放在D:\\Data文

附录C 上机实验 C.1 第4章上机实验

下列实验均使用SQL Server 的SSMS工具实现。

1.用图形化方法创建符合如下条件的数据库(创建数据库的方法可参见本书附录A):

? 数据库名为:学生数据库

? 主要数据文件的逻辑文件名为:Students_data,存放在D:\\Data文件夹下(若D:

盘中无此文件夹,请先建立此文件夹,然后再创建数据库。),初始大小为:5MB,增长方式为自动增长,每次增加1MB。

? 日志文件的逻辑文件名字为:Students_log,也存放在D:\\Data文件夹下,初始大

小为:2MB,增长方式为自动增长,每次增加10%。

2.选用已建立的“学生数据库”,写出创建满足表C-1到4-4条件的表的SQL语句,并执行所

写代码。(注:“说明”部分不作为表定义内容)

表C-1 Student表结构 列名 Sno Sname Ssex Sage Sdept Sid Sdate 说明 学号 姓名 性别 年龄 所在系 身份证号 入学日期 数据类型 普通编码定长字符串,长度为7 普通编码定长字符串,长度为10 普通编码定长字符串,长度为2 微整型(tinyint) 普通编码不定长字符串,长度为20 普通编码定长字符串,长度为10 日期 表C-2Course表结构 列名 Cno Cname Credit Semester 说明 课程号 课程名 学时数 学分 数据类型 普通编码定长字符串,长度为10 普通编码不定长字符串,长度为20 整型 小整型 表C-3SC表结构 列名 Sno Cno Grade 说明 学号 课程号 成绩 数据类型 普通编码定长字符串,长度为7 普通编码定长字符串,长度为10 小整型 表C-4Teacher表结构 列名

说明 364

数据类型 约束 约束 主键,引用Student的外键 主键,引用Course的外键 取值范围为0-100 主键 非空 取值大于0 约束 主键 非空 取值范围:{男,女} 取值范围:15-45 默认值为“计算机系” 取值不重 默认为系统当前日期 约束

Tno Tname Salary 教师号 教师名 工资 普通编码定长字符串,长度为8 普通编码定长字符串,长度为10 定点小数,小数点前4位,小数点后2位 非空 非空

3. 写出实现如下功能的SQL语句,并执行所写代码,查看执行结果。 (1) 在Teacher表中添加一个职称列,列名为:Title,类型为nchar(4)。 (2) 为Teacher表中的Title列增加取值范围约束,取值范围为:{教授,副教授,讲师}。 (3) 将Course表中Credit列的类型改为:tinyint。 (4) 删除Student表中的Sid和Sdate列。 (5) 为Teacher表添加主键约束,其主键为:Tno。

C.2 第5章上机实验

本实验均在SQL Server 的SSMS工具中实现。首先在已创建的“学生数据库”中创建本章表5-1~5-3所示的Student、Course和SC表,并插入表5-4~5-6所示数据,然后编写实现如下操作的SQL语句,执行所写的语句,并查看执行结果。 1. 查询SC表中的全部数据。

2. 查询计算机系学生的姓名和年龄。

3. 查询成绩在70~80分的学生的学号、课程号和成绩。 4. 查询计算机系年龄在18~20岁的男生姓名和年龄。 5. 查询C001课程的最高分。

6. 查询计算机系学生的最大年龄和最小年龄。 7. 统计每个系的学生人数。

8. 统计每门课程的选课人数和最高成绩。

9. 统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。 10. 列出总成绩超过200的学生的学号和总成绩。 11. 查询选了C002课程的学生姓名和所在系。

12. 查询考试成绩80分以上的学生姓名、课程号和成绩,并按成绩降序排列结果。 13. 查询与VB在同一学期开设的课程的课程名和开课学期。 14. 查询与李勇年龄相同的学生的姓名、所在系和年龄。 15. 查询哪些课程没有学生选修,列出课程号和课程名。

16. 查询每个学生的选课情况,包括未选课的学生,列出学生的学号、姓名、选的课程号。 17. 查询计算机系哪些学生没有选课,列出学生姓名。 18. 查询计算机系年龄最大的三个学生的姓名和年龄。

19. 列出“VB”课程考试成绩前三名的学生的学号、姓名、所在系和VB成绩。 20. 查询选课门数最多的前2位学生,列出学号和选课门数。

21. 查询计算机系学生姓名、年龄和年龄情况,其中年龄情况为:如果年龄小于18,则显

示“偏小”;如果年龄在18-22,则显示“合适”;如果年龄大于22,则显示“偏大”。 22. 统计每门课程的选课人数,包括有人选的课程和没有人选的课程,列出课程号,选课人

数及选课情况,其中选课情况为:如果此门课程的选课人数超过100人,则显示“人多”;如果此门课程的选课人数在40~100,则显示“一般”;如果此门课程的选课人数在1~40,则显示“人少”;如果此门课程没有人选,则显示“无人选”。

23. 查询计算机系选了VB课程的学生姓名、所在系和考试成绩,并将结果保存到新表

365

VB_Grade中。

24. 统计每个系的女生人数,并将结果保存到新表Girls中。 25. 用子查询实现如下查询:

(1)查询选了“C001”课程的学生姓名和所在系。

(2)查询通信工程系成绩80分以上的学生的学号和姓名。 (3)查询计算机系考试成绩最高的学生的姓名。 (4)查询年龄最大的男生的姓名、所在系和年龄。

26. 查询C001课程的考试成绩高于该课程平均成绩的学生的学号和成绩。 27. 查询计算机系学生考试成绩高于计算机系学生平均成绩的学生的姓名、考试的课程名和

考试成绩。

28. 查询VB课程考试成绩高于VB平均成绩的学生姓名和VB成绩。 29. 查询没选VB的学生姓名和所在系。

30. 查询每个学期学分最高的课程信息,列出开课学期、课程名和学分。

31. 查询每门课程考试成绩最高的学生信息,列出课程号、学生姓名和最高成绩,结果按课

程号升序排序,不包括没考试的课程。

32. 创建一个新表,表名为test,其结构为(COL1, COL 2, COL 3),其中,

COL1:整型,允许空值。

COL2:普通编码定长字符型,长度为10,不允许空值。 COL3:普通编码定长字符型,长度为10,允许空值。 试写出按行插入如下数据的语句(空白处表示是空值)。

COL1 1 2 COL2 B1 B2 B3 COL3 C2 33. 利用23题建立的VB_Grade表,将信息管理系选了VB课程的学生姓名、所在系和考试成绩插入到VB_Grade表中。

34. 将所有选修C001课程的学生的成绩加10分。

35. 将计算机系所有学生的“计算机文化学”的考试成绩加10分。

36. 修改“VB”课程的考试成绩,如果是通信工程系的学生,则增加10分;如果是信息管

理系的学生则增加5分,其他系的学生不加分。 37. 删除成绩小于50分的学生的选课记录。

38. 删除计算机系VB考试成绩不及格学生的VB选课记录。 39. 删除“VB”考试成绩最低的学生的VB修课记录。 40. 删除没人选的课程的基本信息。

C.3 第6章上机实验

下列实验均使用SQL Server 的SSMS工具实现。利用第4章上机实验创建的“学生数据库”中Student、Course和SC表,完成下列实验。 1. 写出实现下列操作的SQL语句,并执行所写代码。

(1)在Student表上为Sname列建立一个聚集索引,索引名为:IdxSno。(提示:若执行

创建索引的代码,请先删除该表的主键约束)

(2)在Course表上为Cname列建立一个唯一的非聚集索引,索引名为:IdxCN

366

(3)在SC表上为Sno和Cno建立一个组合的聚集索引,索引名为:IdxSnoCno。 …… 此处隐藏:3763字,全部文档内容请下载后查看。喜欢就下载吧 ……

数据库上机实验.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/614538.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)