Sunteți pe pagina 1din 21

Capitolul 1

INTRODUCERE
Tema proiectului const n proiectarea unui sistem informatic util pentru o
unitate colar liceal. Aceasta presupune crearea unui pachet de programe pentru
uurarea muncii de colectare, prelucrare si transmitere de date n cadrul unui liceu.
Realizarea acestei aplicaii reduce timpii de efectuare a funciilor amintite mai sus i
uureaz manipularea datelor prin intermediul unei interfee uor de nvat i de
folosit.
Aplicaia este realizat n SGBD FoxPro 2.6 pentru Windows, care ofer
posibilitatea de a realiza programe sub Windows ntr-o manier clasic, ct i folosind
modul grafic de lucru al Windows-ului, sau facilitaile acestui sistem, printre care cele
mai importante sunt controlul centralizat al perifericelor, comunicarea ntre aplicaii,
facilitai deosebite n afiarea pe ecran de texte i imagini.
Pachetul de programe trebuia s ofere i o parte de software de reea, dar, n
lipsa unei reele specializate, voi prezenta o versiune demo a programului, care ar
putea totui fi utilizat pe stai, i separate n fiecare secretariat dar fiind in
imposibilitatea folosirii sistemelor de comunicaie. Soft-ul de faa este realizat pentru
a putea fi folosit n cadrul oricrui secretariat de liceu care are n componen
profiluri diferite pe ani de studiu i forme de organizare (zi, seral, etc). n capitolele
viitoare voi ncerca i proiectarea unei reele pentru ca, n viitor, n cazul realizrii
acesteia, soft-ul s poat fi modificat i implementat pentru a fi utilizat n scopurile
pentru care a fost creat.
n general, realizarea unei aplicaii soft presupune parcurgerea urmtoarelor
etape:
- analiza problemei const n identificarea cerinelor pe care trebuie sa le
satisfaca aplicaia, a problemelor pe care trebuie s le rezolve aceasta;
- proiectarea aplicaiei: innd cont de concluziile rezultate din faza de analiz,
se stabilete schema bloc a aplicaiei (bazele de date n care vor fi stocate datele,
organizarea programelor de prelucrare a datelor, modul de prezentare a informaiilor,
etc.);
- realizarea propriuzis a aplicaiei: const n creearea bazelor de date i a
programelor;
- testarea aplicaiei.
Modificarea soft-ului pentru utilizarea separat n diferite licee se poate realiza
prin reintroducerea planului de nvaamnt prin intermediul submeniului
PROFILURI ce va fi prezentat n urmatoarele capitole, sau prin modificarea
programelor surs, a meniurilor sau ecranelor de ctre un analist programator.
-1-

Soft-ul ce va fi prezentat n paginile urmtoare este creat pentru a mrii


posibilitatea de a oferi date folositoare n timp util. n linii mari, soft-ul de fa ofer
urmtoarele faciliti:
- date referitoare la structura anului colar
- organizarea pe profiluri/clase pentru toate clasele IX-XII
- o eviden a personalului (didactic, tesa etc)
- culegerea de date despre elevii
date iniiale (la admiterea n liceu)
date pe parcurs evidena situaiei la nvatur pe clase i ani de
studii
evidena elevilor bursiei (merit+sociale)
- afiarea datelor pentru elevii in formatul introdus mai sus
- posibiliatea oferirii, la cerere, a unor acte referitoare la personal sau situaia
elevilor.
Toate aceste faciliti pot fi utilizate rapid datorit modului de realizare al
aplicaiei. Am ncercat s reduc la minimum folosirea tastaturii prin utilizarea unor
obiecte de control, cu ajutorul crora conversaia utilizator-sitem informatic a
devenit placuta, eficient i comod. Acestea pot fi accesate cu ajutorul tastaturii sau
al mouse-ului, pentru o selectare rapid a opiunilor afiate pe ecran cu ajutorul
obiectelor de control.
Aceste obiecte de control sunt elemente ale interfeei sistemului informatic prin
care utilizatorul comunic sistemului opiunile sale. Obiectele de control folosite n
realizarea aplicaiei de fa sunt: lista, comutatorul, declanatorul, butoanele radio,
zonele de editare, etc.
Aplicaia a fost realizat innd seama de noua structur a anului colar respectnduse pentru fiecare form de organizare (zi,seral,profesional,complementar-de ucenici)
tipul de catalog ce va fi asociat fiecrui elev, astfel c pentru fiecare form de
organizare avem :
Forma de organizare
Structura
Zi
IX,X,XI,XII
Seral
IX,X,XI,XII,XIII
Profesional
IX,X,XI
Complementar
IX,X
iar catalogul asociat unui elev, respectnd forma de organizare a studiilor arat astfel:
Anul
de
studii

Clasa

Semestrul

Obiect
nume 1

Obiect
medie1

-2-

Obiect
nume
16

Obiect
medie
16

Purtare

Media
generala

Absene

cu specificaia c n funcie de forma de organizare vor fi adugai ani de studiu


conform structurii pe ani corespunztori .
Modul n care sunt alese obiectele de studiu i profilul sunt organizate ntr-o
baz de date unde, pe clase i ani de studiu, sunt toate datele necesare profilului
respectiv, profil pe baza cruia vor rezulta, coraborate cu alte baze de date, cataloagele
pentru fiecare elev.
Odat introduse datele pe profile i clase se introduc ntr-o alt baz de date
date despre personalul colii (didactic sau auxiliar,tesa) care mpreun cu baza pentru
profile vor constitui cataloagele fiecrui elev n parte. Mediile anuale, generale/an etc
cu referire la catalog sunt gestionate automat, astfel c n orice moment se poate
cunoate situaia corigenelor pentru un anumit an, semestru, elevii bursieri ( burse de
merit ), sau se poate lista un raport, n orice moment, cu foaia matricol a fiecrui
elev, foaie matricol care poate fi parial (necesar elevului atunci cnd se mut
dintr-o unitate colar n alta) sau final atunci cnd este absolvent de liceu.
Alte acte ce mai pot fi oferite sunt:
-adeverin elev
-adeverin pentru personal:
cu vechimea n unitate
cu salariul
-lista cu personalul unitii
-lista cu elevii pe clase
-list cu bursierii (merit sau sociale )
-list cu elevii corigeni
Mai putem vizualiza data i ora curent, alegnd din meniul Informaii
opiunea dorit.

