Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » scoala » informatica » baze de date
REALIZAREA APLICATIILOR - Realizarea unei baze de date

REALIZAREA APLICATIILOR - Realizarea unei baze de date


BAZE DE DATE 2

REALIZAREA APLICATIILOR

O aplicatie este un sistem de programe proiectat pentru a efectua un ansamblu determinat de actiuni in vederea rezolvarii unor probleme concrete. Orice aplicatie contine datele de prelucrat si seturile de actiuni ce definesc prelucrarile de efectuat asupra acestor date.

Realizarea unei baze de date presupune analiza sistemului pentru care se construieste baza de date, proiectarea structurii bazei, incarcarea datelor in baza, exploatarea si intretinerea bazei.

Etapele cu caracter general (care nu sunt influentate de specificul domeniului sau de caracteristicile bazei de date) care se urmaresc in realizarea unei aplicatii sunt:

a)      stabilirea temei: sa se creeze o aplicatie de gestionare a studentilor.



b)      analiza temei: presupune identificarea tuturor tipurilor de informatii, a legaturilor dintre informatii, a operatiilor necesare pentru gestionarea lor. In acest sens trebuie consultati utilizatorii finali ai aplicatiei. Ca rezultat final al analizei se obtine: descrierea datelor de intrare, descrierea datelor pastrate in baza de date, lista prelucrarilor efectuate asupra datelor, descrierea informatiilor dorite la iesire.

c)      proiectarea aplicatiei: in aceasta etapa se realizeaza proiectarea structurii datelor si a structurii programelor. Proiectarea structurii programelor presupune o detaliere, de exemplu de tip pseudocod a modulelor necesare realizarii aplicatiei: module pentru crearea fisierelor, pentru introducerea datelor, pentru prelucrarea si extragerea rezultatelor, pentru tratarea erorilor, etc. Aceste module sunt controlate si coordonate de un modul central (program principal de forma):

* program principal

declarare tablouri globale

initializare variabile globale

salvare stare mediu

SET PROCEDURE TO subprograme_comune

deschide fisiere comune

sfarsit = false

DO WHILE . NOT . sfarsit

CLEAR SCREEN

afiseaza mesaje de dialog

preia optiunile utilizatorului

DO CASE

CASE activitate 1

DO modul 1

CASE activitate 2

DO modul 2

.

OTHERWISE

SAY "optiune invalida"

ENDCASE

ENDDO

inchide fisierele comune

reface mediul

CLEAR SCREEN

RETURN

d)     codificarea aplicatiei: daca la c) nivelul de detaliere este de tip pseudocod, in aceasta etapa se scrie aplicatia intr-un limbaj specializat, cu respectarea regulilor impuse de acesta.

e)      testarea modulelor: in aceasta etapa se verifica modulele, se detecteaza si corecteaza eventualele erori, se face analiza cazurilor extreme, se proiecteaza teste care sa fie executate pentru validarea fiecarei versiuni.

f)       implementarea aplicatiei: se construieste forma generala finala a aplicatiei, prin integrarea treptata a modulelor functionale testate.

g)      intretinerea aplicatiei: se inlatura erorile semnalate de utilizator in perioada de garantie, se modernizeaza aplicatia, se actualizeaza in functie de noi cerinte.

LIMBAJE PENTRU BAZE DE DATE

In limbajele de programare uzuale (Pascal, C, Fortran) declaratiile si instructiunile executabile apartin aceluiasi limbaj. In lumea bazelor de date, functiile de declarare si manipulare a datelor sunt realizate cu ajutorul unor limbaje diferite.

a)        Limbaje pentru definirea datelor (LDD): descrierea concreta a unui LDD este specifica fiecarui sistem de gestiune, dar functiile principale sunt aceleasi. La nivel conceptual, LDD realizeaza definirea entitatilor si a atributelor acestora prin nume, forma de memorare, lungime. Sunt precizate relatiile dintre date si strategiile de acces la ele, sunt stabilite criterii diferentiate de confidentialitate, sunt definite criterii de validare automata a datelor utilizate.

