Capitolul 4

An image depicting a person analyzing SQL code on a laptop surrounded by data visualizations, colorful charts, and database symbols.

Master SQL with This Comprehensive Quiz

Test your knowledge of SQL commands, functions, and database concepts with our extensive quiz. Whether you're a beginner or an experienced database professional, this quiz covers key topics that will challenge and enhance your understanding of SQL.

Key Features:

  • 43 carefully crafted questions
  • Ranges from basic to advanced topics
  • Great for self-assessment and learning
43 Questions11 MinutesCreated by QueryMaster274
Alegeti comenzile SQL care sunt corecte:
SELECT * FROM produse
SELECT * \n FROM produse;
SELECT \n * \n FROM produse
SELECT * FROM produse \n /
SELECT * FROM produse;
Urmatoarea cerere de regasire: SELECT MAX(nume), SUM(nume), COUNT(*) FROM salariu WHERE salariu-net = MIN(salariu-net)
Nu este corecta pentru ca functia MAX() nu se aplica pe siruri de caractere
Nu este corecta pentru ca functia SUM() nu se aplica pe siruri de caractere
Nu este corecta pentru ca functia MIN() nu se aplica in clauza WHERE
Este corecta
Nu este corecta pentru ca nu se foloseste caracterul * in functia COUNT()
Urmatoarea cerere de regasire: SELECT b.denb, b.locb FROM beni b WHERE b.codb IN (SELECT c.codb FROM contr c, prod p WHERE c.codp=p.codp AND c.cantl*c.pretl>(SELECT(c.cantl*p.pretl)FROM contr c, prod p, WHERE c.codp=p.codp));
Este o cerere imbricata
Este o cerere corelata
Este o subcerere
Este o cerere si imbricata si corelata
Nu este niciun tip dintre variantele de mai sus
Se dau tabelele contr(nrcontr, codp, codb, cantl, pretl, datal) si prod(codp, denp, ump). Cererile de regasire sunt urmatoarele: 1) SELECT* FROM contr c WHERE 'pix'=(SELECT denp FROM prod p WHERE p.codp=c.codp); 2) SELECT c.nrcontr, c.codp, c.codb, c.cantl, c.pretl, c.datal FROM contr c, prod p WHERE p.codp = c.codp AND p.denp = 'pix'
Au efect identic
Au efect diferit
Ar avea acelasi efect daca in cererea 2 nu s-ar folosi operatorul AND, ci OR
Ar avea acelasi efect daca in cererea 1 nu s-ar folosi operatorul (=), ci IN
Ar avea acelasi efect daca in cererea 2 in clauza WHERE ar fi mai intai conditia de filtrare si apoi conditia de jonctiune
Care este efectul urmatoarei comenzi SQL? INSERT INTO facultate SET codf='CSIE' WHERE codf='CIG';
Se modifica valoarea atributului codf din 'CIG' in 'CSIE"
Niciun efect pentru ca atributul codf are rol de cheie primara si comanda INSERT nu poate schimba valoarea cheii primare
Niciun efect pentru ca in comanda INSERT nu exista clauza SET
Niciun efect pentru ca in comanda INSERT s-a folosit clauza WHERE
Niciun efect pentru ca intotdeauna este obligatoriu comanda COMMIT dupa INSERT
Care este efectul urmatoarei comenzi SQL? DELETE* FROM tabela;
Se sterg toate tuplurile din tabela
Se sterge tabela
Nimic, sintaxa este gresita deoarece nu se poate folosi caracterul *
Nimic, sintaxa este gresita deoarece nu se pune FROM
Se sterge atat tabela, cat si indecsii corespunzatori
Sa se specifice daca urmatorul exemplu este corect sau nu: UPDATE facultate SET denf='CSIE' WHERE codf='1';
Da
Nu, deoarece esti prost, ca esti prost, ca se vede, sa-ti dau la muie tie si lui Dan Voiculescu
Nu, deoarece nu se foloseste cu clauza SET in comanda UPDATE
Nu, deoarece nu se foloseste cu clauza WHERE in comanda UPDATE
Nu, deoarece comanda UPDATE nu se termina prin caracterul punct si virgula
Nu, nu si iarasi nu, ce nu intelegi !?
Nu, deoarece denumirea tabelei este obligatoriu sa fie scrisa cu litere mari
Atunci cand se creeaza o tabela, specificati cine este proprietarul ei?
Utilizatorul care a creat-o
Utilizatorul SYS
Utilizatorul SYSTEM
Toti acei utilizatori care au dreptul de interogare a tabelei
Administratorul BD
Daca valorile unui camp dintr-o tabela au lungime variabila, atunci care este tipul de date ce trebuie ales la descriere?
CHAR
VARCHAR2
NUMBER
LONG
PE CARE
RAW
Specificati daca se poate folosi aceeasi denumire pentru mai multe tabele?
Nu
Da, daca fac parte din aceeasi baza de date
Da, daca apartin aceleasi scheme
Da, daca nu apartin aceleasi scheme
Da, daca nu sunt ale aceluiasi proprietar
Daca utilizatorul denumit student a creat o tabela, atunci cine poate face regasiri pe acea tabela?
Doar utilizatorul denumit student
Doar administratorul BD
Toti utilizatorii care au drept de interogare pe acea tabela
Toti utilizatorii conectati la BD
Utilizatorul denumit student
Pentru a putea imparti o tranzactie in sub-tranzactii trebuie sa se foloseasca comanda:
ROLLBACK
COMMIT
SAVEPOINT
Nu se poate face o astfel de operatie
SET TRANSACTION
Avantaje ale tabelelor virtuale sunt:
Restrictioneaza accesul la BD
Simplifica formularea cererilor de regasire pe baza de date
Pot fi sterse fara a fi afectate datele din BD
Asigura independenta datelor fata de programele de aplicatie
Nu au niciun avantaj
O tabela virtuala poate:
Fi construita dintr-o tabela de baza
Fi construita din mai multe tabele de baza care sunt legate intre ele
Contine functii la nivel de grup
Fi in starea read only
Contine o restrictie de validare
Oracle Server ataseaza automat un index unei tabele, atunci cand in tabela se defineste o restrictie de integritate de tipul:
PK
UNIQUE
NOT NULL
FK
CHECK
Este necesar sa se ataseze un index unui camp dintr-o tabela atunci cand:
Campul este utilizat des in clauza WHERE sau intr-o conditie de jonctiune
Tabela are o dimensiune foarte mare
Campul are mai multe valori nule
Tabela are o dimensiune foarte mica
Tabela este actualizata des
Comanda SQL: SELECT DISTINCT codm, denm FROM marfa WHERE codm>222 ORDER BY denm; simuleaza implementarea operatorilor relationari de:
Proiectie si jonctiune
Selectie si intersectie
Selectie si reuniune
Proiectie si selectie
Reuniune si jonctiune
SQL este bazat pe:
Calculul relatioal orientat pe tuplu
Algebra relationala
Transformarea relationala (mapping)
Calculul relational orientat pe domeniu
Grafica
Secventa de comenzi: SET AUTOCOMMIT OFF; DELETE FROM stocuri; ROLLBACK WORK; are urmatorul efect:
Nu efectueaza nicio operatie de stergere
Sterge toate tulupurile din tabela "stocuri"
Sterge doar tulupul curent din tabela "stocuri"
Sterge fizic toate tulupurile
Sterge logic toate tulupurile
SQL este:
Un SGBD relational
Un limbaj pentru descrierea datelor
Doar un limbaj pentru manipularea datelor
Un limbaj de programare universal
Un limbaj de regasire din BD relationale
In PL/SQL, pentru a defini un cursor explicit se foloseste instructiunea:
OPEN
DECLARE
FETCH
CLOSE
BEGIN
Sa se bifeze afirmatiile care sunt corecte:
Comenzi SQL pentru manipularea datelor pot fi utilizate ca atare intr-un bloc PL/SQL
Comenzi SQL pentru definirea datelor pot fi utilizate ca atare intr-un bloc PL/SQL
Instructiunil asociate cu un cursor explicit sunt: OPEN, FETCH, CLOSE, DECLARE
Atributul %TYPE are acelasi efect cu atributul %ROWTYPE
%SQL este o pseudocoloana
Intr-un bloc PL/SQL se pot utiliza urmatoarele tipuri de date:
CHAR
VARCHAR2
NUMBER
MEMO
DATE
Structura unui bloc PL/SQL contine sectiunile (zonele):
Declare
Exception
Begin
End
Fetch
Consideram urmatorul bloc PL/SQL: In acest bloc se:
Defineste un cursor explicit
Defineste o variabila de tip inregistrare
Incarca o variabila de tip inregistrare cu valori
Defineste un cursor implicit
Foloseste o structura repetitiva de program
Se da urmatorul nloc PL/SQL: DECLARE codp NUMBER(4):=77; BEGIN UPDATE prod SET pret=2222 WHERE codp=codp; END; Blocul nu se executa pentru ca:
Comanda SQL denumita UPDATE nu se poate utiliza intr-un bloc PL/SQL
Variabila codp are aceeasi denumire ca atributul codp
Dupa comanda SQL denumita UPDATE este obligatorie comanda COMMIT
Variabila codp este initializata cu o valoare incorecta
Comanda SQL denumita UPDATE se termina prin caracterul punct si virgula
Intr-un bloc PL/SQL:
Fiecare instructiune trebuie sa se termine prin caracterul punct si virgula
Comenzile SQL din LDD nu sunt permise ca atare
Comezile SQL din LMD nu sunt permise ca atare
Comenzile SQL din LMD pot prelucra mai multe inregistrari
Nu se pot folosi variabile SQL
Motorul PL/SQL poate fi rezident in:
Nucleul sistemului Oracle
Oracle FORMS
Oracle MENU
Oracle REPORT
SQL* DBA
In sectiunea pentru declarare, de mai jos, se defineste o variabila: DECLARE astazi DATE:=SYSDATE; v NUMBER NOT NULL:=0; v1 NUMBER(7,2); v3 CHAR(7); v4 BOOLEAN:=FALSE;
De tip data calendaristica
Sir de caractere de lungime variabila
Booleana
Numerica intreaga
Numerica
Intr-un bloc PL/SQL se pot folosi:
Variabile definite in PL/SQL
Variabile definite in SQL
Variabile definite in Oracle FORMS
Variabile definite in subprograme PL/SQL
Numai variabile definite in PL/SQL
Evaluarea unui cursor implicit se poate face folosind atributele de sistem:
SQL%ROWCOUNT
SQL%FOUND
SQL%NOTFOUND
%TYPE
%ROWCOUNT
Urmatorul exemplu defineste: DECLARE prod-rec prod%ROWTYPE;
Un cursor implicit
Un cursor explicit
O variabila de tip inregistrare
O variabila SQL
O variabila de tip host
Atributul de sistem %ISOPEN caracterizeaza
Cursorul explicit
Cursorul implicit
Un tuplu
O tabela
O variabila
In PL/SQL, pentru a incarca datele dintr-un cursor explicit intr-o variabila de tip inregistrare se utilizeaza instructiunea:
OPEN
CLOSE
DECLARE
FETCH
Pai se poate? Pai nu se poate
Urmatoarea secventa din PL/SQL este: CURSOR cc1(param1 NUMBER) is SELECT nume, salariu FROM salariat WHERE cods=param1;
Gresita, pentru ca un cursor explicit nu se poate defini cu parametri
Gresita pentru ca trebuie obligatoriu specificata precizia parametrului param1
Corecta
Gresita pentru ca comanda SELECT se termina prin caracterul punct si virgula
Gresita deoarece parametrul param1 trebuie obligatoriu precedat de caracterul & in clauza WHERE
In PL/SQL pentru a defini o exceptie, in mod explicit, se foloseste instructiunea:
Raise denumire_exceptie
Denumire_exceptie EXCEPTION
WHEN denumire_exceptie THEN
WHEN OTHERS
Nu se poate, domnisoara
Pentru a putea defini un subprogram de tip procedura se foloseste comanda:
CREATE PROCEDURE
CREATE PACKAGE
CREATE FUNCTION
CREATE TRIGGER
ALTER PROCEDURE
Un subprogram de tip declansator este executat implicit de catre nucleul Oracle, atunci cand apare comanda:
INSERT
UPDATE
DELETE
SELECT
LOCK TABLE
In PL/SQL se da tabela cu schema lucru(nr N(2), text C(10)). Blocul:
Realizeaza o ciclare cu test initial cu numarator
Realizeaza adaugarea unor atribute noi in tabela "lucru"
Nu respecta structura blocului din PL/SQL
Anuleaza tranzactiile
Este gresita
In PL/SQL, blocul: DECLARE CURSOR cursor1 IS SELECT codp, denp FROM prod;
Declara un cursor si o viziune
Lucreaza cu un cursor explicit
Lucreaza cu un cursor si o viziune
Este gresita
Declara un cluster
In PL/SQL se dau tabelele "prod" si "lucru". Blocul:
Lucreaza cu un cursor implicit si cu o viziune
Lucreaza cu un cursor explicit si cu o viziune
Este gresita
Lucreaza cu un cursor implicit
Lucreaza cu un cursor explicit
PL/SQL este un limbaj:
Procedural universal
Descriptiv specific muie Oracle
Procedural specific muie Oracle
Relational specific muie Oracle
De programare nivel scazut (eu asta as pune in locul tau...)
Daca ar fi sa ti-o iei undeva ca sa treci examenul de PL/SQL, unde ai lua-o?
In gura
In cur
In fofoloanca
In ureche
In nas
{"name":"Capitolul 4", "url":"https://www.quiz-maker.com/QPREVIEW","txt":"Test your knowledge of SQL commands, functions, and database concepts with our extensive quiz. Whether you're a beginner or an experienced database professional, this quiz covers key topics that will challenge and enhance your understanding of SQL.Key Features:43 carefully crafted questionsRanges from basic to advanced topicsGreat for self-assessment and learning","img":"https:/images/course4.png"}
Powered by: Quiz Maker