设有一个SPJ数据库,包括4个关系模式S、P、J和 SPJ。
S(SNO, SNAME,STATUS,CITY) ; P(PNO,PNAME,COLOR,WEICHT) ; J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY)。
供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市
零件表P由零件代码(PNO)、零件名(PNAME)、顔色(COLOR)、重量(WEICHT)组成。
工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。
供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成
今有若干数据如图所示。
试用关系代数完成如下查询:
①求供应工程J1 零件的供应商代码SNO。
πSNO(σJNO=’J1'(SPJ))
②求供应工程J1零件P1的供应商代码SNO。
πSNO(σJNO=’J1'∩PNO ='P1'(SPJ) )
③求供应工程J1 零件为红色的供应商代码SNO。
πSNO(σJNO=’J1'∩COLOR ='红'(SPJ⋈P) )
πSNO(πSNO,PNO(σJNO=’J1'(SPJ))⋈πPNO(σCOLOR ='红'(P)))
④求没有使用天津供应商生产的红色零件的工程号JNO 。
πJNO(σCOLOR ='红'∩CITY NOT ='天津'(SPJ⋈S) )
πJNO(J)-πJNO(πSNO,PNO,JNO(SPJ)⋈πPNO(σCOLOR ='红'(P))⋈ πSNO(σCITY ='天津'(S)))
⑤求至少使用了与供应商S1所供应的全部零件相同零件号的工程号JNO。
πJNO(SPJ ÷πPNO(σSNO=’J1'(SPJ) ))
πJNO,PNO(SPJ) ÷πPNO(σSNO=’J1'(SPJ) )