b)        Limbaje pentru manipularea datelor (LMD): operatiile pe baze de date solicita un limbaj specializat, in care comenzile se exprima prin fraze ce descriu actiuni asupra bazei. In general, o comanda are urmatoarea structura:

operatia, care poate fi calcul aritmetic sau logic, editare, extragere, deschidere/inchidere, manipulare (introducere, adaugare, stergere, etc.);

criterii de selectie (for, while, where, etc.);

mod de acces (secvential, indexat, etc.);

forma de editare.

c)        Limbaje pentru controlul datelor (LCD): controlul unei baze de date se refera la asigurarea confidentialitatii si integritatii datelor, la salvarea informatiilor in cazul unor defectiuni, la obtinerea unor performante, la rezolvarea unor probleme de concurenta. De exemplu, realizarea unei interfete tranzactionale, intr-un contract client-server, pentru un sistem de baze de date distribuite.

d)       Limbaje universale: un limbaj universal se utilizeaza rar pentru generarea unei baze de date.

Un program de aplicatie poate interactiona cu o baza de date astfel:


Datele locale apartin programului de aplicatie si sunt manipulate de acesta. Aceste date pot fi utilizate pentru a insera, modifica sau extrage informatii in/din BD.


Interfata dintre un utilizator si un sistem de gestiune poate fi realizata in doua moduri:

cu ajutorul unui mecanism de apel inserat in programul aplicatie. Acest mecanism poate fi un CALL sau un alt cuvant cheie. Un sistem de gestiune care permite acest tip de mecanism se numeste limbaj gazda.

cu ajutorul unor comenzi speciale, utilizate independent. In acest caz, sistemul de gestiune se numeste autonom. Exista totusi o interfata speciala care este capabila sa interpreteze comenzile limbajului de cereri.

SISTEME DE GESTIUNE A BD (SGBD)

Sistemul de gestiune al bazei de date reprezinta software-ul propriu-zis al acesteia, care asigura realizarea urmatoarelor activitati:

definirea structurii bazei de date;

incarcarea datelor in baza de date;

accesul la date (interogare, actualizare);

intretinerea bazei de date (colectarea si refolosirea spatiilor goale, refacerea bazei de date in cazul unui incident);

reorganizarea bazei de date (restructurarea si modificarea strategiei de acces);

securitatea datelor.

Asadar, sistemul de gestiune a bazei de date apare ca un sistem complex de programe care asigura interfata intre o baza de date si utilizatorii acesteia.

In sens mai larg, sistemul de gestiune a bazelor de date este o componenta activa a bancilor de date, ce interactioneaza cu toate celelalte componente, cu toate categoriile de personal implicat in functionarea bancii de date.

Obiectivele unui SGBD

Obiectivele unui SGBD sunt:

a)      independenta fizica - un obiectiv esential este de a permite realizarea independentei structurilor de stocare in raport cu structurile de date din lumea reala. Se defineste multimea de date indiferent de forma acesteia din lumea reala, tinand cont doar de a realiza un acces simplu la date si a obtine anumite performante.

b)      independenta logica - fiecare grup de lucru care exploateaza baza de date poate sa utilizeze diferite informatii de baza (nu aceleasi), pentru a-si construi entitati si relatii. Fiecare grup de lucru poate sa cunoasca doar o parte a semanticii datelor, sa vada doar o submultime a datelor si numai sub forma in care le doreste. Independenta logica a datelor se refera la posibilitatea adaugarii de noi articole sau extinderea structurii conceptuale, fara ca aceasta sa impuna rescrierea programelor existente.

c)      manipularea datelor de catre neinformaticieni. Neinformaticienii vad datele independent de implementarea lor si pot manipula aceste date cu ajutorul limbajelor neprocedurale. Utilizarea unui limbaj cat mai apropiat de limbajul natural permite exploatarea cu usurinta a bazei de date de catre acestia.

