Sunteți pe pagina 1din 54

li

r
r
1

-\,.-
În VFP: sunt puţine instrumente oferite administratorului BD faţă de ceea ce
ar trebui să ofere un SGBD. Astfel, există asistenţii Database Designer şi
Table Designer care oferă elemente de proiectare asistată; se poate lucra
Note bibliografice
Noţiunea de sistem de bază de date (SBD) este tratată atât în materialele llldl
vechi (în ţara noastră sub denumirea de bancă de date) cât şi în cele mai noi.
Conceptul este prezentat fie doar în contextul elementelor sale componente
opţional cu noţiunea explicită de bază de date şi deci cu dicţionarul BD prin
[CONNOO], [DATE04], fie ca noţiune şi apoi pe componente [VELU03).
comanda .CREA TE DAT ABASE, care produce fişierul tip DBC
SBD avansate sunt prezentate pe larg, teoretic (concepte, arhitecturi,
.._ corespunzător dicţionarului BD; există câteva comenzi SET pentru
interacţiuni) şi practic (exemple, studii <le caz, aplicaţii), în mai multe
schimbarea unor parametri. Toate acestea nu sunt însă doar la dispoziţia
lucrări: [RICCOl], [RAGEOOJ, [DIAZOOJ. Am prezentat aici, doar o sinteză
adminsitratorului BD ci le poate folosi orice utilizator.
a principalelor tipuri de SBD avansate, şi anume cele mai utilizate în acest
_.;
Rezumat moment.
Definirea unui sistem de bază de date (SBD) se face în strânsă legătură cu Pentru o bună documentare în ceea ce priveşte actvitatea de administrare a
noţiunea de aplicaţie inf01matică. unei baze de date, cititorul poate consulta [LUVE021.
Sistemul de bază de date (DataBase System) este un ansamblu de elemente
intercondiţionate care contribuie la realizarea şi exploatarea unei aplicaţii cu
baze de date. Elementele care fac parte din acest ansamblu se referă la date, Cuvinte-cheie
software şi alte resurse necesare. bancă de date
sistem de bază de date- SBD
Două arhitecturi de SBD au fost prezentate: pe componente şi pe niveluri.
sistem de gestiune a bazelor de date -
bază de date - BD
Arhitectura pe componente a SBD evidenţiază elementele sale: datele, SGBD
....... arhitectura de SBD
software, elementele auxiliare. aplicatie informatică
niveluri de organizare a datelor nivel conceptual
Arhitectura pe niveluri a SBD arată modul de structurare a datelor, rolul
nivel fizic ..·
nivel logic
l_. SGBD-ului şi legăturile între diversele elemente. Sunt trei niveluri de administrator'baze d~ date
organizare a datelor în baze de date: conceptual, logic, fizic. Fiecărui nivel îi SBD avansate
corespunde, respectiv, un punct de vedere: administratorul BD,
programatorul de aplicaţie, analistul de sistem. Fiecare dintre aceştia Teste-grilă
realizează schemele bazei de date: conceptuală, logică (externă), fizică
(internă). 1. Pentru o bază de date:
a) structura conceptuală se deduce din cea logică
SBD evoluează continuu, ponderea majoritară fiind deţinută de cele
~..,.

b) structura externă se deduce din cea conceptuală


relaţionale. Noi tipuri de SBD (avansate) au apărut prin interferenţa
c) structura globală se deduce din cea conceptuală
tehnologiei bazelor de date cu alte tehnologii infonnatice: paralele,
1.... d) structura globală se deduce din cea fizică
multimedia, mobile, sisteme suport de decizie, Internet, spaţiale.
e) structura internă se deduce din cea fizică
Pe scurt, este prezentată activitatea de administrare a unei baze de date,
punctându-se: ce este un administrator, care sunt nivelurile de
\".....
administratori, care sunt sarcinile administratorului BD, precum şi
instrumentele necesare a fi la dispoziţia sa pentru a îndeplini aceste sarcini.

~ 27
26
2. Componenta de date dintr-un SBD poate conţine: 7. Într-o arhitectură de sistem de bază de date, Visual Foxpro face parte din
a) sistemul de operare componenta: :-)

b) sistemul de coduri a) date


c) dicţionarul distribuit b) elemente auxiliare
c) elemente obligatorii
,.....
d) fişierele anexe
e) fişiere tip DOC d) software
e) baza de date
-.
3. În arhitectura unui SBD pe niveluri, viziunea programatorului de 8. Componentele unui sistem de bază de date (banca de date) sunt:
aplicatie corespunde: a) sistemul de operare
a) nivelului fizic b) software-ul de reţea ......
b) nivelului sistem de operare c) reteaua de calculatoare
c:) nivelului SGBD d) modelul de calcul
d) nivelului fizic: şi logic e) programele utilitare ,......
e) nivelului logic: 9. Arhitectura pe componente a unui sistem de bază de date conţine:
a) fişierele
4. Yisual Foxpro este:
b) programele de comunicaţie
a) un limbaj de programare universal c) software-ul specializat de comunicaţie
b) o bază de date d) datele ··
c:)
d)
e)
un sistem de fişiere
un SGBD reţea
un SGBD orientat vizualizat
e) elementele auxiliare

10. Pe câte niveluri de organizare poate fi structurată .9 bază de date ? :


-
5. Pentru o
a)
bază de date:
structura externă se deduce din cea globală
a) două
b)
c)
trei
patru
-~··' . ·· ..
-
d) unul
b) structura logică se deduce din cea conceptuală ....,
e) uneori pe trei, alteori pe patru
c:) structura globală se deduce din cea externă
d) structura internă se deduce din cea logică Il. În arhitectura pe niveluri a unui sistem de bază de date, punctul de
e) structura externă se deduce din cea internă vedere al administratorului corespunde:
a) nivelului logic
6. Structura internă (fizică) a unei baze de date este punctul de vedere al: b) nivelului fizic şi logic
a) programatorului de aplicaţie c) nivelului conceptual ,....,
b) administratorului de reţea d) nivelului aplicaţie
c:) administratorului bazei de date e) nici unui nivel
d) şefului echipei de lucru ........,_
e) nu există o astfel de structură de date

28 29 ,...-,
1ihl' 12. Structura externă a unei baze de date este de competenta (punctul de
vedere): Răspunsuri la teste
1 - b ; 2 - d ; 3- e ; 4- X ; 5- a, b, d ; 6- X ; 7 - d ; 8 -X ; 9 - d,
a) programatorului de aplicaţie
e ; 10-b ;
\_, b) nu există o astfel de structură de date
11-c; 12-a; 13-b;14-b,c,d,e;15-c,d,e;16-x
c) administratorului bazei de date
d) administratorului de reţea
e) SGBD-ului
Probleme
13. Componenta de date dintr-un SBD poate conţine:
1
L._, a) programele de aplicaţie J) Din activitatea de cercetare-dezvoltare a unei firme să se identifice o
b) dicţionarul BD subactivitate pentru care se poate construi un SBD în VFP.
c) programele utilizator 2) Din activitatea de producţie a unei firme să se identifice o
i.... d) dicţionarul de programe subactivitatc pentru care se poate construi un SBD în VFP.
e) fişiere tip HTML 3) Din activitatea financiar-contabilă u unei firme să se idenrificc o
subactivitate pentru care se poate construi un SBD în VFP.
L 14. Sarcini ale administratorului BD sunt:
a) asigură independenţa conceptuală a datelor
4) Din activitatea comercială a unei firme să se identifice o
subactivitate pentru care se poate construi un SBD în VFP.
b) defineşte dicţionarul BD 5) Din activitatea de resurse umane a unei firme să se identifice o
1...,.. c) monitorizează accesul la date subactivitate pentru care se poate construi un SBD în VFP.
d) asigură protecţia datelor 6) Să se identifice în VFP componentele care asigură functiile unui
e) întreţine BD
SGBD.
.-'
1.......
15. Instrumente la dispoziţia administratorului BD sunt:
a) produse hardware oferite de SGBD
b) produse hardware din sistemul de operare
c) produse software oferite de SGBD
d) produse software oferite de sistemul de operare
'- e) produse software realizate de administratorul BD

16. runcţiile unui SGBD sunt:


a) manipularea programelor
'-
b) administrarea reţelei
c) descrierea interfeţelor
~
d) definirea utilizatorilor
e) utilizarea limbajelor universale , _"~~~-.;,·:·!~~.:;.~'
t; ,.,. '\t~

~ 30
{ ,' ··;,,::;;;',;· :,',':;' 1" ,~J
··.:~. "..;"
..... 3J
•'-;~~--~- ..:: .. :./
·~1 i1
'~l

2 Introducere în baze de date (BD)


~

.-.

2.1 Definirea bazei de date


Capitolu12 ~

În orice calculator datele sunt stocate atât în memoria in temă (temporar) cât
şi în memoria externă (persistent).
Bazele de date - BD, ca mod de organizare a datelor în memoria externă, au
evoluat din fişiere printr-un proces de integrare a lor (fişierele şi legăturile
dintre ele) şi ţinând cont de cerinţele aplicaţiilor informatice.
-
l'"j
2.1. Definirea BD Elementele componente ale unei baze de date
Deoarece bazele de date au evoluat din fişiere, o serie de noţiuni utilizate în
2.2. Aspecte privind organizarea datelor în memoria externă
cele două moduri de organizare a datelor în memoria externă sunt similare,
2.2.1. Evoluţia organizării datelor '1
aşa cum reiese din tabelul de mai jos. De remarcat faptul că atât fişierele cât
2.2.2. Organizarea datelor în fişiere şi bazele de date se construiesc pornind de la lumea reală înconjurătoare .
2.3. Modelele logice de structurare a datelor în baze de date Citirea tabelului se va face de la stânga la dreapta. iar noţiunile
2.4. Consideraţii privind protecţia bazelor de date corespunzătoare de pe cele două rânduri pot fi considerate similare.
~

Rezumat Astfel vom spune: o bază de date este fmmată din mai multe colecţii de
Note bibliografice date. Fiecare dintre acestea are ataşată o famili~.de caracteristici, care. esţe
Cuvinte-cheie formată din mai multe caracteristici, care iau valori dintr-un domeniu de .....
Teste-grilă şi probleme valori.
În mod similar se citeşte rândul de jos: un sistem de fişiere este foqnat din
mai multe fişiere. Fiecare dintre acestea are ataşată o înregistrare logică -
articol, care este formată din mai multe câmpuri, care iau valori.

Baza de date lecţii de date aracteristici Domenii de valori


aracteristici 'î
Sistem de fisiere Valori

Ne vom ocupa, în continuare, de noţiunile aferente bazelor de date, urmând ,_


ca de fişiere să ne ocupăm în paragraful următor.
Domeniul de valori este dat de mulţimea valorilor posibile pentru o
caracteristică (exemplu: culorile posibile pentru un automobil). ~

33
,.....,
~ -·1
r1 '•·
L-' Ca orice SGBD relaţional, VFP este un sistem tranzacţional, dar nu sunt Rezumat
respectate toate caracteristicile tranzacţiilor.
Salvarea şi restaurarea BD nu este făcută automat ci doar explicit de către Capitolul începe cu definirea conceptului de BD şi a noţiunilor aferente.
L.. administratorul BD. Pentru noţiunea de BD este dată o definire originală, completă: un ansamblu
de colecţii de date în memoria externă cu următoarele caracteristici:
SECURITATEA datelor este asigurată prin măsurile care se iau de către organizat, pe trei niveluri - conceptual, logic, fizic;
proiectantul BD, dar şi de către benefidar, pentru protejarea datelor stocare structurat, conform unui model de date pentru 130 - ierarhic, reţea,
împotriva unor incidente - evenimente voite, dar şi a unor accidente - relaţional, orientat obiect;
evenimente nevoite.
coerent, prin restricţiile de integritate şi protecţia datelor;
1. Autorizarea şi controlul accesului la date constă în identificarea
1...... cu o redundanţă minimă şi controlată, prin implementarea unui model
utilizatorilor şi restricţionarea accesului acestora, pentru diferite de date şi prin aplicarea unei tehnici de proiectare;
1 operaţii de prelucrare.
1 accesibil mai multor utilizatori în timp util, adică informaţiile din BD
L- 2. Viziunile/vederile/tabele virtuale- views- sunt partiţii logice ale BD pol fi folosite de către mai mulţi utilizatori atunci când e nevoie de
definite pentru diferiţi utilizatori.
, acestea.
3. Procedurile .1peciale sunt rutine, oferite de SGBD, care efectuează
1 Se dă un exemplu de BD relaţională pe care se exemplifică definiţia noţiunii
~ anumite operaţii asupra datelor şi care sunt accesibile anumitori deBD.
utilizatori.
, După ce s-a definit noţiunea de organizare a datelor, s-a prezentat evoluţia
4. Criptarea este operaţia de codificare a datelor în vederea stocării sau
acesteia pentru memoria externă, pornind de la fişiere - primul mod de
"- transmiterii datelor. În acest sena, se folosesc o mulţime de tehnici organizare a datelor în memoria externă şi ajungându-se la ultimele tipuri de
specifice: parole, algoritmi de criptare/decriptare, rutine speciale etc. baze de date, cele orientate obiect. In această evoluţie, s-au urmărit câleva
În VFP. Se poate lucra cu tabele libere- free table (rezultă fişiere tip DBF), aspecte - caracteristici comparative: structura de datt;,.- mod':!l de prelucrare a
"'-' caz în care securitatea datelor este scăzută. Se poate lucra şi cu noţiunea de datelor, redundanţa datelor, software-ul utilizat. ·-"
bază de date prin comanda CREATE DATABASE (rezultă fişier tip DBC), Pentru a se fundamenta necesitatea organizării datelor in memoria externă,
caz în care securitatea datelor creşte.
1....
comparativ cu memoria internă, s-a prezentat un tabel în care se găsesc cinci
Se poate lucra cu viziuni prin comanda SQL CREATE VIEW, dar nu sunt criterii: cost, viteză, capacitate, persistenţă, organizare.
îndeplinite toate caracteristicile acestora.
În continuare, se defineşte noţiunea de fişier şi, acesteia, i se prezintă câteva
Pentru administratorul BD VFP oferă puţine instrumente pentru întreţinerea
..... dintre cele mai importante aspecte de organizare a datelor: operaţii,
BD. Majoritatea operaţiilor administratorul BD le va efectua prin proceduri structura, modul de organizare, modul de acces.
proprii.
O parte consistentă din capitol este destinată organizării datelor în baze de
Criptarea nu este asigurată automat de VFP.
\"_. date conform unor modele de date.
Mai întâi sunt prezentate principalei noţiuni necesare: informaţia, modelul
de structură, modelul de date, tipuri de modele de date, schema conceptuală,
........ elementele componente ale unui model logic de date (definirea structurii,
operatorii, regulile de integritate).

1.-o
66
67
,_,

tipuri de modele de date schema conceptuală


După aceea, sunt prezentate cele patru modele logice de date
structura modelului de date operatorii modelului de date
fundamentale/de bază, întâlnite la organizarea datelor în baze de date: ""'"'
regulile de integritate model ierarhic
ierarhic, reţea, relaţional, orientat obiect. Fiecare model este prezentat în model relaţional
model reţea
acelaşi mod: elementele componente, carac:terizare generală. În acest fel se protecţia bazei de date
model orientat obiect ......,
pot urmări, comparativ, cum se regăsesc noţiunile prezentate la începutul securitatea datelor integritatea datelor
capitolului: în fiecare model în parte.
Capitolul se încheie cu o sinteză privind protecţia bazelor de date. Sunt
luate în considerare cele două aspecte ale protec1ici: securitatea, integritatea.
Fiecare dintre acestea este descompusă în principalele subactivităţi care
Teste-grilă

1. După modelul de date implementat, bazele de date sunt:


-
trebuie să fie asigurate într-un sistem de bază de date, de către SGBD şi a) ierarhice, locale
b) distribuite, generalizate
,..,
administratorul bazei de date.
c) relaţionale, de conducere
La fiecare paragraf au fost prezentate soluţii de implementare în VFP,
d) orientate obiect, specializate
precum şi în nucleul extins de SQL.
e) reţea, de documentare r-1

Note bibliografice 2. Modul de organizare clasică 1 elementară al fişierelor cuprinde tipurile:


a) organizarea partiţionată
r'l
Aspecte suplimentare despre organizarea datelor în baze de date se găsesc în b) organizarea secvenţială
[DATE04], [RICCO 1) şi (CONNOO]. c) organizarea standard
Referitor la tipurile de modele de date pentru baze de date, se face o bună
prezentare în [RAGEOO] .
d) organizarea indexat-secvenţială
e) organizarea relativă ...
Protectia bazelor de date este tratată în majoritatea lucrărilor, sub diferite 3. În modelul relaţional pentru baze de date: __
aspecte. Exemple de implementare în SGBD relaţional a aspectelor privind a) definirea legăturilor se face logic prin atribute declarate chei -,
securitatea şi integritatea datelor se găsesc în [VELU02] şi [VELUOO]. b) domeniul este linia dintr-o tabelă şi nu are nume
Conceptele fundamentale utilizate în acest capitol se regăsesc în [VELI05] c) conectivele sunt operatori orientaţi pe tuplu din calculul relaţional
şi parţial în [DATE06] . d) există restricţia referenţială .-,
e) se face trecerea la a treia generaţie de baze de date

