谨慎使用触发器

在构建低耦合、高扩展性的基础数据库时,作者面临是否使用触发器的问题。虽然触发器可以保持数据一致性,但可能会导致系统间的隐式操作,增加复杂性。文章探讨了触发器的性质,强调在不是所有系统或业务都需要同步数据的情况下,应谨慎使用触发器。提倡理解知识背后的内涵,灵活应用。
摘要由CSDN通过智能技术生成

    在做教务基础数据的时候遇到了这样一个问题,在基础数据库中是否使用触发器?

    因为其他的系统依赖于基础数据库,为了使数据结构解耦和良好的扩展性,没有采用一贯的在一个表中添加相关的外键字段,而是将关联提取到第三章表中,专门管理这些关联,如果将来有新的关联,那么就新建一张关联表,这样就避免了修改原有的表结构。这样耦合性虽然低了,但是表操作起来就比较麻烦一些,而且很难避免使用一些视图进行查询,这样对系统的性能又是一个很大的影响。

    在基础数据表中,有另外三个系统要依赖于这个关系,为保持数据的一致,在关系表保持了与基础独立表的主外键关系。我们在学习数据库的时候,学到了触发器可以保持数据的一致,但是这里应该不应该使用触发器呢?

    触发器,实际是一种特殊的存储过程,如果使用了触发器,就相当于把一系列数据更新、删除、插入业务,交给了数据库自动去执行,而这个执行对于我们开发的程序来说,往往是觉察不到的现实的业务往往是一个系统要对数据修改,而其他的子系统没有这个业务,所以,如果不是所有的系统,以及每个系统中所有的业务都需要将数据同时处理,那么触发器的使用就要慎之慎之了。

    任何知识存在,都有存在的道理,往往有积极的一面,如果使用的场合不对那么就可能会带来预料不到的后果,知识的学习也是活的,不能因为第一次接触知识的时候所有的主外键字段在一个表中,就认定所有的都应该这样。对知识再进一步的抽象,看到知识后面的内涵与思想,学会灵活变通才是最重要的。


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值