d)     eficacitatea accesului la date - acest obiectiv are doua aspecte. Daca accesul la date este efectuat de specialisti informaticieni care sunt programatori de sistem si cunosc modul de stocare a informatiei, atunci sistemul trebuie sa furnizeze limbaje de manipulare a datelor care sa permita atingerea cu usurinta a acestui obiectiv. Daca accesul la date este efectuat de neinformaticieni sau de catre informaticieni care ignora modul de stocare a datelor, atunci sistemul trebuie sa furnizeze un limbaj neprocedural care sa permita utilizatorului sa descrie ceea ce vrea sa obtina, fara a da modul in care poate realiza acest lucru.

e)      administrarea centralizata a datelor - administrarea datelor presupune definirea structurii datelor si a modului de stocare a acestora. Administrarea este in general centralizata si permite o organizare coerenta si eficace a informatiei.

f)       neredundanta datelor - fiecare aplicatie poseda datele sale proprii si asta conduce la numeroase dubluri. De asemenea, organizarea nejudicioasa a relatiilor poate sa genereze redundanta a datelor. Administrarea coerenta a datelor trebuie sa asigure neduplicarea fizica a datelor. Totusi, nu sunt excluse nici cazurile in care, pentru a realiza performante referitoare la timpul de acces la date si raspuns la solicitarile utilizatorilor, sa se accepte o anumita redundanta a datelor.

g)      coerenta datelor - informatia trebuie sa satisfaca constrangeri statice sau dinamice, locale sau generale. De exemplu, pot fi considerate constrangeri: apartenenta la un anumit domeniu, un anumit tip de date, de o anumita lungime, o anumita cardinalitate a relatiilor, constrangeri referentiale, etc.

h)      h) partajabilitatea datelor - obiectivul permite ca aplicatiile sa partajeze datele din baza in timp si simultan. O aplicatie poate folosi date ca si cum ar fi singura care le utilizeaza, fara a sti ca o alta aplicatie, concurent, le poate modifica . O tranzactie este o unitate logica de tratament, care aplicata la o stare coerenta a bazei, genereaza o noua stare curenta (modifica baza). SGBD trebuie sa asigure gestiunea tranzactiilor si a acceselor concurente. De exemplu, pentru a asigura paralelismul executiei tranzactiilor, este necesara o gestiune a acceselor concurente si trebuie asigurat ca executia paralela a tranzactiilor sa dea acelasi rezultat ca si executia secventiala a acestora. SGBD trebuie sa detecteze si sa rezolve cazurile de interblocare, in care una sau mai multe tranzactii asteapta eliberarea datelor tinute de celelalte tranzactii.

i)        securitatea si confidentialitatea datelor - datele trebuie protejate de un acces neautorizat sau rau intentionat. Exista mecanisme care permit identificarea si autorizarea utilizatorilor si exista proceduri de acces autorizat care depind de date si de utilizator. SGBD trebuie sa asigure securitatea fizica si logica a informatiei si sa garanteze ca numai utilizatorii autorizati au dreptul de a efectua operatii asupra bazei de date. Aceasta functie complexa presupune trei elemente fundamentale:

1. gestiunea utilizatorilor - posibilitatea de a controla (crea, suprima) accesul utilizatorilor la informatiile din baza de date si tipurile de operatii pe care acestia le pot efectua asupra bazei.

2. controlul validitatii operatiilor

3. protectia datelor impotriva accesului neautorizat (parola, criptare, etc.) si in cazul defectiunilor. Aceste defectiuni pot sa apara datorita unor manipulari incoerente, unor incidente fizice sau logice. Trebuie asigurat un mecanism ce permite mentinerea si repunerea bazei intr-o stare coerenta in cazul aparitiei unei avarii. De exemplu, operatiile de modificare efectuate asupra datelor sunt salvate in jurnalul tranzactiilor. Daca exista o pana, utilizand baza de date in forma actuala si jurnalul tranzactiilor, baza poate fi reconstituita asa cum era inaintea avariei.

Functiile unui SGBD

Pentru realizarea obiectivelor enumerate mai sus, SGBD-urile dispun de o serie de componente ce permit efectuarea numeroaselor operatii. In functie de natura lor si scopul urmarit, operatiile pot fi grupate pe activitati. Activitatile accepta si ele o grupare pe functii ( una sau mai multe activitati, relativ omogene, vor realiza o anumita functie ).

Tinand seama de multitudinea sarcinilor ce revin unui SGBD si grupand aceste sarcini pe activitati si apoi pe functii, se deduc functiile sistemului de gestiune. Tinand seama de complexitatea sistemului de gestiune, de facilitatile propuse a fi oferite de acesta , de limbajele utilizate si tipul bazei de date ce urmeaza a fi gestionata de SGBD, gruparea activitatilor pe functii are un oarecare caracter relativ. In situatia sistemelor de gestiune ce utilizeaza limbaje gazda de nivel inalt, identificarea si delimitare functiilor nu este atat de evidenta. In ciuda acestor particularitati, de pot deduce cateva functii cu caracter de generalitate pentru toate sistemele de gestiune a bazelor de date.

Aceste functii sunt prezentate in figura urmatoare:


Functia de descriere a datelor permite definirea structurii bazei de date cu ajutorul limbajului de definire. Definirea datelor poate fi realizata la nivel logic, conceptual si fizic. La nivelul acestei functii se descriu multitudinea atributelor (campurilor) din cadrul structurii bazei de date, legaturile dintre entitatile bazei de date sau dintre atributele aceleiasi entitati, se definesc eventualele criterii de validare a datelor, metodele de acces la date, aspectele referitoare la asigurarea integritatii si confidentialitatii datelor etc. Rezultatul acestei functii se va concretiza in schema bazei de date, memorate in cod intern.

Functia de manipulare a datelor este cea mai complexa functie si realizeaza urmatoarele activitati:

crearea ( incarcarea bazei de date);

adaugarea de noi inregistrari (tupluri);

suprimarea unor inregistrari;

modificarea valorilor corespunzatoare unor campuri;

cautarea, sortarea si editarea partiala sau totala a unei inregistrari virtuale

etc.

Functia de manipulare a datelor se realizeaza prin intermediul limbajului de manipulare a datelor.

Functia de utilizare asigura multimea interfetelor necesare pentru comunicarea tuturor utilizatorilor cu baza de date. In cadrul realizarii apar categoriile de utilizatori amintite anterior.

Functia de administrare a bazei de date apare ca o functie complexa si este data de competenta administratorului bazei de date.

Componentele unui SGBD

Un SGBD are o structura de complexitate variabila, care depinde de scopul aplicatiei. In general, un SGBD trebuie sa includa cel putin cinci clase de module:

1 - programe de gestiune a BD (PGBD);

2 - module pentru tratamentul limbajului de definire a datelor;

3 - module pentru tratamentul limbajului de manipulare a datelor;

4 - module utilitare, ce permit o intretinere corecta si usoara a BD;

5 - module de control, ce permit controlul programelor de aplicatie ale utilizatorilor.

1. Programe de gestiunea BD - realizeaza fizic accesul la date, ca urmare a unei comenzi. In urma primirii comenzii sunt parcurse urmatoarele etape:

- ordinul primit este un enunt din LMD, care cuprinde numele datei cautate. Acest ordin este primit de PGBD, intr-o forma pe care el o poate interpreta: tabele de constante, cod C etc.

- PGBD gaseste descrierea datelor din baza de date si o asociaza ordinului

- PGBD gaseste descrierea globala a datelor, identifica datele si tipul lor;

- PGBD gaseste descrierea fizica a bazei, identifica informatii ce permit accesul la fisiere, volume

- PGBD verifica daca datele sunt disponibile. In caz contrar, emite un ordin sistemului de exploatare care, utilizand modulele sale de gestiune a datelor, obtine datele cautate.

- sistemul de exploatare controleaza operatiile de intrare iesire si plaseaza datele intr-un spatiu al PGBD (tampoane)

