Sunteți pe pagina 1din 9

Subiecte atestat Baze de date ______________________________________________________________________________ I. SISTEME DE GESTIUNE A BAZELOR DE DATE 1.

Faculti Se d urmtoarea structur de fiier: Denumire C,20 (Denumirea facultii) Localitate C,15 Nrstud N,5 (Nr. studeni) Nrstudb N,5 (Nr. studeni bursieri) An_inf N,4 (Anul nfiinrii) Nrspec N,2 (Numrul de specializri oferite) Se cer urmtoarele: 1. Fiind citit de la tastatur o anumit localitate s se determine numrul total de studeni nscrii la facultile din respectiva localitate. Select sum(nrstud) From facultati Where localitate=Timisoara; 2. S se afieze facultile n ordine descresctoare dup numrul de studeni. Select denumire, nrstud From facultati Order by nrstud desc; 3. Care este facultatea cu cei mai puini studeni bursieri din Cluj? Select denumire, localitate, nrstud From facultati Where (localitate=Cluj) and (nrstudb= (select min(nrstudb) from facultati where localitate=Cluj) 4. Care este cea mai demult nfiinat facultate? Select denumire, localitate, an_inf From facultati Where an_inf= Select(min(an_inf) From facultati); 5. Care este numrul de studeni nebursieri de la facultatea de Medicin din Cluj? Select denumire, localitate, nrstud, nrstudb, nrstud-nrstudb as nebursieri From facultati Where localitate=Cluj and denumire=Medicina 6. S se afieze facultile grupate pe localiti n ordine cresectoare a numrului de specializri oferite.

_____________________________________________________________________________1

Subiecte atestat Baze de date ______________________________________________________________________________ Select denumire, nrspec From facultati Group by localitate Order by nrspec 7. S se afieze facultile n ordine cronogogic a nfiinrii lor, iar pentru acelai an de nfiinare alfabetic. Select denumire, localitate, an_inf From facultati Order by an_inf, denumire; 8. Care este numrul total de studeni din Bucureti i Timioara? Select sum(nrstud) From facultati Where localitate=Bucuresti or localitate=Timisoara; 9. S se afieze localitile unde exist faculti. Select distinct localitate From facultati; 10. S se afieze facultile n ordine descresctoare a numrului de studeni. Select nrstud, denumire, localitate From facultati Order by nrstud desc; 11. S se afieze facultile n ordine cresctoare a numrului de studeni, iar pentru acelai numr de studeni n ordine alfabetic. Select denumire, localitate, nrstud From facultati Order by nrstud, denumire,localitate; 12. S de determine numrul de faculti nfiinate dup un anumit an introdus de la tastatur. Select count(*) From facultati Where an_inf>1960;

_____________________________________________________________________________2

Subiecte atestat Baze de date ______________________________________________________________________________

2. Elevi Se d urmtoarea structur de fiier: Nume C 20 Prenume C 20 Clasa C 4 Nrabs N 3 Motivate N 3 Mpurtare N 2 Se cer urmtoarele: 1. S se ordoneze cresctor dup nume i prenume ntr-o alt baz de date i s se afieze coninutul acesteia. Create table elevi_nou as Select * From elevi Order by nume, prenume Select * From elevi_nou; 2. S se afieze elevii grupai pe clase n ordine descresctoare a numrului de absene nemotivate. Select clasa, nume, prenume, nrabs, motivate, nrabs-motivate AS nemotivate From elevi Order by clasa, nemotivate desc ; 3. S se caute dup nume i prenume un anumit elev i s se afieze numrul de absene motivate. Select nume, prenume, motivate From elevi Where nume= Munteanu and prenume=Ana ; 4. S se afieze elevii pe clase n ordine alfabetic. Select nume, prenume, clasa From elevi Order by clasa, nume, prenume ; 5. S se afieze elevii grupai dup numrul de absene nemotivate n ordine alfabetic. Select nume, prenume, clasa, nrabs-motivate as Nemotivate From elevi Order by nemotivate, nume, prenume ; 6. S se afieze elevii care au mai mult de 10 absene nemotivate.

_____________________________________________________________________________3

Subiecte atestat Baze de date ______________________________________________________________________________ Select nume, prenume, nrabs-motivate as Nemotivate From elevi Where nrabs-motivate>=10 ; 7. S se ordoneze cresctor dup clas, nume i prenume ntr-o alt baz de date i s se afieze coninutul acesteia. Create table elevi_21 as Select * From elevi Order by clasa, nume, prenume; Select * From elevi_21; 8. S se nlocuiasc media la purtare cu 9 pentru cei care au un numr de absene nemotivate ntre 10-19. Update elevi Set mpurtare=9 Where nrabs-motivate between 10 and 19 ; Select * From elevi ; 9. S se ordoneze cresctor dup numrul de absene ntr-o alt baz de date i s se afieze coninutul acesteia. Create table elevi22 as Select * From elevi Order by nrabs; Select * From elevi22; 10. S se afieze elevii cu numrul de absene cuprins ntre dou valori date X i Y. Seelect nume, prenume, nrabs From elevi Where nrabs between 10 and 20 ; 11. S se afieze elevii n ordine descresctoare a mediei la purtare. Select * From elevi Order by nrpurtare desc; 12. S se ordoneze cresctor dup clas i numrul de absene nemotivate ntr-o alt baz de date i s se afieze coninutul acesteia. Create table elevin as _____________________________________________________________________________4

Subiecte atestat Baze de date ______________________________________________________________________________ Select nume, prenume, clasa, nrabs, motivate, nrabs-motivate as nemotivate From elevi Order by clasa, nemotivate Select* From elevin; 13. S se nlocuiasc media la purtare cu 8 pentru cei care au un numr de absene nemotivate ntre 20 i 29. Update elevi Set mpurtare=8 Where nrabs-motivate between 20 and 29 ; 14. S se afieze elevii cu numrul de absene nemotivate mai mare dect 30. Select * From elevi Where nrabs-motivate>30; 15. S se nlocuiasc cmpul media la purtare astfel 10 (0-9 absene), 9(10-19 absene), 8(20-29 absene). Update elevi Set mpurtare=10 Where nrabs-motivate between 0 and 9 ; Update elevi Set mpurare=9 Where nrabs-motivate between 10 and 19 Update elevi Set mpurtare=8 Where nrabs-motivate between 20 and 29 ; 16. S se afieze elevii grupai dup media la purtare n ordine alfabetic. Select * From elevi Order by mpurtare,nume,prenume;

_____________________________________________________________________________5

Subiecte atestat Baze de date ______________________________________________________________________________

3. Biblioteca Creeaz o tabela Biblioteca care va cuprinde informaii despre crile dintr-o bibliotec: AUTOR TITLU DOMENIU ANAP EDITURA C,20 C,20 C,20 N,4 C,15 1. 2. 3. 4. 5. 6. 7. 8. Se cer urmtoarele: Se cere cutarea unei cri dup titlul aproximativ. Afieaz toate crile unei edituri care au aprut ntr-un anumit an n ordinea alfabetic a autorilor i n cadrul aceluiai autor n ordinea alfabetic a titlurilor. S se afieze crile unei anumite edituri citite de la tastatur n ordinea apariiei. Cte cri aparinnd unui anumit domeniu dat au aprut la editura Donaris? Fiind dat numele unui autor i un an, determinai dac au aprut n acel an cri ale respectivului autor. Fiind dat un anumit domeniu, s se determine cte cri aparinnd respectivului domeniu au aprut dup 1995. Care este cea mai recent aprut carte de la editura Donaris? Cte cri au aprut la o anumit editur dat dup 1995?

Crearea de tabela Create table biblioteca (autor varchar2(20), Titlu varchar2(20), Domeniu varchar2(20), Anap number(4), Editura varchar(15)); 1. Select * FROM biblioteca WHERE titlu LIKE %mare%; 2. Select anap, autor, titlu From biblioteca Order by anap, autor titlu; 3. Select autor, titlu, editura, anap From biblioteca Where editura= Order by anap;; 4. Select count(*)

_____________________________________________________________________________6

Subiecte atestat Baze de date ______________________________________________________________________________ From biblioteca Where domeniu= and editura=Donaris; 5. Select * from biblioteca where autor= and anap=1980; 6. Select count(*) From biblioteca Where domeniu= and anap>1995 7. Select * From biblioteca Where anap=(select max(anap) From biblioteca Where editura=Donaris); 8. Select count(*) from biblioteca where editura= and anap>1995 9. Select * From biblioteca Order by autor, titlu;

_____________________________________________________________________________7

Subiecte atestat Baze de date ______________________________________________________________________________

4. Gestiune Creai un o tabela Gestiune cu informatii despre gestionarii unor raioane de magazine: Cod magazin N,2 Cod raion N,2 Gestionar C,25 Data angajrii D,8 Salariu N,7

Se cer urmtoarele: 1. Cnd a fost angajat un anumit gestionar al crui nume se d? 2. Care sunt gestionarii de la un anumit magazin al crui cod se d? Se vor afia pentru fiecare: numele, codul raionului de care rspunde i salariul. 3. Care sunt gestionarii de la raioanele de nclminte? Se d codul pentru raioanele de nclminte. 4. S se afieze gestionarii n ordine descresctoare a salariilor, iar pentru acelai salariu alfabetic. 5. Ce angajat rspunde de primul magazin din fiier? 6. Care este totalul salariilor gestionarilor de la magazinul 25? 7. Care sunt gestionarii angajai la o anumit dat care se citete de la tastatur? 8. Care sunt gestionarii angajai anul trecut? GESTIUNE CREATE TABLE gestiune (codmag number(2), Codraion number(2), Gestionar varchar2(25), Dataang date, Salariu number(7)) 1. Select dataang From gestiune Where gestionar= ; 2. Select gestionar, codraion, salariu _____________________________________________________________________________8

Subiecte atestat Baze de date ______________________________________________________________________________ From gestiune Where codmag=124; 3. Select gestionar From gestiune Where codraion=1234; 4. Select salariu, gestionar From gestiune Order by salariu desc,nume; 5. Select gestionar From gestiune Where codmag=(select min(codmag) From gestiune); 6. Select sum(salariu) as Salariu total From gestiune Where codmag=25; 7. Select * From gestiune Where dataang=12-feb-2007; 8. Select * From gestiune Where TO_CHAR(dataang, YYYY)=TO_CHAR(SYSDATE-365,YYYY)

_____________________________________________________________________________9

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