2011上半年数据库系统工程师考试真题及答案解析下午卷(二)

数据库系统工程师 责任编辑:茶泡了饭 2015-12-29

添加老师微信

备考咨询

加我微信

摘要:2011上半年数据库系统工程师考试真题及答案解析下午卷 试题二 阅读下列说明,回答问题1至问题3,将解答填入对应栏内。

>>>>>>>>>>点击进入数据库系统工程师考试网络课堂

>>>>>>>>>>点击进入数据库系统工程师历年真题题库

>>>>>>>>>>点击进入数据库工程师考试大纲教材


2011上半年数据库系统工程师考试真题及答案解析

下午卷



  试题二
      阅读下列说明,回答问题1至问题3,将解答填入对应栏内。
      [说明]
某法院要开发一个诉讼案件信息处理系统,该信息系统的部分关系模式如下:
  职工(职工编号,姓名,岗位)律师(律师编号,姓名)
被告(被告编号,姓名,地址)
  案件(案件编号,案件类型,案件描述,被告,律师,主审法官,立案日期,状态,结案日期,结案摘要)
      审理(审理编号,案件编号,审理日期,摘要)有关关系模式的属性及相关说明如下:
(1)职工关系模式的岗位有“法官”、“书记员”和“其他”。
(2)诉讼立案后,即在案件关系中插入一条相应记录。案件关系模式的状态有“待处理”、“审理中”、“结案”和“撤销”,一个案件开始立案时其案件状态为“待处理”。
(3)案件关系模式的案件类型有“偷窃”、“纵火”等。
(4)一个案件自立案到结案的整个过程由一位法官和一位律师负责,一个案件通常经过一次到多次审理。
假设案件编号标识一个案件,且立案日期小于等于结案日期。请将如下创建案件关系的SQL语句的空缺部分补充完整。
CREATETABLE案件(
      案件编号CHAR5(a),
  案件类型VARCHAR6,
案件描述VARCHAR7,
立案日期DATE,
  被告VARCHAR5REFERENCES被告(被告编号),
  律师VARCHAR5REFERENCES律师(律师编号),
  主审法官VARCHAR5(b),
      状态VARCHAR5(c)DEFAULT'待处理',
结案日期DATE,
结案摘要VARCHAR7,
      d.
      };
请完成下列查询的SQL语句。
9、查询当前待处理的诉讼案件,显示案件的案件编号、立案日期、被告姓名、被告地址、案件描述、律师姓名和主审法官姓名。
  SELECT案件编号,立案日期,被告.姓名,AS被告姓名,地址AS被告地址,案件描述,律师.姓名AS律师姓名,(e)
      FROM(f)
  WHERE案件.被告=被告.被告编号AND案件.律师=律师.律师编号AND
(g);
      10、查询2009年立案的各类案件数,并按案件数降序排序。(日期格式举例:2009年1月1日表示为01-JAN-2009,2009年12月31日表示为31-DEC-2009)
  SELECT类型,
  count(*)AS案件数
  FROM案件
  WHERE(h)d
GROUPBY类型
      (i);
  11、查询立案次数超过5次的被告姓名和地址。
      SELECT姓名,地址,count(*)
      FROM案件,被告
      WHERE(j)d
      GROUPBY(k)d
(l);
      当插入一个审理记录时,检查案件的状态,若状态为“未处理”,则将其修改为“审理中”。下面是用触发器实现该需求的SQL语句,请将空缺部分补充完整。
CREATETRIGGER审理TRIGGERAFTER(m)ON审理
REFERENCINGnewrowASnrow
FOREACHrow
      WHEN'未处理'=(SELECT状态
      FROM案件
      WHERE案件编号=nrow.案件编号)
BEGIN
UPDATE案件(n)d
WHERE(o);
      END



  参考答案及解析
      5、PRIMARYKEY或NOTNULLUNIQUE
      6、REFERENCES职工(职工编号)
      7、CHECKVALUESIN('待处理','审理中','结案','撤销')
      8、CHECK(立案日期<=结案日期)