-3-

Capitolul 2
ANALIZA DE SISTEM
2.1. STRUCTURA HARDWARE
n cele ce urmeaz voi ncerca prezentarea unui tip de reea optim pentru
folosirea aplicaiei software a carei realizare va fi prezentata n capitolele urmtoare.
Pentru aceasta alegem ca scop realizarea unei retele locale (Local Area Network ).
Acest tip de reea este denumit n general LAN, este o reea privat localizat ntr-o
singur cldire sau ntre cldiri pe o lungime de cel mult civa kilometri. Ele sunt
frecvent utilizate pentru a conecta calculatoarele personale i staiile de lucru din
diferite birouri, n scopul de a partaja resurse (imprimante, de exemplu) i de a
schimba informaii.
LAN-urile au dimensiuni restrnse, ceea ce nseamn c tipul de transmisie n
cazul cel mai defavorabil este limitat i cunoscut dinainte. Cunoscnd aceast limit,
este posibil s utilizm anumite tehnici de proiectare care altfel nu ar fi posibile.
Totodat, se simplific administrarea reelei.
LAN-urile utilizeaz frecvent o tehnologie de transmisie care const dintr-un
singur cablu la care sunt ataate toate mainile. Ele funcioneaz la viteze cuprinse
ntre 10 i 100Mbps, au ntrzieri foarte mici (zeci de microsecunde) i produc erori
foarte puine.
Ne propunem proiectarea unei reele de tip magistral cu urmtoarea form:

SERVER
CENTRAL

Depatamentul de
CONDUCERE

Depatamentul
CONTABIL

Depatamentul de
SECRETARIAT

-4-

ALTE
DEPARTAMENTE

Pentru a funciona ntr-o reea, calculatorul trebuie s fie capabil s neleag i


s administreze protocolalele acelei reele. Aa cum pentru funcionarea unui
calculator este necesar un sistem de operare, prin care coopereaz elementele sale
componente, la fel i pentru administrarea comunicaiilor n cadrul unei reele de
calculatoare este nevoie de un sistem de operare. Sistemul de operare reea este
repartizat pe toate calculatoarele din reea i utilizeaz, ca orice aplicaie sistemul de
operare al fiecrui calculator.
Modelul de referin OSI este constituit din apte niveluri numerotate, n ordine
cersctoare de jos n sus i numite: fizic, legtur de date, transport, sesiune,
prezentare, aplicaie.
Sistem deschis
Aplicatie
Prezentare
Sesiune
Transport
Retea
Legatura de date
Fizic

Sistem deschis
1
2
3
4
5
6
7

1
2
3
4
5
6
7

Protocoale ntre
entiti omoloage

Suport fizic OSI


a) nivelul fizic-mediul de comunicaie (cablul)
b) nivelul legturii de date- transformarea unui mediu de transmisie ntr-o linie de
comunicaie; structurarea informaiilor n pachete mici pentru a furniza o linie
de comunicaie; gestionarea cadrelor de confirmare; rezolvarea problemei
cadrelor duplicate; evitarea inundrii
c) nivelul reea-dirijarea pachetelor; controlul congestiilor; tarifarea traficului;
interconectarea ntre reele
d) nivelul transport- asigurarea unui canal de comunicaie ntre surs i destinaie;
multiplexare canale; tipul de canal (cu conexiune, far conexiune ), stabilire
conexiune; controlul fluxului
e) nivelul sesiune-stabilire conexiune de tip sesiune de lucru ntre doi utilizatori;
sincronizare
f) nivel de prezentare- se ocup de reprezentarea informaiei transferate ntre
entitile de aplicaie
g) nivel aplicaie- servicii cu valoare pentru utilizator.

-5-

Deoarece n reelele locale suportul fizic este utilizat n comun de ctre mai
multe calculatore, este nevoie de o metod de acces pentru a prentmpina i
rezolva situaiile n care mai muli utilizatori au acces simultan la mediul de
transmisie. n plus, n multe dintre reelele locale, informaia transmis de un
utilizator poate fi recepionat de ctre toi ceilali, dei ea este destinat unui
anumit utilizator.
Standardele IEEE 802 corespund unei implementri particulare ale nivelurilor
fizic i legtur de date ale modelului OSI, celelalte niveluri ramnnd la fel cu
cele din modelul OSI.
Aceste dou niveluri au fost restructurate innd seama de specificul reelelor
locale. n fapt, nivelurile inferioare trebuie s asigure urmtoarele funciuni i
deziderate:
-interfaa cu suportul fizic de transmisie, care poate permite debite mari
(1100Mbps ) i care necesit msuri corespunztoare;
-nivelul legturii de date, prin protocolul su, s nu reduc debitul efectiv i s
fie adaptat conexiunilor multipunct;
-metoda de acces la suportul de transmisie;
-interfaa cu utilizatorul sau cu alte reele.
Nivelul legturii de date din modelul de referin a fost divizat n dou
subniveluri aa cum arat standardul IEEE 802:
-un subnivel relativ la controlul accesului la mediu (MAC-Medium Acces
Control );
-un subnivel independent de metoda de acces, cu rolul de a controla legtura de
date, numit controlul legturii logice (LLC-Logical Link Control).
Arhitectura unei reele locale este definit de dou componente:
-topologie, caracteriznd configuraia cilor de transmisie ntre sistemele
interconectate;
-repartizarea funciilor protocolului de comunicaii, n particular toate sistemele
ndeplinind aceleai funciuni sau unul avnd rolul de coordonator i celelalte fiind
subordonate.
Reelele locale cu topologie liniar (bus ) funcioneaz ca o linie de comunicaie
multipunct fiecare racord corespunde unui sistem ce reprezint fie o resurs comun
partajabil de ctre alte sisteme, fie un utilizator al reelei.
n ciuda dificultiilor cauzate de conflictele de acces la suportul de transmisiune,
avantajele topologiei liniare, legate de omogenitatea reelei, facilitile de
reconfigurare, costul redus al suportului i al dispozitivelor de cuplare la suport, au
condus la o utilizare frecvent a acesteia.
n configurarea reelei pe care vreau s o proiectez, magistrala este divizat n
segmente, urmand o structur n arbore.
Topologia liniar reprezint o conexiune multipunct, informaiile emise de un
sistem fiind recepionate de toate celelalte sisteme, dar aceste informaii sunt copiate
-6-

