实 验 报 告实验九.docx
- 文档编号:17342894
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:9
- 大小:60.20KB
实 验 报 告实验九.docx
《实 验 报 告实验九.docx》由会员分享,可在线阅读,更多相关《实 验 报 告实验九.docx(9页珍藏版)》请在冰点文库上搜索。
实验报告实验九
实验报告
专业:
计算机科学与技术班级:
10科技2学号:
201024131234姓名:
黄萍
课程名称:
数据库系统原理2011-2012学年度第2学期
课程类别:
专业必修实验时间:
2012年4月18日
实验名称:
数据视图
实验目的和要求:
1.加深对数据视图作用的理解
2.掌握应用视图有选择性地查看所需数据的方法
3.掌握通过视图更改数据表中数据的方法。
4.掌握创建视图的实现方法
5.掌握更新视图的实现方法及理解视图更新操作的有关规定
6.掌握删除视图的实现方法
实验软硬件要求:
安装有windows2000、windowsXP或windowsNT操作系统的计算机一台;同时还要安装有microsoftSQLServer2000或SQLServer2000任意版本,实验开始前还要有创建好的SCDB数据库和ShiYan数据库附加到当前SQL数据库服务器中。
实验内容、实验过程、所遇问题及其解决方法
见附页
实验总结及心得体会:
实验过程中学会了对视图的创建,更新,和删除等多种操作。
但是经常犯一些小错误,有时候对题目理解不够。
总的来说,这次的实验做得比较顺利,这都得益于认真听课和实验前先看书。
学习的兴趣也浓厚了很多。
评定成绩:
批阅教师:
年月日
实验内容:
针对实验数据库ShiYan,完成以下有关视图操作任务
1、分别用“企业管理器”和Transact_SQL语言为S表的SNO和SNAME属性建立名为S_View的视图
SQL脚本程序如下:
createviewS_View
asselectsno,sname
froms
创建的视图如下:
2、为三建工程项目建立一个名为SanJian_View的供应情况视图,该视图包括供应商代码(SNO),零件代码(PNO),供应数量(QTY)。
SQL脚本程序如下:
第一次:
createviewSanJian_View
Asselectsno,pno,qty
fromspj,j
wherespj.jno=j.jnoandjname='三建'
查询结果:
有视图,但没有没有数据
修改后:
createviewSanJian_View
asselectsno,pno,qty
fromspj,j
wherespj.jno=j.jnoandjnamelike'三%建'
运行结果正确,创建了符合条件的视图
创建的视图如下:
3、在SanJian_View中找出三建工程项目使用的各种零件代码及其数量
SQL脚本程序如下:
selectpno,sum(qty)
fromSanJian_View
wherejnamelike'三%建'
运行结果:
列名jname无效
参考脚本程序:
selectpno,sum(qty)
fromSanJian_View
groupbypno
错误原因:
视图中没有jname这一属性列,故无效;由
(2)知该视图是为三建工程建的了;不必再以“三建工程”为查询条件。
运行结果:
4、在SanJian_View中找到供应商S1的供应情况。
SQL脚本程序如下:
select*
fromSanJian_View
wheresno='s1'
运行结果如下:
5、建立颜色为红色且重量大于10的零件视图P_View.
SQL脚本程序如下:
createviewP_View
asselect*
fromp
wherecolor='红'andweight>10
创建的视图如下:
6、将供应商号以及它为所有工程所供应的零件总数定义为一个视图S_Q_View.
SQL脚本程序如下:
createviewS_Q_View
asselectsno,sum(qty)
fromspj
groupbysno
运行结果:
创建视图或函数失败,因为没有为第2列指定列名。
修改后:
createviewS_Q_View(sno,sumqty)
asselectsno,sum(qty)
fromspj
groupbysno
错误原因:
没有创建属性列列名,和表的查询一样,存在的属性列才能查询
创建的视图如下:
7、在SPJ表上按属性SNO分组,求出每组在属性QTY上属性上的最大值、最小值和平均值,且将它们置于视图RVE_View中,然后查询RVE_Viewz中供应商号为S4的记录。
参考SQL脚本程序:
createviewRVE_View(sno,qtyMax,qtyMin,qtyMvg)
asselectsno,max(qty),min(qty),avg(qty)
fromspj
groupbysno
go
select*
fromRVE_View
wheresno='s4'
运行结果:
8、将S_View视图中供应商号为S5的供应商名修改为“为国”,并查询S表的修改结果。
SQL脚本程序如下:
updateS_View
setsname='为国'
wheresno='s5'
go
select*fromS
查询结果:
9、在S_View视图中插入一个新的记录,供应商号为S6,供应商名为“华誉”,并查询S表的修改结果。
SQL脚本程序:
insertintoS_View
values('s6','华誉')
select*fromS
运行结果:
10、删除SanJian_View视图中供应商号为S1的相应记录。
SQL脚本程序如下:
delete
fromSanJian_View
wheresno='s1'
select*fromspj
11、为视图S_View建立供应商名SNAME的视图S_Sname_View。
SQL脚本程序如下:
createviewS_Sname_View
asselectsname
fromS_View
运行结果:
12、将视图S_View改名为SS_View
SQL脚本程序如下:
execsp_rename's_view','ss_view','object'
运行结果:
13、分别用“企业管理器”和Transact_SQL将视图SS_View做如下修改:
在SS_View中新增一列,列名为CITY,并且要求CITY属性值为“上海”。
SQL脚本程序如下:
alterviewSS_View
asselectsno,sname,city
froms
wherecity='上海'
运行结果:
14、分别用“企业管理器”和Transact_SQL语言删除视图SS_View
SQL脚本程序如下:
DropviewSS_View
15、在SQLServer2000的“企业管理器”中分别在已经存在的基本表和视图表上单击右键,然后分别选择“设计表”和“设计视图”,在弹出的“设计表”和“设计视图”子界面上比较“基本表”和“视图表”之间的区别。
解:
视图中看到的数据在数据库中并不存储,基本表中的数据存储在数据库中。
数据库中只存储视图的定义,当用户请求从视图中查询数据时,数据将从相应的基本表中检索出来。
设计表:
设计视图:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 告实验九 实验