数据库部分---软件设计师考试.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库部分---软件设计师考试

2012年真题2011年真题阅读以下某工厂信息管理数据库的设计说明,根据要求回答问题1~问题4。(15分)【说明】某工厂有多个部门,每个部门有多位职工,每位职工属于并且仅属于一个部门,每个部门有一位负责人,每个办公室有一部电话。每位职工的月工资大致是:800≤月工资≤4 500元。软件开发公司A为该工厂开发的信息管理数据库的部分关系模式如下所示。职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)部门(部门号,部门名,负责人代码,任职时间)其中“职工”和“部门”的关系示例分别见表3-10和表3-11。表3-10 “职工”关系示例表职? 工? 号姓??? 名年??? 龄月? 工? 资部? 门? 号电? ??话办? 公? 室1001郑俊华26100018001234主楼2011002王平27110018001234主楼2012001王晓华381300280012351号楼3022002李力24800280012361号楼3033001黎运军42130038001237主楼2024001李源24800380012452号楼1024002李兴民361200480012462号楼1035001赵欣250Null………………………表3-11 “部门”关系示例表部? 门? 号部? 门? 名负责人代码任职时间1人事8-32机8-33销售科4生产6-15车间【问题1】(2分)请使用“关系模式标记规则”(见本题附录),给出上述各关系模式的主键和外键。【问题2】(3分)对于表3-10和表3-11所示的“职工”和“部门”关系,请指出表3-12中第①、②和③行是否允许插入?请分别用100字以内的文字简要说明理由。表3-12? 新增“职工”关系示例表行??? 号职? 工? 号姓??? 名年??? 龄月? 工? 资部? 门? 号电??? 话办? 公? 室①1001王新军28100018001234主楼201②2003李力281000③5802赵晓啸361500680015683号楼503【问题3】(5分)查询每个部门中月工资最高的“职工号”的SQL查询语句如下。Select 职工号 from 职工Ewhere 月工资=(Select Max(月工资)from职工as Mwhere M.部门号=E.部门号)(1)请用30字以内文字简要说明该查询语句对查询效率的影响。(2)对该查询语句进行修改,使它既可以完成相同功能,又可以提高查询效率。【问题4】(2分)假定分别在“职工”关系中的“年龄”和“月工资”字段上创建了索引,如下的Select查询语句可能不会促使查询优化器使用索引,从而降低查询效率,请写出既可以完成相同功能又可以提高查询效率的SQL语句。Select 姓名,年龄,月工资 from 职工where 年龄45 or 月工资1000;【问题5】(3分)该数据库系统在设计时,采用了异构数据库技术。请给出目前3种通用的异构数据库查询技术。(异构数据库查询技术包括公共数据库网关技术、公共协议技术和公共编程接口技术。【附】关系模式的标记规则如下. 关系名(属性名1,属性名2,…,属性名n)其中:①若该属性仅为主键属性时,则该属性名下画实下画线;②若该属性仅为外键属性时,则该属性名下画虚下画线;③若该属性既是主键属性,又是外键属性时,则在该属性名下画实下画线和虚下画线;④若该属性既不是主键属性,又不是外键属性时,则在该属性名下不做标记。【问题1】(2分)(1)部门(部门号,部门名,负责人代码,任职时间)(4)职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)【问题2】(3分)在表3-12第①行中的职工号是“1001”,在题目给出的表3-10“职工”关系示例表中已经存在该职主号的记录,为了保证实体的完整性,该条记录不能插入。表3-12第②行的元组可以插入到表3-10“职工”关系表中,尽管部门号、电话和办公室为空,但是它表示该雇员暂时没有分配到某个部门。表3-12第③行的元组不能插入到表3-10“职工”关系表中,部门号是外键,而在部门关系中找不到部门号为“6”的元组,违反了参照完整性,所以不能做插入操作。【问题3】(5分)(1)试题中所给出的SQL查询语句,对于外层的职工关系E中的每一个元组,都要对内层的整个职工关系M进行检索,因此查询效率不高。(2)对该查询语句进行修改,使它既可以完成相同功能,又可以提高查询效率。解答思路①改正后的SQL语句使用了临时表。Select Max(月工资) as 最高工资,部门号 into Temp from职工Group by部门号Select 职工号 from职工,Tempwhere月工资=最高工资 and 职工.部门号=Temp.部门号解答思路②Select 职工

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档