Documente Academic
Documente Profesional
Documente Cultură
Licenta
Licenta
MULTIPLE CHOICE
1. Normalizarea rezolva
a. Anomaliile de stergere, de actualizare si de creare
b. Anomalia de actualizare, de stergere, si de creare
c. Anomalia de inserare, de actualizare si de creare
d. Anomaliile de stergere, de actualizare si de inserare
2. O cheie primara
a. Poate fi compusa numai dintr-un singur atribut
b. Poate fi compusa din mai multe atribute
c. Poate fi compusa dintr-un singur atribut care are si valori NULL
d. Poate fi compusa din zero, unul sau mai multe atribute
7. Limbajul de definire a datelor (DDL - Data Definition Language) nu include urmatoarea instructiune
a. INSERT
b. CREATE
c. ALTER
d. DROP
8. Limbajul de manipulare a datelor (DML – Data Manipulation Language) nu include instructiunea
a. INSERT
b. UPDATE
c. DELETE
d. DROP
12. Care este varianta corecta pentru a crea tabelul CARTE, cu caracteristicile de mai jos (codc cheie
primara, coddom cheie secundara), indicand cheile la nivel de tabel?
(Tabelele DOMENIU_CARTE si CARTE sunt in relatia 1:M).
a. CREATE TABLE CARTE
(codc CHAR(5) PRIMARY KEY,
titlu VARCHAR2(30),
autor VARCHAR2(30),
pret NUMBER(8,2),
nrex NUMBER(3),
coddom CHAR(5) NOT NULL);
b. CREATE TABLE CARTE
(codc CHAR(5) PRIMARY KEY,
titlu VARCHAR2(30),
autor VARCHAR2(30),
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));
13. Sa se creeze tabelul asociativ imprumuta, a carui structura este data mai jos(codc, codcit si dataim
fac parte din cheia primara). Sa se precizeze legatura cu tabelele carte si cititor.
a. IMPRUMUTA (
codc CHAR(5),
codcit CHAR(5),
dataim DATE DEFAULT SYSDATE,
datares DATE,
dataef DATE,
PRIMARY KEY (codc, codcit, dataim),
FOREIGN KEY (codc)
REFERENCES CARTE (codc),
FOREIGN KEY (codcit)
REFERENCES CITITOR(codcit));
b. IMPRUMUTA (
codc CHAR(5) PRIMARY KEY,
codcit CHAR(5) PRIMARY KEY,
dataim DATE DEFAULT SYSDATE PRIMARY KEY,
datares DATE,
dataef DATE,
FOREIGN KEY (codc)
REFERENCES CARTE (codc),
FOREIGN KEY (codcit)
REFERENCES CITITOR(codcit));
c. IMPRUMUTA (
codc CHAR(5) REFERENCES CARTE (codc),
codcit CHAR(5) REFERENCES CITITOR(codcit),
dataim DATE DEFAULT SYSDATE PRIMARY KEY,
datares DATE,
dataef DATE,
PRIMARY KEY (codc, codcit);
14. 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’;
15. Care este comanda corecta prin care se adauga constrangerea de cheie primara tabelului
IMPRUMUTA (cod_cititor, cod_carte, data_imprumut, data_restituire)?
a. ALTER TABLE IMPRUMUTA
ADD PRIMARY KEY cod_cititor, PRIMARY KEY cod_carte, PRIMARY KEY
data_imprumut;
b. ALTER TABLE IMPRUMUTA
ADD PRIMARY KEY cod_cititor, cod_carte, data_imprumut;
c. ALTER TABLE IMPRUMUTA
ADD CONSTRAINT cp PRIMARY KEY (cod_cititor, cod_carte, data_imprumut);
d. ALTER TABLE IMPRUMUTA
ADD CONSTRAINT PRIMARY KEY (cod_cititor, cod_carte, data_imprumut);
16. Sa se insereze in tabelul CARTE toate cartile din tabelul CARTE_INFO, presupunand ca tabelul
CARTE_INFO a fost deja creat.
a. CREATE TABLE CARTE
AS SELECT codc, titlu, autor
FROM CARTE_INFO;
b. INSERT INTO CARTE
SELECT
FROM CARTE_INFO;
c. CREATE TABLE CARTE
AS SELECT *
FROM CARTE_INFO;
d. INSERT INTO CARTE
SELECT *
FROM CARTE_INFO;
18. Sa se modifice pretul cartilor din biblioteca, care se gasesc intr-un numar de exemplare mai mic decat
media numarului de exemplare pe biblioteca. Noua valoare a pretului sa fie egala cu suma 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);
21. Sa se obtina pentru fiecare carte, codul sau si 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;
22. Care este secventa corecta care afiseaza cate carti au fost imprumutate cel putin de doua ori?
a. SELECT COUNT(COUNT(codcarte))
FROM imprumuta
GROUP BY codcarte
HAVING COUNT(codcarte)>1;
b. SELECT COUNT(codcarte)
FROM imprumuta
GROUP BY codcarte
HAVING COUNT(codcarte)>1;
c. SELECT COUNT(COUNT(codcarte))
FROM imprumuta
WHERE COUNT(codcarte)>1;
d. SELECT COUNT(codcarte)
FROM imprumuta
ORDER BY codcarte
HAVING COUNT(codcarte)>1;
23. Care este secventa corecta care afiseaza pentru fiecare domeniu de carte, numarul cartilor din domeniu,
media preturilor si numarul total de exemplare?
a. SELECT codcarte, COUNT(*), AVG(pret)
FROM CARTE
GROUP BY codcarte;
b. SELECT coddomeniu, AVG(pret), SUM(nrex)
FROM CARTE
GROUP BY codcarte;
c. SELECT coddomeniu, COUNT(*), AVG(pret), SUM(nrex)
FROM CARTE
GROUP BY coddomeniu;
d. SELECT COUNT(*), AVG(pret), SUM(nrex)
FROM CARTE
ORDER BY codcarte;
24. Care este comanda corecta care pentru fiecare facultate, 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 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;
25. Sa se obtina titlurile si preturile cartilor mai scumpe decat cartea avand titlul “Baze de date”, al carui
autor este Popescu (self join).
a. SELECT x.titlu, x.pret
FROM carte x, y
WHERE x.pret < y.pret
AND 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 date’
AND y.autor = ’ Popescu’;
c. SELECT x.titlu, x.pret
FROM carte x, carte y
WHERE x.pret > y.pret
AND 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’;
31. Care este comanda corecta care afiseaza 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 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’);
32. Care este comanda corecta care afiseaza numarul total de carti imprumutate si restituite pentru fiecare
cititor al unei biblioteci?
a. SELECT cod_cititor, COUNT()
FROM imprumuta
WHERE data_restituirii NOT NULL
GROUP BY cod_cititor;
b. SELECT cod_cititor, COUNT(*)
FROM imprumuta
WHERE data_restituirii IS NOT NULL;
c. SELECT cod_cititor, COUNT(*)
FROM imprumuta
GROUP BY cod_cititor;
d. SELECT cod_cititor, COUNT(*)
FROM imprumuta
WHERE data_restituirii IS NOT NULL
GROUP BY cod_cititor;
33. Care este comanda corecta care afiseaza numele salariatilor care castiga mai mult decat salariul mediu
pe companie, in ordine crescatoare a salariului?
a. SELECT nume
FROM salariati
WHERE salariu >AVG(salariu);
b. SELECT nume
FROM salariati
WHERE salariu > (SELECT AVG(salariu) FROM salariati)
ORDER BY salariu;
c. SELECT nume
FROM salariati
WHERE salariu > (SELECT AVG(salariu) FROM salariati
ORDER BY salariu);
d. SELECT nume
FROM salariati
WHERE salariu > (SELECT AVG(salariu) FROM salariati)
ORDER BY 1;
34. Care comanda listeaza numele tuturor angajatilor care au a treia litera din nume 'a'?
a. SELECT nume
FROM salariat
WHERE nume LIKE '__a$';
b. SELECT nume
FROM salariat
WHERE nume LIKE '%a%';
c. SELECT nume
FROM salariat
WHERE nume LIKE '__a%';
35. Care dintre urmatoarele comenzi intoarce numarul zilei din luna carespunzator datei curente?
a. SELECT TO_CHAR(SYSDATE,’DDD’)
FROM dual;
b. SELECT TO_CHAR(SYSDATE,’DAY’)
FROM dual;
c. SELECT TO_CHAR(SYSDATE,’D’)
FROM dual;
d. SELECT TO_CHAR(SYSDATE,’DD’)
FROM dual;
36. Care este comanda care nu elimina simultan spatiile de la inceputul si sfarsitul coloanei nume?
a. SELECT TRIM(nume)
FROM salariat;
b. SELECT RTRIM(LTRIM(nume))
FROM salariat;
c. SELECT LTRIM(RTRIM(nume))
FROM salariat;
d. SELECT LTRIM(nume)
FROM salariat;
37. Care comanda care afiseaza numarul de angajati din fiecare departament?
a. SELECT cod_departament, COUNT(*)
FROM salariat;
b. SELECT cod_departament, SUM(cod_angajat)
FROM salariat
GROUP BY cod_departament;
c. SELECT cod_departament, COUNT(*)
FROM salariat
GROUP BY cod_departament;
d. SELECT cod_departament, COUNT()
FROM salariat
GROUP BY cod_departament;
38.% Care este comanda corecta care afiseaza codul departamentelor pentru care salariul minim depaseste
5000?
a. SELECT cod_departament
FROM salariat
WHERE MIN(salariu)>5000
GROUP BY cod_departament;
b. SELECT cod_departament
FROM salariat
GROUP BY cod_departament5DVSXQVFRUHFW%
HAVING MIN(salariu)>5000;
c. SELECT cod_departament
FROM salariat
GROUP BY cod_departament
MIN(salariu)>5000;
41. Care este comanda corecta care afiseaza numarul total al cartilor imprumutate in anul 2009?
a. SELECT COUNT()
FROM imprumuta
WHERE TO_CHAR(data_imprumutului,’yyyy’)=2009;
b. SELECT COUNT(*)
FROM imprumuta
WHERE TO_CHAR(data_imprumutului,’yyyy’)=2009;
c. SELECT COUNT(*)
FROM imprumuta
WHERE data_imprumutului=2009;
d. SELECT COUNT(*)
FROM imprumuta
WHERE TO_CHAR(data_imprumutului,’yy’)=2009;
42. Care este comanda corecta care afiseaza numele si salariul angajatilor condusi direct de Ionescu
Mihai?
a. SELECT nume, salariu
FROM salariati
WHERE cod_sef != (SELECT cod_angajat FROM salariati
WHERE nume ='Ionescu' AND prenume ='Mihai' );
b. SELECT nume, salariu
FROM salariati
WHERE cod_sef = (SELECT cod_angajat FROM salariati
WHERE nume ='Ionescu', prenume ='Mihai' );
c. SELECT nume, salariu
FROM salariati
WHERE cod_sef = ‘Ionescu Mihai';
d. SELECT nume, salariu
FROM salariati
WHERE cod_sef = (SELECT cod_angajat FROM salariati
WHERE nume ='Ionescu' AND prenume ='Mihai' );
43. Care este comanda corecta care afiseaza numele salariatilor si numele departamentelor in care
lucreaza, inclusiv departamentele in care nu lucreaza salariati?
a. SELECT nume_salariat, nume_departament
FROM salariati s, departamente d
WHERE s.cod_departament = d.cod_departament;
b. SELECT nume_salariat, nume_departament
FROM salariati s, departamente d
WHERE s.cod_departament(+) = d.cod_departament;
c. SELECT nume_salariat, nume_departament
FROM salariati s, departamente d
WHERE s.cod_departament = d.cod_departament(+);
d. SELECT nume_salariat, nume_departament
FROM salariati s, departamente d
WHERE s.cod_departament(+) = d.cod_departament(+);
44. Care este comanda corecta care listeaza numele functiilor salariatilor care lucreaza in departamentul
30, fara duplicate?
a. SELECT DISTINCT nume_functie
FROM salariati s, functii f
WHERE cod_functie=cod_functie
AND cod_departament= 30;
b. SELECT DISTINCT nume_functie
FROM salariati s, functii f
WHERE s.cod_functie=f.cod_functie
AND cod_departament= 30;
c. SELECT DISTINCT nume_functie
FROM salariati, functii
WHERE s.cod_functie=f.cod_functie
AND cod_departament= 30;
d. SELECT nume_functie
FROM salariati s, functii f
WHERE s.cod_functie=f.cod_functie
AND cod_departament= 30;
45. Care este comanda corecta care afiseaza toate functiile pe care nu lucreaza angajati?
a. SELECT cod_functie
FROM functii
WHERE cod_functie IN
(SELECT cod_functie FROM salariati WHERE cod_functie IS NOT NULL);
b. SELECT cod_functie
FROM functii
WHERE cod_functie NOT IN
(SELECT cod_functie FROM salariati WHERE cod_functie IS NULL);
c. SELECT cod_functie
FROM functii
WHERE cod_functie NOT IN
(SELECT cod_functie FROM salariati);
d. SELECT cod_functie
FROM functii
WHERE cod_functie NOT IN
(SELECT cod_functie FROM salariati WHERE cod_functie IS NOT NULL);
46. Care este comanda corecta care listeaza fara duplicate, codul operelor de arta (numeric), codul
(numeric) si numele artistilor (sir de caractere)?
a. SELECT cod_opera, cod_artist, null nume
FROM opera
UNION ALL
SELECT null, cod_artist, nume
FROM artist;
b. SELECT cod_opera, cod_artist, TO_CHAR(null) nume
FROM opera
UNION
SELECT TO_NUMBER(null), cod_artist, nume
FROM artist;
c. SELECT cod_opera, cod_artist, nume
FROM opera
UNION
SELECT cod_artist, nume
FROM artist;
47. Care este comanda corecta care obtine codurile cartilor care se gasesc in biblioteca in mai putin de 20
exemplare si care au fost împrumutate de cel putin trei ori?
a. SELECT codcarte FROM carte
WHERE nrex < 20
MINUS
SELECT codcarte FROM imprumuta
GROUP BY codcarte
HAVING COUNT(*) > 3;
b. SELECT codcarte FROM carte
WHERE nrex < 20
INTERSECT
SELECT codcarte FROM imprumuta
GROUP BY codcarte
HAVING COUNT(*) > 3;
c. SELECT codcarte FROM carte
WHERE nrex < 20
UNION
SELECT codcarte FROM imprumuta
GROUP BY codcarte
HAVING COUNT(*) > 3;
48. Care este comanda corecta care afiseaza informatii referitoare la operele de arta, artistii care le-au creat
si galeriile în care sunt expuse?
a. SELECT cod_opera, titlu, data_crearii, a.cod_artist, nume, prenume,
g.cod_galerie, nume_galerie, adresa
FROM opera o, galerie g, artist a
WHERE o.cod_artist = a.cod_artist;
b. SELECT cod_opera, titlu, data_crearii, a.cod_artist, nume, prenume,
g.cod_galerie, nume_galerie, adresa
FROM opera, galerie, artist
WHERE opera.cod_artist = artist.cod_artist
AND o.cod_galerie = g.cod_galerie;
c. SELECT cod_opera, titlu, data_crearii, a.cod_artist, nume, prenume,
g.cod_galerie, nume_galerie, adresa
FROM opera o, galerie g, artist a
WHERE o.cod_artist = a.cod_artist
AND o.cod_galerie = g.cod_galerie;
49.% Care este comanda corecta care afiseaza informatii referitoare la titlul operelor de arta expuse în
galeriile având codul 20 sau 40, respectiv numele si prenumele artistilor care le-au realizat?
a. SELECT titlu, nume, prenume
FROM opera JOIN artist
WHERE cod_galerie IN (20, 40);
b. SELECT titlu, nume, prenume
FROM opera NATURAL JOIN artist5DVSXQVFRUHFW%
WHERE cod_galerie IN (20, 40);
c. SELECT titlu, nume, prenume
FROM opera NATURAL JOIN artist USING cod_artist
WHERE cod_galerie IN (20, 40);
d. SELECT titlu, nume, prenume
FROM opera JOIN artist ON (cod_artist)
WHERE cod_galerie IN (20, 40);
50.$ Care este comanda corecta care afiseaza informatii referitoare la artisti si operele acestora, inclusiv cei
care nu au opere expuse în cadrul muzeului?
a. SELECT nume, prenume, titlu
FROM opera o
RIGHT OUTER JOIN artist a ON (o.cod_artist = a.cod_artist); 5DVSXQVFRUHFW$
b. SELECT nume, prenume, titlu
FROM opera o
LEFT OUTER JOIN artist a ON (o.cod_artist = a.cod_artist);
c. SELECT nume, prenume, titlu
FROM opera o, artist
WHERE o.cod_artist = a.cod_artist(+);
d. SELECT nume, prenume, titlu
FROM opera o
FULL OUTER JOIN artist a ON o.cod_artist = a.cod_artist;
51. Care este comanda corecta care afiseaza numele si prenumele artistilor, precum si titlurile operelor
create de acestia? Se vor afisa si artistii care nu au opere expuse în cadrul muzeului, precum si titlurile
operelor al caror autor este necunoscut.
a. SELECT nume, prenume, titlu
FROM opera o
RIGHT OUTER JOIN artist a ON (o.cod_artist = a.cod_artist);
b. SELECT nume, prenume, titlu
FROM opera o, artist a
WHERE o.cod_artist(+) = a.cod_artist(+);
c. SELECT nume, prenume, titlu
FROM opera o
FULL OUTER JOIN artist a ON (o.cod_artist = a.cod_artist); Raspuns corect : C)
d. SELECT nume, prenume, titlu
FROM opera o
LEFT OUTER JOIN artist a ON (o.cod_artist = a.cod_artist);
52. Care este comanda corecta care afiseaza titlul, codul artistului si valoarea operelor create de artistul
caruia îi apartine opera având codul 200 si care se afla expuse în aceeasi galerie cu operele al caror cod
este 100 sau 110? Se presupune ca o opera are un singur autor.
a. SELECT titlu, cod_artist, valoare
FROM opera
WHERE cod_artist != (SELECT MAX(cod_artist)
FROM opera WHERE cod_opera = 200)
AND cod_galerie IN (SELECT cod_galerie
FROM opera WHERE cod_opera IN (100, 110));
b. SELECT titlu, cod_artist, valoare
FROM opera
WHERE cod_artist = (SELECT cod_artist
FROM opera WHERE cod_opera = 200)
AND cod_galerie IN (SELECT cod_galerie
FROM opera WHERE cod_opera IN (100, 110));
c. SELECT titlu, cod_artist, valoare
FROM opera
WHERE cod_artist = (SELECT cod_artist
FROM opera WHERE cod_opera = 200)
AND cod_galerie NOT IN (SELECT cod_galerie
FROM opera WHERE cod_opera IN (100, 110));
53. Care este comanda corecta care afiseaza pentru fiecare artist titlul si valoarea celei mai ieftine opere de
arta expuse în muzeu?
a. SELECT titlu, cod_artist, valoare
FROM opera
WHERE valoare IN (SELECT MIN(valoare)
FROM opera
GROUP BY cod_artist);
b. SELECT titlu, cod_artist, valoare
FROM opera
WHERE valoare = (SELECT MIN(valoare)
FROM opera);
c. SELECT titlu, cod_artist, valoare
FROM opera
WHERE valoare = (SELECT MIN(valoare)
FROM opera
ORDER BY cod_artist);
54. Care este comanda corecta care afiseaza codul, numele si prenumele artistilor care au cel putin trei
opere de arta expuse în muzeu?
a. SELECT cod_artist, nume, prenume
FROM artist a
WHERE 3 <= (SELECT COUNT(*)
FROM opera);
b. SELECT cod_artist, nume, prenume
FROM artist a
WHERE 3 <= (SELECT COUNT(*)
FROM opera
WHERE cod_artist = a.cod_artist);
c. SELECT cod_artist, nume, prenume
FROM artist a
WHERE 3 <= (SELECT SUM(cod_opera)
FROM opera
WHERE cod_artist = a.cod_artist);
55. Care este comanda care sterge toti angajatii din departamentul 80 care nu au comision?
a. DELETE FROM angajati
WHERE comision IS NULL
OR cod_departament = 80;
b. DELETE FROM angajati
WHERE comision IS NULL
AND cod_departament = 80;
c. DELETE FROM angajati
WHERE comision = NULL
AND cod_departament = 80;
58.% Considerând galeriile al caror cod este mai mic decât 50, care este comanda corecta care calculeaza
media valorilor operelor:
- pentru fiecare galerie si, în cadrul acesteia, pentru fiecare artist;
- pentru fiecare artist si, în cadrul acestuia, pentru anii de achizitie corespunzatori.
a. SELECT cod_galerie, cod_artist,
TO_CHAR(data_achizitiei, 'yyyy') "an achizitie",
AVG(valoare) "Valoare medie"
FROM opera WHERE cod_galerie < 50
GROUP BY CUBE (cod_galerie, cod_artist, TO_CHAR(data_achizitiei, 'yyyy'));
b. SELECT cod_galerie, cod_artist,
TO_CHAR(data_achizitiei, 'yyyy') "an achizitie",
AVG(valoare) "Valoare medie"
FROM opera WHERE cod_galerie < 50 5DVSXQVFRUHFW%
GROUP BY GROUPING SETS
((cod_galerie, cod_artist), (cod_artist, TO_CHAR(data_achizitiei, 'yyyy')));
c. SELECT cod_galerie, cod_artist,
TO_CHAR(data_achizitiei, 'yyyy') "an achizitie",
AVG(valoare) "Valoare medie"
FROM opera WHERE cod_galerie < 50
GROUP BY ROLLUP (cod_galerie, cod_artist, TO_CHAR(data_achizitiei, 'yyyy'));
61. Care este comanda corecta care obtine numele primilor trei angajati care au cele mai mari salarii?
a. SELECT nume
FROM angajati a
WHERE 3>(SELECT COUNT(*)
FROM angajati
WHERE salariu > a.salariu);
b. SELECT nume
FROM angajati a
WHERE COUNT(*) >(SELECT 3
FROM angajati
WHERE salariu > a.salariu);
c. SELECT nume
FROM angajati
WHERE 3>(SELECT COUNT(*)
FROM angajati);
62. Care este comanda corecta care obtine numele angajatilor care castiga salariul maxim in departamentul
in care lucreaza?
a. SELECT nume
FROM salariati s
WHERE salariu =(SELECT MIN(salariu)
FROM angajati );
b. SELECT nume
FROM salariati
WHERE salariu =(SELECT salariu
FROM salariati
WHERE salariu = MIN(salariu));
c. SELECT nume
FROM salariati s
WHERE salariu =(SELECT MIN(salariu)
FROM angajati
WHERE cod_departament=s.cod_departament);
63. Care este comanda corecta care obtine titlurile cartilor care momentan sunt imprumutate (inca nu au
fost restituite)? Dataef reprezinta data la care cititor a restituit efectiv cartea.
a. SELECT titlu
FROM carte
WHERE cod_carte IN
(SELECT DISTINCT cod_carte
FROM imprumuta
WHERE dataef IS NULL);
b. SELECT titlu
FROM carte
WHERE cod_carte NOT IN
(SELECT DISTINCT cod_carte
FROM imprumuta
WHERE dataef IS NULL);
c. SELECT titlu
FROM carte
WHERE cod_carte IN
(SELECT DISTINCT cod_carte
FROM imprumuta
WHERE dataef IS NOT NULL);
64. Care este comanda corecta care obtine numele cititorilor si titlurile cartilor imprumutate de acestia in
anul 2008?
a. SELECT nume, titlu
FROM cititor, carte, imprumuta
WHERE imprumuta.cod_carte= carte.cod_carte
AND TO_CHAR(data_imprumut,’yyyy’) = 2008;
b. SELECT nume, titlu
FROM cititor, carte, imprumuta
WHERE imprumuta.cod_carte= carte.cod_carte
AND imprumuta.cod_cititor= cititor.cod_cititor
AND TO_CHAR(data_imprumut,’yyyy’) = 2008;
c. SELECT nume, titlu
FROM cititor, carte, imprumuta
WHERE imprumuta.cod_carte= carte.cod_carte
AND imprumuta.cod_cititor= cititor.cod_cititor
AND TO_CHAR(data_imprumut,’2008’) = 2008;
65.% Care este comanda corecta care afiseaza jobul pentru care salariul mediu este minim?
a. SELECT cod_job, AVG(salariu)
FROM angajati
GROUP BY cod_job
HAVING AVG(salariu)=(SELECT MIN(salariu)
FROM angajati
GROUP BY cod_job);
b. SELECT cod_job, AVG(salariu)
FROM angajati 5DSXQVFRUHFW%
GROUP BY cod_job
HAVING AVG(salariu)=(SELECT MIN(AVG(salariu))
FROM angajati
GROUP BY cod_job);
c. SELECT cod_job, AVG(salariu)
FROM angajati
GROUP BY cod_job
HAVING MIN(salariu)=(SELECT AVG(MIN(salariu))
FROM angajati
GROUP BY cod_job);
Criptografie - Licenta
MULTIPLE CHOICE
1. Considerati cifrul de permutare al lui Hill. Pentru numarul intreg fixat d = 2 si cheia de criptare
a. NHZH c. PIHU
b. NIZH d. HIPU
2. Considerati cifrul de permutare al lui Hill. Pentru numarul intreg fixat d = 2 si cheia de criptare
a. EYAG c. YEUG
b. EYGU d. EYUG
3. Considerati cifrul de permutare al lui Hill. Pentru numarul intreg fixat d = 2 si cheia de criptare
a. HIWN c. NXWK
b. HIWK d. IHNW
4. Considerati cifrul de permutare al lui Hill. Pentru numarul intreg fixat d = 2 si cheia de criptare
a. VXBQ c. VXCR
b. WXBQ d. VXBP
5. Considerati cifrul de permutare al lui Hill. Pentru numarul intreg fixat d = 2 si cheia de criptare
a. MAZI c. LAZH
b. MAXI d. LAZI
6. Considerati alfabetul latin din care eliminati litera de frecventa redusa W. Folosind sistemul de
codificare Polybios, codificati textul clar EXCLAMARE. Alegeti varianta corecta din cele de mai jos.
a. AEECACCBAACCAADCAE c. AEECABCBABCCAADCAE
b. AEECACCAAACCAADCAD d. AEECABCBAACCAADCAE
7. Considerati alfabetul latin din care eliminati litera de frecventa redusa Q. Folosind sistemul de
codificare Polybios, codificati textul clar STIRPIRE. Alegeti varianta corecta din cele de mai jos.
a. DDDEBDDBDABDDBAE c. DCDEBDDBDABDDBAE
b. DCDDBDDBDABDDBAE d. DCDDBDDBDABDDDAE
8. Considerati alfabetul latin din care eliminati litera de frecventa redusa Y. Folosind sistemul de
codificare Polybios, codificati textul clar ZIRCONIU. Alegeti varianta corecta din cele de mai jos.
a. EEBDDCACCECDBDEA c. EEBDDCACECCDDBEA
b. EEBCDCACECCDBDEA d. EEBCDCACCECDDBAE
9. Considerati alfabetul latin din care eliminati litera de frecventa redusa W. Folosind sistemul de
codificare Polybios, decodificati textul criptat AEECACCBAACCAADCAE. Alegeti varianta corecta
din cele de mai jos.
a. EXCLUDERE c. EXCHANGE
b. EXCLAMARE d. INCLUDERE
10. Considerati alfabetul latin din care eliminati litera de frecventa redusa Q. Folosind sistemul de
codificare Polybios, decodificati textul criptat DCDDBDDBDABDDBAE. Alegeti varianta corecta din
cele de mai jos.
a. STIRBIRE c. STIRPIRE
b. STIRPARE d. ESTIMARE
ANS: C
11. Consideram un schimb de mesaje in care se foloseste sistemul de criptare afin a carei functie de
criptare este definita prin , unde reprezinta o cheie din multimea tuturor
cheilor de criptare K, iar x reprezinta codificarea textului in clar. Pentru schimbul de mesaje se doreste
criptarea cuvntului PAINE. Aceasta este:
a. AHFUT c. BNFUT
b. BNFZT d. ANFVT
12. Consideram un schimb de mesaje in care se foloseste sistemul de criptare afin a carei functie de
criptare este definita prin , unde reprezinta o cheie din multimea tuturor
cheilor de criptare K, iar x reprezinta codificarea textului in clar. Pentru schimbul de mesaje se doreste
criptarea cuvntului AMURG. Aceasta este:
a. DJNSU c. DJSNT
b. DJNST d. CJSNT
13. Consideram un schimb de mesaje in care se foloseste sistemul de criptare afin a carei functie de
criptare este definita prin , unde reprezinta o cheie din multimea tuturor
cheilor de criptare K, iar x reprezinta codificarea textului in clar. Pentru schimbul de mesaje se doreste
criptarea cuvntului INGER. Aceasta este:
a. UVLBO c. VULBO
b. UVLBR d. VULCO
14. Consideram un schimb de mesaje in care se foloseste sistemul de criptare afin a carei functie de
criptare este definita prin , unde reprezinta o cheie din multimea tuturor
cheilor de criptare K, iar x reprezinta codificarea textului in clar. Pentru schimbul de mesaje se doreste
criptarea cuvntului VULPE. Aceasta este:
a. EZGAW c. ZEGWX
b. ZEGXW d. EZGAX
15. Codificati textul clar INCAS folosind sistemul de criptare Vigenere cu cheia secreta GARA. Solutia
este...
a. ONTAY c. ONSAY
b. NMTAY d. ONSAZ
16. Codificati textul clar IMPAR folosind sistemul de criptare Vigenere cu cheia secreta VARF. Solutia
este...
a. EMGFN c. DMHFM
b. EMHFM d. DMGFM
17. Codificati textul clar UMBRA folosind sistemul de criptare Vigenere cu cheia secreta CARD. Solutia
este...
a. WMTUC c. WMSUC
b. VMSUC d. VMSUD
18. Codificati textul clar ZIMBRU folosind sistemul de criptare Vigenere cu cheia secreta BILA. Solutia
este...
a. ARYBSC c. AQXBSC
b. AQXCSB d. AQYBSC
19. Codificati textul clar USCAT folosind sistemul de criptare Vigenere cu cheia secreta LABIL. Solutia
este...
a. FSDIF c. FSDIE
b. ESDIF d. ESDIE
20. Se da secventa binara de text clar 101011. Codificati aceasta secventa folosind cheia fluida 1010,
folosind un sistem aditiv fluid binar de criptare.
a. 010001 c. 001000
b. 000010 d. 000001
21. Se da secventa binara de text clar 110100. Codificati aceasta secventa folosind cheia fluida 1011,
folosind un sistem aditiv fluid binar de criptare.
a. 001010 c. 010010
b. 011010 d. 010110
22. Se considera secventa binara de text criptat 110010. Folosind intr-un sistem aditiv fluid binar de
criptare cheia fluida secreta 1101, se cere decriptarea secventei.
a. 000101 c. 100111
b. 001011 d. 100010
23.$ Se considera secventa binara de text criptat 111001. Folosind intr-un sistem aditiv fluid binar de
criptare cheia fluida secreta 1001, se cere decriptarea secventei.
a. 011111 5DVSXQVFRUHFW$ c. 011101
b. 100000 d. 011110
24. Folosind sistemul de criptare asincron cu auto-cheie pentru k = 11, codificarea textului clar GRADINA
este ...
a. RIILTGG c. RIILSHH
b. RIJLTGG d. RIILSHI
25. Folosind sistemul de criptare asincron cu auto-cheie pentru k = 8, codificarea textului clar CORIDA
este ...
a. KYRYBA c. KYPXAB
b. KYRYBB d. KYPXAA
26. Folosind sistemul de criptare asincron cu auto-cheie pentru k = 7, codificarea textului clar STRIGAT
este ...
a. ZSJRXYQ c. ZSJRXXR
b. ZSJRXXQ d. ZSRXYRR
27. Folosind sistemul de criptare asincron cu auto-cheie pentru k = 11, decodificarea textului criptat
RIILTGG este ...
a. GRADINI c. GRADINA
b. GRANINI d. GRINDINA
28. Folosind sistemul de criptare asincron cu auto-cheie pentru k = 8, decodificarea textului criptat
KYPXAA este ...
a. COLIBA c. COLINA
b. CORIDA d. CORIDE
29. Folosind sistemul de criptare asincron cu auto-cheie pentru k = 7, decodificarea textului criptat
ZSJRXXQ este ...
a. STRICAT c. STRIGAT
b. STRESAT d. STOCATE
30. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare ECB al acestuia, codificati
a. 0101110111000111 c. 0011011101011011
b. 0111110110011110 d. 0011011101011011
31. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare ECB al acestuia, codificati
a. 1111010110100111 c. 1111101011000111
b. 1111010111000111 d. 1111011010010111
32. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare ECB al acestuia, codificati
a. 1001110110001111 c. 1100111010001111
b. 0011011110001111 d. 0011101100101111
33. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare CBC al acestuia, codificati
34. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare CBC al acestuia, codificati
35. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare CBC al acestuia, codificati
36. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare OFB al acestuia, codificati
37. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare OFB al acestuia, codificati
39. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare CFB al acestuia, codificati
40. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare CFB al acestuia, codificati
41. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare CFB al acestuia, codificati
42. Pentru codificarea unui text clar se foloseste un sistem de criptare cu cheie publica. Daca criptanalistul
dispune de un text criptat y, atunci acesta poate cauta un text clar x astfel incat . Ce modalitate
de aparare considerati a fi posibila in acest caz?
a. gradul de complexitate al sistemului c. gradul de complexitate al textului clar x
b. gradul de complexitate al textului criptat y d. asigurarea accesului la informatie doar
partilor autorizate
45. Fie d exponentul de deciptare al cifrului RSA construit cu numerele prime p = 5 si q = 7. Daca
exponentul de criptare este e = 5, atunci
a. d = 7 c. d = 11
b. d = 5 d. d = 3
46. Fie d exponentul de deciptare al cifrului RSA construit cu numerele prime p = 3 si q = 5. Daca
exponentul de criptare este e = 7, atunci
a. d = 5 c. d = 11
b. d = 7 d. d = 3
47. Daca d este exponentul de deciptare al unui cifru RSA construit cu numerele prime p = 5 si q = 17 si
avand exponentul de criptare este e = 3, atunci
a. d = 13 c. d = 43
b. d = 38 d. d = 23
48. Un utilizator al cifrului RSA are ca cheie publica (n, e) = (35, 5) si ca cheie secreta d = 5. Daca
primeste textul cifrat c = 33 atunci textul in clar m corespunzator este:
a. m = 3 c. m = 13
b. m = 15 d. m = 11
49. Un utilizator al cifrului RSA are ca cheie publica (n, e) = (35, 5) si ca cheie secreta d = 5. Daca
primeste textul cifrat c = 3 atunci textul in clar m corespunzator este:
a. m = 3 c. m = 33
b. m = 15 d. m = 1
51. Fie e exponentul de criptare al unui cifru RSA construit cu numerele prime p = 5 si q = 17 si avand ca
exponent de decriptare pe d = 43. Avem:
a. e = 3 c. e = 15
b. e = 5 d. e = 9
52. Fie e exponentul de criptare al unui cifru RSA construit cu numerele prime p = 7 si q = 11 si avand ca
exponent de decriptare pe d = 11. Avem:
a. e = 3 c. e = 15
b. e = 5 d. e = 11
53. Fie e = 4 exponentul de criptare al unui cifru RSA construit cu numerele prime p = 3 si q = 5.
Determinati codificarea c a textului clar m = 11.
a. c = 3 c. c = 15
b. c = 5 d. c = 1
54. Fie Folosind eventual un algoritm de exponentiere rapida modulo 15, avem:
a. r = 7 c. r = 12
b. r = 4 d. r = 6
57. Folosind protocolul Diffie - Hellman Alice si Bob aleg p = 7 si pe g = 3 ca radacina primitiva modulo
7. Daca cheia secreta a lui Alice este a = 4, cheia secreta a lui Bob este b = 2, iar k este cheia secreta
comuna, atunci
a. k = 5 c. k = 6
b. k = 2 d. k = 4
58. Folosind protocolul Diffie - Hellman Alice si Bob aleg p = 17 si pe g = 3 ca radacina primitiva modulo
17. Daca cheia secreta a lui Alice este a = 7, cheia secreta a lui Bob este b = 4, iar k este cheia secreta
comuna, atunci
a. k = 8 c. k = 4
b. k = 3 d. k = 5
(A) cu si
(B) astfel incat
(C) este permutare a multimii
este adevarata?
a. A c. C 5DVSXQVFRUHFW&
b. B d. nici una
66. Daca r este numarul rundelor cifrului DES ca cifru Feistel, atunci
a. r = 13 c. r = 5
b. r = 18 d. r = 16
67. Fie cifrul RSA construit cu numerele prime p, q si fie n = pq. Daca e este exponentul de criptare,
atunci:
a. gcd(e, (p - 1)(q - 1)) = 1 c. gcd(e, n + 1) = 1
b. gcd(e, n) = 1 d. gcd(e, (p - 1)(q - 1)) 1
68. Fie cifrul RSA construit cu numerele prime p, q si fie n = pq. Daca n = pq, e este exponentul de
criptare si d este exponentul de decriptare, iar , atunci:
a. c.
b. d.
71. Fie cifrul El-Gamal asociat numarului prim p = 11 si radacinii primitive modulo 11 g = 2. Cheia
secreta a lui Alice este a = 3, iar cea a lui Bob b = 4. Daca Bob cripteaza mesajul in clar m = 9 pentru a
fi transmis lui Alice obtine (B, C). Avem:
72. Fie cifrul El-Gamal asociat numarului prim p = 7 si radacinii primitive modulo 7 egale cu 5. Cheia
secreta a lui Alice este 3, iar cea a lui Bob 4. Daca Bob cripteaza mesajul in clar 11 pentru a fi transmis
lui Alice obtine:
(A) (2, 6)
(B) (5, 3)
(C) (2, 4)
a. nici un raspuns corect c. B
b. A d. C
73. Fie cifrul El-Gamal asociat numarului prim p = 11 si radacinii primitive modulo 11 g = 2. Cheia
secreta a lui Alice este a = 3, iar cea a lui Bob b = 4. Alice primeste de la Bob textul criptat (5, 3) al
textului in clar m. Avem:
a. m = 9 c. m = 7
b. m = 5 d. m = 6
74. Fie cifrul El-Gamal asociat numarului prim p = 11 si radacinii primitive modulo 11 egale cu 2. Cheia
secreta a lui Alice este a = 4, iar cea a lui Bob b = 7. Alice primeste de la Bob textul criptat (3, 7) al
textului in clar. Decodificand, se obtine mesajul clar
a. 9 c. 7
b. 10 d. 6
75. Fie cifrul El-Gamal asociat numarului prim p = 23 si radacinii primitive modulo 23 g = 7. Cheia
secreta a lui Alice este a = 6, iar cea a lui Bob b = 3. Bob cripteaza textul clar m = 7 si obtine (B, C).
Avem:
76. Fie cifrul El-Gamal asociat numarului prim p = 23 si radacinii primitive modulo 23 g = 7. Cheia
secreta a lui Alice este a = 6, iar cea a lui Bob b = 3. Textul cifrat transmis de Bob lui Alice este (B, C)
= (21, 11). Daca m este textul in clar corespunzator, atunci
a. m = 13 c. m = 9
b. m = 7 d. m = 11
77. Alice alege numerele prime p = 5, q = 11 si exponentul de criptare e = 27. Semnatura RSA pentru
documentul m = 15 emis de Alice este , unde d este exponentul de decriptare
corespunzator lui e. Avem:
a. s = 20 c. s = 41
b. s = 13 d. s = 31
78. Alice alege numerele prime p = 5, q = 11 si exponentul de criptare e = 27. Semnatura RSA pentru
documentul m = 24 emis de Alice este , unde d este exponentul de decriptare
corespunzator lui e. Avem:
a. s = 13 c. s = 43
b. s = 19 d. s = 31
79. Alice alege numerul prim p = 13 si radacina primitiva modulo 13 g = 2 si cheia secreta a = 7. Alice
foloseste semnatura digitala El-Gamal pentru a semna documentul pentru care h(x) = 8,
unde h este o hash-functie cunoscuta public. Alege k = 5 si obtine semnatura (r, s), unde
, iar este inversul lui 5 modulo 12. Avem
a. (r, s) = (6, 10) c. (r, s) = (11, 4)
b. (r, s) = (9, 7) d. (r, s) = (5, 11)