学习笔记:视图/触发器

视图是一个虚拟的表,该表中的记录是由一个查询语句执行后所得到的查询结果所构成的.与表一样,视图也是由字段和记录组成的,只是这些字段和记录来源于其他被引用的表或视图,所以视图并不是真实存在的,而是一张虚拟的表,视图中的数据同样也并不是存在于视图当中,而是存在与被引用的数据表当中,当被引用的数据表中的记录内容改变时,视图中的记录内容也会随之改变.

视图创建实例:

Create view 订单详细视图

AS

SELECT 订单.订单ID, 雇员.姓氏, 雇员.名字, 产品.产品名称, 订单明细.单价, 订单明细.数量, 订单明细.折扣, 运货商.公司名称, 订单.货主名称, 订单.货主地址, 订单.货主城市, 订单.订购日期, 订单.发货日期

FROM 订单 inner join

订单明细 on 订单.订单ID = 订单明细.订单ID inner join 雇员 on 订单.雇员ID = 雇员.雇员ID inner join 产品 on 订单明细.产品ID = 产品.产品ID inner join 运货商 on 订单.运货商 = 运货商.运货商ID

创建完视图之后,如果要以同样的条件进行查询,查询语句和方法和表是一样的...相当于创建一个虚拟表;

优点:

简化查询语句:通过视图可以将复杂的查询语句变得很简单;

增加可读性:由于在视图中可以只显示有用的字段,并且可以使用字段别名,能方便用户浏览查询的结果;

方便程序维护:如果应用程序使用视图来存取数据,那么当数据表的结构发生改变时,只需要更设视图存储的查询语句即可,不需要更改程序.

增加数据的安全性和保密性:针对不同的用户,可以创建不同的视图,此时的用户只能查看和修改其所能看到的视图中的数据,而真正的数据表中的数据甚至连数据表都是不可见和不可访问的,这样可以限制用户浏览和操作的数据内容.另外视图所引用的表的访问权限与视图的权限设置也是相互不影响的. 

posted @ 2008-09-04 09:07  泥泥虫  阅读(266)  评论(0编辑  收藏  举报