用看的、听的学真题

study by eyes and ears.

  1. 首页
  2. 数据库系统工程师
  3. 2016年05月数据库系统工程师考试下午真题【应用技术】
  4. 真题详解

2016年05月数据库系统工程师考试下午真题【应用技术】(第2题) 收藏

【2】  阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
  某单位公用车辆后勤服务部门数据库的部分关系模式如下:
  驾驶员:EMP(Eno,Ename,Age,Sex,telephone),各属性分别表示驾驶员工号、姓名、年龄、性别和电话号码;
  车辆:CAR(Cno,Brand,Capacity),各属性分别表示汽车车牌号、品牌名和排量;
  调度:SCHEDULE(Sno,Eno,Cno,StartTime,Endtime),各属性分别表示调度号、驾驶员工号、汽车车牌号、发车时间和收车时间。
  奖金:BONUS(Eno,Year,Month,Amount),各属性分别表示驾驶员工号、年、月和当月的奖金数量。
  有关车辆调度的相关说明如下:
  公车的行驶时间只能在工作时间内,因此规定调度表中每天安排发车的时间在上午07:00:00至下午18:00:00范围内。

问题1 (4.0分)

  【问题1】

  请将下面创建调度关系的SQL语句的空缺部分补充完整,要求指定关系的主码、外码,以及调度表中每天安排发车的时间在上午07:00:00至下午18:00:00范围内的约束(由函数Time Get_time(DATETIME StartTime)返回出车的时间)。

  CREATE TABLE SCHEDULE(
  Sno CHAR(10),
  Eno CHAR(10)(a)
  Cno CHAR(8)(b)
  StartTime DATETIME(c)
  EndTime DATETIME,
  PRIMARY KEY(d));
暂无

问题2 (6.0分)

  (1)创建所有'奥迪'品牌汽车的调度信息的视图AudiSCHEDULE,属性有Eno、Ename、Cno、Brand、StartTime和EndTime,请将下面SQL语句的空缺部分补充完整。

  CREATE(e)
  AS
  SELECT EMP,Eno,Ename,CAR,Cno,Brand,StartTime,EndTime
  FROM EMP,CAR,SCHEDULE
  WHERE(f)
  (2)驾驶员的奖金在收车时间写入时,由出车时间段自动计算,并用触发器来实现奖金的自动维护,函数float Bonus_value(DATETIME StartTime,DATETIME EndTime)依据发车时间和收车时间来计算本次出车的奖金。系统在每月初自动增加一条该员工的当月奖金记录,初始金额为零。请将下面SQL语句的空缺部分补充完整。
  CREATE (g) Bonus_TRG AFTER (h) ON SCHEDULE
  REFERENCING new row AS nrow
  FOR EACH ROW
  BEGIN
  UPDATE BONUS
  SET(i)
  WHERE (j) AND Year=Get_Year(nrow.StartTime)
  AND Month=Get_Month(nrow。StartTime);
  END
暂无

问题3 (5.0分)

  请将下面SQL语句的空缺郜分补充完整。

  (1)查询调度次数最多的汽车车牌号及其品牌。
  SELECT CAR.Cno,Brand
  FROM CAR,SCHEDULE
  WHERE CAR。Cno=SCHEDULE。Cno
  GROUP BY(k)
  HAVING (l) (SELECT COUNT(*)
  FROM SCHEDULE
  CROUP BY Cno);
  (2)查询所有在调度表中没有安排过"大金龙"品牌车辆的驾驶员工员和姓名。
  SELECT Eno,Ename
  FROM EMP
  WHERE Eno(m)
  SELECT Eno
  FROM(n)
  WHERE(o)
  AND brand='大金龙');
暂无
广告位