问题
问答题
[说明]
某企业网上销售管理系统的数据库部分关系模式如下所示:
客户(客户号,姓名,性别,地址,邮编)
产品(产品号,名称,库存,单价)
订单(订单号,时间,金额,客户号)
订单明细(订单号,产品号,数量)
关系模式的主要属性及约束如下表所示。
关系名 | 约束 |
客户 | 客户号唯一标识一位客户,客户性别取值为“男”或者“女” |
产品 | 产品号唯一标识一个产品 |
订单 | 订单号唯一标识一份订单。一份订单必须仅对应一位客户,一 份订单可由一到多条订单明细组成。一位客户可以有多份订单。 |
订单明细 | 一条订单明细对应一份订单中的一个产品 |
客户关系 | ||||
客户号 | 姓名 | 性别 | 地址 | 邮编 |
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)
地址CHAR(30),
邮编CHAR(6));
CREATE TABLE订单(
订单号CHAR(4),
时间CHAR(10),
金额NUMBER(6,2),
客户号CHAR(5)NOT NULL,
PRIMARY KEY(订单号),
答案
参考答案:(a)NOT NULL UNIQUE或NOT NULL PRIMARY KEY或PRIMARY KEY
(b)CHEC K (VALUEIN(‘男’,‘女’)
(c)FOREIGN KEY (客户号)REFERENCES客户(客户号)