- PGBD extrage datele, efectueaza conversiile necesare si realizabile si plaseaza datele in spatiul de memorie al utilizatorului

- PGBD transmite in spatiul de memorie al utilizatorului informatii de control necesare executiei comenzii LMD

- controlul este transferat programului de aplicatie care va utiliza datele plasate in spatiul de memoria al utilizatorului

- daca baza de date permite accesul concurent, PGBD se va ocupa si cu gestiunea partitiilor asignate la fiecare program de aplicatie

2. Aceste module permit traducerea (interpretativa sau compilativa) a unui limbaj special ce realizeaza descrierea naturii datelor si a legaturilor logice dintre acestea, fie la nivel global (schema conceptuala), fie la nivelul specific al fiecarei aplicatii (schema externa sau subschema).

Componentele unui LDD permit definirea unei scheme sau a unor subscheme care furnizeaza urmatoarele informatii :

- descrierea logica a bazei de date sau a unui film (view) al utilizatorului;

- specificarea fisierelor de date si a legaturilor logice dintre acestea ( aceste informatii permit accesul la date in functie de modelele de reprezentare a datelor);

- definirea unor chei de confidentialitate si a unor proceduri de criptare;

- definirea modului de indexare sau de localizare a inregistrarilor (entitati, clase segmente etc.)

- identificarea unei date, prezenta fizic in inregistrare.

3. Modulele din LMD permit utilizatorilor sa manipuleze, modifice, reactualizeze sau sa suprime datele dintr-o baza de date. Comenzile LMD depind de sistemul de gestiune utilizat.

  Pentru un SGBD cu limbaj gazda, LMD nu este un limbaj autonom si comenzile sale trebuie incluse intr-un program scris intr-un limbaj gazda. Pentru un SGBD autonom exista un LMD la care se adauga un limbaj de tratare a cererilor. Enunturile unui sistem autonom pot fi tratate:

- interpretativ - fiecare comanda LMD este interpretata de sistemul de gestiune si executata imediat;

- compilativ - fiecare comanda LMD este compilata si apoi executata de catre PGBD

- prin generarea de programe - enunturile sunt traduse intr-un limbaj de programare si apoi compilate.

LMD permite cautarea uneia sau mai multe entitati, cautarea unei entitati dependente de alta, parcurgerea tuturor entitatilor, adaugarea, modificarea si suprimarea entitatilor existente.

4. Un SGBD contine programe utilitare ce permit intretinerea bazei de date. Lista acestor programe depinde de complexitatea SGBD. Aceste programe pot efectua urmatoarele operatii:

- incarcarea bazei de date;

- crearea si reactualizarea jurnalelor tranzactiilor efectuate asupra BD;

- reorganizarea structurii fizice si logice dupa o modificare;

- restabilirea bazei de date dupa o pana fizica sau logica ;

- obtinerea unor statistici ce permit cunoasterea activitatii si utilizarii bazei;

- reactualizarea si modificarea schemei, subschemelor sau schemei interne;

- realizarea unei copii permanente a bazei de date din motive de securitate;

- detectarea violarii constrangerilor de integritate.

5. Intretinerea bazei de date este un punct important, mai ales in cazul multi-user. Pentru a conserva informatia trebuie sa se dispuna de posibilitatea de a corecta sau de a preveni anumite operatii efectuate de utilizatorii bazei. Integritatea bazei poate fi vazuta sub diverse unghiuri:

- daca datele trebuie modificate de o aplicatie, atunci aceasta operatie nu trebuie sa de propage si nu trebuie sa interfereze cu alte aplicatii.

- daca o aplicatie efectueaza numai citirea datelor, atunci executia aplicatiei se poate efectua fara probleme dar, evident, trebuie blocat sistemul de reactualizare ( relativ la datele respective ) in timpul realizarii citirii.

- daca mai multe aplicatii acceseaza concurent aceeasi data pentru a efectua o operatie de actualizare, atunci acest acces este un pericol pentru integritatea bazei de date. Exista tehnici de rezolvare a acestor situatii. De exemplu, asocierea unor coduri de prioritati de acces la date, coduri care sunt distribuite de administratorul bazei de date.

