grile licenta si sem 2 2009 rezolvate-baze de date

48
baze_de_date Probleme pentru examenul de licenta ____ 1. O baza de date relationala este a. O colectie de date interrelationate gestionate ca o singura unitate b. Un produs software furnizat de un producator de baze de date c. O structura de date, cum ar fi un tabel, o vizualizare sau un index d. Definita in acelasi mod de toti producatorii de software ____ 2. Un Obiect al unei baze de date este a. O colectie de inregistrari inrudite, stocate ca o singura unitate b. Un produs software furnizat de un producator de baze de date c. O structura, cum ar fi un tabel, o vizualizare sau un index d. O colectie de date interrelationate gestionate ca o singuraunitate ____ 3. Care din urmtoarele baze de date nu este un RDBMS (sistem de gestionare a bazelor de date relatioanale) a. Oracle Database b. MySQL c. Excel Database d. Microsoft SQL Server ____ 4. Un sistem RDBMS(sistem de gestionare a bazelor de date relatioanale) nu include urmatorul serviciu a. Acceptarea unui limbaj de interogare b. Mecanisme de securitate, pentru a impiedica accesul si modificarea neautorizata a datelor c. Mutarea datelor in si din fisiere de date, dupa cum este necesar d. Generarea diagramelor ERD (Entity Relationship Diagram) ____ 5. Componentele unei baze de date relationale nu includ a. Tabele b. Diagrame ERD c. Restrictii d. Relatii ____ 6. Printre tipurile de restrictii care pot fi folosite in bazele de date relationale, nu se numara a. NOT NULL b. Relatii c. CHECK d. Cheie primara e. Unicitate ____ 7. Normalizarea nu rezolva a. Anomalia de stergere b. Anomalia de actualizare c. Anomalia de inserare d. Anomalia de creare ____ 8. Un identificator unic (cheie primara) a. Poate fi compus numai dintr-un singur atribut

Upload: mugurciup

Post on 15-Jun-2015

691 views

Category:

Documents


15 download

DESCRIPTION

Grile licenta 2009 ,an 3 sem 2 2009 plus alte cateva teste rezolvate

TRANSCRIPT

Page 1: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

baze_de_date

Probleme pentru examenul de licenta

____ 1. O baza de date relationala este

a. O colectie de date interrelationate gestionate ca o singura unitate b. Un produs software furnizat de un producator de baze de date c. O structura de date, cum ar fi un tabel, o vizualizare sau un index d. Definita in acelasi mod de toti producatorii de software

____ 2. Un Obiect al unei baze de date este a. O colectie de inregistrari inrudite, stocate ca o singura unitate b. Un produs software furnizat de un producator de baze de date c. O structura, cum ar fi un tabel, o vizualizare sau un index d. O colectie de date interrelationate gestionate ca o singuraunitate

____ 3. Care din urmtoarele baze de date nu este un RDBMS (sistem de gestionare a bazelor de date relatioanale) a. Oracle Database b. MySQL c. Excel Database d. Microsoft SQL Server

____ 4. Un sistem RDBMS(sistem de gestionare a bazelor de date relatioanale) nu include urmatorul serviciu a. Acceptarea unui limbaj de interogare b. Mecanisme de securitate, pentru a impiedica accesul si modificarea neautorizata a

datelor c. Mutarea datelor in si din fisiere de date, dupa cum este necesar d. Generarea diagramelor ERD (Entity Relationship Diagram)

____ 5. Componentele unei baze de date relationale nu includ a. Tabele b. Diagrame ERD c. Restrictii d. Relatii

____ 6. Printre tipurile de restrictii care pot fi folosite in bazele de date relationale, nu se numara a. NOT NULL b. Relatii c. CHECK d. Cheie primara e. Unicitate

____ 7. Normalizarea nu rezolva a. Anomalia de stergere b. Anomalia de actualizare c. Anomalia de inserare d. Anomalia de creare

____ 8. Un identificator unic (cheie primara) a. Poate fi compus numai dintr-un singur atribut

MUGUR
Typewritten Text
A
MUGUR
Typewritten Text
C
MUGUR
Typewritten Text
C
MUGUR
Typewritten Text
D
MUGUR
Typewritten Text
B
MUGUR
Typewritten Text
B
MUGUR
Typewritten Text
D
MUGUR
Typewritten Text
B
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 2: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

b. Poate fi compus din atribute concatenate c. Poate fi compus din atribute cu valoarea NULL d. Poate fi compus din zero, unul sau mai multe atribute

____ 9. Prima forma normala rezolva anomaliile cauzate de a. Grupurile repetitive si atributele multivaloare b. Dependentele partiale de cheia primara c. Dependentele tranzitive d. Relatiile de tip unu-la-mai-multi

____ 10. A doua forma normala rezolva anomaliile cauzate de a. Grupurile repetitive b. Dependentele partiale de cheia primara c. Grupurile repetitive si atributele multi valoare d. Dependentele tranzitive

____ 11. A treia forma normala rezolva anomaliile cauzate de a. Dependentele partiale de cheia primara b. Grupurile repetitive c. Dependentele tranzitive d. Atributele multivaloare

____ 12. Problemele de dependenŃă tranzitivă a. Sunt rezolvate de a doua formă normală b. Sunt rezolvate de prima formă normală c. Apar atunci când un atribut non-cheie depinde doar de o parte a cheii primare d. Sunt rezolvate de a treia formă normală

____ 13. SQL este a. Un limbaj procedural b. Un limbaj neprocedural c. Un limbaj orientat spre obiecte d. Un limbaj grafic, folosit pentru definirea diagramelor ER si a diagramelor

conceptuale

____ 14. Un model de date reprezinta o colectie integrata de concepte care nu descriu a. date b. relatii dintre date c. date despre echipa realizatoare a modelului d. constrângeri existente asupra datelor sistemului real analizat.

____ 15. Nu este caracteristica a modelului relational: a. prezenta tuplurilor identice b. articolele unui domeniu sunt omogene c. toate valorile unui domeniu corespunzatoare tuturor cazurilor nu mai pot fi

descompuse in alte valori (sunt atomice) d. fiecare coloana defineste un domeniu distinct si nu se poate repeta in cadrul

aceleiasi relatii

____ 16. Modelul relational nu are ca regula de integritate structurala a. Unicitatea cheii. Cheia primara trebuie sa fie unica si minimala. b. Integritatea entitatii. Atributele cheii primare trebuie sa fie diferite de valoarea

null.

MUGUR
Typewritten Text
MUGUR
Typewritten Text
8 B
MUGUR
Typewritten Text
9 C
MUGUR
Typewritten Text
10 B
MUGUR
Typewritten Text
11 C
MUGUR
Typewritten Text
12 D
MUGUR
Typewritten Text
A
MUGUR
Typewritten Text
D
MUGUR
Typewritten Text
A
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 3: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

c. Integritatea referirii. O cheie externa trebuie sa corespunda unei valori a cheii primare asociate.

d. Integritatea referirii. O cheie externa trebuie sa fie ori null in intregime, ori sa corespunda unei valori a cheii primare asociate.

____ 17. Relatia m:n devine in modelul relational a. tabel asociativ cu cheia primara formata numai din doua chei externe pentru cele

doua tabele asociate b. tabel asociativ cu cheia primara formata din doua chei externe pentru cele doua

tabele asociate plus eventuale coloane aditionale c. chei externe d. entitate independenta

____ 18. Care nu este un concept utilizat pentru a descrie formal - uzual - fizic elementele de baza ale organizarii datelor a. relatie - tablou- fisier b. tuplu - linie- inregistrare c. atribut - coloana - camp d. domeniu - zona- functie

____ 19. Instructiunile SQL nu fac parte din categoria a. Limbajul de interogare a datelor (DQL) b. Limbajul de definire a datelor (DDL - Data Definition Language) c. Limbajul de selectare a datelor (DSL - Data Selection Language) d. Limbajul de manipulare a datelor (DML - Data Manipulation Language)

____ 20. Limbajul de definire a datelor (DDL - Data Definition Language) nu include urmatoarea instructiune a. DELETE b. CREATE c. ALTER d. DROP

____ 21. Limbajul de manipulare a datelor (DML – Data Manipulation Language) nu include instructiuniea a. INSERT b. UPDATE c. DELETE d. ALTER

____ 22. Tipurile de date temporale standard nu includ a. DATE b. DATETIME c. TIME d. TIMESTAMP

____ 23. Valorile NULL a. Sunt egale cu alte valori NULL b. Este acelasi lucru ca si spatiile libere c. Sunt intotdeauna permise in mod prestabilit d. Pot fi folosite pentru reprezentarea datelor care lipsesc sau nu sunt cunoscute

____ 24. Definitia unei coloane din instructiunea CREATE TABLE nu poate include a. Numele tabelului b. O clauza DEFAULT c. O clauza NULL sau NOT NULL

MUGUR
Typewritten Text
MUGUR
Typewritten Text
13 B
MUGUR
Typewritten Text
MUGUR
Typewritten Text
14 D
MUGUR
Typewritten Text
15 C
MUGUR
Typewritten Text
16 A
MUGUR
Typewritten Text
17 D
MUGUR
Typewritten Text
18 D
MUGUR
Typewritten Text
19 A
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
B
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 4: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

d. Numele coloanei

____ 25. Sintaxa corecta pentru o restrictie NOT NULL este a. nume_coloana REFERENCES NOT NULL b. nume_coloana tip_de_DATA IS NOT NULL c. nume_coloana tip_de_DATA NOT NULL d. DEFAULT [NULL | NOT NULL]

____ 26. Sintaxa corecta pentru o restrictie UNIQUE este a. [CONSTRAINT nume_restrictie] UNIQUE {nume_coloana[,nume coloana...]) b. [CONSTRAINT nume_restrictie] UNIQUE (nume_tabel) c. nume_coloana REFERENCES UNIQUE nume_tabel d. DEFAULT UNIQUE (nume_coloana)

____ 27. Sintaxa corecta pentru o restrictie referentiala asupra unei coloane este a. CONSTRAINT nume_restrictie] REFERENCES nume_tabel b. nume_coloana REFERENCES nume_tabel c. FOREIGN KEY nume_coloana REFERENCES nume_tabel (nume_coloana) d. REFERENCES nume_tabel (nume_coloana)

____ 28. Utilizarile valide ale instructiunii ALTER TABLE nu include a. Adaugarea coloanelor b. Eliminarea unei chei primare c. Redenumirea unui tabel d. Adaugarea unei restrictii

____ 29. Nu este functie SQL standard pentru siruri de caractere a. UPPER b. LENGTH sau LEN c. LOWER d. LIKE

____ 30. Operatorul UNION a. Include randurile duplicate in setul de rezultate b. Combina seturile de rezultate a doua interogari intr-un singur set de rezultate si

elimina randurile duplicate din setul de rezultate c. Combina doua interogari intr-o singura interogare de tip join d. Este numit JOIN in unele implementari SQL

____ 31. O instructiune SQL care contine o functie de agregare a. Nu poate include, in acelasi timp, o clauza GROUP BY si o clauza ORDER BY b. Trebuie sa includa o clauza GROUP BY c. Trebuie sa includa o clauza ORDER BY d. Poate contine si coloane obisnuite si coloane calculate

____ 32. Care este varianta corecta pentru a crea tabelul Salariat, cu caracteristicile de mai jos?

COD _ANG NUME PRENUME DATA_ANG VARST

A EMAIL SALARIU

not null numeric de 5

sir caractere de maxim 20

sir caractere de maxim 20

date, valoare implicita data curentă

numeric de 2

sir de caractere de dimensiune fixa, de 30

valoare implicita 0 numar de 10 cu 2 zecimale

MUGUR
Typewritten Text
MUGUR
Typewritten Text
20 C
MUGUR
Typewritten Text
21 A
MUGUR
Typewritten Text
MUGUR
Typewritten Text
22 D
MUGUR
Typewritten Text
23 C
MUGUR
Typewritten Text
MUGUR
Typewritten Text
26 D
MUGUR
Typewritten Text
MUGUR
Typewritten Text
27 B
MUGUR
Typewritten Text
28 A
MUGUR
Typewritten Text
D
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 5: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

a. CREATE TABLE SALARIAT ( cod_ang NUMBER(5) NOT NULL, nume VARCHAR2(20), prenume VARCHAR2(20), data_angajarii DATE DEFAULT SYSDATE, varsta NUMBER(2), email CHAR(50), salariu NUMBER(10,2) DEFAULT 0);

b. CREATE TABLE SALARIAT ( cod_ang NUMBER(5) nume VARCHAR2(20), prenume VARCHAR2(20), data_angajarii DATE , varsta NUMBER(2), email CHAR(50), salariu NUMBER(10,2) DEFAULT 0);

c. CREATE TABLE SALARIAT ( cod_ang NUMBER(5) , NOT NULL, nume VARCHAR2(20), prenume VARCHAR2(20), data_angajarii DATE , DEFAULT SYSDATE, varsta NUMBER(2), email CHAR(50), salariu NUMBER(10,2) , DEFAULT 0);

____ 33. Pentru a insera in tabelul SALARIAT inregistrari,

COD _ANG NUME PRENUME DATA_AN

G VARSTA EMAIL SALARIU

not null numeric de 5

sir caractere de maxim 20

sir caractere de maxim 20

date, valoare implicita data curentă

numeric de 2

sir de caractere de dimensiune fixa, de 30

valoare implicita 0

numar de 10 cu 2 zecimale

