数据库视图和索引 游标实验报告.docx

上传人:b****5 文档编号:29409379 上传时间:2023-07-23 格式:DOCX 页数:9 大小:271.82KB
下载 相关 举报
数据库视图和索引 游标实验报告.docx_第1页
第1页 / 共9页
数据库视图和索引 游标实验报告.docx_第2页
第2页 / 共9页
数据库视图和索引 游标实验报告.docx_第3页
第3页 / 共9页
数据库视图和索引 游标实验报告.docx_第4页
第4页 / 共9页
数据库视图和索引 游标实验报告.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

数据库视图和索引 游标实验报告.docx

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

数据库视图和索引 游标实验报告.docx

数据库视图和索引游标实验报告

《数据库系统》实验报告

年级、专业、班级

2011级计科4班

姓名

XX

实验题目

视图和索引游标

实验时间

2013/10/25

实验地点

A主414

实验成绩

实验性质

□验证性□设计性□综合性

教师评价:

□算法/实验过程正确;□源程序/实验内容提交□程序结构/实验步骤合理;

□实验结果正确;□语法、语义正确;□报告规范;

其他:

评价教师签名:

一、实验目的

1.学习并掌握视图的创建、使用、修改和删除。

2.学习并掌握索引的创建和使用。

3.学习并掌握数据库的连接操作。

4.掌握transact-SQL的变量定义方法。

5.了解并掌握游标的定义。

6.了解并掌握声明、打开、提取、关闭和释放游标。

7.了解并掌握使用游标修改数据。

二、实验项目内容

实验三:

1.(改编自.)建立视图,它给出了名叫Einstein的教师所教的所有学生的信息,保证结果中没有重复。

2.用SQL查询语句写出下面的查询。

a.显示所有教师的列表,列出他们的ID,姓名以及所讲授的课程段的编号。

对于没有讲授任何课程段的教师,确保将课程段的编号显示为0。

在你的查询中应该使用外连接,不能使用标量子查询。

b.使用标量子查询,不能使用外连接写出上述查询。

c.显示2010年春季开设的所有课程的列表,包括讲授教程段的教师的姓名。

如果一个课程段有不止一位教师讲授,那么有多少位教师,此课程段在结果中就出现多少次。

如果一个课程段没有任何教授,他也要出现在结果中,相应的教师名设置为“—”。

d.显示所有系的列表,包括每个系中教师的总数,不能使用标量子查询。

确保正确处理没有教师的系。

不使用SQL外连接运算也可以在SQL中计算外连接表达式。

为了阐明这个事实,不使用外连接表达式重写下面的SQL查询。

a.select*fromstudentnaturalleftouterjointakes

*fromstudentnaturalfullouterjointakes

实验四:

1.用游标的方式完成,使用大学模式,给.系的每位老师涨10%的工资。

2.(改编自.)用游标的方式完成,使用大学模式,找出名叫Einstein的教师所教的所有学生的表示,保证结果中没有重复,并将他们赋值给变量student1、student2、、、studentn

三、实验过程或算法(源程序)

实验三:

1.

CreateviewEinstein_student

As

Selectdistinct,,,,

Fromstudent,instructor,advisor

Where='Einstein'and='22222'and=

2.

a.

select*

frominstructorleftouterjointeaches

on=

b.

selectID,name,

(selectcount(course_id)asbianhao

fromteacheswhere=

frominstructor

c.

select,

fromteaches,instructor

where='Spring'and=2010and=

d.

select*

fromdepartmentleftouterjoininstructor

on=

3.

a.

select*

fromstudentnaturaljointakes

union

selectID,name,dept_name,tot_cred,NULL,NULL,NULL,NULL,NULL,NULL

fromstudentwherenotexists

(selectIDfromtakeswhere=

b.

(select*

fromstudentnaturaljointakes)

union

(selectID,name,dept_name,tot_cred,NULL,NULL,NULL,NULL,NULL,NULL

fromstudent

wherenotexists

(selectIDfromtakeswhere=)

union

(selectID,name,dept_name,tot_cred,NULL,NULL,NULL,NULL,NULL,NULL

fromtakes

wherenotexists

(selectIDfromstudentwhere=)

实验四:

1.

begintran

declareupsacursorfor

select*

frominstructor

wheredept_name='Comp.Sci.'

openupsa

fetchnextfromupsa

updateinstructor

setsalary=salary*

wherecurrentofupsa

while@@FETCH_STATUS=0

begin

fetchnextfromupsa

updateinstructor

setsalary=salary*

wherecurrentofupsa

end

committran

closeupsa

deallocateupsa

2.

declarestudentcursorFor

selectdistinct,,,

frominstructor,student,advisor

where='Einstein'and=and=

forreadonly

declare@idchar(20),@namechar(20),@dept_namechar(20),@tot_credchar(20)

openstudent

fetchnextFromstudentinto@id,@name,@dept_name,@tot_cred

WHILE@@FETCH_STATUS=0

BEGIN

PRINT@id+@name+@dept_name+@tot_cred

fetchnextFromstudentinto@id,@name,@dept_name,@tot_cred

END

closestudent

DEALLOCATEstudent

四、实验结果及分析和(或)源程序调试过程

实验三:

1.执行结果如下:

命令成功完成。

 

命令成功完成。

 

命令成功完成。

 

命令成功完成。

 

实验四:

1.

命令成功完成。

2.命令成功完成。

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

当前位置:首页 > 工作范文 > 制度规范

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

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