Sunteți pe pagina 1din 27

Academia de Studii Economice

Facultatea de Cibernetica, Statistica si Informatica Economica

Proiect
Baze de date

Gabriela COMAN
grupa 1022

Descriere eveniment

Festivalul National de Muzica George Enescu reuneste orchestre atat


din tara, cat si din strainante, intr-un spectacol unic in Europa.
Va invitam la Sala Palatului in perioada 18-20 noiembrie 2011, sa va
bucurati de un weekend alaturi de cei mai mari muzicieni ai momentului,
intr-un spectacol muzical de exceptie.

Entitati si atribute

Orchestra: cod (PK), nume, tara, oras


Compozitor: id (PK), nume, tara, data_nasterii
Muzician: id (PK), cod_orchestra (FK), nume, prenume, instrument,
salariu_anual
Compozitie: id (PK), id_compozitor (FK), nume
Inregistrare: data (PK), cod_orchestra (FK), id_compozitie (FK), cost

O orchestra poate avea unul sau mai multi muzicieni. Un muzician canta
intr-o singura orchestra.
O orchestra poate avea una sau mai multe inregistrari. O inregistrare
apartine unei singure orchestre.
Un compozitor poate avea una sau mai multe compozitii. O compozitie
apartine unui singur compozitor.
O compozitie face parte din una sau mai multe inregistrari. O
inregistrare are o singura compozitie.

Comenzi pentru definirea datelor (LDD)


CREATE

create table Orchestra


(cod varchar2(10) primary
key,
nume varchar2(20) not null,
tara varchar2(20) not null,
oras varchar2(20));

create table Compozitor


(id number(7) primary key,
nume varchar2(20) not null,
tara varchar2(20) not null,
data nasterii date);

create table Compozitie


(id number(7) primary key,
id_compozitor number(7),
constraint fk_compozitor foreign key (id_compozitor) references
Compozitor (id));

create table Muzician


(id number(7) primary key,
cod_orchestra varchar2(10),
constraint fk_cod foreign key (cod_orchestra) references Orchestra (cod),
nume varchar2(20) not null,
prenume varchar2(20) not null,
instrument varchar2(20) not null,
salariu_anual number(6));

create table Inregistrare

(data date primary key,


cod_orchestra varchar2(10),
constraint fk_cod foreign key (cod_orchestra) references Orchestra (cod),
id_compozitie number(7),
constraint fk_compozitie foreign key (id_compozitie) references
Compozitie (id),
cost number(5));

ALTER
1. Adaugati coloana prenume in tabela Compozitor.
alter table Compozitor add (prenume varchar2(20));

2. Adaugati coloana adresa_mail in tabela Muzician.


alter table Muzician add (adresa_mail varchar2(30));

3. Adaugati coloana locatie in tabela Inregistrare.

alter table Inregistrare add (locatie varchar2(20));

4. Stergeti coloana locatie din tabela Inregistrare.


alter table Inregistrare drop column locatie;

5. Adaugati o constrangere astfel incat campul adresa_mail din tabela


Muzician sa fie de forma %@%.%
alter table Muzician add constraint verifica_mail check (adresa_mail like
%@%.%);

6. Dezactivati constrangerea de mai sus.


alter table Muzician disable constraint verifica_mail;

7. Redenumiti tabela Orchestra in Orchestre.

alter table Orchestra rename to Orchestre;

DROP

Sa se stearga tabela Inregistrare.


drop table Inregistrare cascade constraints;

Comenzi pentru manipularea datelor (LMD)

INSERT
insert into Orchestre values (ROR01,Residentie Orkest,Olanda,Haga);
insert into Orchestre values (LSO02,London
Symphony,Anglia,Londra);
insert into Orchestre values (OGG03,Orchestra G.
Enescu,Romania,Bucuresti);
insert into Orchestre values (STA04,Staatskapelle,Germania,Berlin);
insert into Orchestre values (ORA05,Orchestra
Radio,Romania,Bucuresti);
insert into Orchestre values (ODF06,Orchestre de
France,Franta,Paris);
insert into Orchestre values (ODT07,Orchestra de
Tineret,Romania,Iasi);

