中级数据库系统工程师2004下半年下午试题答案及详细解析.doc
文本预览下载声明
第10章 数据库系统工程师级下午试题分析
试题1分析
参见软件设计师下午试题一分析。
试题2
阅读下列说明,回答问题1至问题5。
说明
某工厂的信息管理数据库的部分关系模式如下所示:
职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)
部门(部门号,部门名,负责人代码,任职时间)
关系模式的主要属性、含义及约束如表2—1所示,“职工”和“部门”的关系示例分别如表2-2和表2-3所示。
表2-1 主要属性、含义及约束
属 性
含义和约束条件
职工号
惟一标记每个职工的编号,每个职工属于并且仅属于一个部门
部门号
惟一标识每个部门的编号,每个部门有一个负责人,且他也是一个职工
月工资
500元≤月工资45000元
表2-2“职工”关系
职工号
姓名
年龄
月工资
部门号
电话
办公室
1001
郑俊华
26
1000
1
主楼201
1002
王 平
27
1100
1
主楼201
2001
王晓华
38
1300
2
1号楼302
2002
李 力
24
800
2
1号楼303
3001
黎远军
42
1300
3
主楼202
4001
李 源
24
800
4
2号楼102
4002
李兴民
36
1200
4
2号楼103
5001
赵 欣
25
0
Null
┄
┄
表2-3 “部门”关系
部 门 号
部 门 名
负责人代码
任职时间
1
人事处
1002
2004-8-3
2
机关
2001
2004-8-3
3
销售科
4
生产科
4002
2003-6-1
5
车间
[问题1]根据上述说明,由SQL定义的“职工”和“部门”的关系模式,以及统计各部门的人数C、工资总数Totals、平均工资Averages的D_S视图如下所示,请在空缺处填入正确的内容。
Create Table 部门 (部门号 CHAR(1) (a) ,
部门名 CHAR(16),
负责人代码 CHAR(4),
任职时间 DATE,
(b) (职工号));
Create Table职工(职工号 CHAR(4),
姓名 CHAR(8),
年龄 NUMBER(3),
月工资 NUMBER(4),
部门号 CHAR(1),
电话 CHAR(8),
办公室 CHAR(8),
(a) (职工号),
(c) (部门号),
CHECK( (d) ));
Create View D_S(D,C,Totals,Averages)As
(Select 部门号, (e)
from 职工
(f) );
[问题2]对于表2-2、表2-3所示的“职工”和“部门”关系,请指出下列各行是否可以插入,为什么?
[问题3]在问题1定义的视图D_S上,下面哪个查询或更新是允许执行的,为什么?
(1)Update D_S set D-3 where D=4;
(2)Delete from D_Swhere C>4;
(3)Select D,Averages from D_S
where C>(Select C from D_S where D=:dept);
(4)Select D,C From D_S
where Totals>10000;
(5)Select*from D_S;
[问题4]查询每个部门中月工资最高的“职工号”的SQL查询语句如下: Select职工号 from 职工E
where月工资=(Select Max(月工资)
from职工a
显示全部