Sunteți pe pagina 1din 16

Baze de Date 2010

MULTIPLE CHOICE 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 ANS: A 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 singura unitate ANS: C 3. Care dintre urmatoarele baze de date nu este un SGBD (sistem de gestiune a bazelor de date relatioanale) a. Oracle Database b. MySQL c. Excel Database d. Microsoft SQL Server ANS: C 4. Componentele unei baze de date relationale nu includ a. Tabele b. Diagrame ERD c. Restrictii d. Relatii ANS: B 5. Normalizarea nu rezolva a. Anomalia de stergere b. Anomalia de actualizare c. Anomalia de inserare d. Anomalia de creare ANS: D 6. O cheie primara a. Poate fi compusa numai dintr-un singur atribut b. Poate fi compusa din mai multe atribute c. Poate fi compusa dintr-un singur atribut care are si valori NULL d. Poate fi compusa din zero, unul sau mai multe atribute ANS: B 7. Prima forma normala rezolva anomaliile cauzate de

a. b. c. d.

Grupurile repetitive si atributele multivaloare Dependentele partiale de cheia primara Dependentele tranzitive Relatiile de tip unu-la-mai-multi

ANS: A 8. A doua forma normala rezolva anomaliile cauzate de a. Grupurile repetitive b. Dependentele partiale de cheia primara c. Grupurile repetitive si atributele multivaloare d. Dependentele tranzitive ANS: B 9. A treia forma normala rezolva anomaliile cauzate de a. Dependentele partiale de cheia primara b. Grupurile repetitive c. Dependentele tranzitive d. Atributele multivaloare ANS: C 10. 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 ANS: B 11. Un model de date reprezinta o colectie integrata de concepte care nu descriu a. date b. relatii dintre date c. date despre echipa care a realizat modelul d. constrangeri existente asupra datelor sistemului real analizat. ANS: C 12. 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. c. Integritatea referirii. O cheie externa trebuie sa corespunda unei valori a cheii primare asociate. d. Integritatea referirii. O cheie externa trebuie sa fie null sau sa corespunda unei valori a cheii primare asociate. ANS: D 13. 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

ANS: B 14. 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 ANS: D 15. 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) ANS: C 16. Limbajul de definire a datelor (DDL - Data Definition Language) nu include urmatoarea instructiune a. DELETE b. CREATE c. ALTER d. DROP ANS: A 17. Limbajul de manipulare a datelor (DML Data Manipulation Language) nu include instructiunea a. INSERT b. UPDATE c. DELETE d. ALTER ANS: D 18. Valorile NULL a. Sunt egale cu alte valori NULL b. Sunt 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 ANS: D 19. Definitia unei coloane din instructiunea CREATE TABLE nu poate include a. Numele tabelului b. O clauza DEFAULT c. O clauza NULL sau NOT NULL d. Numele coloanei ANS: A 20. Sintaxa corecta pentru o restrictie NOT NULL este a. nume_coloana REFERENCES NOT NULL b. nume_coloana tip_de_date IS NOT NULL c. nume_coloana tip_de_date NOT NULL

d. DEFAULT [NULL | NOT NULL] ANS: C 21. 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) ANS: A 22. Sintaxa corecta pentru o restrictie referentiala declarata la nivel de coloana 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) ANS: D 23. Utilizarile valide ale instructiunii ALTER TABLE nu includ a. Adaugarea coloanelor b. Eliminarea unei chei primare c. Redenumirea unui tabel d. Adaugarea unei restrictii ANS: C 24. Care dintre urmatoarele afirmatii nu este adevarata? a. O constrangere poate fi adaugata unui tabel ulterior crearii acestuia. b. Intr-o comanda CREATE TABLE o constrangere de cheie primara compusa din doua coloane poate fi declarata doar la nivel de tabel. c. Intr-o comanda CREATE TABLE o constrangere de tip NOT NULL poate fi declarata doar la nivel de tabel. d. O constrangere poate fi dezactivata folosind o comanda ALTER TABLE. ANS: C 25. Care dintre urmatoarele afirmatii nu este adevarata? a. O comanda DELETE asupra unei vizualizari simple (nu contine functii si join-uri) se propaga asupra tabelului de baza daca nu incalca restrictiile definite asupra acestuia. b. O comanda INSERT asupra unei vizualizari se propaga intotdeauna asupra tabelelor de baza. c. Actualizarile realizate asupra tabelelor de baza ale unui vizualizari se reflecta intotdeauna in vizualizare. d. Vizualizarile nu stocheaza date. ANS: B 26. Nu este functie SQL standard pentru sirurile de caractere a. UPPER b. LENGTH sau LEN c. LOWER d. LIKE ANS: D

