Rezolvare Oracle

18
Atestat 2010. Subiecte baze de date Atestat 2010. Subiecte baze de date 1. Se consideră tabela ANGAJATI cu structura: CNP, NUME, DATA_ANGAJARE, DATA_NASTERE, SALARIU. a. Să se creeze tabela şi să se introducă 10 articole care să corespundă cerinţelor următoare; b. Să se afişeze pe ecran toţi angajaţii cu o vechime mai mare de 10 ani; c. Ştergeţi din baza de date toate persoanele cu numele dat de la tastatură; d. Afişaţi pe ecran numele celor mai vechi angajaţi; e. Modificaţi salariul persoanei cu numele Popescu mărindu-l cu 10%; f. Afişaţi numărul de angajări din fiecare an. Rezolvare b.select * from angajati where ((sysdate- data_angajare)/365) >10 c.delete from angajati where nume=:x; d. select nume from angajati where data_angajare=(select min(data_angajare) from angajati); e.select salariu+10*salariu/100 from angajati where nume='atomei alexandru'; g. select count(*) as "nr_angajati" ,to_char(data_angajare,'yyyy') from angajati group by to_char(data_angajare, 'yyyy') 2. Se consideră tabela ELEVI cu structura: NUME_PREN , NOTA_RO, NOTA_MAT, NOTA_GI, REZULTAT, MEDIE a. Să se creeze tabela şi să se introducă 10 articole care să corespundă cerinţelor următoare; b. Completaţi câmpul Rezultat cu valoarea promovat daca elevul a promovat testul naţional (note minimum 5 la cele 3 discipline) nepromovat în caz contrar; c. Pentru elevii promovaţi calculaţi media generală la disciplina română; d. Determinaţi procentul de promovabilitate (nr elevi promovaţi / nr elevi înscrişi); e. Afişaţi elevii care au obţinut cea mai mare medie; f. Afişaţi pe ecran elevii grupaţi după rezultat (promovat/nepromovat), apoi alfabetic după nume; Rezolvare 1

description

Clasa a XII a

Transcript of Rezolvare Oracle

Setarea paginii:

Atestat 2010. Subiecte baze de date

Atestat 2010. Subiecte baze de date

1. Se consider tabela ANGAJATI cu structura:CNP, Nume, Data_angajare, Data_nastere, SalarIU. a. S se creeze tabela i s se introduc 10 articole care s corespund cerinelor urmtoare;

b. S se afieze pe ecran toi angajaii cu o vechime mai mare de 10 ani;

c. tergei din baza de date toate persoanele cu numele dat de la tastatur;d. Afiai pe ecran numele celor mai vechi angajai;e. Modificai salariul persoanei cu numele Popescu mrindu-l cu 10%;

f. Afiai numrul de angajri din fiecare an. Rezolvare

b.select * from angajati where ((sysdate-data_angajare)/365) >10

c.delete from angajati where nume=:x;

d. select nume from angajati where data_angajare=(select min(data_angajare) from angajati);

e.select salariu+10*salariu/100 from angajati where nume='atomei alexandru';

g. select count(*) as "nr_angajati" ,to_char(data_angajare,'yyyy') from angajati group by to_char(data_angajare, 'yyyy')

2. Se consider tabela ELEVI cu structura:

NUME_PREN , NOTA_RO, NOTA_MAT, NOTA_GI, REZULTAT, MEDIE

a. S se creeze tabela i s se introduc 10 articole care s corespund cerinelor urmtoare;

b. Completai cmpul Rezultat cu valoarea promovat daca elevul a promovat testul naional (note minimum 5 la cele 3 discipline) nepromovat n caz contrar;

c. Pentru elevii promovai calculai media general la disciplina romn;d. Determinai procentul de promovabilitate (nr elevi promovai / nr elevi nscrii);

e. Afiai elevii care au obinut cea mai mare medie;

f. Afiai pe ecran elevii grupai dup rezultat (promovat/nepromovat), apoi alfabetic dup nume;

Rezolvare

b. 1000;

c. select nume, gen, buget, data_ap from filme order by gen;

d. select nume_film from filme where buget=(select max(buget) from filme);

e. delete from filme where data_aparitie20 order by nume;

d. delete from elevi where absente_nem>40;

