问答题
[说明]
某企业网上销售管理系统的数据库部分关系模式如下所示:
客户(客户号,姓名,性别,地址,邮编)
产品(产品号,名称,库存,单价)
订单(订单号,时间,金额,客户号)
订单明细(订单号,产品号,数量)
关系模式的主要属性及约束如下表所示。
| 关系名 | 约束 |
| 客户 | 客户号唯一标识一位客户,客户性别取值为“男”或者“女” |
| 产品 | 产品号唯一标识一个产品 |
| 订单 | 订单号唯一标识一份订单。一份订单必须仅对应一位客户,一 份订单可由一到多条订单明细组成。一位客户可以有多份订单。 |
| 订单明细 | 一条订单明细对应一份订单中的一个产品 |
客户、产品、订单和订单明细关系及部分数据分别如下列各表所示。
客户关系
|
| 客户号 | 姓名 | 性别 | 地址 | 邮编 |
| 01 | 王晓甜 | 女 | 南京路2号 | 200005 |
| 02 | 林俊杰 | 男 | 北京路18号 | 200010 |
产品关系
|
| 产品号 | 名称 | 库存 | 单价 |
| 01 | 产品A | 20 | 298.00 |
| 02 | 产品B | 50 | 168.00 |
订单关系
|
| 订单号 | 时间 | 金额 | 客户号 |
| 1001 | 2006.02.03 | 1268.00 | 01 |
| 1002 | 2006.02.03 | 298.00 | 02 |
订单明细关系
|
| 订单号 | 产品号 | 数量 |
| 1001 | 01 | 2 |
| 1001 | 02 | 4 |
| 1002 | 01 | 1 |
问答题
以下是创建部分关系表的SQL语句,请将空缺部分补充完整。
CREATE TABLE客户(
客户号CHAR(5)
,
姓名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) );
【正确答案】(a)NOT NULL UNIQUE或NOT NULL PRIMARY KEY或PRIMARY KEY
(b)CHEC K (VALUEIN(‘男’,‘女’)
(c)FOREIGN KEY (客户号)REFERENCES客户(客户号)
【答案解析】
问答题
请按题意将下述SQL查询语句的空缺部分补充完整。
按客户购买总额的降序,输出每个客户的客户名和购买总额。
SELECT客户. 客户名, (g)
FROM客户,订单
WHERE客户. 客户号=订单. 客户号
(h)
(i) ,
【正确答案】(g)SUM(金额)AS总额
(h)GROUPBY客户. 客户号
(i)ORDERBY总额DESC
【答案解析】
问答题
当一个订单和对应的订单明细数据入库时,应该减少产品关系中相应的产品库存,为此应该利用数据库管理系统的什么机制实现此功能?请用100字以内的文字简要说明。
【正确答案】采用数据库管理系统的触发器机制。对产品关系定义一个触发器,在订单明细中的记录插入或更新之后,该触发器被激活,根据订单明细中订购的产品及数量,减少产品关系中对应产品的库存量。
【答案解析】[解析] 本题考点为数据库章节的知识,考生不仅需要对数据库概念熟悉,还需要对知识点理解,一般考题都是将数据库的概念与实际的数据库例予结合。