+ All Categories
Home > Documents > baze_date

baze_date

Date post: 14-Sep-2015
Category:
Upload: mihai
View: 214 times
Download: 0 times
Share this document with a friend
Description:
baze datew
25
baze_licenta 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 PTS: 1 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 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 Database b. MySQL c. Excel Database d. 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 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) ANS: D PTS: 1 5. Componentele unei baze de date relationale nu includ a. Tabele b. Diagrame ERD c. Restrictii d. Relatii ANS: B PTS: 1 6. Printre tipurile de restrictii care pot fi folosite in bazele de date relationale, nu se numara a. NOT NULL b. Relatii c. CHECK
Transcript
  • 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