27. 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 ANS: B 28. 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 coloana? (Tabelele DOMENIU_CARTE si CARTE sunt in relatia 1:M). 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 29. 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). 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),

c.

pret NUMBER(8,2), nrex NUMBER(3), coddom CHAR(5) NOT NULL REFERENCES DOMENIU(coddom)); 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 30. Sa se creeze tabelul asociativ imprumuta, a carui structura este data mai jos(codc, codcit si dataim fac parte din cheia primara). Sa se precizeze legatura cu tabelele carte si cititor. a. IMPRUMUTA ( codc CHAR(5), codcit CHAR(5), dataim DATE DEFAULT SYSDATE, datares DATE, dataef DATE, PRIMARY KEY (codc, codcit, 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 PRIMARY KEY, datares DATE, dataef DATE, PRIMARY KEY (codc, codcit); ANS: A 31. 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

b.

c.

(codc CHAR(5), titlu VARCHAR2(30), autor VARCHAR2(30), FROM CARTE PRIMARY KEY (codc), FOREIGN KEY (coddom) REFERENCES DOMENIU (coddom)); CREATE TABLE CARTE_INFO (codc CHAR(5) PRIMARY KEY, titlu VARCHAR2(30), autor VARCHAR2(30), FROM CARTE WHERE coddom = I; CREATE TABLE CARTE_INFO AS SELECT codc, titlu, autor FROM CARTE WHERE coddom = I;

ANS: C 32. Pentru a introduce in tabelul SALARIAT


COD _ANG NUME sir caractere de maxim 20 PRENUME DATA_ANG VARSTA numeric de 2 data, valoare sir caractere implicita data de maxim 20 curenta SALARIU valoare implicita 0, numeric de 10 cu 2 zecimale

not null
numeric de 5

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); 33. Ce comanda sterge din tabelul SALARIAT
COD _ANG NUME PRENUM E DATA_ANG VARSTA EMAIL SALARIU valoare sir implicita caractere de 0 dimensiune numar de fixa, de 30 10 cu 2 zecimale

not null
numeric de 5

sir de caractere de maxim 20

sir caractere date, valoare numeric de maxim implicita data de 2 20 curenta

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;

34. 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 CONSTRAINT PRIMARY KEY (cod_cititor, cod_carte, data_imprumut); 35. Pentru tabelul Salariat cod_depart cod_ang#

nume

pren

salariu

cod_funct

care este comanda corecta, pentru a modifica salariul 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; 36. Sa se insereze in tabelul CARTE toate cartile din tabelul CARTE_INFO, presupunand ca 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 AS SELECT * FROM CARTE_INFO; d. INSERT INTO CARTE SELECT * FROM CARTE_INFO; 37. Pentru tabelul PROF cod_prof# cod_fac pren salariu care este secventa corecta pentru a mari cu 10% salariile 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;

38. 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; 39. 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 100, 'LIMBI', 'ION GHICA' FROM DUAL; 40. Pentru tabelul PROF cod_prof# cod_fac nume pren salariu care secventa este corecta pentru a afisa cati 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; 41. O uniune (join) fara o clauza 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) 42. 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

43. 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 afiseaza toti profesorii si denumirile facultatilor la care predau, in ordine crescatoare a denumirilor? a. SELECT NUME, PREN, DENUMIRE FROM FAC, PROF WHERE A.COD_FAC=B.COD_FAC ORDER BY FAC.DENUMIRE; 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; 44. Care este secventa corecta care afiseaza pentru fiecare domeniu de carte, numarul cartilor din domeniu, media preturilor si numarul total de exemplare? a. SELECT codcarte, COUNT(*), AVG(pret) FROM CARTE GROUP BY codcarte; b. SELECT coddomeniu, AVG(pret), SUM(nrex) FROM CARTE GROUP BY codcarte; c. SELECT coddomeniu, COUNT(*), AVG(pret), SUM(nrex) FROM CARTE GROUP BY coddomeniu; d. SELECT COUNT(*), AVG(pret), SUM(nrex) FROM CARTE ORDER BY codcarte; 45. 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 A 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; 46. Pentru tabelele PROFESORI(codp, nume, pren, salariu) COPII (codc, codp, nume_c, virsta)

care este secventa corecta pentru a afisa profesorii fara copii? a. SELECT a.nume, a.pren FROM PROFESORI A WHERE a.codp IS NOT (SELECT DISTINCT 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; 47. 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 Pop Dan, 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; 48. 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; 49. 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; 50. 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; 51. 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 (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 WHERE cod_functie <> NULL); d. SELECT cod_functie FROM functii WHERE cod_functie NOT IN (SELECT cod_functie FROM salariati WHERE cod_functie IS NOT NULL); 52. Care dintre urmatoarele comenzi intoarce numarul zilei din luna carespunzator datei curente? a. SELECT TO_CHAR(SYSDATE,DDD) FROM dual; b. SELECT TO_CHAR(SYSDATE,DAY) FROM dual; c. SELECT TO_CHAR(SYSDATE,D) FROM dual; d. SELECT TO_CHAR(SYSDATE,DD) FROM dual;

53. Care este comanda care nu elimina simultan spatiile de la inceputul si sfarsitul coloanei nume? a. SELECT TRIM(nume) FROM salariat; b. SELECT RTRIM(LTRIM(nume)) FROM salariat; c. SELECT LTRIM(RTRIM(nume)) FROM salariat; d. SELECT LTRIM(nume) FROM salariat; 54. Care este comanda corecta care afiseaza codul departamentelor pentru care salariul minim depaseste 5000? a. SELECT cod_departament FROM salariat WHERE MIN(salariu)>5000 GROUP BY cod_departament; b. SELECT cod_departament FROM salariat GROUP BY cod_departament HAVING MIN(salariu)>5000; c. SELECT cod_departament FROM salariat GROUP BY cod_departament MIN(salariu)>5000; 55. Care este comanda corecta care afiseaza: - codurile departamentelor in care lucreaza cel putin un angajat, iar pentru fiecare dintre acestea si pentru fiecare manager care lucreaza in departamentul respectiv numarul de salariati; - numarul de salariati pentru fiecare departament indiferent de manager; - numarul total de angajati din companie? a. SELECT cod_depart, cod_manager, COUNT(*) FROM salariati GROUP BY CUBE (cod_depart, cod_manager); b. SELECT cod_depart, cod_manager, COUNT(*) FROM salariati GROUP BY cod_depart, cod_manager; c. SELECT cod_depart, cod_manager, COUNT(*) FROM salariati GROUP BY ROLLUP (cod_depart, cod_manager); 56. Care este comanda corecta care afiseaza numele salariatilor si numele departamentelor in care lucreaza, inclusiv departamentele in care nu lucreaza salariati? a. SELECT nume_salariat, nume_departament FROM salariati s, departamente d WHERE s.cod_departament = d.cod_departament; b. SELECT nume_salariat, nume_departament FROM salariati s, departamente d WHERE s.cod_departament(+) = d.cod_departament; c. SELECT nume_salariat, nume_departament FROM salariati s, departamente d WHERE s.cod_departament = d.cod_departament(+);

d. SELECT nume_salariat, nume_departament FROM salariati s, departamente d WHERE s.cod_departament(+) = d.cod_departament(+); 57. Care este comanda corecta care listeaza fara duplicate, codul operelor de arta (numeric), codul (numeric) si numele artistilor (sir de caractere)? a. SELECT cod_opera, cod_artist, null nume FROM opera UNION ALL SELECT null, cod_artist, nume FROM artist; b. SELECT cod_opera, cod_artist, TO_CHAR(null) nume FROM opera UNION SELECT TO_NUMBER(null), cod_artist, nume FROM artist; c. SELECT cod_opera, cod_artist, nume FROM opera UNION SELECT cod_artist, nume FROM artist; 58. Care este comanda corecta care afiseaza informatii referitoare la titlurile operelor de arta si firmele la care acestea sunt asigurate? Se vor lua n considerare si operele de arta pentru care nu au fost ncheiate polite de asigurare. a. SELECT titlu, firma FROM opera o , polita WHERE o.cod_opera(+) = p.cod_opera; b. SELECT titlu, firma FROM opera o LEFT OUTER JOIN polita_asig p ON (o.cod_opera = p.cod_opera); c. SELECT titlu, firma FROM opera o RIGHT OUTER JOIN polita_asig p ON (o.cod_opera = p.cod_opera); d. SELECT titlu, firma FROM opera o FULL OUTER JOIN polita_asig p ON (o.cod_opera = p.cod_opera); 59. Care este comanda corecta care afiseaza informatii referitoare la artisti si operele acestora, inclusiv cei care nu au opere expuse n cadrul muzeului? a. SELECT nume, prenume, titlu FROM opera o RIGHT OUTER JOIN artist a ON (o.cod_artist = a.cod_artist); b. SELECT nume, prenume, titlu FROM opera o LEFT OUTER JOIN artist a ON (o.cod_artist = a.cod_artist); c. SELECT nume, prenume, titlu FROM opera o, artist WHERE o.cod_artist = a.cod_artist(+); d. SELECT nume, prenume, titlu FROM opera o FULL OUTER JOIN artist a ON o.cod_artist = a.cod_artist;

60. Care este comanda corecta care afiseaza numele si prenumele artistilor, precum si titlurile operelor create de acestia? Se vor afisa si artistii care nu au opere expuse n cadrul muzeului, precum si titlurile operelor al caror autor este necunoscut. a. SELECT nume, prenume, titlu FROM opera o RIGHT OUTER JOIN artist a ON (o.cod_artist = a.cod_artist); b. SELECT nume, prenume, titlu FROM opera o, artist a WHERE o.cod_artist(+) = a.cod_artist(+); c. SELECT nume, prenume, titlu FROM opera o FULL OUTER JOIN artist a ON (o.cod_artist = a.cod_artist); d. SELECT nume, prenume, titlu FROM opera o LEFT OUTER JOIN artist a ON (o.cod_artist = a.cod_artist); 61. Care este comanda corecta care afiseaza: - valoarea totala a operelor de arta ale unui autor, expuse n cadrul fiecarei galerii; - valoarea totala a operelor din fiecare galerie, indiferent de autor; - valoarea totala a operelor fiecarui autor, indiferent de galerie; - valoarea totala a operelor. a. SELECT cod_galerie, cod_artist, SUM(valoare) FROM opera GROUP BY cod_galerie, cod_artist; b. SELECT cod_galerie, cod_artist, SUM(valoare) FROM opera GROUP BY ROLLUP(cod_galerie, cod_artist); c. SELECT cod_galerie, cod_artist, SUM(valoare) FROM opera GROUP BY CUBE(cod_galerie, cod_artist); 62. Care este comanda corecta care afiseaza: - valoarea totala a operelor de arta ale unui autor, expuse n cadrul fiecarei galerii; - valoarea totala a operelor din fiecare galerie, indiferent de autor; - valoarea totala a operelor. a. SELECT cod_galerie, cod_artist, SUM(valoare) FROM opera GROUP BY cod_galerie, cod_artist; b. SELECT cod_galerie, cod_artist, SUM(valoare) FROM opera GROUP BY ROLLUP(cod_galerie, cod_artist); c. SELECT cod_galerie, cod_artist, SUM(valoare) FROM opera GROUP BY CUBE(cod_galerie, cod_artist); 63. Se da urmatoarea vizualizare CREATE VIEW v_angajati AS SELECT cod_ang, nume, prenume, salariu, data_angajarii FROM angajati; Care dintre urmatoarele comenzi nu este corecta?

a. INSERT INTO v_angajati VALUES (10, Ion, Daniel, 1000,05/12/2009); b. DELETE FROM v_angajati WHERE salariu > 1000; c. UPDATE v_angajati SET salariu = salariu + 500 WHERE cod_angajat = 10; d. ALTER VIEW v_angajati ADD COLUMN email VARCHAR2(20); 64. Se da urmatoarea vizualizare CREATE VIEW v_angajati AS SELECT cod_ang, nume, prenume, salariu, data_angajarii FROM angajati WITH READ ONLY; Care dintre urmatoarele comenzi este corecta? a. INSERT INTO v_angajati VALUES (10, Ion, Daniel, 1000,05/12/2009); b. DELETE FROM v_angajati WHERE salariu > 1000; c. SELECT * FROM v_angajati; d. UPDATE v_angajati SET salariu = salariu + 500 WHERE cod_angajat = 10; 65. Se da urmatoarea vizualizare CREATE VIEW v_angajati AS SELECT cod_ang, nume, prenume, salariu, cod_departament FROM angajati WHERE cod_departament = 30 WITH CHECK OPTION; Care dintre urmatoarele comenzi este corecta? a. INSERT INTO v_angajati VALUES (10, Ion, Daniel, 1000, 505); b. SELECT * FROM v_angajati WHERE salariu > 505; c. UPDATE v_angajati SET cod_departament= 505 WHERE cod_departament = 30;

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