数据库视图和索引游标实验报告Word文档下载推荐.docx
- 文档编号:18481045
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:9
- 大小:106.15KB
数据库视图和索引游标实验报告Word文档下载推荐.docx
《数据库视图和索引游标实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据库视图和索引游标实验报告Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
实验成绩
实验性质
□验证性□设计性□综合性
教师评价:
□算法/实验过程正确;
□源程序/实验内容提交□程序结构/实验步骤合理;
□实验结果正确;
□语法、语义正确;
□报告规范;
其他:
评价教师签名:
一、实验目的
1.学习并掌握视图的创建、使用、修改和删除。
2.学习并掌握索引的创建和使用。
3.学习并掌握数据库的连接操作。
4.掌握transact-SQL的变量定义方法。
5.了解并掌握游标的定义。
6.了解并掌握声明、打开、提取、关闭和释放游标。
7.了解并掌握使用游标修改数据。
二、实验项目内容
实验三:
1.(改编自3.1a.)建立视图,它给出了名叫Einstein的教师所教的所有学生的信息,保证结果中没有重复。
2.用SQL查询语句写出下面的查询。
a.显示所有教师的列表,列出他们的ID,姓名以及所讲授的课程段的编号。
对于没有讲授任何课程段的教师,确保将课程段的编号显示为0。
在你的查询中应该使用外连接,不能使用标量子查询。
b.使用标量子查询,不能使用外连接写出上述查询。
c.显示2010年春季开设的所有课程的列表,包括讲授教程段的教师的姓名。
如果一个课程段有不止一位教师讲授,那么有多少位教师,此课程段在结果中就出现多少次。
如果一个课程段没有任何教授,他也要出现在结果中,相应的教师名设置为“—”。
d.显示所有系的列表,包括每个系中教师的总数,不能使用标量子查询。
确保正确处理没有教师的系。
4.2不使用SQL外连接运算也可以在SQL中计算外连接表达式。
为了阐明这个事实,不使用外连接表达式重写下面的SQL查询。
a.select*fromstudentnaturalleftouterjointakes
b.select*fromstudentnaturalfullouterjointakes
实验四:
1.用游标的方式完成,3.3a使用大学模式,给Comp.Sci.系的每位老师涨10%的工资。
2.(改编自3.1a.)用游标的方式完成,使用大学模式,找出名叫Einstein的教师所教的所有学生的表示,保证结果中没有重复,并将他们赋值给变量student1、student2、、、studentn
三、实验过程或算法(源程序)
1.
CreateviewEinstein_student
As
Selectdistinctinstructor.name,advisor.i_ID,advisor.s_ID,student.ID,student.name
Fromstudent,instructor,advisor
Whereinstructor.name='
Einstein'
andadvisor.i_ID='
22222'
andadvisor.s_ID=student.ID
2.
a.
select*
frominstructorleftouterjointeaches
oninstructor.ID=teaches.ID
b.
selectID,name,
(selectcount(course_id)asbianhao
fromteacheswhereteaches.ID=instructor.ID)
frominstructor
c.
selectteaches.course_id,instructor.name
fromteaches,instructor
whereteaches.semester='
Spring'
andteaches.year=2010andteaches.ID=instructor.ID
d.
fromdepartmentleftouterjoininstructor
ondepartment.dept_name=instructor.dept_name
3.
fromstudentnaturaljointakes
union
selectID,name,dept_name,tot_cred,NULL,NULL,NULL,NULL,NULL,NULL
fromstudentwherenotexists
(selectIDfromtakeswheretakes.ID=student.ID)
(select*
fromstudentnaturaljointakes)
(selectID,name,dept_name,tot_cred,NULL,NULL,NULL,NULL,NULL,NULL
fromstudent
wherenotexists
(selectIDfromtakeswheretakes.ID=student.ID))
fromtakes
(selectIDfromstudentwheretakes.ID=student.ID))
begintran
declareupsacursorfor
wheredept_name='
Comp.Sci.'
openupsa
fetchnextfromupsa
updateinstructor
setsalary=salary*1.10
wherecurrentofupsa
while@@FETCH_STATUS=0
begin
end
committran
closeupsa
deallocateupsa
declarestudentcursorFor
selectdistinctstudent.ID,student.name,student.dept_name,student.tot_cred
frominstructor,student,advisor
whereinstructor.name='
andinstructor.ID=advisor.i_IDandadvisor.s_ID=student.ID
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
END
closestudent
DEALLOCATEstudent
四、实验结果及分析和(或)源程序调试过程
1.执行结果如下:
2.a
命令成功完成。
2.b
2.c
2.d
2.命令成功完成。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 视图 索引 游标 实验 报告