Arhitectura SGBD

In cazul SGBD nu se poate specifica o arhitectura unica, aceasta datorita faptului ca exista diverse tipuri de sisteme de gestiune, ca ele se diferentiaza prin limbajele utilizate, prin componente, etc. Cele mai utilizate tipuri de arhitecturi de referinta ale unui SGBD au fost propuse de grupurile CODASYL si ANSI/X3/SPARC.

Arhitectura SGBD in conceptul CODASYL


Aceasta arhitectura este prezentata in figura urmatoare:

Succesiunea logica a operatiilor declansate de un program de aplicatie intr-o astfel de arhitectura apare astfel:

1. Programul de aplicatie A lanseaza o cerere de citire a datelor din baza de date. Cererea este lansata catre SGBD.

2. Sistemul de gestiune interpreteaza cererea consultand SUBSCHEMA referitoare la programul de aplicatie A.

3. Sistemul de gestiune apeleaza SCHEMA bazei de date si determina la nivel logic datele solicitate din cadrul unei inregistrari virtuale.

4. Sistemul de gestiune examineaza descrierea fizica a bazei in raport cu cererea logica si determina inregistrarea fizica ce prezinta interes.

5. Sistemul de gestiune lanseaza o comanda catre sistemul de operare sub controlul caruia lucreaza , pentru cautarea inregistrarii fizice de citit.

6. Sistemul de operare cauta inregistrarea fizica.

7. Inregistrarea fizica gasita este transferata in memoria tampon a SGBD

8. SGBD procedeaza la o comparare intre SCHEMA bazei de date si SUBSCHEMA corespunzatoare aplicatiei A si identifica datele solicitate de programul A.

9. SGBD transfera datele din memoria tampon in memoria de lucru rezervata programului de aplicatie A.

10. Programul de aplicatie A preia controlul asupra tratarii datelor solicitate iar pe parcursul executarii programului se realizeaza un schimb de informatii cu SGBD referitoare la starea programului sau eventualele erori constatate.

Arhitectura ANSI/X3/SPARC

Aceasta arhitectura ia in considerare pentru descrierea datelor trei nivele: conceptual, intern si extern. Nivelul central este nivelul conceptual, care corespunde structurii canonice a datelor ce caracterizeaza procesul de modelat, adica adica structura semantica a datelor, fara implementare pe calculator. Schema conceptuala permite definirea tipurilor de date care caracterizeaza proprietatile elementare ale entitatilor, definirea grupurilor de date compuse care permit regruparea atributelor pentru a descrie entitatile modelului si legaturi intre aceste entitati, definirea regulilor pe care trebuie sa le respecte datele, etc.

Nivelul intern corespunde structurii interne de stocare a datelor. Schema interna permite descrierea datelor unei baze sub forma in care sunt stocate in memoria calculatorului. Sunt definite fisierele care contin aceste date, articolele din fisiere, drumurile de acces la aceste articole, etc.

La nivel conceptual sau intern, schemele descriu o baza de date. La nivel extern schemele descriu doar o parte din date care prezinta interes pentru un utilizator sau un grup de utilizatori. Schema externa reprezinta descrierea unei parti a bazei de date ce corespunde viziunii unui program sau utilizator.


Arhitectura de referinta este urmatoarea:

Declararea schemei conceptuale a bazei de date se realizeaza prin intermediul interfetei 1. Dupa compilare, definirea conceptuala este memorata in cadrul dictionarului datelor prin interfata 2. Administratorul bazei de date si administratorii aplicatiilor iau cunostinta de schema conceptuala prin intermediul interfetei 3. Prin intermediul interfetei 4 se specifica declaratiile schemelor externe, a caror forma compilata este memorata in dictionarul datelor prin interfata 5. Declaratiile schemei interne a bazei de date se specifica prin intermediul interfetei 6, schema compilata fiind memorata in dictionarul datelor prin intermediul interfetei 7.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.