i transmise ctre un nivel superior numai de cuploarele acelor sisteme care recunosc
n adresa destinaiei propria lor adres.
Dispozitivele de conectare a sistemelor la suportul fizic pot fi pasive, ceea ce
reprezint un avantajdin punct de vedere al fiabilitii reelei. n acelai timp ns,
trebuie observat c aceste conexiuni pasive sunt simplu de realizat atunci cnd
suportul de transmisie este cablul coaxial sau firele torsadate. Pentru a mri distana
de transmisie se utilizeaz repetoare.
Cablul coaxial permite debite mai mari dect cablul cu perechi torsadate, fiind mai
puin afectat de interferene i diafonie. Conectarea sistemelor la cablul coaxial se
realizeaz relativ simplu. Un parametru important al cablurilor coaxiale este
impedana caracteristic. Din acest punct de vedere exist dou tipuri de cabluri
frecvent utilizate: cablul de tip Ethernet, cu impedana de 50 ohmi i cablul
CATV(Community Antenna Television), conceput i realizat pentru difuziunea
televiziunii prin cablu, cu impedana caracteristic de 75 ohmi. Cablul coaxial este
recomandabil pentru topologia liniar.
O alt posibilitate este crearea unei reele cu topologie stea. n aceast configuraie
sistemele sunt conectate la un nod central care joac un rol particular n funcionarea
reelei. Orice comunicaie ntre dou sisteme trece prin nodul central, care se
comport ca un comutator fa de ansamblul reelei.
Transferul informaiei se face punct la punct dar, cu ultimele tipuri de
comutatoare, este posibil i un transfer n legtur multipunct. Aceast topologie
prezint avantajul c poate folosi n mare parte cablajul telefonic vechi existent ntr-o
ntreprinderede exemplu, n mare parte, de asemenea, software-ul este concentrat in
nodul central, pentru sisteme fiind necesar un software simplu.
Dintre inconveniente pot fi menionate: fiabilitatea reelei depinde foarte mult de
nodul central, o defectare a acestuia conducnd la cderea reelei; este necesar un
suport fizic de comunicaie individual pentru fiecare sistem; extensia reelei este
limitat la capacitatea nodului central.
Nivelul legturii de date cu cele dou subniveluri ale sale, asigur mijloacele
pentru transmiterea datelor prin intermediul serviciilor oferite de nivelul fizic.
Subnivelul LLC, ca subnivel superior al legturii de date, trebuie s asigure pentru
utilizatorii serviciilor oferite de legtura de date transparena la tehnologia de realizare
a acesteia. Altfel spus, subnivelul LLC trebuie s prezinte o interfa unic pentru
utilizatorii legturii de date LAN.
Trebuie fcut o distincie ntre o legtur de date LAN individual, care este
folosit pentru comunicaia de la nivelul legtur de date i o reea local complet, pe
care utilizatorii o folosesc pentru diferitele servicii de reea. Utilizatorul unei legturi
de date LAN este, o component a sistemului de operare reea (NOS-Network
Operating System) (figura de mai jos).
Sistemul de operare reea const n software de realizare a nivelurilor superioare,
de la nivelul aplicaie pn la subnivelul LLC inclusiv. Subnivelul MAC i nivelul
-7-

fizic sunt realizate de obicei prin circuite aflate pe o plac de interfa reea (NICNetwork Interface Card ).

Utilizator de retea
Model OSI:
Software de reea
de nivel superior

Aplicatie
Prezentare
Sesiune
Transport
Reea

Sistem de operare
reea
Utilizator al legturii
de date LAN

LLC
Legturi de date

MAC

Fizic

Fizic

Placa interfa
reea

Sistemele de operare reea pot fi utilizate pentru a construi fie un mediu n care
toate sistemele conectate la reea au acelai rang (peer-to-peer ), fie un mediu bazat
pe server.
ntr-un mediu bazat pe server unul sau mai multe sisteme din reea sunt desemnate
ca servere dedicate i conin software de server specializat. Serverele asigur servicii
celorlalte sisteme din reea care, n mod tipic, ruleaz un software de reea mai simplu
dect cel al serverelor.
Ruterul este un echipament care permite interconectarea reelelor LAN i
funcioneaz la nivelul reea al modelului de referin OSI. Posibilitatea de a
funciona la nivelul reea, permite ruterilor s determine cea mai bun cale printr-o
serie de legturi de date de la sistemul (reeaua ) surs la sistemul (reeaua) destinaie.
Pentru aceasta ruterii funcioneaz folosind un protocol de reea. Acelai protocol de
reea trebuie s-l folosesc i reelele surs i destinaie.
Folosirea ruterilor asigur o mai mare flexibilitate reelei n ceea ce privete
topologia acesteia. n general, ruterii fiind echipamente inteligente, asigur diferite
faciliti ( mecanisme de prioritate, posibiliti de configurare etc ).
-8-