Cuvinte-cheie 4. La organizarea datelor în memoria externă , noţiuni corespunzătoare r-,


sunt:
baza de date domeniu de valori a) câmp - valoare
caracteristica colecţia de date b) caracteristică- câmp
organizarea datelor structura de date c) caracteristică- înregistrare
redundanţa memoria externă d) câmp- înregistrare
fişier mod de organizare a unui fişier e) colecţia de date- fişier ,.....,
mod de acces la un fişier model de date

69
68
,__

l
L 5. În modelul ierarhic pentru baze de date: 1O. În modelul retea pentnl baze de date:
a) există operatorul de trecere de la o înregistrare la alta într-o tabelă a) definirea obiectelor se face prin tip arbore
b) există operatorul de adunare
b) un nod poate avea oricâţi superiori
c) există noţiunea de tip arbore
c) un nod poate avea oricâţi subordonaţi
d) există noţiunea de domeniu de stări
d) există noţiunea de tip set
e) un nod copil poate avea mai mulţi părinţi e) se pot reprezenta numai legături l:M
1....
6. Baza de date este un ansamblu de date: 11. Visual Foxpro este:
a) organizat, structurat a) un limbaj de programare universal
b) cu o redundanţă minimă şi necontrolată b) o bază de date
L. c) accesibil mai multor utilizatori în timp util c) un sistem de fişiere
d) coerent, modular
d) un SGBD reţea
e) distribuit uniform
e) un SGBD orientat vizualizat
L.
7. La evoluţia organizării datelor în memoria externă se au în vedere 12. În modelul relaţional pentru baze de date:
aspectele:
a) există noţiunea de tip înregistrare
a) modul de organizare a aplicatiei b) atributele care au rol în realizarea legăturilor între tabele se numesc
!.....
b) structurile de program
chei compuse
c) procedurile de calcul
c) legăturile între tabele se descriu în LMD
d) transmisia datelor d) există noţiunea de schema tabelei
!.....
e) redundanţa programelor
e) proiectia, negaţia şi existenţa sunt operatori din algebra relatională
8. Componenta de date dintr-un SBD poate conţine: 13. În modelul reţea pentru baze de date:
a) sistemul de operare
~
a) există noţiunile de nod proprietar şi nod membrti
b) sistemul de coduri
b) există operatori de actualizare într-un set
c) dicţionarul distribuit
c) există operatorul de localizare a unui arbore
d) fişierele anexe
L... d) o înregistrare nu poate fi membră a două realizări ale aceluiaşi tip set
e) fişiere tip DOC
e) actualizarea datelor este greoaie
9. Ansamblul de concepte şi instrumente pentru a realiza schema 14. Modul de dispunere a înregistrărilor, conform unor reguli, reprezintă
L conceptuală a datelor reprezintă:
pentru un fişier:
a) structura de date fizice
a) modul de acces
b) structura programelor
b) modul de regăsire
._ c) SGBD
c) modul de organizare
d) modelul fizic
d) modul de calcul
e) modelul de date
e) modul de programare
.....

70
71
,...,
15. În modelul ierarhic pentru baze de date:
20. La organizarea datelor în fişiere se au în vedere următoarele
a) definirea obiectelor se face prin clase de obiecte caracteristici: ...,
b) se admit legături 1:1, I:M, M:N a) limbajul de programare
c) există secven{e ierarhice de realizări b) actualizarea datelor
d) există operatorul de actualizare într-un arbore c) tipul şi frecvenţa operaţiilor pe înregistrări ...,
t:) o realizare copil este întotdeauna asociată unei singure realizări d) volumul de date
părinte
e) dimensiunea hard discului
...,
16. Visual Foxpro con{ine: 21. La organizarea datelor în memoria externă, noţiuni corespunzătoare
a) un limbaj procedural sunt:
b) un limbaj descriptiv a) fişier - familia de caracteristici ...,
c) un limbaj de descriere a datelor b) fişier- valoare
d) un limbaj de manipulare a datelor c) înregistrare- caracteristică
c) un limbaj utilizator distribuit d) înregistrare- domeniu de valori
e) câmp- colecţie de date
...,
17. În modelul orientat obiect pentru baze de date:
a) obiectul are identificator, proprietăţi
22. Modelul de date pentru baze de date este un ansamblu format din:
b) obiectul are interfaţă, implementare
a) concepte
...,
c) există caracteristicile fundamentale ale obiectelor: succesiunea şi
încapsularea b) structura de program
c) structura de date
d) există restri cţia de integritate: orice clasă respectă regulile impuse
obiectului din care face parte d) schema internă
e) structura funcţională
c) Ia baza operaţiilor (operatorilor) stau metodele •..
~

-·· ...,
18. La organizarea datelor în fişiere, nivelurile de referinţă sunt: 23. În modelul relaţional pentru baze de date:
a) global a) reuniunea şi proiecţia sunt operatori din calculul relaţional
b) conceptual b) într-o tabelă nu trebuie să existe două tupluri cu aceeaşi valo<ţre
c) logic pentru ansamblul cheie compusă
d) de ansamblu c) cheia formată din mai multe atribute se numeşte cheie primară l
c) fizic d) implementarea modelului se face la nivel logic
e) definirea datelor se face prin tablouri bidimensionale numite relaţii
19. În modelul reţea pentru baze de date:
a) există un singur tip înregistrare rădăcină 24. Baza de date este un ansamblu de date:
b) la un subordonat se poate ajunge pe mai multe căi a) condus, coerent ,._
c) există operatori de localizare a unei înregistrări pe baza valorii unui b) accesibil mai multor utilizatori în timp util
câmp
c) structurat, cu o redundanţă minimă şi controlată
d) o înregistrare poate să aparţină mai multor tipuri set d) organizat, coerent
c) implementarea modelului se face logic ,._
e) administrat, programat

72
73 ...,
'-

l!'
25. Structura unui fişier oarecare este dată de componentele sale:
a) partea de program
30. Elementele definitorii ale unei baze de date sunt:
a) caracteristica
r...... b) partea de identificare
c) partea cu structura fişierului index
b) coleclia de caracteristici de grup
c) colecfia de date ·
d) partea de date d) familia de caracteristici
~ e) partea de comunicaţie e) colecfia de baze de date
r
'
.....
26. Modul/ metoda de acces la un fişier poate ti: 31. Elementele 1 componentele oricărui model de date pentru baze de date
a) indexat-secvenţial sunt:
b) nedefinit a) definirea entităţi lor 1 obiectelor
L-
c) dinamic b) operatorii care acţionează asupra structurii de date
d) structurat c) operatorii aritmerici
e) standard d) definirea legăturilor dintre entităţi 1 asocierile
L-
e) regulile lui Codd
27. Elementele /componentele oricărui model de date pentm baze de date
" sunt:
1 modelul relaţional pentru baze de date:
32. În
~"_.,
a) regulile de integritate a)definirea obiectelor se face prin tip înregistrare
b) regulile de comportament b)tuplul este coloana dintr-o tabelă şi are un nume
c) regulile de comunicaţie c)domeniul este un subansamblu al produsului cartezian al mai multor
d) definirea procedurilor de calcul tabele
"'"" e) definirea obiectelor 1 entităţilor d) potenţial, orice tabelă se poate lega cu orice tabelă
e) cuantificatorii sunt operatori orientaţi pe do!Jleniu, din calculul
L- 28. După modelul de date implementat, bazele de date sunt: relaţional _./ ·.
a) generalizate
b) specializate 33. În Visual Foxpro se poate lucra- ca stil de lucru:
c) statistice a) prin meniul utilizator final
L-
d) de gestiune b) prin comenzi
e) de conducere c) prin program
L-;
d) prin generatoarele de date
29. În modelul ierarhic pentru baze de date: e) prin date
a) orice acces la un nod se poate face pe mai multe căi
b) un nod părinte poate avea mai multe noduri copil 34. În modelul orientat obiect pentru baze de date:
L.,. c) legătura părinte- copil poate fi 1:1, 1:M a) comportamentul obiectului se indică prin metode
d) numărul de ierarhii posibile creşte combinatorial cu numărul b) mesajele sunt cereri de regăsire
înregistrări lor c) un obiect nu îşi poate deriva datele şi funcţionalitatea din alt obiect
w e) există operatorul de localizare a unui arbore d) proprietăţile obiectelor pot fi actualizate
e) sunt patru caracteristici fundamentale (de bază) ale obiectelor

l...;
74 75
~

35 . În modelul orientat obiect pentru baze de date: 40. În modelul ierarhic pentru baze de date:
a) există restricţia de integritate: accesul la obiecte nu este limitat a) implementarea modelului se face fizic l
b) există restricti a de integritate: identificatorul obiectului asigură b) implementarea modelului se face logic
integritatea referirii Ia acesta
c) există operatorul privind actualizarea proprietăţilor
d) există operaton1l privind actualizarea claselor
c) dacă un tip de înregistrare nu are realizări atunci nici tipurile de
înregistrare descendente nu au realizări
d) există operatorul de localizare a unui arbore
-
e) diferite obiecte pot răspunde diferit la aceleaşi mesaje
e) există operatorul de localizare a bazei de date
"""'
36. Partea de manipulare a unui model de date pentru baze de date este dată
de: 41. Elemente definitorii ale unei baze de date sunt:
a) definirea entităţi lor a) colecţia de proprietăţi ~

b) definirea legăturilor b) colecţia de date


c) definirea atributelor c) familia de caracteristici
d) regulile de integritate d) familia de înregistrări ...,
e) regulile de derivare e) caracteristica ,
37 . În modelul orientat obiect pentru baze de date:
42. La evoluţia organizării datelor în memoria externă se au în vedere ...,
a) conceptul de bază folosit este clasa de tupluri
aspectele:
b) obiectul are nume şi interfaţă
c) obiectul are nume şi mesaj a) modul de organizare a datelor
d) există operatorul privind identificatorul obiectului b) nivelurile de structurare a datelor
e) există caracteristicile obiectelor: mesajul, polimorfismul c) modul de prelucrare a datelor
-- , . -.
J
d) redundanţa programelor
38. În modelul relaţional pentru baze de date:
,....,
e) software-ul aferent
a) legăturile între tabele se descriu în LDD
b)
c)
d)
e)
operatorii relaţionali sunt implementaţi în LDD
există restricţia tip set
există operatorul de localizare a unei înregistrări
există valoarea NULL
43. În modelul relaţional pentru baze de date:
a) există restricţia entităţii
b) există noţiunea de cheie internă
-
c) există noţiunea de cheie externă
.....
39. La organizarea datelor în fişiere, nivelurile de referinţă sunt: d) T(al :D l, ... , an:Dn), unde T - tabelă, ai - atribut, Di - domeniu,
a) conceptual este schema relaţională
b) programator e) ordinea liniilor şi coloanelor dintr-o tabelă are o mare importanţă ...,
c) global pentru creare
d) de reţea
c) de ansamblu
"""1

76 77 ~
~

r
1
1....1 44. Protecţia BD, sub aspectul securităţii datelor, se referă la: Probleme
a) criptarea
b) controlul concurenţei 1) Să se descrie, pe scmt, o activitate dintr-o firmă pentru care se poate
c) viziunile realiza un SBD în VFP. Din descriere sa se construiască schema

,. d) co~trolul cheilor conceptuală a BD.


e) salvarea 2) Să se creeze în VFP o bază de date şi în cadrul ei tabelele conform
1....1 schemei conceptuale de la problema l ). Se va da o soluţie în VFP şi
45. Protecţia BD, sub aspectul integrităţii datelor, se referă la: apoi în SQL.
a) viziunea administratorului de reţea 3) Să se identifice în VFP elementele din definiţia unei BD.
b) procedurile manuale 4) Să se identifice şi să se utilizeze în VFP şi în SQL elementele
c) controlul accesului concurent modelului de date relaţional.
d) codificarea datelor 5) Să se identifice în VFP două aspecte privind protectia datelor.
.... e) salvarea şi restaurarea

46. Protecţia BD este asigurată prin:


a) securitatea datelor
b) integritatea programelor
l...t
c) securitatea programelor
d) software de reţea
e) SGBD
...._ . ~··

Răspunsuri

i....l
1 : - ; 2 : b, d, e ; 3 : a, c ; 4 : b, e ; 5 : c ; 6 : a, c ; 7 : - ; 8 : d ; 9 : e ;
10: b, c, d;
11 :- ; 12: d; 13: a, b, d, e; 14: c; 15: c, d, e ; 16: a, b, c, d; 17:
1....1
a, b, c ; 18 : c, e ;
19 : b, c, d; 20 : b, c, d; 21 : - ; 22 : a, c ; 23 : d, e ; 24 : b, c, d ; 25 :
b, d; 26: c;
\....
27 : a, e; 28 : - ; 29 : b, c, d, e ; 30 : a, c, d ; 31 : a, b, d ; 32 : d, e ; 33 :
b, c ; 34 : a, b, d ;
35 : b, c, d ; 36 : - ; 37 : b ; 38 : a, e ; 39 : - ; 40 : a, c, d ; 41 : b, c, e
42 : a, b, c, e ;
43 : a, c ; 44 : a, c ; 45 : c, e ; 46 : a, e

,_,
78 79
~

3 Realizarea bazelor de date


Aspecte metodologice
....,

,...,

3.1 Aspecte organizatorice privind realizarea unei baze de date


