1 求供应工程 J1 零件的供应商号 SNO,( S,P,J,SPJ )
■ SQL
SELECT SNO
FROM SPJ
WHERE J=‘J1’
2 求供应工程 J1 零件 P1 的供应商号 SNO ; ( S,P,J,SPJ )
■ SQL
SELECT SNO
FROM SPJ
WHERE J=‘J1’ AND P=‘P1’
3 求供应工程 J1 红色零件的供应商号 SNO ; ( S,P,J,SPJ )
■ SQL
SELECT SNO
FROM SPJ,P
WHERE J=‘J1’ AND P.PNO=SPJ.PNO
AND COLOR=‘红’
SELECT SNO
FROM SPJ
WHERE J=‘J1’ AND PNO IN
(SELECT PNO
FROM p
WHERE COLOR=‘红’
4 求没有使用天津供应商生产的红色零件的工程号 JNO,
■ SQL SELECT JNOFROM J
WHERE JNO NOT IN
(SELECT JNO
FROM SPJ
WHERE PNO IN
( SELECT PNO
FROM P
WHERE COLOR=‘红’
) AND SNO IN
( SELECT SNO
FROM S
WHERE CITY=‘天津’
) )
5 求至少用了 S1供应商所供应的全部零件的工程号 JNO ;
■ SQL
SELECT DISTINCT JNO
FROM SPJ SPJZ
WHERE NOT EXISTS
(SELECT *
FROM SPJ SPJX
WHERE SNO=‘S1’
AND NOT EXISTS
( SELECT *
FROM SPJ SPJY
WHERE SPJX.PNO=SPJY.PNO
AND SPJY.JNO=SPJZ.JNO
) )
xP ≡ ┓ (ヨ x(┓ P ) )
1 求供应工程 J1 零件的供应商号 SNO,( S,P,J,SPJ )
πSNO(σJNO=‘J1’(SPJ))
GET W ( SPJ.SNO ),SPJ.JNO=‘ J1 ’
■ 关系代数
■ ALPHA
■ QBE
SPJ SNO PNO JNO QTY
P,S1 J1
2 求供应工程 J1 零件 P1 的供应商号 SNO ; ( S,P,J,SPJ )
GET W ( SPJ.SNO ),SPJ.JNO=‘ J1 ’ ∧ SPJ.PNO= ‘ P1 ’
■ 关系代数
■ ALPHA
■ QBE
SPJ SNO PNO JNO QTY
P,S1 P1 J1
πSNO(σJNO=‘J1’ ∧ PNO=‘SPJ’ (SPJ))
3 求供应工程 J1 红色零件的供应商号 SNO ; ( S,P,J,SPJ )
■ 关系代数
■ ALPHA
πSNO(σCOLOR=‘红色 ’ ∧ JNO=‘J1’ (P SPJ))
RANGE P PX
GET W ( SPJ.PNO ),? PX ( PX.PNO = SPJ.PNO ∧
SPJ.JNO = ‘ J1 ’ ∧ PX.COLOR=‘ RED ’)
3 求供应工程 J1 红色零件的供应商号 SNO ; ( S,P,J,SPJ )
■ QBE
SPJ SNO PNO JNO QTY
P,S1 P1 J1
P PNO PNAME COLOR WEIGHT
P1 红
4 求没有使用天津供应商生产的红色零件的工程号 JNO,
■ 关系代数
πJNO(J) - πJNO(σCOLOR=‘红色 ’ ∧ CITY=‘天津’ (P SPJ
S) )
πPNO (σCOLOR =‘红色 ’ (P))
πJNO,SNO,PNO (SPJ) πSNO (σCITY =‘天津 ’ (S))
4 求没有使用天津供应商生产的红色零件的工程号 JNO,
■ ALPHA
RANGE SPJ SPJX
S SX
P PX
GET W ( J.PNO ),
┓? SPJX ( SPJX.JNO = J.JNO ∧
SX ( SX.SNO = SPJX.SNO ∧ SX.CITY=‘ 天津 ’ ∧
PX ( PX.PNO = SPJX.PNO ∧ PX.COLOR=‘ 红 ’ ) ) )
4 求没有使用天津供应商生产的红色零件的工程号 JNO,
■ QBE
SPJ SNO PNO JNO QTY
S1 P1 J1
P PNO PNAME COLOR WEIGHT
P1 红
S SNO SNAME STATUS CITY
S1 天津
J JNO JNAME CITY
┓ J1
5 求至少用了 S1供应商所供应的全部零件的工程号 JNO ;
■ 关系代数
πPNO,JNO(σSNO =‘S1’ (SPJ)) ÷ πPNO (σSNO =‘S1’ (SPJ))
RANGE P PX
SPJ SPJX
SPJ SPJY
GET W (J.JNO),? PX (
SPJX (SPJX.PNO=PX.PNO ∧ SPJ.SNO=‘ S1 ’)
=>? SPJY (SPJY.PNO=J.PNO ∧ SPJY.PNO=PX.PNO ) )
■ ALPHA