Sistemul surs utilizeaz serviciile nivelului reea pentru a transmite unul sau mai
multe pachete ctre sistemul destinaie. Fiecare pachet conine adresele de reea ale
sistemelor surs i destinaie. Ruterele examineaz cadrele care le sunt direct adresate
pentru a lua decizii de rutare.
2.2.STRUCTURA SOFTWARE
Pachetul software ce va fi prezentat n capitolele urmtoare este format dintr-o
multitudine de programe realizate prin multiple posibiliti de programare. Cele mai
multe sunt produse ale unor tools-uri ale mediului de programare FoxProW cum ar fi
Generatorul de meniuri, Generatorul de ecrane, Generatorul de rapoarte, etc.
restul fiind programe sau proceduri scrise n modul clasic al crerii programelor sub
FoxProW sau cum s-ar putea spune linie cu linie .
Marele succes al platformei grafice Windows se datoreaz n mare parte faptului
c ea ofer o interfa grafic standard, cu aspect plcut, tuturor programelor rulate
sub aceasta. Alturi de multitasking, controlul unitar al perifericelor, transferurile de
date ntre programe i alte caracteristici, interfaa standard din Windows este preluat
i de FoxProW, att la nivelul sistemului, ct i la nivelul utilizatorului.
Bineneles, aplicaia de fa se concentrez asupra lucrului cu bazele date. Pentru
a construi o baz de date este necesar existena datelor ce se vor memora n aceasta,
existena unui suport fizic pe care acestea vor fi memorate, ct i existena unui
mecanism fizic i logic de manipulare a acestor date. n ce priveste manipularea
datelor, operaiilor care se pot executa asupra acestora n bazele de date pot fi:
-adugarea de noi date la baza de date;
-modificarea sau tergerea unor date introduse anterior;
-consultarea bazei de date, adic extragerea unor informaii, pe baza datelor
memorate n baza de date;
-reorganizarea bazei de date, din punctul de vedere al structurii acesteia, al ordinii
datelor memorate etc.
Toate aceste operaii se execut la comanda utilizatorului, care o poate furniza fie
prin intermediul meniului sistem al FoxProW, fie folosind comenzile i funciile
limbajului de programare .
Pentru a nelege mai bine modul de realizare al aplicaiei, voi explica cteva
noiuni necesare asupra tipurilor de date, asupra comenzilor, procedurilor sau
tehnicilor de programare folosite la realizarea produsului final.
Tipul de date logic este caracteristic datelor ce nu pot lua dect dou valori,
adevrat (n englez True, simbolizat .T.) sau fals (n englez False, simbolizat
.F. ).
-9-

n FoxProW tipul logic este foarte bine reprezentat, existnd posibilitatea de a


opera cu datele de acest tip ntr-o multitudine de ci, n funcie de scopul propus. De
asemenea, exist o mulime de funcii care primesc sau returneaz valori logice.
Operatorii logici, n ordinea prioritii de evaluare sunt sintetizai n urmtorul
tabel :
(,)
!,NOT
AND
OR

Grupeaz expresiile
Negaie logic
i logic
Sau logic

Tipul numeric reprezint o mare parte a datelor prelucrate de calculator. Cu toate


c FoxProW este un limbaj orientat ctre lucrul cu bazele date i nu unul orientat ctre
calculul matematic, tipul numeric este implementat astfel nct s permit realizarea
majoritii operaiilor matematice ntlnite n practic.
De asemenea, sunt prevzute cu o serie de funcii matematice prin care se pot
calcula funciile matematice elementare.
Operatorii sunt:
(,)
**,^
*,/,%
+,-

Grupeaz expresiile
Ridicare la putere
nmulire,mprire,modulo (restul)
Adunare, scdere

Un ir de caractere reprezint o mulime ordonat de caractere care se trateaz ca


un tot unitar. ntr-un ir de caractere, ordinea acestora fiind esenial, fiecrui caracter
i se va putea asocia un numr reprezentnd poziia acestuia n cadrul irului. Numrul
caracterelor dintr-un ir reprezint lungimea irului.
Constantele de tip ir de caractere se specific prin mulimea caracterelor care le
compun, ncadrate ntre apostrofuri simple sau duble (la ambele capete trebuie s fie
acelai tip de apostrof ). irul nul are lungimea de 0 caractere.
Operanzii care intr n componena acestor tipuri de expresii pot fi:
-cmpuri de tip ir de caractere ale unei baze de date;
-funcii ce returneaz iruri de caractere;
-variabile de tip ir de caractere
-constante de tip ir de caractere.
Tipul dat calendaristic. Datele stocate ntr-o baz de date caracterizeaz
obiecte sau procese din lumea nconjurtoare. n descrierea static a obiectelor,
factorul timp nu intervine (datele referitoare la un obiect fiind preluate la un moment
de timp sau momentul timp nu este esenial). n cazul unei descrieri dinamice a
- 10 -

