请将下面创建订单表的SQL语句补充完整,要求定义实体完整性约束、参照完整性约束,以及其他完整性约束。
CREATE TABLE ORDERS(
Ono CHAR(20) PRIMARY KEY,
Cno CHAR(10) (a),
Gno CHAR(10) (b),
Oprice NUMERIC(7,2),
Onumber SMALLINT (c));
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某订单管理系统的部分数据库关系模式如下:
客户:CUSTOMERS(Cno,Cname,Cage,Csex),各属性分别表示客户编号、客户姓名、年龄和性别;
商品:GOODS(Gno,Gname,Gprice,Gorigin),各属性分别表示商品编号、商品名称、单价和产地;
订单:ORDERS(Ono,Cno,Gno,Oprice,Onumber),各属性分别表示订单编号、客户编号、商品编号、顾客购买商品的单价和数量。
有关关系模式的说明如下:
(1)下划线标出的属性是表的主键;
(2)商品表中的Gprice是商品的当前价格,可能会发生变动;订单表中的Oprice是订单成交时的商品单价。
(3)一个订单只包含一位顾客购买的一种商品:其商品数量至少1件,最多99件。
根据以上描述,回答下列问题,将SQL语句的空缺部分补充完整。
请将下面创建订单表的SQL语句补充完整,要求定义实体完整性约束、参照完整性约束,以及其他完整性约束。
CREATE TABLE ORDERS(
Ono CHAR(20) PRIMARY KEY,
Cno CHAR(10) (a),
Gno CHAR(10) (b),
Oprice NUMERIC(7,2),
Onumber SMALLINT (c));
查询所有订单的详细情况,要求输出订单号(Ono)、客户姓名(Cname)、商品名称(Gname)、单价(Oprice)、数量(Onumber)和金额(Oamount),查询结果按照金额从大到小排列,此功能由下面的SQL语句实现,请补全。
SELECT Ono,Cname,Gname,Oprice,Onumber,(d) as Oamount
FROM CUSTOMERS,ORDERS,GOODS
WHERE (e)
AND (f)
(g) BY (h);
创建已售商品信息视图,给出已售商品的编号(Gno)、名称(Gname)、订单个数(Onum)及平均每单的商品数量(GAnum)。此视图的创建语句如下,请补全。
CREATE (i) GOODS_SOLD AS
SELECT ORDERS。Gno AS Gno,MIN(GOODS。Gname) AS Gname,
(j) AS Onum,(k) AS GAnum
FROM ORDERS,GOODS
WHERE ORDERS.Gno=GOODS.Gno
(l) BY (m);
查询未售出商品的编号和名称。此功能由下面的SQL语句实现,请补全。
SELECT Gno,Gname
FROM (n)
(o)
SELECT Gno,Gname
FROM GOODS_SOLD;