Capitolul3 1"""\

Realizarea unei baze de date se face respectând o anumită metodologie de


lucru. O astfel de metodologie respectă, în cea mai mare parte, activităţile
care se parcurg pentru realizarea unui sistem informatic (vezi [LUSA03]). ,...,
De fapt, o aplicaţie cu baze de date este un caz particular de sistem
informatic şi anume unul care are organizarea datelor în memoria externă în
baze de date. În acest fel, activitatea de realizare a unei baze de date trebuie
...,
3.1. Aspecte organizatorice privind realizarea unei baze de date să înceapă, conform oricărui management de proiect, cu organizarea
3.2. Obiectivele urmările la realizarea unei baze de date acesteia, adică pregătirea acţiunii. În cadrul acestei pregătiri, ţinând cont de
~
3.3. Etapele pentru realizarea unei baze de date obiectivele urmărite pentru realizarea bazei de date, se va face un fel de
3.4. Aspecte privind eficienţa bazelor de date inventar a ceea ce este un minim necesar pentru a se putea realiza baza de
Rezumat date. Se poate astfel, din start, hotărî dacă activitatea va demara imediat sau
Note bibliografice dacă mai sunt necesare alte acţiuni pregătitoare. Aspectele organizatorice ar
Cuvinte-cheie trebui să fie stabilite independent de SGBD care va, fi utilizat pentru
Teste-grilă şi probleme realizarea aplicaţiei cu BD. _..' ·· ,...,
Prezentăm, în continuare, câteva aspecte mai importante ur~ărite în
activitatea de organizare a unei baze de date:
1. Organizarea intrărilor de date. Informaţiile care se vor încărca iniţial în ...,
BD, precum şi cele care se vor utiliza pentru actualizare, pot proveni
din diferite surse. De cele mai multe ori, aceste surse furnizează date
care trebuie filtrate sau transformate şi nu ca atare. Aşadar, organizarea
intrărilor de date pentru o BD se referă la:
- sursa datelor, adică se ţine cont de documente primare existente, de
posibilele fişiere care există în alte aplicaţii operaţionale şi care pot
furniza date, de procedurile de calcul care pot genera datele necesare
etc.;
,...,
81
.
~
~
f;-1;
·i"l>
:li~·
~~~;;
obţinute cu VFP instalat cu opţiunea Standalone - nu este necesar ca pe ~~,;. Etapele care trebuie parcurse pentru determinarea eficienţei BD:
calculator să fie instalat VFP la rularea aplicaţiei. ·. · I. Studiul costurilor iniţiale- de realizare:
• costul software necesar pentru organizarea datelor în BD;
5. Dezvoltarea sistemului
• costul hardware necesar pentru stocarea structurii BD şi apoi a
t..... Imediat după darea în exploatare a BD, în· mod continuu, pot exista factori
pe1turbator.i care generează schimbări în BD. datelor;
Schimbările necesare trebuie preluate de BD uşor şi "din mers". • costul impus de trecerea de la sistemul existent - manual,
Factorii pot fi: organizatorici, datoraţi progresului tehnic, rezultaţi din informatizat cu soluţie cu fişiere, la noua soluţie cu SBD;
~
cerinţele noi ale beneficiarului, din schimbarea metodologiilor etc. • costul resurselor necesare realizării BD - umane, materiale,
În VFP dezvoltarea aplicaţiei cu BD poate fi fli.cută relativ uşor datorită informaţionale etc.;

apartenenţei sale la categoria de SGBD relaţional. • costul consultanţei tehnice privind decizia de a se realiza o BD şi
L..
apoi privind modalitatea ei de realizare.
2. Evaluarea costurilor de funcţionare a BD:
3.4. Aspecte privind eficienţa bazelor de date
• costul de punere în funcţiune care include testele şi implementarea
"- BD la parametrii proiectaţi;
Realizarea unei aplicaţii cu BD implică un mare consum de resurse, pe o
perioadă îndelungată, datorită complexităţii unei astfel de activităţi. De • costul de exploatare curentă a BD de către beneficiar cu asisten!ă
aceea, un astfel de efort nu poate fi făcut fli.ră un calcul de eficienţă. tehnică de la proiectant;
1

L Efectele directe şi indirecte ale bazelor de date conduc spre eficienţă, mai • costul de întreţinere şi dezvoltare a BD de către proiectant în
ales pentru aplicaţiile mari şi complexe, acolo unde alte produse informatice colaborare cu beneficiarul. Dezvoltarea trebuie să poată fi făcută cu
nu fac faţă. un efort dU mai mic şi fără a se întrerupe funcţionarea BD.
L Efectele realizării şi utilizării BD rezultă, în mare parte, din avantajele 3. Calcule de rentabilitate privind întregul proces de realizare şi
oferite de o astfel de soluţie informatică: funcţionare a BD presupune:
elimină redundanţele necontrolate prin modul de organizare; • utilizarea unor metode specifice activităţii de rc;:,alizare a calculelor
L creşte productivitatea activităţii informatice prin aplicarea unor tehnici de rentabilitate privind BD. Un exemplu de e·astfel de metodă este
de proiectare; Analiza Cost-Beneficiu.
r oferă suport informa~onal optim pentru conducere şi execuţie prin sursa • utilizarea unor produse software, dar pot fi şi hardware, specializate
L de informaţii pe care o oferă; pentru realizarea şi exploatarea BD. Acestea, prin facilităţile de
permite interogarea datelor de către toate categoriile de utilizatori prin produse dedicate pe care le oferă cresc performanţa, dar pot scădea
r
facilităţile de utilizare oferite de SGBD; portabilitatea BD. De exemplu o BD de regăsire documentară
conduce spre aplicaţii deschise prin numeroasele tehnologii informatice realizată şi exploatată cu un SGBD dedicat are performanţe de
'-'
care sunt integrate cu tehnologia bazelor de date într-un SBD evoluat. interogare remarcabile dar portabilitatea este redusă.
Efortul depus pentru realizarea şi întreţinerea unei BD este considerabil şi
Rezumat
..._ de aceea investiţia necesară trebuie fundamentală pentru a putea fi
Activitatea de realizare a unei baze de date este complexă şi cere un efort
recuperată.
considerabil. De aceea, ea trebuie realizată sistematic, după o metodologie
Fundamentarea investiţiei pentru o aplicaţie 'cu BD se face prin studiul de
adecvată.
fezabilitate (analiza preliminară) care va conţine un studiu al costurilor şi o
1_. Înainte de a se realiza o bază de date, se are în vedere organizarea acestei
evaluare a efortului de realizare şi întreţinere.
activităţi - intrările, memorarea datelor, protecţia datelor, legăturile datelor -

i...l 98 99
i.·.
?;:!; .....
~-~ ...
;.·
astfel încât să se poată decide dacă merită sau nu demararea acţiunii Teste-grilă
respective.
l. În metodologia de realizare a BD diagrama entitate-asociere rezultă
După luarea deciziei că baza de date este posibil a fi realizată, se fixează
în urma:
1
câteva dintre obiectivele importante ale acestei activităţi: partiţionarea,
deschiderea, eficienţa, reutilizarea, regăsirea, accesul, modularizarea, a) analizei funcţionale
protecţia, redundan1a. independenţa.
b) proiectării dinamice ~

În continuare, pentru realizarea bazei de date, se poate urma o metodologie c) analizei structurale
anume sau se pot parcurge etapele 1 activităţile prezentate: analiza de d) analizei dinamice
sistem, proiectarea noului sistem, realizarea componentelor logice, punerea e) proiectării logice 'î
în funcţiune, dezvoltarea. 2. La organizarea unei baze de date se urmăresc aspectele:
Atât pe parcursul realizării unei baze de date cât şi după aceea la exploatarea a) organizarea intrărilor de date
ei, trebuie avută în vedere eficienţa acestei activităţi. Acest lucru este b) organizarea ieşirilor de date n
important pentru că investiţia pentru realizarea unei baze de date este mare c) organizarea memorării datelor
şi ea se recuperează în timp îndelungat. Eficienţa bazei de date va avea în
d) organizarea prelucrărilor finale
vedere câteva aspecte: studiul costurilor iniţiale, evaluarea costurilor de e) organizarea programelor
,...,
funcţionare, calcule de rentabilitate.
3. Eficienţa unei baze de date poate fi evaluată prin:
Note bibliografice
Aspectele legate de organizarea şi obiectivele unei baze de date sunt tratate,
a) studiul organigramei întreprinderii ,..,
b) studiul costurilor iniţiale
în special, în cărţi care abordează aspectele teoretice ale acestui domeniu al c) calcule de rentabilitate
informaticii [VELI05],[VELU03], [CONNOO], [DATE04], [DATE06]. d) calcule relaţionale
Metodologii de realizare a bazelor de date sunt prezentate în cărţi care e) algebra relaţională
îmbină aspectele teoretice cu soluţii practice [VELU03], [LUSA03],
[DIAZOO]. Cartea noastră însă, a avut, pentru acest capitol, ca principale 4. În metodologia de realizare a BD, construirel!..unei viziuni (view) se
surse: experienţa autorilor în domeniul realizării aplicaţiilor informatice, face prin: ~

precum şi sursele bibliografice [RAGEOO] , [RICCOl], unde sunt prezente a) proiectarea schemei externe
activităţi şi exemple de aplicare a lor. b) proiectarea schemei conceptuale
c) proiectarea schemei interne 'î
Cuvinte-cheie d) analiza logică
organizarea bazei de date obiectivele bazei de date e) analiza globală
1
metodologii de realizare a BD analiza de sistem
analiza structurală analiza funcţională 5. Obiective urmărite în realizarea unei BD sunt:
...,1

analiza dinamică proiectarea bazei de date a) aceleaşi date nu pot fi utilizate în moduri diferite
schemele bazei de date eficienţa bazei de date b) creşterea preţului de cost pentru memorarea datelor
c) cererile de regăsire trebuie să fie doar prestabilite
d) aplicaţiile cu baze de date trebuie să poată reutiliza un fond de date
existent deja
e) redundanţa minimă dar necontrolată
-
-
IDO 101
'-
~~r
1....1
6. Aplicaţiile cu baze de date pentru domeniul economic se deduc, în ,tt ]lăspunsuri
mare parte, din funcţiile întreprinderii:
a) coordonare-control 1 : c ; 2 : a, c ; 3 : b, c ; 4 : a ; 5 : d ; 6 : b, c, d ; 7 : c, d, e ; 8 : a, e
b) cercetare-dezvoltare ; 9 :b, e ;
..._
c) comercială 10: b, c;
d) producţie
e) organizare
._.
Probleme
7. Tipurile de utilizatori pentru baze de date sunt:
a) întreprinderi mici şi mijlocii 1. Pornind de la funcţiile întreprinderii să se aleagă o acti viwte pentru
b) agregaţi
'-" realizarea unei BD. Să se identifice aspectele privind organizarea
c) intensivi
unei astfel de BD.
d) finali 2. Pentru realizarea unei BD alese să se descrie, pe scurt, obiectivele
e) de specialitate
....... sale .
3. Pentru dezvoltarea unei BD alese să se realizeze studiul situaţiei
8. În metodologia de realizare a unei BD etapa de proiectare conţine:
a) alegerea SGBD-ului existente.
4. Pentru dezvoltarea unei BD alese să se realizeze analiza de sistem
b) alegerea personalului implicat
sub cele trei aspecte: stmcturală, funcţională, dinamică.
c) alegerea entităţilor din lumea reală
d) proiectarea dinamică
5. Să se aleagă un SGBD pentru realizarea BD, identificând o serie de
e) proiectarea schemelor criterii care se au în vedere.
'
6. Pentru BD aleasă, pornind de la diagrama entitate-asociere, să se
9. Într-o metodologie de realizare a BD activitatea de analiză se proiecteze schemele BD: conceptuală, logică, fizică.
desfăşoară sub aspectele: 7. Pornind de la schema conceptuală a BD alese să se..scrie în limbajul
'-- a) informaţional static din VFP şi/sau în SQL: '
b) structural crearea bazei de date;
c) modular crearea structurii de date, inclusiv restricţiile de integritate;
1.....1 d) obiectual actualizarea structurii de date;
e) funcţional încărcarea datelor în tabele;
actualizarea datelor în cele trei moduri: adăugare, modificare, ştergere;
-...J
10. Pentru realizarea unei BD, la alegerea SGBD se ţine cont de să se vizualizeze datele;
aspectele: să se realizeze accesul la date în cele trei moduri: secvenţial, direct după
a) cerinţele legislative cheie, direct după număr de realizare.
b) cerinţele aplicaţiei 8. Pentru BD aleasă să se facă un calcul de eficienţă.
1.--
c) facilităţile tehnice SGBD
d) limbajele de programare universale
e) limitele utilizatorilor
.....

;..1 102 \03


,...,

4
-.
BAZE DEDATE
RELAŢIONALE (BDR)
,._

4.1. BDR bazele


Capitolul4 Teoria BDR a fost primită
întotdeauna favorabil de către specialişti atât
datorită abordărilor teoretice - fundamentare riguroasă, cfit şi datorită
performanţelor practice- optimizarea bună a timpului şi spaţiului.
4.1. BDR bazele ~

4.2. Tehnica normalizării Bazele de date relaţionale - BDR utilizează modelul de date relaţional şi
noţiunile aferente (vezi cap.2) şi fac parte din generaţia a II a de baze de

-
4.3. Calculul relaţional. Algebra relaţională
Rezumat date.
Note bibliografice BDR au o solidă fundamentare teoretică, în special prin cercetările de la
Cuvinte-cheie ffiM conduse de E. F. Codd, care a dezvoltat teoria relaţională. Aceasta se
bazează pe teoria matematică a ansamblurilor şi şi este formată dintr-un set
Teste-grilă şi probleme
de concepte, metode şi instrumente utilizate pentru realizarea aplicaţiilor cu
baze de date relaţionale petfonnante.
BDR este un ansamblu organizat de tabele 1 relaţii împreună cu legăturile
dintre ele.
.J

Pentru că bazele de date au evoluat din fişiere şi pentru că fişierele se ,...,


utilizează în continuare alături de BDR, o comparatie între conceptele· dintre
cele două modalităţi de organizare a datelor în memoria externă est.e
necesară. Vom prezenta, în continuare, câteva dintre avantajele lucrului cu.
BDR faţă de lucrul cu fişiere . -
Criteriu de compara tie BDR Fişiere
1. Independenta datelor fată logica şi fizică fizică ......
de orogramele de aplicaţie
f. Niveluri de structurare a conceptual, logic şi fizic logic şi fizic
datelor
~ .Deschidere şi portabilitate mare mica .-..
~- Reprezentarea şi utilizarea simplificat prin modelul de complicat
datelor date relaţional
~· Structura de date se în dictionarul BD în programe
~tn:ază -
,.-,

105
~
.._
1

r
......
În VFP: nu se foloseşte niciun limbaj bazat pe algebra relational. Elemente
de algebră relaţională se regăsesc atât în limbajul procedural propriu cât şi
;\t: Se bazează pe transfonnarea (mapping) unui atribut sau grup de atribute
într-un atribut dorit prin intermediul unor relaţii. Altfel spus, se poate
r în nucleul extins de SQL, prin construcţia unor expresii relaţionale cu transforma oricând o expresie din algebra relaţională în alta din calculul
operanzi tabele, iar operatorii relaţionali pot fi proiecţia, selecţia, jonctiunea. relaţional şi invers, echivalentă ca funcţionalitate (vezi în cartea [YELUOO]).
~
Astfel, în li~bajul din VFP există instrucţiunile COPY TO pentru proiecţie SGBDR realizează această transformare pentru optimizarea regăsirii.
r şi JOIN pentru joncţiune. În nucleul extins SQL există comanda SELECT Rezultatul este o relaţie 1 tabelă care se poate utiliza într-o altă 1ransformarc
..... care are clauzele FIELDS cu DISTINCT pentru proiecţia, WHERE pentru relaponală.

selecţie,FROM din două tabele combinat cu WHERE pentru joncţiune. În VFP: se îmbină elemente de calcul relaţional şi algebră relaţională, aşa
Exemplu. Pornind de la tabela BENI să se aplice operatorul relaţional de cum arătam mai sus. Orice expresie din algebra relaţională poate fi
'--' proiecţie astfel: în tabela bl rezultată se vor găsi două atribute - locbb şi transformată oricând intr-una echivalentă în calculul relaţional şi invers.
denb. VFP conţine un nucleu extins de limbaj relaţional bazat pe transformare şi
anume SQL. Acesta face transformarea automat.
....... în limbajul din VFP: Pentru expresiile relaţionale scrise în limbajul din YFP, acesta nu face
USE beni automat transformările relaţionale .
INDEX ON denb+locb TO fis 1 UNIQUE
....... COPY TO bl FIELDS denb, locb Grafica relaţională

în SQL: Domeniul denumit grafică relaţională oferă o interactivitate mare pentru


SELECT denb, locb DISTINCT FROM beni construirea cererilor de regăsire relaţională.
Reprezentarea grafică a proiecţiei: Utilizatorul specifică cerea alegând sau completând un ecran structurat

- BENI.dbf
codb
1
2
denb
ibm
scop
locb
Bucuresti
Bucuresti
sirb
Eminescu
operei
telb
0722123456
0721123456
p~ J

Poate fi folosit de către toate categoriile de utilizatori în irif~rmatică.


ln VFP: există o implementare de limbaj QBE prin asistentul Wizard Query.
3 ibm Bucuresti mosilor 0733123456 Acesta permite construirea interactivă a unor cereri de regăsire prin
..... 1 proiecţie după atributele denb şi locb utilizarea unor primitive grafice. Utilizatorul parcurge paşii indicaţi de
bl.dbf
asistent şi completează sau bifează anumite opţiuni la alegere.
denb locb
ibm Bucuresti
........
scop Buuresti Rezumat
Teoria relaţională este foarte bine fundamentală teoretic şi a fost dezvoltată
riguros la IBM de către cercetătorul E. F. Codd şi echipa lui .
Transformarea relaţională
Se defineşte noţiunea de bază de date relaţională - BDR ţinând cont de
Domeniul denumit transformarea relaţională oferă o putere de regăsire modelul de date relaţional. Se face o comparaţie a noţiunilor utilizate în
..... echivalentă cu cea din calculul relaţional şi algebra relaţională . BDR cu cele utilizate la lucrul cu fişiere.

.,_; 122 \23

,. ··o:.
~·:~
~({_
Realizarea unei aplicafii cu BDR este o activitate complexă, care presupune dependenţe funcţionale calculul relaţional
expresia relaţională calculul predicatelor ......,
obligatoriu proiectarea bazei de date. În acest sens se folosesc diferite
tehnici, dintre care cea mai utilizată este normalizarea. Scopul tehnicii de cuantificatorii algebra relaţională
normalizare este de a elimina, în procesul de proiectare a BD, anomaliile de operatorii relationali limbaje relaţionale
......,
actualiz.are. transformarea relaţională grafica relaţională
Sunt prezentate cele cinci forme nomzale - FN 1 la FNS, care se construiesc
în procesul de proiectare a unei BDR. _,
În continuare, se prezintă un exemplu practic de proiectare a unei BDR prin Teste-grilă

tehnica de normalizare, ajungându-se la o schemă conceptuală. Sunt


exemplilicate doar primele trei forme normale, deoarece acestea sunt cele l. O tabelă este în FN3 dacă: .,
mai utilizate în aplica!iile practice. a) este în FN2 şi fiecare atribut noncheie depinde în mod netranzitiv de
În finalul capitolului se prezintă o sinteză a domeniilor imp01tantc din cheia tabelei
teoria relatională pe baza cărora au fost construite limbajele relaţionale: b) este în FNl şi fiecare atribut cheie depinde tranzitiv de atributele ......
calculul relaţional, algebra relaţională, transfomzarea relaţională, grafica noncheie
relaţională. Fiecare dintre aceste domenii este definit pe scurt, iar apoi sunt c) este în FN2 şi are dependenţe complete
prezentate elemente de implementare în VFP. d) este în FNl şi are dependenţe funcţionale incomplete ,....
e) este în FN2 şi are cel puţin o dependenţă funcţională completă între
Note bibliografice atributele noncheie şi cheia tabelei
Elemente de teoria relaţională sunt prezentate în toate titlurile bibliografice ,...,
care se referă la BDR [DATE04]. [VELU05], [CONNOO]. [DATE06] etc. 2. Calculul relaţional:
Pentru partea de proiectarea BDR prin tehnica normalizării - dependenfe a) are drept construcţie de bază expresia de calcul tuplu sau

~xpresia
•••
de
.-~
......,
funqionale, forme normale, constrângeri - dar şi pentru algebra relaţională calcul domeniu
ş1 calculul relaţional, se găsesc explicaţii şi exemple didactice în [RICCOl]. b) este implementat în limbajul ISBL
c) conţine operatorul de joncţiune
d) stă la baza limbajelor procedurale universale -"\

Cuvinte-cheie e) foloseşte noţiunea de formulă bine definită

3. Se dă tabela Tl: ,...,


teoria relaţională proiecţie
CODSTUD NUMESTUD NOTA DATAN
selec)ie joncţiune 5 Ion 10 10.10.84
intersecţie Il An da 10
reuniune
2 Ion 10
10.11.83
08.08.82
....,
diferenlă produs cartezian
..._ll__ Ion 9 22.02.84
baze de date relaţionale - BDR CoddE.F.
proiectare BDR normalizarea ....,
forme normale anomalii de actualizare

124 125 "...

~
L
r
.............. _---- ......... - trui tabela T2· 1. O bază de date este în FN l dacă:
L NUMESTUD
", _____ ---------
NOTA a) are cel puţin o tabelă în FN 1
Ion 10
10
b) este în FN2
Andn
Ion 9 c) are toate tabelele în FN 1
L.
d) are o tabelă normalizată
aplicând operatorul relaţional de:
e) are o tabelă nenormalizată
a) selecţie
L...o
b) joncţiune 8. O tabelăeste în FN 1 dacă:
c) cuantificatorul existenţial
a) există atribute la nivel de grup
d) proiecţia
....... b) există atribute repetitive
e) intersecţia
c) nu există atribute la nivel de grup
d) există atribute decompozabile
4. La proiectarea BDR prin tehnica normalizării:
..... e) nu există atribute repetitive
a) se înlătură anomalii de actualizare doar dacă se ajunge până în FN3
9. Concepte similare între BDR şi fişiere sunt:
b) se înlătură anomalii de actualizare doar dacă se ajunge până în FN4
a) tabelă- câmp
c) se înlătură anomalii de actualizare doar dacă se ajunge până în FN5
1.- b) tabelă- fişier
d) se înlătură anomalia de ştergere
c) atribut- domeniu
e) se înlătură doar anomalia de modificare d) atribut- fişier
- 5. O tabelă este în FN2 dacă:
e) tuplu -fişier

a) este în FN3 şi nu are dependenţe complete 10. În BDR:


L...o b) este în FN 1 şi are doar dependenţe incomplete
a) structurarea datelor se face doar la nivel fizic ·-"
c) nu are dependenţe funcţionale complete
b) structurarea datelor se face la ni vei conceptual
d) este în FNI şi fiecare câmp noncheie este dependent funcţional
c) structurarea datelor se face la nivel logic
'-' complet de cheia tabelei
d) structura de date se păstrează în programele de aplicaţie
e) este în FNI şi nu are dependenţe funcţionale incomplete
e) structura de date se păstrează în dicţionarul BD

i.... 6. Calculul relaţional: 11. La proiectarea BDR:


a) se bazează pe calculul predicatelor
a) se foloseşte tehnica normală
b) stă la baza limbajelor relaţionale neprocedurale
b) se obţine diagrama entitate-asociere
c) poate fi orientat pe tuplu având drept construcţie de bază expresia de
c) se pleacă de la schema conceptuală
calcul tuplu d) nu se foloseşte noţiunea de cheie primară
d) este implementat în limbajul QUEL
~
e) nu se foloseşte noţiunea de dependenţă funcţională
e) conţine operatorul de proiecţie

....., 126 127


..,
12. LMD din SGBDR:
a) se pot baza pe diagramele de dependenţă
logic- se crează tabela virtuală VI formată, din câmpurile denb şi locb
din tabela BENI; ..-,
b) se pot baza pe normalizare
fizic- se ordonează tabela BENI după localitate.
c) se pot baza pe transformarea relaţională
Să se proiecteze o BDR prin telmica normalizării evidenţiind
d) se pot baza pe calculul aritmetic
4.
primele trei forme normale şi obtinând schema conceptuală.
..,
e) se pot baza pe algebra booleana
5. Să se afişeze din tabela BENI înregistrările care au codul
beneficiarului cuprins între 1O şi 20 inclusiv. .....,
13. Algebra relaţională:
6. Să se aplice operatorul rela!ional de proiecţie pentru tabela BENI,
a) foloseşte cereri de regăsire
obţinându-se tabela cu atributul Locb.
b) are operanzi doar tabele
7. Să se aplice operatorul rclaţional de ·selecţie pentru tabela BENI, ......,
c) are operatorul de reuniune
obţinându-se tabela cu tuplurile pentru care codb> 22..
d) nu are operatorul de intersecţie
8. Să se aplice operatoml relaţional de joncţiune între tabelele BEN! şi
e) nu are operatorul de proiecţie
CONTR, obţinându-se o tabelă cu tuplurile care au atributul .....,
localitate egal cu bucureşti.
Riispunsuri
9. Să se afişeze din tabela BENI doar atributul denb şi tuplurile pentru
care atributul cobd> 100. Să se lucreze cu asistentul Query Wizard. ......,
1: a ; 2 : a, e ; 3 : d ; 4 : d ; 5 : d, e ; 6 : a, b, c, d ; 7 : b, c ; 8
: c, e ; 9: b ; 10: b, c, e; 11: - ; 12: c ; 13: a, b, c
......,

Probleme
.-"
,....,
Se dă tabela BENI(codb N,4; denb C,l5; Iocb C,l5, telb N,IO).
1. Să se actualizeze structura de date a tabelei BENI astfel:
se adaugă un nou câmp denumit ibanb şir de caractere, de lungime 24; ...,
se modifică atributul denb astfel încât să fie de lungime 20 de caractere;
se ~terge coloana te/b.
2. Să se realizeze pe tabela BENI acces secvenţial pentru afişarea
beneficiarului care are codul 22 şi apoi acces direct pentru afişarea
beneficiarului care are codul 2.
-
3. Să se lucreze cu baza de date de desfacere pe cele trei niveluri: ..-,
conceptual - se crează baza de date APROV şi în cadrul ei tabelele
PROD, CONTR, BENI, ataşându-se cel puţin două restricţii de
integritate; .......

128
129 .....,
·-
1

Note bibliografice 3. Tehnici de implementare a BDOO sunt:


1..;
a) portabilitatea, partiţionarea
Pentru realizarea acestui capitol, autorul a valorificat experienţa sa de
analiză şi proiectare a numeroase aplicaţii cu baze de date dar şi surse
b) gestiunea mediului, reprezentarea obiectelor
....... bibliografice . c) gestiunea persistcnţei, gestiunea memoriei
Pentru definirea conceptului de BDOO s-au folosit referinţele [EMBL98] iar d) extensibilitatea, distribuirea majoră
pentru partea de proiectare [RICCOl], [DIAZOO]. e) flexibilitatea, portabilitatea
Elemente de implementare a tehnologiei orientate obiect în sistemele
4. În procesul de proiectare a BDOO obiectele pot fi grupate. după
~

relaţionale se găsesc în [VELU03] şi [VELUOI].


structura lor, astfel:
a) compuse, complexe
~~ Cuvinte-cheie b) simple, compozite
c) agregate, concatenate
tehnologia orientată obiect baze de date orientate obiect
d) complexe, congruente
clase de obiecte obiecte
e) asociate, agregate
metode proprietăţi
identificator de obiect ierarhii de clase 5. La proiectarea unei BDOO se pot utiliza metodele:
moştenirea proiectarea orientată obiect a) diagrama obiectelor
........
diagrama obiectelor specificaţiile obiectelor b) specificaţiileobiectelor
persistenţa reutilizarea c) normalizarea
d) diagramele de dependenţă
........
Teste-grilă probleme e) distribuirea obiectelor

6. În BDOO trebuie implementate caracteristicile de bază


1. Programarea vizuală în VFP este o : .- '
'-" (fundamentale) ale obiectelor:
a) tehnică de distribuire a datelor
a) fncapsularea, polimorfismul, partiţionarea
b) modalitate de reprezentare a datelor în BDR b) compunerea partiţionarea
c) metodă multimedia distribuită c) succesiunea, flexibilitatea
'-"
d) tehnică de programare orientată obiect d) încapsularea, succesiunea, polimorfismul
e) tehnică de programare structurată e) moştenirea, compunerea, flexibilitatea
....... 2. Dezvoltarea generaţiei a treia de BD se realizează în condiţii 7. Caracteristici ale claselor de obiecte implementate în VFP sunt:
specifice date de: a) ierarhia
a) organizarea BD b) încapsularea
~..o' c) containere
b) noile tipuri de aplicaţii informatice
d) controale
c) contextul informatic
e) metode
d) utilizatorii BD
.......
e) beneficiarii BD

...... 142
143
8. Caracteristici ale BDOO sunt: height =200
a) permite abordarea unui domeniu limitat de tipuri de date width=220 -,
b) structura de date este mult complicată =
caption "Fereastră"
c) independenţa datelor faţă de programe este parţială PROCEDURE sfârăit
el) se tratează în mod unitar datele, programele şi comunicaţia CLEAR EVENTS ....,
c) asigură comunicaţia atât între date cât şi între programe ENDDEFINE
DEFINE CLASS cmesaj AS CommandButton
9. Dezvoltarea BDOO a fost favorizată de următoarele aspecte: left =20
a) evoluţia limbajelor de programare procedurale top 100=
b) apariţia limbajelor de asamblare height= 30
c) apariţia datelor de tip text width =50
d) apariţia sistemelor relaţionale caption =''MESAJ"
c) apariţia datelor de tip multimedia vizible = .T.
PROCEDURE click
1O. Concepte din BDOO sunt: ,.....,
a) tipuri de obiecte
=MESSAGEBOX )"Mesaj de test")
ENDDEFINE
b) tabele
DEFINE CLASS Cstop AS Cmesaj
c) metode .......,
left =80
d) tupluri
c) mesaje
=
caption '~STOP"
PROCEDURE Click
THISFORM.RELEASE
Răspunsuri ENDDEFINE
/

1 : d ; 2 : b, c ; 3 : b, c ; 4 : b, e ; 5 : a, b ; 6 : d ; 7 : a, b ; 8 : d, e -~-~

Să se identifice: clasele de obiecte, obiectele, proprietăţile, metodele, ,.....,


9 : e ; 1O : a, c, e
mesajele.
2. Să se codifice o clasă de obiecte nouă bazată pe una existentă deja.
Probleme Noua clasă va avea două proprietăţi şi o metodă în care se va referi -,
Notei. Exemple de probleme rezolvate în VFP obiectual vezi în capitolul 7. una dintre proprietăţi.
1. Se dă secvenţa de instrucţiuni în VFP, pentru programare orientată 3. Să se instanţieze un obiect pentru o clasă de obiecte existentă, care a
obiect: fost declarată de utilizator. Să se refere prin calificare o proprietate şi
ferUnu = CREATEOBJECT ("Clasa") -,
o metodă.
ferUnu.ADDOBJECT )"btnMesaj", "Cmesaj") 4. Să se definească o subclasă având ca superclasă una existentă deja,
ferUnu.ADDOBJECT ("btnStop", "Cstop") care este oferită standard de sistem. Se va defini în subclasă o
ferUnu.SHOW proprietate suplimentară, faţă de cele moştenite, precum şi cod sursă "'1
READ EVENTS suplimentar într-o metodă nouă.
DEFINE CLASS Clasa AS Form 5. · Să se definească o clasă care să aibă două proprietăţi şi o metodă,
left =20 toate protejate, aplicându-se astfel caracteristica de încapsulare. ,...,
1
top = 20

144 145
~
Într-o BDD utilizatorul formulează cereri de regăsire distribuite, iar acestea 2. Din fluxul de prelucrare a unei cereri distribuite fac parte operaţiile:
sunt prezentate pe baza unui flux de prelucrare, într-o diagramă, descrisă
- apoi pas cu pas.
a) SGBDD evaluează şi descompune cererea globală
b) executorul distribuit lucrează cu un catalog (dicţionar) de structură
globală
Pentru utilizator exploatarea BDD trebuie să se facă în acelaşi mod ca şi
~"...., pentru o BD locală, sarcina de a asigura diferite niveluri de transparenţă c) executorul distribuit împarte cererile locale în subcereri
d) sistemul de operare interoghează BD locală şi află răspunsul
revenind SGBD distribuit.
e) SGBD local compune răspunsurile locale cu ajutorul catalogului de
structură globală

Note bibliografice 3. Care din următoarele tipuri de baze de date pot fi într-un sistem
Sinteza din acest capitol este o iniţiere în BDD şi a fost construită din
distribuit ? : 1) compuse, 2) centralizate, 3) multiplicate, 4) indexate,
...... [VELUOO), [CONNOO), [DATE04]. 5) partiţionate, 6) compozite.
Aspecte suplimentare se găsesc în referinţa bibliograflcă (COD099), dar şi a) 2, 3, 5
în referinţele care tratează sistemele de bază de date - database systems. b) 1, 2, 3
........ c) 4, 5, 6
d) 3, 4, 6
e) 2, 5, 6
Cuvinte-cheie
'-'
4. Caracteristici ale unei BDD sunt:
arhitecturi de BD caracteristici BDD
a) utilizatorul manipulează BDD fără a cunoaşte localizarea datelor
reţele de calculatoare baze de date distribuite - BDD
b) criteriile după care se distribuie datele depind de conducerea
localizarea datelor
distribuirea datelor întreprinderii beneficiare şi de conducerea firmei care produce
accesul concurent niveluri de referinţă în BDD sistemul
tipuri de BDD cereri de regăsire distribuite c) datele pot fi duplicate, dar acest lucru este invizibil pent~ utilizator
......
d) coerenţa BDD va fi asigumtă de sistemul de operare
e) concepţia de organizare a unei BDD este în totalitate diferită de ce a
unei BD locale
...... Teste-grilă

1. în structura unei BDD se regăsesc schemele: 5. Care din următoarele variante sunt criterii (moduri) de distribuire a
datelor?: 1) uniformă, 2) mixtă, 3) mu1tifonnă, 4) mixtă-complexă,
a) externă de sistem 5) liberă, 6) compusă, 7) compozită.
b) conceptuală globală a) 1, 2, 3
c) externă locală b) 1, 1, 5
1...1 d) internă globală c) 2,4, 6
e) internă de flux d) 5, 6, 7
e) 2, 4, 7

l54
155
.......
.....
6. Componeme software dintr-o reţea de calculatoare pot fi:
a) LAN Răspunsuri

b) WAN
.....
c) SGBD 1 : b, c, d ; 2 : a, c ; 3 : a ; 4 : a, c ; 5 : b ; 6 : c, d ; 7 : a, b, c, d, e
d) SO locale 8:- ; 9: e ;
---.
e) BD

7.
a)
În BDD:
există mai multe colecţii de date
Probleme
.-.
1. Se dă o reţea de calculatoare LAN. Să se alcătuiască o configuratie
b) structurarea datelor se face confonn unui model de date
de componente software necesare pentru a lucra cu o BDD. ,.....
c) datele sunt amplasate pe mai multe noduri
d) datele sunt tratate unitar la nivel logic 2. La o firmă constructoare de calculatoare se doreşte să se realizeze o
BDD pentru activitatea de producţie. Să se propună caracteristicile
e) datele sunt organizate şi prelucrate obligatoriu cu un SGBD
acestei BDD.
8. Caracteristici ale BDD sunt: 3. Se doreşte realizarea unei BDD pentru activitatea comercială la o
firmă constructoare de mobilă, care va avea 10 tabele (Tl la TlO).
a) metodologiile de proiectare utilizate diferă în totalitate de cele
Să se propună o structurare a acestei BDD pe cele două niveluri e
folosite pentru BD locale ~

referinţă.
b) obiectivele sunt total altele faţă de o BD locală
4. La o fim1ă constmctoare de automobile se doreşte realizarea unei
c) protecţia datelor nu are aspecte suplimentare faţă de BD locale
BDD pentru evidenţa contractelor de vânzare, care va conţine 8
d) utilizatorul trebuie să cunoască localizarea datelor
tabele. Să se propună o configuraţie de BDD partiţionată într-o reţea
e) accesul concurent la date nu este permis
cu 12 calculatoare. 1· -

5. Se doreşte interogarea "de către utilizator unei Bf>D. care conţine 6 ~


9. Avantaje pentru BDD multiplicate sunt:
a) spaţiul ocupat este redus
tabele (TI la T6) cu ajutorul unui SGBD relaţional. Să se scrie o
b) concurenţa la date este foarte mare
cerere de regăsire care să conţină o subcerere.
!-\
c) costul este ·mic
d) actualizarea datelor este simplă
e) timpul de acces este mic

.....
156
157
....
Va rezulta tabela grafici care va conţine o singură înregistrare şi un Sunt explicate şi exemplificate câteva dintre cele mai folosite generatoare
..... singur atribut de tip General . Graficul va fi salvat ca un obiect de tip din VFP: de proiecte, de forme, de rapoarte, de grafice.
OLE. În unna salvării vor rezulta două fişiere: grajic/.dbjşi grafic/ftp Un studiu de caz privind o aplicaţie cu BD relaţională. care poate fi un
4. Executăm şi af~Şăm graficul salvat mai sus parcurgând paşii: model pentru -proiectele studenţeşti sau pentru dezvollatorii de aplicaţii cu
~
deschidem tabela grafici.dbf: fie tastăm în fereastra de comandă USE baze de date în VFP va fi prezentat în Anexa l. Pe lângă codul sursă aferent,
grafic l fie selectăm din meniul sistem opţiunile: File- Open - selectăm studiul de caz conţine şi activităţile pe care trebuie să le parcurgă

fişierul grafic/ .dbf - OK; proiectantul aplicaţiei cu baze de date: analiza (structurală. dinamică).

în fereastra de comandă tastăm BROWSE; proiectarea structurii BD, elaborarea programelor.


în fereastra Browse pe tabela grafici facem dublu click mouse pe
..... câmpul Gen;
apare graficul afişat pe ecran. Note bibliografice

'- Capitolul de mai sus este rezultatul experienţei practice şi didactice a


Rezumat autorului în ceea ce priveşte lucrul cu bazele de date relaţionale în general şi
cu VFP în particular.
....... Capitolul de faţă este dedicat programării în Visual Foxpro, dar el începe Testele şi problemele din acest capitol sunt concepute de autor, inclusiv
printr-o sinteză a noţiunilor minime pe care trebuie să le cunoască studiul de caz din Anexa 1. Anumite teste şi probleme sunt preluate din
specialistul, pentru a putea dezvolta aplicaţii cu baze de date în VFP. [VELU03], în general cu o serie de adaptări.
...... Acestea constituie de fapt un fel de compendiu VFP: caracterizare generală,
modul de descriere a datelor, modul de manipulare al datelor, extensiile din Cuvinte-cheie
VFP. J

..... Prima parte este dedicată aspectelor generale privind VFP: evoluţia, Visual Foxpro- VFP baze de date relaţionaie
'

facilităţi oferite, noutăţi versiunea 9.0, aria de utilizare, VFP ca sistem SQL limbaje relaţionale
relaţional, VFP ca SGBD evoluat, moduri de lucru sub VFP, elementele de limbaje de programare programare procedurală
.....
limbaj. programare descriptivă programare orientată obiect
În continuare sunt prezentate şi ex.emplificate principalele instrucţiuni din comunicarea între sisteme mediul Internet
limbajul propriu din VFP, comparativ cu alte soluţii - din SQL, din generatoare asistenţi
tip Wizard
'-
generatoarele VFP.
Un paragraf special este destinat nucleului extins de SQL, 'care cuprinde
....... toate comenzile şi o parte dintre funcţiile SQL care sunt acceptate de VFP. Teste-grilă
Se face referire la instrucţiunile din limbajul din VFP care au funcţionalităţi
similare. Testele care urmează acoperă cam tot ceea ce înseamnă programarea în
Evoluţia VFP a însemnat adăugarea de facilităţi privind comunicarea cu alte VFP, sub cele două limbaje pe care le are: limbajul propriu procedural,
sisteme şi mediul Internet. nucleul extins de SQL.

..... 226 227


.....
In formularea testelor se consideră că baza de date şi tabelele aferente sunt 4. Restrictia de integritate NOT NULL se poate defini prin comenzile:
create şi au un număr suficient de înregistrări. a) CREATE ....,
Gruparea testelor este făcută după funcţionalitate astfel: b) CREATE TABLE
a) descrierea datelon-· c) ALTER TABLE
b) accesul la date; d) MODISTRU
c) actualizarea datelor; e) CREA TE VIEW
d) structurile de program;
e) alte tehnici de programare; 5. Actualizarea structurii de date a unei tabele se face prin comenzile:
f) programarea orientată obiect; a) CREATE
g) programarea în SQL b) CREATE TABLE
c) MODI TABLE
a) Descrierea datelor d) UPDATE DATABASE
e) ALTER TABLE
1""'1
1. Comanda CREATE se foloseşte:
a) pentru a defini structura de date a unei labele 6. Actualizarea structurii de date a unei tabele se face prin comenzile:
b) pentru a modifica structura de date a unei tabele a) ALTER DATA ....,
c) pentru a afişa structura de date a unei tabele b) MODISTRU
d) pentru a defini restricţiile de integritate c) MODI DATABASE
e) pentru a defini restricţia de tip NULL d) MODI TABLE .....,
e) ALTER VIEW
2. Restricţia
de integritate referentială se poate defini prin comenzile:

a) DEFINE 7. O bază de date se va deschide dacă se folosesc comenzile:
b) COPY STRU a) LIST
c) CREATE CURSOR b) DISPSTRU
d) APPEND c) CREA DATA 1""'1

e) CREATE TABLE d) MODISTRU


e) CREATE
3. Pentru a afişa structura de date a unei tabele se folosesc comenzile:
a) SELECT3 8. Definirea restricţiilor de integritate se face prin comenzile:
b) DISPSTRU a) MODIFY TABLE
c) LISTSTRU b) MODISTRU
d) COPY STRUCTURE c) ALTETABL
c) UPDATE d) ALTE DATA
e) DEFI STRU ...,
2211 229
-
9. Tipul unui câmp dintr-o tabelă poate fi specificat prin comenzile: Cu ajutorul comenzii MODI STRU se poate:
.... a) ALTETABL a) actualiza structura de date a unei tabele
b) LIST STRU b) modifica denumirea unui câmp dintr-o tabelă
c) CREA c) adăuga un câmp nou Într-o tabelă
.... d) MODISTRU d) modifica lungimea unui câmp existent
c) DISPSTRU e) şterge un câmp dintr-o tabelă
~

1O. Comanda ALTER TAB LE din nucleul SQL se foloseşte: 15. Se dă comanda: CREATE stud
a) doar pentru tabelele incluse într-o bază de date Care afirmaţii sunt adevărate ?
'--
b) doar pentru tabelele libere a) creează fişierul STUD.DBF
c) doar pentru tabelele care nu fac parte dintr-o bază de date b) creează fişierele STUD.DBF şi STUD.IDX
d) doar pentru tabelele între care nu există legături c) creează tabela STUD
-.. e) doar pentru tabelele între care există legături d) creează tabela STUD şi se pot încărca, opţional, date în ea
e) creează dicţionarul BD
Il. Dicţionarul BD se creează prin comenzile:
'- a) CREA VIEW 16. Se dă comanda: CREATE bcni
b) CREA REPORT Care afirmaţii sunt adevărate ?
c) CREATE FORM a) creează baza de date BENI
d) CREATE b) creează structura de date pentru tabela BEN!
e) CREA TABL c) dă posibilitatea descrierii atributelor pentru relaţia BENI
d) se pot încărca, opţional, date În BENI
.... 12. La crearea stiUcturii de date a unei tabele se poate specifica: e) comanda este greşită .......

a) denumirea atributelor
b) tipul coloanelor 17. Se dă secvenţa: USE beni
.._
c) denumirea bazei de date MODISTRU
d) tipul utilizatorului Care afirmaţii sunt adevărate?
e) lungimea câmpurilor a) se poate actualiza structura de date a tabelei BENI
.... b) este greşită comanda MODI STRU
13. Tipurile de atribute într-o tabelă pot fi: c) creează şi poate doar modifica structura tabelei BEN!
...... a) pointeri d) doar modifică câmpuri În tabela BENI
b) caracter e) modifică datele din tabela curentă
c) timp
.~:;.:;:::.==-~
1.....;
d) logic .. ·;~~ p:- '-''JI'r.w F~·r.~ ...~
r ~-"·' -.-,~~.:~
e) data sistem /:'·.') '''1-;.~~
(, ···
•!
.,.,, ........ : .. ·:·•:·In
!; ~'·· •: .l'\ ~
• "·" h... • . •
~J:1
\\ :!lHfJqTFCĂ j/
\~~~·.~~- :..~~:::-?-;:·
1.- 230 231
·:c .,.,-.-..:::
1"'"1

18. Se dă secvenţa : USE prod _ 4. Un fişier de index ataşat unei tabele poate fi deschis prin comenzile:
MODISTRU a) SET INDEX TO
Care afirmaţii sunt adevărate? b) USE
c) ORDERBY
a) se pot modifica şi adăuga atribute din/în tabela PROD
d) OPEN INDEX
b) se poate şterge un câmp din tabela PROD
e) USE INDEX
....,
c) se poate modifica numele tabelei PROD
d) se poate modifica numele unui câmp din tabela PROD 5. Accesul secvenţial într-o tabelă se poate face prin comenzile:
c) conţine o comandă greşită a) SKIP
b) FIND
'"""
c) GO
d) SCAN ....,
b) Accesul Ia date
e) LOCATE