obiectelor, datele referitoare la acestea se refer la evoluia lor n timp, deci factorul
temporal are o importan deosebit n acest caz.
Expresiile de tip dat calendaristic pot conine:
-cmpuri de acest tip ale unei baze de date;
-funcii ce returneaz valori de tip dat calendaristic;
-variabile de tip dat calendaristic;
-constante de tip dat calendaristic.
Tipul memo reprezint o facilitate foarte puternic a FoxProW-ului dnd
programatorului posibilitatea controlului la nivel inferior al diverselor date cum ar fi
driverele de imprimant, de ecran, diverse texte cu lungime variabil, imagini etc.
Interpretarea acestor date rmne la latitudinea programatorului, FoxProW tratndu-le
ca un simplu ir de caractere. Tipul memo este asemntor tipului ir de caractere.
Astfel unele funcii care se aplica irurilor de caractere pot fi aplicate i datelor de tip
memo.
Prelucrarea datelor cu ajutorul calculatorului presupune mai nti depozitarea
acestora ntr-o memorie intern sau extern a calculatorului. Pentru depozitarea n
memoria intern a unei anumite date se folosete variabila. O variabil are trei
elemente specifice:
-numele variabilei atribuit de programator sau predefinit de proiectanii
FoxProW-ului, folosit pentru identificarea variabilei respective printre celelalte
variabile existente la un moment dat n memorie;
-coninutul sau valoarea variabilei, reprezentnd data ce este memorat n zona
de memorie a variabilei; n timpul rulrii unui program coninutul variabilei se poate
modifica, utiliznd comenzi i funcii FoxProW;
-tipul variabilei, reprezentnd tipul datei ce se poate memora n zona de memorie
a variabilei; acest tip determin i comenzi ce se aplica variabilei respective.
Datorit capacitilor relativ mici ale memoriilor interne ale calculatoarelor,
stocarea unor volume mari de date se face pe dispozitive de memorare externe. Cele
mai folosite sunt uniti de disc, acestea ajungnd astzi la capaciti de memorare de
ordinul zecilor de gigaoctei, ce satisfac marea majoritate a utilizatorilor. Pe discuri,
informaiile sunt depozitate n fiiere. O baz de date reprezint tocmai un astfel de
fiier, cu o anumit organizare, ce permite accesul rapid i complet la datele stocate n
acestea.
Pentru manipularea bazelor de date, FoxProW folosete zonele de lucru, 225 la
numr, n care acesta depune informaiile necesare efecturii operaiilor cu bazele de
date respective.
La deschiderea unei baze de date ntr-o zon de lucru, acesteia i se atribuie un
nume pe care l vom numi alias. Deci baza de date deschis n zona de lucru va
putea fi identificat prin aliasul respectiv.
Corespunztor celor dou metode de transmitere a comenzilor utilizatorului ctre
FoxProW, prin meniuri i prin instruciuni n fereastra de comenzi exist dou metode
- 11 -

de creare a unei baze de date: n mod interactiv, prin intermediul meniurilor i direct,
printr-o comand complex introdus n fereastra de comenzi .
Comanda CREATE cu sintaxa:
CREATE [<fiier>]
Determin deschiderea unor ferestre n care utilizatorul specific n mod interactiv
caracteristicile noii baze de date ce se va crea.
Dup ce s-a creat una sau mai multe baze de date, pentru lucrul cu acestea este
necesar mai nti deschiderea lor n zone de lucru ale FoxProW-ului. Acest lucru se
va face cu comanda:
USE[<fiier>]
Pentru a extrage date dintr-o baz de date, aceasta trebuie s fie mai nti ncrcat.
Adugarea de noi nregistrri se poate face n dou moduri, n funcie de poziia pe
care o va ocupa noua nregistrare n baza de date:
-adugarea de nregistrri noi la sfritul bazei de date;
-introducerea de nregistrri noi n interiorul bazei de date.
n aplicaia prezent se utilizeaz numai adugarea de nregistrri goale. Acest
lucru se poate face cu comanda:
APPEND BLANK
Dup adugarea unei nregistrri goale ntr-o baz de date, cmpurile acesteia vor
fi nlocuite cu valori ale unor variabile. Aceste variabile conin informaii introduse de
la tastatur, calculate sau generate de funcii i comenzi ale FoxProW.
Pentru tergerea unei nregistrri dintr-o baz de date, se selecteaz zona de lucru
n care baza de date este deschis, dup care se caut nregistrarea respectiv, se
marcheaz nregistrarea cu ajutorul instruciunii DELETE, dup care va fi tears cu
ajutorul instruciunii PACK. Pot fi marcate mai multe nregistrri prin parcurgerea
bazei de date cu ajutorul unei secvene de tip DO WHILE sau SCAN. Spre exemplu,
pentru tergerea elevilor din clasa a-IX-a din baza de date elevi.dbf se folosete
urmtoarea secven de program:
USE elevi.dbf
SCAN FOR cls1=IX
DELETE
ENDSCAN
PACK
CLOSE ALL
Sau:
USE elevi.dbf
GO TOP
DO WHILE !EOF()
IF cls1=IX
- 12 -

DELETE
ENDIF
SKIP
ENDDO
PACK
CLOSE ALL
Ciclul SCAN parcurge toate nregistrrile din baza de date care corespund clauzei
FOR ( adic cele ale cror cmpuri cls1 sunt egale cu IX), le marcheaz pentru
tergere, dup care, la sfritul ciclului vor fi terse prin intermediul comenzii PACK.
n cazul ciclului de tip DO WHILE, dup deschiderea bazei de date este necesar
poziionarea cursorului pe prima nregistrare din baz, dup care se repet secvena
prin care se verific dac nregistrarea este conform cu condiia pus (n caz contrar
nregistrarea nu este marcat pentru tergere), pn cnd cursorul ajunge la ultima
nregistrare. Saltul de la o nregistrare la urmtoarea este asigurat de instruciunea
SKIP.
Cutarea unei nregistrri ntr-o baz de date se poate face prin mai multe metode:
a) folosind comanda LOCATE;
b) folosind comanda SEEK (dac baza de date este indexat );
c) parcurgnd baza de la un capt la altul prin ciclurile SCAN i DO WHILE.
Indexarea unei baze de date presupune crearea unui nou fiier, numit fiier index
asociat bazei de date, n care se memoreaz ordinea nregistrrilor. Accesul la o
anumit nregistrare se face prin intermediul fiierului index.
Crearea unui fiier index pentru o baz de date se realizeaz cu comanda INDEX
care are urmtoarea sintax:
INDEX ON <expr>TO<fiier.idx>
Indexarea este util i pentru a deschide mai multe baze de date n acelai timp,
prin intermediul aliasului.
Astfel, o secven de program de genul:
USE elevi.dbf
INDEX ON cls1 TO elevi.idx
USE str_pfil.dbf
INDEX ON nume TO str_pfil.idx
CLOSE ALL
USE elevi INDEX elevi IN 1
USE str_pfil INDEX str_pfil IN 2
deschide dou baze de date crora li se asociaz aliasurile 1 i 2 cls1 respectiv nume
sunt cheia dup care se face ordonarea. Aceast cheie trebuie s fie un cmp al
nregistrrilor bazelor de date ce urmeaz a fi indexate.
Cutarea unei nregistrri ntr-o baz de date indexat se face cu ajutorul comenzii
SEEK ntr-o secven de program asemntoare cu urmtoarea:
- 13 -

