设有一个工程供应数据库系统,包括如下四个关系模式:S(Sno,Sname, Status,City) ;P(Pno,Pname,Color ,Weight);J(Jno,Jname, Ci

设有一个工程供应数据库系统,包括如下四个关系模式:

S(Sno,Sname, Status,City) ;

P(Pno,Pname,Color ,Weight);

J(Jno,Jname, City) ;

SPJ(Sno,Pno,Jno,Qty) ;

供应商表 S 由供应商号、供应商名、状态、城市组成;

零件表 P 由零件号、零件名、颜色、重量组成;

工程项目表 J 由项目号、项目名、城市组成;

供应情况表 SPJ由供应商号、零件号、项目号、供应数量组成;

(1)用关系代数查询没有使用天津供应商生产的红色零件的工程号; (3 分)

(2) 用关系代数查询至少使用了供应商 S1 所供应的全部零件的工程号 JNO; (3 分) 

(3)用 SQL 查询工程 J1 使用的各种零件的名称和使用数量; (3 分)

(4)用 SQL 查询没有使用天津供应商生产的零件的工程号; (3 分)

 答案:

(1)πJno(J)- πJno ( City= '天津 ' (S) SPJ Color= '红 ' (P))

(2)πPno,Jno(SPJ)÷πPno ( Sno='S1' (SPJ)) 

(3)SELECT Pname,TotalQty FROM (SELECT Pno,SUM(Qty) TotalQty FROM SPJ WHERE Jno='J1' GROUP BY Pno) X,P WHERE P.Pno=X.Pno;

(4)SELECT Jno FROM J WHERE Jno NOT IN (SELECT Jno FROM SPJ WHERE Sno IN (SELECT Sno FROM S WHERE City=' 天津 '));

或:SELECT Jno FROM J WHERE NOT EXISTS (SELECT * FROM SPJ,S WHERE SPJ.Sno=S.Sno AND SPJ.Jno=J.Jno AND City=' 天津 ');

或: SELECT Jno FROM J WHERE NOT EXISTS (SELECT * FROM SPJ WHERE SPJ.Jno=J.Jno AND EXISTS (SELECT * FROM S WHERE S.Sno=SPJ.Sno AND City=' 天津 '));

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值