题目详情

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

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

表2-2“职工”关系

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

表2-2“部门”关系

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

【问题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)__(部门号),CHECKL(__(d)__)); Create View D_S(D,C,Totals,Averages)As,(Select 部门号,__(e)__ from 职工__(f)__  

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

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

【问题3】在问题1定义的视图D_S上,下面那个查询或更新是允许执行的,为什么? (1)Update D_S set=3 where D=4;(2)Delete from D_S where C>4;(3)Select D,Averages fromD_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语句。Select 姓名,年龄,月工资 from 职工 where 年龄>45 or 月工资image.png1000

正确答案及解析

正确答案
解析

[问题1](a)NOT NULL UNIQUE(b)CHECK(VALUE IN('男','女'))(c)FOREIGN KEY(客户号) REFERENCES 客户(客户号)

[问题2](d)查询一次订购(或购买)产品号为02的数量大于10的客户号(e)π客户号(订单?σ产品号='02'^数量>10(订单明细))(f)可以优化。优化的SQL语句为:SELECT客户号FROM订单WHERE订单号IN(SELECT 订单号FROM 订单明细WHERE 产品号 = '02 ' AND数量>10)

[问题3](g)SUM(金额)AS总额(h)GROUP BY 客户.客户号(i)ORDER BY 总额 DESC

[问题4](1)CREATE VIEW 客户产品 AS(SELECT 客户号,产品号FROM 订单,订单明细WHERE 订单明细.订单号=订单.订单号)(2)(j)NOT EXISTS (k)客户号='01' AND NOT EXISTS (l)客户产品1.客户号=客户产品3.客户号AND客户产品2.产品号=客户产品3.产品号

[问题5]采用数据库管理系统的触发器机制。对产品关系定义一个触发器,在订单明细中的记录插入或更新之后,该触发器被激活,根据订单明细中订购的产品及数量,减少产品关系中对应产品的库存量。

[问题1](a)NOT NULL UNIQUE(b)CHECK(VALUE IN('男','女'))(c)FOREIGN KEY(客户号) REFERENCES 客户(客户号)

[问题2](d)查询一次订购(或购买)产品号为02的数量大于10的客户号(e)π客户号(订单?σ产品号='02'^数量>10(订单明细))(f)可以优化。优化的SQL语句为:SELECT客户号 FROM订单 WHERE订单号IN (SELECT 订单号 FROM 订单明细 WHERE 产品号 = '02 ' AND数量>10)

[问题3](g)SUM(金额)AS总额(h)GROUP BY 客户.客户号(i)ORDER BY 总额 DESC

[问题4](1)CREATE VIEW 客户产品 AS(SELECT 客户号,产品号 FROM 订单,订单明细 WHERE 订单明细.订单号=订单.订单号)(2)(j)NOT EXISTS(k)客户号='01' AND NOT EXISTS(l)客户产品1.客户号=客户产品3.客户号AND客户产品2.产品号=客户产品3.产品号

[问题5]采用数据库管理系统的触发器机制。对产品关系定义一个触发器,在订单明细中的记录插入或更新之后,该触发器被激活,根据订单明细中订购的产品及数量,减少产品关系中对应产品的库存量。

你可能感兴趣的试题

单选题

企业通过多年项目实施经验总结归纳出IT项目可能出现风险列表属于( )范畴。

  • A.企业环境因素
  • B.定性分析技术
  • C.组织过程资产
  • D.风险规划技术
查看答案
单选题

风险分析最简单方法是( )。

  • A.概率分析
  • B.敏感性分析
  • C.德尔菲技术
  • D.效用理论
查看答案
单选题

规划风险应对是针对项目目标,制订提高机会,降低威胁方案和措施过程。( )不是规划风险应对工具与技术。

  • A.应急应对策略
  • B.概率和影响矩阵
  • C.专家判断
  • D.消极风险或威胁应对策略
查看答案
单选题

在定性风险分析中,使用定性分析将风险发生概率及其后果描述为极高、高、中、低、极低5级,此种分析方法称为( )

  • A.风险概率及影响评估
  • B.风险数据质量评估
  • C.风险分类
  • D.风险数据收集
查看答案
单选题

下面( )不是风险审计目标。

  • A.确定风险管理已经在项目整个生命周期中实施
  • B.确定项目被管理好,风险被控制
  • C.协助在早期阶段鉴别项目价值潜力退化
  • D.确保被识别和相当有威胁每一个风险都有计算预期值
查看答案

相关题库更多 +