Question Bank

Rows per page: 1025100

Showing 1–25

Limbaje de programare si Inginerie Software Baze de date #1

Se consideră tabela R(A)R(A) conţinând înregistrările {(1),(2)}\{(1), (2)\} şi tranzacţiile

sql
(T1) UPDATE R SET A = A*2
(T2) SELECT AVG(A) FROM R; SELECT MAX(A) FROM R

Dacă tranzacţia T2 se execută folosind nivelul de izolare repeatable read, care dintre următoarele
afirmaţii este adevărată:

○

Dacă AVG(A) = 1.5 atunci MAX(A) poate să ia valorile 2 sau 4

○

AVG(A) va fi întodeauna 1.5 iar MAX(A) = 2

✓

AVG(A) poate să ia valorile 1.5 sau 3, iar MAX(A) valorile 2 sau 4

○

Dacă MAX(A) = 4 atunci AVG(A) este 1.5

Limbaje de programare si Inginerie Software Baze de date #2

Trei dintre expresiile relaţionale de mai jos returnează numele studenţilor care nu au aplicat la specializările CS sau PH. Care returnează altceva? (Observaţie: numele studenţilor pot fi duplicate.)

○

πsName(Student▷◁(πsID(Student)−(πsID(σmajor=′CS′Apply)∪πsID(σmajor=′PH′Apply))))π_{sName}(Student ▷◁ (π_{sID}(Student) −(π_{sID}(σ_{major=′CS′}Apply) ∪π_{sID}(σ_{major=′PH′}Apply))))

○

πsName(Student▷◁(πsIDStudent−πsID(σmajor=′CS′∨major=′PH′Apply)))π_{sName}(Student ▷◁ (π_{sID}Student −π_{sID}(σ_{major=′CS′ ∨major=′PH′}Apply)))

○

πsName(πsID,sNameStudent−πsID,sName(Student▷◁πsID(σmajor=′CS′∨major=′PH′Apply)))π_{sName}(π_{sID,sName}Student − π_{sID,sName}(Student ▷◁π_{sID}(σ_{major=′CS′ ∨major=′PH′}Apply)))

✓

πsNameStudent−πsName(Student▷◁πsID(σmajor=′CS′∨major=′PH′Apply))π_{sName}Student − π_{sName}(Student ▷◁π_{sID}(σ_{major=′CS′ ∨major=′PH′}Apply))

Limbaje de programare si Inginerie Software Baze de date #3

Tabelul de mai jos conţine un eşantion de date reprezentativ pentru toate dependenţele funcţionale dintr-un set de date real. Care sunt dependenţele funcţionale ce pot fi extrase din aceste date?

✓

A→{B,C},E→{F}A →\{B, C\}, E →\{F\}

○

D→{A,B,C,E,F},F→{E}D →\{A, B, C, E, F\}, F →\{E\}

✓

{A,E}→{D}\{A, E\} →\{D\}

○

{D,E}→{A,B}\{D, E\} →\{A, B\}

Limbaje de programare si Inginerie Software Baze de date #4

Considerând relaţia R(A, B, C, D, E, F) unde A - F sunt coloanele din tabelul de mai sus şi dependenţele funcţionale tot cele de mai sus, care dintre următoarele seturi de atribute este cheie candidată?

Problema de mai sus:
Tabelul de mai jos conţine un eşantion de date reprezentativ pentru toate dependenţele funcţionale dintr-un set de date real. Care sunt dependenţele funcţionale ce pot fi extrase din aceste date?
img_not_added_yet

○

{B,F}\{B, F\}

✓

{A,E}\{A, E\}

○

{A,E,D}\{A, E, D\}

○

{A}\{A\}

Limbaje de programare si Inginerie Software Baze de date #5

Relativ la relaţia R de mai sus, care dintre următoarele afirmaţii sunt false?

Problema de mai sus:
Tabelul de mai jos conţine un eşantion de date reprezentativ pentru toate dependenţele funcţionale dintr-un set de date real. Care sunt dependenţele funcţionale ce pot fi extrase din aceste date?

○

Relaţia se află în prima formă normală

✓

Relaţia se află în a doua formă normală

✓

La o adresă (coloana B) nu pot corespunde valori diferite în coloana A

✓

Nu pot exista două înregistrări în tabela R cu valori diferite în coloana D dacă valorile din coloana A sunt identice

Limbaje de programare si Inginerie Software Baze de date #6

Fie următoarea diagramă E/R. Care dintre următoarele relatii fac parte din reprezentarea acestei diagrame în modelul relaţional?

✓

Courses(CID, title)

✓

Students(SID, name)

○

Enroll(SID,CID)

○

Enroll(SID, name, CID, title, grade)

○

Students(SID, name, CID)

✓

Enroll(SID, CID, grade)

Limbaje de programare si Inginerie Software Baze de date #7

Presupunem că în tabela EMPLOYEES sunt 10 angajati care au salarii de 1000 euro fiecare, cu exceptia unuia care are valoarea NULL si că primii 5 angajati lucrează în departamentul 1 si ceilalti 5 angajati, în departamentul 2. Câte linii va afisa interogarea următoare:

sql
SELECT department_id, SUM(salary) 
FROM employees 
GROUP BY department_id 
HAVING SUM(NVL(salary,1000)) > 4000;
○

Nicio linie

○

O linie

✓

Două linii

○

Un alt răspuns

Limbaje de programare si Inginerie Software Baze de date #8

Care dintre interogarile de mai jos selectează identificatorul (ID) si numele departamentelor care nu au angajati? Coloana DEPARTMENT_IDDEPARTMENT\_ID este comună tabelelor EMPLOYEESEMPLOYEES si DEPARTMENTSDEPARTMENTS.

✓
sql
SELECT d.department_id, d.department_name 
  FROM departments d 
  WHERE NOT EXISTS (SELECT 1 
                    FROM employees e 
                    WHERE e.department_id=d.department_id);
○
sql
SELECT d.department_id, d.department_name 
FROM employees e LEFT OUTER JOIN departments d 
ON (d.department_id=e.department_id) WHERE e.department_id IS NULL;
✓
sql
SELECT d.department_id, d.department_name 
FROM employees e RIGHT OUTER JOIN departments d 
ON (d.department_id=e.department_id) WHERE e.department_id IS NULL;
✓
sql
SELECT department_id, department_name 
 FROM departments 
 MINUS SELECT d.department_id, d.department_name 
 FROM employees e JOIN departments d ON e.department_id=d.department_id;
Limbaje de programare si Inginerie Software Baze de date #9

Dacă se doreste afisarea tuturor locatiilor care nu au niciun departament, precum si a departamentelor care nu au fost asignate niciunei locatii, ce tip de JOIN între tabelele DEPARTMENTS si LOCATIONS va afisa aceste informatii ca parte din liniile returnate?

○

NATURAL JOIN

✓

FULL OUTER JOIN

○

LEFT OUTER JOIN

○

RIGHT OUTER JOIN

Limbaje de programare si Inginerie Software Baze de date #10

Care dintre afirmatiile referitoare la indecsi sunt corecte?

✓

Când un tabel este sters, indecsii corespunzători acestuia sunt stersi automat.

✓

Pentru fiecare operatie DML realizată, indecsii corespunzători sunt actualizati automat.

○

Indecsii se recomandă a fi creati pentru coloane care sunt în mod frecvent referite ca parte a unei expresii.

✓

Pentru fiecare constrângere de cheie primară sau cheie unică (PRIMARY KEY sau UNIQUE) dintr-un tabel se creează automat un index unic.

Limbaje de programare si Inginerie Software Baze de date #11

Prin următoarea instructiune SQL se doreste a regăsi liniile din tabelul ORDER_ITEMS aferente produselor identificate prin PRODUCT_ID care au un UNIT_PRICE mai mare decât 1000 si care au fost comandate de mai mult de 5 ori.

