早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

阅读下列说明,回答问题1至问题3,将解答填入的对应栏内。[说明] 某网上书店后台数据库的部分关系模

题目

阅读下列说明,回答问题1至问题3,将解答填入的对应栏内。

[说明]

某网上书店后台数据库的部分关系模式如下:

会员(会员编号,用户名,密码,姓名;地址,邮编,电话,消费额,积分)

图书(图书编号,类型名称,图书名称,作者,出版社,出版日期,ISBN,价格)

订单(订单编号,用户名,销售额,订购日期,出货日期)

订单明细(订单明细编号,订单编号,图书编号,数量)

下面是创建订单关系的SQL语句,订单编号唯一识别一个订单,用户名为订购图书的会员用户名,且不能为空。要求订购日期不能大于出货日期。请将空缺部分补充完整。

CREATE TABLE 订单(

订单编号 CHAR(6) (a)

用户名VARCHAR(40)NOT NULL (b),

销售额FLOAT,

订购日期DATE NOT NULL,

出货日期DATE (c));

参考答案
正确答案:(a) PRIMARY KEY 或 NOT NULL UNIQUE 或 UNIQUE NOT NULL (b) REFERENCES会员(用户名)或REFERENCES会员 (c) CHECK(订购日期=出货日期)或 CONSTRAINT chk date CHECK(订购日期=出货日期) (注:chk date可为其他名称)
(a) PRIMARY KEY 或 NOT NULL UNIQUE 或 UNIQUE NOT NULL (b) REFERENCES会员(用户名)或REFERENCES会员 (c) CHECK(订购日期=出货日期)或 CONSTRAINT chk date CHECK(订购日期=出货日期) (注:chk date可为其他名称) 解析:本题考核SQL语言的应用。
本题考查关系模型的完整性约束。完整性约束包括三类:实体完整性、参照完整性和用户定义的完整性。实体完整性约束规定关系的主属性不能取空值,关系模型中以主码作为唯一性标示。(a)考核的是实体完整性,订单编号是订单关系的主键,用PRIMARY KEY关键字,也可用NOT NULL UNIQUE 或UNIQUE NOT NULL来保证一个订单标号唯一识别一个订单:参照完整性约束规定若属性(或属性组)A是关系R上的主码,B是关系S上的外码,A与B相对应(来自相同的域),则B取值为空或者来自于R上的某个A的值。(b)考查参照完整性,用户名属性对应于会员关系的用户名属性,定义语法为REFERENCES会员(用户名),由于两个关系中的属性名一致,因此也可以用 REFERENCES会员定义;用户定义的完整性约束是针对具体的数据库应用而定义的,它反映该应用所涉及的数据必须满足用户定义的语义要求。(c)考查用户定义的完整性约束,要求出货日期必须大于等于订购日期,因此答案为CHECK(订购日期=出货日期) 或C0ONSTRAINT chk date CHECK(订购日期=出货日期),此处,chk date可以为其他的约束名。