触发器(数据库)

来自计算思维百科
跳转至: 导航搜索

触发器是数据库中的一个概念。触发器的定义就是说某个条件成立的时候,你触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。

基本概念

在数据库中,有一个很有意思的应用就是触发器。(注意:这里的触发器有别于数字电路里面的触发器,这里只说数据库系统的触发器。)

首先我们先来认识一下什么叫触发器:

  1. 事件:现实生活或者抽象世界里面的某个动作及其结果,比如下雨了就是一个事件。
  2. 触发器:数据库里的触发器并非我们想象中的物理实体,它是抽象的,触发器是一条语句(一段代码),如果我们要设置一个触发器,必须说明什么条件下触发器被执行(触发条件),以及触发器具体应该执行什么,简单的理解就是在触发器的作用下,一个事件的发生会导致另一个事件的发生,在某些具体情况下,这些反应是必须的,但我们不能自己直接执行触发器,只能靠事件发生的前后来触发。比如某个事件发生了,系统就会自动执行触发器里面的内容,产生一系列的效果,以保证数据的完整性和一致性。

应用范围

一般来说,有因果关系的事件都可以做成一个触发器,有的触发器用实际的物理模型,有的触发器用软件来做。触发器可以用在电子销售业,消防等方面。

使用方法及步骤

  1. 找到有因果关系的两个事件,确定谁是因谁是果;
  2. 用某种方式实现触发器;

应用案例

应用1-老鼠夹

触发器(数据库)1.png

应用2-多米诺效应

触发器(数据库)2.jpg

应用3-电子商务订单记录

假设我们有一个电器商城的数据库,如果有顾客购买了n台电视机(视为一个事件),就会触发系统执行另外的事件,在这个例子中就是更新库存电视机的数量,把原来电视机的数量减去顾客购买的电视机数量作为现在的电视机数量。这样才能保证数据的一致性(顾客购买了电视机,店里的电视机数量就应该减少相应的数量)。

另外的一个例子:假设一个仓库希望每种商品存货保持一个最小量;比如公司要求电视机的数量必须要有500以上,当电视机的数量少于500时(触发条件),我们可以应用触发器来向供应商自动发出一个订货单(触发器的动作):订购500台电视机。这样,顾客来买电视机的时候,就不会出现电视机已经售罄的情况了,客户的需求得到满足,企业的利益也得到了最大化。

应用4-消防

触发器的应用也广泛应用于现实生活:张衡的地震仪,还有火灾发生时的警报器:在警报器里安装一个测量温度的传感器,实时监测周围的环境,如果周围的环境温度高于某一设定值时,警报器就马上向消防队发送紧急信息,从而消防队员得以很快速的控制火灾局面,我觉得这是一个需要推广的应用。

可以体现的计算思维

触发器的应用体现了计算思维的仿真特点,它可以减轻员工的工作量,如果没有触发器,计算机工作者必须做两件事情:引起触发器反应的事件以及触发器被触发后要完成的事件;但有了触发器他只需完成一件事情就可以了。这也是计算机之所以智能的一个方面吧。