设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式 求此题怎么解。 要用关系代数和SQL完成
设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO...
设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
S(SNO,SNAME,STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNANE,CITY);
SPJ(SNO,PNO,JNO,QTY)。
其中:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J 由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量组成(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
试用关系代数和SQL完成如下查询:
(1)求供应工程J1 零件的供应商号码SNO。
(2)求供应工程J1 零件P1的供应商号码SNO。
(3)求供应工程J1 零件为红色的供应商号码SNO。 展开
S(SNO,SNAME,STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNANE,CITY);
SPJ(SNO,PNO,JNO,QTY)。
其中:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J 由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量组成(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
试用关系代数和SQL完成如下查询:
(1)求供应工程J1 零件的供应商号码SNO。
(2)求供应工程J1 零件P1的供应商号码SNO。
(3)求供应工程J1 零件为红色的供应商号码SNO。 展开
2个回答
展开全部
1 select p.sno from j,p,spj where p.pno=spj.pno and j.jno=spj.jno and j.jname='J1'
2 select p.sno from j,p,spj where p.pno=spj.pno and j.jno=spj.jno and j.jname='J1' and p.pname='P1'
3
select p.sno from j,p,spj where p.pno=spj.pno and j.jno=spj.jno and j.jname='J1' and p.color='红色'
2 select p.sno from j,p,spj where p.pno=spj.pno and j.jno=spj.jno and j.jname='J1' and p.pname='P1'
3
select p.sno from j,p,spj where p.pno=spj.pno and j.jno=spj.jno and j.jname='J1' and p.color='红色'
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SQL语句:(如果这J1和P1是JNAME和PNAME)
(1)SELECT S.SNO FROM S,SPJ WHERE S.SNO=SPJ.SNO AND SPJ.JNAME='J1' ;
(2)SELECT S.SNO FROM S,SPJ WHERE S.SNO=SPJ.SNO AND SPJ.JNAME='J1' AND P.PNAME=‘P1’;
(3)SELECT S.SNO FROM S,SPJ,P WHERE S.SNO=SPJ.SNO AND SJP.PNO=P.PNO AND SPJ.JNAME='J1' AND P.COLOR='红色';
如果这J1和P1是JNO和PNO:
(1)SELECT SNO FROM SPJ WHERE JNO='J1' ;
(2)SELECT SNO FROM SPJ WHERE JNO='J1' AND PN0=‘P1’;
(3)SELECT SPJ.SNO FROM SPJ,P WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J1' AND
P.COLOR='红色';
这关系代数式敲不出来,都是些乱七八糟的符号.....其实也很简单,你对着课本比划比划就写出来的
(1)SELECT S.SNO FROM S,SPJ WHERE S.SNO=SPJ.SNO AND SPJ.JNAME='J1' ;
(2)SELECT S.SNO FROM S,SPJ WHERE S.SNO=SPJ.SNO AND SPJ.JNAME='J1' AND P.PNAME=‘P1’;
(3)SELECT S.SNO FROM S,SPJ,P WHERE S.SNO=SPJ.SNO AND SJP.PNO=P.PNO AND SPJ.JNAME='J1' AND P.COLOR='红色';
如果这J1和P1是JNO和PNO:
(1)SELECT SNO FROM SPJ WHERE JNO='J1' ;
(2)SELECT SNO FROM SPJ WHERE JNO='J1' AND PN0=‘P1’;
(3)SELECT SPJ.SNO FROM SPJ,P WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J1' AND
P.COLOR='红色';
这关系代数式敲不出来,都是些乱七八糟的符号.....其实也很简单,你对着课本比划比划就写出来的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |