试题二(共15分)阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。【说明】某企业信息系统的部分关系模式及属性说明如下:(1)员工关系模式:员工(员工编号,姓名,部门,工资,职务,教育水平),其中员工编号是主键,部门是外键,参照部门关系模式的部门编号属性。(2)部门关系模式:部门(部门编号,部门名称,经理),其中部门编号是主键,经理是外键,参照员工关系模式的员工编号属性。(3)项目关系模式:项目(项目编号,项目名称,所属部门,负责人),其中项目编号是主键,所属部门和负责人是外键,分别参照部门关系模式和员工关系模式的部门编号和员工编号属性。(4)员工项目关系模式:员工项目(员工编号,项目编号),其中员工编号和项目编号是主键,同时员工编号和项目编号也是外键,分别参照员工关系模式的员工编号和项目关系模式的项目编号。【问题1】(2分)假设定义员工关系模式时,没有定义主键和外键。请用SQL语句补充定义员工关系模式的实体完整性约束和参照完整性约束。(a) ;(b) ;【问题2】(13分)请将下列SQL查询语句补充完整。(1)查询平均工资(不包含职务为经理的员工)超过3000的部门的编号,部门名称及其平均工资,并按平均工资从高到低排序。SELECT部门编号,部门名称,(c) AS平均工资FROM员工,部门WHERE (d)GROUP BY (e)HAVING (f)(g);(2)查询工资大于全体员工平均工资的员工编号,姓名和工资。SELECT员工编号,姓名,工资FROM员工WHERE (h);(3)查询没有承担任何项目的部门编号和部门名称。SELECT部门编号,部门名称FROM部门WHERE (i) (SELECT.FROM项目WHERE (i) );(4)查询研发部所有员工的员工编号和教育水平,若教育水平大于20,则输出研究生;若教育水平小于等于20,并大于16,则输出本科生;否则输出其他。SELECT员工编号,CASEWHEN教育水平20 THEN‘研究生’(k)(l)ENDFROM员工,部门WHERE (m) ;(5)查询部门名称不以“处”结尾的部门编号和部门名称。SELECT部门编号,部门名称FROM部门WHERE部门名称 (n) ;
试题二(共15分)
阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。
【说明】
某企业信息系统的部分关系模式及属性说明如下:
(1)员工关系模式:员工(员工编号,姓名,部门,工资,职务,教育水平),其中员工编号是主键,部门是外键,参照部门关系模式的部门编号属性。
(2)部门关系模式:部门(部门编号,部门名称,经理),其中部门编号是主键,经理是外键,参照员工关系模式的员工编号属性。
(3)项目关系模式:项目(项目编号,项目名称,所属部门,负责人),其中项目编号是主键,所属部门和负责人是外键,分别参照部门关系模式和员工关系模式的部门编号和员工编号属性。
(4)员工项目关系模式:员工项目(员工编号,项目编号),其中员工编号和项目编号是主键,同时员工编号和项目编号也是外键,分别参照员工关系模式的员工编号和项目关系模式的项目编号。
【问题1】(2分)
假设定义员工关系模式时,没有定义主键和外键。请用SQL语句补充定义员工关系模式的实体完整性约束和参照完整性约束。
(a) ;
(b) ;
【问题2】(13分)
请将下列SQL查询语句补充完整。
(1)查询平均工资(不包含职务为经理的员工)超过3000的部门的编号,部门名称及其平均工资,并按平均工资从高到低排序。
SELECT部门编号,部门名称,(c) AS平均工资
FROM员工,部门
WHERE (d)
GROUP BY (e)
HAVING (f)
(g);
(2)查询工资大于全体员工平均工资的员工编号,姓名和工资。
SELECT员工编号,姓名,工资
FROM员工
WHERE (h);
(3)查询没有承担任何项目的部门编号和部门名称。
SELECT部门编号,部门名称
FROM部门
WHERE (i) (SELECT.FROM项目WHERE (i) );
(4)查询研发部所有员工的员工编号和教育水平,若教育水平大于20,则输出研究生;若教育水平小于等于20,并大于16,则输出本科生;否则输出其他。
SELECT员工编号,
CASE
WHEN教育水平>20 THEN‘研究生’
(k)
(l)
END
FROM员工,部门
WHERE (m) ;
(5)查询部门名称不以“处”结尾的部门编号和部门名称。
SELECT部门编号,部门名称
FROM部门
WHERE部门名称 (n) ;