sql
SELECT product_id, COUNT(order_id) total, unit_price 
FROM order_items 
WHERE unit_price>1000 AND COUNT(order_id)>5 
GROUP BY product_id, unit_price; 

Care afirmatii sunt adevărate cu privire la instructiunea SQL de mai sus:

○

Instructiunea se execută si furnizează rezultatul asteptat.

✓

Instructiunea nu se execută întrucât functia de agregare este utilizată în clauza WHERE.

○

Instructiunea ar trebui să utilizeze operatorul logic OR în loc de AND.

○

Instructiunea nu se execută deoarece în clauza SELECT coloana UNIT_PRICE este adăugată după coloana pentru care este utilizată functia de agregare.

Limbaje de programare si Inginerie Software Baze de date #12

Se dores,te afis,area coloanelor FIRST_NAMEFIRST\_NAME si SALARYSALARY aferente angajatilor din tabelul EMPLOYEESEMPLOYEES care au acelasi sef (MANAGERID)(MANAGER_ID) cu al angajatului identificat prin EMPLOYEEID=101EMPLOYEE_ID = 101 si care au un salariu mai mare sau egal cu al aceluiasi angajat identificat prin EMPLOYEEID=101EMPLOYEE_ID = 101. Care dintre interogările următoare vor afisa rezultatul dorit?

○
sql
SELECT first_name, salary 
FROM employees 
WHERE (manager_id, salary) >= ALL (SELECT manager_id, salary 
                                   FROM employees WHERE employee_id = 101) 
AND employee_id <> 101;
○
sql
SELECT first_name, salary 
FROM employees 
WHERE (manager_id, salary) >= ( SELECT manager_id, salary 
                                FROM employees 
                                WHERE employee_id = 101) 
AND employee_id <> 101;
○
sql
SELECT first_name, salary 
FROM employees 
WHERE (manager_id, salary) >= ANY (SELECT manager_id, salary 
                                   FROM employees 
                                   WHERE employee_id = 101 AND employee_id <> 101);
✓
sql
SELECT first_name, salary 
FROM employees 
WHERE manager_id = (SELECT manager_id 
                      FROM employees 
                      WHERE employee_id = 101) 
AND salary >= (SELECT salary 
               FROM employees 
               WHERE employee_id = 101) 
AND employee_id <> 101;
✓
sql
SELECT e.first_name, e.salary 
FROM employees e, employees m 
WHERE m.employee_id = 101 AND e.manager_id = m.manager_id 
AND e.salary >= m.salary AND e.employee_id <> m.employee_id;
Limbaje de programare si Inginerie Software Baze de date #13

Evaluati următoarea instructiune

sql
CREATE TABLE: CREATE TABLE products 
(product_id NUMBER(6) CONSTRAINT prod_id_pk PRIMARY KEY, 
 product_name VARCHAR2(15)); 

Care afirmatii sunt adevărate cu privire la constrângerea PROD_ID_PKPROD\_ID\_PK?

○

Ar fi creată numai dacă în prealabil este creat manual un index unic.

✓

Ar fi creată si ar folosi un index unic creat automat.

○

Ar fi creată si ar folosi un index non-unic creat automat.

○

Ar fi creată si ar rămâne în stare dezactivată deoarece nu e specificat explicit niciun index în comandă.

Limbaje de programare si Inginerie Software Baze de date #14

Fiind dată vederea VV de mai jos, în ce conditii comanda SQLSQL de mai jos va genera o except,ie cauzată de constrângerea WITHCHECKOPTIONWITH CHECK OPTION?

sql
UPDATE V SET Curs = ’Baze de date II’ WHERE ID=101; 

CREATE VIEW V(ID, Curs, EDate) AS 
SELECT StudID, CourseTitle, EnrollmentDate 
FROM Enrollments WHERE CourseTitle=’Algebra’ AND Accepted=1 
WITH CHECK OPTION;
○

Întotdeauna datorită WITH  CHECK  OPTIONWITH\ \ CHECK\ \ OPTION

✓

Dacă studentul cu ID-ul 101 a fost acceptat la cursul de Algebra