1. Pe o cale curentă, închiderea tabelei ORAŞ se poate face prin comanda: 6. Accesul direct prin număr de realizare într-o tabelă se poate face prin
a) USE oraş comenzile:
b) USE stud a) LOCATE
c) CLOS DATA b) CONTINUE
c) SEEK ,...,
d) CLOS ALL
d) GO
e) USE
e) SKIP
...,
2. Dacă o tabelă are un atribut de tip memo atunci i se ataşează un fişier tip: 7. Pentru a deschide simultan mai multe tabele pe aceeaşi cale de lucru se
a) .dbf folosesc comenzile:
a) USE .... ·~

b) .frx ,....,
c) .idx b) nu se poate -.
c) SELECT
d) .sex
d) APPEND
e) .fpt _.,
e) OPEN

3. Accesul direct după cheie într-o tabelă se face prin comenzile: 8. Deschiderea unei baze de date se poate face prin comenzile:
a) FIND a) OPEN ALL _.,
b) SEEK b) USE DATABASE
c) GO c) · OPEN DATA

d) CONTINUE
d) USE
e) OPEN TABLE
....
e) LIST

....,

7..!2 233
,....,
9. Comanda USE se foloseşte pentru a d.eschide; 14. Pentru a ordona datele se pot folosi:
a) o tabelă virtuală a) restricţia de integritate PRIMARY KEY
b) fişierele de index asociate tabelei b) comanda INDEX ON
c) o tabelă de bază c) clauza ORDER BY
.......
d) o altă tabelă pe o cale de lucru unde este deja deschisă o tabelă d) CREA TE SORT
e) o bază de date e) SETORDER
i..J
10. Com<mda CLOSE se poate folosi, în funţie de clauzele pe care le are, 15. Tipurile de fişiere de index care pot fi ataşate unei tabele sunt:
pentru a închide: a) .CDX
a) o tabelă b) .IDX
1.....1
b) o bază de date c) .sex
c) mai multe tabele d) .RTX
d) mai multe baze de date e) .FRX
\"J