e.update elevi set clasa='12B' where nume='popescu gigel'

5. Se consider tabela PROFESORI cu structura:

NUME, GRAD, DATA_NAST, CATEDRA, SALAR, DIRIG

a. S se creeze tabela i s se introduc 10 articole care s corespund cerinelor urmtoare

b. Afiai profesorii cu gradul I;

c. Aflai salariul mediu pe coala si numrul de profesori care au mai puin de salariul mediu

d. Afiai alfabetic profesorii care sunt dirigini.

e. tergei din tabela profesorii care mplinesc 60 ani in anul calendaristic curent

f. Afiai numrul de profesori de la fiecare catedra.

Rezolvare

b.select nume from profesori where grad=1;

c .select count(*) from profesori where salar20 order by firma_prod;c.select firma_prod from ciocolata where pret_buc=(select min(pret_buc) from

ciocolata);

d.select count(sortiment) from ciocolata group by firma_prod;

e.update ciocolata set pret_buc=pret_buc-15*pret_buc/100 where firma_prod

=primola;

f.delete from ciocolata where firma_prod=poiana.

8. Se consider tabela LIBRARIE cu structura:

TITLU, AUTOR, PRET_BUC, EDITURA

a. S se creeze tabela i s se introduc 10 articole care s corespund cerinelor urmtoare;

b. Afiai toate crile autorului Mihai Eminescu ordonate descresctor dup pret;

c. Aflai costul total al tuturor crilor de la editura Donaris;

d. Afiai pentru fiecare autor numrul total al crilor sale;

e. Aflai cartea (crile) cea mai scump;

f. tergei din tabela crile cu preul mai mare de 25 Ron i aprute la editura X (X citit de la tastatur);

Rezolvare

b.select * from librarie where autor='mihai eminescu' order by pret_buc desc;

c. select sum(pret_buc) from librarie where editura='donaris';

d. select autor, count(*) from librarie group by autor;

e.. select * from librarie where pret_buc=(select max(pret_buc) from librarie);

f.delete from librarie where pret_buc>20 and editura=:x;

9. Se consider tabela FARMACIE cu structura:

MEDICAMENT, DATA_EXP, PRET

a. S se creeze tabela i s se introduc 10 articole care s corespund cerinelor urmtoare

b. Afiai medicamentele care mai au o lun pn la expirare

c. Micorai preul cu 5% la medicamentul aspirin;

d. Aflai medicamentul(medicamentele) cel mai ieftin;

e. Aflai preul unui medicament dat de la tastatur;

f. tergei din tabela medicamentele care au data de expirare astzi.

Rezolvare

b.select * from farmacie where data_exp='11.03.2010';

c.update farmacie set pret=pret-5*pret/100 where medicament='aspirina';

d.select * from farmacie where pret=(select min(pret) from farmacie);

e.select pret from farmacie where medicament=:x;

f.delete from farmacie where data_exp='11.02.2010'.

10. Se consider tabela CONCURS cu structura :

NUME, NOTA1, NOTA2, NOTA3, NOTA_FIN, DATA_NAST, JUDET

a. S se creeze tabela i s se introduc 10 articole care s corespund cerinelor urmtoare;

b. Calculai nota_fin (media aritmetica a celor 3 note) pentru fiecare candidat;c. Afiai concurenii care au obinut nota final peste 7 in ordinea descresctoare a mediilor;

d. Afiai candidatul (candidaii) cu nota finala maxim;

e. Afiai mediile generale pe judee (media aritmetic a notelor finale pentru fiecare jude);

f. tergei concurenii care au media finala sub 5.

Rezolvare

b.update concurs set nota_fin=(nota1+ nota2+ nota3)/3;

c. select nume, nota_fin, judet from concurs where nota_fin>7 order by nota_fin desc;

d. select * from concurs where nota_fin=(select max(nota_fin) from concurs);

e. select judet, avg(nota_fin) from concurs group by judet;

f.delete from concurs where nota_fin0 and an=1;

b. select nume from studenti21 where medie>=9.5;

c.select count(*), an from studenti21 where bursa< >0 group by an;

d.update studenti21 set bursa=bursa+20*bursa/100

e.select bursa from studenti21 where bursa=(select max(bursa) from studenti21);

f.delete from studenti21 where medie