设某商业集团关于商店销售商品的数据库中有三个基本表: 商店 SHOP(S#,SNAME,AREA,MGR_NAME) 其属性是商店编号,商店名称,区域名,经理姓名。 销售 SALE(S#,G#, QUANTITY) 其属性是商店编号,商品编号,销售数量。 商品 GOODS(G#,GNAME,PRICE) 其属性是商品编号,商品名称,单价。 36.试写出下列查询的关系代数表达式、元组表达式和关系逻辑规则: 检索销售“冰箱”的商店的编号和商店名称。 37.试写出上面第 36题的SELECT语句表达形式。并写出该查询的图示形式。 38.试写出下列操作的SQL语句: 从 SALE表中,把“开开商店”中销售单价高于1000元的商品的销售元组全部删除。 39.写一个断言,要求区域名为“EAST”的商店里销售商品的单价不能低于100元。 40.试写出下列操作的SQL语句: 统计区域名为“EAST”的所有商店销售的每一种商品的总数量和总价值。 要求显示(G#,GNAME,SUM_QUANTITY,SUM_VALUE),其属性为商品编号、商品名称、销售数量、销售价值。 37.解:SELECT语句如下: SELECT A.S#,SNAME FROM SHOP A,SALE B,GOODS C WHERE A.S#=B.S# AND B.G#=C.G# AND GNAME='冰箱'; 该查询语句的图示形式如下: SHOP S# SNAME AREA MGR_NAME P._X P. SALE S# G# QUANTITY GOODS G# GNAME PRICE _X _Y _Y 冰箱 38.解:DELETE FROM SALE WHERE S# IN(SELECT S# FROM SHOP WHERE SNAME='开开商店') AND G# IN(SELECT G# FROM GOODS WHERE PRICE>1000); 39.解:CREATE ASSERTION ASSE8 CHECK (100<=ALL(SELECT PRICE FROM SHOP A,SALE B,GOODS C WHERE A.S#=B.S# AND B.G#=C.G# AND AREA='EAST')); 或 CREATE ASSERTION ASSE8 CHECK (NOT EXISTS(SELECT * FROM SHOP A,SALE B,GOODS C WHERE A.S#=B.S# AND B.G#=C.G# AND AREA='EAST' AND PRICE<100)); 40.解:SELECT C.G#,GNAME,SUM(QUANTITY)AS SUM_QUANTITY, PRICE*SUM(QUANTITY)AS SUM_VALUE FROM SHOP A,SALE B,GOODS C WHERE A.S#=B.S# AND B.G#=C.G# AND AREA='EAST' GROUP BY C.G#,GNAME; (注:SELECT子句中的属性C.G#,GNAME应在分组子句中出现) 36.设数据库中有两个基本表: 职工表 EMP(E#,ENAME,AGE,SALARY,D#), 其属性分别表示职工工号、姓名、年龄、工资和工作部门的...