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