数据库实验报告.docx

上传人:b****5 文档编号:4575023 上传时间:2022-12-06 格式:DOCX 页数:11 大小:178.60KB
下载 相关 举报
数据库实验报告.docx_第1页
第1页 / 共11页
数据库实验报告.docx_第2页
第2页 / 共11页
数据库实验报告.docx_第3页
第3页 / 共11页
数据库实验报告.docx_第4页
第4页 / 共11页
数据库实验报告.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

数据库实验报告.docx

《数据库实验报告.docx》由会员分享,可在线阅读,更多相关《数据库实验报告.docx(11页珍藏版)》请在冰豆网上搜索。

数据库实验报告.docx

数据库实验报告

数据库系统原理

实验报告

 

实验名称:

视图和游标操作的实验

任课教师:

霍纬刚

学号:

100341324

姓名:

汪何媛

完成日期:

2012.11.3

 

实验名称:

视图和游标操作的实验

一、实验目的

1、理解视图的作用,能够根据实际需求用SQL创建视图

2、对基本表按需定义视图,并理解可以通过视图实现对基本表的操作

3、通过QRACLE环境下的游标操作,理解SQL的游标概念;

4、综合运用SQL的DML命令,通过游标操作数据库。

二、实验内容与步骤

1、进入QRACLE的SQL*PLUS环境;

2、用于Createview语句定义视图;

(1)建立信息系学生的视图,然后向其中插入一计算机系学生数据,分别查看视图和基本表;

(2)建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系学生,然后向其中插入一计算机系学生,比较

(1),

(2)的不同;

(3)建立信息系选修了1号课程且成绩在90分以上的学生的视图;

(4)将学生的学号及他的平均成绩定义为一个视图S_G;

(5)将SC表中成绩在相应课程平均成绩之上的元组定义成一个视图GOOD-SC;

3、通过视图对表进行操作

(1)在信息系学生的视图中找出年龄小于20岁的学生;

(2)查询信息系选修了1号课程且成绩在90分以上的学生;

(3)在S_G视图中查询平均成绩在90分以上的学生学号和平均成绩;

(4)创建CS-KC视图,包括计算机专业各学生的学号、其选修的课程号及成绩,要保证对该视图的修改都要符合专业名为“计算机”这个条件;

(5)查找计算机专业的学生学号和选修的课程号;

(6)向S-G视图中插入一元组。

4、游标的操作

(1)用简单循环控制从EMP表中取出某一部门的员工姓名和工资,存入TEMP表中;

(2)采用FOR循环重做上题;

(3)游标的FOR循环内使用查询;

(4)查询EMP表某部门的雇员情况,如果某雇员的工资小于800,掌握将其工资设为800;

(5)为职工涨10%的工资。

从最低工资开始涨,最后工资总额限制在50万元以内;

(6)根据DEPT表中返回的部门号,从EMP表中查询该部门的雇员情况,使用带参数的游标;

(7)统计EMP表中工资大于3000的记录数,而且给工资增长10%。

三、实验结果与结论

2、用于Createview语句定义视图

(1)建立信息系学生的视图,然后向其中插入一计算机系学生数据,分别查看视图和基本表

createviewIS_pc

2>as

3>selectsno,sname,ssex,sage,sdept

4>froms

5>wheresdept='pc'

insertintoIS_pcvalues('014','李昕','女','19','ac');

处理了1行。

(2)建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系学生,然后向其中插入一计算机系学生,比较

(1),

(2)的不同;

SQLWKS>createviewIS_ac

2>as

3>selectsno,sname,ssex,sage,sdept

4>froms

5>wheresdept='ac'

6>withcheckoption

SQLWKS>insertintoIS_acvalues('014','班国龙','男','20','pc');

ORA-01402:

视图WITHCHECKOPTIDN违反where子句

(3)建立信息系选修了1号课程且成绩在90分以上的学生的视图;

SQLWKS>createviewIS_S1(sno,sname,grade)

2>as

3>selects.sno,sname,grade

4>froms,sc

5>wheresdept='IS'

6>ands.sno=sc.sno

7>ando='1';

SQLWKS>createviewIS_S2

2>as

3>selectsno,sname,grade

4>fromIS_S1

5>wheregrade>=90;