本题考查SQL语言,是比较传统的题目,要求考生细心分析题目中所描述的内容。
本问题考查SQL中的数据定义语言DDL和完整性约束。完整性约束包括三类:实体完整性、参照完整性和用户定义的完整性。实体完整性约束规定关系的主属性不能取空值,关系模型中以主码作为性标识;参照完整性约束规定若属性(或属性组)A是关系R上的主码,B是关系S上的外码,A与B相对应(来自相同的域),则B取值为空或者来自于R上的某个A的值;用户定义的完整性约束是针对具体的数据库应用而定义的,它反映该应用所涉及的数据必须满足用户定义的语义要求。
      (a)考查实体完整性约束,案件编号是案件关系模式的主码,用关键字PRIMARYKEY或者NOTNULLUNIOUE表示。
(b)考查参照完整性约束,主审法官属性参照职工关系模式中的职工编号属性,由于这两个属性名称不同,因此用REFERENCES职工(职工编号)表示,此处不能省略职工编号。
      (c)、(d)考查用户定义的完整性约束。(c)是在状态属性上定义列级约束,用CHECKVALUESIN('待处理','审理中','结案','撤销')表示。(d)在立案日期和结案日期上定义约束,用CHECK(立案日期<=结案日期)表示。
9、姓名AS主审法官姓名
10、案件,被告,律师,职工(关系模式的顺序无关)
11、主审法官=职工.职工编号
      12、立案日期BETWEEN'01-JAN-2009'AND'31-DEC-2009'或者立案日期>='01-JAN-2009'AND立案日期<='31-DEC-2009'
13、ORDERBY案件数DESC
      14、被告=被告.被告编号
      15、姓名,地址
  16、HAVINGcount(*)>5

本问题考查SQL中的数据操作语言DML。
      (1)考查别名和连接查询条件。(e)处考核别名定义,用AS关键字,且别名根据题干给出,应填“职工.姓名AS主审法官姓名”;(f)处考查该查询涉及到的关系模式,此处应涉及到案件、被告、律师和职工4个关系模式,在FROM子句中关系模式是顺序无关的;(g)处考核案件关系模式和职工关系模式的连接条件,即“案件.主审法官=职工.职工编号”。
      (2)考查日期属性并对查询结果进行分组和排序。(h)处主要考核日期作为条件属性的语法,题干中已经给出日期格式的提示。在两个日期之间的时间的语法可以用BETWEEN…AND…,也可以用>…<=,因此,此处可以填“立案日期BETWEEN'01-JAN-2009'AND'31-DEC-2009'"或者“立案日期>='01-JAN-2009'AND立案日期<='31-DEC.2009'";(i)处考核查询结果的排序,用“ORDERBY案件数DESC”表示,其中的DESC关键字不能省略。在ORDERBY子句中,若不用表示升序的关键字ASC或表示降序的关键字DESC表示,则默认为升序排序。
      (3)考查对查询结果进行分组,并指定满足条件的分组才能输出。(i)处考核两个关系模式的连接关系,应填“案件.被告=被告.被告编号”;(k)处考核分组,此处填“姓名,地址”,不能仅填姓名或者地址;(1)处考核分组条件,用HAVING关键字,应填“HAVINGcount(*)>5”。17、INSERT18、SET状态='审理中'19、案件编号=nrow案件编号本问题考查触发器。
触发器是一个能由系统自动执行对数据库修改的语句。一个触发器由事件、条件和动态三部分组成:事件即对数据库的插入、删除和修改等操作。触发器在这些事件发生时,将开始工作;条件是指触发器将测试条件是否成立,若成立就执行相应的动作,否则就什么也不做;动态是指若触发器测试满足预定的条件,那么就由数据库管理系统执行这些动作。本题首先定义触发器的事件,即对审理


>>>>>>>>>>点击继续答题

>>>>>>>>>>点击返回目录


相关链接:

      数据库系统工程师考试知识点分析与真题详解(第4版)
      数据库系统工程师考试历年试题分析与解答(第4版)
      数据库系统工程师考试下午知识点精讲与考前必练
      数据库系统工程师考试考前串讲




更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!