3.
试题二(15分)阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。【说明】某企业网上销售管理系统的数据库部分关系模式如下所示:客户(客户号,姓名,性别,地址,邮编)产品(产品号,名称,库存,单价)订单(订单号,时间,金额,客户号)订单明细(订单号,产品号,数量)关系模式的主要属性及约束如表2-1所示。客户、产品、订单和订单明细关系及部分数据分别如表2-2、2-3、2-4、2-5所示。【问题1】以下是创建部分关系表的SQL语句,请将空缺部分补充完整。(3分)CREATETABLE客户(客户号CHAR(5)____(a)____,姓名CHAR(30),性别CHAR(2)____(b)____,地址CHAR(30),邮编CHAR(6));CREATETABLE订单(订单号CHAR(4),时间CHAR(10),金额NUMBER(6,2),客户号CHAR(5)NOTNULL,PRIMARYKEY(订单号),____(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客户产品客户产品1WHERE_____(j)_____(SELECT*FROM客户产品客户产品2WHERE_____(k)_____(SELECT*FROM客户产品客户产品3WHERE_____(l)_____));【问题5】当一个订单和对应的订单明细数据入库时,应该减少产品关系中相应的产品库存,为此应该利用数据库管理系统的什么机制实现此功能?请用100字以内的文字简要说明。(2分)[15分]