触发器:
触发器是一个过程,它对数据库的特定改变进行相应,并由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