select*fromIS_S2;

SNOSNAMEGRADE

-------------------------

已选择0行。

(4)将学生的学号及他的平均成绩定义为一个视图S_G;

SQLWKS>createviewS_G(sno,Gavg)

2>as

3>selectsno,AVG(grade)

4>fromsc

5>groupbysno;

语句已处理。

SQLWKS>select*fromS_G;

SNOGAVG

---------------

00185

00289

00375

00493

00581

00663

00782

00884

00995

01083

已选择10行。

(5)将SC表中成绩在相应课程平均成绩之上的元组定义成一个视图GOOD-SC;

SQLWKS>createviewC_G(cno,Gavg)

2>as

3>selectcno,AVG(grade)

4>fromsc

5>groupbycno;

语句已处理。

SQLWKS>createviewGOOD_SC

2>as

3>selectsno,o,grade

4>fromsc,C_G

5>wheregrade>Gavg;

语句已处理。

SQLWKS>select*fromC_G;

CNOGAVG

--------------

0181.3333333

0279.6666667

0388

0485.5

已选择4行。

selectdistinct*fromGOOD_SC;

SNOCNOGRADE

-------------------

0010185

0020489

0040293

0050381

0070482

0080184

0090395

0100283

已选择8行。

3、通过视图对表进行操作

(1)在信息系学生的视图中找出年龄小于20岁的学生;

SQLWKS>selectsage

2>fromIS_pc

3>wheresage<20;

SAGE

----------

19

已选择1行。

(2)查询信息系选修了1号课程且成绩在90分以上的学生;

SQLWKS>selectgrade

2>fromIS_S1

3>wheregrade>=90;

GRADE

----------

已选择0行。

(3)在S_G视图中查询平均成绩在90分以上的学生学号和平均成绩;

SQLWKS>selectGavg

2>fromS_G

3>wheregavg>=90

GAVG

----------

93

95

已选择2行。

(4)创建CS-KC视图,包括计算机专业各学生的学号、其选修的课程号及成绩,要保证对该视图的修改都要符合专业名为“计算机”这个条件;

SQLWKS>createviewCS1_KC

2>as

3>selects.sno,o,grade

4>fromsc,s

5>wheresdept='pc'

6>ands.sno=sc.sno

7>groupbys.sno,o,grade

8>withcheckoption;

语句已处理。

SQLWKS>selectdistinct*fromCS1_KC;

SNOCNOGRADE

-------------------

0040293

0070482

0100283

已选择3行。

(7)(5)查找计算机专业的学生学号和选修的课程号;

SQLWKS>selectsc.sno,cno

2>fromsc,IS_pc

3>wheresdept='pc'

4>andsc.sno=IS_pc.sno;

SNOCNO

---------

00402

00704

01002

已选择3行。

(8)(6)向S-G视图中插入一元组。

insertintoS_Gvalues('011','90');

4、游标的操作:

结果如图所示:

(1)用简单循环控制从EMP表中取出某一部门的员工姓名和工资,存入TEMP表中;

结果如图所示:

(2)采用FOR循环重做上题;

结果如图所示:

(3)游标的FOR循环内使用查询

结果如图所示:

(4)查询EMP表某部门的雇员情况,如果某雇员的工资小于800,掌握将其工资设为800;

结果如图所示:

(5)为职工涨10%的工资。

从最低工资开始涨,最后工资总额限制在50万元以内;

结果如图所示:

(6)根据DEPT表中返回的部门号,从EMP表中查询该部门的雇员情况,使用带参数的游标;

(8)(7)统计EMP表中工资大于3000的记录数,而且给工资增长10%。

结果如图所示:

四、过程分析和建议

在本次实验中,我熟悉了视图和游标的操作,从课堂到实验,我更加深刻理解了视图和游标的操作,将老师在课堂上的内容应用于实践,让自己的能力得到了提升。

在这次试验我发现:

1.在游标的操作中,游标的赋值宏定义只能在SQL/PULS环境下才能识别。

2.在向S-G视图中插入元组时,由于创建视图时加上了语句withcheckoption,权限为不能通过视图对表进行插入,以免修改视图是对表造成误操作。

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

当前位置:首页 > 高中教育 > 高中教育

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

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