care varianta este incorecta? a. INSERT INTO SALARIAT(COD _ANG, NUME, PRENUME, DATA_ANG, VARSTA, EMAIL,

SALARIU) VALUES(5, ‘Ene’, ‘Ana’, ‘1/06/2009’, 20, ‘[email protected]’, 2500.50) b. INSERT INTO SALARIAT(COD _ANG, NUME, PRENUME, VARSTA, EMAIL)

VALUES(5, ‘Ene’, ‘Ana’, 20, ‘[email protected]’) c. INSERT INTO SALARIAT(COD _ANG, NUME,PRENUME,VARSTA,EMAIL, SALARIU)

VALUES(5, ‘Ene’, ‘Ana’, ‘1/06/2009’, 20, ‘[email protected]’) d. INSERT INTO SALARIAT

VALUES(5, ‘Ene’, ‘Ana’, ‘1/06/2009’, 20, ‘[email protected]’, 2500.50)

____ 34. Care este varianta corecta pentru a crea tabelul CARTE, cu caracteristicile de mai jos, indicand cheile la nivel de coloana? (Tabelele DOMENIU_CARTE si CARTE sunt in relatia 1:M) CARTE(codc CHAR(5), titlu VARCHAR2(30), autor VARCHAR2(30), pret NUMBER(8,2), nrex NUMBER(3), coddom CHAR(5)) a. CREATE TABLE CARTE

MUGUR
Typewritten Text
29 C
MUGUR
Typewritten Text
30 B
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
Page 6: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

(codc CHAR(5) PRIMARY KEY, titlu VARCHAR2(30), autor VARCHAR2(30), pret NUMBER(8,2), nrex NUMBER(3), coddom CHAR(5) NOT NULL);

b. CREATE TABLE CARTE

(codc CHAR(5) PRIMARY KEY, titlu VARCHAR2(30), autor VARCHAR2(30), pret NUMBER(8,2), nrex NUMBER(3), coddom CHAR(5) NOT NULL REFERENCES DOMENIU(coddom));

c. CREATE TABLE CARTE

(codc CHAR(5) , titlu VARCHAR2(30), autor VARCHAR2(30), pret NUMBER(8,2), nrex NUMBER(3), coddom CHAR(5) NOT NULL PRIMARY KEY (codc), FOREIGN KEY (coddom) REFERENCES DOMENIU (coddom));

____ 35. Care este varianta corecta pentru a crea tabelul CARTE, cu caracteristicile de mai jos(codc cheie primara, coddom cheie secundara), indicand cheile la nivel de tabel? (Tabelele DOMENIU_CARTE si CARTE sunt in relatia 1:M) CARTE(codc CHAR(5) , titlu VARCHAR2(30), autor VARCHAR2(30), pret NUMBER(8,2), nrex NUMBER(3), coddom CHAR(5)) a. CREATE TABLE CARTE

(codc CHAR(5) PRIMARY KEY, titlu VARCHAR2(30), autor VARCHAR2(30), pret NUMBER(8,2), nrex NUMBER(3), coddom CHAR(5) NOT NULL);

b. CREATE TABLE CARTE

(codc CHAR(5) PRIMARY KEY, titlu VARCHAR2(30), autor VARCHAR2(30), pret NUMBER(8,2), nrex NUMBER(3),

MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
31 C
MUGUR
Typewritten Text
MUGUR
Rectangle
Page 7: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

coddom CHAR(5) NOT NULL REFERENCES DOMENIU(coddom));

c. CREATE TABLE CARTE (codc CHAR(5), titlu VARCHAR2(30), autor VARCHAR2(30), pret NUMBER(8,2), nrex NUMBER(3), coddom CHAR(5) NOT NULL, PRIMARY KEY (codc), FOREIGN KEY (coddom) REFERENCES DOMENIU (coddom));

____ 36. Sa se creeze tabelul asociativ imprumuta, a carui structura este data mai jos(codc, codcit si dataim sunt chei primare). Sa se precizeze legatura cu tabelele carte si cititor, aflate in relatia M:M (mai multi la mai multi) a. IMPRUMUTA (

codc CHAR(5), codcit CHAR(5), dataim DATE DEFAULT SYSDATE, datares DATE, dataef DATE, PRIMARY KEY (codel, codec, dataim), FOREIGN KEY (codc) REFERENCES CARTE (codc), FOREIGN KEY (codcit) REFERENCES CITITOR(codcit));

b. IMPRUMUTA (

codc CHAR(5) PRIMARY KEY, codcit CHAR(5) PRIMARY KEY, dataim DATE DEFAULT SYSDATE PRIMARY KEY, datares DATE, dataef DATE, FOREIGN KEY (codc) REFERENCES CARTE (codc), FOREIGN KEY (codcit) REFERENCES CITITOR(codcit));

c. IMPRUMUTA ( codc CHAR(5) REFERENCES CARTE (codc), codcit CHAR(5) REFERENCES CITITOR(codcit), dataim DATE DEFAULT SYSDATE, datares DATE, dataef DATE, PRIMARY KEY (codel, codec, dataim));

____ 37. Sa se creeze tabelul CARTE_INFO(codc, titlu, autor) prin copiere din tabelul

MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
32 A
MUGUR
Typewritten Text
33 C
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
Page 8: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

CARTE(codc CHAR(5) , titlu VARCHAR2(30), autor VARCHAR2(30), pret NUMBER(8,2), nrex NUMBER(3), coddom CHAR(5)) selectand cartile care au coddom=’I’. a. CREATE TABLE CARTEINFO

(codc CHAR(5), titlu VARCHAR2(30), autor VARCHAR2(30), FROM CARTE PRIMARY KEY (codc), FOREIGN KEY (coddom) REFERENCES DOMENIU (coddom));

b. CREATE TABLE CARTE_INFO (codc CHAR(5) PRIMARY KEY, titlu VARCHAR2(30), autor VARCHAR2(30), FROM CARTE WHERE coddom = ’I’;

c. CREATE TABLE CARTE_INFO AS SELECT codc, titlu, autor FROM CARTE WHERE coddom = ’I’;

____ 38. Pentru a introduce in tabelul SALARIAT COD

_ANG NUME PRENUME

DATA_ANG

VARSTA SALARIU

not null numeric de 5

sircaractere de maxim 20

sir caractere de maxim 20

date, valoare implicita data curentă

numeric de 2

valoare implicita 0

numar de 10 cu 2 zecimale

doua coloane: Cod_Funct si Email ce varianta folosim? a. ALTER TABLE SALARIAT ADD Cod_Funct NUMBER(2), ALTER COLUMN ADD

Email char(25); b. ALTER TABLE SALARIAT ADD Cod_Funct NUMBER(2), ADD Email CHAR(25); c. ALTER TABLE SALARIAT ADD (Cod_Funct NUMBER(2) , Email CHAR(25)); d. ALTER TABLE SALARIAT ADD Cod_Funct NUMBER(2), ALTER ADD Email

char(25);

____ 39. Ce comanda creeaza tabelul SALARIAT_1 care să aiba aceeiasi structura cu tabelul SALARIAT

COD _ANG NUME PRENUME DATA_AN

G VARST

A EMAIL SALARIU

not null numeric de 5

sir de caractere de maxim 20

sir caractere de maxim 20

date, valoare implicita data curentă

numeric de 2

sir de caractere de dimensiune fixa, de 30

valoare implicita 0

numar de

MUGUR
Typewritten Text
MUGUR
Typewritten Text
34 C
MUGUR
Typewritten Text
35 B
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
Page 9: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

10 cu 2 zecimale

si sa contina salariatii care au salariu >100? a. CREATE TABLE SALARIAT_1

SELECT * FROM SALARIAT WHERE SALARIU>100; b. CREATE TABLE SALARIAT_1

AS SELECT * FROM SALARIAT WHERE SALARIU>100; c. CREATE TABLE SALARIAT_1

AS SELECT FROM SALARIAT WHERE SALARIU>100; d. CREATE TABLE SALARIAT_1

AS SELECT COD_ANG, SALARIU FROM SALARIAT WHERE SALARIU>100;

____ 40. Ce comanda sterge din tabelul SALARIAT COD

_ANG NUME PRENUME

DATA_ANG

VARSTA EMAIL SALARIU

not null numeric de 5

sir de caractere de maxim 20

sir caractere de maxim 20

date, valoare implicita data curentă

numeric de 2

sir de caractere de dimensiune fixa, de 30

valoare implicita 0

numar de 10 cu 2 zecimale

coloana nume si coloana salariu? a. ALTER TABLE SALARIAT

DROP nume, salariu; b. ALTER TABLE SALARIAT

DROP COLUMN (nume, salariu); c. ALTER TABLE SALARIAT

DROP (nume, salariu); d. ALTER TABLE SALARIAT

DROP COLUMN nume, COLUMN salariu;

____ 41. Ce comanda creeaza corect tabelul SALARIAT, specificand constrangerile? COD

_ANG NUME PRENUME DATA_AN

G VARSTA EMAIL SALARIU

cheie primara numeric de 5

not null sir de caractere de maxim 20

sir caractere de maxim 20

date, valoare implicita data curentă

numeric de 2

unic sir de caractere de dimensiune fixa, de 30

> 0 numar de 10 cu 2 zecimale

a. CREATE TABLE salariat(

cod_ang NUMBER(5) PRIMARY KEY, nume VARCHAR2(20) NOT NULL, prenume VARCHAR2(20), data_ang DATE DEFAULT SYSDATE, varsta NUMBER(2), email CHAR(30) UNIQUE, salariu NUMBER(10,2) CHECK (salariu > 0));

MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
36 C
MUGUR
Typewritten Text
MUGUR
Typewritten Text
37 A
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 10: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

b. CREATE TABLE salariat( cod_ang NUMBER(5) PRIMARY KEY, nume VARCHAR2(20) NOT NULL, prenume VARCHAR2(20), data_ang DATE DEFAULT SYSDATE, varsta NUMBER(2), email CHAR(30) UNIQUE, salariu NUMBER(10,2) > 0));

c. CREATE TABLE salariat( cod_ang NUMBER(5) PRIMARY KEY, nume VARCHAR2(20) NOT NULL, prenume VARCHAR2(20), data_ang DATE DEFAULT SYSDATE, varsta NUMBER(2), email CHAR(30), salariu NUMBER(10,2) CHECK (salariu > 0));

____ 42. Care este comanda corecta prin care se adauga constrangerea de cheie primara tabelului IMPRUMUTA (cod_cititor, cod_carte, data_imprumut, data_restituire)?

a. ALTER TABLE IMPRUMUTA

ADD PRIMARY KEY cod_cititor, PRIMARY KEY cod_carte, PRIMARY KEY data_imprumut;

b. ALTER TABLE IMPRUMUTA ADD PRIMARY KEY cod_cititor, cod_carte, data_imprumut;

c. ALTER TABLE IMPRUMUTA ADD CONSTRAINT cp PRIMARY KEY (cod_cititor, cod_carte, data_imprumut);

d. ALTER TABLE IMPRUMUTA ADD PRIMARY KEY (cod_cititor, cod_carte, data_imprumut);

____ 43. Pentru tabelul Salariat cod_depart cod_ang# nume pren salariu cod_funct

care este comanda corecta, pentru a modifica salariu la 3000, pentru angajatii care lucreaza in departamentul 10 si au salariul<3000? a. UPDATE salariat SET salariu=3000

WHERE cod_depart=10 AND salariu<3000; b. MODIFY salariat SET salariu=3000

WHERE cod_depart=10 , salariu<3000; c. UPDATE salariat SET cod_depart=10 AND salariu<3000

WHERE salariu=3000; d. MODIFY salariat SET salariu=3000

WHERE cod_depart=10 AND salariu<3000;

____ 44. Să se insereze în tabelul CARTE toate cărŃile din tabelul CARTE_INFO, presupunând că tabelul CARTE_INFO a fost deja creat. a. CREATE TABLE CARTE

AS SELECT codc, titlu, autor FROM CARTE_INFO;

b. INSERT INTO CARTE SELECT FROM CARTE_INFO;

c. CREATE TABLE CARTE

MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
40 D
MUGUR
Typewritten Text
MUGUR
Typewritten Text
39 A
MUGUR
Typewritten Text
38 C
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
Page 11: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

AS SELECT * FROM CARTE_INFO;

d. INSERT INTO CARTE SELECT * FROM CARTE_INFO;

____ 45. Pentru profesorii titulari, sa se maresca cumulul cu 10% si sa se rotunjeasca la 2 zecimale. UPDATE PROF SET CUMUL = ROUND([CUMUL]*1.1,2) WHERE TITULAR="Y"; a. UPDATE PROF SET CUMUL = (CUMUL*1.1)

WHERE TITULAR=’Y’; b. MODIFY PROF SET CUMUL = ROUND(CUMUL*1.1,2)

WHERE TITULAR=’Y’; c. UPDATE PROF SET CUMUL = ROUND(CUMUL*1.1,2);

WHERE TITULAR=’Y’; d. UPDATE PROF SET CUMUL = ROUND(CUMUL*1.1,2);

____ 46. Sã se modifice pretul cartilor din biblioteca, care se gasesc intr-un numar de exemplare mai mic decat media numarului de exemplare pe biblioteca. Noua valoare a pretului sa fie egala cu suma preturilor cartilor scrise de ‘BARBU’. a. UPDATE CARTE

SET pret = (SELECT SUM(pret) FROM CARTE WHERE autor = ’BARBU’) WHERE nrex < (SELECT AVG(nrex) FROM CARTE);

b. MODIFY CARTE SET pret = (SELECT SUM(pret) FROM carte WHERE autor = ’BARBU’) WHERE nrex < (SELECT AVG(nrex) FROM CARTE);

