1.1. Sisteme de gestiune a bazelor de date
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:
. 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 printr-un camp sau un grup de campuri cu valori unice.
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 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.
1.3. Elemente de interfata
FOX PRO pune la dispozitie o fereastra principala si grupeaza urmatoarele elemente principale:
. bara de titlu
. meniul bara al optiunilor FOX PRO care are 8 optiuni posibile din cele noua existente
. fereastra de comanda in partea dreapta jos a ecranului in care se pot introduce direct comenzile
. suprafata de lucru , care este de fapt tot ecranul in afara liniilor de titlu, de meniuri si a ferestrei de comanda, pe care sistemul afiseaza nume de campuri, mesaje
. bara de stare.
Toate acestea precum si alte ferestre dialog si facilitati ce fac usoara operarea reprezinta interfata FOX PRO.
Bara de titlu - se gaseste in partea de sus a ecranului FOX PRO si contine numele sistemului Microsoft Fox Pro si patru mici casete in stanga si in partea dreapta a barei .Caseta din stanga barei de titlu contine sigla Fox Pro. Deschiderea si afisarea meniului de control care contine o serie de optiuni pentru realizarea controlului asupra ferestrei principale se poate face executand clic pe caseta cu mouse-ul sau cu combinatia de taste Alt+Space .Executarea unui dublu clic pe caseta meniului de control reprezinta cea mai rapida cale de a inchide sistemul FOX PRO. Caseta de control contine comenzi referitoare la mutarea, redefinirea, redirectionarea optiunilor de control. Portiunea colorata a barei de titlu si cele trei casete din dreapta au aceleasi functii ca si in Windows cu exceptia ultimei casete care nu este disponibila in Fox Pro sub Windows .
Bara principala de meniuri - situata pe a doua linie a ecranului, reprezinta meniul interclasic sau standard alcatuit din optiuni de meniuri asezate pe orizontala , compuse la randul lor din mai multe submeniuri afisate pe verticala, numite si meniuri derulante, fiecare submeniu continand mai multe optiuni. Cand un meniu orizontal este selectat, el afiseaza un submeniu vertical care contine una sau mai multe optiuni. Selectarea submeniurilor se poate efectua prin una din urmatoarele cai:
folosind mouse-ul executand clic pe ele
folosind tasta Alt+litera subliniata din numele meniului.
De exemplu pentru a deschide submeniul File ,apasam Alt +F. In functie de pozitia in cadrul interfetei sunt activate sau dezactivate submeniurile sau optiunile acestora. Submeniurile dezactivate au o luminozitate mai redusa in raport cu cele active,care sunt stinse si nu pot fi selectate . Submeniurile contin liste de optiuni pe verticala . Atunci cand se selecteaza o optiune din submeniu se indica sistemului Fox Pro executarea unei comenzi . De mentionat este faptul ca selectarea optiunilor nu se poate face folosind tasta Alt impreuna cu litera subliniata.
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 sistemului FOX PRO sa se execute o operatie invalida . O fereastra de avertizare poate fi repozitionata pe ecran ca orice alta fereastra. Daca o fereastra de avertizare nu contine elemente de control de tip PUSH-buton, ea poate fi stearsa de pe ecran executand clic cu mouse-ul oriunde pe ecran sau actionand orice tasta mai putin CTRL+SHIFT sau ALT dupa care se poate continua actiunea inceputa inainte de aparitia ferestrei de avertizare.
O fereastra de avertizare care contine elemente poate fi stearsa de pe ecran in unul din urmatoarele moduri :
executand clic cu mouse-ul pe unul din elementele de control;
selectand cu tasta TAB un element de control dupa care se actioneaza tasta ENTER.
Mesajele de sistem apar intr-o fereastra si sunt de fapt informatii ce se refera la actiunea in curs de derulare . Ele difera de ferestrele de avertizare prin faptul ca nu contin mesaje de eroare sau avertizare . Eliminarea unui mesaj de sistem de pe ecran se face prin miscarea sau tastand SHIFT sau CTRL.
Bara de stare - FOX PRO apare in partea de jos a ecranului principal FOX PRO . Aceasta are rolul de a afisa mesajele trimise de FOX PRO despre ceea ce se gaseste in fereastra principala FOX PRO.Bara de stare FOX PRO este identica cu bara de stare WINDOWS . In partea stanga se afla zona de mesaje , in partea dreapta se gasesc trei, patru casete indicatoare . Acestea indica acelasi lucru ca si WINDOWS .
1.4. Operatori.Tipuri de date
Un tip de date reprezinta multimea valorilor si a operatiilor care se pot efectua cu acestea.
1.4.1. Operatori
Reprezinta simboluri prin care se specifica operatiile care se pot efectua cu diferite valori. Ei se grupeaza astfel:
. operatori aritmetici : +, -, *, /, si ridicare la putere **
. operatori relationari : <, >, <=, >=, <>
. operatori logici : not, and, or.
1.4.2. Tipuri de date
Fiecare camp intr-o baza de date are asociat un tip de date. Fox Pro pune la dispozitie urmatoarele tipuri de date :
1)tipul alfanumeric (character, memo)
2)tipul numeric (numeric, float)
3)tipul data calendaristica (date)
4)tipul logic (logical)
5)tipul special (general).
1) Tipul alfanumeric are doua subtitluri:
Tipul caracter este alcatuit din litere, cifre, simboluri si spatii. Lungimea maxima este 254 de caractere. Pe datele de tip sir de caractere pot fi aplicati operatorii de concatenare si operatorii relationari.
Tipul memo este tot un sir de caractere dar folosit pentru stocarea blocurilor largi de text de pana la 512 KO intr-un camp.
2) Tipul numeric este folosit pentru stocarea numerelor cu sau fara zecimale, semnul "-" , fiind admis inaintea numerelor. Tipul numeric cuprinde subtipurile numeric si float diferenta dintre ele apare la precizia de memorare a valorilor. Dimensiunea maxima a unui punct cu valori numerice este de 20.
3) Tipul data calendaristica este folosit pentru stocarea datelor calendaristice sub forma LL /ZZ/AA. Dimensiunea campului este implicit de 8 caractere.
4) Tipul logic este folosit pentru stocarea valorilor logice adevarat sau fals.
5) Tipul special permite pastrarea in tabelele bazei de date a unor documente, foi de calcul sau imagini.