阅读下列说明,回答问题,将解答填入答题纸的对应栏内。 【说明】 某订单管理系统的部分数据库关系模式如下: 客户:CUSTOMERS(Cno,Cname,Cage,Csex),各属性分别表示客户编号、客户姓名、年龄和性别; 商品:GOODS(Gno,Gnam

admin2021-02-03  54

问题 阅读下列说明,回答问题,将解答填入答题纸的对应栏内。
【说明】
某订单管理系统的部分数据库关系模式如下:
客户:CUSTOMERS(Cno,Cname,Cage,Csex),各属性分别表示客户编号、客户姓名、年龄和性别;
商品:GOODS(Gno,Gname,Gprice,Gorigin),各属性分别表示商品编号、商品名称、单价和产地;
订单:ORDERS(Ono,Cno,Gno,Opfice,Onumber),各属性分别表示订单编号、客户编号、商品编号、顾客购买商品的单价和数量。
有关关系模式的说明如下:
(1)下画线标出的属性是表的主键。
(2)商品表中的Gpfice是商品的当前价格,可能会发生变动;订单表中的Opfice是订单成交时的商品单价。
(3)一个订单只包含一位顾客购买的一种商品:其商品数量至少1件,最多99件。根据以上描述,回答下列问题,将SQL语句的空缺部分补充完整。
请将下面创建订单表的SQL语句补充完整,要求定义实体完整性约束、参照完整性约束,以及其他完整性约束。
CREATE TABLE ORDERS(
Ono CHAR(20) PRIMARY KEY,
Cno CHAR(10)  ____(a)____,
Gno CHAR(15)  ____(b)____,
Oprice NUMERIC(7,2),
Onumber SMALLINT ___(c)_____;

选项

答案(a)REFERENcES CUSTOMERS(Cno) (b)REFERENCES GOODS(Gno) (c)CHECK(Onumber>=1 AND Onumber<=99) 或者CHECK(Onumber BETWEEN 1 AND 99)

解析 本题考查SQL编程应用。
本问题考查SQL的数据定义和完整性约束。
根据题目描述,在订单表ORDERS中,订单编号Ono为主键;客户编号Cno为外键,
参照客户表CUSTOMERS的Cno;商品编号Gno也是外键,参照商品表GOODS的Gno。
另外,顾客购买商品的数量Onumber的取值范围为[1,99]。这些约束都是列级约束。因此创建订单表的完整SQL语句为:
CREATE TABLE ORDERS(
Ono CHAR(20)PRIMARY KEY,
Cno CHAR(10)REFERENCES CUSTOMERS(Cno),
Gno CHAR(15)REFERENCES GOODS(Gno),
Oprice NUMERIC(7,2),
Onumber SMALLINT CHECK(Onumber>=1 AND Onumber<=99));
转载请注明原文地址:https://jikaoti.com/ti/KJoiFFFM
0

相关试题推荐
最新回复(0)