Documente Academic
Documente Profesional
Documente Cultură
A
____ 1. O baza de date relationala este
a. O colectie de date interrelationate gestionate ca o singura unitate
b. Un produs software furnizat de un producator de baze de date
c. O structura de date, cum ar fi un tabel, o vizualizare sau un index
d. Definita in acelasi mod de toti producatorii de software
C
____ 2. Un Obiect al unei baze de date este
a. O colectie de inregistrari inrudite, stocate ca o singura unitate
b. Un produs software furnizat de un producator de baze de date
c. O structura, cum ar fi un tabel, o vizualizare sau un index
d. O colectie de date interrelationate gestionate ca o singuraunitate
C
____ 3. Care din urmtoarele baze de date nu este un RDBMS (sistem de gestionare a bazelor de date
relatioanale)
a. Oracle Database
b. MySQL
c. Excel Database
d. Microsoft SQL Server
D
____ 4. Un sistem RDBMS(sistem de gestionare a bazelor de date relatioanale) nu include urmatorul
serviciu
a. Acceptarea unui limbaj de interogare
b. Mecanisme de securitate, pentru a impiedica accesul si modificarea neautorizata a
datelor
c. Mutarea datelor in si din fisiere de date, dupa cum este necesar
d. Generarea diagramelor ERD (Entity Relationship Diagram)
B
____ 5. Componentele unei baze de date relationale nu includ
a. Tabele
b. Diagrame ERD
c. Restrictii
d. Relatii
B
____ 6. Printre tipurile de restrictii care pot fi folosite in bazele de date relationale, nu se numara
a. NOT NULL
b. Relatii
c. CHECK
d. Cheie primara
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
b. Poate fi compus din atribute concatenate
c. Poate fi compus din atribute cu valoarea NULL
d. Poate fi compus din zero, unul sau mai multe atribute
A
____ 9. 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
8 B 10. A doua forma normala rezolva anomaliile cauzate de
____
a. Grupurile repetitive
b. Dependentele partiale de cheia primara
c. Grupurile repetitive si atributele multi valoare
d. Dependentele tranzitive
9 C 11. A treia forma normala rezolva anomaliile cauzate de
____
a. Dependentele partiale de cheia primara
b. Grupurile repetitive
c. Dependentele tranzitive
d. Atributele multivaloare
D 12. Problemele de dependenŃă tranzitivă
____
a. Sunt rezolvate de a doua formă normală
b. Sunt rezolvate de prima formă normală
c. Apar atunci când un atribut non-cheie depinde doar de o parte a cheii primare
d. Sunt rezolvate de a treia formă normală
10
____B 13. SQL este
a. Un limbaj procedural
b. Un limbaj neprocedural
c.
Un limbaj orientat spre obiecte
d.
Un limbaj grafic, folosit pentru definirea diagramelor ER si a diagramelor
conceptuale
11
____C 14. Un model de date reprezinta o colectie integrata de concepte care nu descriu
a. date
b. relatii dintre date
c. date despre echipa realizatoare a modelului
d. constrângeri existente asupra datelor sistemului real analizat.
A 15. Nu este caracteristica a modelului relational:
____
a. prezenta tuplurilor identice
b. articolele unui domeniu sunt omogene
c. toate valorile unui domeniu corespunzatoare tuturor cazurilor nu mai pot fi
descompuse in alte valori (sunt atomice)
d. fiecare coloana defineste un domeniu distinct si nu se poate repeta in cadrul
aceleiasi relatii
12 D
____ 16. Modelul relational nu are ca regula de integritate structurala
a. Unicitatea cheii. Cheia primara trebuie sa fie unica si minimala.
b. Integritatea entitatii. Atributele cheii primare trebuie sa fie diferite de valoarea
null.
c. Integritatea referirii. O cheie externa trebuie sa corespunda unei valori a cheii
primare asociate.
d. Integritatea referirii. O cheie externa trebuie sa fie ori null in intregime, ori sa
corespunda unei valori a cheii primare asociate.
13 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
14 D 18. Care nu este un concept utilizat pentru a descrie formal - uzual - fizic elementele de baza ale
____
organizarii datelor
a. relatie - tablou- fisier
b. tuplu - linie- inregistrare
c. atribut - coloana - camp
d. domeniu - zona- functie
15
____C 19. Instructiunile SQL nu fac parte din categoria
a. Limbajul de interogare a datelor (DQL)
b. Limbajul de definire a datelor (DDL - Data Definition Language)
c. Limbajul de selectare a datelor (DSL - Data Selection Language)
d. Limbajul de manipulare a datelor (DML - Data Manipulation Language)
16
____A 20. Limbajul de definire a datelor (DDL - Data Definition Language) nu include urmatoarea instructiune
a. DELETE
b. CREATE
c. ALTER
d. DROP
17
____D 21. Limbajul de manipulare a datelor (DML – Data Manipulation Language) nu include instructiuniea
a. INSERT
b.
UPDATE
c.
DELETE
d.
ALTER
B
____ 22. Tipurile de date temporale standard nu includ
a. DATE
b. DATETIME
c. TIME
d. TIMESTAMP
18 D 23. Valorile NULL
____
a. Sunt egale cu alte valori NULL
b. Este acelasi lucru ca si spatiile libere
c. Sunt intotdeauna permise in mod prestabilit
d. Pot fi folosite pentru reprezentarea datelor care lipsesc sau nu sunt cunoscute
19 A
____ 24. Definitia unei coloane din instructiunea CREATE TABLE nu poate include
a. Numele tabelului
b. O clauza DEFAULT
c. O clauza NULL sau NOT NULL
d. Numele coloanei
20
____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
d. DEFAULT [NULL | NOT NULL]
21 A
____ 26. Sintaxa corecta pentru o restrictie UNIQUE este
a. [CONSTRAINT nume_restrictie] UNIQUE {nume_coloana[,nume coloana...])
b. [CONSTRAINT nume_restrictie] UNIQUE (nume_tabel)
c. nume_coloana REFERENCES UNIQUE nume_tabel
d. DEFAULT UNIQUE (nume_coloana)
22
____D 27. Sintaxa corecta pentru o restrictie referentiala asupra unei coloane este
a. CONSTRAINT nume_restrictie] REFERENCES nume_tabel
b. nume_coloana REFERENCES nume_tabel
c. FOREIGN KEY nume_coloana REFERENCES nume_tabel (nume_coloana)
d. REFERENCES nume_tabel (nume_coloana)
23 C
____ 28. Utilizarile valide ale instructiunii ALTER TABLE nu include
a. Adaugarea coloanelor
b. Eliminarea unei chei primare
c. Redenumirea unui tabel
d. Adaugarea unei restrictii
26
____D 29. Nu este functie SQL standard pentru siruri de caractere
a. UPPER
b. LENGTH sau LEN
c. LOWER
d. LIKE
27
____B 30. 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
D
____ 31. O instructiune SQL care contine o functie de agregare
a. Nu poate include, in acelasi timp, o clauza GROUP BY si o clauza ORDER BY
b. Trebuie sa includa o clauza GROUP BY
c. Trebuie sa includa o clauza ORDER BY
d. Poate contine si coloane obisnuite si coloane calculate
28 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
a. CREATE TABLE SALARIAT (
cod_ang NUMBER(5) NOT NULL,
nume VARCHAR2(20),
prenume VARCHAR2(20),
data_angajarii DATE DEFAULT SYSDATE,
varsta NUMBER(2),
email CHAR(50),
salariu NUMBER(10,2) DEFAULT 0);
b. CREATE TABLE SALARIAT (
cod_ang NUMBER(5)
nume VARCHAR2(20),
prenume VARCHAR2(20),
data_angajarii DATE ,
varsta NUMBER(2),
email CHAR(50),
salariu NUMBER(10,2) DEFAULT 0);
c. CREATE TABLE SALARIAT (
cod_ang NUMBER(5) , NOT NULL,
nume VARCHAR2(20),
prenume VARCHAR2(20),
data_angajarii DATE , DEFAULT SYSDATE,
varsta NUMBER(2),
email CHAR(50),
salariu NUMBER(10,2) , DEFAULT 0);
29
____C 33. Pentru a insera in tabelul SALARIAT inregistrari,
DATA_AN
COD _ANG NUME PRENUME VARSTA EMAIL SALARIU
G
valoare
sir de
implicita
sir date, valoare caractere
not null caractere de
sir caractere de
implicita data numeric de 2 de
0
numeric de 5 maxim 20 numar de
maxim 20 curentă dimensiune
10 cu 2
fixa, de 30
zecimale
care varianta este incorecta?
a. INSERT INTO SALARIAT(COD _ANG, NUME, PRENUME, DATA_ANG, VARSTA, EMAIL,
SALARIU) VALUES(5, ‘Ene’, ‘Ana’, ‘1/06/2009’, 20, ‘ea@gmail.com’, 2500.50)
b. INSERT INTO SALARIAT(COD _ANG, NUME, PRENUME, VARSTA, EMAIL)
VALUES(5, ‘Ene’, ‘Ana’, 20, ‘ea@gmail.com’)
c. INSERT INTO SALARIAT(COD _ANG, NUME,PRENUME,VARSTA,EMAIL, SALARIU)
VALUES(5, ‘Ene’, ‘Ana’, ‘1/06/2009’, 20, ‘ea@gmail.com’)
d. INSERT INTO SALARIAT
VALUES(5, ‘Ene’, ‘Ana’, ‘1/06/2009’, 20, ‘ea@gmail.com’, 2500.50)
30
____B 34. Care este varianta corecta pentru a crea tabelul CARTE, cu caracteristicile de mai jos, indicand cheile la nivel
de coloana?
(Tabelele DOMENIU_CARTE si CARTE sunt in relatia 1:M)
32
____A 36. Sa se creeze tabelul asociativ imprumuta, a carui structura este data mai jos(codc, codcit si
dataim sunt chei primare). Sa se precizeze legatura cu tabelele carte si cititor, aflate in relatia M:M
(mai multi la mai multi)
a. IMPRUMUTA (
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));
33
____C 37. Sa se creeze tabelul CARTE_INFO(codc, titlu, autor) prin copiere din tabelul
CARTE(codc CHAR(5) , titlu VARCHAR2(30), autor VARCHAR2(30), pret NUMBER(8,2), nrex
NUMBER(3), coddom CHAR(5))
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;
45 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. DELETE PROF WHERE COD_FUNCT<>’C’;
c. DROP FROM PROF WHERE COD_FUNCT=’C’;
d. DROP PROF WHERE COD_FUNCT=’C’;
46 B 50. Pentru tabelul:
____
FAC
cod_fac# denumire adresa
care este secventa corecta pentru o inserare, folosind instructiunea SELECT
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;
48
____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
GROUP BY COD_FAC;
c. SELECT SALARIU, SUM (Salariu) AS Total_Salariu
FROM PROF;
d. SELECT COD_FAC, SUM (Salariu) AS Total_Salariu
FROM PROF;
49
____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.
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;
b. SELECT NUME, PREN, DENUMIRE
FROM FAC, PROF
WHERE FAC.COD_FAC=PROF.COD_FAC
ORDER BY FAC.DENUMIRE;
c. SELECT NUME, PREN, DENUMIRE
FROM FAC, PROF
WHERE FAC.COD_FAC=PROF.COD_FAC;
C
____ 58. Să se obtinapentru fiecare carte, codul sau şi numarul de exemplare care nu au fost inca restituite.
a. SELECT codc
FROM IMPRUMUTA
WHERE dataef IS NULL
GROUP BY codc;
b. SELECT COUNT(*)
FROM IMPRUMUTA
GROUP BY codc;
c. SELECT codc, COUNT(*)
FROM IMPRUMUTA
WHERE dataef IS NULL
GROUP BY codc;
d. SELECT COUNT(*)
FROM IMPRUMUTA
WHERE dataef =0
GROUP BY codc;
B
____ 59. Care este secventa corecta care să afişeze numărul cărŃilor împrumutate cel puŃin de două ori
(pentru fiecare carte împrumutată mai mult decât o dată să se obŃină numărul de câte ori a fost
împrumutată).
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 din
domeniu, media preŃurilor şi numărul total de exemplare
FAC
cod_fac# denumire adresa
care este secventa corecta pentru o interogare de uniune externa catre stanga, care sa afiseze toti profesorii si
denumirile facultatilor la care predau
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 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;
B
____ 64. Să se obŃină titlurile şi preŃurile cărŃilor mai scumpe decât cartea având titlul “Baze de date”, al cărui
autor este Popescu (self join).
a. DELETE salariu
FROM salariati
WHERE contract=’colaborare’;
b. UPDATE salariati
SET salariu IS null
WHERE contract=’colaborare’;
c. DROP salariu
FROM salariati
WHERE contract=’colaborare’;
d. UPDATE salariati
SET salariu=null
WHERE contract=’colaborare’;
C
____ 78. Care este comanda corecta care afiseaza codul departamentelor, numele departamentelor si suma salariilor
pentru fiecare departament?
a. SELECT cod_departament, nume_departament, SUM(salariu)
FROM salariati s, departamente d
GROUP BY cod_departament, nume_departament;
b. SELECT cod_departament, nume_departament, SUM(salariu)
FROM salariati s, departamente d
WHERE s.cod_departament=d.cod_departament
GROUP BY cod_departament;
c. SELECT cod_departament, nume_departament, SUM(salariu)
FROM salariati s, departamente d
WHERE s.cod_departament=d.cod_departament
GROUP BY cod_departament, nume_departament;
d. SELECT cod_departament, nume_departament, SUM(salariu)
FROM salariati, departamente
WHERE s.cod_departament=d.cod_departament
GROUP BY cod_departament, nume_departament;
B
____ 79. Care este comanda corecta care afiseaza numele salariatilor care castiga mai mult decat salariul mediu pe
companie, in ordine crescatoare a salariului?
a. SELECT nume
FROM 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;
D
____ 80. Care este comanda corecta care afiseaza toate functiile pe care nu lucreaza angajati?
a. SELECT cod_functie
FROM functii
WHERE cod_functie IN
(SELECT cod_functie FROM salariati WHERE cod_functie IS NOT NULL);
b. SELECT cod_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);
Subiecte SGBD
a. ALTER TABLE SALARIAT ADD Cod_funct Number(2), Alter Column Add Email Char(25);
b. ALTER TABLE SALARIAT ADD Cod_funct Number(2), ADD Email Char(25);
c. ALTER TABLE SALARIAT ADD (Cod_funct Number(2), Email Char(25));
d. ALTER TABLE SALARIAT ADD Cod_funct Number(2), Alter ADD Email Char(25);
4. Care este comanda corecta pentru a afisa nume,prenume si virsta salariatilor , iar pentru cei care
au virsta necunoscuta sa apara ” virsta necunoscuta”?
F 5. Constringerea NOT NULL poate fi adaugata utilizind o comanda ALTER TABLE…. ADD
CONSTRAINT?
Adevat sau Fals
6.Care este comanda care determina stergerea tuturor salariatilor din departamentul 10?
a. DELETE SALARIAT
WHERE Cod_dep=10;
b. DELETE TO SALARIAT
WHERE Cod_dep=10;
c. DROP FROM SALARIAT
WHERE Cod_dep=10;
d. . DELETE FROM SALARIAT
WHERE Cod_dep=10;
7.Care este varianta corecta pentru a crea tabelul SALARIAT cu caracetristicile de mai jos:
Cod_ang Nume Prenume Data_ang Virsta Email Salariu
Not null Sir de Sir de Date,valoare Numeric 2 Sir de Valoare
Numeric caractere caractere implicita caractere implicita 0,
de 5 max.20 max.20 data curenta dimensiune numeric de
50 10 cu 2
zecimale
a.CREATE TABEL SALARIAT( cod_ang Number (5) NOT NULL, nume VARCHAR
(20),prenume VARCHAR2(20),data_ang DATE DEFAULT SYSDATE, virsta Number
(2),email CHAR(50), salariu Number(10,2) DEFAULT 0);
b. CREATE TABEL SALARIAT( cod_ang Number (5) , nume VARCHAR
(20),prenume VARCHAR2(20),data_ang DATE , virsta Number (2),email CHAR(50), salariu
Number(10,2) DEFAULT 0);
c. CREATE TABEL SALARIAT( cod_ang Number (5) NOT NULL, nume VARCHAR
(20),prenume VARCHAR2(20),data_ang DATE , DEFAULT SYSDATE, virsta Number
(2),email CHAR(50), salariu Number(10,2) DEFAULT 0):
9. Care este comanda INCORECTA care afiseaza numele, salariul si virsta pentru toti salariatii
care cistiga mai mult de 1000, rezultatul fiind sortat descendent dupa salariu, iar pentru cei care au
acelasi salariu in ordine crescatoare dupa nume ?
a. SELECT nume,salariu,virsta
FROM SALARIAT
WHERE salariu>1000
ORDER by salariu DESC nume ASC;
b. SELECT nume,salariu,virsta
FROM SALARIAT
WHERE salariu>1000
ORDER by salariu DESC, nume ASC;
c. SELECT nume,salariu,virsta
FROM SALARIAT
WHERE salariu>1000
ORDER by salariu DESC , nume ;
d. SELECT nume,salariu,virsta
FROM SALARIAT
WHERE salariu>1000
ORDER by 2 DESC , 1 ASC;
12. Cu ce comanda se creeaza tabelul SALARIAT_1 care sa aiba aceeasi structura cu tabelul
SALARIAT si contine salariati cu salariu mai mare cu 100?
Tabelul cel de mai sus nu l-am mai copiat o data……
13. Pentru tabelul care este comanda corecta ptr. a modifica salariu la 3000 ,pentru angajatii care
lucreaza in departamentul 10 si au salariu mai mic de 3000?
a.UPDATE SALARIAT SET SALARIU=3000
WHERE cod_dep=10 AND salariu<3000;
b.MODIFY SALARIAT SET SALARIU=3000
WHERE cod_dep=10 , salariu<3000;
c. UPDATE SALARIAT SET cod_dep=10 AND Salariu<3000
WHERE salariu=3000;
d. MODIFY SALARIAT SET SALARIU=3000
WHERE cod_dep=10 AND salariu<3000;
Am raspuns: d
1. Care este forma corecta pentru a adauga constrangeri la nivel de coloana si /sau la nivel de tabel?
2. Care este comanda corecta care determina marirea salariul tuturor angajatilor din tabelul salariat cu 5%?
UPDATE salariu
SET salariu = salariu * 1.05;
UPDATE salariat
SET salariu = salariu * 1.05;
UPDATE salariat
SET salariu = 1.05;
UPDATE salariat
SET salariu = salariu + salariu* 1.05;
SELECT nume
FROM salariat
WHERE manager IS NOT NULL;
5. Care este comanda corecta care pentru fiecare facultate, se insereaza in tabelul SALARII(cod_fac, nr_prof,
total_sal_fac) numarul de profesori si suma salariilor pe care facultatea o plateste profesorilor sai?
INSERT TO TOTALURI
SELECT COD_FAC, COUNT(*) , SUM(SALARIU)
FROM PROF ORDER BY COD_FAC;
6. Care secventa este corecta pentru a afisa citi angajati nu au o valoare introdusa pe coloana salariu?
SELECT COUNT()
FROM salariati
WHERE SALARIU =0;
SELECT COUNT(*)
FROM salariati
WHERE SALARIU =NULL;
SELECT COUNT(*)
FROM salariati
WHERE SALARIU IS NOT NULL;
SELECT COUNT(*)
FROM salariati
WHERE SALARIU IS NULL;
7. Care este comanda corecta care determina dublarea salariilor cu rotunjire la 2 zecimale a angajatilor care sunt
titulari?
UPDATE salariat
SET salariu=ROUND(salariu*2,2);
UPDATE salariat
SET salariu=ROUND(salariu*2)
WHERE titular =’y’;
UPDATE salariat
SET salariu=ROUND(salariu*2,2)
WHERE titular =’y’;
UPDATE salariat
SET salariu=ROUND(salariu*0.5,2)
WHERE titular =’y’;
8. Care este comanda corecta care afiseaza numele salariatilor care castiga mai mult decat salariul mediu pe
companie, in ordine crescatoare a salariului?
SELECT nume
FROM salariati
WHERE salariu >AVG(salariu);
SELECT nume
FROM salariati
WHERE salariu > (SELECT AVG(salariu) FROM salariati)
ORDER BY salariu;
SELECT nume
FROM salariati
WHERE salariu > (SELECT AVG(salariu) FROM salariati
ORDER BY salariu);
SELECT nume
FROM salariati
WHERE salariu > (SELECT AVG(salariu) FROM salariati)
ORDER BY 1;
not null sir de sir caractere date, valoare numeric de 2 sir de valoare
numeric de 5 caractere de de maxim 20 implicita caractere de implicita 0
maxim 20 data curentã dimensiune numar de 10
fixa, de 30 cu 2
zecimale
10. Care este comanda corecta care sterge valoarea coloanei salariu pentru angajatii care sunt angajati cu contract
de colaborare?
DELETE salariu
FROM salariati
WHERE contract=’colaborare’;
UPDATE salariati
SET salariu IS null
WHERE contract=’colaborare’;
DROP salariu
FROM salariati
WHERE contract=’colaborare’;
UPDATE salariati
SET salariu=null
WHERE contract=’colaborare’;
11. Care este comanda incorecta care afiseaza numele, salariul si varsta pentru toti salariatii care castiga mai mult
de 1000, rezultatul fiind sortat descendent dupa salariu, iar pentru cei care au acelasi salariu in ordine crescatoare
dupa nume?
A 12. Actualizarile realizate asupra tabelelor de baza ale unei vizualizari se reflecta totdeauna in vizualizare
Adevărat
Fals
13. Care este comanda corecta pentru a afisa numele, prenumele si varsta salariatilor, iar pentru cei
care au varsta necunoscuta sa apara textul “varsta necunoscuta”?
ALTER TABLE SALARIAT ADD Cod_Funct NUMBER(2), ALTER COLUMN ADD Email char(25);
not null sir de sir caractere date, valoare numeric de 2 sir de valoare
numeric de 5 caractere de de maxim 20 implicita caractere de implicita 0
maxim 20 data curentã dimensiune numar de 10
fixa, de 30 cu 2
zecimale
17. Pentru a modifica dimensiunea coloanei prenume la 30 si pe cea a salariului la 12 cu 3 zecimale, din
tabelul SALARIAT
not null sir de sir caractere date, valoare numeric de 2 sir de valoare
numeric de 5 caractere de de maxim 20 implicita caractere de implicita 0
maxim 20 data curentã dimensiune numar de 10
fixa, de 30 cu 2
zecimale
18. Care este varianta corecta pentru a crea tabelul Salariat, cu caracteristicile de mai jos?
not null sir de sir caractere date, valoare numeric de 2 sir de valoare
numeric de 5 caractere de de maxim 20 implicita caractere de implicita 0
maxim 20 data curentã dimensiune numar de 10
fixa, de 30 cu 2
zecimale
19. Care varianta este corecta pentru a redenumi tabelul SALARIAT cu numele SALARIATI?
20. Care ste comanda corecta care afiseaza codul departamentelor pentru care salariul minim depaseste
5000$?
SELECT cod_departament
FROM salariat
WHERE MIN(salariu)>5000
GROUP BY cod_departament;
SELECT cod_departament
FROM salariat
GROUP BY cod_departament
HAVING MIN(salariu)>5000;
SELECT cod_departament
FROM salariat
GROUP BY cod_departament
MIN(salariu)>5000;
Care este comanda corecta care afiseaza numele si salariul angajatilor condusi direct de Ionescu Mihai?
SELECT nume, salariu
FROM salariati
WHERE cod_sef = (SELECT cod_angajat FROM salariati
WHERE nume ='Ionescu' AND prenume ='Mihai' );
SELECT nume, salariu
FROM salariati
WHERE cod_sef = (SELECT cod_angajat FROM salariati
WHERE nume ='Ionescu', prenume ='Mihai' );
SELECT nume, salariu
FROM salariati
WHERE cod_sef = ‘Ionescu Mihai';
SELECT nume, salariu
FROM salariati
WHERE cod_sef != (SELECT cod_angajat FROM salariati
WHERE nume ='Ionescu' AND prenume ='Mihai' );
Care este comanda corecta care afiseaza numele salariatilor care lucreaza in departamentul 3 si au salariul >100 sau
care sunt din departamentul 5 si au salariul <200?
SELECT nume
FROM salariat
WHERE (cod_deptartament=3 OR salariu>100) AND (cod_deptartament=5 OR salariu<200);
SELECT nume
FROM salariat
WHERE (cod_deptartament=3 AND salariu>100) OR (cod_deptartament=5 AND salariu<200);
SELECT nume
FROM salariat
WHERE (cod_deptartament=3 AND salariu>100) AND (cod_deptartament=5 AND salariu<200);
SELECT nume
FROM salariat
WHERE (cod_deptartament=3 AND salariu>100) OR (cod_deptartament=5 OR salariu<200);
Care dintre urmatoarele comenzi intoarce numarul zilei din luna carespunzator datei curente?
SELECT TO_CHAR(SYSDATE,’DDD’)
FROM dual;
SELECT TO_CHAR(SYSDATE,’DAY’)
FROM dual;
SELECT TO_CHAR(SYSDATE,’D’)
FROM dual;
SELECT TO_CHAR(SYSDATE,’DD’)
FROM dual;
Care este comanda corecta care afiseaza numele salariatilor si numele departamentelor in care lucreaza, inclusiv
departamentele in care nu lucreaza salariati?
Care este comanda nu elimina simultan spatiile de la inceputul si sfarsitul coloanei nume?
SELECT TRIM(nume)
FROM salariat;
SELECT RTRIM(LTRIM(nume))
FROM salariat;
SELECT LTRIM(RTRIM(nume))
FROM salariat;
SELECT LTRIM(nume)
FROM salariat;
2. Care este comanda corecta care afiseaza toate functiile pe care nu lucreaza angazatii?
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)
Raspuns D.
ALTE TESTE
3-Care este comanda corecta care afiseaza numele cititorilor care au carti nerestituite?
SELECT nume_cititor
FROM imprumuta
WHERE data_restituirii = NULL;
SELECT nume_cititor
FROM imprumuta
WHERE data_restituirii IS NOT NULL;
SELECT nume_cititor
FROM imprumuta
WHERE data_restituirii IS NULL;
SELECT nume_cititor
FROM imprumuta
WHERE data_restituirii > SYSDATE;
9-Care este comanda corecta care afiseaza numele si salariul angajatilor condusi direct de ‘ENE DAN’?
10. Care este comanda corecta care afiseaza numarul total al cartilor imprumutate in anul 2008?
SELECT COUNT()
FROM imprumuta
WHERE TO_CHAR(data_imprumutului,’yyyy’)=2008;
SELECT COUNT(*)
FROM imprumuta
WHERE TO_CHAR(data_imprumutului,’yyyy’)=2008;
SELECT COUNT(*)
FROM imprumuta
WHERE data_imprumutului=2008;
SELECT COUNT(*)
FROM imprumuta
WHERE TO_CHAR(data_imprumutului,’yy’)=2008;
14-Care comanda listeaza numele tuturor angajatilor care au a treia litera din nume 'a'?
SELECT nume
FROM salariat
WHERE nume LIKE '__a$';
SELECT nume
FROM salariat
WHERE nume LIKE '%a%';
SELECT nume
FROM salariat
WHERE nume LIKE '__a%';
15-Care este comanda corecta care afiseaza toate departamentele care platesc salariatilor sai o suma mai
mare ca 20000?
SELECT nume_departament
FROM departament
WHERE 20000<
(SELECT sum(salariu) FROM salariat);
SELECT nume_departament
FROM departament A
WHERE 20000<
(SELECT sum(salariu) FROM salariat B
where cod_departament=cod_departament);
SELECT nume_departament
FROM departament
WHERE 20000<
(SELECT sum(salariu) FROM salariat
where A.cod_departament=B.cod_departament);
SELECT nume_departament
FROM departament A
WHERE 20000<
(SELECT sum(salariu) FROM salariat B
where A.cod_departament=B.cod_departament);
18-Care este comanda corecta care afiseaza codul departamentelor, numele departamentelor si suma salariilor
pentru fiecare departament?
19-Care este comanda corecta care sa afiseze daca exista angajati care nu lucreaza in departamentul
‘Contractari’ si al caror salariu coincide cu salariul unui angajat din departamentul ‘Contractari’?
70%
1. Care este comanda corecta care determina marirea salariul tuturor angajatilor din tabelul salariat cu
5%?
UPDATE salariu
SET salariu = salariu * 1.05;
UPDATE salariat
SET salariu = salariu * 1.05;
(varianta aleasa de mine)
UPDATE salariat
SET salariu = 1.05;
UPDATE salariat
SET salariu = salariu + salariu* 1.05;
2. Care este comanda corecta care afiseaza numele salariatilor care castiga mai mult decat salariul
mediu pe companie, in ordine crescatoare a salariului?
SELECT nume
FROM salariati
WHERE salariu >AVG(salariu);
SELECT nume
FROM salariati
WHERE salariu > (SELECT AVG(salariu) FROM salariati)
ORDER BY salariu;
(varianta aleasa de mine)
SELECT nume
FROM salariati
WHERE salariu > (SELECT AVG(salariu) FROM salariati
ORDER BY salariu);
SELECT nume
FROM salariati
WHERE salariu > (SELECT AVG(salariu) FROM salariati)
ORDER BY 1;
not null sir de sir caractere date, valoare numeric de 2 sir de valoare
numeric de 5 caractere de de maxim 20 implicita data caractere de implicita 0
maxim 20 curentã dimensiune numar de 10
fixa, de 30 cu 2 zecimale
4. Actualizarile realizate asupra tabelelor de baza ale unei vizualizari se reflecta totdeauna in vizualizare
Adevărat
(varianta aleasa de mine)
not null sir de sir caractere date, valoare numeric de sir de valoare
numeric de caractere de de maxim 20 implicita data 2 caractere de implicita 0
5 maxim 20 curentã dimensiune numar de 10 cu 2
fixa, de 30 zecimale
6. Care este varianta corecta pentru a crea tabelul Salariat, cu caracteristicile de mai jos?
not null sir de sir caractere date, valoare numeric de 2 sir de valoare
numeric de 5 caractere de de maxim 20 implicita data caractere de implicita 0
maxim 20 curentã dimensiune numar de 10
fixa, de 30 cu 2 zecimale
7. Care varianta este corecta pentru a redenumi tabelul SALARIAT cu numele SALARIATI?
8. Care este comanda corecta care afiseaza numele si salariul angajatilor condusi direct de Ionescu
Mihai?
9. Ce comanda sterge din tabelul SALARIAT COD _ANG NUME PRENUME DATA_ANG VARSTA EMAIL
SALARIU not null numeric de 5 sir de caractere de maxim 20 sir caractere de maxim 20 date, valoare
implicita data curentã numeric de 2 sir de caractere de dimensiune fixa, de 30 valoare implicita 0 numar
de 10 cu 2 zecimale coloana nume si coloana salariu?
10.Care este comanda corecta care afiseaza numele cititorilor care au carti nerestituite?
SELECT nume_cititor
FROM imprumuta
WHERE data_restituirii = NULL;
SELECT nume_cititor
FROM imprumuta
WHERE data_restituirii IS NOT NULL;
SELECT nume_cititor
FROM imprumuta
WHERE data_restituirii IS NULL;
(varianta aleasa de mine)
SELECT nume_cititor
FROM imprumuta
WHERE data_restituirii > SYSDATE;
12. Care este comanda corecta care afiseaza numele si salariul angajatilor condusi direct de ‘ENE DAN’?
SELECT nume
FROM salariat
WHERE nume LIKE '__a$';
SELECT nume
FROM salariat
WHERE nume LIKE '%a%';
SELECT nume
FROM salariat
WHERE nume LIKE '__a%';
(varianta aleasa de mine)
14.Care este comanda corecta care afiseaza codul departamentelor, numele departamentelor si suma
salariilor pentru fiecare departament?
15. Care este comanda corecta care sa afiseze daca exista angajati care nu lucreaza in departamentul
‘Contractari’ si al caror salariu coincide cu salariul unui angajat din departamentul ‘Contractari’?
17.O constrangere de tip PRIMARY KEY poate fi declarata numai la nivel de coloana
A - (varianta aleasa de mine)
19.Care este comanda corecta care se afiseaza numele si prenumele pentru toti angajatii cu varsta
necunoscuta?
20.Care este comanda corecta care afiseaza numele si data angajarii pentru salariatii care au fost
angajati dupa angajatul avand codul 10, in ordine descrescatoare a numelui?
b. UPDATE angajati
SET (salariu)= (SELECT salariu, comision
FROM angajati WHERE cod_angajat=100)
WHERE salariu = (select min(salariu) FROM angajati);