数据库上机实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库上机实验

集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

附录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语句,并执行所写代码。(注:“说明”部分不作为表定义内

容)

列名说明数据类型约束

Sno学号普通编码定长字符串,长

度为7

主键

Sname姓名普通编码定长字符串,长

度为10

非空

Ssex性别普通编码定长字符串,长

度为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课程的学生姓名、所在系和考试成绩,并将结

果保存到新表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,允许空值。

相关文档
最新文档