Sistemul de Gestiune a Bazelor de Date (SGBD) prezinta sisteme informatice (soft) specializate
in stocarea si prelucrarea unui volum mare de date, in rezolvarea problemelor de tip din
clasificarea anterioara, volumul de prelucrari implicat fiind relativ mic. Termenul "baza de date"
se va referi la datele de prelucrat, iar termenul de "gestiune" se va referi la actiunea de memorare
si prelucrare a acestor date.
Istoria SGBD-urilor incepe odata cu aparitia primelor suporturi magnetice de memorare - benzile
magnetice - pe care informatia era memorata secvential, aceasta dand si caracterul secvential al
accesului de date in cadrul acestor sisteme. Aceasta etapa de dezvoltare este caracterizata de o
identitate perfecta intre structura logica si cea fizica a informatiei din bazele de date, ceea ce a
dus la o manipulare greoaie a datelor.
Aparitia sistemelor de memorare de tipul discului magnetic a dus la o noua etapa in dezvoltarea
SGBD-urilor, caracterizate in principal prin: aparitia accesului direct, alaturi de cel secvential,
acesta avand ca efect imediat o crestere spectaculoasa a vitezei de acces la date; separarea
nivelului logic de cel fizic, realizand astfel o independenta logica a datelor. In aceasta etapa se
dezvolta tehnici avansate de selectare, grupare, prelucrare a datelor din bazele de date. In
continuare sistemele de memorare s-au dezvoltat in directia cresterii performantelor acestora:
capacitati cat mai mari de memorare si viteze cat mai mari de accesare a datelor memorate in
bazele de date (discul optic, CD-urile, casetele magnetice etc).
Pentru descrierea structurilor datelor, precum si a relatiilor dintre acestea intr-o baza de date se
utilizeaza un procedeu formal, numit model conceptual. In practica prelucrarii automate a datelor
s-au consacrat urmatoarele modele conceptuale:
- ierarhic
- retea
- relational.
1.1.1. Modelul ierarhic
Se bazeaza pe structuri de reprezentare arborescente si tipuri de relatii 1 la 1 si 1 la n. Cu ajutorul
acestui model, structura bazei de date poate fi reprezentata sub forma unui arbore cu un nod
radacina (trunchiul) si celelalte noduri (ramuri) contin colectiile de date. Legaturile intre noduri
reflecta relatiile de asociere intre inregistrarile (set de date cu aceleasi proprietati) colectiilor de
date superioare si inferioare.
Modelul ierarhic are urmatoarele caracteristici:
1
. accesul direct este posibil numai la inregistrarile din colectia de date radacina:
. accesul la inregistrarile colectiilor de date inferioare se face prin specificarea tuturor colectiilor,
care se gasesc pe drumul de la colectia radacina pana la colectia cercetata:
. toate inregistrarile din colectiile bazei de date, cu exceptia colectiei de date radacina au cate o
inregistrare superioara.
Se defineste astfel o relatie, care asigura consultarea inregistrarilor din colectiile de date de sus in
jos si de la stanga spre dreapta (modul "top-down").
Modelul ierarhic are unele limite, in special la operatiile de actualizare (modificarea valorilor) a
bazei de date, deoarece adaugarea de inregistrari se poate face numai cu precizarea colectiei de
date superioare (cu exceptia colectiei de date radacina), iar stergerea unei inregistrari, genereaza
stergerea tuturor inregistrarilor subordonate.
1.1.2. Modelul retea
Se bazeaza pe structura de reprezentare retea si tipuri de relatii 1 la 1, 1 la n si m la n. O retea
este formata din mai multe noduri legate intre ele. In modelul retea al unei baze de date, fiecare
nod reprezinta o colectie de date iar legaturile reflecta relatiile de asociere. Caracteristica
principala este aceea ca, accepta ca oricare colectie de date sa se situeze pe nivelul 1, prin
indicarea explicita a relatiilor dintre acestea. In plus, accepta existenta temporara a inregistrarilor
fara legaturi cu alte inregistrari si permite reprezentarea unica a inregistrarilor in baza de date.
Modelul retea este un model complex, dificil de folosit, ocupa spatiu de memorie ineficient si
dependentele din retea sunt putin clare, din cauza existentei mai multor relatii de subordonare.
1.1.3. Modelul relational
Conform acestui model, conceperea structurii bazei de date depinde exclusiv de legaturile intre
obiecte ce permit o descriere simpla sub forma tabelara.
Acest model de reprezentare a datelor se bazeaza pe notiunea matematica de relatie. O relatie R
este o submultime a produsului cartezian de n multimi numite domenii (Di), n fiind gradul
relatiei. O baza de date relationala este o multime de relatii, legate prin domenii de definitie
comune.
Modelul relational a fost introdus pentru a elimina restrictiile impuse de catre modelul retea
asupra legaturilor intre colectiile de date. Anumite legaturi pot sa nu existe la un moment dat si
sa apara dupa aceea. In aceste conditii in mdelul retea structura datelor trebuie modificata, ceea
ce nu este cazul modelului relational, unde numai legaturile intre colectii sunt semnificative. In
concluzie, o relatie poate fi reprezentata printr-un tabel, in care, fiecare rand reprezinta o
inregistrare distincta (un tuplu), iar fiecare coloana un domeniu, prin respectarea urmatoarelor
reguli:
. fiecare rand al tabelului trebuie sa fie diferit de celelalte randuri si formeaza un tuplu;
. ordinea randurilor in tabel nu este predefinita putand fi modificata fara restrictii;
. coloanele tabelului sunt identificate prin nume distincte, reprezentand campurile modelului
relational;
. fiecare valoare a unui camp este reprezentata printr-un sir de caractere;
. in fiecare coloana a tabelului, valorile sunt de acelasi fel, constituind un domeniu.
Orice tuplu al relatiei este identificat prin intermediul unei chei primare, care este definita printrun camp sau un grup de campuri cu valori unice.
2
Cu ajutorul modelului relational structura conceptuala a bazei de date poate fi reprezentata sub
forma unei multimi de tabele, care se asociaza intre ele prin intermediul unor chei.
Cele mai importante avantaje ale mdelului relational sunt:
. este usor accesibil pentru persoanele mai putin initiate in informatica, datorita faptului ca baza
de date este reprezentata simplu ca o colectie de tabele;
. este un mdel omogen de reprezentare a legaturilor dintre colectiile de date, numai prin relatii;
. asigura independenta programelor fata de structura datelor, datorita simplificarii structurii
conceptuale si logice;
. permite proiectarea unei structuri optime a datelor, eliminand redundanta si anomaliile de
actualizare;
. admite satisfacerea cerintelor intamplatoare ale utilizatorilor.
1.2. Fox Pro sub Windows - Fox Pro sub DOS
Varianta sub Windows a FOXPRO-ului (FOXPROW) beneficiaza de toate avantajele oferite de
platforma grafica Windows, din care enumeram:
. interfata cu utilizatorul foarte placuta, comoda, usor de folosit;
. posibilitatea de afisare deosebita datorita modului grafic de lucru (font-uri, icoane, elemente
grafice etc);
. multitasking, FOXPROW putand rula in paralel cu alte aplicatii Windows;
. controlul eficient al perifericelor, asigurat de platforma Windows (inclusiv mouseul si
imprimanta);
. posibilitatea realizarii de programe sub Windows intr-o maniera clasica (fara folosirea
mecanismului de mesaje specific programarii sub Windows).
Principalele diferente dintre varianta sub Windows a FoxPro-ului si cea sub DOS sunt date de
faptul ca prima lucreaza in modul grafic al sistemului video pe cand cea de-a doua in modul
video text. In timp ce in primul caz textul poate fi afisat oriunde pe ecran, mai mare sau mai mic,
cu diferite tipuri de caractere, in diferite stiluri, in cel de-al doilea caz exista un singur tip de
caractere, un singur stil, o singura dimensiune, cu care se pot afisa textele pe ecranul
monitorului. In timp ce in FoxProW pot fi afisate pe ecran si imagini grafice, FoxPro - DOS,
lucrand in modul text, nu permite, decat, cel mult, afisarea elementelor semigrafice de tipul
chenarelor.
Facilitatea Windows-ului de a permite transferuri de date intre programe este exploatata in
FoxProW prin functiile DDE (Dynamic Data Exchange - interschimb dinamic de date). Pe langa
tipurile standard de date care pot fi memorate in bazele de date exploatate cu FoxPro - DOS,
varianta sub Windows introduce un tip suplimentar, numit "general", prin intermediul caruia pot
fi memorate in bazele de date obiecte cum ar fi imagini, sunete, texte. Aceasta tehnica numita
OLE (Object Linking and Embedding - legare si incorporare de obiecte) este implementata in
FoxProW atat la nivelul meniurilor cat si la nivelul limbajului de programare. Help-ului clasic
din FoxPro - DOS, sub forma unei baze de date, i se alatura in varianta sub Windows un nou
mod de prezentare, specific aplicatiilor Windows, care are unele facilitati suplimentare cum ar fi
cele de cautare dupa anumite cuvinte cheie. In ceea ce priveste interfata, diferenta dintre varianta
sub Windows si cea sub DOS isi au originea in modul de organizare standard a interfetelor
aplicatiilor Windows. Un exemplu tipic in acest sens este lipsa submeniului Windows din meniul
sistem, acesta avand ca echivalent meniul asociat fiecarei ferestre si apelat prin actionarea
butonului din stanga-sus al ferestrei respective. Tot legat de diferentele de interfata dintre cele
3
doua variante FoxPro este si problema tastelor folosite pentru comunicarea cu utilizatorul. In
mod implicit, in FoxProW sunt folosite combinatii de taste specifice Windows-ului, dar se poate
configura sistemul pentru a se trece la setul de combinatii de taste specific variantei sub DOS,
prin comenzi ale limbajului FoxProW. Alte facilitati suplimentare ale FoxProW, fata de cel sub
DOS sunt cele referitoare la editorul de texte, mai performant datorita modului de lucru grafic al
acestuia si cele referitoare la generatoare.
Anumite optiuni de meniuri poseda combinari speciale de taste numite taste pentru comenzi
rapide sau scurtaturi care permit selectarea directa a acelei optiuni fara sa se mai treaca prin
submeniuri . FOX PRO afiseaza aceste taste pentru comenzi rapide in partea dreapta a meniurilor
verticale . De exemplu , in submeniul File in dreptul optiuni New apare CTRL+N , aceasta
insemnand ca pentru optiunea FILE-New putem apasa simultan tastele CTRL+N in orice
moment pentru a deschide un nou fisier cu conditia ca sistemul de meniuri sa fie activ .Unele
dintre optiuni sunt urmate de punctele de suspensie ceea ce semnifica faptul ca selectarea acestor
optiuni determina afisarea unei ferestre , numita fereastra de dialog. O conventie asemanatoare
este utilizarea butonului cu sageata la dreapta pentru a indica faptul ca aceasta optiune deschide
un alt nivel de mediu . Optiunile fara puncte de suspensie sunt executate imediat atunci cand sunt
selectate. In general cand se selecteaza o optiune are loc deschiderea sau inchiderea unei
ferestre , setarea unui comutator sau generarea unei comenzi in fereastra de comanda . Ferestre
de dialog sunt utilizate in modul de lucru meniu asistat .
Cand se alege o optiune care este urmata de punctele de suspensie se va afisa o fereastra numita
de dialog. Ferestrele de dialog apar ori de cate ori sistemul FOX PRO solicita o informatie
suplimentara pentru executarea unei comenzi . Dupa afisare orice fereastra de dialog trebuie
obligatoriu inchisa pentru a putea continua apelarea altor componente ale meniului.Ferestrele de
dialog pot fi pozitionate pe ecran ca orice fereastra a sistemului FOX PRO . Ele pot fi manipulate
in diferite moduri putand fi deschise , inchise ,ascunse , mutate , redirectionate la fel ca ferestrele
Windows .
Fereastra de comanda - este cea mai importanta a sistemului FOX PRO . Atunci cand se aleg
diferite optiuni din cadrul meniului, in fereastra de comanda sunt generate comenzile
corespunzatoare optiunii. Comenzile pot fi introduse in fereastra de comenzi pozitionand
cursorul in fereastra , tastand comanda , efectuand eventualele corectii necesare si actionand tasta
ENTER . Comanda va fi imediat executata . Se poate renunta la o comanda tastand ESC.
Fereastra de comanda memoreaza toate comenzile intr-o lista istoric de unde pot fi executate si
eventual copiate intr-un program FOX PRO . O comanda generata in fereastra de comenzi poate
fi reexecutata pozitionand cursorul pe linia respectiva si actionand tasta ENTER. In functie de
optiunile alese se pot genera comenzi lungi ce depasesc marginea dreapta a ferestrei . Pentru a
usura vizibilitatea comanda lunga se poate desparti in mai multe linii fizice astfel :
se tasteaza separatorul in pozitia in care se doreste continuarea pe linia urmatoare. Continuarea
pe linii diferite numite si linii de continuare se poate face doar pe separatori
se tasteaza ENTER pentru a trece la linia continuatoare in fereastra de comenzi
se tasteaza apoi restul comenzii .
pentru a executa o comanda scrisa pe mai multe linii se plaseaza cursorul la sfarsitul comenzii
si se tasteaza ENTER .
Alinierea comenzilor in fereastra de comanda se poate face utilizand tasta TAB
Daca s-a aliniat o comanda lunga scrisa pe mai multe linii toate liniile de continuare se aliniaza
automat dupa prima linie.Ferestrele de avertizare reprezinta o suprafata rectangulara care contine
un mesaj de avertizare sau de eroare . Fereastra de avertizare apare pe ecran atunci cand se cere
5