设有一个工程供应数据库系统,包括如下四个关系模式: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=' 天津 '));


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部