哈工大 英才学院 数据库 实验四.docx

上传人:b****5 文档编号:28231160 上传时间:2023-07-09 格式:DOCX 页数:12 大小:103.57KB
下载 相关 举报
哈工大 英才学院 数据库 实验四.docx_第1页
第1页 / 共12页
哈工大 英才学院 数据库 实验四.docx_第2页
第2页 / 共12页
哈工大 英才学院 数据库 实验四.docx_第3页
第3页 / 共12页
哈工大 英才学院 数据库 实验四.docx_第4页
第4页 / 共12页
哈工大 英才学院 数据库 实验四.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

哈工大 英才学院 数据库 实验四.docx

《哈工大 英才学院 数据库 实验四.docx》由会员分享,可在线阅读,更多相关《哈工大 英才学院 数据库 实验四.docx(12页珍藏版)》请在冰豆网上搜索。

哈工大 英才学院 数据库 实验四.docx

哈工大英才学院数据库实验四

数据库系统应用

实验报告

实验4SQL的视图及存储过程操作

学号:

姓名:

主讲教师:

张建国

指导教师:

张建国

提交日期:

2012年12月5日

 

计算机科学与技术学院

2010年秋季学期

1.实验任务

(1)练习视图操作,并记录操作的语句、问题、问题产生的原因及解决的过程。

(2)练习存储过程操作,并记录操作的语句、问题、问题产生的原因及解决的过程。

(3)练习自定义函数操作,并记录操作的语句、问题、问题产生的原因及解决的过程。

2.实验内容

2.1视图

(1)创建视图

(2)视图更新

(3)视图查询

(4)自己再设计一些感兴趣的操作

2.2存储过程

(1)创建存储过程

(2)执行存储过程

2.3自定义函数

(1)标量函数

(2)内嵌表函数

(3)调用函数

3.完成内容

3.1视图

(1)创建视图

1)创建某学院全体学生的视图,属性包括:

学号、姓名、性别、年龄、高考分数、定向否、省份。

SQL语句:

createviewyingcai_student(Sno,Sname,Sex,Sage,Exmascore,Directional,Province)

as

selectSno,Sname,Sex,year(GETDATE())-year(birthday),Exmascore,Directional,Province

fromStudentjoinSchoolonStudent.Schoolno=School.Schoolno

whereSchoolname='英才学院';

操作结果截图:

问题及解决状况:

2)创建某门课程的成绩单视图,属性包括:

学号、姓名和分数。

SQL语句:

createviewwuli_chengji

as

selectStudent.Sno,Sname,Totalscore

fromStudentjoinSConStudent.Sno=SC.Sno

joinCourseonSC.Cno=Course.Cno

whereCname='大学物理';

操作结果截图:

问题及解决状况:

3)创建某个学生的成绩单视图,属性包括:

学号、姓名、课名、学分和分数

SQL语句:

createviewdiaochan_chengji

as

selectStudent.Sno,Sname,Cname,Credit,Totalscore

fromStudentjoinSConStudent.Sno=SC.Sno

joinCourseonSC.Cno=Course.Cno

whereSname='貂蝉';

操作结果截图:

问题及解决状况:

4)创建全体学生的平均成绩视图:

属性包括:

学号和平均成绩

SQL语句:

createviewall_Gavg(Sno,Avgscore)

as

selectStudent.Sno,AVG(Totalscore)

fromStudentjoinSConStudent.Sno=SC.Sno

joinCourseonSC.Cno=Course.Cno

groupbyStudent.Sno;

操作结果截图:

问题及解决状况:

5)创建各省平均高考分数的视图,属性包括:

省份和平均考分。

SQL语句:

createviewpv_Avg(Province,Avgexmascore)

as

selectProvince,AVG(Exmascore)

fromStudent

groupbyProvince;

操作结果截图:

问题及解决状况:

6)创建女生部学生的视图:

内容包括:

学号、姓名、出生日期、学院名。

SQL语句:

createviewall_girl

as

selectSno,Sname,Birthday,Schoolname

fromStudentjoinSchoolonStudent.Schoolno=School.Schoolno

whereSex='女';

操作结果截图:

问题及解决状况:

(2)视图更新

利用视图完成下列操作:

