视图的定义,修改,删除,更新,以及定义视图的好处。

视图
视图是从一个或几个基本表(或视图)导出的表。它与基本表不同,是一个虚表。视图一经定义,就可以和基本表一样被查询,被删除。也可以在视图之上再定义新的视图,但对视图的更新(增,删,改)操作则有一定的限制。

1.1.1 定义视图
1,建立视图
sql语言用create view 命令建立视图,其一般格式为
create view <视图名> [(<列名>[,<列名>]…)] as <子查询> [with check option]

注:with check option 表示对视图进行update,insert和delete操作时要保证更新,插入或删除的行满足视图定义中谓词条件(即子查询中的条件表达式)。

1.1.2 查询视图
关系数据库管理系统执行对视图的查询时,首先进行有效性检查,检查查询中涉及的表,视图等是否存在。如果存在,则从数据字典中取出视图的定义,把定义的子查询和用户的查询结合起来,转换成等价的基本表的查询,然后再执行修正了的查询。这一转换过程称为试图消解。

1.1.3 删除视图
该语句的格式为
drop view <视图名> [cascade]|[restrict];
视图删除后视图的定义将从数据词典中删除。如果该视图上还导出了其他视图,则使用cascade级联删除语句把该视图和由他导出的所有视图都一起删除;restrict会进行判断,如果该视图还导出了其它视图,则会拒绝删除,报错,否则可以成功执行。

1.1.4 更新视图
更新视图是指通过视图来插入(insert),删除(delete)和修改(update)数据。
由于视图是不实际存储数据的虚表,因此对视图的更行最终要转换为对基本表的更行。一般地,行列子集视图是可更新的。
行列子集视图是可以更新的,如在视图上对学生姓名进行更改;非行列子集视图是不可以更改的,在原来的基础表中使用了sum等函数定义的视图,此视图的此值是无法更新的。
小重点:
一个不允许更新的视图上定义的视图也是不允许更新。应该指出的是,不可更新的视图与不允许更新的视图是两个不同的概念。

1.1.5 视图的作用
1,视图能简化用户的操作
2,能使用户多角度看待同一问题
3,为数据库的重构提供一定的逻辑独立性支持
4,视图能够对机密数据提供安全保护
5,适当的利用视图可以更清晰地表达查询

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值