题库 题库

【简答题】

试题二(15分)
    阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。
【说明】
    某企业网上销售管理系统的数据库部分关系模式如下所示:
    客户(客户号,姓名,性别,地址,邮编)
    产品(产品号,名称,库存,单价)
    订单(订单号,时间,金额,客户号)
    订单明细(订单号,产品号,数量)
关系模式的主要属性及约束如表2-1所示。
 
客户、产品、订单和订单明细关系及部分数据分别如表2-2、2-3、2-4、2-5所示。
  
【问题1】 以下是创建部分关系表的SQL语句,请将空缺部分补充完整。(3分)
    CREATE TABLE客户(
    客户号 CHAR(5)  ____(a)____ ,
    姓名 CHAR(30),
    性别  CHAR(2)  ____(b)____ ,
    地址 CHAR(30),
    邮编 CHAR(6));
    CREATE TABLE 订单(
    订单号 CHAR (4),
    时间  CHAR (10),
    金额  NUMBER(6,2),
    客户号 CHAR(5) NOT NULL,
    PRIMARY KEY  (订单号),
    ____(c)_____);
【问题2】 请根据如下查询语句,回答问题(d),(e)和(f)(4分)
    SELECT客户号
    FROM订单, 订单明细
    WHERE 订单明细.订单号 = 订单.订单号 AND
            产品号 = ’02’  AND
            数量 > 10;
    (d) 上述查询语句的功能是什么?请简要回答。(30个字以内)
    (e) 将上述查询语句转换成对应的关系代数表达式。
    (f) 上述SQL查询语句是否可以进一步优化?如可以,给出优化后的SQL查询语句。
【问题3】请按题意将下述SQL查询语句的空缺部分补充完整。(3分)
    按客户购买总额的降序,输出每个客户的客户名和购买总额。
    SELECT 客户.客户名,  _____(g)_____
    FROM 客户, 订单
    WHERE 客户.客户号 = 订单.客户号
    _____(h)_____
    _____(i)_____ ;
【问题4】用SQL语句完成下述要求。(3分)
    (1)定义一个描述订单的客户号和对应订单明细中产品号关系的视图:客户产品(客户号,产品号)。
    (2)借助(1)所定义的视图,查询至少购买了01号客户购买的所有产品的客户号。
    SELECT 客户号
    FROM 客户产品 客户产品1
    WHERE  _____(j)_____
        (SELECT *
        FROM客户产品 客户产品2
        WHERE _____(k)_____
            (SELECT *
            FROM客户产品 客户产品3
            WHERE  _____(l)_____ ));
【问题5】当一个订单和对应的订单明细数据入库时,应该减少产品关系中相应的产品库存,为此应该利用数据库管理系统的什么机制实现此功能?请用100字以内的文字简要说明。(2分)

参考答案

相关试题