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

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

用户有录入权限,为什么仍需数据库完整性约束?

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

系统规定普通销售订单的购买数量必须是正整数。一名已通过身份验证且有录入权限的员工,误将数量填为-3。要在写入时拒绝这类记录,最直接需要完善()。

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

正确答案 B

先分清两个问题:这个人能不能录入,与录入的值能不能成立。员工有权限,但-3违反本题对普通销售数量的规定,应该由完整性检查拒绝,选B。重新登录或加密传输,都不会把错误数量变成正确数量。

把授权看成允许进入录入流程,完整性约束则继续核对写入的数据。业务规则明确以后,可以结合字段类型、非空要求和取值检查来实现,不能只靠员工小心操作。这里限定的是普通销售订单;退款、冲销等其他业务是否允许负数,要另行定义,不能由这道题推导成所有数量字段都必须为正。数据库约束也只能检查已明确且能实现的规则,并不能判断每一笔订单在现实中是否真实发生。

选项分析

A
加密解决数据在传输中被未授权读取等问题,不会判断已获授权用户填写的数量是否符合销售规则。
B
直接对将要保存的数据应用业务条件,能够在写入时拒绝本题中的不合法数量,符合要求。
C
账号身份和录入权限已得到确认,再次鉴别仍不能代替对字段取值的业务检查。
D
审计有助于事后追踪,但仅记录操作者和时间并不等于在写入前阻止错误数据。

容易混淆的地方

认为“合法用户”输入的一定是“合法数据”,把权限控制和业务完整性混为一谈。

再巩固一步

  • 题目若已给出有权限,再强调值不合业务规定,优先分析完整性规则,不要反复绕回登录问题。
原创章节练习题 · 第三版 · 《系统集成项目管理工程师教程》第3版 · 4.7.5 · 纸书第185页

练习小结

题目纠错

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

查看纠错信息