首页 理论教育视图的作用-《数据库技术与应用教程》

视图的作用-《数据库技术与应用教程》

【摘要】:虽然对视图的操作最终都转换为对基本表的操作,视图看起来似乎没什么用处,但实际上,如果合理地使用视图会带来许多好处。定义视图可以将表与表之间复杂的连接操作和搜索条件对用户隐藏起来,用户只需简单地查询一个视图即可。这在多次执行相同的数据查询操作时尤为有用。

正如前面所讲的,使用视图可以简化和定制用户对数据的需求。虽然对视图的操作最终都转换为对基本表的操作,视图看起来似乎没什么用处,但实际上,如果合理地使用视图会带来许多好处。

1.简化数据查询语句

采用视图机制可以使用户将注意力集中在所关心的数据上。如果这些数据来自多个基本表,或者数据一部分来自于基本表,另一部分来自视图,并且所用的搜索条件又比较复杂时,需要编写的SELECT语句就会很长,这时定义视图就可以简化数据的查询语句。定义视图可以将表与表之间复杂的连接操作和搜索条件对用户隐藏起来,用户只需简单地查询一个视图即可。这在多次执行相同的数据查询操作时尤为有用。

2.使用户能从多角度看待同一数据

采用视图机制能使不同的用户以不同的方式看待同一数据,当许多不同类型的用户共享同一个数据库时,这种灵活性是非常重要的。

3.提高了数据的安全性

使用视图可以定制用户查看哪些数据并屏蔽敏感数据。比如,不希望员工看到别人的工资,就可以建立一个不包含工资项的职工视图,然后让用户通过视图来访问表中的数据,而不授予他们直接访问基本表的权限,这样就在一定程度上提高了数据库数据的安全性。(www.chuimin.cn)

4.提供了一定程度的逻辑独立性

视图在一定程度上提供了数据的逻辑独立性,因为它对应的是数据库的外模式。

在关系数据库中,数据库的重构是不可避免的。重构数据库的最常见方法是将一个基本表分解成多个基本表。例如,可将学生关系表Student(Sno,Sname,Ssex,Sage,Sdept)分解为SX(Sno,Sname,Sage,)和SY(Sno,SSeX,Sdept)两个关系,这时对Student表的操作就变成了对SX和SY的操作。

这样,尽管数据库的表结构变了,但应用程序可以不必修改,新建的视图保证了用户原来的关系,使用户的外模式未发生改变。

注意:视图只能在一定程度上提供数据的逻辑独立性,由于视图的更新是有条件的,因此,应用程序在修改数据时可能会因基本表结构的改变而受一些影响。