- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库实习题(本科)
实验一
创建一个名为Stud的数据库模式或数据库。
在已创建的数据库模式或数据库中建立如下4个表结构:
(1) Student(sno,sname,ssex,asbirthday,class,dept)
sno char(5),sname char(8),ssex char(2),sbirthday datetime,
class char(5),dept char (20)。
(2) Teacher(tno,tname,tsex,tbirthday,prof,dept)
tno char(5),tname char(8),tsex char(2),tbirthday datetime,
prof char(10),dept char(20)。
(3) Course(cno,cname,credit,pcno,tno)
cno char(10),canme char(16),credit shortint,
pcno char(10),tno char(5)。
(4) SC(sno,cno,grade)
sno char(5), cno char(10),grade int。
要求:同时设置在每个表上的完整性约束条件。
往每个表中添加适量记录。
用SQL语句完成下列查询操作:
求出各班级的学生人数。
显示所有学生的学号、姓名和平均成绩。
显示各班级和该班级的所有学生的平均成绩。
查询至少有5名学生选修的并以3开头的课程号的平均分数。
查询选修了操作系统课程的学生的sno、cname和grade列。
实验二
1.用SQL语句完成下列查询操作:
(1)查询和学号为105的学生同年出生的所有学生的sno、sname和sbirthday列。
(2)查询“张旭”教师任课的学生成绩,并按成绩递减排列。
(3)查询选修某课程的学生人数多于5人的教师姓名。
(4)统计每门课程的平均成绩,并将其中平均成绩超过80分的输出。
(5)显示平均成绩高于95031班平均成绩的班号和平均成绩。
(6)显示选修了课程的学生的所有个人及选课信息,未选课的学生只显示其个人信息。
(7)查询选修了全部课程的学生学号和姓名。
(8)查询至少选修了103号学生所选全部课程的学生学号。
(9)显示平均成绩低于所有学生平均成绩的学生的学号和姓名。
(10)查询平均成绩最高的学生的学号和姓名。
实验三
1.采用游标方式实现实验二中 1.(6) 的功能。
2.用SQL语句完成下列更新操作:
(1)向表student中插入一数据行,该行包含所有列的值。
(2)将学生刘红的学号修改为202,班级修改为96032。
(3)将选修了操作系统课程的成绩提高5%。
(4)学生“李军”在数字电路课程考试中作弊,该课成绩应作零分计。
(5)删除选修了王萍教师课程的选课记录。
3.用SQL语句建立下列索引:
(1)在teacher表中的tno列上创建一个非聚集索引。
(2)为score表的sno和cno列创建索引,并且强制惟一性。
4.用SQL语句建立下列视图
(1)建立视图View1,查询所有学生的姓名、课程名和成绩。
(2)建立视图View2,查询所有学生的学号、姓名和平均成绩。
(3)建立视图View3,查询各课程名和该课程的平均成绩。
5.利用视图View3进行查询。
实验四
1.建立一个带输入参数的存储过程InsStudent,功能是向学生表中追加一个记录,其记录内容可由输入参数提供。
2.建立一个带输入和输出参数的存储过程GetAvgGrade,它能得到指定学号的学生所有课程的平均成绩。
3.首先,创建一个带参数的存储过程StudCx,其作用是:当任意输入一个学生的姓名时,将从三个表中返回该学生的学号、选修的课程名和成绩;其次执行该存储过程,查询若干指定姓名的学生学号、选修课程名和成绩。
4.创建一个带有参数的存储过程stu_age,该存储过程根据传入的学生编号,在student表中计算此学生的年龄,并根据程序的执行结果返回不同的值,程序执行成功,返回整数0,如果执行出错,则返回错误号。并执行该存储过程。
实验五
1.用SQL语句创建下列触发器:
(1)创建一个能实现删除student表中的学生记录时,同时删除sc表中对应的成绩记录的触发器。
(2)创建一个触发器,要求能实现修改后学生的成绩不能低于修改前的成绩。
2.备份和恢复数据库
(1)完整备份数据库Stud到一个磁盘文件D:\DBBKUP\Stud_bak;
(2)备份数据库Stud的事务日志到一个磁盘文件D:\DBBKUP\Stud_log;
(3)差异备份数据库Stud到一个磁盘文件D:\DBBKUP\Stud_diff;
(4)恢复完全数据库备份Stud_bak为数据库Stud1;
(5)恢复事务日志备
原创力文档


文档评论(0)