Rezolvari Baze de Date

  • Upload
    chirea

  • View
    208

  • Download
    8

Embed Size (px)

DESCRIPTION

info

Citation preview

  • 5/21/2018 Rezolvari Baze de Date

    1/23

    baze_de_date

    Probleme pentru examenul de licenta

    ____ 1. O baza de date relationala este

    a. O colectie de date interrelationate gestionate ca o singura unitateb. 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 indexd. Definita in acelasi mod de toti producatorii de software

    ____ 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

    ____ 3. Care din urmtoarele baze de date nu este un RDBMS (sistem de gestionare a bazelor de d

    relatioanale)a. Oracle Databaseb. MySQLc. Excel Databased. Microsoft SQL Server

    ____ 4. Un sistem RDBMS(sistem de gestionare a bazelor de date relatioanale) nu include urmato

    serviciua. 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 necesar d.

    Generarea diagramelor ERD (Entity Relationship Diagram)

    ____ 5. Componentele unei baze de date relationale nu includa. Tabeleb. Diagrame ERD

    c. Restrictiid. Relatii

    ____ 6. Printre tipurile de restrictii care pot fi folosite in bazele de date relationale, nu se numaraa. NOT NULLb. Relatiic. CHECKd. Cheie primara

    e. Unicitate____ 7. Normalizarea nu rezolva

    a. Anomalia de stergereb. Anomalia de actualizarec. Anomalia de inserared. Anomalia de creare

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

    A

    C

    C

    D

    B

    B

    D

    B

  • 5/21/2018 Rezolvari Baze de Date

    2/23

    b. Poate fi compus din atribute concatenatec. Poate fi compus din atribute cu valoarea NULLd. Poate fi compus din zero, unul sau mai multe atribute

    ____ 9. Prima forma normala rezolva anomaliile cauzate dea. Grupurile repetitive si atributele multivaloare

    b. Dependentele partiale de cheia primarac. Dependentele tranzitived. Relatiile de tip unu-la-mai-multi

    ____ 10. A doua forma normala rezolva anomaliile cauzate dea. Grupurile repetitiveb. Dependentele partiale de cheia primarac. Grupurile repetitive si atributele multi valoared. Dependentele tranzitive

    ____ 11. A treia forma normala rezolva anomaliile cauzate dea. Dependentele partiale de cheia primarab. Grupurile repetitive

    c. Dependentele tranzitived. Atributele multivaloare

    ____ 12. Problemele de dependentranzitiva. Sunt rezolvate de a doua formnormalb. Sunt rezolvate de prima formnormalc. Apar atunci cnd un atribut non-cheie depinde doar de o parte a cheii primare d. Sunt rezolvate de a treia formnormal

    ____ 13. SQL estea. Un limbaj procedural

    b. Un limbaj neproceduralc. Un limbaj orientat spre obiected. Un limbaj grafic, folosit pentru definirea diagramelor ER si a diagramelor

    conceptuale

    ____ 14. Un model de date reprezinta o colectie integrata de concepte care nu descriua. dateb. relatii dintre datec. date despre echipa realizatoare a modelului

    d. constrngeri existente asupra datelor sistemului real analizat.

    ____ 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 fidescompuse in alte valori (sunt atomice)d. fiecare coloana defineste un domeniu distinct si nu se poate repeta in cadrul

    aceleiasi relatii

    ____ 16. Modelul relationalnuare 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.

    A

    B

    C

    D

    B

    C

    A

    C

  • 5/21/2018 Rezolvari Baze de Date

    3/23

    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 nullin intregime, ori sa

    corespunda unei valori a cheii primare asociate.

    ____ 17. Relatia m:ndevine in modelul relational

    a. tabel asociativ cu cheia primara formata numai din doua chei externe pentru celedoua tabele asociate

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

    tabele asociate plus eventuale coloane aditionalec. chei externe

    d. entitate independenta

    ____ 18. Care nu este un concept utilizat pentru a descrie formal - uzual - fizic elementele de baza

    organizarii datelora. relatie - tablou- fisierb. tuplu - linie- inregistrarec. atribut - coloana - camp

    d. domeniu - zona- functie____ 19. Instructiunile SQL nu fac parte din categoria

    a. Limbajul de interogare a datelor (DQL)b. Limbajul de definire a datelor (DDL - Data Definition Language)c. Limbajul de selectare a datelor (DSL - Data Selection Language)d. Limbajul de manipulare a datelor (DML - Data Manipulation Language)

    ____ 20. Limbajul de definire a datelor (DDL - Data Definition Language) nu include urmatoarea instructiua. DELETEb. CREATEc. ALTERd. DROP

    ____ 21. Limbajul de manipulare a datelor (DML Data Manipulation Language) nu include instructiuniea. INSERT

    b. UPDATEc. DELETEd. ALTER

    ____ 22. Tipurile de date temporale standard nu includa. DATEb. DATETIMEc. TIMEd. TIMESTAMP

    ____ 23. Valorile NULL

    a. Sunt egale cu alte valori NULLb. Este acelasi lucru ca si spatiile liberec. Sunt intotdeauna permise in mod prestabilitd. Pot fi folosite pentru reprezentarea datelor care lipsesc sau nu sunt cunoscute

    ____ 24. Definitia unei coloane din instructiunea CREATE TABLE nu poate includea. Numele tabeluluib. O clauza DEFAULTc. O clauza NULL sau NOT NULL

    B

    D

    C

    A

    D

    B

    D

    A

  • 5/21/2018 Rezolvari Baze de Date

    4/23

    d. Numele coloanei

    ____ 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 NULL

    d. DEFAULT [NULL | NOT NULL]____ 26. Sintaxa corecta pentru o restrictie UNIQUE este

    a. [CONSTRAINT nume_restrictie] UNIQUE {nume_coloana[,nume coloana...])b. [CONSTRAINT nume_restrictie] UNIQUE (nume_tabel)c. nume_coloana REFERENCES UNIQUE nume_tabeld. DEFAULT UNIQUE (nume_coloana)

    ____ 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)

    ____ 28. Utilizarile valide ale instructiunii ALTER TABLE nu includea. Adaugarea coloanelorb. Eliminarea unei chei primarec. Redenumirea unui tabeld. Adaugarea unei restrictii

    ____ 29. Nu este functie SQL standard pentru siruri de caracterea. UPPERb. LENGTH sau LEN

    c. LOWERd. LIKE

    ____ 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

    ____ 31. O instructiune SQL care contine o functie de agregarea. Nu poate include, in acelasi timp, o clauza GROUP BY si o clauza ORDER BYb. Trebuie sa includa o clauza GROUP BYc. Trebuie sa includa o clauza ORDER BYd. Poate contine si coloane obisnuite si coloane calculate

    ____ 32. Care este varianta corecta pentru a crea tabelul Salariat, cu caracteristicile de mai jos?COD _ANG NUME PRENUME DATA_ANG

    VARST

    AEMAIL SALARIU

    not nullnumeric 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

    C

    A

    D

    C

    D

    B

    D

    A

  • 5/21/2018 Rezolvari Baze de Date

    5/23

    a. CREATE TABLE SALARIAT (cod_ang NUMBER(5) NOT NULL,

    nume VARCHAR2(20),

    prenume VARCHAR2(20),

    data_angajarii DATE DEFAULT SYSDATE,

    varsta NUMBER(2),

    email CHAR(50),salariu NUMBER(10,2) DEFAULT 0);

    b. CREATE TABLE SALARIAT (

    cod_ang NUMBER(5)

    nume VARCHAR2(20),prenume VARCHAR2(20),

    data_angajarii DATE ,

    varsta NUMBER(2),

    email CHAR(50),

    salariu NUMBER(10,2) DEFAULT 0);

    c. CREATE TABLE SALARIAT (

    cod_ang NUMBER(5) , NOT NULL,

    nume VARCHAR2(20),prenume VARCHAR2(20),

    data_angajarii DATE , DEFAULT SYSDATE,

    varsta NUMBER(2),

    email CHAR(50),

    salariu NUMBER(10,2) , DEFAULT 0);

    ____ 33. Pentru a insera in tabelul SALARIAT inregistrari,

    COD _ANG NUME PRENUMEDATA_AN

    GVARSTA 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 de10 cu 2

    zecimale

    care varianta este incorecta?

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

    b. INSERT INTO SALARIAT(COD _ANG, NUME, PRENUME, VARSTA, EMAIL)

    VALUES(5, Ene, Ana, 20, [email protected])

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

    d. INSERT INTO SALARIAT

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

    ____ 34. Care este varianta corecta pentru a crea tabelul CARTE, cu caracteristicile de mai jos, indicand cheile la ni

    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), nre

    NUMBER(3), coddom CHAR(5))

    a. CREATE TABLE CARTE

    C

    B

  • 5/21/2018 Rezolvari Baze de Date

    6/23

    (codc CHAR(5) PRIMARY KEY,

    titlu VARCHAR2(30),autor VARCHAR2(30),

    pret NUMBER(8,2),

    nrex NUMBER(3),

    coddom CHAR(5) NOT NULL);

    b. CREATE TABLE CARTE

    (codc CHAR(5) PRIMARY KEY,titlu VARCHAR2(30),

    autor VARCHAR2(30),

    pret NUMBER(8,2),nrex NUMBER(3),

    coddom CHAR(5) NOT NULL

    REFERENCES DOMENIU(coddom));

    c. CREATE TABLE CARTE

    (codc CHAR(5) ,

    titlu VARCHAR2(30),autor VARCHAR2(30),

    pret NUMBER(8,2),

    nrex NUMBER(3),coddom CHAR(5) NOT NULL

    PRIMARY KEY (codc),

    FOREIGN KEY (coddom)REFERENCES DOMENIU (coddom));

    ____ 35. Care este varianta corecta pentru a crea tabelul CARTE, cu caracteristicile de mai jos(codc cheie primara,

    coddom cheie secundara), indicand cheile la nivel de tabel?

    (Tabelele DOMENIU_CARTE si CARTE sunt in relatia 1:M)

    CARTE(codc CHAR(5) , titlu VARCHAR2(30), autor VARCHAR2(30), pret NUMBER(8,2), nre

    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),

    C

  • 5/21/2018 Rezolvari Baze de Date

    7/23

    coddom CHAR(5) NOT NULL

    REFERENCES DOMENIU(coddom));c. CREATE TABLE CARTE

    (codc CHAR(5),

    titlu VARCHAR2(30),

    autor VARCHAR2(30),pret NUMBER(8,2),

    nrex NUMBER(3),coddom CHAR(5) NOT NULL,

    PRIMARY KEY (codc),

    FOREIGN KEY (coddom)REFERENCES DOMENIU (coddom));

    ____ 36. Sa se creeze tabelul asociativ imprumuta, a carui structura este data mai jos(codc, codcidataim sunt chei primare). Sa se precizeze legatura cu tabelele cartesi cititor, aflate in relatia M

    (mai multi la mai multi)

    a. IMPRUMUTA (codc CHAR(5),codcit CHAR(5),

    dataim DATE DEFAULT SYSDATE,

    datares DATE,dataef DATE,

    PRIMARY KEY (codel, codec, dataim),

    FOREIGN KEY (codc)REFERENCES CARTE (codc),

    FOREIGN KEY (codcit)

    REFERENCES CITITOR(codcit));

    b. IMPRUMUTA (

    codc CHAR(5) PRIMARY KEY,

    codcit CHAR(5) PRIMARY KEY,dataim DATE DEFAULT SYSDATE PRIMARY KEY,

    datares DATE,

    dataef DATE,FOREIGN KEY (codc)

    REFERENCES CARTE (codc),

    FOREIGN KEY (codcit)

    REFERENCES CITITOR(codcit));c.

    IMPRUMUTA (codc CHAR(5) REFERENCES CARTE (codc),

    codcit CHAR(5) REFERENCES CITITOR(codcit),dataim DATE DEFAULT SYSDATE,

    datares DATE,

    dataef DATE,PRIMARY KEY (codel, codec, dataim));

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

    A

    C

  • 5/21/2018 Rezolvari Baze de Date

    8/23

    CARTE(codc CHAR(5) , titlu VARCHAR2(30), autor VARCHAR2(30), pret NUMBER(8,2), nreNUMBER(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 CARTEWHERE coddom = I;

    c. CREATE TABLE CARTE_INFO

    AS SELECT codc, titlu, autorFROM CARTE

    WHERE coddom = I;

    ____ 38. Pentru a introduce in tabelul SALARIAT

    COD

    _ANGNUME PRENUME

    DATA_AN

    GVARSTA SALARIU

    not nullnumeric de 5

    sircaractere

    de maxim 20

    sir caractere de

    maxim 20

    date, valoare

    implicita data

    curent

    numeric de 2

    valoare

    implicita0

    numar de

    10 cu 2

    zecimale

    doua coloane: Cod_Funct si Email ce varianta folosim?

    a. ALTER TABLE SALARIAT ADD Cod_Funct NUMBER(2), ALTER COLUMN ADD

    Email char(25);

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

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

    d. ALTER TABLE SALARIAT ADD Cod_Funct NUMBER(2), ALTER ADD Email

    char(25);____ 39. Ce comanda creeaza tabelul SALARIAT_1 care saiba aceeiasi structura cu

    tabelul SALARIAT

    COD _ANG NUME PRENUMEDATA_AN

    G

    VARST

    AEMAIL SALARIU

    not nullnumeric de 5

    sir de

    caractere de

    maxim 20

    sir caractere de

    maxim 20

    date, valoare

    implicita data

    curent

    numeric

    de 2

    sir de caractere

    de dimensiune

    fixa, de 30

    valoare

    implicita

    0

    numar de

    C

    B

  • 5/21/2018 Rezolvari Baze de Date

    9/23

    10 cu 2

    zecimale

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

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

    AS SELECT * FROM SALARIAT WHERE SALARIU>100;

    c. CREATE TABLE SALARIAT_1

    AS SELECT FROM SALARIAT WHERE SALARIU>100;

    d. CREATE TABLE SALARIAT_1

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

    ____ 40. Ce comanda sterge din tabelul SALARIATCOD

    _ANGNUME PRENUME

    DATA_AN

    GVARSTA EMAIL SALARIU

    not nullnumeric de 5

    sir de

    caractere de

    maxim 20

    sir caractere demaxim 20

    date, valoare

    implicita data

    curent

    numeric de2

    sir de

    caractere

    de

    dimensiune

    fixa, de 30

    valoare

    implicita

    0numar de

    10 cu 2

    zecimale

    coloana nume si coloana salariu?

    a. ALTER TABLE SALARIAT

    DROP nume, salariu;

    b. ALTER TABLE SALARIATDROP COLUMN (nume, salariu);

    c. ALTER TABLE SALARIAT

    DROP (nume, salariu);

    d. ALTER TABLE SALARIATDROP COLUMN nume, COLUMN salariu;

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

    COD

    _ANGNUME PRENUME

    DATA_AN

    GVARSTA EMAIL SALARIU

    cheie

    primara

    numeric de 5

    not nullsir de

    caractere de

    maxim 20

    sir caractere de

    maxim 20

    date, valoare

    implicita data

    curent

    numeric de 2

    unicsir de

    caractere

    de

    dimensiun

    e 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));

    C

    A

  • 5/21/2018 Rezolvari Baze de Date

    10/23

    b. CREATE TABLE salariat(cod_ang NUMBER(5) PRIMARY KEY,

    nume VARCHAR2(20) NOT NULL,

    prenume VARCHAR2(20),

    data_ang DATE DEFAULT SYSDATE,

    varsta NUMBER(2),

    email CHAR(30) UNIQUE,salariu NUMBER(10,2) > 0));

    c. CREATE TABLE salariat(

    cod_ang NUMBER(5) PRIMARY KEY,

    nume VARCHAR2(20) NOT NULL,prenume VARCHAR2(20),

    data_ang DATE DEFAULT SYSDATE,

    varsta NUMBER(2),

    email CHAR(30),

    salariu NUMBER(10,2) CHECK (salariu > 0));

    ____ 42. Care este comanda corecta prin care se adauga constrangerea de cheie primara tabelului IMPRUMU

    (cod_cititor, cod_carte, data_imprumut, data_restituire)?

    a. ALTER TABLE IMPRUMUTA

    ADD PRIMARY KEY cod_cititor, PRIMARY KEY cod_carte, PRIMARY KEY

    data_imprumut;

    b. ALTER TABLE IMPRUMUTA

    ADD PRIMARY KEY cod_cititor, cod_carte, data_imprumut;

    c. ALTER TABLE IMPRUMUTA

    ADD CONSTRAINT cp PRIMARY KEY (cod_cititor, cod_carte, data_imprumut);

    d. ALTER TABLE IMPRUMUTA

    ADD PRIMARY KEY (cod_cititor, cod_carte, data_imprumut);

    ____ 43. Pentru tabelul Salariat

    cod_depart cod_ang# nume pren salariu cod_funct

    care este comanda corecta, pentru a modifica salariu la 3000, pentru angajatii care lucreaza in departamen

    10 si au salariul

  • 5/21/2018 Rezolvari Baze de Date

    11/23

    AS SELECT *

    FROM CARTE_INFO;d. INSERT INTO CARTE

    SELECT *

    FROM CARTE_INFO;

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

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

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

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

    ____ 46. S se modifice pretul cartilor din biblioteca, care se gasesc intr-un numar de exemplare mai m

    decat media numarului de exemplare pe biblioteca. Noua valoare a pretului sa fie egala cu supreturilor cartilor scrise de BARBU.a. UPDATE CARTE

    SET pret = (SELECT SUM(pret)FROM CARTE

    WHERE autor = BARBU)

    WHERE nrex < (SELECT AVG(nrex)FROM CARTE);

    b. MODIFY CARTE

    SET pret = (SELECT SUM(pret)FROM carte

    WHERE autor = BARBU)WHERE nrex < (SELECT AVG(nrex)

    FROM CARTE);c. UPDATE CARTE

    pret = ( SUM(pret)

    FROM carteWHERE autor = BARBU)

    WHERE nrex < ( AVG(nrex)

    FROM CARTE);d. UPDATE CARTE

    pret = (SELECT SUM(pret)

    FROM carteWHERE autor = BARBU and

    nrex < ( AVG(nrex)

    FROM CARTE);

    ____ 47. Pentru tabelele:

    PROF

    cod_prof# cod_fac nume pren salariu cod_fuct

    TOTALURI

    C

    A

    C

  • 5/21/2018 Rezolvari Baze de Date

    12/23

    cod_fac# nr_prof total_sal

    care este secventa corecta pentru o instructiune INSERT cu o instructiune SELECT interna, pentru a insera

    tabelul TOTALURI, un rand pentru fiecare facultate din tabelul PROF, care sa contina numarul de profeso

    din facultate si suma salariilor lor?

    a. INSERT TO TOTALURI

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

    b. INSERT INTO TOTALURI

    SELECT COD_FAC, COUNT(*) AS NR_PROF, SUM(SALARIU) AS TOTAL_SAL

    FROM PROF ;c. INSERT INTO TOTALURI

    SELECT COD_FAC, COUNT(*) AS NR_PROF, SUM(SALARIU) AS TOTAL_SAL

    FROM PROF GROUP BY COD_FAC;

    ____ 48. Pentru tabelul PROF

    cod_prof# cod_fac pren salariu

    care este secventa corecta pentru a modifica salariile cu 10% , care nu contin valori NULL?

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

    b. UPDATE PROF SET SALARIU = SALARIU*1.1

    WHERE SALARIU IS NOT NULL;

    c. UPDATE PROF SElLECT SALARIU = SALARIU*1.1

    WHERE SALARIU 0;

    ____ 49. Pentru tabelul PROF

    cod_prof# cod_fac nume pren salariu cod_funct

    care este secventa corecta pentru a sterge toate cadrele didactice care sunt profesori consultanti?

    a. DELETE FROM PROF WHERE COD_FUNCT=C;

    b. DELETE PROF WHERE COD_FUNCTC;c. DROP FROM PROF WHERE COD_FUNCT=C;

    d. DROP PROF WHERE COD_FUNCT=C;

    ____ 50. Pentru tabelul:

    FAC

    cod_fac# denumire adresa

    care este secventa corecta pentru o inserare,folosind instructiunea SELECT

    a. INSERT INTO FAC

    (COD_FAC, DENUMIRE, ADRESA)

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

    b. INSERT INTO FAC

    SELECT MAX(COD_FAC)+1, 'LIMBI', 'ION GHICA'FROM FAC;

    c. INSERT INTO FAC

    (COD_FAC, DENUMIRE, ADRESA)

    SELECT MAX(COD_FAC)+1, 'LIMBI', 'ION GHICA'

    FROM FAC;

    ____ 51. Pentru tabelulPROF

    B

    A

    C

    C

  • 5/21/2018 Rezolvari Baze de Date

    13/23

    cod_prof# cod_fac nume pren salariu

    care este secventa corecta pentru a afisa toti profesorii impreuna cu media _ salariu pentru fiecare

    facultate , rotunjita la doua pozitii zecimale

    a. SELECT COD_FAC,

    ROUND (AVG (SALARIU), 2) AS medie_salariuFROM PROF

    ORDER BY COD_FAC;b. SELECT COD_FAC,

    ROUND (AVG (SALARIU, 2) AS medie_salariu

    FROM PROF

    GROUP BY COD_FAC;

    c. SELECT COD_FAC,ROUND (AVG (SALARIU), 2) AS medie_salariu

    FROM PROF

    GROUP BY COD_FAC;

    d. SELECT FROM PROF COD_FAC,

    ROUND AVG (SALARIU), 2 AS medie_salariuGROUP BY COD_FAC;

    ____ 52. Pentru tabelulPROF

    cod_prof# cod_fac nume pren salariu

    care este secventa corecta pentru a afisa suma salariilor tuturor profesorilor din universitate.

    a. SELECT SUM (Salariu) AS Total_Salariu

    FROM PROF;

    b. SELECT SUM (Salariu) AS Total_SalariuFROM PROF

    GROUP BY COD_FAC;c. SELECT SALARIU, SUM (Salariu) AS Total_Salariu

    FROM PROF;

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

    ____ 53. Pentru tabelulPROF

    cod_prof# cod_fac nume pren salariu

    care este secventa corecta pentru a afisa toti profesorii pentru care COD_FAC =1 sisalariu>=1200, sau toti profesorii pentru care COD_FAC =3 si salariu < 2000.

    a. SELECT COD_FAC, COD_PROF, NUME, SALARIUFROM PROF

    WHERE (COD_FAC=1 OR SALARIU >1200)

    AND (COD_FAC =3 OR SALARIU1200)

    AND (COD_FAC =3 AND SALARIU

  • 5/21/2018 Rezolvari Baze de Date

    14/23

    c. SELECT COD_FAC, COD_PROF, NUME, SALARIUFROM PROF

    WHERE (COD_FAC=1 AND SALARIU >1200)

    OR (COD_FAC =3 AND SALARIU1200OR (COD_FAC =3 OR SALARIU

  • 5/21/2018 Rezolvari Baze de Date

    15/23

    b. SELECT NUME, PREN, DENUMIREFROM FAC, PROF

    WHERE FAC.COD_FAC=PROF.COD_FAC

    ORDER BY FAC.DENUMIRE;

    c. SELECT NUME, PREN, DENUMIRE

    FROM FAC, PROF

    WHERE FAC.COD_FAC=PROF.COD_FAC;

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

    FROM IMPRUMUTAWHERE dataef IS NULL

    GROUP BY codc;b. SELECT COUNT(*)

    FROM IMPRUMUTA

    GROUP BY codc;c. SELECT codc, COUNT(*)

    FROM IMPRUMUTA

    WHERE dataef IS NULLGROUP BY codc;

    d. SELECT COUNT(*)FROM IMPRUMUTA

    WHERE dataef =0

    GROUP BY codc;

    ____ 59. Care este secventa corecta care s afieze numrul crilor mprumutate cel puin de dou

    (pentru fiecare carte mprumutat mai mult dect o dat s se obin numrul de cte ori a fmprumutat).

    a. SELECT COUNT(COUNT(codel))

    FROM imprumutaGROUP BY codcarte

    HAVING COUNT(*)>1;b. SELECT COUNT(codel)

    FROM imprumuta

    GROUP BY codcarte

    HAVING COUNT(*)>1;c. SELECT COUNT(COUNT(codel))

    FROM imprumuta

    WHERE COUNT(*)>1;d. SELECT COUNT(codel)

    FROM imprumuta

    ORDERBY BY codcarte

    HAVING COUNT(*)>1;

    ____ 60. Care este secventa corecta care afiseaza pentru fiecare domeniu de carte, numrul crilor

    domeniu, media preurilor i numrul total de exemplare

    a. SELECT codcarte, COUNT(*), AVG(pret)

    FROM CARTE

    C

    A

    C

  • 5/21/2018 Rezolvari Baze de Date

    16/23

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

    FROM CARTE

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

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

    FROM CARTE

    ORDER BY codcarte;

    ____ 61. Pentru tabelele:

    PROF

    cod_prof# cod_fac nume pren salariu

    FAC

    cod_fac# denumire adresa

    care este secventa corecta pentru o interogare de uniune externa catre stanga, care sa afiseze toti profesorii

    denumirile facultatilor la care predau

    a. SELECT NUME, PREN, DENUMIRE

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

    b. SELECT NUME, PREN, DENUMIRE

    FROM FAC LEFT OUTER JOIN PROF ON

    A.COD_FAC = B.COD_FAC;

    c. SELECT NUME, PREN, DENUMIRE

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

    ____ 62. Pentru tabelele:

    PROF

    cod_prof# cod_fac nume pren salariu cod_functFUNCTII

    cod_funct# nume_funct

    care este secventa corecta pentru o subinterogare necorelata, care sa afiseze toate functiile pentru care nu

    exista profesorii incadrati

    a. SELECT cod_funct, nume_funct

    FROM functii

    WHERE cod_funct NOT IN

    (SELECT DISTINCT cod_funct FROM prof);b. SELECT cod_funct, nume_funct

    FROM functii

    WHERE cod_funct NOT INSELECT DISTINCT cod_funct FROM prof;

    c. SELECT cod_funct, nume_functFROM functii

    WHERE cod_funct IN

    (SELECT cod_funct FROM prof);

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

    a. INSERT TO TOTALURI

    C

    A

    C

  • 5/21/2018 Rezolvari Baze de Date

    17/23

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

    b. INSERT INTO TOTALURI

    SELECT COD_FAC, COUNT(*) , SUM(SALARIU)

    FROM PROF ;

    c. INSERT INTO TOTALURI

    SELECT COD_FAC, COUNT(*) , SUM(SALARIU)FROM PROF

    GROUP BY COD_FAC;

    d. INSERT INTO TOTALURI

    SELECT COD_FAC, SUM(COD_PROF), SUM(SALARIU)FROM PROF

    GROUP BY COD_FAC;

    ____ 64. Sse obintitlurile i preurile crilor mai scumpe dect cartea avnd titlul Baze de date, al c

    autor este Popescu (self join).

    a. SELECT x.titlu, x.pret

    FROM carte x, yWHERE x.pret < y.pretAND y.titlu = Baze de date

    AND y.autor = Popescu;b. SELECT x.titlu, x.pret

    FROM carte x, carte y

    WHERE x.pret > y.pret

    AND y.titlu = Baze de dateAND y.autor = Popescu;

    c. SELECT x.titlu, x.pret

    FROM carte x, carte y

    WHERE x.pret > y.pretAND titlu = Baze de date

    AND autor = Popescu;d. SELECT x.titlu, x.pret

    FROM carte x, carte y

    WHERE x.pret > y.pret

    AND y.titlu = Baze de date, y.autor = Popescu;

    ____ 65. Pentru tabelele

    PROFESORI(codp, nume, pren, salariu)

    COPII (codp, nume_c, virsta)care este secventa corecta pentru a afisa profesorii cu copii

    a. SELECT a.nume, a.prenFROM PROFESORI AWHERE a.codp IN (SELECT DISTINCT codp

    FROM COPII);b. SELECT a.nume, a.pren

    FROM PROFESORI A

    WHERE codp IN (SELECT codp

    FROM COPII);

    B

    A

  • 5/21/2018 Rezolvari Baze de Date

    18/23

    c. SELECT a.nume, a.pren

    FROM PROFESORI AWHERE a.codp IN COPII;

    d. SELECT a.nume, a.pren

    FROM PROFESORI A

    WHERE a.codp IN DISTINCT codpFROM COPII;

    ____ 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 A

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

    FROM PROFESORI A

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

    FROM PROFESORI A

    WHERE a.codp NOT IN SELECT codp FROM copii;d. SELECT a.nume, a.pren

    FROM PROFESORI A

    WHERE a.codp IS NOT (SELECT DISTINCT codpFROM COPII);

    ____ 67. Se considera pentru actionarii unei firme, urmatoarele 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 seriasfreprezinta seria de inceput, respectiv de sfarsit al intervalului de actiuni

    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 b

    WHERE a.codact=b.codact AND b.nume=&x;b. SELECT a.seriain, a.seriasf, b.nume

    FROM actiuni , actionari

    WHERE a.codact=b.codact AND nume=&x;c. SELECT a.seriain, a.seriasf, b.nume

    FROM actiuni a, actionari b

    WHERE a.codact=b.codact ;d. SELECT a.seriain, a.seriasf, b.nume

    FROM actiuni a, actionari b

    WHERE a.codact=b.codact OR b.nume=&x;

    ____ 68. Se considera pentru actionarii unei firme, tabelul

    ACTIUNI (cod_act number(5), seriain number(8), seriasf number(8), valoar number(8))

    (unde seriain si seriasfreprezinta seria de inceput, respectiv de sfarsit al intervalului de actiunicare il are un actionar).

    B

    A

    D

  • 5/21/2018 Rezolvari Baze de Date

    19/23

    A

    Care este secventa corecta care afiseaza suma necesara firmei pentru plata tuturor

    devidentelor (numrul de actiuni inmultit cu valoarea unei actiuni)?a. SELECT SUM((seriain+seriasf)*valoare))

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

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

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

    FROM ACTIUNI;

    ____ 69. Pentru tabelele

    Angajat(cod_angajat, nume, pren, ..)

    Are_functia (cod_angajat, cod_functie, salariu ,..)

    Functii(cod_functie, )care este comanda corecta pentru a calcula suma salariilor angajatului ENE ANA, care cumuleaza mai m

    functii, in diferite compartimente?

    a. SELECT COUNT(SALARIU) AS SALARIU_CUMULAT

    FROM salariat, are_functiaWHERE s.cod_salariat=a.cod_salariatAND NUME='ENE' AND PREN='ANA;

    b. SELECT Sum(SALARIU) AS SALARIU_CUMULAT

    FROM salariat, are_functia

    WHERE NUME='ENE' , PREN='ANA;

    c. SELECT Sum(SALARIU) AS SALARIU_CUMULAT

    FROM salariat s, are_functia a

    WHERE s.cod_salariat=a.cod_salariat

    AND NUME='ENE' AND PREN='ANA;

    ____ 70. Pentru tabelele:

    PROF

    cod_prof# cod_fac nume pren salariu cod_funct

    FAC

    cod_fac# denumire adresa

    care este secventa corecta pentru o subinterogare corelata, care sa afiseze toate facultatile pentru care sum

    salariile profesorilor este mai mare 10000

    a. SELECT DISTINCT DENUMIRE

    FROM FAC

    WHERE 10000< (SELECT sum(salariu)

    FROM PROF WHERE A.COD_FAC=B.COD_FAC);

    b. SELECT DISTINCT DENUMIRE

    FROM FAC A

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

    c. SELECT DISTINCT DENUMIRE

    FROM FAC AWHERE 10000< SELECT sum(salariu)

    FROM PROF B WHERE A.COD_FAC=B.COD_FAC;

    ____ 71. Care este comanda corecta pentru a afisa toti salariatii , in ordine crescatoare dupa nume, care sunt manage

    a. SELECT DISTINCT sef.nume, angajat.cod_managerFROM salariati sef, salariati angajat

    C

    B

  • 5/21/2018 Rezolvari Baze de Date

    20/23

    WHERE sef.cod_salariat= angajat.cod_managerORDER BY sef.nume;

    b. SELECT DISTINCT sef.nume, angajat.cod_manager

    FROM salariati sef, salariati angajat

    WHERE cod_salariat= cod_manager

    ORDER BY sef.nume;

    c. SELECT DISTINCT nume, cod_managerFROM salariati sef, salariati angajat

    WHERE sef.cod_salariat= angajat.cod_manager;

    d. ELECT DISTINCT nume, cod_manager

    FROM salariati sef, salariati angajatWHERE cod_salariat= cod_manager

    ORDER BY sef.nume;

    ____ 72. Care este comanda corecta care sa afiseze daca exista angajaticare nu lucreaza in departamentul Contract

    si al caror salariu coincide cu salariul unui angajat din departamentul Contractari?

    a. SELECT nume, salariu, cod_depart

    FROM salariati

    WHERE salariu IN (SELECT salariu FROM salariati , department d

    WHERE s.cod_depart = d.cod_depart AND nume_depart Contractari)AND cod_depart= (SELECT cod_depart FROM department

    WHERE nume_depart = Contractari);

    b. SELECT nume, salariu, cod_depart

    FROM salariati

    WHERE salariu IS IN (SELECT salariu FROM salariati , department

    WHERE s.cod_depart = d.cod_depart , nume_depart = Contractari)

    AND cod_depart (SELECT cod_depart FROM department

    WHERE nume_depart = Contractari);

    c. SELECT nume, salariu, cod_depart

    FROM salariati

    WHERE (salariu) IN (SELECT salariu FROM salariati s, department d

    WHERE s.cod_depart = d.cod_depart AND nume_depart = Contractari)AND cod_depart (SELECT cod_depart FROM department

    WHERE nume_depart = Contractari);

    ____ 73. Care este comanda corecta care afiseaza numarul total de carti imprumutate si restituite pentru fiecare cital 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 imprumutaGROUP BY cod_cititor;

    d. SELECT cod_cititor, COUNT(*)

    FROM imprumuta

    WHERE data_restituirii IS NOT NULL

    GROUP BY cod_cititor;

    C

    D

  • 5/21/2018 Rezolvari Baze de Date

    21/23

    ____ 74. Care este comanda corecta care determina micsorarea salariilor cu 10%, cu rotunjire la 2 zecimale , aangajatilor 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;

    ____ 75. Care este comanda corectacare 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' );

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

    a. SELECT nume_cititor

    FROM imprumuta

    WHERE data_restituirii = NULL;b. SELECT nume_cititor

    FROM imprumuta

    WHERE data_restituirii IS NOT NULL;

    c. SELECT nume_cititor

    FROM imprumutaWHERE data_restituirii IS NULL;

    d. SELECT nume_cititor

    FROM imprumuta

    WHERE data_restituirii > SYSDATE;

    ____ 77. Care este comanda corecta care sterge valoarea coloanei salariu pentru angajatii care sunt angajati cu cont

    de colaborare?

    a. DELETE salariu

    FROM salariatiWHERE contract=colaborare;

    b. UPDATE salariati

    C

    D

    C

    D

  • 5/21/2018 Rezolvari Baze de Date

    22/23

    SET salariu IS nullWHERE contract=colaborare;

    c. DROP salariu

    FROM salariati

    WHERE contract=colaborare;

    d. UPDATE salariati

    SET salariu=nullWHERE contract=colaborare;

    ____ 78. Care este comanda corecta care afiseaza codul departamentelor, numele departamentelor si suma salariilor

    pentru fiecare departament?

    a. SELECT cod_departament, nume_departament, SUM(salariu)

    FROM salariati s, departamente d

    GROUP BY cod_departament, nume_departament;

    b. SELECT cod_departament, nume_departament, SUM(salariu)

    FROM salariati s, departamente d

    WHERE s.cod_departament=d.cod_departament

    GROUP BY cod_departament;

    c. SELECT cod_departament, nume_departament, SUM(salariu)

    FROM salariati s, departamente dWHERE s.cod_departament=d.cod_departament

    GROUP BY cod_departament, nume_departament;

    d. SELECT cod_departament, nume_departament, SUM(salariu)

    FROM salariati, departamente

    WHERE s.cod_departament=d.cod_departament

    GROUP BY cod_departament, nume_departament;

    ____ 79. Care este comanda corecta care afiseaza numele salariatilor care castiga mai mult decat salariul mediu

    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 numeFROM salariati

    WHERE salariu > (SELECT AVG(salariu) FROM salariati)

    ORDER BY 1;

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

    FROM functii

    WHERE cod_functie IN

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

    b. SELECT cod_functieFROM functii

    WHERE cod_functie NOT IN

    C

    B

    D

  • 5/21/2018 Rezolvari Baze de Date

    23/23

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

    FROM functii

    WHERE cod_functie NOT IN

    (SELECT cod_functie FROM salariati);

    d. SELECT cod_functie

    FROM functiiWHERE cod_functie NOT IN

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