SQL之触发器和视图

触发器:

       触发器是一个过程,它对数据库的特定改变进行相应,并由DBMS自动调用。一个触发器的描述包括三个部分:事件、条件和动作。

       MySQL中触发器创建的语法:
  

The DEFINER clause determines the security context to be used when checking access privileges at trigger activation time, as described later in this section
Trigger_time的值只有两个,即before和after,表示触发器执行的时间在事件发生前或发生后。
Trigger_event的值只有三个,即insert,update和delete,表示触发触发器的事件。
On tbl_name表示触发器是关联在那个表上的for each row 表示触发器执行的间隔,这里表示每个修改的记录都会触发触发器。
Trigger_body代表触发器所要触发的动作。

举栗子:

一个表最多关联6个触发器,即before insert,before delete,before update,after insert,after delete,after update.


视图:

        视图(View)可以看成一个关系表,但是其中的记录没有直接存储在数据库中,而是在需要时根据视图定义计算出来的。
       视图机制可以对关系模型中的逻辑数据独立性提供支持,通过使用视图定义外部模式中的关系,可以对应用隐藏数据库概念模式的变化。
               例如:如果有一个关系的模式发生了变化,可以基于旧的模式定义一个视图,这样使用旧模式的应用可以继续使用这个视图。
      试图机制对于数据安全也很有意义:可以通过为某些用户定义视图,给出允许他们访问的信息。
              例如:可以定义视图,只允许学生看到其他学生的姓名和年龄,而不允许他们看到成绩,并且所有学生只能访问这个视图,而不允许直接访问记录学生信息的关系表。




参考资料:

http://dev.mysql.com/doc/refman/5.1/en/create-trigger.html

http://www.jb51.net/article/44914.htm

http://www.jb51.net/article/49207.htm

http://www.jb51.net/article/40657.htm

http://www.alixixi.com/program/a/2010062662285.shtml

http://www.cnblogs.com/360S/archive/2011/06/10/2078035.html

http://www.360doc.com/content/11/0726/11/3928531_135910616.shtml

http://database.51cto.com/art/200904/118363.htm


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值