1)在某学院视图中插入一个新同学的全部数据。

SQL语句:

INSERTINTOyingcai_studentVALUES('6100800115','王珞丹','女',20,538,1,'四川');

操作结果截图:

问题及解决状况:

问题:

无法插入

原因:

生日为计算结果,不能插入

2)在某学院视图中插入一个新同学的部分数据。

SQL语句:

INSERTINTOyingcai_student(Sno,Sname,Sex)VALUES('6100800115','王珞丹','女');

操作结果截图:

问题及解决状况:

问题:

部分数据无法插入到视图中,只能插入到表中

3)将全体学生平均成绩视图中的某学生的成绩改为90分。

SQL语句:

updateall_GavgsetAvgscore=90whereSnoin(selectSnofromStudentwhereSname='张飞');

操作结果截图:

问题及解决状况:

问题:

无法插入

原因:

平均分为计算结果,不能插入

(3)视图查询

1)在某学院全体学生视图中查询该学院某个学生的数据。

SQL语句:

select*fromyingcai_studentwhereSname='张飞';

操作结果截图:

问题及解决状况:

2)查询某门课程的成绩单,并按分数降序排列。

SQL语句:

select*fromwuli_chengjiorderbyTotalscoredesc;

操作结果截图:

问题及解决状况:

3)查询某门学生的成绩单,并按课号升序排列。

SQL语句:

selectSno,diaochan_chengji.Sname,diaochan_chengji.Cname,diaochan_chengji.Credit,Totalscorefromdiaochan_chengjijoinCourseondiaochan_chengji.Cname=Course.CnameorderbyCno;

操作结果截图:

问题及解决状况:

问题:

只有一门课,体现不出升序

4)查询某省高考的平均成绩,并按平均成绩降序排列。

SQL语句:

selectProvince,Avgexmascorefrompv_sheetorderbyAvgexmascoredesc;

操作结果截图:

问题及解决状况:

(4)自己再设计一些感兴趣的操作

查询英才学院所有学生的学号和年龄,并按年龄降序排列。

SQL语句:

selectSno,Sagefromyingcai_studentorderbySagedesc;

操作结果截图:

问题及解决状况:

2.2存储过程

(1)创建存储过程

1)创建无参数存储过程

创建查询全体学生平均成绩的存储过程:

属性包括:

学号和平均成绩。

SQL语句:

操作结果截图:

问题及解决状况:

2)创建单参数存储过程

创建按学号查询某学生情况的存储过程;

SQL语句:

操作结果截图:

问题及解决状况:

创建按姓名查询学生情况的存储过程。

3)创建多参数存储过程

创建查询某个学生选修某门课程的分数的存储过程。

SQL语句:

操作结果截图:

问题及解决状况:

(2)执行存储过程

利用

(1)创建的存储过程执行某些操作。

SQL语句:

操作结果截图:

问题及解决状况:

2.3自定义函数

(1)标量函数

1)创建一个将角度转换成弧度的标量函数。

SQL语句:

操作结果截图:

问题及解决状况:

2)创建一个统计学生总数的标量函数。

SQL语句:

操作结果截图:

问题及解决状况:

3)创建一个计算某学生平均成绩的标量函数。

SQL语句:

操作结果截图:

问题及解决状况:

(2)内嵌表函数(选做)

1)创建一个查询按学号查询学生情况的函数。

SQL语句:

操作结果截图:

问题及解决状况:

2)创建一个统计各学院学生人数的函数,属性包括:

学院名称和人数。

SQL语句:

操作结果截图:

问题及解决状况:

(3)调用函数

设计一些操作,调用自己创建的函数。

说明:

上述操作可适当修改,以便更好地理解相关内容。

SQL语句:

操作结果截图:

问题及解决状况:

4.未完成内容

5.实验总结

(1)实验中遇到的问题,问题产生的原因,如何解决问题,还有哪些问题未得到解决;

问题:

插入部分数据显示插入成功却找不到

产生的原因:

部分数据只能插入到表中,插入不到视图中

解决方法:

(2)本次实验的体会。

对视图有了更加深入的了解

6.意见与建议

希望实验室的SQLServer早日更新为2008/2012。

实验评价:

指导

教师

评语

 

实验成绩

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1