e) o fereastră
16. Com<mda USE stud:
Il. În fereastra de comandă din VFP: a) deschide tabela STUD pentru citire
1....1
a) se poate folosi comanda IF b) deschide tabela STUD pentru scriere
b) se poate lucra stil compilator c) deschide tabela STUD pentru citire şi scriere
c) se poate lucra stil interpretor d) deschide tabela STUD pentru acces secvenţial
l....i

d) se poate folosi comanda SCAN e) deschide tabela STUD pentru acces prin număr de realizare
e) se poate folosi comanda DO WHILE
17. Comanda USE contr/IN 2: ,.,
12. Comanda SKIP: a) deschide zona de lucru C .~~

a) se foloseşte pentru accesul prin număr de realizare b) închide tabela CONTRl de pa calea doi
b) se poate folosi pentru că VFP numerotează tuplurile c) deschide două tabele în zona de lucru B
'-'
c) se poate f~Josi pentru salt Ia ultima înregistrare d) deschide tabela CONTRl în zona de lucru B
d) se poate folosi pentru salt la primul tuplu e) deschide tabelele CONTRl şi IN pe calea B
e) se poate folosi pentru accesul direct după cheie
'-' 18. După executia comenzii USE stud pointerul de înregistrare este
13. Comanda GO TO se foloseşte pentru: poziţionat:

a) accesul secvenţial a) pe ultima înregistrare


b) salt la o instrucţiune din program b) peEOF
c) accesul direct după număr .de realizare c) pe prima înregistrare
d) accesul direct după cheie d) neprecizat
e) salt la o tabelă dorită e) pe înregistrarea indicată de RECCOUNT()

234
235
~

19. Tabelele unei baze de date pot fi deschise, la un moment dat:


a) toate, dar pe zone de lucru diferite 22. Efectul secventei USE prod ,...,
b) toate, pe o singură zonă de lucru LOCATE FOR codp = 22
c) două, dacă se indică ALIAS, pe o zonă de lucru DISP
d) maximum cinci tabele o dată · LOCA TE FOR codp = 22
~

e) nu se deschide explicit DISP


este:
20. În secvenţa următoare: a) afişează prima înregistrare pentru care atributul CODP este ......
SELEC 22
USE contrl b) afişează şi a doua înregistrare pentru care atributul CODP
SELE 3 este 22
USE beni c) acces direct la o îm·egistrare pentru care Htributul CODP
SELEB este 22
USE prod d) accesează două înregistrări diferite din tabela PROD
""""
SELEC e) acces secvenţial la o înregistrare pentru care atJ·ibutul CODP \..
L!ST este 22
comanda LIST realizează :
,....,
a) afişează structura de date a tabelei C 23. Efectul secvcnţei: USE contrl
b) afişează înregistrări din tabela CONTRl INDEX ON codb TO fl
'"""1
c) afişează înregistrări din tabela PROD mi= l22
d) Iistează numele tabelei din zona C SEEKml
e) afişează înregistrări din tabela BENI DISP
.....,
CONTINUE
21 . Efectul secven!ei: USE stud
DISP
G03 IN 3 este:
SKIP
.....,
a) acces direct la toate tulpurile pentru care atributul "codb"
DISP
are valoarea 122
este:
b) acces direct la un tuplu pentru care atributul "codb" are ~
a) poziţionează pointerul pe înregistrări din STUD valoarea "ml"
b) afişează prima înregistrare din STUD
c) afişează tulpul pentru care atributul "codb" are valoarea 122
c) poziţionează pointerul pe ultima înregistrare din STUD
d) are o comandă greşită ....,
d) afişează înregistrarea curentă de pe calea trei
e) acces secvenţial la două tupluri din tabela CONTRI
e) afişează înregistrarea a doua din STUD

23o
237
..-.
L-'

24. Efectul secvenţei: USE beni c) afiş_eazătoate înregistrările din tabela CONTRI
INDEX ON codb TO fl d) afişează prima înregistrare din tabela CONTRI
ml =22 e) poziţionează pointerul pe ultima înregistrare din tabela
m2= IOO+ml CONTRl
-...; SEEK&m2.
DISP 27. Se dă secvenţa de comenzi: USE prod
este: INDEX ON codp TO il
..... a) acces direct la tuplul pentru care atributul "codb" are INDEX ON UPPER (ump) TO u 1
valoarea 122 SELE3
b) acces direct Ia tuplul pentru care atributul "codb" are USE contrl
1..-
valoarea 100 INDEX ON codp TO c l
c) acces direct la un tuplu G05
d) are o comandă greşită SKIP
e) permite accesul ordonat la tabela BENI DISP
SELE 1
25. Efectul secvenţei: USE prod mcheie = 'Buc'
\_.
DISP SEEKmcheie
ml =22 DISP
1-1
FIND mi Care afirmaţii sunt adevărate ?
DISP a) afişează două înregistrări din tabela CONTR şi o singură
este: înregistrare din tabela PROD
a) acces direct la tu piui pentru care atributul "codp" are b) acces direet prin cheie pe ambele tabele .-··
valoarea 22 c) acces prin număr de realizare pe ambele tabele
b) acces secvenţial pentru care atributul "codp" are valoarea d) acces prin număr de realizare pe calea A
;.... 22 e) conţine o comandă greşită

c) acces direct la tuplul ''mi"


