Documente Academic
Documente Profesional
Documente Cultură
com
baze_de_date
e. Unicitate
____
D 7. Normalizarea nu rezolva
a. Anomalia de stergere
b. Anomalia de actualizare
c. Anomalia de inserare
d. Anomalia de creare
B
____ 8. Un identificator unic (cheie primara)
a. Poate fi compus numai dintr-un singur atribut
http://slidepdf.com/reader/full/rezolvari-baze-de-date 1/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
http://slidepdf.com/reader/full/rezolvari-baze-de-date 2/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
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.
____
B 17. Relatia m:n devine in modelul relational
a. tabel asociativ cu cheia primara formata numai din doua chei externe pentru cele
doua tabele asociate
b. tabel asociativ cu cheia primara formata din doua chei externe pentru cele doua
tabele asociate plus eventuale coloane aditionale
c. chei externe
d. entitate independenta
____
D 18. Care nu este un concept utilizat pentru a descrie formal - uzual - fizic elementele de baza
organizarii datelor
a. relatie - tablou- fisier
b. tuplu - linie- inregistrare
c. atribut - coloana - camp
http://slidepdf.com/reader/full/rezolvari-baze-de-date 3/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
d. Numele coloanei
____
C 25. Sintaxa corecta pentru o restrictie NOT NULL este
a. nume_coloana REFERENCES NOT NULL
b. nume_coloana tip_de_DATA IS NOT NULL
c. nume_coloana tip_de_DATA NOT NULL
____
A 32. Care este varianta corecta pentru a crea tabelul Salariat, cu caracteristicile de mai jos?
VARST
COD _ANG NUME PRENUME DATA_ANG EMAIL SALARIU
A
valoare
sir caractere date, valoare sir de caractere implicita 0
not null de maxim
sir caractere de
implicita data
numeric
de dimensiune numar de 10
numeric de 5 20 maxim 20 de 2
curent ă fixa, de 30 cu 2
zecimale
http://slidepdf.com/reader/full/rezolvari-baze-de-date 4/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
B
____ 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)
http://slidepdf.com/reader/full/rezolvari-baze-de-date 5/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
http://slidepdf.com/reader/full/rezolvari-baze-de-date 6/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
autor
pret VARCHAR2(30),
NUMBER(8,2),
nrex NUMBER(3),
coddom CHAR(5) NOT NULL,
PRIMARY KEY (codc),
FOREIGN KEY (coddom)
REFERENCES DOMENIU (coddom));
A
____ 36. Sa se creeze tabelul asociativ imprumuta, a carui structura este data mai jos(codc, codci
dataim sunt chei primare). Sa se precizeze legatura cu tabelele carte si 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));
C
____ 37. Sa se creeze tabelul CARTE_INFO(codc, titlu, autor) prin copiere din tabelul
http://slidepdf.com/reader/full/rezolvari-baze-de-date 7/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
CARTE(codc CHAR(5) , titlu VARCHAR2(30), autor VARCHAR2(30), pret NUMBER(8,2), nre
NUMBER(3), coddom CHAR(5))
titlu
autor VARCHAR2(30),
VARCHAR2(30),
FROM CARTE
WHERE coddom = ’I’;
c. CREATE TABLE CARTE_INFO
AS SELECT codc, titlu, autor
FROM CARTE
WHERE coddom = ’I’;
____
C 38. Pentru a introduce in tabelul SALARIAT
COD DATA_AN
NUME PRENUME VARSTA SALARIU
_ANG G
valoare
date, valoare implicita
not null sircaractere sir caractere de
implicita data numeric de 2
0
numeric de 5 de maxim 20 maxim 20 numar de
curentă
10 cu 2
zecimale
doua coloane: Cod_Funct si Email ce varianta folosim?
http://slidepdf.com/reader/full/rezolvari-baze-de-date 8/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
10 cu 2
zecimale
http://slidepdf.com/reader/full/rezolvari-baze-de-date 9/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
http://slidepdf.com/reader/full/rezolvari-baze-de-date 10/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
AS SELECT *
FROM CARTE_INFO;
d. INSERT INTO CARTE
SELECT *
FROM CARTE_INFO;
____
C 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);
____
A 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 su
preturilor cartilor scrise de ‘BARBU’.
a. UPDATE CARTE
SET pret = (SELECT SUM(pret)
FROM CARTE
WHERE autor = ’BARBU’)
WHERE nrex < (SELECT AVG(nrex)
FROM CARTE);
b. MODIFY CARTE
SET pret = (SELECT SUM(pret)
FROM carte
WHERE autor = ’BARBU’)
WHERE nrex < (SELECT AVG(nrex)
FROM CARTE);
c. UPDATE CARTE
pret = ( SUM(pret)
FROM carte
WHERE autor = ’BARBU’)
WHERE nrex < ( AVG(nrex)
FROM CARTE);
d. UPDATE CARTE
pret = (SELECT SUM(pret)
FROM carte
WHERE autor = ’BARBU’ and
nrex < ( AVG(nrex)
FROM CARTE);
C
____ 47. Pentru tabelele:
PROF
cod_prof# cod_fac nume pren salariu cod_fuct
TOTALURI
http://slidepdf.com/reader/full/rezolvari-baze-de-date 11/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
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;
____
A 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.
c. DELETE
DROP FROM PROF WHERE
PROF WHERE COD_FUNCT<>’C’;
COD_FUNCT=’C’;
d. DROP PROF WHERE COD_FUNCT=’C’;
C
____ 50. Pentru tabelul:
FAC
cod_fac# denumire adresa
care este secventa corecta pentru o inserare, folosind instructiunea SELECT
http://slidepdf.com/reader/full/rezolvari-baze-de-date 12/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
care este secventa corecta pentru a afisa toti profesorii impreuna cu media _ salariu pentru fiecare
facultate , rotunjita la doua pozitii zecimale
a. SELECT COD_FAC,
ROUND (AVG (SALARIU), 2) AS medie_salariu
FROM PROF
ORDER BY COD_FAC;
b. SELECT COD_FAC,
ROUND (AVG (SALARIU, 2) AS medie_salariu
FROM PROF
GROUP BY COD_FAC;
c. SELECT COD_FAC,
ROUND (AVG (SALARIU), 2) AS medie_salariu
FROM PROF
GROUP BY COD_FAC;
d. SELECT FROM PROF COD_FAC,
ROUND AVG (SALARIU), 2 AS medie_salariu
GROUP BY COD_FAC;
A
____ 52. Pentru tabelul
PROF
cod_prof# cod_fac nume pren salariu
care este secventa corecta pentru a afisa suma salariilor tuturor profesorilor din universitate.
a. SELECT SUM (Salariu) AS Total_Salariu
FROM PROF;
b. SELECT SUM (Salariu) AS Total_Salariu
FROM PROF
c. GROUP
SELECT BY COD_FAC;
SALARIU, SUM (Salariu) AS Total_Salariu
FROM PROF;
d. SELECT COD_FAC, SUM (Salariu) AS Total_Salariu
FROM PROF;
C
____ 53. Pentru tabelul
PROF
cod_prof# cod_fac nume pren salariu
care este secventa corecta pentru a afisa toti profesorii pentru care COD_FAC =1 si
salariu>=1200, sau toti profesorii pentru care COD_FAC =3 si salariu < 2000.
http://slidepdf.com/reader/full/rezolvari-baze-de-date 13/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
c. WHERE
SELECT SALARIU
COUNT(*)=NULL;
FROM PROF
WHERE SALARIU IS NOT NULL;
d. SELECT COUNT(*)
FROM PROF
WHERE SALARIU IS NULL;
____
C 55. O uniune (join) fara o clauzä WHERE sau o clauza JOIN
a. Nu returneaza nici un rand din setul de rezultate
b. Reprezinta o uniune interna (inner join)
c. Are ca rezultat un produs cartezian
d. Reprezinta o uniune externa(outer join)
____
A 56. O uniune externa (outer join) nu
FAC
cod_fac# denumire adresa
care este secventa corecta pentru o interogare de uniune interna(inner join) care sa afiseze toti profesorii si
denumirile facultatilor la care predau, in ordinea crescatoare a denumirilor
a. SELECT NUME, PREN, DENUMIRE
FROM FAC, PROF
WHERE A.COD_FAC =B.COD_FAC
ORDER BY FAC.DENUMIRE;
http://slidepdf.com/reader/full/rezolvari-baze-de-date 14/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
a.
SELECT COUNT(COUNT(codel))
FROM imprumuta
GROUP BY codcarte
HAVING COUNT(*)>1;
b. SELECT COUNT(codel)
FROM imprumuta
GROUP BY codcarte
HAVING COUNT(*)>1;
c. SELECT COUNT(COUNT(codel))
FROM imprumuta
WHERE COUNT(*)>1;
d. SELECT COUNT(codel)
FROM imprumuta
ORDERBY BY codcarte
HAVING COUNT(*)>1;
C
____ 60. Care este secventa corecta care afiseaza pentru fiecare domeniu de carte, num ărul cărţilor
domeniu, media preţurilor şi numărul total de exemplare
http://slidepdf.com/reader/full/rezolvari-baze-de-date 15/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
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;
C
____ 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;
A
____ 62. Pentru tabelele:
PROF
cod_prof#
FUNCTII cod_fac nume pren salariu cod_funct
cod_funct# nume_funct
care este secventa corecta pentru o subinterogare necorelata, care sa afiseze toate functiile pentru care nu
exista profesorii incadrati
a. SELECT cod_funct, nume_funct
FROM functii
WHERE cod_funct NOT IN
(SELECT DISTINCT cod_funct FROM prof);
b. SELECT cod_funct, nume_funct
FROM functii
WHERE cod_funct NOT IN
SELECT DISTINCT cod_funct FROM prof;
c. SELECT cod_funct, nume_funct
FROM functii
WHERE cod_funct IN
(SELECT cod_funct FROM prof);
C
____ 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
http://slidepdf.com/reader/full/rezolvari-baze-de-date 16/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
WHERE
AND x.pret
titlu = >’Baze
y.pretde 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’;
____
A 65. Pentru tabelele
PROFESORI(codp, nume, pren, salariu)
COPII (codp, nume_c, virsta)
care este secventa corecta pentru a afisa profesorii cu copii
a. SELECT a.nume, a.pren
FROM PROFESORI A
WHERE a.codp IN (SELECT DISTINCT codp
FROM COPII);
b. SELECT a.nume, a.pren
FROM PROFESORI A
WHERE codp IN (SELECT codp
FROM COPII);
http://slidepdf.com/reader/full/rezolvari-baze-de-date 17/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
WHERE
FROM a.codp
COPII;IN
DISTINCT codp
B
____ 66. Pentru tabelele
PROFESORI(codp, nume, pren, salariu)
COPII (codp, nume_c, virsta)
care este secventa corecta pentru a afisa profesorii fara copii
a. SELECT a.nume, a.pren
FROM PROFESORI A
WHERE codp NOT IN (SELECT codp FROM COPII);
b. SELECT a.nume, a.pren
FROM PROFESORI A
WHERE a.codp NOT IN (SELECT DISTINCT codp FROM COPII);
c.SELECT a.nume, a.pren
FROM PROFESORI A
WHERE a.codp NOT IN SELECT codp FROM copii;
d. SELECT a.nume, a.pren
FROM PROFESORI A
WHERE a.codp IS NOT (SELECT DISTINCT codpFROM COPII);
____
A 67. Se considera pentru actionarii unei firme, urmatoarele tabele
ACTIONARI(nume varchar2(20), cod_act number(5))
ACTIUNI (cod_act number(5), seriain number(8), seriasf number(8), valoar number(8))
(unde seriain si seriasf reprezinta seria de inceput, respectiv de sfarsit al intervalului de actiuni
care il are un actionar).
Care este secventa corecta care afiseaza pentru un actionar (introdus de la tastatura), intervalele
seriilor actiunilor sale
a. SELECT a.seriain, a.seriasf, b.nume
FROM actiuni a, actionari b
WHERE a.codact=b.codact AND b.nume=‘&x’;
b. SELECT a.seriain, a.seriasf, b.nume
FROM actiuni , actionari
WHERE a.codact=b.codact AND nume=‘&x’;
c. SELECT a.seriain, a.seriasf, b.nume
FROM actiuni a, actionari b
WHERE a.codact=b.codact ;
d. SELECT a.seriain, a.seriasf, b.nume
FROM actiuni a, actionari b
WHERE a.codact=b.codact OR b.nume=‘&x’;
D
____ 68. Se considera pentru actionarii unei firme, tabelul
ACTIUNI (cod_act number(5), seriain number(8), seriasf number(8), valoar number(8))
(unde seriain si seriasf reprezinta seria de inceput, respectiv de sfarsit al intervalului de actiuni
care il are un actionar).
http://slidepdf.com/reader/full/rezolvari-baze-de-date 18/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
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))
c. FROM
SELECT ACTIUNI;
SUM((seriain-seriasf)*valoare))
FROM ACTIUNI;
d. SELECT SUM((seriasf-seriain+1)*valoare))
FROM ACTIUNI;
C
____ 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_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’;
B
____ 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 PROF
FROM 10000<
B ( SELECT
WHERE sum(salariu)
A.COD_FAC=B.COD_FAC);
c. SELECT DISTINCT DENUMIRE
FROM FAC A
WHERE 10000< SELECT sum(salariu)
FROM PROF B WHERE A.COD_FAC=B.COD_FAC;
A
____ 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_manager
FROM salariati sef, salariati angajat
http://slidepdf.com/reader/full/rezolvari-baze-de-date 19/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
http://slidepdf.com/reader/full/rezolvari-baze-de-date 20/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
____
C 74. Care este comanda corecta care determina micsorarea salariilor cu 10%, cu rotunjire la 2 zecimale , a
angajatilor care nu sunt titulari?
a. UPDATE salariat
SET salariu=ROUND(salariu*0.9, 2);
b. UPDATE salariat
SET salariu=ROUND(salariu*1.1)
WHERE titular =’N’;
c. UPDATE salariat
SET salariu = ROUND(salariu*0.9, 2)
WHERE TITULAR=’N’;
d. UPDATE salariat
SET salariu=ROUND(salariu+salariu*0.1)
WHERE titular =’Y’;
D
____ 75. Care este comanda corecta care afiseaza numele si salariul angajatilor condusi direct de ‘ENE DAN’?
a. SELECT nume, salariu
FROM salariati
WHERE cod_ang = (SELECT cod_manager FROM salariati
WHERE UPPER(nume) ='ENE' , UPPER(pren) ='DAN' );
b. SELECT nume, salariu
FROM salariati
WHERE cod_manager IN (SELECT cod_ang FROM salariati
WHERE nume ='ENE' , pren ='DAN' );
c. SELECT nume, salariu
FROM salariati
(SELECT cod_ang FROM salariati
WHERE UPPER(nume) ='ENE' AND UPPER(pren) ='DAN' );
d. SELECT nume, salariu
FROM salariati
WHERE cod_manager = (SELECT cod_ang FROM salariati
WHERE UPPER(nume) ='ENE' AND UPPER(pren) ='DAN' );
C
____ 76. Care este comanda corecta care afiseaza numele cititorilor care au carti nerestituite?
a. SELECT nume_cititor
FROM imprumuta
WHERE data_restituirii = NULL;
b. SELECT nume_cititor
FROM imprumuta
WHERE data_restituirii IS NOT NULL;
c. SELECT nume_cititor
FROM imprumuta
WHERE data_restituirii IS NULL;
d. SELECT nume_cititor
FROM imprumuta
WHERE data_restituirii > SYSDATE;
D
____ 77. Care este comanda corecta care sterge valoarea coloanei salariu pentru angajatii care sunt angajati cu cont
de colaborare?
a. DELETE salariu
FROM salariati
WHERE contract=’colaborare’;
b. UPDATE salariati
http://slidepdf.com/reader/full/rezolvari-baze-de-date 21/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
http://slidepdf.com/reader/full/rezolvari-baze-de-date 22/23
5/21/2018 RezolvariBazedeDate-slidepdf.com
http://slidepdf.com/reader/full/rezolvari-baze-de-date 23/23