SELECT 1
SEEK xcls1
unde xcls1 este o variabil a crei valoare a fost introdus sau calculat anterior.
Pentru a avea acces la prima dintre ele se selecteaz zona de lucru n care a fost
deschis aceasta folosind instruciunea
SELECT 1
iar pentru a avea acces la a doua, instruciunea
SELECT 2
Un alt tip de ordonare se poate face prin comanda SORT. Aceasta are urmtoarea
sintax:
SORT TO <fisier>ON<camp>[a|/d|/c]
Comanda sorteaz baza de date activ, crend o nou baz de date, n care sunt
depuse nregistrrile selectate n ordinea specificat (/a-ascendent,/d-descendent).
Aceste noiuni sunt folosite n general, n aplicaia de fa, pentru manipularea
datelor n bazele de date. Secvenele de program prezentate sunt scheme de baz
pentru ceea ce am folosit la crearea pachetului de programe, dar sunt eseniale pentru
nelegerea modului de realizare al aplicaiei.
n timpul rulrii programelor, este uneori necesar intervenia utilizatorului, fie
pentru a furniza anumite date necesare operaiilor viitoare din programul respectiv, fie
pentru a selecta o anumit cale de continuare a programului. Pentru a se putea
interveni n timpul execuiei, programul a fost conceput ntr-un mod specific.
Comunicarea dintre utilizator i calculator se face, n general, prin intermediul
imprimantei, ca dispozitive periferice de ieire i al tastaturii sau al mouse-ului, ca
dispozitive periferice de intrare.
La nivel soft, programele FoxProW comunic cu exteriorul prin intermediul
diferitelor elemente de interfa, cum ar fi ecranul, ferestrele i meniurile, obiectele de
control etc. afiarea i controlul acestora se realizeaz de ctre sistem la primirea
diferitelor instruciuni ale utilizatorului, deci pentru ca un program s poat primi i
transmite date spre i din exterior, el trebuie s conin instruciuni specifice
operaiilor de intrare/ieire.
Instruciunile specifice operaiilor de intrare/ieire, au fost folosite numai n cazul
ecranului de introducere a notelor obinute la examene. Pentru aceasta se deschide o
fereastr, n care vor fi afiate pe rnd numele materiilor i se vor cere de la tastatur
notele.
Acest lucru este posibil cu ajutorul instruciunilor SAY i GET.
@ l,c SAY var
@ l,c GET VAR
n cazul instruciunii SAY, va fi afiat pe ecran coninutul variabilei var la poziia
indicat de linia l i coloana c. n cazul instruciunii GET, va fi afiat pe ecran la
coordonatele specificate de l i c un cmp de editare n care se va introduce noua
valoare a variabilei var.
- 14 -

Comanda GET nu declaneaz citirea propriu-zis a cmpurilor GET


RESPECTIVE, ci doar definesc aceste cmpuri, mpreun cu caracteristicile lor,
urmnd ca citirea propriu-zis s se fac cu ajutorul comenzii READ. Exemplu:
@ 1,1 GET var
READ
Celelalte obiecte folosite pentru intrare/ieire (liste, liste ascunse, butoane radio,
regiuni de editare), specifice realizrii ecranelor, vor fi explicate n capitolul 5 care se
refer la proiectarea ecranelor.
Aceste obiecte de control reprezint elemente ale interfeei unui sistem informatic
prin care utilizatorul comunic sistemului opiunile sale.

- 15 -