c. UPDATE CARTE pret = ( SUM(pret) FROM carte WHERE autor = ’BARBU’) WHERE nrex < ( AVG(nrex) FROM CARTE);

d. UPDATE CARTE pret = (SELECT SUM(pret) FROM carte WHERE autor = ’BARBU’ and nrex < ( AVG(nrex) FROM CARTE);

____ 47. Pentru tabelele: PROF cod_prof# cod_fac nume pren salariu cod_fuct TOTALURI

MUGUR
Typewritten Text
43 C
MUGUR
Typewritten Text
MUGUR
Typewritten Text
42 A
MUGUR
Typewritten Text
41 C
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 12: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

cod_fac# nr_prof total_sal

care este secventa corecta pentru o instructiune INSERT cu o instructiune SELECT interna, pentru a insera in tabelul TOTALURI, un rand pentru fiecare facultate din tabelul PROF, care sa contina numarul de profesori din facultate si suma salariilor lor?

a. INSERT TO TOTALURI SELECT COD_FAC, COUNT(*) , SUM(SALARIU) FROM PROF ORDER BY COD_FAC;

b. INSERT INTO TOTALURI SELECT COD_FAC, COUNT(*) AS NR_PROF, SUM(SALARIU) AS TOTAL_SAL FROM PROF ;

c. INSERT INTO TOTALURI SELECT COD_FAC, COUNT(*) AS NR_PROF, SUM(SALARIU) AS TOTAL_SAL FROM PROF GROUP BY COD_FAC;

____ 48. Pentru tabelul PROF cod_prof# cod_fac pren salariu care este secventa corecta pentru a modifica salariile cu 10% , care nu contin valori NULL?

a. UPDATE PROF SET SALARIU = SALARIU*1.1 WHERE SALARIU NOT NULL;

b. UPDATE PROF SET SALARIU = SALARIU*1.1 WHERE SALARIU IS NOT NULL;

c. UPDATE PROF SElLECT SALARIU = SALARIU*1.1 WHERE SALARIU <>0;

____ 49. Pentru tabelul PROF cod_prof# cod_fac nume pren salariu cod_funct care este secventa corecta pentru a sterge toate cadrele didactice care sunt profesori consultanti? a. DELETE FROM PROF WHERE COD_FUNCT=’C’; b. DELETE PROF WHERE COD_FUNCT<>’C’; c. DROP FROM PROF WHERE COD_FUNCT=’C’; d. DROP PROF WHERE COD_FUNCT=’C’;

____ 50. Pentru tabelul: FAC cod_fac# denumire adresa care este secventa corecta pentru o inserare, folosind instructiunea SELECT a. INSERT INTO FAC

(COD_FAC, DENUMIRE, ADRESA) SELECT VALUES(MAX(COD_FAC)+1, 'LIMBI', 'ION GHICA');

b. INSERT INTO FAC SELECT MAX(COD_FAC)+1, 'LIMBI', 'ION GHICA' FROM FAC;

c. INSERT INTO FAC (COD_FAC, DENUMIRE, ADRESA) SELECT MAX(COD_FAC)+1, 'LIMBI', 'ION GHICA' FROM FAC;

____ 51. Pentru tabelul PROF

MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
44 B
MUGUR
Typewritten Text
45 A
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
46 B
MUGUR
Typewritten Text
47 C
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 13: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

cod_prof# cod_fac nume pren salariu

care este secventa corecta pentru a afisa toti profesorii impreuna cu media _ salariu pentru fiecare facultate , rotunjita la doua pozitii zecimale

a. SELECT COD_FAC, ROUND (AVG (SALARIU), 2) AS medie_salariu FROM PROF ORDER BY COD_FAC;

b. SELECT COD_FAC, ROUND (AVG (SALARIU, 2) AS medie_salariu FROM PROF GROUP BY COD_FAC;

c. SELECT COD_FAC, ROUND (AVG (SALARIU), 2) AS medie_salariu FROM PROF GROUP BY COD_FAC;

d. SELECT FROM PROF COD_FAC, ROUND AVG (SALARIU), 2 AS medie_salariu GROUP BY COD_FAC;

____ 52. Pentru tabelul PROF cod_prof# cod_fac nume pren salariu care este secventa corecta pentru a afisa suma salariilor tuturor profesorilor din universitate.

a. SELECT SUM (Salariu) AS Total_Salariu FROM PROF;

b. SELECT SUM (Salariu) AS Total_Salariu FROM PROF GROUP BY COD_FAC;

c. SELECT SALARIU, SUM (Salariu) AS Total_Salariu FROM PROF;

d. SELECT COD_FAC, SUM (Salariu) AS Total_Salariu FROM PROF;

____ 53. Pentru tabelul PROF cod_prof# cod_fac nume pren salariu care este secventa corecta pentru a afisa toti profesorii pentru care COD_FAC =1 si salariu>=1200, sau toti profesorii pentru care COD_FAC =3 si salariu < 2000. a. SELECT COD_FAC, COD_PROF, NUME, SALARIU

FROM PROF WHERE (COD_FAC=1 OR SALARIU >1200) AND (COD_FAC =3 OR SALARIU<2000);

b. SELECT COD_FAC, COD_PROF, NUME,SALARIU FROM PROF WHERE (COD_FAC=1 AND SALARIU >1200) AND (COD_FAC =3 AND SALARIU<2000);

MUGUR
Typewritten Text
MUGUR
Typewritten Text
48 A
MUGUR
Typewritten Text
MUGUR
Typewritten Text
49 C
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
Page 14: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

c. SELECT COD_FAC, COD_PROF, NUME, SALARIU FROM PROF WHERE (COD_FAC=1 AND SALARIU >1200) OR (COD_FAC =3 AND SALARIU<2000);

d. SELECT COD_FAC, COD_PROF, NUME,SALARIU FROM PROF WHERE COD_FAC=1 OR SALARIU >1200 OR (COD_FAC =3 OR SALARIU<2000);

____ 54. Pentru tabelul PROF cod_prof# cod_fac nume pren salariu care secventa este corecta pentru a afisa citi profesori nu au o valoare introdusa pe coloana salariu? a. SELECT COUNT(salariu)

FROM PROF WHERE SALARIU =0;

b. SELECT COUNT(*) FROM PROF WHERE SALARIU =NULL;

c. SELECT COUNT(*) FROM PROF WHERE SALARIU IS NOT NULL;

d. SELECT COUNT(*) FROM PROF WHERE SALARIU IS NULL;

____ 55. O uniune (join) fara o clauzä WHERE sau o clauza JOIN a. Nu returneaza nici un rand din setul de rezultate b. Reprezinta o uniune interna (inner join) c. Are ca rezultat un produs cartezian d. Reprezinta o uniune externa(outer join)

____ 56. O uniune externa (outer join) nu

a. Poate fi scrisa in Oracle SQL folosind un simbol (+) in clauza FROM b. Poate fi scrisa in Oracle SQL folosind un simbol (+) in clauza WHERE c. Returneaza toate randurile din unul sau din ambele tabele d. Poate fi catre stanga, catre dreapta sau completa

____ 57. Pentru tabelele: PROF cod_prof# cod_fac nume pren salariu FAC cod_fac# denumire adresa care este secventa corecta pentru o interogare de uniune interna(inner join) care sa afiseze toti profesorii si denumirile facultatilor la care predau, in ordinea crescatoare a denumirilor

a. SELECT NUME, PREN, DENUMIRE FROM FAC, PROF WHERE A.COD_FAC =B.COD_FAC ORDER BY FAC.DENUMIRE;

MUGUR
Typewritten Text
50 D
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
51 C
MUGUR
Typewritten Text
A
MUGUR
Typewritten Text
B
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 15: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

b. SELECT NUME, PREN, DENUMIRE FROM FAC, PROF WHERE FAC.COD_FAC=PROF.COD_FAC ORDER BY FAC.DENUMIRE;

c. SELECT NUME, PREN, DENUMIRE FROM FAC, PROF WHERE FAC.COD_FAC=PROF.COD_FAC;

____ 58. Să se obtinapentru fiecare carte, codul sau şi numarul de exemplare care nu au fost inca restituite. a. SELECT codc

FROM IMPRUMUTA WHERE dataef IS NULL GROUP BY codc;

b. SELECT COUNT(*) FROM IMPRUMUTA GROUP BY codc;

c. SELECT codc, COUNT(*) FROM IMPRUMUTA WHERE dataef IS NULL GROUP BY codc;

d. SELECT COUNT(*) FROM IMPRUMUTA WHERE dataef =0 GROUP BY codc;

____ 59. Care este secventa corecta care să afişeze numărul cărŃilor împrumutate cel puŃin de două ori (pentru fiecare carte împrumutată mai mult decât o dată să se obŃină numărul de câte ori a fost împrumutată).

a. SELECT COUNT(COUNT(codel))

FROM imprumuta GROUP BY codcarte HAVING COUNT(*)>1;

b. SELECT COUNT(codel) FROM imprumuta GROUP BY codcarte HAVING COUNT(*)>1;

c. SELECT COUNT(COUNT(codel)) FROM imprumuta WHERE COUNT(*)>1;

d. SELECT COUNT(codel) FROM imprumuta ORDERBY BY codcarte HAVING COUNT(*)>1;

____ 60. Care este secventa corecta care afiseaza pentru fiecare domeniu de carte, numărul cărŃilor din domeniu, media preŃurilor şi numărul total de exemplare a. SELECT codcarte, COUNT(*), AVG(pret)

FROM CARTE

MUGUR
Typewritten Text
C
MUGUR
Typewritten Text
B
MUGUR
Typewritten Text
C
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 16: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

GROUP BY codcarte; b. SELECT coded, AVG(pret), SUM(nrex)

FROM CARTE GROUP BY codcarte;

c. SELECT codcarte, COUNT(*), AVG(pret), SUM(nrex) FROM CARTE GROUP BY codcarte;

d. SELECT COUNT(*), AVG(pret), SUM(nrex) FROM CARTE ORDER BY codcarte;

____ 61. Pentru tabelele: PROF cod_prof# cod_fac nume pren salariu FAC cod_fac# denumire adresa care este secventa corecta pentru o interogare de uniune externa catre stanga, care sa afiseze toti profesorii si denumirile facultatilor la care predau a. SELECT NUME, PREN, DENUMIRE

FROM FAC PROF LEFT OUTER JOIN ON A.COD_FAC = B.COD_FAC; b. SELECT NUME, PREN, DENUMIRE

FROM FAC LEFT OUTER JOIN PROF ON A.COD_FAC = B.COD_FAC;

c. SELECT NUME, PREN, DENUMIRE FROM FAC A LEFT OUTER JOIN PROF B ON A.COD_FAC = B.COD_FAC;

____ 62. Pentru tabelele: PROF cod_prof# cod_fac nume pren salariu cod_funct FUNCTII cod_funct# nume_funct care este secventa corecta pentru o subinterogare necorelata, care sa afiseze toate functiile pentru care nu exista profesorii incadrati

a. SELECT cod_funct, nume_funct FROM functii WHERE cod_funct NOT IN (SELECT DISTINCT cod_funct FROM prof);

b. SELECT cod_funct, nume_funct FROM functii WHERE cod_funct NOT IN SELECT DISTINCT cod_funct FROM prof;

c. SELECT cod_funct, nume_funct FROM functii WHERE cod_funct IN (SELECT cod_funct FROM prof);

____ 63. Care este comanda corecta care pentru fiecare facultate, se insereaza in tabelul TOTALURI(cod_fac, nr_prof, total_sal_fac) numarul de profesori si suma salariilor pe care facultatea o plateste profesorilor sai? a. INSERT TO TOTALURI

MUGUR
Typewritten Text
C
MUGUR
Typewritten Text
A
MUGUR
Typewritten Text
C
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 17: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

SELECT COD_FAC, COUNT(*) , SUM(SALARIU) FROM PROF ORDER BY COD_FAC;

b. INSERT INTO TOTALURI SELECT COD_FAC, COUNT(*) , SUM(SALARIU) FROM PROF ;

c. INSERT INTO TOTALURI SELECT COD_FAC, COUNT(*) , SUM(SALARIU) FROM PROF GROUP BY COD_FAC;

d. INSERT INTO TOTALURI SELECT COD_FAC, SUM(COD_PROF), SUM(SALARIU) FROM PROF GROUP BY COD_FAC;

____ 64. Să se obŃină titlurile şi preŃurile cărŃilor mai scumpe decât cartea având titlul “Baze de date”, al cărui autor este Popescu (self join).

a. SELECT x.titlu, x.pret

FROM carte x, y WHERE x.pret < y.pret AND y.titlu = ’Baze de date’ AND y.autor = ’Popescu’;

b. SELECT x.titlu, x.pret FROM carte x, carte y WHERE x.pret > y.pret AND y.titlu = ’Baze de date’ AND y.autor = ’ Popescu’;

c. SELECT x.titlu, x.pret FROM carte x, carte y WHERE x.pret > y.pret AND titlu = ’Baze de date’ AND autor = ’ Popescu’;

d. SELECT x.titlu, x.pret FROM carte x, carte y WHERE x.pret > y.pret AND y.titlu = ’Baze de date’, y.autor = ’ Popescu’;

____ 65. Pentru tabelele PROFESORI(codp, nume, pren, salariu) COPII (codp, nume_c, virsta) care este secventa corecta pentru a afisa profesorii cu copii a. SELECT a.nume, a.pren

FROM PROFESORI A WHERE a.codp IN (SELECT DISTINCT codp FROM COPII);

b. SELECT a.nume, a.pren FROM PROFESORI A WHERE codp IN (SELECT codp FROM COPII);

MUGUR
Typewritten Text
MUGUR
Typewritten Text
B
MUGUR
Typewritten Text
A
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 18: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

c. SELECT a.nume, a.pren FROM PROFESORI A WHERE a.codp IN COPII;

d. SELECT a.nume, a.pren FROM PROFESORI A WHERE a.codp IN DISTINCT codp FROM COPII;

____ 66. Pentru tabelele PROFESORI(codp, nume, pren, salariu) COPII (codp, nume_c, virsta) care este secventa corecta pentru a afisa profesorii fara copii a. SELECT a.nume, a.pren

FROM PROFESORI A WHERE codp NOT IN (SELECT codp FROM COPII);

b. SELECT a.nume, a.pren FROM PROFESORI A WHERE a.codp NOT IN (SELECT DISTINCT codp FROM COPII);

c. SELECT a.nume, a.pren FROM PROFESORI A WHERE a.codp NOT IN SELECT codp FROM copii;

d. SELECT a.nume, a.pren FROM PROFESORI A WHERE a.codp IS NOT (SELECT DISTINCT codpFROM COPII);

____ 67. Se considera pentru actionarii unei firme, urmatoarele tabele ACTIONARI(nume varchar2(20), cod_act number(5)) ACTIUNI (cod_act number(5), seriain number(8), seriasf number(8), valoar number(8)) (unde seriain si seriasf reprezinta seria de inceput, respectiv de sfarsit al intervalului de actiuni pe care il are un actionar). Care este secventa corecta care afiseaza pentru un actionar (introdus de la tastatura), intervalele seriilor actiunilor sale a. SELECT a.seriain, a.seriasf, b.nume

FROM actiuni a, actionari b WHERE a.codact=b.codact AND b.nume=‘&x’;

b. SELECT a.seriain, a.seriasf, b.nume FROM actiuni , actionari WHERE a.codact=b.codact AND nume=‘&x’;

c. SELECT a.seriain, a.seriasf, b.nume FROM actiuni a, actionari b WHERE a.codact=b.codact ;

d. SELECT a.seriain, a.seriasf, b.nume FROM actiuni a, actionari b WHERE a.codact=b.codact OR b.nume=‘&x’;

____ 68. Se considera pentru actionarii unei firme, tabelul ACTIUNI (cod_act number(5), seriain number(8), seriasf number(8), valoar number(8)) (unde seriain si seriasf reprezinta seria de inceput, respectiv de sfarsit al intervalului de actiuni pe care il are un actionar).

MUGUR
Typewritten Text
B
MUGUR
Typewritten Text
A
MUGUR
Typewritten Text
D
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
Page 19: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

Care este secventa corecta care afiseaza suma necesara firmei pentru plata tuturor devidentelor (numrul de actiuni inmultit cu valoarea unei actiuni)? a. SELECT SUM((seriain+seriasf)*valoare))

FROM ACTIUNI; b. SELECT SUM((seriasf-seriasf)*valoare))

