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=CSApply)πsID(σmajor=PHApply))))π_{sName}(Student ▷◁ (π_{sID}(Student) −(π_{sID}(σ_{major=′CS′}Apply) ∪π_{sID}(σ_{major=′PH′}Apply))))

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

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

πsNameStudentπsName(Student▷◁πsID(σmajor=CSmajor=PHApply))π_{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 →