1.视图
视图本质上是一种虚拟的表,它是由基本表产生的,本身不存储数据,它实际的功能是封装了复杂的查询语句。
视图的优点和缺点
优点:
1.简化了操作:把经常使用的数据定义为视图
如果需要频繁查询的语句书写复杂,我们可以创建视图,这以后,只需要select * from view就可以,这样很方便。
2.安全性:用户只能查询和修改能看到的数据
因为视图是虚拟的,物理上是不存在的。我们可以将基表中重要的字段信息,可以不通过视图给用户,视图是动态的数据的集合,用户对视图不可以随意的更改和删除,可以保证数据的安全性。
3.逻辑上的独立性:屏蔽了真实表的结构带来的影响
视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。
缺点:
1.性能差:数据库必须把视图查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,数据库也要把它变成一个复杂的结合体,需要花费一定的时间。
2.修改限制
当用户试图修改视图的某些信息时,数据库必须把它转化为对基本表的某些信息的修改,对于简单的视图来说,这是很方便的,但是,对于比较复杂的试图,可能是不可修改的。