欢迎访问web记录!每一步的成长都是一种幸福,聪明的女孩擅长记录幸福!
您现在的位置:web记录 > 数据库 >

视图的创建和应用

更新时间:2012-11-21 浏览次数:
视图的创建和应用
实验目的:
1、  掌握通过图形和命令创建、修改和删除视图的方法;
2、  掌握查看视图信息的方法;
3、  掌握通过视图修改数据表的方法
实验内容:(以下视图的创建基础是人事数据库中的表bm1,zgda1,gzqk1
1、  创建视图view_da要求显示zgda1表中所有姓‘张’教师的信息,并按照性别进行升序排序。
2、  创建视图view_renshi,要求显示“计算机系”所有教职工的E_id,E_name,E_sex,E_zhicheng,E_recsallary
3、  创建视图view_gzd,要求显示实发工资小于1500元的所有教职工的E_id,E_name,dp_name,E_recsallary,并且加密视图。
4、  创建视图,要求求计算各个部门职工的工资总数和平均工资数。
5、  分别使用查看视图命令:sp_help sp_helptext对第四题创建的视图进行查看。
6、  使用视图修改命令对视图view_renshi进行修改,在该视图中增加一个条件:要求只显示工资在1000元以上的“计算机系”教职工的E_id,E_name,E_sex,E_zhicheng,E_recsallary
7、  使用sp_rename命令对view_da进行重命名为view_teacher
8、  先创建一个基于表bm1的视图view_xb,要求显示“经贸系”的记录。向该试图中分别插入满足经贸系条件的记录和不满足该条件的记录,查看视图的显示结果有何不同。
9、在表gzqk1的基础上创建视图,显示工资在1000元以上的E_id,E_name,E_allsalary,E_recsallary等相关信息,然后通过该视图来修改表gaqk1中的记录。
再通过记录删除语句将刚插入的记录删除掉,看一下视图和基表gaqk1中的记录情况。
10、修改第2题创建的视图view_renshi中的记录,查看结果?


1.
use 人事数据库
go
if exists(select * from sysobjects where name='view_da' )
drop view view_da
go
create view view_da
as
select top 20 * from zgda where E_name like '张%' and E_zhiwu='教师' order by E_sex
select * from view_da
go
2.
if exists(select * from sysobjects where name='view_renshi')
drop view view_renshi
go
create view view_renshi
as
select zgda.E_id,zgda.E_name,E_sex,E_zhicheng,E_recsalary from zgda,gzqk,bm
where zgda.E_id=gzqk.E_id and bm.Dp_name='计算机系' and zgda.Dp_id=bm.Dp_id
select * from view_renshi
go
3.
if exists(select * from sysobjects  where name='view_gzd')
drop view view_gzd
go
create view view_gzd with encryption
as
select zgda.E_id,zgda.E_name,dp_name,E_recsalary from zgda join bm on zgda.Dp_id=bm.Dp_id join
gzqk on zgda.E_id=gzqk.E_id and gzqk.E_recsalary<1500
select * from view_gzd
go
4.
if exists(select * from sysobjects where name='view_4')
drop view view_4
go
create view  view_4
as
select bm.Dp_name,sum(gzqk.E_recsalary) as 工资总和,AVG(E_recsalary) as 平均工资数 from gzqk, zgda,bm
where gzqk.E_id=zgda.E_id and  zgda.Dp_id=bm.Dp_id group by bm.Dp_name
go
select * from view_4
5.
exec sp_help view_4
exec sp_helptext view_4
6.
alter view view_renshi
as
select zgda.E_id,zgda.E_name,E_sex,E_zhicheng,E_recsalary from zgda,gzqk,bm
where zgda.E_id=gzqk.E_id and bm.Dp_name='计算机系'  and zgda.Dp_id=bm.Dp_id and gzqk.E_recsalary>100
select * from view_renshi
go
7.
exec sp_rename view_da,view_teacher
8.
if exists(select * from sysobjects where name='view_xb')
drop view view_xb
go
create view view_xb
as
select * from  bm where Dp_name='经贸系'
select * from view_xb
insert into view_xb
   values('06','经贸系','代','三楼','0311-54879265')
   go
   //记录留在了表中
  insert into view_xb
     values('07','计算机系','李','三楼','0311-54879295')
  go
  //记录未留在表中
9.
create view view_gongzi as select E_id,E_name,e_allsalary,e_recsalary   from gzqk where e_recsalary >1000
  go
  insert into view_gongzi
   values ('0009','李三','583','598')
   go
   delete from view_gongzi where e_id='0009'
   go
10.update view_renshi
  set e_id='0012' where e_name='张三'
关键词:

    + 相关信息

    前端案例

    返回顶部 欢迎访问web记录!每一步的成长都是一种幸福,聪明的女孩擅长记录幸福!