1.视图
视图 是从数据库的基本表中选取出来的数据组成的逻辑窗口,与基本表不同的是视图是一个虚拟表。在数据库中存放的只是视图的定义,而不存放视图包含的数据项,这些项目仍然存放在原来的基本表结构中。
视图的作用主要有以下几点:
- 简化数据查询语句
- 使用户从多角度看待同一数据
- 引入视图提高数据的安全性
- 视图提供了一定程度的逻辑独立性
通过引入视图机制,用户可以将注意力集中在其关心的数据上(而非全部数据),这样就大大提高了用户效率和用户满意度,而且如果这些数据来源于多个基本表结构,或者数据不仅来自于基本表结果,还有一部分数据来源于其他视图,并且搜索条件又比较复杂时,需要编写的查询语句比较繁琐,此时定义视图就可以使数据的查询语句变得简单可行,定义视图可以将表与表之间的复杂的操作连接和搜索条件对用户不可见,用户只需要简单地对一个视图进行查询即可,故增加了数据的安全性,但不能提高查询的效率。
1.1 基本使用
1.1.1 创建视图
create view 视图名 as select 语句;
视图的数据变化会影响到基表,基表的数据变化也会影响到视图。
1.1.2 删除视图
drop view 视图名;
1.2 视图规则和限制
- 与表一样,必须唯一命名(不能出现同名视图或表名)
- 创建视图数目无限制,但要考虑复杂查询创建为视图之后的性能影响
- 视图不能添加索引,也不能有关联的触发器或者默认值
- 视图可以提高安全性,必须具有足够的访问权限
- order by可以用在视图中,但是如果从该视图检索数据select中也含有order by那么该视图中的order by将被覆盖
- 视图可以和表一起使用