分享人:茹程远
1.背景介绍
2.知识剖析
3.常见问题
4.配置展示
5.扩展思考
6.参考文献
7.更多讨论
什么是视图
它是一个或几个基本表导出的表,与基本表不同,是一个虚表。数据库只存放视图的定义,而不放对应的数据,视图只是一种逻辑对象,并不是物理对象
数据任然在原来的基本表中,视图就像一个窗口,就像数学里的三视图,左视图,右视图,俯视图
视图提供了存储预定义的查询语句作为数据库中的对象以备以后使用的能力
视图的优点
掩码数据库的复杂性,视图把数据库设计的复杂性与用户屏蔽分开;
简化用户权限的管理
视图的限制
性能:SQL Server必须把视图的查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,SQL Server也把它变成一个复杂的结合体,需要花费一定的时间。
修改限制:当用户试图修改视图的某些行时,SQL Server必须把它转化为对基本表的某些行的修改。对于简单视图来说,这是很方便的,但是,对于比较复杂的视图,可能是不可修改的。
不能在视图上创建索引。当使用合并算法的视图查询数据时,MySQL会使用底层表的索引。
如果删除或重命名视图所基于的表,则MySQL不会发出任何错误。但是,MySQL会使视图无效。
一个简单的视图可以更新表中数据。基于具有连接,子查询等的复杂SELECT语句创建的视图无法更新。
视图的创建与删除
基于表
基于多个表
基于视图的视图
更新与删除视图
视图删除问题
http://blog.csdn.net/yujin753/article/details/43197941
易百教程
https://www.cnblogs.com/binyao/p/4899970.html
视图和表的区别
欢迎大家讨论