○

Dacă studentul cu ID-ul 101 a fost acceptat la cursul de Baze de date II

○

Dacă studentul cu ID-ul 101 a aplicat la cursul de Algebră (indiferent de starea câmpului Accepted)

Limbaje de programare si Inginerie Software Limbajul C #1

Fie următoarea secventă de cod:

c
#define swap(a,b) {int aux; aux=a; a=b; b=aux;} 
float x=10.5, y=3.75; 

în urma apelului swap(x,y)swap(x, y); valorile variabilelor x, respectiv y vor fi:

○

x=3.75, y=10.5

○

x=3.0, y=10.5

✓

x=3.75, y=10.0

○

x=3.0, y=10.0

Limbaje de programare si Inginerie Software Limbajul C #2

Ce reprezintă domeniul de vizibilitate a unei variabile?

○

plaja de valori pe care le poate lua

○

locul unde se creează

✓

locul din textul sursă unde poate fi folosită

○

dacă are semn sau nu

Limbaje de programare si Inginerie Software Limbajul C #3

La execuţia programului următor se tastează 20. Ce se va afişa după execuţie?

c
#include <stdio.h> 
void main() { 
    char a; 
    scanf("%c",&a); 
    printf("%c",a); 
}
○

20

✓

2

○

0

Limbaje de programare si Inginerie Software Limbajul C #4

Care este rezultatul numeric al evaluării expresiei: a<b<ca < b < c dacă a=-2, b=-1 si c=0?

○

1

○

TRUE

✓

0

○

FALSE

Limbaje de programare si Inginerie Software Limbajul C #5

Ce se va afişa în urma execuţiei secvenţei următoare:

c
#include <stdio.h> 
void main() { 
   unsigned char x=25; 
   x=x<<2; 
   printf("%d",(int)x); 
}
○

27

✓

100

○

23

Limbaje de programare si Inginerie Software Limbajul C #6

Ce afişează programul?

c
#include <stdio.h> 
void main() { 
    int x,y,z; 
    x=y=z=4; 
    printf("%d",(x<<z)-(x|y)+(z&y));
}
✓

64

○

4

○

0

○

5

○

33

○

32

Limbaje de programare si Inginerie Software Limbajul C #7

Care din următoarele variante reprezintă modalităţi de comunicare între funcţii?

○

apel

○

prin variabile locale

✓

prin argumentele actuale

✓

prin valoarea returnată

✓

prin variabile globale

○

prin includere

Limbaje de programare si Inginerie Software Limbajul C #8

Ce este contextul de apel al unei funcţii?

○

lista argumentelor formale

✓

o zona de memorie (de pe stivă)

○

locul din textul sursă în care se apelează

○

instrucţiunile (definiţia funcţiei)

Limbaje de programare si Inginerie Software Limbajul C #9

Care este valoarea variabilei n după execuţia secvenţei:

c
char t[ ]="timisoara", *p,*q,n; 
p=q=t; 
while(*(q++)); 
n=q-p;
○

n=0

○

n=9

✓

n=10

○

n=’\0’-’t’

Limbaje de programare si Inginerie Software Limbajul C #10

Ce reprezintă declaraţia:

c
int *(*f)(int *) 

?
(i) funcţie ce primeşte argument pointer la întreg şi întoarce pointer la întreg
(ii) o declaraţie greşită
(iii) pointer către o funcţie care aşteaptă ca argument un pointer la int şi întoarce un pointer la int
(iv) pointer către o funcţie care întoarce un int

○

i

○

ii

✓

iii

○

iv

○

nici una

○

toate

○

i şi iv

Limbaje de programare si Inginerie Software Limbajul C #11

Ce se afişează în urma executiei următoarei secvente de cod?

c
#include <stdio.h> 
void main() { 
    char *u[2]={"abc","def"}, **v; v=&u[0]; 
    printf("%c",(*v)[1]); 
}
○

a

✓

b

○

c

○

d

○

e

○

f

○

abc

Next →