题库系统集成项目管理工程师

系统集成项目管理工程师 · 第三版 · 第4章 信息系统架构

触发器连续更新多张表,完整性设计应重点检查什么?

18 道章节练习题
单选题4.7 安全架构17 / 18

修改订单表会触发汇总表更新,汇总表的触发器又写入第三张表。单条更新正常,但批量更新明显变慢。依据数据库完整性设计原则,应优先()。

选择答案
未作答
答案与解析

正确答案 B

题干给出的线索是连锁更新,以及数据量增大后的性能变化。先查清一条更新实际带出了多少次后续动作,再检查是否有循环依赖、重复工作和批量开销,选B。慎用触发器,不等于不用,更不等于越集中越好。

表面上应用只发出一次批量更新,数据库内部可能逐层执行多项工作,单条测试不容易暴露总成本。评审应把触发关系和规则列清楚,结合具体DBMS检查语句级、行级及触发时机,再用代表性的批量数据验证。能由声明式约束清楚表达的规则,可评估更简单的实现;复杂规则则比较事务内的触发器、存储过程或应用实现。不能断言换一种触发时机就必然更快,也不能删掉校验后把速度提升当作完整性问题解决。

选项分析

A
在未查明现有连锁代价前继续增加隐式工作,可能加重耦合和性能负担,统一入口本身不保证可控。
B
同时检查正确性、依赖关系与实际执行成本,并保留业务规则后比较实现方式,符合慎用而非滥用的原则。
C
省略仍然需要的业务校验会造成完整性缺口,不能用放弃规则换取表面性能改善。
D
应用发出的操作只是入口,数据库内部的多级触发正是题干提示的风险,不能直接排除不查。

容易混淆的地方

只按应用发出的SQL条数估算实际工作量,忽略触发器带出的隐式操作,或把慎用理解为无条件禁用。

再巩固一步

  • 看到多级触发,先画执行链,再测一批数据;同时核对业务规则是否仍被完整执行。
原创章节练习题 · 第三版 · 《系统集成项目管理工程师教程》第3版 · 4.7.5 · 纸书第185、186页

练习小结

题目纠错

未发送。正式接收渠道尚未接通。

查看纠错信息