视图与基本表不同,不是物理上实际存在的,是一个虚表。
视图作用
1.简化操作,把经常使用的数据定义为视图。
在使用查询时,在很多时候我们要使用聚合函数,同时还要显示其它字段的信息,可能还会需要关联到其它表,这时写的语句可能会很长,如果这个动作频繁发生的话,我们可以创建视图,这以后,我们只需要select * from view就可以了,这样很方便。
2.安全性,用户只能查询和修改能看到的数据。
视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以将基表中重要的字段信息,可以不通过视图给用户,视图是动态的数据的集合,数据是随着基表的更新而更新。同时,用户对视图不可以随意的更改和删除,可以保证数据的安全性。
3.逻辑上的独立性,屏蔽了真实表的结构带来的影响。
可以使应用程序和 数据库 表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。
限制性
性能问题:查询可能很简单,但是封装的视图语句很复杂。
修改限制:对于复杂视图,用户不能通过视图修改基表数据。