COMP-624: Assignment 2 1 Express Each of The Following Queries Firstly in Relational Calculus and Secondly in SQL

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

Assignment-2

COMP-624 [1] (EMCS - 1031)

ASSIGNMENT 2
1 Express each of the following queries firstly in relational calculus and secondly in SQL.
(i) Get colors of parts supplied by a supplier S1.
(ii) Get parts numbers for parts supplied to any project in London.
(iii) Get all shipments where the quantity is in the range 300 to 750 inclusive.
(iv) Get project numbers for projects using at least one pat available from supplier S1.
(v) Get supplier-number /post -number pairs such that the indicated supplier does not supply the
indicated part.

Answer:

(i) Get colors of parts supplied by a supplier S1.


Relational Calculus
RANGE OF PX IS P;
RANGE OF SPX IS SP;
PX.COLOR WHERE EXISTS SPX
(SPX.S# = SX.S# AND SPX.S#= ‘S1’)

SQL
SELECT P.COLOR
FROM P, SP
WHERE P.P# = SP.P#
AND SP.S# = ‘S1’;

(ii)Get parts numbers for parts supplied to any project in London.


Relational Calculus
RANGE OF PX IS P;
RANGE OF SPJX IS SPJ;
PX.P# WHERE EXISTS SPJX
(PX.P# = SPJX.P# AND JX.CITY = ‘London’)

SQL
SELECT P.P#
FROM P, SPJ
WHERE P.P# = SPJ.P#
AND P.CITY = ‘London’;

(iii) Get all shipments where the quantity is in the range 300 to 750 inclusive.
Assignment-2
COMP-624 [2] (EMCS - 1031)

Relational Calculus
RANGE OF SPJX IS SPJ;
FORALL SPJX WHERE EXISTS (SPJ.QTY >300 AND SPJ.QTY < 750)

SQL
SELECT *
FROM SPJ
WHERE SPJ.QTY>300
AND SPJ.QTY<750;

(iv) Get project numbers for projects using at least one pat available from supplier S1.
Relational Calculus
RANGE OF JX IS J;
RANGE OF SPJX IS SPJ;
JX.J# WHERE EXISTS SPJX (JX.J# = SPJX.J# AND SPJX.S# = ‘S1’);

SQL
SELECT J#
FROM J, SPJ
WHERE J.J# = SPJ.J#
AND SPJ.S# = ‘S1’;

(v) Get supplier-number / part-number pair such that the indicated supplier does not supply the
indicated part.
Relational Calculus
RANGE OF SX IS S;
RANGE OF PX IS P;
SX.S# WHERE NOT EXISTS PX (SX.S# = PX.P#)
PX.P# WHERE NOT EXISTS PX (SX.P# = PX.S#)

SQL
SELECT S#
FROM S, SP
WHERE S.S#! = SP.S#;

You might also like