【牛腩新闻发布系统】视图学习

【引言】

很惭愧,在机房个人重构的时候,我没有用到视图,也没有用到触发器。还好,在牛腩新闻发布系统的时候我算是真正接触了视图这个东西了。学了很久了都没有写个总结来加深对视图的了解,总感觉欠了什么东西样。

【视图】

一、定义

视图是从若干基本表和(或)其他视图构造出来的表,所以它也属于数据库中的一种表。从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据。从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表。从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图。如我们队数据库的增删改查操作。

1、简单性。看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。

2、 安全性。通过视图用户只能查询和修改他们所能见到的数据。但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上:使用权限可被限制在另一视图的一个子集上,或是一些视图和基表合并后的子集上。

3、逻辑数据独立性。视图可帮助用户屏蔽真实表结构变化带来的影响。

三、优点

优点和作用是相通的

1、视点集中:视图集中即是使用户只关心它感兴趣的某些特定数据和他们所负责的特定任务。这样通过只允许用户看到视图中所定义的数据而不是视图引用表中的数据而提高了数据的安全性。

2、简化操作: 视图大大简化了用户对数据的操作。因为在定义视图时,若视图本身就是一个复杂查询的结果集 ,这样在每一次执行相同的查询时,不必重新写这些复杂的查询语句,只要一条简单的查询视图语句即可。可见视图向用户隐藏了表与表之间的复杂的连接操作。
3、定制数据: 视图能够实现让不同的用户以不同的方式看到不同或相同的数据集 。因此,当有许多不同水平的用户共用同一数据库时,这显得极为重要。
4、合并分割数据: 在有些情况下,由于表中数据量太大,故在表的设计时常将表进行水平分割 或垂直分割,但表的结构的变化却对应用程序产生不良的影响。如果使用视图就可以重新保持原有的结构关系,从而使外模式保持不变,原有的应用程序仍可以通过视图来重载 数据。
5、安全性: 视图可以作为一种安全机制。通过视图用户只能查看和修改他们所能看到的数据。其它数据库或表既不可见也不可以访问。如果某一用户想要访问视图的结果集 ,必须授予其访问权限。视图所引用表的访问权限与视图权限的设置互不影响。
四、视图的操作
1、创建:
Create view<视图名>(<列表序列>) 
as <select查询语句>

2、撤销:
drop view<视图名>

五、视图与存储过程的比较
总觉得视图和存储过程傻傻分不清,后面到网上查了一下,发现有一个人写得关于这方面的总结挺不错的 点击打开链接

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值