Sunteți pe pagina 1din 30

Baze de Date 2010 _ Intrebări orientative

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

3. Prima forma normala rezolva anomaliile cauzate de


a. Grupurile repetitive si atributele multivaloare
b. Dependentele partiale de cheia primara
c. Dependentele tranzitive
d. Relatiile de tip unu-la-mai-multi

4. A doua forma normala rezolva anomaliile cauzate de


a. Grupurile repetitive
b. Dependentele partiale de cheia primara
c. Grupurile repetitive si atributele multivaloare
d. Dependentele tranzitive

5. A treia forma normala rezolva anomaliile cauzate de


a. Dependentele partiale de cheia primara
b. Grupurile repetitive
c. Dependentele tranzitive
d. Atributele multivaloare

6. 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

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

9. Sintaxa corecta pentru o restrictie NOT NULL este


a. nume_coloana REFERENCES NOT NULL
b. nume_coloana tip_de_date IS NOT NULL
c. nume_coloana tip_de_date NOT NULL
d. DEFAULT [NULL | NOT NULL]

10. Utilizarile valide ale instructiunii ALTER TABLE nu includ


a. Adaugarea coloanelor
b. Eliminarea unei chei primare
c. Redenumirea unui tabel
d. Adaugarea unei restrictii

11. Operatorul UNION


a. Include randurile duplicate in setul de rezultate
b. Combina seturile de rezultate a doua interogari intr-un singur set de rezultate si elimina
randurile duplicate din setul de rezultate
c. Combina doua interogari intr-o singura interogare de tip join
d. Este numit JOIN in unele implementari SQL

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;

17. Pentru profesorii titulari, sa se maresca cumulul cu 10% si sa se rotunjeasca la 2 zecimale.


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

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

19. O uniune (join) fara o clauza WHERE sau o clauza JOIN


a. Nu returneaza nici un rand din setul de rezultate
b. Reprezinta o uniune interna (inner join)
c. Are ca rezultat un produs cartezian
d. Reprezinta o uniune externa (outer join)

20. O uniune externa (outer join) nu


a. Poate fi scrisa in Oracle SQL folosind un simbol (+) in clauza FROM
b. Poate fi scrisa in Oracle SQL folosind un simbol (+) in clauza WHERE
c. Returneaza toate randurile din unul sau din ambele tabele
d. Poate fi catre stanga, catre dreapta sau completa

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’;

26. Pentru tabelele


PROFESORI(codp, nume, pren, salariu)
COPII (codc, codp, nume_c, virsta)
care este secventa corecta pentru a afisa profesorii care au 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 a.codp IN DISTINCT codp
FROM COPII;
c. SELECT a.nume, a.pren
FROM PROFESORI A
WHERE a.codp IN COPII;

27. Pentru tabelele


PROFESORI(codp, nume, pren, salariu)
COPII (codc, codp, nume_c, virsta)
care este secventa corecta pentru a afisa profesorii fara copii?
a. SELECT a.nume, a.pren
FROM PROFESORI A
WHERE a.codp IS NOT (SELECT DISTINCT codp FROM COPII);
b. SELECT a.nume, a.pren
FROM PROFESORI A
WHERE a.codp NOT IN (SELECT DISTINCT codp FROM COPII);
c. SELECT a.nume, a.pren
FROM PROFESORI A
WHERE a.codp NOT IN SELECT codp FROM copii;

28. 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), valoare 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 sale?
a. SELECT a.seriain, a.seriasf, b.nume
FROM actiuni a, actionari b
WHERE a.cod_act=b.cod_act AND b.nume=‘&x’;
b. SELECT a.seriain, a.seriasf, b.nume
FROM actiuni , actionari
WHERE a.cod_act=b.cod_act AND nume=‘&x’;
c. SELECT a.seriain, a.seriasf, b.nume
FROM actiuni a, actionari b
WHERE a.cod_act=b.cod_act ;
d. SELECT a.seriain, a.seriasf, b.nume
FROM actiuni a, actionari b
WHERE a.cod_act=b.cod_act OR b.nume=‘&x’;

29. Se considera pentru actionarii unei firme, tabelul