FROM ACTIUNI; c. SELECT SUM((seriain-seriasf)*valoare))

FROM ACTIUNI; d. SELECT SUM((seriasf-seriain+1)*valoare))

FROM ACTIUNI;

____ 69. Pentru tabelele Angajat(cod_angajat, nume, pren, …..) Are_functia (cod_angajat, cod_functie, salariu ,…..) Functii(cod_functie, ……) care este comanda corecta pentru a calcula suma salariilor angajatului ‘ENE ANA’, care cumuleaza mai multe functii, in diferite compartimente? a. SELECT COUNT(SALARIU) AS SALARIU_CUMULAT

FROM salariat, are_functia WHERE s.cod_salariat=a.cod_salariat AND NUME='ENE' AND PREN='ANA’;

b. SELECT Sum(SALARIU) AS SALARIU_CUMULAT FROM salariat, are_functia WHERE NUME='ENE' , PREN='ANA’;

c. SELECT Sum(SALARIU) AS SALARIU_CUMULAT FROM salariat s, are_functia a WHERE s.cod_salariat=a.cod_salariat AND NUME='ENE' AND PREN='ANA’;

____ 70. Pentru tabelele: PROF cod_prof# cod_fac nume pren salariu cod_funct FAC cod_fac# denumire adresa care este secventa corecta pentru o subinterogare corelata, care sa afiseze toate facultatile pentru care suma salariile profesorilor este mai mare 10000 a. SELECT DISTINCT DENUMIRE

FROM FAC WHERE 10000< (SELECT sum(salariu) FROM PROF WHERE A.COD_FAC=B.COD_FAC);

b. SELECT DISTINCT DENUMIRE FROM FAC A WHERE 10000< ( SELECT sum(salariu) FROM PROF B WHERE A.COD_FAC=B.COD_FAC);

c. SELECT DISTINCT DENUMIRE FROM FAC A WHERE 10000< SELECT sum(salariu) FROM PROF B WHERE A.COD_FAC=B.COD_FAC;

____ 71. Care este comanda corecta pentru a afisa toti salariatii , in ordine crescatoare dupa nume, care sunt manageri ? a. SELECT DISTINCT sef.nume, angajat.cod_manager

FROM salariati sef, salariati angajat

MUGUR
Typewritten Text
MUGUR
Typewritten Text
C
MUGUR
Typewritten Text
B
MUGUR
Typewritten Text
A
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 20: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

WHERE sef.cod_salariat= angajat.cod_manager ORDER BY sef.nume;

b. SELECT DISTINCT sef.nume, angajat.cod_manager FROM salariati sef, salariati angajat WHERE cod_salariat= cod_manager ORDER BY sef.nume;

c. SELECT DISTINCT nume, cod_manager FROM salariati sef, salariati angajat WHERE sef.cod_salariat= angajat.cod_manager;

d. ELECT DISTINCT nume, cod_manager FROM salariati sef, salariati angajat WHERE cod_salariat= cod_manager ORDER BY sef.nume;

____ 72. Care este comanda corecta care sa afiseze daca exista angajati care nu lucreaza in departamentul ‘Contractari’ si al caror salariu coincide cu salariul unui angajat din departamentul ‘Contractari’? a. SELECT nume, salariu, cod_depart

FROM salariati WHERE salariu IN (SELECT salariu FROM salariati , department d WHERE s.cod_depart = d.cod_depart AND nume_depart <> ‘Contractari’) AND cod_depart= (SELECT cod_depart FROM department WHERE nume_depart = ‘Contractari’);

b. SELECT nume, salariu, cod_depart FROM salariati WHERE salariu IS IN (SELECT salariu FROM salariati , department WHERE s.cod_depart = d.cod_depart , nume_depart = ‘Contractari’) AND cod_depart<> (SELECT cod_depart FROM department WHERE nume_depart = ‘Contractari’);

c. SELECT nume, salariu, cod_depart FROM salariati WHERE (salariu) IN (SELECT salariu FROM salariati s, department d WHERE s.cod_depart = d.cod_depart AND nume_depart = ‘Contractari’) AND cod_depart<> (SELECT cod_depart FROM department WHERE nume_depart = ‘Contractari’);

____ 73. Care este comanda corecta care afiseaza numarul total de carti imprumutate si restituite pentru fiecare cititor al unei biblioteci? a. SELECT cod_cititor, COUNT()

FROM imprumuta WHERE data_restituirii NOT NULL GROUP BY cod_cititor;

b. SELECT cod_cititor, COUNT(*) FROM imprumuta WHERE data_restituirii IS NOT NULL;

c. SELECT cod_cititor, COUNT(*) FROM imprumuta GROUP BY cod_cititor;

d. SELECT cod_cititor, COUNT(*) FROM imprumuta WHERE data_restituirii IS NOT NULL GROUP BY cod_cititor;

MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
C
MUGUR
Typewritten Text
D
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
Page 21: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

____ 74. Care este comanda corecta care determina micsorarea salariilor cu 10%, cu rotunjire la 2 zecimale , a angajatilor care nu sunt titulari? a. UPDATE salariat

SET salariu=ROUND(salariu*0.9, 2); b. UPDATE salariat

SET salariu=ROUND(salariu*1.1) WHERE titular =’N’;

c. UPDATE salariat SET salariu = ROUND(salariu*0.9, 2) WHERE TITULAR=’N’;

d. UPDATE salariat SET salariu=ROUND(salariu+salariu*0.1) WHERE titular =’Y’;

____ 75. Care este comanda corecta care afiseaza numele si salariul angajatilor condusi direct de ‘ENE DAN’? a. SELECT nume, salariu

FROM salariati WHERE cod_ang = (SELECT cod_manager FROM salariati WHERE UPPER(nume) ='ENE' , UPPER(pren) ='DAN' );

b. SELECT nume, salariu FROM salariati WHERE cod_manager IN (SELECT cod_ang FROM salariati WHERE nume ='ENE' , pren ='DAN' );

c. SELECT nume, salariu FROM salariati (SELECT cod_ang FROM salariati WHERE UPPER(nume) ='ENE' AND UPPER(pren) ='DAN' );

d. SELECT nume, salariu FROM salariati WHERE cod_manager = (SELECT cod_ang FROM salariati WHERE UPPER(nume) ='ENE' AND UPPER(pren) ='DAN' );

____ 76. Care este comanda corecta care afiseaza numele cititorilor care au carti nerestituite? a. SELECT nume_cititor

FROM imprumuta WHERE data_restituirii = NULL;

b. SELECT nume_cititor FROM imprumuta WHERE data_restituirii IS NOT NULL;

c. SELECT nume_cititor FROM imprumuta WHERE data_restituirii IS NULL;

d. SELECT nume_cititor FROM imprumuta WHERE data_restituirii > SYSDATE;

____ 77. Care este comanda corecta care sterge valoarea coloanei salariu pentru angajatii care sunt angajati cu contract de colaborare?

a. DELETE salariu

FROM salariati WHERE contract=’colaborare’;

b. UPDATE salariati

MUGUR
Typewritten Text
C
MUGUR
Typewritten Text
D
MUGUR
Typewritten Text
C
MUGUR
Typewritten Text
D
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 22: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

SET salariu IS null WHERE contract=’colaborare’;

c. DROP salariu FROM salariati WHERE contract=’colaborare’;

d. UPDATE salariati SET salariu=null WHERE contract=’colaborare’;

____ 78. Care este comanda corecta care afiseaza codul departamentelor, numele departamentelor si suma salariilor pentru fiecare departament? a. SELECT cod_departament, nume_departament, SUM(salariu)

FROM salariati s, departamente d GROUP BY cod_departament, nume_departament;

b. SELECT cod_departament, nume_departament, SUM(salariu) FROM salariati s, departamente d WHERE s.cod_departament=d.cod_departament GROUP BY cod_departament;

c. SELECT cod_departament, nume_departament, SUM(salariu) FROM salariati s, departamente d WHERE s.cod_departament=d.cod_departament GROUP BY cod_departament, nume_departament;

d. SELECT cod_departament, nume_departament, SUM(salariu) FROM salariati, departamente WHERE s.cod_departament=d.cod_departament GROUP BY cod_departament, nume_departament;

____ 79. Care este comanda corecta care afiseaza numele salariatilor care castiga mai mult decat salariul mediu pe companie, in ordine crescatoare a salariului? a. SELECT nume

FROM salariati WHERE salariu >AVG(salariu);

b. SELECT nume FROM salariati WHERE salariu > (SELECT AVG(salariu) FROM salariati) ORDER BY salariu;

c. SELECT nume FROM salariati WHERE salariu > (SELECT AVG(salariu) FROM salariati ORDER BY salariu);

d. SELECT nume FROM salariati WHERE salariu > (SELECT AVG(salariu) FROM salariati) ORDER BY 1;

____ 80. Care este comanda corecta care afiseaza toate functiile pe care nu lucreaza angajati? a. SELECT cod_functie

FROM functii WHERE cod_functie IN (SELECT cod_functie FROM salariati WHERE cod_functie IS NOT NULL);

b. SELECT cod_functie FROM functii WHERE cod_functie NOT IN

MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
C
MUGUR
Typewritten Text
B
MUGUR
Typewritten Text
D
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 23: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

(SELECT cod_functie FROM salariati WHERE cod_functie IS NULL); c. SELECT cod_functie

FROM functii WHERE cod_functie NOT IN (SELECT cod_functie FROM salariati);

d. SELECT cod_functie FROM functii WHERE cod_functie NOT IN (SELECT cod_functie FROM salariati WHERE cod_functie IS NOT NULL);

MUGUR
Rectangle
Page 24: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

Subiecte SGBD 1.Ce comanda sterge din tabelul Salariat Cod_ang Nume Prenume Data_ang Virsta Email Salariu Not null Numeric de 5

Sir de caractere max.20

Sir de caractere max.20

Date,valoare implicita data curenta

Numeric 2 Sir de caractere dimensiune fixa 30

Valoare implicita 0, numeric de 10 cu 2 zecimale

Coloana nume si salariu?

a. ALTER TABLE SALARIAT DROP nume,salariu;

b. ALTER TABLE SALARIAT DROP COLUMN (nume,salariu); c. ALTER TABLE SALARIAT DROP (nume,salariu); d. ALTER TABLE SALARIAT DROP COLUMN nume, COLUMN salariu; 2.Efectele unei comenzi DDL pot fi anulate cu o comanda ROLLBACK? Adevarat sau Fals 3.Pentru a introduce in tabelul SALARIAT, 2 coloane : Cod_funct si Email ce varianta folosim?

