(成都信息程学院数据库复习资料)数据库期末复习资料-操作题原题+程序语句组合原题.doc
文本预览下载声明
一、上机操作题(40分):
请下载“学生信息.bak”文件。在企业管理器中建立一个数据库“学生信息”,并用刚才的文件恢复数据库“学生信息”。在D盘建立一个以自己学号+姓名的文件夹。
还原时特别注意:(1)若是先创建数据库再还原的,一定要选中图中所示的“在现有数据库上强制还原”;(2)注意修改图中红线框中的路径,例如图中所示的“F:\数据库原理及应用\”目录即为下载后“学生信息.bak”文件所在目录,这应根据你将其放在什么路径而定本。
《数据库原理及应用》上机操作
说明:【上机操作题是2012级在2014年1月4日星期六考试的原题】
1、从网上下载指定的数据库备份文件,还原到考生所用的系统中,数据库名为“学生信息”。
2、在数据库“学生信息”中,新建一名为“个人信息”表,表结构如下:
个人信息(编码 char(10) NOT NULL
姓名 char(8) NOT NULL
性别 char(2) NOT NULL
生日 datetime
身份证号 char(18)
家庭住址 varchar(50))
--建表过程(通过查询分析器建立表)
create table 个人信息(
编码 char(10) NOT NULL Primary key,
姓名 char(8) NOT NULL,
性别 char(2) NOT NULL,
生日 datetime,
身份证号 char(18),
家庭住址 varchar(50)
)
3、将“个人信息”表“编码”列设置为主键。
上面的红色部分:Primary key即为将该列设为主键。
4、为“个人信息”表“身份证号”列建立唯一索引,索引名为“IX_个人信息_身份证号”。
5、将“个人信息”表“性别”列的默认值设为“男”,并增加约束,该列只能输入“男”或“女”,约束名为“CK_个人信息_性别”。
6、创建一名为“学生总评成绩”的视图,显示学号、姓名、课程名称、总评成绩。(此题已经修改了,现在只需学生,成绩,课程三个表了)
--创建视图(通过查询分析器建立视图)
create view 学生总评成绩
as
select 学生.学号, 姓名, 课程名称, 总评成绩
from 学生 join 成绩 on 学生.学号=成绩.学号
join 课程 on 成绩.课程代码=课程.课程代码
以上5道题可参考上机实验或教材或课件,完全可通过SQL企业管理器图形界面完成操作。
7、将课程表中至今没有学生选学的课程记录行删除。
delete from 课程 where 课程代码 not in (select 课程代码 from 成绩)select * into 两字学生 from 学生 where len(姓名)=2
设置完成后,再将“学生”表与链接服务器表内容按照要求比较,并将结果存入“学生注册信息对比”表中。参考语句如下:
select 学生.学号,学生.姓名 学生表姓名,a.姓名 注册表姓名
into 学生注册信息对比
from 学生,excel...注册信息$ a
where 学生.学号=a.学号 and 学生.姓名a.姓名
提示:查询连接服务器数据表内容时,一定要将电子表格文件关闭。
10、编写存储过程
编写存储过程“学生成绩统计分析”,带一输入参数“@学号”,其开始代码严格如下:????????CREATE?PROCEDURE?学生成绩统计分析????????????????@学号?Char(10)????????AS要求此存储过程实现的功能是:根据输入参数“@学号”指定的学生,先计算该生的平均总评成绩(保留2位小数),即在程序中要考虑好变量@平均总评成绩 的数据类型,然后: (1)将该生的学习状况添加到表“学生学习状况”中(其xID列为自动赋值),“评价”列的取值为:优秀、一般或较差,优秀的标准是平均总评成绩=90,较差的标准是平均总评成绩60,其余情况则为一般。往该表中添加记录的程序示例:假定@学号中指定学生的@平均总评成绩为95.73????????INSERT?INTO?学生学习状况?(学号,?姓名,?平均总评成绩,?评价)????????????????SELECT?@学号,?X.姓名,?@平均总评成绩,?优秀????????????????????????FROM?学生?X????????????????????????WHERE?X.学号?=?@学号 (2)若平均总评成绩在90分以上,则查询出该学生总评成绩=90的课程,并添加到表“优秀
显示全部