Sunteți pe pagina 1din 25

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-MAR-1678,Antonio); insert into Compozitor values (002,Mozart,Austria,27-JAN-1756,Wolfgang Amadeus); insert into Compozitor values (003,Ceaikovsky,Rusia,07-MAY-1840,Piotr Ilici); insert into Compozitor values (004,Schubert,Austria,31-JAN-1797,Franz); insert into Compozitor values (005,Chopin,Polonia,01-MAR-1810,Frederic); insert into Compozitor values (006,Bach,Germania,31-MAR-1685,Johann Sebastian); insert into Compozitor values (007,Verdi,Italia,10-OCT-1813,Giuseppe); insert into Compozitor values (008,Schumann,Germania,08-JUN-1810,Robert); insert into Compozitor values (009,Puccini,Italia,22-DEC-1858,Giacomo); insert into Compozitor values (010,Beethoven,Germania,16-DEC-1770,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