insert into Compozitor values (001,Vivaldi,Italia,04-MAR1678,Antonio);


insert into Compozitor values (002,Mozart,Austria,27-JAN1756,Wolfgang Amadeus);
insert into Compozitor values (003,Ceaikovsky,Rusia,07-MAY1840,Piotr Ilici);
insert into Compozitor values (004,Schubert,Austria,31-JAN1797,Franz);
insert into Compozitor values (005,Chopin,Polonia,01-MAR1810,Frederic);
insert into Compozitor values (006,Bach,Germania,31-MAR1685,Johann Sebastian);
insert into Compozitor values (007,Verdi,Italia,10-OCT1813,Giuseppe);
insert into Compozitor values (008,Schumann,Germania,08-JUN1810,Robert);
insert into Compozitor values (009,Puccini,Italia,22-DEC1858,Giacomo);
insert into Compozitor values (010,Beethoven,Germania,16-DEC1770,Ludwig van);

insert into Compozitie values (101,001);


insert into Compozitie values (102,002);
insert into Compozitie values (103,003);
insert into Compozitie values (104,004);
insert into Compozitie values (105,005);
insert into Compozitie values (106,006);
insert into Compozitie values (107,007);
insert into Compozitie values (108,008);
insert into Compozitie values (109,009);
insert into Compozitie values (110,010);

insert into Muzician values


(201,ROR01,Jansen,Mark,vioara,20000,m.jansen@gmail.com);
insert into Muzician values
(202,ROR01,Simons,Jeroen,trompeta,12000,
j.simons68@yahoo.com);
insert into Muzician values
(203,ROR01,Delahaye,Isaac,trombon,15000,
i_delahaye@hotmail.com);
insert into Muzician values
(204,LSO02,Newman,Philip,flaut,24000,pnewman@gmail.com);
insert into Muzician values
(205,LSO02,Jones,Audrey,harpa,25000,audrey_j@yahoo.co.uk);
insert into Muzician values
(206,OGG03,Filip,Stefan,violoncel,10000,filipstefan@yahoo.com);
insert into Muzician values
(207,OGG03,Albu,Mirela,pian,11000,a.mirela86@yahoo.co.uk);
insert into Muzician values
(208,OGG03,Stan,Cristian,clavecin,13000,cris.stan@hotmail.com)
;
insert into Muzician values
(209,STA04,Huber,Kurt,vioara,30000,khuber@gmail.com);

insert into Muzician values


(210,STA04,Dinger,Klaus,viola,25000,klaus_d@hotmail.com);
insert into Muzician values
(211,ORA05,Micu,Vlad,trombon,17500,vladm@yahoo.co.uk);
insert into Muzician values
(212,ORA05,Cretu,Maria,flaut,13000,maria_cretu@gmail.com);
insert into Muzician values
(213,ORA05,Barbu,Victor,pian,14500,barbuv03@yahoo.com);
insert into Muzician values
(214,ODF06,Vian,Michel,trompeta,26000,vian_m@gmail.com);
insert into Muzician values
(215,ODF06,Alain,Marc,clarinet,21500,marc.alain@yahoo.com);
insert into Muzician values
(216,ODF06,Halle,Francois,contrabas,22000,halle.f@yahoo.com);
insert into Muzician values
(217,ODF06,Cortot,Jacques,pian,30500,cortot_j24@hotmail.com);
insert into Muzician values
(218,ODT07,Pascu,Adrian,trombon,19500,adrianp@yahoo.co.uk);
insert into Muzician values
(219,ODT07,Amariei,Irina,harpa,23000,irina.a.123@gmail.com);
insert into Muzician values
(220,ODT07,Ionescu,Anca,vioara,25500,anca_i@yahoo.com);

insert into Inregistrare values (13-FEB-2012,ROR01,102,750);