CAPITOLUL 3
Proiectarea bazelor de date pentru sistemul de nvmnt liceal
bazat pe noua structur pe semestre
3.1 MODEL E-R (ENTITATE RELAIE)
Modelul E-R reprezint o ntreag clas de modele de date cunoscute ca
modele extinse sau modele semantice. Interesul pentru mbuntirea semanticii
modelelor de date este justificat prin dorina de a avea baze de date care s manifeste
un comportament mai inteligent n interaciunea cu utilizatorii i care s permit
dezvoltarea unor interfee utilizator de nivel nalt.
Modelul de date E/R permite descrierea modelelor conceptuale fr a ine
seama de nici una din restriciile impuse celorlalte modele. Folosind modelul E/R
proiectantul bazei de date poate elabora un model conceptual fr a fi constrns de
considerende de eficien i fr a se preocupa de modul n care modelul su ar putea
fi transpus ntr-o structur a bazei de date fizice. Modelul conceptual astfel creat
const dintr-o diafragm E/R. Aceast diagram poate fi ulterior transpus ntr-un
model conceptual. Astfel, modelul E/R se dovedete a fi un instrument util pentru
proiectantul bazei de date, deoarece diagramele E-R se constituie ca o etap
intermediar de descriere a bazelor de date n trecerea la modelul conceptual exprimat
n termenii unui model de date uzual. Din acest punct de vedere modelul E-R poate fi
asemnat pseudo-codurilor folosite adesea n activitatea de programare.
Prin entitate nelegem ceva ce exist i se poate distinge de restul universului.
Un tip de entitate este format din mulimea tuturor entitilor care sunt similare prin
raportare la anumite criterii. n diagramele E-R un tip de entitate se reprezint printrun dreptunghi avnd nscris n interior numele tipului de entitate.
Tipurile de entiti au proprieti, numite atribute, care asociaz fiecrei
entiti o valoare ntr-un domeniu de valori asociat atributului respectiv.
Fiecare entitate se distinge de celelalte entiti din cadrul tipului cruia i
aparine prin valorile unei submulimi a mulimii atributelor sale. Aceast submulime
a atributelor poart numele de cheie a tipului de entitate. n diagramele E-R atributele
se reprezint prin cte o elips avnd nscris n interior numele atributului. Dac
atributul face parte din cheia tipului de entitate, atunci numele atributului este
subliniat. Atributele sunt ataate tipului de entitate cruia i aparin prin cte un arc
neorientat.
O relaie reprezint un tip de legtur ntre dou sau mai multe tipuri de
entiti. Orice entitate aparine cel puin unui tip de entitate, dar o entitate poate s
fac parte, n acelai timp, din mai multe entiti. O relaie este reprezentat printr-un
- 16 -

romb avnd n interior numele asociat legturii. Orice relaie este conectat prin arce
orientate sau neorientate la fiecare dintre tipurile de entitate care compun relaia. Tipul
arcului depinde de funcionalitatea legturii ctre fiecare dintre tipurile de entitate.
Modelul E-R poate fi folosit cu succes n modelarea datelor, fiind un instrument
de lucru util n primele faze ale proiectrii bazei de date, deoarece permite o descriere
care este eliberat de restriciile inerenteoricruia dintre modelele de date care stau la
baza SGBD-urilor actuale.
innd seama de noiunile teoretice prezentate anterior i de structura bazelor
de date ce vor fi prezentate n subcapitolul urmtor, se poate ajunge la urmtoarea
schem conceptual:

Bazaprof

Str_profil

Matricz

Str_an

Matricp

Elevi

Matrics

matricc

Prelucrare

Catalogul

Burse_s

Foaie_m

Temp_mer

3.2 STRUCTURA BAZELOR DE DATE


- 17 -

Corigent

Bazele de date ce vor fi prezenate de cele ce urmeaz conin acumulate mii de


date referitoare la anumii elevi, cu o anumit organizare, n vederea obinerii
operative a unor informaii utile despre subiectul respeciv.
Pentru a construi aceste baze de date este necesar existena datelor ce se vor
memora n acestea i a unui mecanism de manipulare a acestor date. Asupra acestora
se vor face operaii de :
-adugare de noi date la baza de date;
-modificarea sau tergerea unor date introduse anterior;
-consultarea bazei de date, adic extragerea unor informaii, pe baza datelor
memorate n baza de date;
-reorganizarea bazei de date, din punct de vedere al ordinii datelor memorate
etc;
Mecanismul de manipulare a datelor este reprezentat de pachetul software ce va
fi prezentat n capitolele urmtoare. O prim clasificare n ceea ce privete bazele de
date folosite n aplicaia de fa se poate face dup coninutul lor. Astfel, vom avea:
a) baza de date ca suport de informaii pentru bazele de date ulterior create,
acestea fiind tabele care conin informaii despre materiile studiate n anul
colar curent pentru fiecare specializare i clas n aparte. Aceste date se
afl n tabelul str_pfil.dbf unde pentru fiecare clas, respectiv specializare,
ce fiineaz n anul colar curent avem date structurate sub forma :
Nume
cmp
Nume
P1
P2
P3
Dirig
Ob1
Pr1
...
Ob16
Pr 16

Tipul de
date
Caracter
Caracter
Caracter
Caracter
Caracter
Caracter
Caracter

Dimensiune
cmp
40
4
1
1
30
15
15

Explicaii
Numele profilului
Clasa
Litera asociat clasei
Forma de organizare
Numele dirigintelui
Numele primului obiect (materie)
Numele profesorului ce preda materia Ob1

Caracter
15
Numele obiectului 16 (materie)
Caracter
15
Numele profesorului ce preda materia Ob16
Numele profilului este un cmp de tip ir de caractere de lungime 40 de
caractere.
P1, p2, p3 sunt caractere care reprezint clasa (IX,X,XI, XII sau XIII ) la care
se construiete structura profilului, litera clasei (A, B, C ) care corespunde
- 18 -

profilului, respectiv forma de organizare a activitii pentru clasa respectiv (Z (zi), S


(seral), P (profesional), respectiv C (complementar-ucenici) ).
n funcie de aceste trei elemente n baza de date elevi.dbf vor fi actualizate
date referitoare la numele profilului la care este nscris un elev i tot n funcie de
aceste valori i n funcie de numrul matricol (ce se va stoca n elevi.dbf)se va
genera catalogul corespunztor elevului respectiv pe ani de studii n funcie de forma
de organizare corespunztoare. Obi respectiv pri
i=116 reprezint numele
obiectului (materiei), respectiv profesorul care va preda n anul curent la materia i
clasa respectiv. Structura de obiecte din profilul respectiv este o structur ce se va
copia i n catalogul ce se va crea pentru elevul nou nscris. Toate aceste date se vor
actualiza n fiecare an colar la nceput, pentru fiecare elev ce are deja catalog creat i
aceasta dup ce structura pe profile a noului an colar a fost refcut, astfel c n orice
moment se poate modifica/actualiza catalogul pentru fiecare elev existent n baza de
date;
b)

