You are on page 1of 5

a) Sql script with insert and queries

use MusicalSystem;

insert into COMPACT_DISC values('X01','BOY',1980);


insert into COMPACT_DISC values('X02','TARZAN',2006);

insert into MUSIC_PIECE values(01,'I will follow');


insert into MUSIC_PIECE values(02,'Twilight');
insert into MUSIC_PIECE values(03,'An cat Bubh');
insert into MUSIC_PIECE values(04,'into the heart');
insert into MUSIC_PIECE values(05,'Out of control');
insert into MUSIC_PIECE values(06,'Youll be in my heart');
insert into MUSIC_PIECE values(07,'Who better than me');

insert into PEOPLE values('PER_01','LAWRENCE MULLEN','BRITISH');


insert into PEOPLE values('PER_02','DAVID HOWELL','BRITISH');
insert into PEOPLE values('PER_03','ADAM CLAYTON','BRITISH');
insert into PEOPLE values('PER_04','PAUL DAVIDSON','BRITISH');
insert into PEOPLE values('PER_05','PHIL COLLINS','AMERICAN');

insert into AUTHORSHIP values('AUT_01', 'COMPOSER');


insert into AUTHORSHIP values('AUT_02', 'WRITER');
insert into AUTHORSHIP values('AUT_03', 'ARRENGER');

insert into INSTRUMENTS values('INST_01','GUITAR');


insert into INSTRUMENTS values('INST_02','BASS');
insert into INSTRUMENTS values('INST_03','KEYBOARD');

insert into RECORDED_DISCS values('X01',01,01);


insert into RECORDED_DISCS values('X01',02,02);
insert into RECORDED_DISCS values('X01',03,03);
insert into RECORDED_DISCS values('X01',04,04);
insert into RECORDED_DISCS values('X01',05,05);
insert into RECORDED_DISCS values('X02',01,06);
insert into RECORDED_DISCS values('X02',02,07);

insert into PLAYS values('PER_02',01,'INST_01');


insert into PLAYS values('PER_02',02,'INST_02');
insert into PLAYS values('PER_03',03,'INST_03');
insert into PLAYS values('PER_04',04,'INST_01');
insert into PLAYS values('PER_05',05,'INST_01');

insert into AUTHORS_MUSIC_PIECE values (01,'PER_01','AUT_01');


insert into AUTHORS_MUSIC_PIECE values (02,'PER_01','AUT_01');
insert into AUTHORS_MUSIC_PIECE values (03,'PER_01','AUT_02');
insert into AUTHORS_MUSIC_PIECE values (04,'PER_03','AUT_03');
insert into AUTHORS_MUSIC_PIECE values (05,'PER_02','AUT_02');

Queries:

I) Given the key of the disc X01 obtain its title, year of production and the musical
pieces it contains.

select D.TITLE_DISC, PROD_YEAR, TITLE_MUSIC_PIECE, NO_TRACK FROM


COMPACT_DISC D,RECORDED_DISCS DG,MUSIC_PIECE PM
WHERE D.ID_DISC='X01'
AND D.ID_DISC=DG.ID_DISC
AND DG.NO_MUSIC_PIECE = PM.NO_MUSIC_PIECE
ORDER BY NO_TRACK;

II) Given the name of a piece of music, it is required to know the name of the
instrumentalists and the name of the instrument that they play, as well as the author's
name and type of authorship for all the people who participated in the piece of music.
The output should be like:

PIECE_OF_MUSIC, NAME_OF_PERSON,INSTRUMENT or AUTHORSHIP


select TITLE_MUSIC_PIECE as PIECE_OF_MUSIC, P.NAME as NAME_OF_PERSON,
A.NAME_AUTHORSHIP AS 'authorship/instrument'
FROM MUSIC_PIECE PM,PEOPLE P, AUTHORSHIP A,AUTHORS_MUSIC_PIECE APM
WHERE PM.TITLE_MUSIC_PIECE='I will follow' AND
PM.NO_MUSIC_PIECE=APM.NO_MUSIC_PIECE AND
P.ID_PERSON = APM.ID_PERSON
AND APM.TYPE_AUTHORSHIP = A. TYPE_AUTHORSHIP
UNION
Select TITLE_MUSIC_PIECE as PIECE_OF_MUSIC, P.NAME as NAME_OF_PERSON,
NAME_INST AS 'authorship/instrument'
FROM MUSIC_PIECE PM,PEOPLE P,INSTRUMENTS I, PLAYS T
WHERE PM. TITLE_MUSIC_PIECE ='I will follow' AND PM.
NO_MUSIC_PIECE = T. NO_MUSIC_PIECE AND
P.ID_PERSON = T.ID_PERSON
AND T.ID_INSTRUMENT = I.ID_INSTRUMENT
ORDER BY 1,2
III) Given an instrument such as GUITAR, get all the instrumentalists who play it.

select NAME,NAME_INST
from PEOPLE P,INSTRUMENTS I,PLAYS T
WHERE NAME_INST = 'GUITAR'
AND P.ID_PERSON=T.ID_PERSON
AND I.ID_INSTRUMENT = T.ID_INSTRUMENT

IV) Given a piece of music, it is necessary to know the title, year of production of the
discs that contain it and in which track, as well as the names of authors, their type of
authorship, their nationality and the names of instrumentalists with the instruments
they play in said musical piece. The output should be like:

PIECE_OF_MUSIC, YEAR_PRODUCTION, TRACK_NUMBER, NAME_OF_PERSON,


NATIONALITY, INSTRUMENT or AUTHORSHIP
select TITLE_MUSIC_PIECE,TITLE_DISC,PROD_YEAR,NO_TRACK,NAME,NATIONALITY,NAME_
AUTHORSHIP AS 'AUTHORSHIP/INSTRUMENT'
FROM MUSIC_PIECE PM,COMPACT_DISC D,RECORDED_DISCS DG,PEOPLE
P,AUTHORS_MUSIC_PIECE APM,AUTHORSHIP A
WHERE PM.NO_MUSIC_PIECE=DG.NO_MUSIC_PIECE
AND D.ID_DISC = DG.ID_DISC
AND P.ID_PERSON=APM.ID_PERSON
AND DG.NO_MUSIC_PIECE=APM.NO_MUSIC_PIECE AND
APM.TYPE_AUTHORSHIP = A. TYPE_AUTHORSHIP
UNION
select TITLE_MUSIC_PIECE,TITLE_DISC,PROD_YEAR,NO_TRACK,NAME,NATIONALITY,NAME_
INST AS 'AUTORSHIP/INSTRUMENT'
FROM MUSIC_PIECE PM,COMPACT_DISC D,RECORDED_DISCS DG,PEOPLE P, PLAYS T,INSTRUMENTS I
WHERE PM.NO_MUSIC_PIECE =DG.NO_MUSIC_PIECE
AND D.ID_DISC = DG.ID_DISC
AND P.ID_PERSON=T.ID_PERSON
AND DG.NO_MUSIC_PIECE =T.NO_MUSIC_PIECE
AND T.ID_INSTRUMENT = I.ID_INSTRUMENT;
B) SCREESHOTS OF QUERIES EXECUTION

You might also like