当前位置:首页计算机类软件水平考试中级数据库系统工程师->某工厂信息管理数据库部分关系模式如下所示:职工(职工号,姓名

某工厂信息管理数据库部分关系模式如下所示:职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)部门(部门号,部门名,负责人代码,任职时间)关系模式主要属性、含义及约束如表1所示,“职工”和“部门”关系示例分别如表2、3所示。表1 主要属性、含义及约束

中级数据库系统工程师,章节练习,基础复习,中级数据库系统工程师练习

表2 职工关系示例

中级数据库系统工程师,章节练习,基础复习,中级数据库系统工程师练习

表3 部门关系示例

中级数据库系统工程师,章节练习,基础复习,中级数据库系统工程师练习

【问题1】根据上述说明,由SQL定义“职工”和“部门”关系模式,以及统计各部门人数C、工资总数Totals、平均工资AveragesD_S视图如下所示,请在空缺处填入正确内容。CREATE TABLE 部门( 部门号CHAR(1) ① ,部门名CHAR( 16),负责人代码CHAR(4),任职时间DATE,②(职工号));CREATE TABLE 职工( 职工号CHAR(4), 姓名CHAR(8),年龄NUMDER( 3), 月工资NUMDER(4), 部门号CHAR(1),电话CHAR(8),办公室CHAR(8),③(部门号),CHECK ④);CREATE VIEW D_S (D, C, Totals, Averages)AS(SELECT 部门号,⑤FROM 职工 ⑥ ;

【问题2】对于”职工”和“部门”关系,请指出下表中各行是否可以插入,为什么?

中级数据库系统工程师,章节练习,基础复习,中级数据库系统工程师练习

【问题3】在问题1定义视图D_S上,下面哪个查询或更新是允许执行?为什么?(1) UPDATE D_S SET D=3 WHERE D=4;(2) DELETE FROM D_S WHERE 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职工 AS M WHERE M.部门号=E.部门号)

(1)请用30字以内文字简要说明该查询语句对查询效率影响。

(2)对该查询语句进行修改,使它既可以完成相同功能,又可以提高查询效率。

【问题5】假定分别在“职工”关系中“年龄”和“月工资”属性上创建了索引,如下SELECT查询语句可能不会促使查询优化器使用索引,从而降低查询效率。请写出,既可以完成相同功能又可以提高查询效率SQL语句。

答案:
本题解析:

问题1:

中级数据库系统工程师,章节练习,基础复习,中级数据库系统工程师练习

问题2:第1行不能插入“职工”关系,它违反了实体完整性中主键必须唯一区分关系中每一个属性规则。

第2行可以插入“职工”关系,尽管“部门号”、“电话”和“ 办公室”属性为空,但是它表示该雇员还没有分配到某个部门。

第3行不能插入“职工”关系,它违反了参照完整性规则,因为在“部门”关系中不存在句号为6部门。

问题3:此问考查是视图定义掌握。1和2都不能更新,3、4和5查询可以执行。因为D_S 是只读视图,视图可以像基表一样用于查询。所以D_S 不能更新但可以查询。

问题4:(1):对于外层“职工”关系E中每一个元组,都要对内层整个“职工”关系M进行检索,因此查询效率不高。(2):SElECT 职工号 FROM 职工,(SELECT Max(月工资)AS 最高工资,部门号 GROUP BY部门号)depMax WHERE 月工资=最高工资 AND 职工.部门号=depMax.部门号

问题5:SELECT 姓名,年龄,月工资 FROM 职工WHERE 年龄>45 OR 周工资<1000

更新时间:2022-07-17 16:21
纠错

你可能感兴趣的试题

单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.V(S2)和P(S4)
  • B.P(S2)和V(S4)
  • C.P(S2)和P(S4)
  • D.V(S2)和V(S4)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.V(S1)P(S2)和V(S3)
  • B.P(S1)V(S2)和V(S3)
  • C.V(S1)V(S2)和V(S3)
  • D.P(S1)P(S2)和V(S3)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S4)和V(S4)V(S5)
  • B.V(S5)和P(S4)P(S5)
  • C.V(S3)和V(S4)V(S5)
  • D.P(S3)和P(S4)V(P5)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S3)和V(S4)V(S5)
  • B.V(S3)和P(S4)P(S5)
  • C.P(S3)和P(S4)P(S5)
  • D.V(S3)和V(S4)V(S5)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S2)和P(S4)
  • B.P(S2)和V(S4)
  • C.V(S2)和P(S4)
  • D.V(S2)和V(S4)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.V(S1)、P(S1)和V(S2)V(S3)
  • B.P(S1)、V (S1)和V(S2)V(S3)
  • C.V(S1)、V(S2)和P(S1)V(S3)
  • D.P(S1)、V(S2)和V(S1)V(S3)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.序列图
  • B.状态图
  • C.通信图
  • D.活动图
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.合并分叉
  • B.分支
  • C.合并汇合
  • D.流
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.产甲2套,乙3套
  • B.生产甲1套,乙4套
  • C.生产甲3套,乙4套
  • D.生产甲4套,乙2套
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.见图A
  • B.见图B
  • C.见图C
  • D.见图D
查看答案