Cod_ang Nume Prenume Data_ang Virsta Salariu Not null Numeric de 5

Sir de caractere max.20

Sir de caractere max.20

Date,valoare implicita data curenta

Numeric 2 Valoare implicita 0, numeric de 10 cu 2 zecimale

a. ALTER TABLE SALARIAT ADD Cod_funct Number(2), Alter Column Add Email Char(25); b. ALTER TABLE SALARIAT ADD Cod_funct Number(2), ADD Email Char(25); c. ALTER TABLE SALARIAT ADD (Cod_funct Number(2), Email Char(25)); d. ALTER TABLE SALARIAT ADD Cod_funct Number(2), Alter ADD Email Char(25); 4. Care este comanda corecta pentru a afisa nume,prenume si virsta salariatilor , iar pentru cei care au virsta necunoscuta sa apara ” virsta necunoscuta”? a.SELECT nume,prenume, NVL(virsta,”virsta necunoscuta”) FROM SALARIAT; b.SELECT nume,prenume, NVL(TO_CHAR(virsta),”virsta necunoscuta”) FROM SALARIAT; c. SELECT nume,prenume, NVL(CHAR(virsta),”virsta necunoscuta”) FROM SALARIAT; d. SELECT nume,prenume, NVL2(TO_CHAR(virsta),”virsta necunoscuta”) FROM SALARIAT; 5. Constringerea NOT NULL poate fi adaugata utilizind o comanda ALTER TABLE…. ADD CONSTRAINT? Adevat sau Fals 6.Care este comanda care determina stergerea tuturor salariatilor din departamentul 10? a. DELETE SALARIAT WHERE Cod_dep=10; b. DELETE TO SALARIAT WHERE Cod_dep=10; c. DROP FROM SALARIAT

MUGUR
Typewritten Text
F
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Typewritten Text
F
Page 25: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

WHERE Cod_dep=10; d. . DELETE FROM SALARIAT WHERE Cod_dep=10; 7.Care este varianta corecta pentru a crea tabelul SALARIAT cu caracetristicile de mai jos:

Cod_ang Nume Prenume Data_ang Virsta Email Salariu Not null Numeric de 5

Sir de caractere max.20

Sir de caractere max.20

Date,valoare implicita data curenta

Numeric 2 Sir de caractere dimensiune 50

Valoare implicita 0, numeric de 10 cu 2 zecimale

a.CREATE TABEL SALARIAT( cod_ang Number (5) NOT NULL, nume VARCHAR (20),prenume VARCHAR2(20),data_ang DATE DEFAULT SYSDATE, virsta Number (2),email CHAR(50), salariu Number(10,2) DEFAULT 0); b. CREATE TABEL SALARIAT( cod_ang Number (5) , nume VARCHAR (20),prenume VARCHAR2(20),data_ang DATE , virsta Number (2),email CHAR(50), salariu Number(10,2) DEFAULT 0); c. CREATE TABEL SALARIAT( cod_ang Number (5) NOT NULL, nume VARCHAR (20),prenume VARCHAR2(20),data_ang DATE , DEFAULT SYSDATE, virsta Number (2),email CHAR(50), salariu Number(10,2) DEFAULT 0): 8. Actualizarile realizate pe o vizualizare, se propaga intotdeauna asupra tabelelor de date ? Adevarat sau Fals 9. Care este comanda INCORECTA care afiseaza numele, salariul si virsta pentru toti salariatii care cistiga mai mult de 1000, rezultatul fiind sortat descendent dupa salariu, iar pentru cei care au acelasi salariu in ordine crescatoare dupa nume ? a. SELECT nume,salariu,virsta FROM SALARIAT WHERE salariu>1000 ORDER by salariu DESC nume ASC; b. SELECT nume,salariu,virsta FROM SALARIAT WHERE salariu>1000 ORDER by salariu DESC, nume ASC; c. SELECT nume,salariu,virsta FROM SALARIAT WHERE salariu>1000 ORDER by salariu DESC , nume ; d. SELECT nume,salariu,virsta FROM SALARIAT WHERE salariu>1000 ORDER by 2 DESC , 1 ASC; 10. Care comanda NU defineste corect un tabel ? a. CREATE TABLE [schema]nume_tabel(nume_col tip_de_date[Default expresie]…); b. CREATE TABLE nume_tabel [(col1,col2..)] AS subcerere; c. CREATE TABLE [schema]nume_tabel(nume_col tip_de_date[Default expresie][constringere_de_coloana]…); d. CREATE TABLE [schema]nume_tabel(nume_col tip_de_date[Default expresie][constringere_de_coloana] ][constringere la nivel de tabel);

MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Typewritten Text
F
Page 26: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

11. Care este comanda corecta care sterge valoarea coloanei salariu pentru angajatii care sunt angajati cu contract de colaborare ? a. DELETE SALARIU FROM SALARIATI WHERE contract=’colaborare’; b. UPDATE SALARIATI SET SALARIU IS NULL WHERE contract=’colaborare’; c. DROP SALARIU FROM SALARIATI WHERE contract=’colaborare’; d. UPDATE SALARIATI SET SALARIU = NULL WHERE contract=’colaborare’; 12. Cu ce comanda se creeaza tabelul SALARIAT_1 care sa aiba aceeasi structura cu tabelul SALARIAT si contine salariati cu salariu mai mare cu 100? Tabelul cel de mai sus nu l-am mai copiat o data…… a.CREATE TABLE SALARIAT_1 SELECT *FROM SALARIAT WHERE salariu>100; b. CREATE TABLE SALARIAT_1 AS SELECT *FROM SALARIAT WHERE salariu>100; c. CREATE TABLE SALARIAT_1 SELECT FROM SALARIAT WHERE salariu>100; d. CREATE TABLE SALARIAT_1 AS SELECT Cod_ang, Salariu FROM SALARIAT WHERE salariu>100; 13. Pentru tabelul care este comanda corecta ptr. a modifica salariu la 3000 ,pentru angajatii care lucreaza in departamentul 10 si au salariu mai mic de 3000? a.UPDATE SALARIAT SET SALARIU=3000 WHERE cod_dep=10 AND salariu<3000; b.MODIFY SALARIAT SET SALARIU=3000 WHERE cod_dep=10 , salariu<3000; c. UPDATE SALARIAT SET cod_dep=10 AND Salariu<3000 WHERE salariu=3000; d. MODIFY SALARIAT SET SALARIU=3000 WHERE cod_dep=10 AND salariu<3000; Am raspuns: d 14. Efectele unei comenzi DML pot fi anulate cu o comanda ROLLBACK? Adevat sau Fals ??

1. Care este forma corecta pentru a adauga constrangeri la nivel de coloana si /sau la nivel de tabel? CREATE TABLE [schema.]nume_tabel ( nume_coloana tip_de_date, [DEFAULT expr] [constrangere_de_coloana], ... ..[constrangere la nivel de tabel]) CREATE TABLE [schema.]nume_tabel ( nume_coloana tip_de_date [DEFAULT expr], [constrangere_de_coloana] ... ..[constrangere la nivel de tabel]) CREATE TABLE [schema.]nume_tabel ( nume_coloana tip_de_date, [DEFAULT expr], [constrangere_de_coloana], ... ..[constrangere la nivel de tabel])

MUGUR
Typewritten Text
A
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 27: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

CREATE TABLE [schema.]nume_tabel ( nume_coloana tip_de_date [DEFAULT expr] [constrangere_de_coloana], ... ..[constrangere la nivel de tabel]) 2. Care este comanda corecta care determina marirea salariul tuturor angajatilor din tabelul salariat cu 5%? UPDATE salariu SET salariu = salariu * 1.05; UPDATE salariat SET salariu = salariu * 1.05; UPDATE salariat SET salariu = 1.05; UPDATE salariat SET salariu = salariu + salariu* 1.05; 3. Care este comanda corecta care insereaza in tabelul TOTALURI(cod_departament, numar_angajati, suma_salarii)? INSERT INTO totaluri SELECT cod_departament, COUNT(*),SUM(salariu) FROM salariat GROUP BY cod_departament; INSERT INTO totaluri SELECT cod_departament, SUM(cod_angajat),SUM(salariu) FROM salariat GROUP BY cod_departament; INSERT INTO totaluri SELECT cod_departament, COUNT(*),SUM(salariu) FROM salariat; INSERT INTO totaluri SELECT cod_departament, COUNT(),SUM(salariu) FROM salariat ORDER BY cod_departament; 4. Care comanda afiseaza numele angajatilor, fara duplicate, care au manager? SELECT DISTINCT nume FROM salariat WHERE manager IS NOT NULL; SELECT DISTINCT nume FROM salariat WHERE manager IS NULL; SELECT nume FROM salariat WHERE manager IS NOT NULL; SELECT DISTINCT nume FROM salariat WHERE manager != NULL; 5. Care este comanda corecta care pentru fiecare facultate, se insereaza in tabelul SALARII(cod_fac, nr_prof, total_sal_fac) numarul de profesori si suma salariilor pe care facultatea o plateste profesorilor sai? INSERT TO TOTALURI SELECT COD_FAC, COUNT(*) , SUM(SALARIU)

MUGUR
Typewritten Text
MUGUR
Typewritten Text
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 28: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

FROM PROF ORDER BY COD_FAC; INSERT INTO TOTALURI SELECT COD_FAC, COUNT(*) , SUM(SALARIU) FROM PROF ; INSERT INTO TOTALURI SELECT COD_FAC, COUNT(*) , SUM(SALARIU) FROM PROF GROUP BY COD_FAC; INSERT INTO totaluri SELECT COD_FAC, SUM(COD_PROF),SUM(SALARIU) FROM PROF GROUP BY COD_FAC; 6. Care secventa este corecta pentru a afisa citi angajati nu au o valoare introdusa pe coloana salariu? SELECT COUNT() FROM salariati WHERE SALARIU =0; SELECT COUNT(*) FROM salariati WHERE SALARIU =NULL; SELECT COUNT(*) FROM salariati WHERE SALARIU IS NOT NULL; SELECT COUNT(*) FROM salariati WHERE SALARIU IS NULL; 7. Care este comanda corecta care determina dublarea salariilor cu rotunjire la 2 zecimale a angajatilor care sunt titulari? UPDATE salariat SET salariu=ROUND(salariu*2,2); UPDATE salariat SET salariu=ROUND(salariu*2) WHERE titular =’y’; UPDATE salariat SET salariu=ROUND(salariu*2,2) WHERE titular =’y’; UPDATE salariat SET salariu=ROUND(salariu*0.5,2) WHERE titular =’y’; 8. Care este comanda corecta care afiseaza numele salariatilor care castiga mai mult decat salariul mediu pe companie, in ordine crescatoare a salariului? SELECT nume FROM salariati WHERE salariu >AVG(salariu); SELECT nume FROM salariati WHERE salariu > (SELECT AVG(salariu) FROM salariati) ORDER BY salariu; SELECT nume FROM salariati WHERE salariu > (SELECT AVG(salariu) FROM salariati

MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 29: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

ORDER BY salariu); SELECT nume FROM salariati WHERE salariu > (SELECT AVG(salariu) FROM salariati) ORDER BY 1; 9. Ce comanda modifica in tabelul SALARIAT COD _ANG

NUME

PRENUME

DATA_ANG

VARSTA

EMAIL

SALARIU

not null numeric de 5

sir de caractere de maxim 20

sir caractere de maxim 20

date, valoare implicita data curentã

numeric de 2

sir de caractere de dimensiune fixa, de 30

valoare implicita 0 numar de 10 cu 2 zecimale

dimensiunea coloanei nume la 30 si pe cea a coloanei salariu la 12 cu 3 zecimale? ALTER TABLE salariat MODIFY nume VARCHAR2(30), salariu NUMBER(12,3); ALTER TABLE salariat MODIFY nume VARCHAR2(30), salariu NUMBER(12,3); ALTER TABLE salariat MODIFY nume VARCHAR2(30), MODIFY salariu NUMBER(12,3); ALTER TABLE salariat MODIFY (nume VARCHAR2(30), salariu NUMBER(12,3)); 10. Care este comanda corecta care sterge valoarea coloanei salariu pentru angajatii care sunt angajati cu contract de colaborare? DELETE salariu FROM salariati WHERE contract=’colaborare’; UPDATE salariati SET salariu IS null WHERE contract=’colaborare’; DROP salariu FROM salariati WHERE contract=’colaborare’; UPDATE salariati SET salariu=null WHERE contract=’colaborare’; 11. Care este comanda incorecta care afiseaza numele, salariul si varsta pentru toti salariatii care castiga mai mult de 1000, rezultatul fiind sortat descendent dupa salariu, iar pentru cei care au acelasi salariu in ordine crescatoare dupa nume? SELECT nume, salariu, varsta FROM salariat WHERE salariu>1000 ORDER BY salariu DESC nume ASC; SELECT nume, salariu, varsta FROM salariat WHERE salariu>1000 ORDER BY salariu DESC, nume ASC;

MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 30: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