d) afişează trei tupluri din tabela PROD 28. Se dă secvenţa: USE contrl
e) afişează un tuplu curent LIST
Care afirmaţii sunt adevărate ?
26. Se dă secvenţa: USE contrl a) afişează doar înregistrarea curentă din tabela CONTRI
i- DISP b) afişează doar înregistrarea curentă din tabela curentă
Care afirmaţii sunt adevărate? c) afişează toate înregistrările din tabela CONTRI
a) afişează înregistrarea curentă din tabela CONTRI d) afişează doar prima înregistrare din tabela CONTRI
b) afişează înregistrarea curentă din tabela curentă e) poziţionează pointerul pe sfârşitul de fişier
"""'
238 239
"""'
J. Se dă secvenţa de comenzi: USE prod
29. Se dă secvenţa de comenzi: SELE B
SELEC
USE beni
USE contrl
SELED
INDEX ON codp TO c 1
USE contrl
SEEK 1005 """'
LOCA TE NEXT 5 FOR codb < 222
DISP
DISP
SELE l
SELE2 -.
GOTOP
INDEX ON codb TO c l
DISP
mcheie = 10123
SEEK 1005
SEEK mcheie
DISP
DISP
Care afirmaţii sunt adevărate?
SELE4
CONTINUE
a) afişează înregistrarea care are atributul codp
tabelele CONTRI şi PROD
=1005 din ...
DISP
b) lucrează cu tabela PROD pe calea 1 şi cu tabela CONTRl pe
Care afi1maţii sunt adevărate?
calea 3
a) lucrează cu tabela CONTRI pe calea 2 şi cu tabela BENI pe 1""'\
c) acces direct pe tabela CONTRI şi acces prin număr de
calea 4
realiza~e pe tabela PROD
b) alişează două Înregistrări din tabela CONTRI
d) crează fişierul de index Cl.idx ataşat tabelelor PROD şi
c) afişează doar o înregistrare din tabela CONTRl şi doar o ~

CONTRl
înregistrare din tabela BENI
e) conţine o comandă greşită
d) conţine o comandă greşită
~
e) afişează două înregistrări pe calea 2 şi o singură înregistrare
32. Se dă secvenţa:
USE contrl
pe calea 4
LISTREST
Care afirmaţii sunt adevărate ? ,....,
30. Se dă secvenţa: USE contrl
a) afişează doar ultima înregistrare din tabela CONTRl
DISP REST
b) afişează toate înregistrările din tabela CONTRl
Care afinnaţie este corectă?
c) afişează toate Înregistrările de la cea curentă până la sfârşit 1""'\
a) afişează doar ultima Înregistrare din tabela CONTRl
din tabela CONTRl
b) afişează toate înregistrările din tabela CONTRl
d) poziţionează pointerul pe sfârşitul de fişier
c) alişează toate Înregistrările de la cea curentă până la sfârşitul
e) o comandă este greşită ~
din CONTRI
d) poziţionează pointerul pe sfârşitul de fişier
e) conţine o comandă greşită ~

241
240
-..
'-'

.... 33. Se dă secventa de comenzi: USE beni 3. Ştergerea fizică a unui tuplu dintr-o tabelă se face prin comenzile:
SELE2 a) RELEASE
USEprod b) PACK
..... LOCATE RECORD 4 c) ZAP
CONTINUE d) .DELETE
DISP e) DELE
SELE l
L.-1
GOS 4. Actualizarea datelor dintr-o tabelă, în sens de adăugare la sfârşit, se face
DISP prin comenzile:
SKIP-1 a) APPE
........
DISP b) ADD
Care afirmatii sunt adevărate ? c) INSERT
a) crează un context curent şi lucrează pe acesta d) ZAP
._,
b) afişează înregistrarea patru din tabelele PROD şi BENI e) UPDATE
c) afişează înregistrarea cinci din tabela PROD şi înregistrarea
4 şi 5 din BENI 5. Ştergerea
tuturor tuplurilor din tabela PROD se face prin comenzile:
~ d) există o comandă greşită a) DELETE FROM prod
e) accesează direct prin cheie pe calea A b) ZAP
c) RECALL .
"-' d) PACK
c) Actualizarea datelor e) DELETE FORcodp=22

........ 1. Actualizarea datelor dintr-o tabelă, în sens de modificare, se poate face 6. Actualizarea datelor dintr-o tabelă se poate face prin c<?_!Jle'nzile: · ·
prin comenzile: a) APPE
a) BROWSE b) ALTER TABLE
.._ b) EDIT c) INSERT INTO
c) CHANGE d) REPLACE
d) MODI STRU e) DELETE FROM
e) REPLACE
'-' 7. Adăugarea unui tuplu la sfârşitul tabelei curente se poate face prin
2. Ştergerea logică a unui tuplu dintr-o tabelă se face prin comenzile: comenzile:
a) DELETE a) ZAP
1.... b) RELEASE b) APPE
c) PACK c) REPLACE
d) ZAP d) UPDATE
w e) DESTROY e) INSERT INTO

'- 242 243


,...,

8. Comanda c) se afişează denumirea pentru toate tabelele din directorul curent


BROWSE FIELDS denp d) se afişează denumirea pentru toate tabelele din baza de date '""'!'
permite: curentă

a) r:isfoirea tabelei curente e) se închide tabela PROD


b) afişarea pe ecran a atributului denp ~

c) atişa~ea pe ecran a tabelei denp 12. Pentru a putea lucra cu noţiunea de bază de date obligatoriu trebuie
d) vizualizarea tuturor atributelor din tabela curentă executate comenzile:
e) vizualizarea tuturor atributelor din tabela denp a) OPEN DATA .....
b) USE
9. Adăugarea unei noi tabele la o bază de date existentă deja se poate face c) CREA TABLE
d) OPEN TABLE ......
prin comenzile:
a) CREA TABLE e) SET INDEX ON
b) CREA DATA
"'"""\
c) INSERT INTO 13. Se dă secvenţa: USE beni
d) APPEND G03
e) ADDDATA APPEND BLANK
!""'\
Care afirmaţii sunt adevărate ?
1O. Pentru a putea folosi comenzile INSERT INTO şi UPDATE trebuie a) adaugă o înregistrare la sfârşitul tabelei curente
executată anterior comanda: b) adaugă un număr de înregistrări dorit de utilizator
a) OPEN DATA c) adaugă o înregistrare după cea curentă
b) CREA DATA d) adaugă o inregistrare după una cu numărul de ?rdine}. '-~

c) CLOSE DATA e) adaugă o inregistrare vidă .,-


d) SELECT
e) USE 14. Se dă secvenţa: USE contrl

Il. Care este efectul următoarei secvenţe de program ?:


SKIP2
APPEND -
CREA DATA desf DISP
CREA TABLE prod (codp NUMBER(4), denp CHAR(20), ump Care afirmaţii sunt adevărate ? .......
CHAR(3)) a) conţine o comandă greşită
DIR b) adaugă la sfârşitul tabelei curente un număr de înregistrări
DISPTABLES dorit de utilizator ~

CLOSEALL c) afişează înregistrarea curentă


a) se crează baza de date denumită DESF d) adaugă înregistrări după cea cu numărul de ordine 2
b) se crează tabela denumită PROD e) adaugă înregistrări după cea curentă

244 245
"""
'--'

15. Se dă.secvenţa: USE beni c) şterge logic din PROD toate tuplurile pentru care atributul
_i REPLACE REST SUBSTR (denb,l,l) WITH 'V' "ump" este ton
LIST d) afişează prima şi ultima înregistrare din tabela PROD
Care afirmaţii sunt adevărate ? e) şterge logic şi fizic toate tuplurile pentru care atributul
<../
a). înlocuieşte, doar în tuplul curent, primul caracter "ump" este ton
b) modifică date doar în prima înregistrare
c) actualizează tabela BENI în sens de ştergere logică 1B. Se dă secventa: USE beni
d) actualizează tabela BENI în sens de modificare PACK
e) înlocuieşte, în toate tuplurile, un caracter din atributul denb DELETE NEXT 2
cu valoarea 1 GOTOP
,._;,
LIST
16. Se dă secventa: USE prod Care afirmaţii sunt adevărate ?
u
DISP a) şterge fizic primele două tupluri
REPLACE RECORD 3 FOR codp = 22 b) . şterge logic doar a doua înregistrare
ump With 'TON' c) şterge fizic doar a doua înregistrare

- Care
a) modifică
DISP
afirmaţiisunt adevărate ?
în primele 3 înregistrări atributul "codp" cu 22 şi
d) şterge logic doar al doilea tuplu
e) şterge logic primele două tupluri

L atributul "ump" cu ton


b) modifică înregistrarea a treia, dacă atributul "codp" este 22 d) Structuri de program
c) modifică trei înregistrări _,
.."..,. 1·
'-' d) conţine o comandă greşită 1. Instroqiunea EXIT din programul de mai jos are ca efect:
e) şterge logic a treia înregistrare nr=O
USE prod
l.- 17. Se dă secventa: USE prod DOWHILE.T.
DISP lF EOF()
DELETE FOR UPPER (ump) = 'KGR' EXIT
GOBOTTOM ENDIF
PACK IF codp< 300
LIST SKIP
Care afirmaţii sunt adevărate ? LOOP
a) şterge logic tupluri din tabela curentă ENDIF
b) şterge fizic înregistrări din tabela PROD nr =nr + 1
SKIP

246
~ 247
5. Terminarea forţată a execuţiei unui program VFP se face prin
ENDDO
comanda:
a) ieşirea forţată din structm·a alternativă·
a) CANC
b) ieşirea forţată din structura repetitivă
b) EXIT
c) ieşirea din prima structură repetitivă şi continuarea cu cea de-a
c) ABOR
doua
d) RETU
.-.
d) nu are nici un efect
e) QUIT
e) ieşirea din structura repetitivă şi continuarea cu atribuirea
,.....
6. Dintre structurile de program de mai jos, sunt repetitive:
2. Următorul program afişează:
a) REPEAT ... UNTIL
CLEAR
FOR x = 1 TO 9
b) IF ... ENDIF .,
c) FOR ... ENDFOR
? X.
d) DO WHILE ... ENDDO
ENDFOR
e) SCAN ... ENDSCAN
a) cifrele de la 1 la 9 pe 9 linii de pe ecran
b) cifrele de la 1 la 9 pe o singură linie de pe ecran
7. Efectul secven'ei de instruc'iuni de mai jos este:
c) caracterul x de 9 ori
CLEAR '1
d) doar cifra 9
x=22
e) doar cifra 1
STORE 'X' TO x
?x.
3. Codul sursă VFP se poate încărca prin comenzile:
a) afişează pe ecran numărul 22
a) MODI COMM _./
b) afişează pe ecran x -~"
b) LOAD ,.....,
c) afişează valori pe 22 de linii din ecran
c) ED
d) afişează pe ecran caracterul X
d) STORE
e) apelează autodocumentarea HELP
e) INSERT .....
8. Care din următoarele afirmaţii sunt adevărate pentru limbajul din VFP:
4. Structura de progra IF ..• ENDIF este:
a) are structura repetitivă de program
a) alternativă multiplă ,_,
b) are structura alternativă de program
b) alternativă simplă
c) are doar structurile secvenţială şi alternativă de program
c) secvenţială
d) repetitivă cu test iniţial
e) repetitivă cu test final
d) are structura secvenţială de program
e) are doar structurile secvenţială şi repetitivă de program -
,...,
249
248
,--,
:-:-·~
9. Care din următoarele afirmaţii sunt adevărate pentru Visual FoxPro: 12. Se dă secventa de program: SET T ALK OFF
.... a) permite, în fereastra de comandă, doar structurile · ml =22
secvenţială şi alternativă m2= 'HP'
b) permite, în.fereastra de comandă, toate structurile
fundamentale de program .
=
x 3 m 1 ** 2 +V AL (m2)
\o.oo DISP MEMORY LIKE m*
c) nu permite, în fereastra de comandă, structurile repetitive de
?ml,m2
program
d) nu permite nici una dintre structurile fundamentale de @ 16,16SAY 'x3='
L Care afirmatii sunt adevărate?
program
e) permite structurile: secvenţială, alternativă, repetitivă de a) afişează conţinutul tuturor variabilelor definite
program b) defineşte variabila x3 de tip real
\....,1
c) conţine o eroare
l O. Se dă secvenţa:
SET T ALK OFF d) foloseşte două funcţii de sistem
mi =0 c) afişează, din memorie, toate variabilele
..... STORE l. 2 TO ml, m2, m3
m2= 'IBM'
13. Se dă secventa de program: SET T ALK OFF
? ml, m2, m3
m=8
~ Care afirmatii sunt adevărate ?
a) afişează valoarea O pentru ml
mi= m**2
b) afişează valoarea 2 pentru m2 lFml < 100
c) conţine o comandă greşită ?8
L.
d) afişează valorile 1 şi 2 pentru m3 ELSE
e) afişează şirul "m1, m2, m3" IF ml > 100
o..J
? 108
11. Se dă secvenţa: SET T ALK OFF ELSE
ml= .T. ? ml
STORE 'VFP' TO m2, ml, m3
ENDIF
=
m3 {01/10/99}
ENDIF
? ml, m2, m3
Ce valori se afişează?
@ 5,5 SAY mi, m3
Care afirmaţii sunt adevărate ? a) 64
a) la afişare, variabila mi este de tip logic b) 108
b) la afişare, variabila m2 este de tip logic c) nu se afişează nimic
\....' c) la afişare, variabila m3 este detip şir de caractere d) 8
d) conţine o comandă greşită e) m1
e) la afişare, se scrie câte o variabilă pe un rând
\..1

-. 250 25!

-- ·
1"""1
14. Ce va afişa secvenţa de program: SET TALK OFF
m=O ? m1 + 1
@ =6,6 SA Y 'm =' GET m CASEml =3 ~

READ ?m2
=
lF m l.
? m+ l
ELSE
IFm =22
dacă se încarcă valoarea 2 ?
OTHERWISE
@ 20, 2 SA Y 'EROARE'
ENDCASE -
a) IBM
@ 20,2 SA Y 'nimic' ~·
b) 2
ELSE
c) Il
IF m > 50 d) EROARE
?m e) 3 '"""'
ELSE
? m-1 16. Ce va afişa secvenţa de program: SET T ALK OF
ENDIF STOREOTO m1, m2, m3
ENDIF @ 5,5 SAY 'ml ='GET m1

ENDIF READ
Dacă se încarcă valoarea 23 ? m3= m1 * m2+2 1"'"1

m2= 'OK'
a) 22
DO CASE
b) 24
CASE m3 = 1 ....
c) 23
m2=ml-1
d) nimic CASEm3 =2
J

.r-
e) 50 m2='ibm' ~

CASEm3 =3
15. Ce va afişa secvenţa de program: SET TALK OFF m2= m3 * 3
STORE I TO mi, m2 CASEm3 =4 .......
M2=.T.
m2= 'IBM'
ENDCASE
m2 = SPACE (Il)
?m2
@ 5,5GETm2 ......
dacă se încarcă valoarea 22?
READ
a) .T.
DO CASE
b) 1
CASE mi= 1 c) ibm
......
?" d) 9
CASEm1=2 e) OK

252

253
1"'"1
,!~

1.,...
17. Ce va afişa secvenţa de program: SET T ALK OFF ..
;~
{ m3=m3+ 1
STORE 'x' TO mi, m2, m3 ELSE
m2=ml +'x' m3=m3-l
J!13 =RECNO () ENDIF
"-
@ 5,5 SA Y 'm3:' GET m3 b) 1Fm#220Rm1>50Rm2<100
READ m3= m3 +1
._ mi= 12 ELSE
DO CASE m3+ m3-J
CASE m3 =mi- 2 ENDIF
1...1 TF m2 = 'xx ' c) IF m # 22 AND m1 > 5 OR m2 < 100
? ml PICTURE '99' m3= m3+ 1
ELSE ELSE
? 'xx' m3=m3-1
ENDIF ENDIF
CASE m3 = 10 d) DOCASE
'-' ? m3 CASE m#22
ENDCASE CASEm1 >5
dacă se încarcă valoarea 1O ? CÂSE m2< 100
a) conţine o comandă greşită m3= m3+ 1
b) 10 OTHERWISE
c) 99 m3= m3-l _..
~
d) XX ENDCASE
e) 12 e) DO CASE

- 18. Secvenţa: IF m # 22
lF ml >5
CASE m#22
IF m1 > 5
DO CASE
..... IF m2< 100 CASEm2 < 100
m3 =m3 + l m3=m3+1
ELSE OTHERWISE
.._. ENDIF m3= m3-1
ENDIF ENDCASE
ENDIF ENDIF
~ este echivalentă cu: ENDCASE
a) IF m # 22 AND ml > 5 AND m2 < 100

1.,.1 254 255


!~
~

1Y. Ce va afişa secvenţa de program: SET T ALK OFF READ

m=22 msecol = man/l 00 T


:i
~
1

IFm>25 IF MOD (man, 100) #O


