视图逻辑数据独立性:视图可以使应用程序和数据库表在一定程度上独立,一个视图是由SELECT语句组成的查询定义的虚拟表,这张表是对别的表或查询的数据映射,例如经常有查询要对一张大表做分组查询:selectcol1,count(*)from大表groupbycol1;此时可以基于上述查询做一个物化视图,定义视图的筛选可以来自当前或其它数据库的一个或多个表,行和列数据来自由定义视图的查询所引用的表,一个视图是从一个特定的角度来查看数据库中的数据,我们在使用物化视图的过程中基本可以“把它当作一个实际的数据表来看待”。
什么是视图
您好。视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据。从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表。从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样。视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。视图是存储在数据库中的查询的SQL 语句,它主要出于两种原因:安全原因, 视图可以隐藏一些数据,如:社会保险基金表,可以用视图只显示姓名,地址,而不显示社会保险号和工资数等,另一原因是可使复杂的查询易于理解和使用。希望能够帮到您,谢谢,望采纳。
视图主要用于表达物体外形,视图有哪几种
视图主要用于表达物体外形:视图分为基本视图、向视图、局部视图、斜视图四种。
视图逻辑数据独立性:
视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。
1、如果应用建立在数据库表上,当数据库表发生变化时,可以在表上建立视图,通过视图屏蔽表的变化,从而应用程序可以不动。
2、如果应用建立在数据库表上,当应用发生变化时,可以在表上建立视图,通过视图屏蔽应用的变化,从而使数据库表不动。
视图作用:
简单性。看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。
安全性。通过视图用户只能查询和修改他们所能见到的数据。但不能授权到数据库特定行和特定的列上。
通过视图,用户可以被限制在数据的不同子集上:使用权限可被限制在另一视图的一个子集上,或是一些视图和基表合并后的子集上。逻辑数据独立性。视图可帮助用户屏蔽真实表结构变化带来的影响。
请问物化视图怎么解释谢谢!
首先说明:我下面所用的A_QUERY_SQL指一个查询语句,如select ... from table1 where ..... 。 我们知道创建一般的视图是create view VIEW_NAME as A_QUERY_SQL这样的模式,也就是说这个视图是建立在一个查询基础之上的。在这个模式下,每当我们要基于这个VIEW_NAME再去查询的时候,需要把A_QUERY_SQL执行一次。这样需要耗费很多的时间。 而物化视图就不同,它其中的数据却是现成的,不需要再去执行A_QUERY_SQL。我们在使用物化视图的过程中基本可以“把它当作一个实际的数据表来看待”,不用再担心视图本身的基础表的效率、优化等(基础表就是生成视图本身的原始表,包含在A_QUERY_SQL中)。 一般的视图是虚拟的,而物化视图是实实在在的数据区域,是要占据存储空间的。 简单的讲就是这样。 当然,物化视图在创建和管理上和一般的视图有不同的地方。相比来讲,物化视图占用了一定的存储空间,另外系统刷新物化视图也需要耗费一定的资源,但是它却换来了效率和灵活性。
什么是Oracle的物化视图
“物化视图”(materializedviews)是一种特殊的存在,虽然物化视图本质上也是一张表,这张表是对别的表或查询的数据映射,而且这些映射数据真实存在,是在表的数据的基础上又存了一份数据。这样做的目的是为了针对特殊的查询做优化,例如经常有查询要对一张大表做分组查询:selectcol1,count(*)from大表groupbycol1;此时可以基于上述查询做一个物化视图,那么只要该视图刷新数据,那么对应的查询可以直接利用到该物化视图的数据,而不需要每一次查询都真的去对数据表做分组。