解释:在实际过程中,公司有不同角色的工作人员,我们以销售公司为例的话,采购人员,可以需要一些与其有关的数据,而与他无关的数据,对他没有任何意义。
第二点:使用视图,可以简化数据 *** 作。
解释:我们在使用查询时,在很多时候我们要使用聚合函数,同时还要显示其它字段的信息,可能还会需要关联到其它表,这时写的语句可能会很长,如果这个动作频繁发生的话,我们可以创建视图。
第三点:使用视图,基表中的数据就有了一定的安全性
因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以将基表中重要的字段信息,可以不通过视图给用户,视图是动态的数据的集合,数据是随着基表的更新而更新。同时,用户对视图,不可以随意的更改和删除,可以保证数据的安全性。
第四点:可以合并分离的数据,创建分区视图
随着社会的发展,公司的业务量的不断的扩大,一个大公司,下属都设有很多的分公司,为了管理方便,我们需要统一表的结构,定期查看各公司业务情况,而分别看各个公司的数据很不方便,没有很好的可比性,如果将这些数据合并为一个表格里,就方便多啦,这时我们就可以使用union关键字,将各分公司的数据合并为一个视图。
使用视图的好处是:1、从安全的角度来说,视图的数据安全性更高,使用视图的用户不接触数据表,不知道表的结构,可以只授予用户视图的权限,而不具体指定使用表的权限,来保护基础数据的安全;
2、视图的家里和删除只影响视图本身,不影响对应的基本表;
3、实际应用过程中,不同的用户可能对不同的数据有不同的要求。使用视图可定制用户数据,聚焦特定的数据;
4、使用查询时,很多时候要使用聚合函数,同时还要显示其他字段的信息,或关联其他表,语句可能很长,如果这个动作频繁发生,可以创建视图来简化 *** 作;
5、通过使用视图,每个用户不必都定义和存储自己所需的数据,可以共享数据库中的数据,同样的数据只需要存储一次;
6、通过使用视图,可以重新格式化检索出的数据,并组织输出到其他应用中去;
7、视图提供的是对查询 *** 作的封装,本身不包含数据,所呈现的数据时根据视图定义从基础表中检索出来的,如果基础表的数据新增或删除,视图呈现的也是更新后的数据。试图定以后,编写完所需的查询,可以方便地重用该视图。
扩充:
视图是从一个、多个表或者视图中导出的表,包含一系列带有名称的数据列和若干条数据行。但视图不是数据库中真实的表,而是一张虚拟表,其结构和数据是建立在对数据中真实表的查询基础上的。存储在数据库中的查询 *** 作SQL语句定义了视图的内容,列数据和行数据来自于视图查询所引用的实际表,引用动图时动态生成这些数据。
创建视图的语法格式是:CREATE
VIEW
<视图名>
AS
。
1.视图是数据库数据的特定子集.可以禁止所有用户访问数据库表,而要求用户只能通过视图 *** 作数据,这种方法可以保护用户和应用程序不受某些数据库修改的影响.2.视图是抽象的,他在使用时,从表里提取出数据,形成虚的表.不过对他的 *** 作有很多的限制 .3.而且视图是永远不会自己消失的除非你删除它.
视图有时会对提高效率有帮助.临时表几乎是不会对性能有帮助,是资源消耗者.
视图一般随该数据库存放在一起,临时表永远都是在tempdb里的.
4.视图适合于多表连接浏览时使用!不适合增、删、改.,存储过程适合于使用较频繁的SQL语句,这样可以提高 执行效率!
视图和表的区别和联系
区别:1、视图是已经编译好的sql语句.而表不是
2、视图没有实际的物理记录.而表有.
3、表是内容,视图是窗口
4、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时对它进行修改,但视图只能有创建的语句来修改
5、表是内模式,视图是外模式
6、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合.从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构.
7、表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表.
8、视图的建立和删除只影响视图本身,不影响对应的基本表.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)