ACTIUNI (cod_act number(5), seriain number(8), seriasf number(8), valoare 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 (numarul 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;

30. 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_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’;

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;

39. Care este comanda corecta care afiseza:


- codurile departamentelor in care lucreaza cel putin un angajat, iar pentru fiecare
dintre acestea si pentru fiecare manager care lucreaza in departamentul respectiv numarul
de salariati;
- numarul de salariati pentru fiecare departament indiferent de manager;
- numarul de angajati subordonati unui manager indiferent de department;
- numarul total de angajati din companie?
a. SELECT cod_depart, cod_manager, COUNT(cod_angajat)
FROM salariati
GROUP BY CUBE (cod_depart, cod_manager);
b. SELECT cod_depart, cod_manager, COUNT(cod_angajat)
FROM salariati
GROUP BY cod_depart, cod_manager;
c. SELECT cod_depart, cod_manager, COUNT(cod_angajat)
FROM salariati
GROUP BY ROLLUP (cod_depart, cod_manager);

40. Care este comanda corecta care afiseaza:


- codurile departamentelor in care lucreaza cel putin un angajat, iar pentru fiecare dintre
acestea si pentru fiecare manager care lucreaza in departamentul respectiv numarul de
salariati;
- numarul de salariati pentru fiecare departament indiferent de manager;
- numarul total de angajati din companie?
a. SELECT cod_depart, cod_manager, COUNT(*)
FROM salariati
GROUP BY CUBE (cod_depart, cod_manager);
b. SELECT cod_depart, cod_manager, COUNT(*)
FROM salariati
GROUP BY cod_depart, cod_manager;
c. SELECT cod_depart, cod_manager, COUNT(*)
FROM salariati
GROUP BY ROLLUP (cod_depart, cod_manager);

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;

56. Care este comanda corecta care afiseaza:


- valoarea totala a operelor de arta ale unui autor, expuse în cadrul fiecarei galerii;
- valoarea totala a operelor din fiecare galerie, indiferent de autor;
- valoarea totala a operelor fiecarui autor, indiferent de galerie;
- valoarea totala a operelor.
a. SELECT cod_galerie, cod_artist, SUM(valoare)
FROM opera
GROUP BY cod_galerie, cod_artist;
b. SELECT cod_galerie, cod_artist, SUM(valoare)
FROM opera
GROUP BY ROLLUP(cod_galerie, cod_artist);
c. SELECT cod_galerie, cod_artist, SUM(valoare)
FROM opera
GROUP BY CUBE(cod_galerie, cod_artist);

57. Care este comanda corecta care afiseaza:


- valoarea totala a operelor de arta ale unui autor, expuse în cadrul fiecarei galerii;
- valoarea totala a operelor din fiecare galerie, indiferent de autor;
- valoarea totala a operelor.
a. SELECT cod_galerie, cod_artist, SUM(valoare)
FROM opera
GROUP BY cod_galerie, cod_artist;
b. SELECT cod_galerie, cod_artist, SUM(valoare)
FROM opera
GROUP BY ROLLUP(cod_galerie, cod_artist);
c. SELECT cod_galerie, cod_artist, SUM(valoare)
FROM opera
GROUP BY CUBE(cod_galerie, cod_artist);

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

59.& Se da urmatoarea vizualizare


CREATE VIEW v_angajati
AS
SELECT cod_ang, nume, prenume, salariu, data_angajarii
FROM angajati
WITH READ ONLY;
Care dintre urmatoarele comenzi este corecta?
a. INSERT INTO v_angajati
VALUES (10, ‘Ion’, ‘Daniel’, 1000,’05/12/2009’);
b. DELETE FROM v_angajati
WHERE salariu > 1000;
c. SELECT * 5DVSXQVFRUHFW&
FROM v_angajati;
d. UPDATE v_angajati
SET salariu = salariu + 500
WHERE cod_angajat = 10;

60.% Se da urmatoarea vizualizare


CREATE VIEW v_angajati
AS
SELECT cod_ang, nume, prenume, salariu, cod_departament
FROM angajati
WHERE cod_departament = 30
WITH CHECK OPTION;
Care dintre urmatoarele comenzi este corecta?
a. INSERT INTO v_angajati
VALUES (10, ‘Ion’, ‘Daniel’, 1000, 505);
b. SELECT *
FROM v_angajati5DVSXQVFRUHFW%
WHERE salariu > 505;
c. UPDATE v_angajati
SET cod_departament= 505
WHERE cod_departament = 30;

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

, codificarea textului clar CLAR este...

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

, codificarea textului clar GUMA este...

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

, codificarea textului clar LESA este...

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

, codificarea textului clar ZARE este...

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

, codificarea textului clar LIRA este...

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

secventa de text clar x = 1100110110011110, folosind cheia de criptare .

a. 0101110111000111 c. 0011011101011011
b. 0111110110011110 d. 0011011101011011

31. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare ECB al acestuia, codificati

secventa de text clar x = 1111010110101101, folosind cheia de criptare .

a. 1111010110100111 c. 1111101011000111
b. 1111010111000111 d. 1111011010010111
32. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare ECB al acestuia, codificati

secventa de text clar x = 1001110110001111, folosind cheia de criptare .

a. 1001110110001111 c. 1100111010001111
b. 0011011110001111 d. 0011101100101111

33. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare CBC al acestuia, codificati

secventa de text clar x = 1101110110101001, folosind cheia de criptare . Blocul

initial este IV = 1100.


a. 0101000010010001 c. 1000100100001001
b. 0001010100001001 d. 1000101000001100

34. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare CBC al acestuia, codificati

secventa de text clar x = 1010010110000001, folosind cheia de criptare . Blocul

initial este IV = 1111.


a. 1100011010110011 c. 0011100111101100
b. 0101100111101010 d. 0011010111101100

35. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare CBC al acestuia, codificati

secventa de text clar x = 1101010110101110, folosind cheia de criptare . Blocul

initial este IV = 0110.


a. 0111001000011111 c. 1110100000101111
b. 1001001010001111 d. 1110001001001111

36. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare OFB al acestuia, codificati

secventa de text clar x = 1001110001000001, folosind cheia de criptare . Blocul

initial este IV = 0011.


a. 1010111100101000 c. 1010000000011000
b. 0011000000010010 d. 0011000000100001

37. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare OFB al acestuia, codificati

secventa de text clar x = 1011110100110101, folosind cheia de criptare . Blocul

initial este IV = 1001.


a. 0010010001101100 c. 0010001001101101
b. 1000001001101101 d. 1000100010100110
38. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare OFB al acestuia, codificati

secventa de text clar x = 1000000111111010, folosind cheia de criptare . Blocul

initial este IV = 1101.


a. 1001110000101110 c. 0011011000011101
b. 0011011000010111 d. 0110110000100111

39. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare CFB al acestuia, codificati

secventa de text clar x = 0001100001101001, folosind cheia de criptare . Blocul

initial este IV = 0110.


a. 1101110010101111 c. 1101110001010000
b. 1101111110011010 d. 1101111110101111

40. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare CFB al acestuia, codificati

secventa de text clar x = 1111000010010110, folosind cheia de criptare . Blocul

initial este IV = 0010.


a. 1101110111101101 c. 0111110111101000
b. 0111110101110010 d. 0111100111000011

41. Considerati sistemul de criptare bloc DES. Folosind modul de utilizare CFB al acestuia, codificati

secventa de text clar x = 0001100011011011, folosind cheia de criptare . Blocul

initial este IV = 1101.


a. 1111011100001011 c. 1111011100001110
b. 1111011101101101 d. 1111011101101000

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

43. Sistemul de criptare RSA se bazeaza pe...


a. dificultatea calculului logaritmului discret c. teoria algebrica a codurilor
intr-un corp finit
b. dificultatea descompunerii in factori primi d. problema {0, 1} a rucsacului
a numerelor mari (de sute de cifre)

44. Sistemul de criptare El-Gamal se bazeaza pe...


a. dificultatea calculului logaritmului discret c. teoria algebrica a codurilor
intr-un corp finit
b. dificultatea descompunerii in factori primi d. problema {0, 1} a rucsacului
a numerelor mari (de sute de cifre)

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

50. Un utilizator al cifrului RSA alege numerele prime p = 5 si q = 11 si exponentul de criptare e = 3.


Daca d este exponentul de decriptare corespunzator, atunci:
a. d = 15 c. m = 27
b. d = 13 d. m = 16

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

55. Fie m = 4 x 9 x 5 = 180 si asfel incat


a mod 4 = 2, a mod 9 = 3, a mod 5 = 1.
Avem:
a. a = 132 c. a = 66
b. a = 31 d. a = 77

56. Fie m = 4 x 5 x 7 = 140 si asfel incat


a mod 4 = 3, a mod 9 = 5, a mod 7 = 3.
Avem:
a. a = 113 c. a = 73
b. a = 59 d. a = 77

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

59. Fie p = 17 si fie g = 3 o radacina primitiva modulo 17. Daca atunci


a. a = 9 c. a = 5
b. a = 13 d. a = 7

60. Fie p = 17 si fie g = 3 o radacina primitiva modulo 17. Daca atunci


a. a = 3 c. a = 11
b. a = 13 d. a = 7

61. Daca N este numarul tuturor cheilor cifrului DES, atunci


a. c.
b. d.

62. Fie si fie functia de criptare afina .


Daca astfel incat , atunci
a. c.
b. d.
63. Fie si n numarul functiilor de criptare afina
, unde si gcd(a, 26)=1. Avem:
a. n = 312 c. n = 100
b. n = 676 d. n = 250

64. Fie si functia de criptare afina , unde


si gcd(a, 26)=1. Daca , atunci:
a. a = 15 , b = 13 c. a = 7 , b = 2
b. a = 11 , b = 24 d. a = 11 , b = 13

65.& Fie N > 1, cu gcd(a, N) = 1 si functia de criptare afina


. Care dintre afirmatiile:

(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.

69.& Fie p > 2 un numar prim, g o radacina primitiva modulo p si . Avem:


a. c.
5DVSXQVFRUHFW&
b. d.

70.& Fie p = 13 si g = 2 o radacina primitiva modulo 13. Daca , atunci


a. c. 5DVSXQV&
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:

(A) (B, C) = (7, 2)


(B) (B, C) = (5, 3)
(C) (B, C) = (9, 6)
a. nici un raspuns corect c. B
b. A d. C

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:

a. (B, C) = (13, 5) c. (B, C) = (21, 11)


b. (B, C) = (15, 12) d. (B, C) = (3, 5)

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)

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