实 验 报 告(实验九)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验内容:

针对实验数据库ShiYan,完成以下有关视图操作任务

1、分别用“企业管理器”和Transact_SQL语言为S表的SNO和

SNAME属性建立名为S_View的视图

SQL脚本程序如下:

create view S_View

as select sno,sname

from s

创建的视图如下:

2、为三建工程项目建立一个名为SanJian_View 的供应情况视

图,该视图包括供应商代码(SNO),零件代码(PNO),供应数量(QTY)。

SQL脚本程序如下:

第一次:create view SanJian_View

As select sno,pno,qty

from spj,j

where spj.jno=j.jno and jname ='三建'

查询结果:有视图,但没有没有数据

修改后:create view SanJian_View

as select sno,pno,qty

from spj,j

where spj.jno=j.jno and jname like'三%建' 运行结果正确,创建了符合条件的视图

创建的视图如下:

3、在SanJian_View中找出三建工程项目使用的各种零件代码及

其数量

SQL脚本程序如下:

select pno,sum(qty)

from SanJian_View

where jname like '三%建'

运行结果:列名jname 无效

参考脚本程序:

select pno,sum(qty)

from SanJian_View

group by pno

错误原因:视图中没有jname 这一属性列,故无效;由(2)知该视图是为三建工程建的了;不必再以“三建工程”为查询

条件。

运行结果:

4、在SanJian_View中找到供应商S1的供应情况。

SQL脚本程序如下:

select *

from SanJian_View

where sno='s1'

运行结果如下:

5、建立颜色为红色且重量大于10的零件视图P_View.

SQL脚本程序如下:

create view P_View

as select *

from p

where color = '红' and weight>10

创建的视图如下:

6、将供应商号以及它为所有工程所供应的零件总数定义为一个视

图S_Q_View.

SQL脚本程序如下:

create view S_Q_View

as select sno,sum(qty)

from spj

group by sno

运行结果:创建视图或函数失败,因为没有为第2 列指定列名。

修改后:

create view S_Q_View(sno,sumqty)

as select sno,sum(qty)

from spj

group by sno

错误原因:没有创建属性列列名,和表的查询一样,存在的属

性列才能查询

创建的视图如下:

7、在SPJ表上按属性SNO分组,求出每组在属性QTY上属性上

的最大值、最小值和平均值,且将它们置于视图RVE_View中,然后查询RVE_Viewz中供应商号为S4的记录。

参考SQL脚本程序:

create view

RVE_View(sno,qtyMax,qtyMin,qtyMvg)

as select sno,max(qty),min(qty),avg(qty)

from spj

group by sno

go

select *

from RVE_View

where sno='s4'

运行结果:

8、将S_View视图中供应商号为S5的供应商名修改为“为国”,

并查询S表的修改结果。

SQL脚本程序如下:

update S_View

set sname='为国'

where sno='s5'

go

select * from S

查询结果:

9、在S_View视图中插入一个新的记录,供应商号为S6,供应商名

为“华誉”,并查询S表的修改结果。

SQL脚本程序:

insert into S_View

values('s6','华誉')

select * from S

运行结果:

10、删除SanJian_View视图中供应商号为S1的相应记录。

SQL脚本程序如下:

delete

from SanJian_View

where sno='s1'

select * from spj

11、为视图S_View建立供应商名SNAME的视图

S_Sname_View。

SQL脚本程序如下:

create view S_Sname_View

as select sname

from S_View

运行结果:

12、将视图S_View改名为SS_View

SQL脚本程序如下:

exec sp_rename 's_view','ss_view','object' 运行结果:

13、分别用“企业管理器”和Transact_SQL将视图SS_View做如

下修改:在SS_View中新增一列,列名为CITY,并且要求CITY 属性值为“上海”。

SQL脚本程序如下:

alter view SS_View

as select sno,sname,city

from s

where city='上海'

运行结果:

14、分别用“企业管理器”和Transact_SQL语言删除视图SS_View

SQL脚本程序如下:

Drop view SS_View

相关文档
最新文档