问题
单项选择题
下面第(23)~(24)题基于以下说明:设有如下两个关系,若雇员的主键是雇员号,部门的主键是部门号。假设雇员表中的工资最低为800(包括800) ,最高不能超过2000。另外,这里假定DBMS不支持级联删除和级联更新功能。
雇员
雇员号 | 雇员号 | 部门号 | 工资 |
001 | 张山 | 02 | 2 000 |
010 | 王宏达 | 01 | 1 200 |
056 | 马林生 | 02 | 1 000 |
101 | 赵敏 | 04 | 1 500 |
部门号 | 部门名 | 主任 |
01 | 业务部 | 李建 |
02 | 销售部 | 应伟东 |
03 | 服务部 | 周垠 |
04 | 财务部 | 陈力胜 |
在下列所给的操作中,哪个操作能被执行
A.UPDATE部门SET部门号=′05′WHERE部门名=′财务部′
B.UPDATE部门SET部门号=′05′WHERE部门名=′服务部′
C.UPDATE雇员SET工资=600 WHERE雇员号=′010′
D.UPDATE雇员SET部门号=′05′WHERE雇员号=′101′
答案
参考答案:B
解析: 级联删除和级联更新是两个表中的相关数据,可同时删除和更新,否则,牵涉两表的内容不能删除和更新。选项A:条件中部门名为“财务部”的部门号“01”涉及另一个表雇员,所以不能执行。选项B,“服务部”对应的部门号为“03”,在雇员中没有此字段的内容,所以可以更新。选项 C,雇员号为“01”,对应部门号为“01”,在部门表中也有此记录,所以不能更新,同理选项D也不能执行。