SELECT nume, salariu, varsta FROM salariat WHERE salariu>1000 ORDER BY salariu DESC, nume; SELECT nume, salariu, varsta FROM salariat WHERE salariu>1000 ORDER BY 2 DESC, 1 ASC; 12. Actualizarile realizate asupra tabelelor de baza ale unei vizualizari se reflecta totdeauna in vizualizare Adevărat Fals 13. Care este comanda corecta pentru a afisa numele, prenumele si varsta salariatilor, iar pentru cei care au varsta necunoscuta sa apara textul “varsta necunoscuta”? SELECT nume, prenume, NVL(varsta, ‘varsta necunoscuta’) FROM salariat; SELECT nume, prenume, NVL(TO_CHAR(varsta), ‘varsta necunoscuta’) FROM salariat; SELECT nume, prenume, NVL(CHAR(varsta), ‘varsta necunoscuta’) FROM salariat; SELECT nume, prenume, NVL2(TO_CHAR(varsta), ‘varsta necunoscuta’) FROM salariat; 14. Care comanda afiseaza numarul de angajati din fiecare departament? SELECT cod_departament, COUNT(*) FROM salariat; SELECT cod_departament, SUM(cod_angajat) FROM salariat GROUP BY cod_departament; SELECT cod_departament, COUNT(*) FROM salariat GROUP BY cod_departament; SELECT cod_departament, COUNT() FROM salariat GROUP BY cod_departament; 15. Pentru a introduce in tabelul SALARIAT COD _ANG

NUME

PRENUME

DATA_ANG

VARSTA

SALARIU

not null numeric de 5

sircaractere de maxim 20

sir caractere de maxim 20

date, valoare implicita data curentã

numeric de 2

valoare implicita 0 numar de 10 cu 2 zecimale

doua coloane: Cod_Funct si Email ce varianta folosim? ALTER TABLE SALARIAT ADD Cod_Funct NUMBER(2), ALTER COLUMN ADD Email char(25); ALTER TABLE SALARIAT ADD Cod_Funct NUMBER(2), ADD Email CHAR(25); ALTER TABLE SALARIAT ADD (Cod_Funct NUMBER(2) , Email CHAR(25));

MUGUR
Typewritten Text
A
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 31: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

ALTER TABLE SALARIAT ADD Cod_Funct NUMBER(2), ALTER ADD Email char(25); 16. Ce comanda creeaza tabelul SALARIAT_1 care sã aiba aceeiasi structura cu tabelul SALARIAT COD _ANG

NUME

PRENUME

DATA_ANG

VARSTA

EMAIL

SALARIU

not null numeric de 5

sir de caractere de maxim 20

sir caractere de maxim 20

date, valoare implicita data curentã

numeric de 2

sir de caractere de dimensiune fixa, de 30

valoare implicita 0 numar de 10 cu 2 zecimale

si sa contina salariatii care au salariu >100? CREATE TABLE SALARIAT_1 SELECT * FROM SALARIAT WHERE SALARIU>100; CREATE TABLE SALARIAT_1 AS SELECT * FROM SALARIAT WHERE SALARIU>100; CREATE TABLE SALARIAT_1 AS SELECT FROM SALARIAT WHERE SALARIU>100; CREATE TABLE SALARIAT_1 AS SELECT COD_ANG, SALARIU FROM SALARIAT WHERE SALARIU>100; 17. Pentru a modifica dimensiunea coloanei prenume la 30 si pe cea a salariului la 12 cu 3 zecimale, din tabelul SALARIAT COD _ANG

NUME

PRENUME

DATA_ANG

VARSTA

EMAIL

SALARIU

not null numeric de 5

sir de caractere de maxim 20

sir caractere de maxim 20

date, valoare implicita data curentã

numeric de 2

sir de caractere de dimensiune fixa, de 30

valoare implicita 0 numar de 10 cu 2 zecimale

care varienta este corecta? ALTER TABLE SALARIAT MODIFY (prenume VARCHAR2(30) salariu NUMBER(12,3)); ALTER TABLE SALARIAT MODIFY (prenume VARCHAR2(30)), MODIFY(salariu NUMBER(12,3)); ALTER TABLE SALARIAT MODIFY (prenume VARCHAR2(30) , salariu NUMBER(12,3)); ALTER TABLE SALARIAT ADD (prenume VARCHAR2(30), salariu NUMBER(12,3)); 18. Care este varianta corecta pentru a crea tabelul Salariat, cu caracteristicile de mai jos? COD _ANG

NUME

PRENUME

DATA_ANG

VARSTA

EMAIL

SALARIU

not null numeric de 5

sir de caractere de maxim 20

sir caractere de maxim 20

date, valoare implicita data curentã

numeric de 2

sir de caractere de dimensiune fixa, de 30

valoare implicita 0 numar de 10 cu 2 zecimale

CREATE TABLE SALARIAT ( cod_ang NUMBER(5) NOT NULL, nume VARCHAR2(20),

MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 32: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

prenume VARCHAR2(20), data_angajarii DATE DEFAULT SYSDATE, varsta NUMBER(2), email CHAR(50), salariu NUMBER(10,2) DEFAULT 0); CREATE TABLE SALARIAT ( cod_ang NUMBER(5) nume VARCHAR2(20), prenume VARCHAR2(20), data_angajarii DATE , varsta NUMBER(2), email CHAR(50), salariu NUMBER(10,2) DEFAULT 0); CREATE TABLE SALARIAT ( cod_ang NUMBER(5) NOT NULL, nume VARCHAR2(20), prenume VARCHAR2(20), data_angajarii DATE, DEFAULT SYSDATE, varsta NUMBER(2), email CHAR(50), salariu NUMBER(10,2), DEFAULT 0); 19. Care varianta este corecta pentru a redenumi tabelul SALARIAT cu numele SALARIATI? RENAME SALARIAT TO SALARIATI; RENAME SALARIAT WITH SALARIATI; RENAME TABLE SALARIAT TO TABLE SALARIATI; RENAME TABLE SALARIAT WITH TABLE SALARIATI; 20. Care ste comanda corecta care afiseaza codul departamentelor pentru care salariul minim depaseste 5000$? SELECT cod_departament FROM salariat WHERE MIN(salariu)>5000 GROUP BY cod_departament; SELECT cod_departament FROM salariat GROUP BY cod_departament HAVING MIN(salariu)>5000; SELECT cod_departament FROM salariat GROUP BY cod_departament MIN(salariu)>5000; ALTE SUBIECTE TIMISOARA Care este comanda corecta care afiseaza numele si salariul angajatilor condusi direct de Ionescu Mihai? SELECT nume, salariu FROM salariati WHERE cod_sef = (SELECT cod_angajat FROM salariati WHERE nume ='Ionescu' AND prenume ='Mihai' ); SELECT nume, salariu FROM salariati WHERE cod_sef = (SELECT cod_angajat FROM salariati WHERE nume ='Ionescu', prenume ='Mihai' ); SELECT nume, salariu FROM salariati WHERE cod_sef = ‘Ionescu Mihai'; SELECT nume, salariu

MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 33: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

FROM salariati WHERE cod_sef != (SELECT cod_angajat FROM salariati WHERE nume ='Ionescu' AND prenume ='Mihai' ); Ce comanda sterge din tabelul SALARIAT COD _ANG NUME PRENUME DATA_ANG VARSTA EMAIL SALARIU not null numeric de 5 sir de caractere de maxim 20 sir caractere de maxim 20 date, valoare implicita data curentã numeric de 2 sir de caractere de dimensiune fixa, de 30 valoare implicita 0 numar de 10 cu 2 zecimale coloana nume si coloana salariu? ALTER TABLE SALARIAT DROP nume, salariu; ALTER TABLE SALARIAT DROP COLUMN (nume, salariu); ALTER TABLE SALARIAT DROP (nume, salariu); ALTER TABLE SALARIAT DROP COLUMN nume, COLUMN salariu; Care este comanda corecta care afiseaza numele salariatilor care lucreaza in departamentul 3 si au salariul >100 sau care sunt din departamentul 5 si au salariul <200? SELECT nume FROM salariat WHERE (cod_deptartament=3 OR salariu>100) AND (cod_deptartament=5 OR salariu<200); SELECT nume FROM salariat WHERE (cod_deptartament=3 AND salariu>100) OR (cod_deptartament=5 AND salariu<200); SELECT nume FROM salariat WHERE (cod_deptartament=3 AND salariu>100) AND (cod_deptartament=5 AND salariu<200); SELECT nume FROM salariat WHERE (cod_deptartament=3 AND salariu>100) OR (cod_deptartament=5 OR salariu<200); Care dintre urmatoarele comenzi intoarce numarul zilei din luna carespunzator datei curente? SELECT TO_CHAR(SYSDATE,’DDD’) FROM dual; SELECT TO_CHAR(SYSDATE,’DAY’) FROM dual; SELECT TO_CHAR(SYSDATE,’D’) FROM dual; SELECT TO_CHAR(SYSDATE,’DD’) FROM dual; Care este comanda corecta care afiseaza numele salariatilor si numele departamentelor in care lucreaza, inclusiv departamentele in care nu lucreaza salariati? SELECT nume_salariat, nume_departament FROM salariati s, departamente d WHERE s.cod_departament = d.cod_departament; SELECT nume_salariat, nume_departament FROM salariati s, departamente d WHERE s.cod_departament(+) = d.cod_departament; SELECT nume_salariat, nume_departament FROM salariati s, departamente d WHERE s.cod_departament = d.cod_departament(+); SELECT nume_salariat, nume_departament FROM salariati s, departamente d WHERE s.cod_departament(+) = d.cod_departament(+);

MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 34: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

Pentru a insera in tabelul SALARIAT inregistrari, COD _ANG NUME PRENUME DATA_ANG VARSTA EMAIL SALARIU not null numeric de 5 sir caractere de maxim 20 sir caractere de maxim 20 date, valoare implicita data curentã numeric de 2 sir de caractere de dimensiune fixa, de 30 valoare implicita 0 numar de 10 cu 2 zecimale care varianta este incorecta? INSERT INTO SALARIAT(COD _ANG, NUME,PRENUME,DATA_ANG,VARSTA,EMAIL, SALARIU) VALUES(5, ‘Ene’, ‘Ana’, ‘1/06/2009’, 20, ‘INTERZIS PE FORUM CU ADRESE DE EMAIL.com’, 2500.50) INSERT INTO SALARIAT(COD _ANG, NUME,PRENUME, VARSTA, EMAIL) VALUES(5, ‘Ene’, ‘Ana’, 20, ‘INTERZIS PE FORUM CU ADRESE DE EMAIL.com’) INSERT INTO SALARIAT(COD _ANG, NUME,PRENUME,VARSTA,EMAIL, SALARIU) VALUES(5, ‘Ene’, ‘Ana’, ‘1/06/2009’, 20, ‘INTERZIS PE FORUM CU ADRESE DE EMAIL.com’) INSERT INTO SALARIAT VALUES(5, ‘Ene’, ‘Ana’, ‘1/06/2009’, 20, ‘INTERZIS PE FORUM CU ADRESE DE EMAIL.com’, 2500.50) Ce comanda creeaza tabelul SALARIAT_1 care sã aiba aceeiasi structura cu tabelul SALARIAT COD _ANG NUME PRENUME DATA_ANG VARSTA EMAIL SALARIU not null numeric de 5 sir de caractere de maxim 20 sir caractere de maxim 20 date, valoare implicita data curentã numeric de 2 sir de caractere de dimensiune fixa, de 30 valoare implicita 0 numar de 10 cu 2 zecimale si sa contina salariatii care au salariu >100? CREATE TABLE SALARIAT_1 SELECT * FROM SALARIAT WHERE SALARIU>100; CREATE TABLE SALARIAT_1 AS SELECT * FROM SALARIAT WHERE SALARIU>100; CREATE TABLE SALARIAT_1 AS SELECT FROM SALARIAT WHERE SALARIU>100; CREATE TABLE SALARIAT_1 AS SELECT COD_ANG, SALARIU FROM SALARIAT WHERE SALARIU>100; Care este comanda nu elimina simultan spatiile de la inceputul si sfarsitul coloanei nume? SELECT TRIM(nume) FROM salariat; SELECT RTRIM(LTRIM(nume)) FROM salariat; SELECT LTRIM(RTRIM(nume)) FROM salariat; SELECT LTRIM(nume) FROM salariat; 2. Care este comanda corecta care afiseaza toate functiile pe care nu lucreaza angazatii? A SELECT cod_functie FROM functii WHERE cod_functie IN (select cod_functie FROM salariati WHERE cod_functie IS NOT NULL) B SELECT cod_functie FROM functii WHERE cod_functie NOT IN (select cod_functie FROM salariati WHERE cod_functie IS NULL)

MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 35: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

C SELECT cod_functie FROM functii WHERE cod_functie NOT IN (select cod_functie FROM salariati) D SELECT cod_functie FROM functii WHERE cod_functie NOT IN (select cod_functie FROM salariati WHERE cod_functie IS NOT NULL) Raspuns D. ALTE TESTE 3-Care este comanda corecta care afiseaza numele cititorilor care au carti nerestituite? SELECT nume_cititor FROM imprumuta WHERE data_restituirii = NULL; SELECT nume_cititor FROM imprumuta WHERE data_restituirii IS NOT NULL; SELECT nume_cititor FROM imprumuta WHERE data_restituirii IS NULL; SELECT nume_cititor FROM imprumuta WHERE data_restituirii > SYSDATE; 6-Care comanda nu defineste corect un tabel? CREATE TABLE [schema.]nume_tabel ( nume_coloana tip_de_date [DEFAULT expr], ...); CREATE TABLE nume_tabel [(col1, col2...)] AS subcerere; CREATE TABLE [schema.]nume_tabel ( nume_coloana tip_de_date, [DEFAULT expr], [constrangere_de_coloana], ...); CREATE TABLE [schema.]nume_tabel ( nume_coloana tip_de_date [DEFAULT expr] [constrangere_de_coloana], ... ..[constrangere la nivel de tabel]) 8-Ce comanda creeaza corect tabelul SALARIAT, specificand constrangerile COD _ANG NUME PRENUME DATA_ANG VARSTA EMAIL SALARIU cheie primara numeric de 5 not null sir decaractere demaxim 20 sir caractere de maxim 20 date, valoare implicita data curentã numeric de 2 unic sir de caractere de dimensiune fixa, de 30 > 0 numar de 10 cu 2 zecimale coloana nume si coloana salariu? CREATE TABLE salariat( cod_ang NUMBER(5) PRIMARY KEY, nume VARCHAR2(20) NOT NULL, prenume VARCHAR2(20), data_ang DATE DEFAULT SYSDATE, varsta NUMBER(2), email CHAR(30) UNIQUE, salariu NUMBER(10,2) CHECK (salariu > 0));

MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 36: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

CREATE TABLE salariat( cod_ang NUMBER(5) PRIMARY KEY, nume VARCHAR2(20) NOT NULL, prenume VARCHAR2(20), data_ang DATE DEFAULT SYSDATE, varsta NUMBER(2), email CHAR(30) UNIQUE, salariu NUMBER(10,2) > 0)); CREATE TABLE salariat( cod_ang NUMBER(5) PRIMARY KEY, nume VARCHAR2(20) NOT NULL, prenume VARCHAR2(20), data_ang DATE DEFAULT SYSDATE, varsta NUMBER(2), email CHAR(30), salariu NUMBER(10,2) CHECK (salariu > 0)); 9-Care este comanda corecta care afiseaza numele si salariul angajatilor condusi direct de ‘ENE DAN’? SELECT nume, salariu FROM salariati WHERE cod_manager = (SELECT cod_manager FROM salariati WHERE UPPER(nume) ='ENE' , UPPER(pren) ='DAN' ); SELECT nume, salariu FROM salariati WHERE cod_manager = (SELECT cod_ang FROM salariati WHERE nume ='ENE' , pren ='DAN' ); SELECT nume, salariu FROM salariati (SELECT cod_ang FROM salariati WHERE UPPER(nume) ='ENE' AND UPPER(pren) ='DAN' ); SELECT nume, salariu FROM salariati WHERE cod_manager = (SELECT cod_ang FROM salariati WHERE UPPER(nume) ='ENE' AND UPPER(pren) ='DAN' ); 10. Care este comanda corecta care afiseaza numarul total al cartilor imprumutate in anul 2008? SELECT COUNT() FROM imprumuta WHERE TO_CHAR(data_imprumutului,’yyyy’)=2008; SELECT COUNT(*) FROM imprumuta WHERE TO_CHAR(data_imprumutului,’yyyy’)=2008; SELECT COUNT(*) FROM imprumuta WHERE data_imprumutului=2008; SELECT COUNT(*) FROM imprumuta WHERE TO_CHAR(data_imprumutului,’yy’)=2008; 14-Care comanda listeaza numele tuturor angajatilor care au a treia litera din nume 'a'? SELECT nume FROM salariat WHERE nume LIKE '__a$'; SELECT nume FROM salariat WHERE nume LIKE '%a%';

MUGUR
Rectangle
MUGUR
Rectangle
Page 37: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

SELECT nume FROM salariat WHERE nume LIKE '__a%'; 15-Care este comanda corecta care afiseaza toate departamentele care platesc salariatilor sai o suma mai mare ca 20000? SELECT nume_departament FROM departament WHERE 20000< (SELECT sum(salariu) FROM salariat); SELECT nume_departament FROM departament A WHERE 20000< (SELECT sum(salariu) FROM salariat B where cod_departament=cod_departament); SELECT nume_departament FROM departament WHERE 20000< (SELECT sum(salariu) FROM salariat where A.cod_departament=B.cod_departament); SELECT nume_departament FROM departament A WHERE 20000< (SELECT sum(salariu) FROM salariat B where A.cod_departament=B.cod_departament); 18-Care este comanda corecta care afiseaza codul departamentelor, numele departamentelor si suma salariilor pentru fiecare departament? SELECT cod_departament, nume_departament, SUM(salariu) FROM salariati s, departamente d GROUP BY cod_departament, nume_departament; SELECT cod_departament, nume_departament, SUM(salariu) FROM salariati s, departamente d WHERE s.cod_departament=d.cod_departament GROUP BY cod_departament; SELECT cod_departament, nume_departament, SUM(salariu) FROM salariati s, departamente d WHERE s.cod_departament=d.cod_departament GROUP BY cod_departament, nume_departament; SELECT cod_departament, nume_departament, SUM(salariu) FROM salariati, departamente WHERE s.cod_departament=d.cod_departament GROUP BY cod_departament, nume_departament; 19-Care este comanda corecta care sa afiseze daca exista angajati care nu lucreaza in departamentul ‘Contractari’ si al caror salariu coincide cu salariul unui angajat din departamentul ‘Contractari’? SELECT nume, salariu, cod_depart FROM salariati WHERE salariu IN (SELECT salariu FROM salariati s, department d WHERE s.cod_depart = d.cod_depart AND nume_depart <> ‘Contractari’) AND cod_depart= (SELECT cod_depart FROM department WHERE nume_depart = ‘Contractari’); SELECT nume, salariu, cod_depart FROM salariati WHERE salariu IS IN (SELECT salariu FROM salariati s, department d WHERE s.cod_depart = d.cod_depart , nume_depart = ‘Contractari’)

MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 38: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

AND cod_depart<> (SELECT cod_depart FROM department WHERE nume_depart = ‘Contractari’); SELECT nume, salariu, cod_depart FROM salariati WHERE (salariu) IN (SELECT salariu FROM salariati s, department d WHERE s.cod_depart = d.cod_depart AND nume_depart = ‘Contractari’) AND cod_depart<> (SELECT cod_depart FROM department WHERE nume_depart = ‘Contractari’); 70% 1. Care este comanda corecta care determina marirea salariul tuturor angajatilor din tabelul salariat cu 5%? UPDATE salariu SET salariu = salariu * 1.05; UPDATE salariat SET salariu = salariu * 1.05; (varianta aleasa de mine) UPDATE salariat SET salariu = 1.05; UPDATE salariat SET salariu = salariu + salariu* 1.05; 2. Care este comanda corecta care afiseaza numele salariatilor care castiga mai mult decat salariul mediu pe companie, in ordine crescatoare a salariului? SELECT nume FROM salariati WHERE salariu >AVG(salariu); SELECT nume FROM salariati WHERE salariu > (SELECT AVG(salariu) FROM salariati) ORDER BY salariu; (varianta aleasa de mine) SELECT nume FROM salariati WHERE salariu > (SELECT AVG(salariu) FROM salariati ORDER BY salariu); SELECT nume FROM salariati WHERE salariu > (SELECT AVG(salariu) FROM salariati) ORDER BY 1; 3. Ce comanda modifica in tabelul SALARIAT COD _ANG

NUME

PRENUME

DATA_ANG

VARSTA

EMAIL

SALARIU

not null numeric de 5

sir de caractere de maxim 20

sir caractere de maxim 20

date, valoare implicita data curentã

numeric de 2

sir de caractere de dimensiune fixa, de 30

valoare implicita 0 numar de 10 cu 2 zecimale

dimensiunea coloanei nume la 30 si pe cea a coloanei salariu la 12 cu 3 zecimale?

Page 39: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

ALTER TABLE salariat MODIFY nume VARCHAR2(30), salariu NUMBER(12,3); ALTER TABLE salariat MODIFY nume VARCHAR2(30), salariu NUMBER(12,3); ALTER TABLE salariat MODIFY nume VARCHAR2(30), MODIFY salariu NUMBER(12,3); ALTER TABLE salariat MODIFY (nume VARCHAR2(30), salariu NUMBER(12,3)); (varianta aleasa de mine) 4. Actualizarile realizate asupra tabelelor de baza ale unei vizualizari se reflecta totdeauna in vizualizare Adevărat (varianta aleasa de mine) 5. Pentru a modifica dimensiunea coloanei prenume la 30 si pe cea a salariului la 12 cu 3 zecimale, din tabelul SALARIAT COD _ANG

NUME

PRENUME

DATA_ANG

VARSTA

EMAIL

SALARIU

not null numeric de 5

sir de caractere de maxim 20

sir caractere de maxim 20

date, valoare implicita data curentã

numeric de 2

sir de caractere de dimensiune fixa, de 30

valoare implicita 0 numar de 10 cu 2 zecimale

care varienta este corecta? ALTER TABLE SALARIAT MODIFY (prenume VARCHAR2(30) salariu NUMBER(12,3)); ALTER TABLE SALARIAT MODIFY (prenume VARCHAR2(30)), MODIFY(salariu NUMBER(12,3)); ALTER TABLE SALARIAT MODIFY (prenume VARCHAR2(30) , salariu NUMBER(12,3)); (varianta aleasa de mine) ALTER TABLE SALARIAT ADD (prenume VARCHAR2(30), salariu NUMBER(12,3)); 6. Care este varianta corecta pentru a crea tabelul Salariat, cu caracteristicile de mai jos? COD _ANG

NUME

PRENUME

DATA_ANG

VARSTA

EMAIL

SALARIU

not null numeric de 5

sir de caractere de maxim 20

sir caractere de maxim 20

date, valoare implicita data curentã

numeric de 2

sir de caractere de dimensiune fixa, de 30

valoare implicita 0 numar de 10 cu 2 zecimale

CREATE TABLE SALARIAT ( cod_ang NUMBER(5) NOT NULL, nume VARCHAR2(20), prenume VARCHAR2(20), data_angajarii DATE DEFAULT SYSDATE, varsta NUMBER(2), email CHAR(50), salariu NUMBER(10,2) DEFAULT 0); (varianta aleasa de mine) CREATE TABLE SALARIAT ( cod_ang NUMBER(5) nume VARCHAR2(20),

Page 40: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

prenume VARCHAR2(20), data_angajarii DATE , varsta NUMBER(2), email CHAR(50), salariu NUMBER(10,2) DEFAULT 0); CREATE TABLE SALARIAT ( cod_ang NUMBER(5) NOT NULL, nume VARCHAR2(20), prenume VARCHAR2(20), data_angajarii DATE, DEFAULT SYSDATE, varsta NUMBER(2), email CHAR(50), salariu NUMBER(10,2), DEFAULT 0); 7. Care varianta este corecta pentru a redenumi tabelul SALARIAT cu numele SALARIATI? RENAME SALARIAT TO SALARIATI; (varianta aleasa de mine)

RENAME SALARIAT WITH SALARIATI;

RENAME TABLE SALARIAT TO TABLE SALARIATI; RENAME TABLE SALARIAT WITH TABLE SALARIATI; 8. Care este comanda corecta care afiseaza numele si salariul angajatilor condusi direct de Ionescu Mihai? SELECT nume, salariu FROM salariati WHERE cod_sef = (SELECT cod_angajat FROM salariati WHERE nume ='Ionescu' AND prenume ='Mihai' ); (varianta aleasa de mine) SELECT nume, salariu FROM salariati WHERE cod_sef = (SELECT cod_angajat FROM salariati WHERE nume ='Ionescu', prenume ='Mihai' ); SELECT nume, salariu FROM salariati WHERE cod_sef = ‘Ionescu Mihai'; SELECT nume, salariu FROM salariati WHERE cod_sef != (SELECT cod_angajat FROM salariati WHERE nume ='Ionescu' AND prenume ='Mihai' ); 9. Ce comanda sterge din tabelul SALARIAT COD _ANG NUME PRENUME DATA_ANG VARSTA EMAIL SALARIU not null numeric de 5 sir de caractere de maxim 20 sir caractere de maxim 20 date, valoare implicita data curentã numeric de 2 sir de caractere de dimensiune fixa, de 30 valoare implicita 0 numar de 10 cu 2 zecimale coloana nume si coloana salariu? ALTER TABLE SALARIAT DROP nume, salariu; ALTER TABLE SALARIAT DROP COLUMN (nume, salariu); ALTER TABLE SALARIAT DROP (nume, salariu); (varianta aleasa de mine)

Page 41: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

ALTER TABLE SALARIAT DROP COLUMN nume, COLUMN salariu; 10.Care este comanda corecta care afiseaza numele cititorilor care au carti nerestituite? SELECT nume_cititor FROM imprumuta WHERE data_restituirii = NULL; SELECT nume_cititor FROM imprumuta WHERE data_restituirii IS NOT NULL; SELECT nume_cititor FROM imprumuta WHERE data_restituirii IS NULL; (varianta aleasa de mine) SELECT nume_cititor FROM imprumuta WHERE data_restituirii > SYSDATE; 11. Care comanda nu defineste corect un tabel? CREATE TABLE [schema.]nume_tabel ( nume_coloana tip_de_date [DEFAULT expr], ...); CREATE TABLE nume_tabel [(col1, col2...)] AS subcerere; (varianta aleasa de mine) CREATE TABLE [schema.]nume_tabel ( nume_coloana tip_de_date, [DEFAULT expr], [constrangere_de_coloana], ...); CREATE TABLE [schema.]nume_tabel ( nume_coloana tip_de_date [DEFAULT expr] [constrangere_de_coloana], ... ..[constrangere la nivel de tabel]) 12. Care este comanda corecta care afiseaza numele si salariul angajatilor condusi direct de ‘ENE DAN’? SELECT nume, salariu FROM salariati WHERE cod_manager = (SELECT cod_manager FROM salariati WHERE UPPER(nume) ='ENE' , UPPER(pren) ='DAN' ); SELECT nume, salariu FROM salariati WHERE cod_manager = (SELECT cod_ang FROM salariati WHERE nume ='ENE' , pren ='DAN' ); SELECT nume, salariu FROM salariati (SELECT cod_ang FROM salariati WHERE UPPER(nume) ='ENE' AND UPPER(pren) ='DAN' ); SELECT nume, salariu FROM salariati WHERE cod_manager = (SELECT cod_ang FROM salariati WHERE UPPER(nume) ='ENE' AND UPPER(pren) ='DAN' ); (varianta aleasa de mine)

