sql server 数据库之触发器

下面将从下面几个方面介绍触发器:

    1.触发器的概念;

    2.触发器的优缺点;

    3.触发器的作用;

    附加:触发器功能与约束功能的比较

    4.触发器的分类;

    5.利用t-sql语句创建并运行图书管理系统数据库的触发器;

    6.利用t-sql语句修改图书管理系统数据库的触发器;

    7.利用t-sql语句删除图书管理系统数据库的触发器;

    8.利用t-sql语句禁用或启动图书管理系统数据库的触发器;

一.触发器的概念

   触发器就是指在对指定数据表进行数据值修改时,所要执行的特殊的存储过程,但是该存储过程不用关键字exec调用执行,而是通过事件触发执行,以保证对不同数据表中具有逻辑相关性数据的引用的一致性和完整性。

   触发器是一种强大的使用工具,通过执行t-sql语句实现对数据库的复杂操作及对数据完整性的约束等,只有数据更改的站点都要接受有触发器所设置的强制性自动业务规则检查,一般是对约束、默认值及规则的完整性进行检查。例如:当对某一数据表进行UPDATE、INSERT、DELETE等操作时,sql server就会自动执行触发器所定义的sql语句,从而保证了对数据的处理必须符合这些sql语句所定义的规则。

二、触发器的优点

  触发器的使用可以确保数据信息引用的完整性和一致性,其突出的有点表现为:

    1.触发器是被自动执行的,不需要额外的 执行语句,当对数据表中的任何数据信息进行更改操作时,触发器被自动激活,立即执行。

    2.触发器可以实施比CHECK约束命令更为复杂的强制性约束限制,不仅可以引用本表中的数据列,而且还可以引用其他数据表中的数据列。

    3.触发器可以实现对数据的层叠修改和数据表的级联更改。

三、触发器的作用

   1.触发器乐意实现较为复杂的数据完整性约束

        触发器的只要作用是指能够实现通过主键和外键的使用所不能确保的复杂的参照完整性和数据一致性,以及数据的准确性检查和约束。提供一种比规则和约束更为复杂的限制,即触发器可以引用数据列或数据对象,并对其实施复杂的强制约束。

        具体表现为,可以更改默认值;触发器可以对数据库中相关联的数据表实施整合修改,同时触发与之相关的操作;在对某一张数据表进行修改或删除时,将与之有级联关系的数据表中相匹配的数据行也一同进行修改或删除

   2.确保数据的安全性

        在数据库系统中触发器根据设定的数值不同,分配给用户操作数据的权限不同;触发器依据时间的限制规定用户能进行的不同操作;触发器还可以基于数据表中的具体的数据值限制用户所能进行的操作;触发器还可以返一些用户自定义的错误信息,这些是约束操作所无法实现的;为了保证数据操作的安全性,触发器可以从多个存储过程中调用执行。

  3.启用了审计跟踪制度

        利用触发器可以跟踪用户操纵数据库的各种处理操作,审计用户对数据库操作的每条语句将用户对数据所做的任何更新操作记录到对应的审计数据表中,实施跟数据库的变化,随时准备撤销或回滚对数据库所进行的非法操作,最大限度的防止对信息的非法修改。

附加:触发器功能与约束功能的比较

        触发器与约束功能宏观地看都是保证数据信息引用完整性和操作一致性地手段,由于二者地适用场合不同,优势也不相同。

        触发器地优势是可以执行利用t-sql语句代码编写复杂处理逻辑,约束所规定地功能触发器均可以支持,尤其是针对,某些应用程序地需求约束所不能实现地功能。

        由于实体完整性地实现是应用到较低级别上的,一般通过索引操作强制实现,通常是主键和UNIQUE约束的一部分,也可以在约束之外独立的创建索引来实现,若可以满足实际的功能需求时,对域的完整性的设定一般适用CHECK约束进行强制,对引用完整性则使用外键约束进行强制,而不用触发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值