视图是从一个或几个基本表(或视图)中导出的虚拟的表。在系统的数据字典中仅存放了视图的定义,不存放视图对应的数据。
视图是原始资料库数据的一种变换,是查看錶中数据的另外一种方式。可以将视图看成是一个移动的视窗,通过它可以看到感兴趣的数据。 视图是从一个或多个实际表中获得的,这些表的数据存放在资料库中。那些用于产生视图的表叫做该视图的基表。一个视图也可以从另一个视图中产生。
视图的定义存在资料库中,与此定义相关的数据并没有再存一份于资料库中。通过视图看到的数据存放在基表中。
视图看上去非常像资料库的物理表,对它的操作同任何其它的表一样。当通过视图修改数据时,实际上是在改变基表中的数据;相反地,基表数据的改变也会自动反映在由基表产生的视图中。由于逻辑上的原因,有些视图可以修改对应的基表,而有些则不能(仅仅能查询)。
基本介绍
- 中文名:视图
- 外文名:View
- 分类:资料库概念
- 特点:简单性、安全性、独立性
特性
* 简单性。看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。
* 安全性。通过视图用户只能查询和修改他们所能见到的数据。资料库中的其它数据则既看不见也取不到。资料库授权命令可以使每个用户对资料库的检索限制到特定的资料库对象上,但不能授权到资料库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上:
使用许可权可被限制在基表的行的子集上。
使用许可权可被限制在基表的列的子集上。
使用许可权可被限制在基表的行和列的子集上。
使用许可权可被限制在多个基表的连线所限定的行上。
使用许可权可被限制在基表中的数据的统计汇总上。
使用许可权可被限制在另一视图的一个子集上,或是一些视图和基表合併后的子集上。
视图的安全性可以防止未授权用户查看特定的行或列,使用户只能看到表中特定行的方法如下:
1 在表中增加一个标誌用户名的列;
2 建立视图,使用户只能看到标有自己用户名的行;
3 把视图授权给其他用户。
* 逻辑数据独立性。视图可帮助用户禁止真实表结构变化带来的影响。
视图可以使应用程式和资料库表在一定程度上独立。如果没有视图,套用一定是建立在表上的。有了视图之后,程式可以建立在视图之上,从而程式与资料库表被视图分割开来。视图可以在以下几个方面使程式与数据独立:
1 如果套用建立在资料库表上,当资料库表发生变化时,可以在表上建立视图,通过视图禁止表的变化,从而应用程式可以不动。
2 如果套用建立在资料库表上,当套用发生变化时,可以在表上建立视图,通过视图禁止套用的变化,从而使资料库表不动。
3 如果套用建立在视图上,当资料库表发生变化时,可以在表上修改视图,通过视图禁止表的变化,从而应用程式可以不动。
4 如果套用建立在视图上,当套用发生变化时,可以在表上修改视图,通过视图禁止套用的变化,从而资料库可以不动。
功能
安全:有的数据是需要保密的,如果直接把表给出来进行操作会造成泄密,那幺可以通过创建视图把相应视图的许可权给出来即可保证数据的安全。
高效:複杂的连线查询,每次执行时效率比较低,可以考虑新建视图,每次从视图中获取,将会提高效率。
定製数据:将常用的栏位放置在视图中。