SQL-SERVER2008上机考模拟题

更新时间:2024-05-03 10:59:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2015-2016第二学期期末考

说明: 这只提供试题,不提供答案。因为方法太多,不能一一例举

XXXXXX 2015-2016学年第二学期期末考 SQL SERVER数据库管理上机操作题

班级: 学号 姓名 成绩 说明:

1、一、二、四操作的内容直接保存在数据库中,其余题目的答案直接写在相应题目后面。 2、提交的内容包括数据库文件还有该WORD文档。统一建立一个文件夹以学号+姓名方式命名。

题目:

一、

在指定的服务器上创建数据库STUxxxx(其中xxxx为自己的学号,创建方法和数据库参数自定)。

二、 在STUxxxx数据库中创建如下的表结构: 1.学生情况表(XS)结构

列名 学号 姓名 性别 班级 总学分 备注 数据类型 Char Char Bit Char Tinyint Text 长度 7 8 5 可否为空 否 否 否 否 是 是 是 默认值 无 无 1 无 ‘41021’ 0 无 说明 主键 男1,女0 出生日期 smalldatetime 2.课程表(KC)结构

列名 课程号 课程名 开课学期 学时 学分 数据类型 Char Char Tinyint Tinyint Tinyint 长度 3 20 可否为空 否 否 否 否 否 默认值 无 无 1 无 0 说明 主键 只能为1~8 3.学生与课程表(XS_KC)结构

列名 学号 课程号 成绩 学分 数据类型 Char Char Tinyint Tinyint 长度 可否为空 默认值 7 3 否 否 是 是 无 无 0 0 说明 外键(参照学生表中的学号) 外键(参照课程表中的课程号) 0≤成绩≤100

Sqlserver数据库管理

2015-2016第二学期期末考

三、 使用语句向数据库STUxxxx的XS表、KC表和XS_KC表中插入或修改成如下数

学生情况表(XS)(2分)

学号 4102101 4102102 4202103 4202110 4202221 4302101 4402130 姓名 王林 吴荣华 张强 王向荣 李丽 刘明 叶凡 性别 1 0 1 1 0 1 1 出生日期 1983-1-23 1984-3-28 1981-11-19 1980-12-9 1982-7-30 1982-10-18 1983-11-18 专业 计算机 计算机 电子 电子 电子 自控 数学 总学分 40 44 NULL 50 NULL 38 46 备注 NULL NULL NULL NULL NULL NULL 转专业学习 据:

课程表(KC)(2分)

课程号 101 102 103 201 202 301 课程名 计算机基础 C语言 数据库 离散数学 计算机网络 软件工程 开课学期 1 2 4 6 7 6 学时 48 80 64 64 64 64 学分 3 5 4 4 4 4

学生与课程表(XS_KC)(2分)

学号 4102101 4102101 4102101 4102102 4102102 4202103 4202110 4202110 4202221 4402130 4402130 课程号 101 102 103 101 102 103 101 102 101 101 103 成绩 80 89 78 57 67 90 85 91 69 78 74 四、以下题目均在STUxxxx(学生管理)数据库中完成。 (一) 简单查询

1. 查询XS表中各个同学的姓名、专业名和总学分。

2. 查询XS表中所有同学的学号、姓名和总学分,结果中各列的标题分别指定为num,name和mark。 3. 查询XS表中的学生数据来自哪些专业(使用DISTINCT子句消除结果集中的重复行)。 4. 查询XS表中专业为“计算机”且总学分尚未确定的学生情况。 5. 查询年龄最小的前三个同学的姓名、专业和年龄。

Sqlserver数据库管理

2015-2016第二学期期末考

(二) 数据汇总

1. 求专业为“计算机”的学生的总人数。 2. 求选修了“101”课程的学生的人数。 3. 统计各个专业的学生数。(按专业分组) 4. 统计各个专业的男女生人数。格式如下:

专业 ??

性别 ??

人数 ??

5. 查找平均成绩在80分以上的学生的学号和平均成绩。 (三) 连接查询

1. 查询每个学生的基本情况及选修的课程情况,格式如下:

学号 ??

姓名 ??

专业 ??

课程号 成绩 ??

??

2. 查询 “计算机”专业且选修了“计算机基础”课程的学生的学号、姓名及成绩。 3. 显示每门课程的平均成绩并显示总平均成绩。格式如下:

课程名 ??

平均成绩 ?? ??

总平均

4. 查询各个专业各门课程的平均成绩。格式如下

专业 ??

课程名 ??

平均成绩 ??

5. 查询“计算机”专业平均成绩在85分以上的学生的学号、姓名和平均成绩。 (四) 子查询的使用

1. 查询平均成绩高于101号课程平均分的课程号及平均成绩。 2. 查找未选修“C语言”课程的学生的情况。(嵌套子查询) 3. 查找选修了“计算机基础”课程的学生的情况。

4. 查询“计算机基础”成绩及格的学生的学号、姓名、性别和专业情况。 5. 查询至少选修了“4102102”同学选修课程的学生的基本信息。 (五) 数据的插入、删除和修改

1. 将XS表中计算机专业的学生的总学分增加10分。

2. 将XS_KC表中学号为“4102101”的同学的“计算机基础”课程的成绩增加10分。 3. 将XS_KC表中“数据库”课程的所有成绩信息删除。 (六) 视图操作

1. 使用SQL语句创建视图V_SCORE1,使其显示计算机专业学生的所有基本信息,并保证以后对

该视图的修改都要满足专业为“计算机”这个条件。

2. 通过V_SCORE2查看各个专业所有课程的平均成绩,结果格式为:

专业 平均成绩 ??

??

Sqlserver数据库管理

2015-2016第二学期期末考

(七) 数据完整性

1. 用户要求:在输入XS表中的数据时,若“专业”列没有提供数据,系统应自动取值“计算机”,

请问如何解决该问题?请写出一种具体的解决方法。

2. 创建一触发器,当在XS表中删除一个学生的基本信息时,级联删除该学生的学习信息(即该

学生在XS_KC表中的数据)。

3. 在XS_KC表上创建一触发器,若对学号列和课程号列修改,且修改后的学号或课程号在XS表

和KC表中不存在,则给出提示信息,并取消修改操作。

Sqlserver数据库管理

本文来源:https://www.bwwdw.com/article/kqjg.html

Top