msecol = msecol + 1
IFm>_20
? 21
ELSE
~
ENDIF
? msecol PICTURE '99'
d) SET TALK OFF
-
? 23
ENDIF STORE O TO man, msecol
ENDIF @ 5,5 SA Y 'anul:' GET man
a) 22 READ
b) 21 =
msecol ROUND (man/100, O) ~

c) 23 ? msecol PICTURE '99'


d) conţine o comandă greşită e) SET TALK OFF
c) 20 STORE O TO man, msecol
""""
@ 5,5 SAY 'anul:' GET man

20. Care din următoarele secvenfe de program calculează şi afişează secolul READ
dintr-un an încărcat de utilizator: IF MOD (man, 100) =O
a) STORE O TO man, msecol msecol = man/100
@ 5,5 SA Y 'anul (4 cifre):' GET man ELSE !
r
READ msecol = man/100 + 1 1 '""'
ENDIF !.
msecol = man/100
IF MOD (man, 100) #O ? msecol PICTURE '99' -.. ,...,
msecol = msecol-1
ELSE 21. Considerăm intervalele [mll, ml2] şi [m21, m22] unde mll < ml2,
? man PICTURE '9999' m2l < m22 şi toate sunt numere reale. Ce afişează secvenţa de program
t-\
ENDIF următoare?

b) @ 5,5 SAY 'anul (4 cifre):' GET man SET STATUS OFF


IF MOD (man, 100) #O STORE l.l TO mll
! i
msecol = man/100 m21 =m2.l
? 'secol', msecol STORE 1.2 TO ml2
ENDIF m22=2.2
c) SET TALK OFF IF mll > m2l
STORE OTOman, msecol ml = mll
ELSE
\:ţ ~
@ 5,5 SAY 'anul:' GET man

256 257 .-.


L..

mi =m21
t~ 23. Ce va afişa secvenţa de program? SET TALK OFF
.:~ .
'-' ENDIF f ml=2
IF m12 < m22 STORE 20 TO m2
("
m2= ml2 DO WHILE mi< m2
ELSE ml=ml+2
m2=m22 ENDDO,,
ENDIF ?m2,,,ml
!.... IF mi<= m2 a) 20, 20
?ml,m2 b) conţine o comandă greşită
ENDIF c) 2, 20
'-' a) marginea inferioară pentru fiecare interval d) 20, 2
b) reuniunea celor două intervale e) 20, 22
c) marginea superioară pentru fiecare interval
......
d) intersecţia celor două intervale 24. Ce va afişa secvenţa de program? SET TALK OFF
e) conţine o comandă greşită ml=3
STORE 30 TO m2
22. Ce va afişa secvenţa de program? SET TALK OFF REPEAT
mi= 10 ml=ml+3
G STOREOTOm2 UTILml >m2
m3=ml ? ml, m2
DO WHILE m3 > 1 a) 30,30
._ m2= m2+ m3 b) conţine o comandă greşită
m3 = m3 -1 c) 3, 30
ENDDO d) 30,3
._ ? m2 e) 33,30
a) 10
b) o 25. Ce realizează secvenţa de program? DIMEN mv (5)
c) 1 mi=O
d) 54 FOR mi= l T05
e) 55 1F MOD (mi, 2) =O
G mv (mi)= 2
ELSE
mv (mv) = 1
~

259
258
'-'

--
~

ENDIF
ENDFOR b) accesează toate înregistrările din tabelă
a) contorizează câte elemente 2 şi respectiv 1 conţine un vector
c) contorizează numărul de înregistrările care conţin "codp"
b) extrage dintr-un vector un element 2 şi un element 1 sub 100
c) construieşte un vector care arc elementele pare egale cu 2 şi
d) contorizează numărul de înregistrările care conţin "codp"
cele impare egale cu 1 peste 100
d) construieşte un vector care are elementele pare egale cu 1 şi
e) cumulează "codp" dacă este mai mic de 100 1
1

cele impare egale cu 2


e) conţine o comandă greşită
28. Ce realizează secvenţa de program? SET T ALK ON
USE prod
26. Ce realizează secvenţa de program? SET T ALK ON mc=O
~

USE contrl DO WHILE NOT EOF ()


mc=O IF SUBSTR (denp, 2, 1)
REPEAT ='M'
IF codp < 100 mc = mc + l
ENDIF
mc =mc + 1
ENDIF SKIP
'1

SKIP ENDDO
UNTIL EOF() a) calculează câte înregistrări au primele două caractere din
a) conţine o comandă greşită
"denp" egale cu M ,......
b) accesează toate înregistrările din tabelă b) conţine o comandă greşită

-
c) contorizează înregistrările care conţin "codp" egal cu 100
c) contorizează numărul de înregistrăr·i pentru car~. primul
-··
d) contorizează înregistrările care conţin "codp" peste 100
caracter din "denp" este M
e) cumulează "codp" dacă este mai mic de 100
d) conţine o comandă greşită
e) contorizează numărul de înregistrări pentru care al doilea 1"
1
caracter din ,.....,
27. Ce realizează secvenţa de program? SET TALK ON
USE contrl "denp" este M
mc =0
SCAN 29. Ce realizează secvenţa de program?USE prod ~

IFcodp < 100 mc=O


SCAN FOR SUBSTR
mc=mc+ 1
ENDIF (denp,2,1) = 'M'
ENDSCAN mc = mc + 1
ENDSCAN
a) conţine o comandă greşită
_,
260
261
l...i
a) contorizează numărulde înregistrări pentru care primul b) afişează "denb" din înregistrările pentru care acest atribut
caracter din "denp" este M începe cu VE sau ve
b) contorizează numărul de înregistrări pentru care al doilea c) afişează "denb" din înregistrările pentru care acest atribut
'-- caracter din începe cu alte
_"denp" este M caractere decât VE
c) conţine o comandă greşită d) ciclează Ia infinit
!.... d) calculează câte înregistrări au primele două caractere din e) conţine o comandă greşită
"denp" egale cu M
e) calculează câte înregistrări au primele două caractere din 32. Ce realizează secvenţa de program? USE contrl
..__ "denp" scrise cu M sau m m=RECNO()
ml = m+ 1
30. Ce realizează secvenţa de program? USE beni DO WHILE m <mi
~
DO WHILE NOT EOF() DISP
IF LIKE ('VE*' , denb) ml =mi+ 1
? denb ENDDO
ENDlF a) afişează toate înregistrările din tabela curentă
ENDDO b) afişează prima înregistrare din tabela curentă
a) afişează "denb" din înregistrările pentru care acest atribut c) contorizează numărul de înregistrări din tabela curentă
'-' începe cu VE d) conţine o comandă greşită
b) afişează "denb" din înregistrările pentru care acest atribut e) ciclează la infinit

"-
începe cu VE sau ve .-
c) afişează "denb" din înregistrările pentru care acest atribut 33. Ce realizează secvenţa de program? SET T ALK OF_F.
începe cu alte caractere decât VE USEcontrl
"-
d) ciclează la infinit m =RECNO() - 1
e) conpne o comandă greşită STORE O TO mi, mj
FOR mi= 1 T05
.._ 31. Ce realizează secventa de program? USE beni FOR mj= 1 TO 10
SCAN FOR LIKE('VE*' , m=m+ 1
denb) ENDFOR
\,... ? denb ENDFOR
ENDDO ?m
a) afişează valoarea 15
...... a) afişează "denb" din înregistrările pentru care acest atribut b) conţine o comandă greşită
începe cu VE c} calculează numărul de înregistrări din tabela "contrl"

..... 262 263


READ
d) afişează valoarea 50
@ 5,5 SAY 'nume:' GET nume
e) afişează valoarea 10
READ
a) încarcă un set de date de Ia tastatură
34. Ce realizează secvenţa de program? SET T ALK OFF
b) este greşită pentru că sunt două comenzi READ
USE contrl ......
c) defineşte şi descrie atributele unei tabele
GOBOTTOM
d} este greşită pentru că nu există DO WHILE
m=RECNO()-
e) defineşte un meniu
RECCOUNT()
ml=O
37. Comanda @ 5,x SAY y, unde x şi y sunt variabile întregi diferite
FOR m 1 =1 TO 1O
FOR ml = 1 T05
m=m+l
de cinci:
a) este o comandă de intrare standard
b) scrie o valoare începând din coloana cinci
-
ENDFOR
ENDFOR
c) este o comandă de ieşire standad
d) este o comandă de citire standard
-
?m
e) este greşită pentru că apare x şi y
a) ciclează Ia infinit ,_,
b) conţine o comandă greşită
38. Se dă următoarea secvenţă de program. Care afirmaţii sunt
c) afişează valoarea 50
adevărate?
d) afişează valoarea 15
USEtl r-.
e) afişează valoarea 10
mO=O
1
DO WHILE mO =O -~

35. În VFP sunt implementate explicit structurile fundamentale de


program:
cod =0
stoc= O 1
-
\"
a) unu Ia unu, secvenţială, alternativă
@ 5,5 GETmO
b) unu Ia unu, unu Ia mulţi, mulţi la mulţi
READ
,....
c) secvenţială, alternativă, unu la mulţi
APPEBLANK
d) tabelă, atribute, tupluri
ENDDO
e) alternativă, repetitivă, secvenţială ,....
a) ciclează la infinit
b) este greşită pentru că nu are SAY
36. Ce realizează următoarea secvenţă de program?
c) citeşte date de la tastatură
cod= SPACE (4) ~
d) modifică tupluri
nume =REPLICATE('', 10)
e) adaugă atribute în tabela TI
CLEAR
@ 5,5 SA Y 'Cod:' GET cod ~

265
264
t"'"l
L

39. Se dă următoarea secventa de program. Care afirmatii sunt f
adevărate?
7 2. Modularizarca programelor presupune utilizarea comenzilor:
L a) SETMODU
DO CASE
b) FUNC ... RETU
CASE x = 1 •·
@ 5,5 SA Y 'Eroare sintaxă' c) VFP nu permite modularizarea programelor
d) REPEAT •.. UNTIL
CASEx=2
e) SET PROC TO
CASE x = 3
L @ 5,5 SA Y 'Valoare bună'
OTHERWISE 3. Lucrul cu ferestre utilizator presupune utilizarea comenzilor:
@ 5,5 SA Y 'Se va relua procedura' a) CREATE WINDOW

L ENDCASE b) DEFI WIND


a) realizează o structură ciclică c) JOIN WIND

b) este greşită pentru că are CASE vid d) ACTIVATE WINDOW


L.: c) este greşită pentru că nu are OTHERWISE e) BROSE WIND
d) este greşită pentru că nu are READ
e) realizează o structură alternativă 4. Lucrul cu meniuri orizontale utilizator presupune utilizarea comenzilor:
.._. a) CREAMENU

40. Comanda@ 2,5 SAY 'OK': b) DEFI POPUP


c) CREABAR
a) este o comandă de intrare standard
l.. b) este o comandă de intrare oarecare d) CREA POPUP
c) DEF1 MENU
c) afişează un text pe linia 5 pe ecran

- d) este greşită pentru că nu este urmată de READ 1· ~-'

e) citeşte un text de pe linia 2 de pe ecran


5. Programul următor are ca efect:
DIMEv(4,3)
FOR i = 1 to3
~
v(l,i) =O
e) Alte tehnici de programare
ENDFOR

L 1. Legătura temporară, la momentul execuţiei, între două tabele se poate


realiza prin comenzile:
v(2,2) =22
STORE 23 TO v(2,3)
STORE 1 TO exemplu(2,2)
a) SET RELATION TO
CLEAR
.._, b) JOIN
DISP MEMO LIKE v
c) RELA TION BEETWEN
d) nu se poate realiza a) defmeşte un masiv bidimensional

- e) COPYTO b) iniţializează prima linie din matrice cu valoarea O

266 267
L
,....
c) afişează
toate elementele unei matrici
CASE mi= 1
d) foloseşte o instrucţiune de atribuire
GOTOP
e) ini!ializează prima coloană din matrice cu valoarea O .~
CASEmi=2
GOBOTTOM
6. Fie următorul program:
ENDCASE
USE prod 1'"-1
RETURN
LIST
Care afirmaţii sunt adevărate?
CREA TRIG ON prod FOR DELETE AS codp < 22
a) este greşită pentru că procedura este plasată după apel
DELE FOR codp = 5 "î
b) este greşită pentru că procedura nu este apelată bine
LIST
c) este greşită pentru că o structură tip CASE nu poate apărea
RECALL ALL
I..!ST
într-o procedură ,..,
d) este greşită pentru că variabila "mi" se utilizează în
a se lucrează
cu o structură repetitivă de program
procedură şi nu este definită în ea
b. se defineşte
un declanşator
e) este greşită o comandă GO ...,
c se şterg fizic tupluri
el. se afişează doar înregistrarea a 5 a din tabela curentă
9. Se dă următoarea secvenţă de program:
c. se realizează apelul unui declanşator
mk= 1 ,...
@ 5,5 SA Y 'mk:' GET
7. Cu ajutorul unui declanşator se pot:
READ
a) şterge date din tabele
DOpl 1""'\
b) adăuga date în tabele
PROCEDURE pl
modifica date din tabele
c)
IFmk=2 "
d) crea tabele
? 'CORECT'
c) crea baze de date
ELSE

8. Se dă următoarea secvenţă de program:


USE prod
? 'EROARE'
ENDIF
RETURN
-
mi=O
Care afirmaţii sunt adevărate?
@ 2,2 SA Y 'Valoare întreagă:' GET mi ....,
a) procedura trebuie, obligatoriu, ·plasată înainte de comanda
READ
de apel
DO pl
b) după apelul procedurii este obligatorie încă o comandă ,...,
? 'Înregistrarea=', RECNO ()
c) este greşită comanda de citire a datelor
PROCEDURE pl
d) este greşită procedura
DO CASE
e) este greşită revenirea din procedură ..,
268
269
."""'1
'-'
1O. Se dă următoarea secventă de program:
ml = 10
1
!
RETU
Care afirmaţii sunt adevărate?
a) procedura "pl" este greşită pentru că nu are RETURN
m2=2
b) procedura "p2" este greşită pentru că foloseşte variabila
._. DOp3
"m2'' pe care nu a definit-o
? 'TERMINAT'
c) procedura "p2'' este greşită pentru că foloseşte variabila
PROC pl
"m3" pe care nu a definit-o
...... DOp2
d) comanda PUBLIC nu există în VFP
mi=: m2/mi
e) secvenţa este un program modularizat
PROC p2
1.-J m2= ml/m2 I2. Se dă următoarea secvenţă de program:
PROC p3 mdn="D"
m3=22 DO WHILE mdn $ "D/d"
'-' DOpi CLEAR
m3=m3+m2 @ 2,2 PROMP 'Actualizare'
RETURN @ 3,2 PROMP 'Afişare'
Care afirmaţii sunt adevărate? @ 4,2 PROMP 'Terminare'
a) procedura "pl" trebuie situată după procedura "p3" MENUTO mi
b) structurarea comenzilor de apel se face pe mai multe niveluri DO CASE
'- c) variabila "m2" este parametru de intrare în procedura "p3" CASE mi::::: I
d) variabilele "ml" şi "m3" sunt ambele parametrii de intrare DO a

- în procedura "pl"
e) este greşită secvenţa
ENDCASE
CASE mi =3
mdn= 'N'
./

11. Se dă următbarea secvenţă de program: ENDDO


1....
ml =22 PROCa
DOpi Care afirmaţii sunt adevărate?
?'OK' a) realizează un meniu orizontal
"'""' PROC pi b) realizează un meniu vertical
PUBLIC m2 c) este greşită structura CASE pentru că nu tastează ml =2
m2= m1 ** 2 d) este greşită procedura "a" pentru că nu are RETURN
DOp2 e) este greşită secvenţa pentru că nu este definită variabila

-
PROCp2 "ml"
m3 =m2+m1

270
..... 271
.....
'1
li 13. Se dă următoarea secventă de program: DEFINE BAR 2 OF popi PROMPT 'A\<CTUALIZARE'
li

