Download - Curs 2 SGBD
-
7/25/2019 Curs 2 SGBD
1/23
1. Mediul de dezvoltare FoxPro
Sistemul de gestiune a bazelor de date este componenta unui sistem de baze de
date, care are rolul de a permite descrierea i manipularea datelor conform unui model
de date. La acest moment, n lume, cea mai mare parte a SGBD-urilor utilizate sunt
bazate pe modelul relaional.Visual o!"ro este un SGBD complet relaional, cu limba# propriu, care
suport$ un nucleu e!tins din limba#ul relaional S%L &Structured %uer' Language(.
)ai #os sunt prezentate *ersiuni ale lui o!"ro +Visual de-a lungul timpului
n dez*oltarea sa, i adaptarea la cerinele momentului.
1.1 Versiuni FoxPro Visual
CURS
Componente
funcionale alesistemului
2
Sumar
Mediul de dezvoltare FoxPro Modurile de lucru n Visual FoxPro Dezvoltarea unei aplicaii Tipuri de aplicaii
Lucrare aplicativ propus spre rezolvare
-
7/25/2019 Curs 2 SGBD
2/23
urs / 0 SGBD / )ircea )usan
-
7/25/2019 Curs 2 SGBD
3/23
urs / 0 SGBD 1 )ircea )usan
)ai sunt i alte *ersiuni ultim ap$rute, 22Visual o!"ro 3.455, aceasta
nef$c6nd parte dintr-un pac7et de aplicaii, fiind de sine st$t$toare.
Varianta +Visual de o!"ro &V"( studiat$ n acest curs este *ersiunea 8.4
lansat$ n 933: n cadrul pac7etului de programe Visual Studio 8.4. V" este un
sistem rapid, modularizat, fle!ibil, care nu necesit$ resurse de calcul foarte mari,
mbin$ programarea procedural$ &prin limba# propriu( cu cea descripti*$, pe obiecte
&programare *izual$(.
;tilizatorii neinformaticieni au la dispoziie o gam$ larg$ de generatoare
pentru ecrane, meniuri, rapoarte etc. ;tilizatorii de specialitate &informaticieni( pot
dez*olta programe n limba# propriu i n S%L, aplicaii &prin componentele
D
-
7/25/2019 Curs 2 SGBD
4/23
urs / 0 SGBD )ircea )usan
?
-
7/25/2019 Curs 2 SGBD
5/23
urs / 0 SGBD O )ircea )usan
E ;A=L=A@?< de ntreinere 0 permit gestiunea fiierelor, setarea unor
parametri de lucru, acti*it$i desf$urate de administratorul bazei de date.
E D
-
7/25/2019 Curs 2 SGBD
6/23
urs / 0 SGBD 8 )ircea )usan
ig. /
9 Ebara de titlupe care este scris +)icrosoft Visual o!"ro &n st6nga(
i butoanele pentru minimizareHma!imizare i nc7idere fereastr$ &dreapta(.
/ Ebara meniului sistemcare conine un meniu orizontal cu opiunile de
lucru &modul de lucru meniu sistem(Cile,
-
7/25/2019 Curs 2 SGBD
7/23
urs / 0 SGBD R )ircea )usan
&creare unui *ideoformat(, -eort&creare raport(, /a(el&creare etic7et$(, Prora#
&creare program surs$(, ,lass &creare clas$ de obiecte(, )ext ile&creare fiier te!t
@S==(, Menu&creare meniu utilizator(. n partea dreapt$ e!ist$ dou$ butoane, pentru
creare fiier nou &Ne%( i pentru utilizarea asistentului &izard(.
en&desc7ide( 0apare o fereastr$ din care alegem tipul fiierului,
directorul i numele, cu opiunile >eQ, pen, ancel.
,lose0 nc7ide fiierul desc7is.
3ave43ave As0 sal*are, respecti* sal*are cu redenumire.
I#ort45xort0 permite importul respecti* e!portul de date cu
alte sisteme de gestiune a bazelor de date.
Print Previe%0 *izualizare nainte de ieire la imprimant$.
Print0 ieire la imprimant$.
3end0 trimite prin e-mail.
5xit0 ieire din program.
ig. 1
- Edit0 ofer$ facilit$i de lucru obinuite ntr-o fereastr$ de editare de te!te &fig. (C
ndo4-edo0 renu$ la ultima modificare n te!t H repet$ ultima
aciune n te!t.
,ut4,o+4Paste0 t$iere, memorare n memoria tampon, copiere la
o nou$ locaie n fiier a unui te!t.
,lear0 tergere te!t.
3elect all0 selecteaz$ ntreg te!tul.
Find4Find aain4-elace0 caut$Hcaut$ n continuare a unui ir de
caractereHnlocuiete irul g$sit cu un altul. $utarea se poate facecu acti*areaHdezacti*area opiunii de difereniere ntre litere
mariHlitere mici.
ig.
- Vie%0 permite setarea unor parametri pri*ind bara curent$ de instrumente de lucru.
- For#at0 permite setarea unor parametri pri*ind litele &ont(, spaierea etc.
- )ools0 permite apelul interfeelor i instrumentelor V".
- Prora#0 permite lansarea sau oprirea unuia din paii ce se parcurg la e!ecuiaunui program V" &fig. O(. ig. O
-
7/25/2019 Curs 2 SGBD
8/23
urs / 0 SGBD : )ircea )usan
'o0 lanseaz$ n e!ecuie un program.
,ancel0 anuleaz$ e!ecuia programului.
-esu#e0 reia e!ecuia programului.
3usend0 suspend$ e!ecuia programului.
,o#ile0 compileaz$ programul.
indo%0 permite setarea parametrilor ferestrei curente de lucru &inclusi* fereastra
de comand$(.
7el0 apeleaz$ instrumentele pentru autodocumentare.
Datele pot fi introduse n dou$ moduri, utiliz6nd fie tabele independente
&ileH>eQHAable( care nu aparin unei baze de date, fie cre6nd o baz$ de date
&ileH>eQHDatabase(, n care se pot introduce tabele e!istente sau se pot crea noi
tabele.
?elaiile ntre tabele se pot stabili n ambele cazuri.
ntre datele unor tabeleC 9T9, 9Tn, mTn.
Desc7iderea unui tabel indi*idual, cu sec*ena FileHenH)a(leHnume_tabelnu
duce automat la afiarea coninutului acestuia n spaiul de lucru.
"entru aceasta trebuie acti*at icon-ul care corespunde opiunii 'ata 3ession, care
*a afia ntr-o fereastr$ o serie de opiuni legate de tabel &fig. 8(C
Proerties0 pentru modificareHconsultare structur$ tabel &nume,tip, poziie c6mp(.
8ro%se0 pentru afiare dateHnume c6mpuri.
en0 pentru desc7idere altor tabele.
,lose0 nc7idere fiier selectat.
-elation0 stabilirea relaiilor ntre tabele independente, desc7ise n sesiunea curent$.
ig. 8 ig.R
-
7/25/2019 Curs 2 SGBD
9/23
urs / 0 SGBD 3 )ircea )usan
La alegerea opiunii 8ro%se &r$sfoire(, fie din meniul Vie% fie din fereastra 'ata
3ession, *a apare meniul )a(len bara de meniuri cu urm$toarele subopiuni &fig. R(C
9o to -ecord0 reg$sirea unei nregistr$ri dup$ diferii parametriC num$r nregistrare,
deplasare la nceputulHsf6ritul tabelului, localizare nregistrare dup$ *aloarea unui
c6mp etc.
Aend Ne% -ecord0 ad$garea unei noi nregistr$ri.
Aend -ecords0 ad$ugarea de noi nregistr$ri dintr-un alt fiier
'elete -ecords0 marcare pentru tergere &la ni*el logic(.
-ecall -ecords0 anularea marc$rii pentru tergere.
-e#ove 'eleted -ecords0 tergerea definiti*$ din tabel a nregistr$rilor marcate &la
ni*el fizic(.
-elace Field0 actualizare c6mp nregistrare &sc7imbarea *alorii c6mpului(.
3ize Field0 modificarea l$imii de afiare a c6mpului n broQser.
Move Field0 sc7imbarea poziiei de afiare a c6mpului n broQser.
n cazul n care se construiete o aplicaie n care *or fi folosite o gam$ larg$ de
obiecte din V", &baze de date, tabele independente, cereri, *ideoformate, rapoarte,
etic7ete, programe surs$, clase de obiecte, meniuri utilizator, iconu-uri etc.( se *a
construi un proiect &"ro#ect(, n seciunile c$ruia se pot declara aceste obiecte &fig.
:(. ntreg proiectul se *a finaliza ntr-un program e!ecutabil care *a conine toate
obiectele declarate ca fiind utilizate n aplicaie. "entru a realiza proiectul n form$
e!ecutabil$, n prealabil se folosete opiunea 8uild, pentru a realiza compilarea i
lin-editarea.
ig. :
-
7/25/2019 Curs 2 SGBD
10/23
urs / 0 SGBD 94 )ircea )usan
".2 Prora#area $n FoxPro
n Visual o!"ro se poate scrie cod n trei locuriC fereastra de comenzi,
procedurile de e*eniment, sau programele distincte.
a: ereastra de co#enzi
n fereastra de comenzi putem scrie cod fie pentru a lansa programe de
asisten$, fie pentru setarea n sesiunea respecti*$ a mediului, fie pentru a obine
sec*ene de instruciuni pe care dorim s$ le test$m. @cti*itatea n acest mod de lucru
se desf$oar$ n fereastra de comand$ din ecranul principal al V" &,o##and(. @ici
se g$sete poziionat cursorul i utilizatorul poate lucra n stil interpretor sau
compilator.
(: rora#e distincte
=ntrarea n modul programat structurat se poate face din fereastra de comand$C
)D=F ))@>D UU se intr$ n editorul de te!te al aplicaiei
Sau folosindu-se mediul interacti*e de intrare.
;n program n V" nu are o structur$, ci se prezint$ ca un te!t memorat pe
unul sau mai multe fiiere cu e!tensia .r. rice fiier de acest fel poate fi compilat
independent i poate fi e!ecutat. ompilarea se poate face prin meniul "rogram, iar
e!ecuia prin comanda do numeNfisierNprogram sau prin butonul . ormele
compilate ale programelor au e!tensia .xi compilarea este automat$ in6nd seama
de data ultimei modific$ri. Ae!tul programului surs$ nu e casesensiti*e. Scrierea se
face c6te o linie pe r6nd, n cazul n care o linie de te!t nu e suficient$ se utilizeaz$
caracterul W.
omentariile se folosesc pentru a indica nceputul unei linii nee!ecutabile n
program. Sunt admise pentru comentariiC
- caracterul X plasat la nceputul liniei *a ntregul r6ndW
- caracterele UU pentru comentarii pe acelai r6nd, cu cel puin un spaiu de
demarcare fa$ de te!tul propriu-zisW
- cu*6ntul rezer*at >A
-
7/25/2019 Curs 2 SGBD
11/23
urs / 0 SGBD 99 )ircea )usan
;n program are o parte de setare a mediului la momentul e!ecuiei.
peste 944 de astfel de instruciuni de forma SET optiune ON|OFFsau SET optiune TO
expresie.
ExempluC S
-
7/25/2019 Curs 2 SGBD
12/23
urs / 0 SGBD 9/ )ircea )usan
- e*ideniere reprezint$ perec7ea de culori utilizat$ pentru afia#ul *ideo-
in*ersW
- c7enar specific$ culoarea utilizat$ pentru ferestre, dialoguri i zone
e*ideniate.
- perec7ea de coduri de culori este de forma !!H!!, unde primul cod este
culoarea pentru caracterele @S==, iar al doilea pentru fundal.
- codurile de culori sunt C > &negru(, K &negru intens(, B &albastru(, G
&*erde(, Bg &c'an(, ? &rou(, Br &magenta(, Gr &maro(, I &alb(, etc.
S
-
7/25/2019 Curs 2 SGBD
13/23
urs / 0 SGBD 91 )ircea )usan
&zHlHa(, german &z.l.a(, italian &z-l-a(, #apan &aHlHz(, usa &l-z-a(, md' &lHzHa(, dm'
&zHlHa(, 'md &aHlHz(. =mplicit este cel american.
S
-
7/25/2019 Curs 2 SGBD
14/23
urs / 0 SGBD 9 )ircea )usan
SA=> nr A irNcaractere
- permite modificarea operaiilor ataate tastelor funcionale.
SAS=AF >H
- determin$ afiarea n mod *ideo-in*ersW implicit este .
S A nr
- se permite modificarea marginii din st6nga a te!telor imprimate.
- implicit are *aloarea 4W
- nu se afecteaz$ rapoartele create cu generatorul de rapoarte.
S
-
7/25/2019 Curs 2 SGBD
15/23
urs / 0 SGBD 9O )ircea )usan
A e!prNnumeric$
- permite controlul senziti*it$ii mouse-ului.
- e!prNnumeric$ reprezint$ senziti*itatea ce poate lua *alori ntre 9 &cea mai
#oas$ senziti*itate( i 94 &cea mai mare senziti*itate(.
S]
- n cazul e!ecut$rii f$r$ succes a unei comenzi =>D sau S
-
7/25/2019 Curs 2 SGBD
16/23
urs / 0 SGBD 98 )ircea )usan
n o!"ro o aplicaie comport$ o serie de elemente componente cum suntC
- una sau mai multe baze de date
- unul sau mai multe programe, din care unul este principal
- obiecte de interfa$ cum ar fiC meniuri, formulare cu obiecte, etc.
Aoate componentele se prezint$ ca fiiere de diferite tipuri, astfel nc6t o
aplicaie este o mulime de fiiere. "entru o aplicaie este necesar s$ se defineasc$ un
director cel puin &o structur$ de directoare(, iar fiierele trebuie organizate ca proiect,
ntr-un fiier de proiect cu e!tensia .&x. Directorul numit director cadru &rameQor
Director'( se construiete cu a#utorul sistemului de operare &de e!. IindoQs
@plicaiile sub form$ de proiect pot fi dez*oltate prin intermediul unui
program special oferit de mediu i numit "ro#ect )anager. @cest fiier, lansat n
e!ecuie, gestioneaz$ fiierul .&xi organizeaz$ fiierele componente ale proiectului
n structuri arborescente. omponentele sunt mp$rite n categorii, fiecare categorie
a*6nd un arbore de structur$. ategoriile suntC
Data
- Databases &baze de date(
- Aables &tabele(
- VieQs &vizualizri(
- ursors &tabele cursor alias(
- ree Aables &tabele libere(
- %ueries &cereri intero!ri(
Documents
- orm &ecrane formulare(
- ?eports &rapoarte(
- Labels &etic"ete(
lass Libraries &librrii de clase(
ode
- "rograms &pro!rame(
- @"= Libraries &biblioteci #$%(
- @pplications &aplica&ii(
t7ers
-
7/25/2019 Curs 2 SGBD
17/23
urs / 0 SGBD 9R )ircea )usan
- )enus &meniuri(
- Ae!t iles &fiiere text(
)ai #os sunt prezentate c6te*a dintre tipurile de fiiere folosite de Visual
o!"ro pentru dez*oltarea de aplicaiiC
-
7/25/2019 Curs 2 SGBD
18/23
urs / 0 SGBD 9: )ircea )usan
-
7/25/2019 Curs 2 SGBD
19/23
urs / 0 SGBD 93 )ircea )usan
-
7/25/2019 Curs 2 SGBD
20/23
urs / 0 SGBD /4 )ircea )usan
b( Alica!ii cu control rin eveni#ent0 n aceste caz aplicaia are un comportament
aleatoriu care rezult$ din modul n care ea r$spunde la e*enimentele create de
utilizator sau de sistemul nsui. n aceast$ aplicaie interfaa este una grafic$
constituit$ din obiecte *izuale capabile s$ r$spund$ la e*enimente prin proceduri de
tratare. n cadrul acestor aplicaii programatorul definete e*enimentele semnificati*e,
i pentru acestea ataeaz$ la obiectele de interfa$ procedurile de tratare. rice alt
e*eniment are o tratare implicit$ prin sistemul de e!ecuie. Din punct de *edere
structural, o aplicaie de acest gen se concepe ca o mulime de obiecte *izuale
&meniuri, formulare cu controale, etc.( i trebuie s$ aib$ un program principal care s$
iniieze e!ecuia i s$ menin$ bucla de mesa#e a aplicaiei.
* cod ptr. programul main.prg
do MainMenu.mpr && se afiseaza meniul
* alt cod de initializare
read events && bucla interna pentru evenimente
* cod de incheiere (curatire)
Dac$ aplicaia nu are meniu, ea poate fi condus$ prin casete de dialog. Arebuie s$
e!iste o caset$ principal$ care s$ fie lansat$ n programul principal n formaC do
MainForm.frm.
-
7/25/2019 Curs 2 SGBD
21/23
urs / 0 SGBD /9 )ircea )usan
Pasul 2.
Vom construi un formular cu numele Aenda.scx.
"entru introducerea obiectului rid*om accesa urm$toareleC
i
-
7/25/2019 Curs 2 SGBD
22/23
urs / 0 SGBD // )ircea )usan
Butonul AdauareC
Butonul 3terereC
select agenda
delete next 1
thisform.grid1.setfocus()
Butonul /istareC
report form agenda preview
Butonul IesireCthisform.release()
uit
Pasul ".
Se *a construi raportul cu numele Aenda.rx folosindu-se modul interactic prin
folosirea programelor de asisten$ special create pentru dez*oltarea rapoartelor, File
Ne% -eort izard .
Pasul ;.
Se *a construi o aplicaie &un proiect(, a*6nd numele Aenda.&x. Structura &7arta(
acesteia este descris$ mai #os.
-
7/25/2019 Curs 2 SGBD
23/23
urs / 0 SGBD /1 )ircea )usan
Dup$ cum se *ede, e!ist$ i un program Aenda.r, care *a fi setat ca
principal n rulare. oninutul acestuia esteC
do form agenda
read events
n cele din urm$ se *a construi o aplicaie e!ecutabil$, Aenda.exe,
, ce *a putea fi lansat$ n e!ecuie nmod independent de desc7iderea prealabil$ a aplicaiei Visual o!"ro.