mysql触发器的作用

mysql触发器的作用,第1张

数据触发器有下面的作用:

1.安全性。能够基于数据库的值使用户具有 *** 作数据库的某种权利。

  # 能够基于时间限制用户的 *** 作,比如不同意下班后和节假日改动数据库数据。

2.审计。能够跟踪用户对数据库的 *** 作。   

  # 审计用户 *** 作数据库的语句。

  # 把用户对数据库的更新写入审计表。

3.实现复杂的数据完整性规则

  # 实现非标准的数据完整性检查和约束。触发器可产生比规则更为复杂的限制。与规则不同,触发器能够引用列或数据库对象。比如,触发器可回退不论什么企图吃进超过自己保证金的期货。

  # 提供可变的缺省值。

4.实现复杂的非标准的数据库相关完整性规则。触发器能够对数据库中相关的表进行连环更新。比如,在auths表author_code列上的删除触发器可导致对应删除在其他表中的与之匹配的行。

  # 在改动或删除时级联改动或删除其他表中的与之匹配的行。

  # 在改动或删除时把其他表中的与之匹配的行设成NULL值。

  # 在改动或删除时把其他表中的与之匹配的行级联设成缺省值。

  # 触发器可以拒绝或回退那些破坏相关完整性的变化,取消试图进行数据更新的事务。当插入一个与其主健不匹配的外部键时,这样的触发器会起作用。比如,可以在books.author_code 列上生成一个插入触发器,假设新值与auths.author_code列中的某值不匹配时,插入被回退。

5.同步实时地复制表中的数据。

6.自己主动计算数据值,假设数据的值达到了一定的要求,则进行特定的处理

触发器是数据库提供给程序员和数据分析员来保证数据完整性的一种机制,它是一种与数据表事件相关的特殊的存储过程。触发器的执行不是由程序调用,也不需要手工开启,而是由数据表上的事件来触发,当用户对一个数据表进行增、删、改 *** 作时就会激活它执行。

触发器可以查询其他表,而且可以包含复杂的SQL语句。它们主要用于强制服从复杂的业务规则或要求。触发器也可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。

触发器功能强大,可以轻松可靠地实现许多复杂的功能,但也不能过于依赖触发器,滥用触发器会造成关系数据库及应用程序维护困难,性能、效率低下等问题的产生,在实际问题中,要根据实际需要选择合适的解决方案。触发器是一种特殊的存储过程,在插入、删除、修改特定表中的数据时触发执行,拥有比数据库本身更强大的数据控制能力,其作用有以下四大方面。

1.数据安全数据安全主要是指对信息系统中的业务数据提供一种数据变更的审核机制,当其通过安全策略的审核后,允许用户变更相关数据,否则直接拒绝数据变更的请求。

安全原理:基于数据库的值使用户具有 *** 作数据库的某种权利。

((1)可以基于时间限制用户的 *** 作。例如,不允许下班后和节假日修改数据库数据。

(2)可以基于数据库中的数据限制用户的 *** 作。例如,不允许股票价格的升幅一次超过10%。

2.数据审计数据审计主要是指对数据服务器上的记录进行变更时的一种用户权限的即时审查与用户行为的全方位记录,以便事后对数据变更过程的追溯,保证数据变更的合法性。

审计原理:跟踪用户对数据库的 *** 作。

((1)审计用户 *** 作数据库的语句。

(2)把用户对数据库的更新写入审计表。

3.数据约束数据约束是指对用户的 *** 作行为将导致业务数据与实际情况相悖的行为进行检查约束,而不让其发生,从而保证数据的完整性与一致性。

约束原理:对用户 *** 作与实际逻辑的约束检查。

((1)实现数据完整性检查和约束。例如,回退任何企图买进超过自己资金的货物。

(2)提供可变的缺省值。

4.数据连环更新数据连环更新是指当对数据进行更新 *** 作时,将所有与此数据相关联的数据作联合的更新 *** 作,以保证数据的完整性与一致性。

连环更新原理:对关联数据作联合更新 *** 作。

((1)修改或删除时级联修改或删除其他表中与之匹配的行。

(2)修改或删除时把其他表中与之匹配的行设成NULL值。

(3)修改或删除时把其他表中与之匹配的行级联设成缺省值。

触发器本质上讲就是事件监控器,可以定义在数据库系统进行某一个 *** 作的前后。

当数据库系统在进行特定的 *** 作时,发现有触发器定义,就去执行触发器定义的功能,从而满足某些特定的需要。

例如,在更新某些数据后,再去更新特定的数据。

这就可以定义一个触发器完成这样的需要。

触发器的优点:

以事件方式来处理.

当数据发生变化的时候,

自动作处理。

缺点:

当数据库之间

导出导入的时候,

可能会引起不必要的触发逻辑。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9941723.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存