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

2007年下半年数据库系统工程师考试下午真题【应用技术】(第2题)

试题【2】(15分)

  阅读以下说明,回答问题1至问题4。
【说明】
  某商场客户-商品数据库中各关系模式如下:
  客户(客户号,姓名,性别,年龄)
  商品(商品号,名称,型号,品牌,单价,库存)
  销售(流水号客户号商品号,数量,日期)
  采购(商品号,数量)
  其中:
  1)一种品牌的同一名称商品可以有多个型号,商品的库存有大于等于0约束:
  2)销售表记录每一笔销售,每销售一件商品,其库存都要做相应的修改。
  现假定已经建立了该数据库及上述四个基本表。

问题1(5.0分)

  (1)客户关系中的年龄取值在15岁到60岁之间(包含15岁和60岁),增加该约束的SQL语句如下,请将空缺部分补充完整。
  ALTER TABLE 客户 ADD CONSTRAINT
  CONSTRAINT con_ age CHECK (a)
  (2)如下用SQL语句创建的畅销商品视图包含商品号、商品名称、型号、品牌和销售量,该视图中商品的销售量大于等于1000件。请将空缺部分补充完整。
  CREATE VIEW 畅销商品 (b)
  AS
  SELECT 商品.商品号,名称,型号,品牌,销售量
  FROM 商品,(SELECT 商品号,(c) As 销售量
  FROM  销售
  GROUP BY 商品号
  HAVING SUM (数量)>=1000) AS 商品销售量
  WHERE (d)
  (3)将视图畅销商品的查询权限赋予销售经理李华,请将空缺部分补充完整。
  GRANT (e) ON TABLE 畅销商品 TO 李华;
暂无

问题2(3.0分)

  查询购买"新飞"品牌的任-型号"冰箱"的客户姓名及购买日期。实现该查询的SQL语句如下,请将空缺部分补充完整。
  SELECT 姓名,日期
  FROM  (f)
  WHERE  (g)  AND 商品号  (h)  (
  SELECT 商品号 FROM 商品
  WHERE 品牌='新飞' AND 名称= '冰箱')
暂无

问题3(3.0分)

  实现销售业务的嵌入式SQL代码段(嵌入C语言)如下,假设销售表的流水号由系统自动生成。请将空缺部分补充完箍。
  …
  EXEC SQL BEGIN DECLARE SECTION;
  /* 销售:商品号,客户号,数量,日期*/
  char pno[6];  char cno [6];
  int quantity; char date [10];
  EXEC SQL END DECLARE SECTION;
  …
  EXEC SQL CONNECT TO DEFAULT;
  EXEC SQL SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
  EXEC SQL INSERT INTO 销售(商品号,客户号,数量,日期)
  VALUES((i));
  EXEC SQL UPDATE 商品 SET 库存= (j) WHERE 商品号=:pno;
  if(SQLCA.SQLCODE !=0){
  printf ("商品%s库存不满足本次购买数量,交易失败!",pno);
  EXEC SQL ROLLBACK WORK;
  } else{
  EXEC SQL (k)
  }
  EXEC SQL DISCONNECT CURRENT;
  …
暂无

问题4(4.0分)

  对商品表增加最小库存属性;若修改某商品的库存时,使得库存值小于或等于其最小库存值,则向采购表插入一条记录,要求采购的数量是该商品最小库存值的两倍再加上10。下面是完成该功能的SQL语句,请将空缺部分补充完整。
  ALTER TABLE 商品 (l)
  CREATE TRIGGER 采购 -trigger AFTER (m)
  REFERENCING NEW ROW AS nrow
  FOR EACH ROW
  WHEN (n)
  BEGIN
  INSERT INTO 采购
  VALUES((o)
  END
暂无
广告位
试题标签
难度评价
  • 容易 0%
  • 中等 0%
  • 偏难 0%