数据库上机实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附录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语句,并执行所写代码。(注:“说明”部分不作为表定义内容)
3
(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, COL3),其中,
COL1:整型,允许空值。
COL2:普通编码定长字符型,长度为10,不允许空值.
COL3:普通编码定长字符型,长度为10,允许空值。
试写出按行插入如下数据得语句(空白处表示就是空值)。
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
(3)在SC表上为Sno与Cno建立一个组合得聚集索引,索引名为:IdxSnoCno.(提示: