单选题4.7 安全架构17 / 18
正在加载题目…
系统集成项目管理工程师 · 第三版 · 第4章 信息系统架构
触发器连续更新多张表,完整性设计应重点检查什么?
18 道章节练习题
答案与解析
正确答案 B
题干给出的线索是连锁更新,以及数据量增大后的性能变化。先查清一条更新实际带出了多少次后续动作,再检查是否有循环依赖、重复工作和批量开销,选B。慎用触发器,不等于不用,更不等于越集中越好。
表面上应用只发出一次批量更新,数据库内部可能逐层执行多项工作,单条测试不容易暴露总成本。评审应把触发关系和规则列清楚,结合具体DBMS检查语句级、行级及触发时机,再用代表性的批量数据验证。能由声明式约束清楚表达的规则,可评估更简单的实现;复杂规则则比较事务内的触发器、存储过程或应用实现。不能断言换一种触发时机就必然更快,也不能删掉校验后把速度提升当作完整性问题解决。
选项分析
- A
- 在未查明现有连锁代价前继续增加隐式工作,可能加重耦合和性能负担,统一入口本身不保证可控。
- B
- 同时检查正确性、依赖关系与实际执行成本,并保留业务规则后比较实现方式,符合慎用而非滥用的原则。
- C
- 省略仍然需要的业务校验会造成完整性缺口,不能用放弃规则换取表面性能改善。
- D
- 应用发出的操作只是入口,数据库内部的多级触发正是题干提示的风险,不能直接排除不查。
容易混淆的地方
只按应用发出的SQL条数估算实际工作量,忽略触发器带出的隐式操作,或把慎用理解为无条件禁用。
再巩固一步
- 看到多级触发,先画执行链,再测一批数据;同时核对业务规则是否仍被完整执行。
原创章节练习题 · 第三版 · 《系统集成项目管理工程师教程》第3版 · 4.7.5 · 纸书第185、186页查看完整题目与详解