insert into Inregistrare values (18-MAR-2012,ROR01,109,900);
insert into Inregistrare values (28-APR-2012,ROR01,103,850);
insert into Inregistrare values (30-APR-2012,ROR01,105,1000);
insert into Inregistrare values (10-JAN-2012,LSO02,101,975);
insert into Inregistrare values (13-JAN-2012,LSO02,104,1100);
insert into Inregistrare values (21-FEB-2012,LSO02,110,890);
insert into Inregistrare values (30-MAR-2012,LSO02,107,870);
insert into Inregistrare values (04-APR-2012,LSO02,106,1000);
insert into Inregistrare values (09-JUN-2012,OGG03,101,770);
insert into Inregistrare values (19-JUN-2012,OGG03,109,800);
insert into Inregistrare values (02-JUL-2012,OGG03,108,820);
insert into Inregistrare values (28-JUL-2012,OGG03,103,835);
insert into Inregistrare values (12-APR-2012,STA04,110,790);
insert into Inregistrare values (25-APR-2012,STA04,103,880);
insert into Inregistrare values (01-MAY-2012,STA04,101,1050);
insert into Inregistrare values (11-JUN-2012,ORA05,104,970);
insert into Inregistrare values (20-JUN-2012,ORA05,102,1050);
insert into Inregistrare values (29-JUN-2012,ORA05,105,800);
insert into Inregistrare values (03-JUL-2012,ORA05,109,795);
insert into Inregistrare values (10-JUL-2012,ORA05,106,840);
insert into Inregistrare values (12-JUN-2012,ODF06,107,990);
insert into Inregistrare values (22-JUN-2012,ODF06,104,925);
insert into Inregistrare values (30-JUN-2012,ODF06,106,1020);
insert into Inregistrare values (09-JUL-2012,ODF06,105,845);
insert into Inregistrare values (15-JUL-2012,ODF06,103,900);
insert into Inregistrare values (01-AUG-2012,ODT07,102,790);

insert into Inregistrare values (10-AUG-2012,ODT07,109,990);


insert into Inregistrare values (18-AUG-2012,ODT07,110,950);
insert into Inregistrare values (24-AUG-2012,ODT07,108,1000);

UPDATE
1. Sa se mareasca cu 20% salariul anual al muzicienilor din Orchestra G.
Enescu.
update Muzician set salariu_anual=salariu_anual*1.2 where
cod_orchestra='OGG03';

inainte de update:

dupa update:

2. Modificati tabela Compozitor astfel incat coloana NUME sa fie scrisa doar cu
majuscule.
update Compozitor set nume=upper(nume);

inainte de update:

dupa update:

3. Sa se micsoreze cu 5% costurile pentru inregistrarile din luna iunie.


update Inregistrare set cost=cost*0.95 where extract (month from
data)=6;

inainte de update:

dupa update:

4. Sa se micsoreze cu 4% costul de inregistrare pentru orchestrele din Romania.


update Inregistrare set cost=cost*0.96 where cod_orchestra in (select cod
from Orchestre where Tara='Romania');

inainte de update:

dupa update:

SELECT
1. Afisati toate informatiile despre compozitorii germani.
select * from Compozitor where Tara='Germania';

2. Sa se afiseze id_compozitie si data pentru compozitiile inregistrate in luna


iulie.
select id_compozitie, data from Inregistrare where extract (month from
data)=7;

3. Sa se afiseze suma totala platita de orchestrele din Romania pentru


inregistrari.
select sum(cost) COST_TOTAL from Inregistrare where cod_orchestra in
(select cod from Orchestre where Tara='Romania');

4. Sa se afiseze numele, prenumele, salariul anual si orchestra din care fac


parte muzicienii care canta la vioara si care au salariul cuprins intre 18000 si
20000.
select nume, prenume, salariu_anual, cod_orchestra from Muzician where
instrument='vioara' and salariu_anual between 18000 and 20000;

5. Sa se afiseze id-ul compozitiilor compozitorilor italieni, precum si numele


acestora.
select a.id, b.nume from Compozitie a, Compozitor b where b.tara='Italia'
and a.id_compozitor=b.id;

6. Pentru fiecare orchestra, afisati numele muzicienilor care canta la


trompeta, trombon, clarinet sau contrabas, doar daca au salariul
cuprins intre 17000 si 22000. Ordonati-i alfabetic.

S-ar putea să vă placă și