" mi ='d'
DO WHILE LOWER (mi)= 'd' ·
DEFINE BAR 3 OF popl PROMPT 'TERMINARE'
ON SELECTION BAR I OF popi DO v
1"""'1

CLEAR ON SELECTION BAR 2 OF popi DO a


,.......
@ 2,1 T06,51 ON SELECTION BAR 3 OF pop1 DO DEAC POPUP popi
@ 3,2 PROMP 'Lista 1' MESSAGE 'Lista ACT 1 POPUP pop 1
beneficiarilor' SHOW POPUP pop 1
@ 4,2 PROMP 'Lista 2' MESSAGE 'Lista DEAC POPUP pop 1 .......
produselor' ? 'TERMINAT OK'
@ 5,2 PROMP 'Terminare' PROCv
MENUTOm2 @ 20,5 SA Y 'Vizualizare inactivă'
SET MESSAGE TO 20 PROCa
DO CASE @ 20,5 SAY 'Vizualizare inactivă'
CASE m2= 1 RETURN
CASEm2=2 Care afirmaţii sunt adevărate?
CASEm2=3 a) realizează un meniu vertical
~

mi ='n' b) realizează un meniu orizontal


ENDCASE c) selectarea opţiunii 1 se face tastând litera V
ENDDO d} selectarea opţiunii 2 se face tastând litera A
Care afirmaţii sunt adevărate? e) selectarea opţiunii 3 se face tastând literaT
.r
a) realizează un meniu vertical
b) afişează mesaje explicative pe linia 20 pe ecran 15. Se dă următoarea secvenţă de program:
c) pefmite lucrul cu meniul atâta timp cât doreşte utilizatorul CLEAR
d) la ~electarea primelor două opţiuni din meniu nu se execută DEFINE MENU men1 BAR AT LINE 5
nici o procedură DEFINEPADpl OFmenl PROMPT 'VIZUALIZARE' Il
e) selectarea unei opţiuni se poate face cu tastele săgeţi şi apoi DEFINE PAD p2 OF men2 PROMPT 'ACTUALIZARE'
tasta ENTER DEFINE PAD p3 OF men3 PROMPT 'SFÂRŞIT'
ON SELE MENU men 1 DO s ,....,
14. Se dă următoarea secvenţă de program: ACTI MENU men 1
CLEAR DEAC MENU menl
DEFINE POPUP pop1 FROM 5,5 MESSAGE 'Meniu ,_
J'ROC S
principal'
DO CASE
DEFINE BAR 1 OF pop 1 PROMPT 'VIZUALIZARE' CASE PAD 0 = 'P1'
.......
CASE PAD 0 = 'P2'
272
273 ,-..

~Î:'\.ll
= 'P3' ~~ Care afirmaţii sunt adevărate?
'-' CASE PAD ()
ENDCASE a) se afişează un mesaj pe linia unu de pe ecran
RETU b) se afişează un mesaj pe linia trei de pe ecran
a) structura CASE este eronată . c) se afişează un mesaj pe linia trei din fereastră
b). trebuia o singură comandă DEFINE PAD pentru toate d) se citeşte un mesaj pe linia unu din fereastră
opţiunile meni ului e) o comandă este greşită
\.......
c) la o execuţie a programului se poate apela o singură opţiune
din meniu 18. Se dă următoarea secvenţă de program:
..._ d) opţiunea ACT se găseşte pe linia 6 pe ecran USE beni
e) meniul are trei opţiuni INDEX ON denb TO b 1
CLEAR
...._ 16. Se dă următoarea secvenţă de program: ? ' COD * NUME BENEFICIAR'
CLEAR ? REPLICATE (' - ', 22)
DEFI WIND fi FROM 5,5 TO 15,35 TITLE 'Răsfoire' SCAN
..... SHADOW ? codb, '*', denb
ACTIWIND fl ENDSCAN
USE beni Care afirm~tii sunt adevărate?
BROW a) afişează un cap de tabel în fişierul "bl.txt'
'-
DEACWIND fi b) afişează codul şi denumirea beneficiarilor ordonate după cod
Care afirmaţii
sunt adevărate? c) afişează codul şi denumirea beneficiarilor ordonate
a) realizează un meniu vertical descrescător ....·--
1 -

'-'
b) realizează un meniu orizontal d) accesează toate înregistrările tabelei curente
c) realizează o fereastră e) crează un fişier de index ataşat tabelei BENI
\..." d) se poate vizualiza tabela "beni"
e) la terminarea execuţiei cursorul nu revine în fereastra de 19. Se dă secvenţa de program:
comandă SELE3
\..."
USEprod
17. Se dă următoarea secvenţă de program: INDEX ON codp TO p 1
CLEAR SELE2
DEFINE WINDOW f FROM 5,5 TO 20,99 USEcontr1
ACTIVE WINDOW f SET RELA TO codp INTO prod

- @ 1,3 SA Y 'Mesaj'
WAIT 'Apăsaţi orice:'
DEAC WIND ALL
G05
SELE3
DISP

1.-i
274 275
22. Se dă secventa de program:
Care afirmatii sunt adevărate?
SELE 1
a) se afişează înregistrarea cinci din tabela CONTRI ~
USE prod
b) se afişează înregistrările cinci din tabela PROD
INDEX ON codp TO pl
c) se afişează o inregistrare din PR_OD care are acelaşi "codp"
SELE2 ~
cu a cincea înregistrare din CONTRI
USE contrl
d) se afişează o înregistrare din CONTRI care are acelaşi
INDEX ON codp TO el
"codp" cu a cincea înregistrare din PROD
J01N WITH prod TO conprod FOR codp = A.codp~
e) se stabileşte o legătură între tabela principală CONTRI şi
FIELDS codp, A.denp, A.ump, cantl
'"'"'
cea secundară PROD
Care afirmaţii sunt adevărate?·

20. Se dă secvenţa

SELE2
de program:
a) eroare pentru că variabilele "A.denp" şi "A.ump" nu sunt
definite
-
b) se realizează o selecţie
USE beni
INDEX ON codb TO bl UNIQUE
COPY TO cb FIELDS codb, denb
c)
d)
se realizează o joncţiune
se realizează o proiecţie
-
e) rezultă fişierul "conprod.dbr'
Care afirmaţii sunt adevărate?
a) se realizează o proiecţie din tabela BENI
b) se realizează o selecţie din tabela BENI
f) Programarea orientată obiect
c) se realizează o diferenţă din tabela BENI
d) se realizează afişarea câmpurilor "codb" şi "denb" din tabela
1. Se dă secvenţa de program: DEFINE CLASS Cl AS Vl
BENI nume=" " __.;' J

e) se utilizează un operator relaţional ,.....,


PROCEDURE pl
?THIS.nume
21. Se dă secvenţa de program:
ENDPROC
SELE3 ,......
ENDDEFINE
SELE * FROM prod INTO DBF cp WHERE (codp>20 AND
Care afirmaţii sunt adevărate?
codp<SO)
a) se defineşte clasa "Vl"
Care afirmaţii sunt adevărate?
b) se codifică clasa "Cl"
a) se realizează o selecţie din tabela "prod"
c) se defineşte o metodă
b) se realizează o selecţie din tabela 3
c) se realizează o proiecţie din tabela "prod"
d} se defineşte procedura "THIS" ,...,
e) se descrie o proprietate
d) o comandă este greşită
e) trebuia obligatoriu deschisă tabela ''prod"
~

277
276
'"""
'-'
..i
'-'

1.....
2. Se dă secvenţa de program: 8I

Care afirmaţii sunt adevărate? .


=CREATEOBJECT ("CI")
81. nume= "Maria"
? 81. nume
Se consideră definite anterior toate elementele necesare.
' Care afirmaţii sunt
a)
b)
c)
adevărate?
ENDDEFINE

toate proprietăţile definite pot fi referite din afara clasei


toate metodele definite pot fi referite din afara clasei
se protejează trei proprietăţi
a) se instanţiază un obiect dintr-o clasă d) se protejează o singură proprietate
L b) se crează clasa de obiecte "Cl" e) se protejează o singură metodă
c) se defineşte o variabilă de memorie de tip obiect
d) se referă o metodă 5. Se dă secvenţa de program: o l =CREATEOBJECT ("C")
e) se referă o proprietate mloc = o l.loc
ol.P ()
&&STOP
3. Se dă secvenţa de program: DEFINE CLASS C2 AS CI
Care afirmaţii sunt adevărate?
'-- Str=""
a) se transmit mesaje către un obiect
PROCEDURE 82
b) se apelează comanda "STOP"
CI:: pl
c) se defineşte o proprietate
WAIT WINDOW "STOP"
d) se crează o clasă de obiecte
ENDPROC
e) se apelează o metodă
ENDDEFINE
L.. Se consideră definite anterior toate elementele necesare.
6. În Visual FoxPro clasele de bază (standard) sunt:
Care afirmaţii sunt adevărate?
a) utilizator
a) de definesc două clase: "Cl" şi "C2" /
...... b) vizuale -··
b) se apelează procedura "p2"
c) metode
c) se ~efineşte o subclasă
d) nonvizuale
.__. d) se apelează o m~todă
e) funcţii
e) se definesc două proprietăţi

4. Se dă secvenţa de program: DEFINE CLASS C AS CI 7. Se dă secvenţa de program: DEFINE CLASS CI AS from


'-'
PROTECTloc left = 22
loc="" top =22
str="" height = 200
...._
tiploc =0 width = 240
PROCEDURE PROTECT p =
caption "Răsfoire"

- ? THIS.Ioc
ENDPROC
PROCEDURE sf

278 279
'-'
~.

CLEAR EVENTS d) definirea domeniului pentru atribute


ENDPROC e) definirea tipului pentru atribut ,....
ENDDEFINE
Care afirmatii sunt adevărate? 4. Comanda:
a) se defineşte clasă pe nume.le ''from"
b) se defineşte o subclasă utilizator
SELECT Iocb, avg(cantl) FROM caddid GROUP BY locb HA VING
avg(cantl)> 100
-
c) se utilizează o superclasă de bază (standard) a) foloseşte o funcţie de agregată
d) se realizează o răsfoire a bazei de date b) foloseşte doi operatori ~

e) se indică, prin proprietăţi, dimensiunea unei ferestre c) grupează tuplurile provenite din tabela Iocb
d) regăseşte date diritr-o tabelă'
e) afişează trei coloane ........
g) Programarea În SQL
5. Comanda
1. Comanda: SELECT p.denp, c.cantl FROM prod p, contr c WHERE c.codp=p.codp
1'""'1

SELECT denp+ump produse FROM prod simulează opearorii relaţionali:


a) foloseşte o funcţie a) reuniunea
1"'-\
b) foloseşte o etichetă b) joncţiunea
c) foloseşte un operator c) selecţia
d) are o clauză d) concatenarea
e) realizează o actualizare e) intersecţia

2. Comanda: 6. Comanda următoare este eronată pentru că: ·•··


SELECT MAX(denp), COUNT(*) contor FROM prod WHERE SELECT * FROM contr c WHERE 2 = (SELECT codp FROM produs
ump='buc' ' p)
1 1

a) foloseşte o funcţie a) are referirea * ,.......


b) este eronată pentru că MAX nu se aplică pe caractere b) are referirea produs p
c) afişează două coloane c) are clauza WHERE În loc de FOR
d) afişează trei coloane d) are subcerere .....,
e) regăseşte tupluri din tabela contor e) nu are nicio funcţie

3. Comanda CREATE TABLE permite: t""-1


a) Încărcarea datelor într-o tabelă
b) actualizarea structuri de date a unei tabele
c) definirea restricţiilor de integritate ....,

280 281
-..
L_.

7. Comanda unnătoare: ţ RĂSPUNSURI


1..1 •'·
INSERT INTO prod SETcodp = 22 WHERE denp ='ecran'
a) Descrierea datelor
a) adaugă un tuplu Între două existente
1: a, e; 2: e; 3: b, c; 4: a, b, c, d; 5: e; 6: b; 7: c; 8: b, d; 9: a, c, d;
b) este greşită pentru că are clauza SET
'-- 10: a; ll: nici un răspuns corect; 12: a, b, e; 13: b, d; 14: a, b, c, d, e;
c) este greşită pentru că. are clauza INTO
15: a, c, d; 16: b, c, d; 17: a; 18: a, b, d.
d) adaugă un tuplu În tabela codp
........ e) este greşită pentru că are clau1..a WHERE b) ~ccesulla date
1: b, c, d, e; 2: e; 3: a, b; 4: a, b; 5: d, e; 6: d, e; 7: b; 8:c; 9: a, b,
8. Comanda: c,d;'
...... DELE ALL FROM prod 10: a, b, c; li: c; 12: a, b, c, d; }j; c; 14: a, b, c; 15: a,b; 16: a, b, c,
a) şterge toate tuplurile din tabela prod d, e; 17: d; 18: c; 19: a; 20: e; 21: e; 22: a, e; 23: c; 24: d, e; 25:
b) este eronată pentru că are clauza ALL e; 26: a, b, d; 27: nici un răspuns corect; 28: c, e; 29: b; 30: b, c, d;
'-- c) este o comandă de actualizare 31: b, c; 32: b, c, d; 33: a, b.
d) este eronată pentru că nu există comanda DELE
e) este eronată pentru că nu trebuie indicat numele tabelei c) Actualizarea datelor
_, 1: a, b, c, e; 2: a; 3:b, c; 4: a; 5: a, b; 6: a, c, d, e; 7: b, e; 8: a, b; 9:
9. Comanda: a; 10: a, b; Jl: a, b, c, d, e; 12: a; 13: a, e; 14: b, c; 15: d, e; 16: b;
UPDATE contr SET cantl = 200 WHERE codp = 22 17: a, b, d; 18: e.
"-' a) modifică toate tuplurile dintr-o tabelă
d) Structuri de program
b) actualizează toate atributele dintr-o tabelă
1: b; 2: a; 3: a; 4: b; 5: a; 6: c, d, e; 7: d; 8: a, g, d; 9: c, e; 10:
c) modifică doar anumite tupluri din tabelă
....... nici una;
d) actualizează tabela cantl
ll: d; 12: b; 13: d; 14: a; 15: nici un răspuns corect; /6: .c; 17: c;
e) actualizează un singur atribut din tabelă
18: e; 19: nici un răspuns corect; 20: c, e; 21: d; 22: d; 23: a; 24: b:
1
25: c; 26: a; 27: b, c;
1O. Secvenţa de comenzi are ca rezultat:
28: e; 29: b; 30: d; 31: a; 32: b, e; 33: d; 34: a; 35: e; 36: a; 37:.
CREATE VIEW vl AS SELECT denp FROM prod WHERE ump =
c; 38: c;
._. 'buc'
39: e; 40: nici un răspuns corect.
USEvl
LIST e) Tehnici de programare
........ a) definirea unei tabele virtuale 1: a, b; 2: b, e; 3: b, d; 4: a, e; 5: a, b, c, d; 6: b, e; 7: a, b, c; 8: nici
b) lucrul cu o viziune un r~puns corect; 9: c; 10:b,c; Jl:e; 12:b; 13:a,b,c,d,e; 14: a;
c) afişarea datelor din tabela prod 15: c, e; 16: c, d;
1.-J d) afişarea datelor dintr-o tabelă virtuală J7:niciunrăspunscorect; 18:d,e; 19:c,e; 20:a,e; 21:a; 22:c,e.
e) deschiderea unei tabele virtuale

282 283
,...,
f) Programarea orientată obiect 2. Să
se creeze BD de desfacere - DESF, cu tabelele PROD, BENI,
1: b. c, e; 2: a, c, e; 3: c; d; 4: d, e; 5: a, e; 6: b, d; 7: b, c, e. CONTR conform structurii din Introducere. Să se afişeze după fiecare
~
creare de tabelă structura.
g) Programarea În SQL CREATE DATABASE desf
J:b,c,d; 2:a,c; J:c,d,e; 4:a,d; ·s:b,c; 6:d; 7:b,e; B:b,c; 9: CREATEprod ~.

c . e ; 10: a, b, d, e DISPSTRU
CREATEbeni
DISPSTRU
Probleme CREATE contr
DISPSTRU
Problemele prezentate acoperă majoritatea facilităţilor oferite de limbajul de ,.-.,

programare din VFP, inclusiv extensiile sale, similar cu cele după care au 3. Să se actualizeze structura de date a tabelei PROD în sensul adăugării
fost grupate testele de mai sus: unui câmp nou denumit VACS ca şir de caractere, de lungime 5.
a) descrierea datelor; USE prod ,......
b) accesul Ia date; MODISTRU
c) actualizarea datelor; DISPSTRU
d) stmcturile de program; .-.,

e) alte tehnici de programare;


!) programarea orientată obiect; b) Accesul la date
g) programarea în SQL
1. Să se indexeze tabela BENI după o cheie formată din dguă câmpuri: codb
şi denb. Nu se admit valori multiple pentru cheie. ___ ,. .. · .
a) Descrierea datelor
USE beni
l . Pomind de 1~ tabela de contracte - CONTR să se scrie programul care LIST
1

creează o nouă tabelă CON 1 cu aceeaşi structură. Aceasta care va contine INDEX ON STR(codb,4)+denb TO il UNIQUE
contractele ce vor avea termenul de livrare în luna februarie a anului LIST ""'"'
curent.
CLOSEALL
USE contr
2. Să
se afişeze din tabela CONTR cantităţile pentru contractele al căror
termen de livrare este anul curentă. -
COPY STRU TO conl USE contr
USE conl LIST cantl FOR YEAR(termeni)=YEAR (DATE()) ANO; ,...,
APPE FROM contr FOR MONTH(termenl)==2 ANO YEAR(termenl)==YEAR(DATE())
YEAR(tcrmenl)=YEAR(DATEO)
.-.,

284 285
!""'\

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