baze_licenta
MULTIPLE CHOICE
1. O baza de date relationala estea. O colectie de date interrelationate gestionate ca o singura unitateb. Un produs software furnizat de un producator de baze de datec. O structura de date, cum ar fi un tabel, o vizualizare sau un indexd. Definita in acelasi mod de toti producatorii de software
ANS: A PTS: 1
2. Un Obiect al unei baze de date estea. O colectie de inregistrari inrudite, stocate ca o singura unitateb. Un produs software furnizat de un producator de baze de datec. O structura, cum ar fi un tabel, o vizualizare sau un indexd. O colectie de date interrelationate gestionate ca o singuraunitate
ANS: C PTS: 1
3. Care din urmtoarele baze de date nu este un RDBMS (sistem de gestionare a bazelor de date relatioanale)a. Oracle Databaseb. MySQLc. Excel Databased. Microsoft SQL Server
ANS: C PTS: 1
4. Un sistem RDBMS(sistem de gestionare a bazelor de date relatioanale) nu include urmatorul serviciu a. Acceptarea unui limbaj de interogareb. Mecanisme de securitate, pentru a impiedica accesul si modificarea neautorizata a
datelorc. Mutarea datelor in si din fisiere de date, dupa cum este necesard. Generarea diagramelor ERD (Entity Relationship Diagram)
ANS: D PTS: 1
5. Componentele unei baze de date relationale nu includa. Tabeleb. Diagrame ERDc. Restrictiid. Relatii
ANS: B PTS: 1
6. Printre tipurile de restrictii care pot fi folosite in bazele de date relationale, nu se numaraa. NOT NULLb. Relatiic. CHECK
d. Cheie primarae. Unicitate
ANS: B PTS: 1
7. Normalizarea nu rezolva a. Anomalia de stergereb. Anomalia de actualizarec. Anomalia de inserared. Anomalia de creare
ANS: D PTS: 1
8. Un identificator unic (cheie primara)a. Poate fi compus numai dintr-un singur atributb. Poate fi compus din atribute concatenatec. Poate fi compus din atribute cu valoarea NULLd. Poate fi compus din zero, unul sau mai multe atribute
ANS: B PTS: 1
9. Prima forma normala rezolva anomaliile cauzate dea. Grupurile repetitive si atributele multivaloareb. Dependentele partiale de cheia primarac. Dependentele tranzitived. Relatiile de tip unu-la-mai-multi
ANS: A PTS: 1
10. A doua forma normala rezolva anomaliile cauzate dea. Grupurile repetitiveb. Dependentele partiale de cheia primarac. Grupurile repetitive si atributele multi valoared. Dependentele tranzitive
ANS: B PTS: 1
11. A treia forma normala rezolva anomaliile cauzate dea. Dependentele partiale de cheia primarab. Grupurile repetitivec. Dependentele tranzitived. Atributele multivaloare
ANS: C PTS: 1
12. Problemele de dependen tranzitiva. Sunt rezolvate de a doua form normalb. Sunt rezolvate de prima form normalc. Apar atunci cnd un atribut non-cheie depinde doar de o parte a cheii primared. Sunt rezolvate de a treia form normal
ANS: D PTS: 1
13. SQL estea. Un limbaj proceduralb. Un limbaj neproceduralc. Un limbaj orientat spre obiected. Un limbaj grafic, folosit pentru definirea diagramelor ER si a diagramelor
conceptuale
ANS: B PTS: 1
14. Un model de date reprezinta o colectie integrata de concepte care nu descriua. dateb. relatii dintre datec. date despre echipa realizatoare a modeluluid. constrngeri existente asupra datelor sistemului real analizat.
ANS: C PTS: 1
15. Nu este caracteristica a modelului relational:a. prezenta tuplurilor identiceb. articolele unui domeniu sunt omogenec. 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
ANS: A PTS: 1
16. Modelul relational nu are ca regula de integritate structuralaa. Unicitatea cheii. Cheia primara trebuie sa fie unica si minimala.b. Integritatea entitatii. Atributele cheii primare trebuie sa fie diferite de valoarea
null.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.
ANS: C PTS: 1
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 aditionalec. chei externed. entitate independenta
ANS: B PTS: 1
18. Care nu este un concept utilizat pentru a descrie formal - uzual - fizic elementele de baza ale organizarii datelor a. relatie - tablou- fisierb. tuplu - linie- inregistrare
c. atribut - coloana - campd. domeniu - zona- functie
ANS: D PTS: 1
19. Instructiunile SQL nu fac parte din categoriaa. 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)
ANS: C PTS: 1
20. Limbajul de definire a datelor (DDL - Data Definition Language) nu include urmatoarea instructiunea. DELETEb. CREATEc. ALTERd. DROP
ANS: A PTS: 1
21. Limbajul de manipulare a datelor (DML Data Manipulation Language) nu include instructiunieaa. INSERTb. UPDATEc. DELETEd. ALTER
ANS: D PTS: 1
22. Tipurile de date temporale standard nu includa. DATEb. DATETIMEc. TIMEd. TIMESTAMP
ANS: B PTS: 1
23. Valorile NULLa. Sunt egale cu alte valori NULLb. Este acelasi lucru ca si spatiile libere c. Sunt intotdeauna permise in mod prestabilitd. Pot fi folosite pentru reprezentarea datelor care lipsesc sau nu sunt cunoscute
ANS: D PTS: 1
24. Definitia unei coloane din instructiunea CREATE TABLE nu poate includea. Numele tabelului b. O clauza DEFAULTc. O clauza NULL sau NOT NULLd. Numele coloanei
ANS: A PTS: 1
25. Sintaxa corecta pentru o restrictie NOT NULL estea. nume_coloana REFERENCES NOT NULLb. nume_coloana tip_de_DATA IS NOT NULLc. nume_coloana tip_de_DATA NOT NULLd. DEFAULT [NULL | NOT NULL]
ANS: C PTS: 1
26. Sintaxa corecta pentru o restrictie UNIQUE estea. [CONSTRAINT nume_restrictie] UNIQUE {nume_coloana[,nume coloana...])b. [CONSTRAINT nume_restrictie] UNIQUE (nume_tabel)c. nume_coloana REFERENCES UNIQUE nume_tabeld. DEFAULT UNIQUE (nume_coloana)
ANS: A PTS: 1
27. Sintaxa corecta pentru o restrictie referentiala asupra unei coloane estea. CONSTRAINT nume_restrictie] REFERENCES nume_tabelb. nume_coloana REFERENCES nume_tabelc. FOREIGN KEY nume_coloana REFERENCES nume_tabel (nume_coloana)d. REFERENCES nume_tabel (nume_coloana)
ANS: D PTS: 1
28. Utilizarile valide ale instructiunii ALTER TABLE nu includea. Adaugarea coloanelorb. Eliminarea unei chei primarec. Redenumirea unui tabeld. Adaugarea unei restrictii
ANS: C PTS: 1
29. Nu este functie SQL standard pentru siruri de caractere a. UPPERb. LENGTH sau LENc. LOWERd. LIKE
ANS: D PTS: 1
30. Operatorul UNIONa. Include randurile duplicate in setul de rezultateb. Combina seturile de rezultate a doua interogari intr-un singur set de rezultate si
elimina randurile duplicate din setul de rezultatec. Combina doua interogari intr-o singura interogare de tip joind. Este numit JOIN in unele implementari SQL
ANS: B PTS: 1
31. O instructiune SQL care contine o functie de agregarea. Nu poate include, in acelasi timp, o clauza GROUP BY si o clauza ORDER BY
b. Trebuie sa includa o clauza GROUP BYc. Trebuie sa includa o clauza ORDER BYd. Poate contine si coloane obisnuite si coloane calculate
ANS: D PTS: 1
32. 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 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
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);
ANS: A PTS: 1
33. 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?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)
ANS: C PTS: 1
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 (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));
ANS: B PTS: 1
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), 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));
ANS: C PTS: 1
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 (
codcCHAR(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 ( codcCHAR(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 ( codcCHAR(5) REFERENCES CARTE (codc), codcit CHAR(5) REFERENCES CITITOR(codcit), dataim DATE DEFAULT SYSDATE, datares DATE, dataef DATE, PRIMARY KEY (codel, codec, dataim));
ANS: A PTS: 1
37. Sa se creeze tabelul CARTE_INFO(codc, titlu, autor) prin copiere din tabelul
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;
ANS: C PTS: 1
38. Pentru a introduce in tabelul SALARIATCOD
_ANG NUME PRENUMEDATA_AN
G 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);
ANS: C PTS: 1
39. Ce comanda creeaza tabelul SALARIAT_1 care s aiba aceeiasi structura cu tabelul SALARIATCOD _ANG NUME PRENUME DATA_ANG
VARSTA EMAIL SALARIU
not null numeric de 5
sir decaractere 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?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;
ANS: B PTS: 1
40. Ce comanda sterge din tabelul SALARIATCOD
_ANG NUME PRENUME DATA_ANG VARSTA EMAIL SALARIU
not null numeric de 5
sir decaractere 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 SALARIATDROP nume, salariu;
b. ALTER TABLE SALARIATDROP COLUMN (nume, salariu);
c. ALTER TABLE SALARIATDROP (nume, salariu);
d. ALTER TABLE SALARIATDROP COLUMN nume, COLUMN salariu;
ANS: C PTS: 1
41. Ce comanda creeaza corect tabelul SALARIAT, specificand constrangerile?COD
_ANG NUME PRENUME DATA_ANG VARSTA EMAIL SALARIU
cheie primara numeric de 5
not nullsir decaractere de maxim 20
sir caractere de maxim 20
date, valoareimplicita datacurent
numeric de 2
unicsir decaractere 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));
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));
ANS: A PTS: 1
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 IMPRUMUTAADD PRIMARY KEY cod_cititor, PRIMARY KEY cod_carte, PRIMARY KEY data_imprumut;
b. ALTER TABLE IMPRUMUTAADD PRIMARY KEY cod_cititor, cod_carte, data_imprumut;
c. ALTER TABLE IMPRUMUTAADD CONSTRAINT cp PRIMARY KEY (cod_cititor, cod_carte, data_imprumut);
d. ALTER TABLE IMPRUMUTAADD PRIMARY KEY (cod_cititor, cod_carte, data_imprumut);
ANS: C PTS: 1
43. Pentru tabelul Salariatcod_depart cod_ang# nume pren salariu cod_functcare este comanda corecta, pentru a modifica salariu la 3000, pentru angajatii care lucreaza in departamentul 10 si au salariul
FROM CARTE WHERE autor = BARBU)WHERE nrex < (SELECT AVG(nrex) FROM CARTE);
b. MODIFY CARTESET pret = (SELECT SUM(pret) FROM carte WHERE autor = BARBU)WHERE nrex < (SELECT AVG(nrex) FROM CARTE);
c. UPDATE CARTEpret = ( 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);
ANS: A PTS: 1
47. Pentru tabelele:PROFcod_prof# cod_fac nume pren salariu cod_fuctTOTALURIcod_fac# nr_prof total_salcare 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 TOTALURISELECT COD_FAC, COUNT(*) AS NR_PROF, SUM(SALARIU) AS TOTAL_SALFROM PROF ;
c. INSERT INTO TOTALURISELECT COD_FAC, COUNT(*) AS NR_PROF, SUM(SALARIU) AS TOTAL_SALFROM PROF GROUP BY COD_FAC;
ANS: C PTS: 1
48. Pentru tabelul PROFcod_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;
ANS: B PTS: 1
49. Pentru tabelul PROFcod_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_FUNCTC;c. DROP FROM PROF WHERE COD_FUNCT=C;d. DROP PROF WHERE COD_FUNCT=C;
ANS: A PTS: 1
50. Pentru tabelul:FACcod_fac# denumire adresacare 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;
ANS: C PTS: 1
51. Pentru tabelul PROFcod_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 zecimalea. SELECT COD_FAC,
ROUND (AVG (SALARIU), 2) AS medie_salariuFROM PROFORDER BY COD_FAC;
b. SELECT COD_FAC,ROUND (AVG (SALARIU, 2) AS medie_salariuFROM PROFGROUP BY COD_FAC;
c. SELECT COD_FAC,ROUND (AVG (SALARIU), 2) AS medie_salariuFROM PROFGROUP BY COD_FAC;
d. SELECT FROM PROF COD_FAC,
ROUND AVG (SALARIU), 2 AS medie_salariuGROUP BY COD_FAC;
ANS: C PTS: 1
52. Pentru tabelul PROFcod_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;
ANS: A PTS: 1
53. Pentru tabelul PROFcod_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 SALARIU1200) AND (COD_FAC =3 AND SALARIU1200) OR (COD_FAC =3 AND SALARIU1200 OR (COD_FAC =3 OR SALARIU
a. SELECT COUNT(salariu) FROM PROFWHERE SALARIU =0;
b. SELECT COUNT(*) FROM PROFWHERE SALARIU =NULL;
c. SELECT COUNT(*) FROM PROFWHERE SALARIU IS NOT NULL;
d. SELECT COUNT(*) FROM PROFWHERE SALARIU IS NULL;
ANS: D PTS: 1
55. O uniune (join) fara o clauz WHERE sau o clauza JOINa. Nu returneaza nici un rand din setul de rezultateb. Reprezinta o uniune interna (inner join)c. Are ca rezultat un produs carteziand. Reprezinta o uniune externa(outer join)
ANS: C PTS: 1
56. O uniune externa (outer join) nu
a. Poate fi scrisa in Oracle SQL folosind un simbol (+) in clauza FROMb. Poate fi scrisa in Oracle SQL folosind un simbol (+) in clauza WHEREc. Returneaza toate randurile din unul sau din ambele tabeled. Poate fi catre stanga, catre dreapta sau completa
ANS: A PTS: 1
57. Pentru tabelele:PROFcod_prof# cod_fac nume pren salariu
FACcod_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, PROFWHERE A.COD_FAC =B.COD_FACORDER BY FAC.DENUMIRE;
b. SELECT NUME, PREN, DENUMIREFROM FAC, PROFWHERE FAC.COD_FAC=PROF.COD_FACORDER BY FAC.DENUMIRE;
c. SELECT NUME, PREN, DENUMIREFROM FAC, PROFWHERE FAC.COD_FAC=PROF.COD_FAC;
ANS: B PTS: 1
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;
ANS: C PTS: 1
59. Care este secventa corecta care s afieze numrul crilor mprumutate cel puin de dou ori (pentru fiecare carte mprumutat mai mult dect o dat s se obin numrul de cte ori a fost mprumutat).
a. SELECT COUNT(COUNT(codel))FROM imprumutaGROUP BY codcarteHAVING COUNT(*)>1;
b. SELECT COUNT(codel)FROM imprumutaGROUP BY codcarteHAVING COUNT(*)>1;
c. SELECT COUNT(COUNT(codel))FROM imprumutaWHERE COUNT(*)>1;
d. SELECT COUNT(codel)FROM imprumutaORDERBY BY codcarteHAVING COUNT(*)>1;
ANS: A PTS: 1
60. Care este secventa corecta care afiseaza pentru fiecare domeniu de carte, numrul crilor din domeniu, media preurilor i numrul total de exemplare
a. SELECT codcarte, COUNT(*), AVG(pret) FROM CARTE 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;
ANS: C PTS: 1
61. Pentru tabelele:PROFcod_prof# cod_fac nume pren salariu
FACcod_fac# denumire adresacare 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, DENUMIREFROM FAC PROF LEFT OUTER JOIN ON A.COD_FAC = B.COD_FAC;
b. SELECT NUME, PREN, DENUMIREFROM FAC LEFT OUTER JOIN PROF ON A.COD_FAC = B.COD_FAC;
c. SELECT NUME, PREN, DENUMIREFROM FAC A LEFT OUTER JOIN PROF B ON A.COD_FAC = B.COD_FAC;
ANS: C PTS: 1
62. Pentru tabelele:PROFcod_prof# cod_fac nume pren salariu cod_functFUNCTIIcod_funct# nume_funct care este secventa corecta pentru o subinterogare necorelata, care sa afiseze toate functiile pentru care nu exista profesorii incadratia. SELECT cod_funct, nume_funct
FROM functiiWHERE cod_funct NOT IN(SELECT DISTINCT cod_funct FROM prof);
b. SELECT cod_funct, nume_functFROM functii WHERE cod_funct NOT INSELECT DISTINCT cod_funct FROM prof;
c. SELECT cod_funct, nume_functFROM functiiWHERE cod_funct IN(SELECT cod_funct FROM prof);
ANS: A PTS: 1
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
SELECT COD_FAC, COUNT(*) , SUM(SALARIU) FROM PROF ORDER BY COD_FAC;
b. INSERT INTO TOTALURISELECT COD_FAC, COUNT(*) , SUM(SALARIU) FROM PROF ;
c. INSERT INTO TOTALURISELECT COD_FAC, COUNT(*) , SUM(SALARIU) FROM PROF GROUP BY COD_FAC;
d. INSERT INTO TOTALURI SELECT COD_FAC, SUM(COD_PROF), SUM(SALARIU) FROM PROFGROUP BY COD_FAC;
ANS: C PTS: 1
64. S se obin titlurile i preurile crilor mai scumpe dect cartea avnd titlul Baze de date, al crui autor este Popescu (self join).
a. SELECT x.titlu, x.pretFROM carte x, yWHERE x.pret < y.pretAND y.titlu = Baze de dateAND y.autor = Popescu;
b. SELECT x.titlu, x.pretFROM carte x, carte yWHERE x.pret > y.pretAND y.titlu = Baze de dateAND y.autor = Popescu;
c. SELECT x.titlu, x.pretFROM carte x, carte yWHERE x.pret > y.pretAND titlu = Baze de dateAND autor = Popescu;
d. SELECT x.titlu, x.pretFROM carte x, carte yWHERE x.pret > y.pretAND y.titlu = Baze de date, y.autor = Popescu;
ANS: B PTS: 1
65. Pentru tabelele PROFESORI(codp, nume, pren, salariu)COPII (codp, nume_c, virsta)care este secventa corecta pentru a afisa profesorii cu copiia. 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);c. SELECT a.nume, a.pren
FROM PROFESORI A WHERE a.codp IN COPII;
d. SELECT a.nume, a.prenFROM PROFESORI A WHERE a.codp IN DISTINCT codp
FROM COPII;
ANS: A PTS: 1
66. Pentru tabelele PROFESORI(codp, nume, pren, salariu) COPII (codp, nume_c, virsta)care este secventa corecta pentru a afisa profesorii fara copiia. SELECT a.nume, a.pren
FROM PROFESORI AWHERE codp NOT IN (SELECT codp FROM COPII);
b. SELECT a.nume, a.prenFROM PROFESORI AWHERE 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.prenFROM PROFESORI AWHERE a.codp IS NOT (SELECT DISTINCT codpFROM COPII);
ANS: B PTS: 1
67. Se considera pentru actionarii unei firme, urmatoarele tabeleACTIONARI(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 salea. SELECT a.seriain, a.seriasf, b.nume
FROM actiuni a, actionari bWHERE a.codact=b.codact AND b.nume=&x;
b. SELECT a.seriain, a.seriasf, b.numeFROM actiuni , actionari WHERE a.codact=b.codact AND nume=&x;
c. SELECT a.seriain, a.seriasf, b.numeFROM actiuni a, actionari bWHERE a.codact=b.codact ;
d. SELECT a.seriain, a.seriasf, b.numeFROM actiuni a, actionari bWHERE a.codact=b.codact OR b.nume=&x;
ANS: A PTS: 1
68. Se considera pentru actionarii unei firme, tabelulACTIUNI (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 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;
ANS: D PTS: 1
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_salariatAND NUME='ENE' AND PREN='ANA;
b. SELECT Sum(SALARIU) AS SALARIU_CUMULATFROM salariat, are_functia WHERE NUME='ENE' , PREN='ANA;
c. SELECT Sum(SALARIU) AS SALARIU_CUMULATFROM salariat s, are_functia aWHERE s.cod_salariat=a.cod_salariatAND NUME='ENE' AND PREN='ANA;
ANS: C PTS: 1
70. Pentru tabelele:PROFcod_prof# cod_fac nume pren salariu cod_functFACcod_fac# denumire adresacare este secventa corecta pentru o subinterogare corelata, care sa afiseze toate facultatile pentru care suma salariile profesorilor este mai mare 10000a. 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 AWHERE 10000< ( SELECT sum(salariu) FROM PROF B WHERE A.COD_FAC=B.COD_FAC);
c. SELECT DISTINCT DENUMIREFROM FAC AWHERE 10000< SELECT sum(salariu) FROM PROF B WHERE A.COD_FAC=B.COD_FAC;
ANS: B PTS: 1
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 WHERE sef.cod_salariat= angajat.cod_managerORDER BY sef.nume;
b. SELECT DISTINCT sef.nume, angajat.cod_managerFROM salariati sef, salariati angajat WHERE cod_salariat= cod_managerORDER BY sef.nume;
c. SELECT DISTINCT nume, cod_managerFROM salariati sef, salariati angajat WHERE sef.cod_salariat= angajat.cod_manager;
d. ELECT DISTINCT nume, cod_managerFROM salariati sef, salariati angajat WHERE cod_salariat= cod_managerORDER BY sef.nume;
ANS: A PTS: 1
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 salariatiWHERE salariu IN (SELECT salariu FROM salariati , department dWHERE 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 salariatiWHERE 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 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 department WHERE nume_depart = Contractari);
ANS: C PTS: 1
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 imprumutaWHERE data_restituirii NOT NULLGROUP BY cod_cititor;
b. SELECT cod_cititor, COUNT(*)FROM imprumutaWHERE data_restituirii IS NOT NULL;
c. SELECT cod_cititor, COUNT(*)FROM imprumutaGROUP BY cod_cititor;
d. SELECT cod_cititor, COUNT(*)FROM imprumutaWHERE data_restituirii IS NOT NULLGROUP BY cod_cititor;
ANS: D PTS: 1
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 salariatSET salariu=ROUND(salariu+salariu*0.1)WHERE titular =Y;
ANS: C PTS: 1
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, salariuFROM 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' );
ANS: D PTS: 1
76. Care este comanda corecta care afiseaza numele cititorilor care au carti nerestituite?a. SELECT nume_cititor
FROM imprumutaWHERE data_restituirii = NULL;
b. SELECT nume_cititorFROM imprumutaWHERE data_restituirii IS NOT NULL;
c. SELECT nume_cititorFROM imprumutaWHERE data_restituirii IS NULL;
d. SELECT nume_cititorFROM imprumutaWHERE data_restituirii > SYSDATE;
ANS: C PTS: 1
77. Care este comanda corecta care sterge valoarea coloanei salariu pentru angajatii care sunt angajati cu contract de colaborare?
a. DELETE salariu FROM salariatiWHERE contract=colaborare;
b. UPDATE salariatiSET salariu IS nullWHERE contract=colaborare;
c. DROP salariu FROM salariatiWHERE contract=colaborare;
d. UPDATE salariatiSET salariu=nullWHERE contract=colaborare;
ANS: D PTS: 1
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 dGROUP BY cod_departament, nume_departament;
b. SELECT cod_departament, nume_departament, SUM(salariu)FROM salariati s, departamente dWHERE s.cod_departament=d.cod_departamentGROUP BY cod_departament;
c. SELECT cod_departament, nume_departament, SUM(salariu)FROM salariati s, departamente dWHERE s.cod_departament=d.cod_departamentGROUP BY cod_departament, nume_departament;
d. SELECT cod_departament, nume_departament, SUM(salariu)FROM salariati, departamente WHERE s.cod_departament=d.cod_departamentGROUP BY cod_departament, nume_departament;
ANS: C PTS: 1
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 salariatiWHERE salariu >AVG(salariu);
b. SELECT numeFROM salariatiWHERE salariu > (SELECT AVG(salariu) FROM salariati)ORDER BY salariu;
c. SELECT numeFROM salariatiWHERE salariu > (SELECT AVG(salariu) FROM salariati ORDER BY salariu);
d. SELECT numeFROM salariatiWHERE salariu > (SELECT AVG(salariu) FROM salariati)ORDER BY 1;
ANS: B PTS: 1
80. Care este comanda corecta care afiseaza toate functiile pe care nu lucreaza angajati?a. SELECT cod_functie
FROM functiiWHERE cod_functie IN (SELECT cod_functie FROM salariati WHERE cod_functie IS NOT NULL);
b. SELECT cod_functieFROM functiiWHERE cod_functie NOT IN (SELECT cod_functie FROM salariati WHERE cod_functie IS NULL);
c. SELECT cod_functieFROM functiiWHERE cod_functie NOT IN (SELECT cod_functie FROM salariati);
d. SELECT cod_functieFROM functiiWHERE cod_functie NOT IN (SELECT cod_functie FROM salariati WHERE cod_functie IS NOT NULL);
ANS: D PTS: 1