视图

总论:什么是视图

    视图时从一个或几个基本表(或视图)导出的表,它只是基本表的虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表里。

    因此当基本表中的数据发生变化时,从视图中查询出的数据也随之改变了(已经尝试过),通过视图便能看到数据库中数据的变化

    视图一旦定义,就可以和基本表一样被查询、被删除。也可以在一个视图之上再定义一个新的视图,但对视图的更新(增,删,改)有一定的限制。

一、建立视图

SQL语言使用 create view 建立视图

 建立01班学生的视图

 create view 01_class-------视图名  还可以后边指定列名(姓名 学号。不过要对应)

 select Sno,Sname

 from Student

 where Sclass='01'

 当将select 后面指定*时 那么在修改基本表的结构后,基本表与视图的映像关系受到破坏,导致视图不可用 所以建立视图时尽量指点列名。

 with check option 表示谓词条件---对视图进行update insert delete 操作时要保证

 以下情况必须列出的列名:

 1.某个目标列不是单纯的属性名,而是聚集函数或者列表达式

 2.多表连接时选出了几个同名列作为视图的字段

 3.需要在视图中为某个列启用新的更合适的名字

 说明:

  RDBMS只是执行create 结果只是把视图的定义存入数据字典,并不执行其中的select语句。只是在对视图查询时,才按视图的定义从基本表中将数据查出。

  当在定义视图时加上了with check option 时 以后对该视图的操作 RDBMS会自动加上以上的where条件

 

 

 

 

 

 

 

 

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值