乐趣区

关于java:视图

什么是视图?

视图 (VIEW) 也被称作虚表,即虚构的表,是一组数据的逻辑示意, 其本质是对应于一条 SELECT 语句,后果集被赋予一个名字,即视图名字。视图自身并不蕴含任何数据,它只蕴含映射到基表的一个查问语句,当基表数据发生变化,视图数据也随之变动。

视图 (View) 的优缺点
在做数据库开发中应用视图的长处有:

    1. 能够拜访表中列的子集。在表中有些列是比拟敏感的数据不想用户看到的,如用户明码,员工工资等,用视图能够暗藏这些列。

   2. 能够拜访表中行的子集。有时不想让用户看到与 TA 无关的数据时,能够在 where 条件中过滤,如企业中子公司的员工只能看到 TA 所在子公司的共事材料,而不想其它子公司员工材料也显示进去,用过滤后查问进去的数据集组成视图。

   3. 能够重命名列名。在表中有些列名定义没有代表意义,如列“abc”,为了让用户看到列名就能够知该列是什么数据,能够在组建视图时重命名列名。

   4. 能够快速访问两表或多表连贯所组成的数据。有时要拜访表间连接所组成的数据集,能够把查问进去的数据集定义成视图,能够帮忙快速访问所需的数据。

   5. 能够疾速读取用聚合函数运算所返回的数据集。有时用户要读取通过用聚合函数简单运算后的后果集,每次读取都是很耗时,这时能够把这运算后的数据集组成视图,就能够防止每次读取都要运算的耗费。

总的来讲,应用视图在进步安全性的同时也放慢查问的速度。

视图的长处与毛病 
在程序设计的时候必须先理解视图的优缺点,这样能够取长补短,视图具备如下的一些长处:
● 简略性。视图不仅能够简化用户对数据的了解,也能够简化他们的操作。那些被常常应用的查问能够被定义为视图,从而使用户不用为当前的操作每次都指定全副的条件。

● 安全性。通过视图用户只能查问和批改他们所能见到的数据。数据库中的其余数据则既看不见也取不到。数据库受权命令能够使每个用户对数据库的检索限度到特定的数据库对象上,但不能受权到数据库特定行和特定的列上。通过视图,用户能够被限度在数据的不同子集上。

● 逻辑数据独立性。视图能够使应用程序和数据库表在肯定水平上独立。如果没有视图,利用肯定是建设在表上的。有了视图之后,程序能够建设在视图之上,从而程序与数据库表被视图宰割开来。
视图也存在一些毛病,次要如下。

● 性能:SQL Server 必须把视图的查问转化成对根本表的查问,如果这个视图是由一个简单的多表查问所定义,那么,即便是视图的一个简略查问,SQL Server 也把它变成一个简单的结合体,须要破费肯定的工夫。

● 批改限度:当用户试图批改视图的某些行时,SQL Server 必须把它转化为对根本表的某些行的批改。对于简略视图来说,这是很不便的,然而,对于比较复杂的视图,可能是不可批改的。
所以,在定义数据库对象时,不能不加选择地来定义视图,应该衡量视图的长处和毛病,正当地定义视图。


退出移动版