baze de date centralizatoare unde putem stoca date ce constituie


nucleul ntregii aplicaii. Aceast baz de date este elevi.dbf pe baza
creia se vor constitui viitoarele statistici, rapoarte, cataloage etc.
structura acestei baze de date este :

Nume
cmp
Nume
Prenume
N_tata
N_mama
Nation
Data_n
Loc_n
Matricol
Cls1
Cls2
Cls3
Profil
Absolv
Capacit
Admit
Atn
Atm
Bac1
Bac2

Tip de
date
Caracter
Caracter
Caracter
Caracter
Caracter
Date
Caracter
Numeric
Caracter
Caracter
Caracter
Caracter
Numeric
Numeric
Numeric
Caracter
Numeric
Numeric
Numeric

Dimensiune
cmp
20
20
10
10
10
8
40
4
4
1
1
30
5
5
5
20
5
5
5
- 19 -

Explicaii
Numele elevului
Prenumele elevului
Numele tatlui
Numele mamei
Naionalitatea
Data naterii
Adresa
Numrul matricol
Tipul clasei
Litera(profilul) clasei
Forma de organizare
Prenumele profilului
Nota la absolvirea colii generale
Nota la capacitate
Nota de admitere n liceu
Numele temei la atestat (clasa XII)
Nota la atestat
Notele la bac,proba1
Notele la bac,proba 2

Bac3
Bac4
Bac5
Bac6
Abs_ani
Abs_bac
Abs_lic

Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric

5
5
5
5
5
5
5

Notele la bac, proba3


Notele la bac, proba4
Notele la bac, proba5
Notele la bac, proba6
Media pe ani de studiu
Media la bac
Media de absolvire bac

Cmpurile :
-nume
-prenume
-n_tata
-n_mama
sunt sunt cmpuri de tip ir de caractere n care sunt memorate numele i prenumele
elevului i prenumele prinilor.
Nation este un cmp de tip ir de caractere n care va fi stocat naionalitatea
elevului respectiv.
Data_n este un cmp de tip dat calendaristic n care este stocat data de
natere a elevului.
Loc_n este cmpul n care se va introduce adresa de domiciliu a elevului. Este
un cmp de tip ir de caractere de lungime 40.
Matricol este cmp de tip numeric de lungime 4, dat care conduce la crearea
pe HDD-ul calculatorului un fisier *.dbf cu numele corespunztor numarului matricol
introdus, datele de acest fel fiind unice n baza de date, deoarece pe suportul magnetic
(HDD) nu pot exista n acelai director dou fiiere identice (i nu numai datorit
acestui lucru, n coal nu exist doi elevi cu acelai numr matricol).
Cls1, cls2, cls3 sunt date de identificare a clasei din care face parte elevul,
respectiv clasa a IX, X, XII, XII, XIII, litera A, B, Ccorespunztoare profilului i
forma de organizare : Z(zi), S(seral), P(profesional), C(complementar). Aceste trei
cmpuri sunt folosite de programe pentru selecionarea mai uoar a elevilor pe clase.
Absolv, capacit, admit sunt cmpuri de tip numeric cu dou zecimale n care
vor fi stocate notele de la absolvirea colii generale, de la capacitate respectiv nota de
admitere ((absolv+capacit)/2 ) sau un alt criteriu dup se va calcula media de
admitere.
Atn respectiv atm sunt cmpuri de tip ir de caractere,primul, respectiv
numeric, al doilea, n care la sfrit de clas a XII-a se vor trece numele temei de la
atestat respectiv nota de la atestat.
Bac1, bac2, ., bac6 sunt cmpuri de tip numeric, cu dou zecimale, n care
vor fi stocate notele obinute la bacalaureat dup cum urmeaz:
Bac1-nota obinut la limba romn, scris;
Bac2- nota obinut la limba romn ,oral;
- 20 -

Bac3- nota obinut la limba strin;


Bac4- nota obinut la specialitate ;
Bac5 - nota obinut la obiectul din profilul opus profilului unde este elevul;
Bac6- nota obinut la proba la alegere.
Abs_ani, abs_bac, abs_lic sunt cmpuri de tip numeric cu dou zecimale i
care sunt actualizate automat fie atunci cnd se trec n catalog toate datele (inclusiv
anul final) i cnd se calculeaz automat media pe anii de studii (abs_ani ) fie atunci
cnd se trec toate notele de la bacalaureat, actualizndu-se abs_bac i abs_lic dup
ultima medie de bacalaureat introdus.
c)

baze de date temporale care le putem clasifica n:


- baze de date n care se stocheaz temporar date
- baze de date machet sau ablon care vor constitui structuri de baze
pentru noi baze de date.
Din prima categorie fac parte :
-burse_s.dbf
-corigent.dbf
-temp_mer.dbf
Aceste baze de date se folosesc atunci cnd n funcie de un anumit criteriu vor fi
stocate numai anumite date. Astfel, burse_s.dbf cu structura:
Nume
cmp
Num_pren
Clsb1
Clsb2
Clsb3
Observ

Tip de
date
Caracter
Caracter
Caracter
Caracter
Memo

Dimensiun
e
40
4
1
1
10

explicaii
Numele si prenumele elevului
Clasa
Clasa
Clasa
Date i observaii despre elevul respectiv cu
referire la condiiile de acordare a bursei

este folosit atunci cnd se creeaz baza de date n fiecare semestru pentru elevii care
primesc burse sociale.
n cmpul num_pren se va introduce numele i prenumele elevului iar cls1,
cls2, cls3 reprezint cmpurile corespunztoare clasei din care face elevul.
Cmpul memo observ a fost creat special pentru a introduce date cu volum
variat ca dimensiune.

- 21 -

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