数据库软考试题.docVIP

  • 38
  • 0
  • 约6.53千字
  • 约 9页
  • 2019-10-24 发布于江西
  • 举报
2012年上半年 数据库系统工程师 试题二(共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 (j) ); (4)查询研发部所有员工的员工编号和教育水平,若教育水平大于20,则输出研究生;若教育水平小于等于20,并大于16,则输出本科生;否则输出其他。 SELECT 员工编号, CASE WHERE 教育水平 20 THEN ‘研究生’ (k) (l) END FROM 员工,部门 WHERE (m) ; (5)查询部门名称不以“处”结尾的部门编号和部门名称。 SELECT 部门编号,部门名称 FROM 部门 WHERE 部门名称 (n) ; 试题二(共15分) 参考答案: 【问题1】(2分,各1分) (a)ALTER TABLE 员工 ADD CONSTRAINT PK_员工 PRIMARY KEY (员工编号)(其中PK_员工可以为任何有效的命名) (b)ALTER TABLE 员工 ADD CONSTRAINT FK_员工 FOREIGN KEY(部门)REFERENCES 部门(部门编号)(其中FK_员工可以为任何有效的命名) 【问题2】(13分,除(2)外,其他各1分) (1)(c)AVG(工资) (d)员工.部门=部门.部门编号 AND 职务 ‘经理’ (e)部门编号,部门名称 (f)AVG(工资) 3000 (g)ORDER BY 3 DESC 或 ORDER BY 平均工资 DESC (2)(h)工资 (SELECT AVG(工资) FROM 员工) (3)(i)NOT EXISTS (j)部门编号=所属部门 (4)(k)WHEN 教育水平 = 20 AND 教育水平 16 THEN ‘本科生’ (l)ELSE ‘其他’ (m)员工.部门=部门.部门编号 AND 部门名称=‘研发部’ (5)(n)NOT LIKE ‘%处’ 试题三(共15分) 阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某医院拟开发一套住院病人信息管理系统,以方便对住院病人、医生、护士和手术等信息进行管理。 【需求分析】 (1)系统登记每个病人的住院信息,包括:病案号、病人的姓名、性别、地址、身份证号、电话号码、入院时间及病床信息等,每个病床有唯一所属的病房及病区。如表3-1所示。其中病案号唯一标识病人本次住院的信息。 表3-1住院登记表 病案号 0710022

文档评论(0)

1亿VIP精品文档

相关文档