Page 42: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

13. Care comanda listeaza numele tuturor angajatilor care au a treia litera din nume 'a'? SELECT nume FROM salariat WHERE nume LIKE '__a$'; SELECT nume FROM salariat WHERE nume LIKE '%a%'; SELECT nume FROM salariat WHERE nume LIKE '__a%'; (varianta aleasa de mine) 14.Care este comanda corecta care afiseaza codul departamentelor, numele departamentelor si suma salariilor pentru fiecare departament? SELECT cod_departament, nume_departament, SUM(salariu) FROM salariati s, departamente d GROUP BY cod_departament, nume_departament; SELECT cod_departament, nume_departament, SUM(salariu) FROM salariati s, departamente d WHERE s.cod_departament=d.cod_departament GROUP BY cod_departament; (varianta aleasa de mine) SELECT cod_departament, nume_departament, SUM(salariu) FROM salariati s, departamente d WHERE s.cod_departament=d.cod_departament GROUP BY cod_departament, nume_departament; SELECT cod_departament, nume_departament, SUM(salariu) FROM salariati, departamente WHERE s.cod_departament=d.cod_departament GROUP BY cod_departament, nume_departament; 15. Care este comanda corecta care sa afiseze daca exista angajati care nu lucreaza in departamentul ‘Contractari’ si al caror salariu coincide cu salariul unui angajat din departamentul ‘Contractari’? SELECT nume, salariu, cod_depart FROM salariati WHERE salariu IN (SELECT salariu FROM salariati s, department d WHERE s.cod_depart = d.cod_depart AND nume_depart <> ‘Contractari’) AND cod_depart= (SELECT cod_depart FROM department WHERE nume_depart = ‘Contractari’); (varianta aleasa de mine) SELECT nume, salariu, cod_depart FROM salariati WHERE salariu IS IN (SELECT salariu FROM salariati s, department d WHERE s.cod_depart = d.cod_depart , nume_depart = ‘Contractari’) AND cod_depart<> (SELECT cod_depart FROM department WHERE nume_depart = ‘Contractari’); SELECT nume, salariu, cod_depart FROM salariati WHERE (salariu) IN (SELECT salariu FROM salariati s, department d WHERE s.cod_depart = d.cod_depart AND nume_depart = ‘Contractari’) AND cod_depart<> (SELECT cod_depart FROM department WHERE nume_depart = ‘Contractari’);

Page 43: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

16. Constringerea NOT NULL poate fi adaugata utilizind o comanda ALTER TABLE…. ADD CONSTRAINT? A - (varianta aleasa de mine) 17.O constrangere de tip PRIMARY KEY poate fi declarata numai la nivel de coloana A - (varianta aleasa de mine) 18.Efectele unei comenzi DDL pot fi anulate cu o comanda ROLLBACK F - (varianta aleasa de mine) 19.Care este comanda corecta care se afiseaza numele si prenumele pentru toti angajatii cu varsta necunoscuta? SELECT nume, prenume FROM salariat WHERE varsta=NULL; SELECT nume, prenume FROM salariat WHERE varsta IS NULL; (varianta aleasa de mine) SELECT nume, prenume FROM salariat WHERE varsta=0; SELECT nume, prenume FROM salariat WHERE varsta IS NOT NULL; 20.Care este comanda corecta care afiseaza numele si data angajarii pentru salariatii care au fost angajati dupa angajatul avand codul 10, in ordine descrescatoare a numelui? SELECT nume, data_angajarii FROM salariat WHERE data_angajarii > (SELECT data_angajarii FROM salariat WHERE cod_angajat = 10); SELECT nume, data_angajarii FROM salariat WHERE data_angajarii > (SELECT data_angajarii FROM salariat WHERE cod_angajat = 10) ORDER BY nume; SELECT nume, data_angajarii FROM salariat WHERE data_angajarii > (SELECT data_angajarii FROM salariat WHERE cod_angajat = 10) ORDER BY nume DESC; (varianta aleasa de mine) SELECT nume, data_angajarii FROM salariat WHERE data_angajarii > (SELECT * FROM salariat WHERE cod_angajat = 10) ORDER BY nume DESC;

Page 44: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

WHERE s.cod_ departament=d.cod_departamentGROUP BY cod_departament, nume_departament;19-Care este comanda corecta care sa afiseze daca exista angajati care nu lucreaza indepartamentul ‘Contractari’ si al caror salariu coincide cu salariul unui angajat din departamentul‘Contractari’?SELECT nume, salariu, cod_departFROM salariatiWHERE salariu IN (SELECT salariu FROM salariati s, department dWHERE s.cod_depart = d.cod_depart AND nume_depart <> ‘Contractari’)AND cod_depart= (SELECT cod_depart FROM departmentWHERE nume_depart = ‘Contractari’);SE LECT nume, salariu, cod_departFROM salariatiWHERE salariu IS IN (SELECT salariu FROM salariati s, department dWHERE s.cod_ depart = d.cod_ depart , nume_ depart = ‘Contractari’)AND cod_depart<> (SELECT cod_depart FROM departmentWHERE nume_depart = ‘Contractari’);SE LECT nume, salariu, cod_departFROM salariatiWHERE (salariu) IN (SELECT salariu FROM salariati s, department dWHERE s.cod_ depart = d.cod_ depart AND nume_depart = ‘Contractari’)AND cod_depart<> (SELECT cod_depart FROM departmentWHERE nume_depart = ‘Contractari’);

teste fotografii care nu se regasesc mai sus1.Care este comanda corecta care afiseaza numarul total de carti dintr-o biblioteca pentrufiecare domeniu:SELECT cod_domeniu, COUNT(numar_exemplare)FROM bibliotecaGROUP BY cod_domeniu;SELECT cod_domeniu, SUM(numar_exemplare)FROM bibliotecaGROUP BY cod_domeniu;SELECT cod_domeniu, SUM(cod_carte)FROM bibliotecaGROUP BY cod_domeniu;SELECT cod_domeniu, COUNT(*)FROM bibliotecaGROUP BY cod_domeniu;2.Pentru tabelul salariatcod_depart cod_ang# nume pren salariu cod_functcare este comanda corecta, pentru a modifica salariul la 3000, pentru angajatii care lucreazain departamentul 10 si au salariul <3000?UPDATE salariat SET salariu=3000WHERE cod_depart=10 AND salariu<3000;MODIFY salariat SET salariu=3000WHERE cod_depart=10, salariu<3000;UPDATE salariat SET cod_depart=10 AND salariu<3000WHERE salariu=3000;MODIFY salariat SET salariu=3000WHERE cod_depart=10 AND salariu<3000;3.Care este comanda corecta care listeaza numele ale functiilor care exista in departamentul

MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 45: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

30, fara duplicateSELECT DISTINCT nume_functieFROM salariati s, functii fWHERE cod_functie=cod_functieAND cod_departament=30;SELECT DISTINCT nume_functieFROM salariati s, functii fWHERE s.cod_functie=f.cod_functieAND cod_departament=30;SELECT DISTINCT nume_functieFROM salariati, functii fWHERE s.cod_functie=f.cod_functieAND cod_departament=30;SELECT nume_functieFROM salariati s, functii fWHERE s.cod_functie=f.cod_functieAND cod_departament=30;4.Care este comanda corecta care determina micsorarea salariilro cu 10%, cu rotunjire la 2zecimale, a angajatilor care sunt titulariUPDATE salariatSET salariu=ROUND(salariu*0.9,2);UPDATE salariatSET salariu=ROUND(salariu*1,1)WHERE titular='N';UPDATE salariatSET salariu=ROUND(salariu*0.9,2)WHERE titular='N';UPDATE salariatSET salariu=ROUND(salariu*0.1,2)WHERE titular='Y';5.O constrangere de tip PRIMARY KEY poate fi declarata numai la nivel de coloanaA / F6.Efectele unei comenzi DDL pot fi anulate cu o comanda ROLLBACKA / F7.Efectele unei comenzi DML pot fi anulate cu o comanda ROLLBACKA / F8.Care este comanda corecta care se afiseaza numele si prenumele pentru toti angajatii cuvarsta necunoscuta?SELECT nume, prenumeFROM salariatWHERE varsta=NULL;SELECT nume, prenumeFROM salariatWHERE varsta IS NULL;SELECT nume, prenumeFROM salariatWHERE varsta=0;SELECT nume, prenumeFROM salariatWHERE varsta IS NOT NULL;9.Care este comanda corecta care determina micsorarea salariilro cu 10%, cu rotunjire la 2zecimale, a angajatilor care NU sunt titulari

MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Typewritten Text
A
MUGUR
Typewritten Text
F
MUGUR
Typewritten Text
A
MUGUR
Rectangle
Page 46: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

UPDATE salariatSET salariu=ROUND(salariu*0.9,2);UPDATE salariatSET salariu=ROUND(salariu*1,1)WHERE titular='N';UPDATE salariatSET salariu=ROUND(salariu*0.9,2)WHERE titular="N";UPDATE salariatSET salariu=ROUND(salariu*0.1,2)WHERE titular='Y';10.Pot fi eliminate mai multe coloane dintr-un tabel folosind o singura comanda ALTERTABLE ... DROP COLUMNA / F11.Care este comanda corecta care afiseaza numele si data angajarii pentru salariatii care aufost angajati dupa angajatul avand codul 10, in ordine descrescatoare a numelui?SELECT nume, data_angajariiFROM salariatWHERE data_angajarii >(SELECT data_angajarii FROM salariat WHERE cod_angajat = 10);SELECT nume, data_angajariiFROM salariatWHERE data_angajarii >(SELECT data_angajarii FROM salariat WHERE cod_angajat = 10)ORDER BY nume;SELECT nume, data_angajariiFROM salariatWHERE data_angajarii >(SELECT data_angajarii FROM salariat WHERE cod_angajat = 10)ORDER BY nume DESC;SELECT nume, data_angajariiFROM salariatWHERE data_angajarii >(SELECT * FROM salariat WHERE cod_angajat = 10)ORDER BY nume DESC;

MUGUR
Rectangle
MUGUR
Typewritten Text
A
MUGUR
Rectangle
Page 47: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

1. care este numarul total al cartilor imprumutate in 2009? ( secventa de program) a. SELECT COUNT(*) FROM imprumuta WHERE TO_CHAR ( data_imprumutului,'yyyy')=2009; b.SELECT COUNT(*) FROM imprumuta WHERE TO_CHAR ( data_imprumutului,'yy')=2009; c.SELECT COUNT(*) FROM imprumuta WHERE data_imprumutului=2009; 2. care este comanda acre afiseaza-codul departamentelor, numarul de salariati si nr total de angajari( enuntul era foarte lung... e pe scurt) a. SELECT cod_departament,cod_manager,COUNT(*) FROM salariati GROUP BY CUBE(cod_depart, cod_manager); b. SELECT cod_departament,cod_manager,COUNT(*) FROM salariati GROUP BY ROLLUP(cod_depart, cod_manager); c. SELECT cod_departament,cod_manager,COUNT(*) FROM salariati GROUP BY (cod_depart, cod_manager); 3. care este comanda corecta care afiseaza titlul tuturor cartilor imprumutate? a. SELECT titlu FROM carte WHERE nrex=(SELECT COUNT(*) FROM imprumuta WHERE cod_carte=carte.cod_carte AND dataef IS NULL b.SELECT titlu FROM carte WHERE nrex=(SELECT COUNT(*) FROM imprumuta WHERE dataef IS NULL c.SELECT titlu FROM carte WHERE nrex=(SELECT COUNT(*) FROM imprumuta WHERE cod_carte=carte.cod_carte 4. care este comanda care afiseaza corect numele, prenumele artistilor precum si titlurileoprelor lor, deasemenea artistii fara opere expuse si titlurile operelor al caror autor este necunoscut a.SeLECT nume, pren , titlu FROM opera o RIGHT OUTER JOIN artist a ON WHERE o.cod_artist= a.cod_artist;

MUGUR
Typewritten Text
C
MUGUR
Typewritten Text
C
MUGUR
Typewritten Text
A
MUGUR
Typewritten Text
B
MUGUR
Rectangle
MUGUR
Rectangle
MUGUR
Rectangle
Page 48: Grile Licenta Si Sem 2 2009 Rezolvate-Baze de Date

b. SeLECT nume, pren , titlu FROM opera o FULL OUTER JOIN artist a ON WHERE o.cod_artist= a.cod_artist; c.SeLECT nume, pren , titlu FROM opera o LEFT OUTER JOIN artist a ON WHERE o.cod_artist= a.cod_artist; 5. care este comanda porin care se modifica salariul si comisionul celui mai prost angajat platit din firma la nivelul angajatului care are codul 100. a. UPDATE angajati SET (salariu,comision)= (SELECT salariu, comision FROM angajati WHERE cod_angjat=100) WHERE salariu = (select min(salariu) FROM angajati); b. UPDATE angajati SET (salariu)= (SELECT salariu, comision FROM angajati WHERE cod_angajat=100) WHERE salariu = (select min(salariu) FROM angajati);

MUGUR
Typewritten Text
A
MUGUR
Rectangle
MUGUR
Rectangle