问题 单项选择题

下面第(23)~(24)题基于以下说明:设有如下两个关系,若雇员信息的主键是雇员号,部门信息表的主键是部门号。假设雇员信息表中的工资最低为800(包括800),最高不能超过2000。另外,这里假定DBMS不支持级联删除和级联更新功能。
雇员信息表

雇员号 雇员名 部门号 工资
001 张山 02 2000
010 王宏达 01 1200
056 马林生 02 1000
101 赵敏 04 1500
                                         部门信息表
部门号 部门名 主任
01 业务部 李建
02 销售部 应伟东
03 服务部 周垠
04 财务部 陈力胜

今对以上两个关系做如下操作:
Ⅰ.从雇员表中删除行(‘010’,‘王宏达’,‘01’,1200)。
Ⅱ.从部门表中删除行(‘01’,‘业务部’,‘李建’)。
Ⅲ.从部门表中将部门名为‘服务部’的行删除。
Ⅳ.将雇员表中雇员号=‘010’的工资改为2600元。
在上述所给的操作中,哪个(些)操作能被执行

A.Ⅰ、Ⅱ

B.Ⅱ、Ⅲ

C.Ⅲ、Ⅳ

D.Ⅰ、Ⅲ

答案

参考答案:A

解析: 注意到雇员信息的主键是雇员号,外键是部门号;部门信息表的主键是部门号。另外,“雇员信息表中的工资最低为800(包括800),最高不能超过2000”属于用户自定义的完整性规则。所以对题目中给出的操作仔细验证是否违背了关系的3类完整性规则,就可以很容易判断出哪些操作是否可以被执行。
删除参照关系(即外码所在的关系)中的元组肯定不会破坏上述3类完整性规则,但向参照关系中插入元组或者更新参照关系中的元组有可能会破坏完整性规则;向被参照关系中插入元组也肯定不会破坏参照完整性规则,但有可能破坏实体完整性规则和用户自定义的完整性规则,更新被参照关系中的元组有可能破坏3类完整性规则,删除被参照关系中的元组只有可能破坏参照完整性规则。这些情形总结如下。
在对参照关系和被参照关系进行操作时的各种可能破坏3类完整性规则的情形。
[*]

单项选择题
问答题 简答题