CATEGORII DOCUMENTE |
Sistemul de gestiune al bazelor de date
O baza de date este un ansamblu organizat si structurat de date. Acest ansamblu trebuie sa permita o reprezentare fidela a datelor cu minim de constrangeri. SGBD-ul este un instrument care permite o astfel de organizare si manipulare a datelor. Este un ansamblu de programe care permite descrierea, memorarea, manipularea si restaurarea datelor pentru a asigura securitatea acestora. Se numeste aplicatie baza de date sau sistem de baza de date un ansamblu de programe construite in jurul unei baze de date si integrand un SGBD pentru gestiunea informatiilor.
Functiile unui SGBD
In primul rand trebuie mentionate functiile esentiale, adica cele pentru care SGBD-ul este conceput. Ele sunt in numar de patru: descrierea datelor, introducerea, extragerea/interogarea si actualizarea.
Descrierea datelor este acea parte care permite, inainte de introducerea datelor, de a defini numele acestor date, structura si continutul lor. De exemplu baza de date a unei biblioteci comporta un ansamblu de date referitoare la carti. Inainte de a putea inregistra aceste date, trebuie definit cu precizie ansamblul informatiilor care se doreste a fi administrat cu privire la aceste carti: numarul (cota), titlul, numarul de exemplare, etc. Trebuie, de asemenea, estimata marimea sau cel putin sa fie definita marimea maxima admisa: 30 caractere pentru titlu, 5 pentru numar, etc.
Odata definite structurile, functia de introducere permite tuturor utilizatorilor inserarea de date in baza. Aceasta functie de introducere trebuie, in plus, sa asigure toate controalele posibile, al acestor date. In cazul bibliotecii, SGBD-ul trebuie sa verifice daca numarul cartii este in forma ceruta, daca marimea titlului nu depaseste numarul maxim de caractere prevazut, daca numarul de exemplare este un numar intreg pozitiv, etc.
Extragerea datelor desemneaza toate operatiile regulate sau punctuale, de cautare si de iesire pe ecran, pe suport de hartie sau pe un alt suport, in intregime sau doar in parte a informatiilor din baza de date. Se va putea, de exemplu, sa se extraga toate cartile care sunt scrise de un anumit autor sau toate cartile aparute in colectia "Baze de date".
In fine, functia de actualizare trebuie sa asigure modificare sistematica a informatiilor pe masura ce acestea evolueaza. La fiecare cumparare a unei carti, trebuie modificat numarul de exemplare al titlului corespunzator din baza de date.
Pentru ca datele sunt partajate de catre mai multe aplicatii, dezvoltarea functiilor descrise anterior, antreneaza si alte necesitati.
Punerea in comun a unui ansamblu de date are ca si consecinta necesitatea de a prevedea controlul accesului la date. Exista doua aspecte legate de protectia datelor. Primul priveste confidentialitatea: informatia nu poate fi cunoscuta de toti. Pentru fiecare tip de informatie trebuie stabilita lista persoanelor sau a grupurilor autorizate a le consulta. Al doilea aspect se refera la integritate: informatia nu poate fi modificata de toti. In acest caz, se convine la definirea unui cerc de persoane, in general foarte mic, abilitate sa actualizeze informatia. SGBD-ul trebuie sa permita personalizarea accesului la baza de date. Trebuie deci sa se poata identifica utilizatorii si controla aceasta identificare, ceea ce se cheama "autentificarea" accesului. Dupa caz, protectia se poate face la mai multe nivele: accesul la intreaga baza, la o parte din ea sau la un singur element al bazei.
Protectia datelor este unul din aspectele unei functii destul de importante care este securitatea bazei de date. La aceasta functie se adauga si functiile de rezistenta in cazul unor pene, pe care trebuie sa le furnizeze SGBD-ul. Un program nu poate impiedica in totalitate aparitia incidentelor sau a problemelor majore. Totusi, el trebuie sa fie in masura sa furnizeze mecanisme care sa faciliteze recuperarea datelor in cazul in care apar probleme grave. Bazele de date sunt utilizate pentru a evita redundanta informatiilor stocate. Uneori, pentru a minimiza consecintele legate de eventualele probleme ce pot aparea, este necesar efectuarea de salvari ale bazei de date. Aceste salvari nu sunt nimic altceva decat date redundante, dar, in acest caz duplicarea informatiilor este controlata de SGBD.
SGBD-ul este dedicat manipularii datelor. Pentru aceasta trebuie sa asigure un "acces optimal" la date. Dincolo de organizarea fizica a datelor, SGBD-ul trebuie sa faciliteze cautarea acestora.
In aceeasi ordine de idei, SGBD-ul trebuie sa faciliteze accesul la date pentru toate programele, dar si pentru toate categoriile de utilizatori. Pentru aceasta, el trebuie sa furnizeze instrumentele care sa permita interfatarea - comunicarea - SGBD-ului cu alte programe. Trebuie oferit un acces direct la date sub o forma compatibila cu categoriile de utilizatori, de exemplu o interfata grafica pentru nespecialisti, un limbaj de acces puternic pentru informaticieni.
O alta functie importanta este controlul concurentei. Intr-adevar o baza de date trebuie sa permita accesul simultan al mai multor utilizatori, fara nici un fel de incident. Sa luam exemplu unui sistem de rezervare a locurilor pentru cursele aeriene, fondat pe o baza de date. Aceasta trebuie sa permita alocarea fiecarui loc unei singure persoane si numai uneia. O agentie conectata la baza de date respectiva, intreaba daca a mai ramas un loc liber pentru zborul 747. I se raspunde ca a mai ramas unul singur. O alta agentie pune imediat aceeasi intrebare, inainte ca prima agentie sa fi confirmat interesul sau pentru locul ramas. Locul este inca disponibil. Prima agentie l-a rezervat. A doua, de asemenea, a intrebat. Se produce in acest caz o problema zisa de acces concurent pe care SGBD-ul trebuie sa o previna.
Principiile independentei
Realizarea unei baze de date are drept consecinta punerea in comun si partajarea unui ansamblu de informatii. Aceasta punere in comun trebuie sa respecte doua principii de independenta: respectiv independenta fizica si independenta logica.
Independenta fizica desemneaza principiul conform caruia un program care acceseaza datele din baza, trebuie sa manipuleze aceste date intr-un mod abstract, independent de organizarea lor fizica. Independenta logica caracterizeaza accesul simultan al diferitilor utilizatori sau programe la aceeasi baza de date. Fiecare program trebuie sa poata lucra doar asupra partii de date care doreste. Pentru aceasta la realizarea programului se vor folosi doare datele utile acestuia. Trebuie sa se poata utiliza pentru calificarea acestor date, termeni care sunt proprii programului, eventual diferiti de cuvintele care vor fi utilizate in alte programe sau de alti utilizatori pentru a desemna aceleasi date. Mecanisme precum sub-schema in cazul bazelor de date retea sau vederile in cazul bazelor de date relationale permit ceasta independenta logica.
Arhitectura functionala a unui SGBD
Un SGBD este format din diferite module fiecare avand in sarcina una sau mai multe din functiile descrise anterior.
Figura 1.1. Arhitectura functionala a unui SGBD
Ansamblul acestor module constituie puntea de legatura intre baza de date stocata pe unul sau mai multe discuri magnetice si ansamblul utilizatorilor. La cel mai inalt nivel SGBD -ul contine un ansamblu de instrumente administrand comunicarea directa cu utilizatorii. In functie de SGBD, oferta in termeni de interfete este mai mult sau mai putin bogata si mai mult sau mai putin xxx. Editorii de SGBD-uri tind sa propuna diferite limbaje de acces la baza de date, adaptate gradului de competenta sau nevoilor categoriilor de utilizatori desemnati sa lucreze cu datele, interfete interactive dispun de instrumentele necesare punerii in legatura a programelor de acces la date - scrise n limbaje de programare clasice - cu baza de date.
Instrumentele respective permit munca cu datele continute in baza de date. SGBD-ul ofera, in plus, o interfata care permite de a actiona asupra structurii bazelor de date si/sau asupra aspectelor tehnice, cum ar fi optimizarea bazelor, configurarea lor. Aceasta interfata este numita "interfata de administrare". Ea este rezervata, in general, informaticienilor dau utilizatorilor foarte avizati. Este instrumentul de munca privilegiat al administratorului bazei de date.
Indiferent care ar fi interfata de comunicare aleasa pentru a accede la baza de date, trebuie sa existe un drept de acces la aceasta din urma. Drepturile sunt atribuite de administrator si se concretizeaza intr-o identificare (nume utilizator) si o autentificare (parola). Modulul de gestiune a acceselor are in sarcina aceste controale. El asigura in acelasi timp si controlul integritatii.
Altfel spus, el protejeaza datele verificand data toate actualizarile respecta un ansamblu de reguli numite constrangeri de integritate. Se impiedica modificarile care violeaza aceste constrangeri si avertizeaza utilizatorul de problemele intalnite. Tipurile de constrangeri admise de un SGBD vor fi descrie mai tarziu. In fine modulul de gestiune a acceselor asigura optimizarea acestora. Astfel, in majoritatea SGBD-urilor, accesul la date este formulat in limbaje evoluate precum SQL (Structured Query Language).
Modulul de gestiune a tranzactiilor este indispensabil pentru a asigura, in acelasi timp, buna executie a acceselor simultane si pentru a realiza actiunile care vor permite, in caz de pana, recuperarea datelor in cea mai buna stare posibila. Raspunsul editorilor de SGBD-uri la aceste doua nevoi a fost cvasi unanim: punerea la punct a unui mecanism numit "tranzactie" care permite definirea ansamblului de executat "totul sau nimic" asupra bazei de date. Astfel, se asigura ca utilizatorii pot lucra simultan fara conflicte: cererea disponibilitatii unui loc in avion si rezervarea sa trebuie sa faca pare din aceeasi tranzactie. Prin acelasi mijloc, in caz de pana, nu se reia decat tranzactiile corect executate, adica tranzactiile terminate si valide.
Toate modulele descrie pana acum sunt parte componenta a SGBD. Totusi, SGBD-ul nu este in relatie directa cu baza de date. Dupa cum am vazut baza de date este constituita dintr-un ansamblu de fisiere, imbogatite cu structuri zise de acces. Aceste fisiere sunt, in general, administrate de sistemul de gestiune al fisierelor (SGF) care face parte din sistemul de operare al calculatorului: Unix, Windows. Altfel spus, SGBD utilizeaza SGBD-ul xxx, dar poate, in anumite cazuri, pune la dispozitie mecanisme suplimentare de organizare si acces la datele stocate in aceste fisiere.
Ultimul strat reprezentat in figura nu este intern SGBD. El reprezinta sistemul de gestiune al intrarilor-iesirilor al sistemului de operare. El permite convertirea comenzilor scrise in straturile superiore in ordinea citire, scriere, deplasare si pozitionare a capetelor pe discuri. Realizeaza, de asemenea, operatiile necesare pentru cautarea si actualizarea datelor. De fapt, baze de date este stocata pe disc. Totusi, toate informatiile asupra datelor sunt efectuate in memoria centrala. Gestiunea discurilor asigura deci toate transferurile intre memoria centrala si spatiul de stocare de pe disc.
Arhitectura operationala a unei aplicatii baze de date
La inceput, SGBD-urile erau concepute pentru sisteme centralizate. Utilizatorii conectati la aceste sisteme partajau aceleasi date implantate pe acelasi disc si incarcate in acelasi spatiu de memorie centrala.
Aparitia micro-informaticii in anii 1980 a dus la realizarea de SGBD la nivel micro. Totusi, utilizatorii si-au exprimat rapid dorinta de a putea interactiona cu baza de date centralizata prin intermediul microcalculatorului. Acestea nu avea insa puterea si securitatea marilor sisteme.
La inceputul anilor 1990 apare conceptul de arhitectura client/server. Se considera ca o aplicatie informatica comporta in general trei tipuri de tratamente: gestiunea datelor (cautare, actualizare), logica aplicativa care inseamna calcule, reflectii si in cele din urma prezentarea rezultatelor. Se vorbeste de client/server de indata ce aceste tratamente sunt repartizate intre cel putin doua calculatoare. Este evident faptul ca gestiunea datelor este mai bine asigurata de marile sisteme. In schimb, prezentarea rezultatelor este mai multumitoarea via un microcalculator.
Cea mai clasica arhitectura client/server poate fi descrisa dupa cum urmeaza:
- client este microcalculatorul care emite cererile de acces la baza de date situata pe un server;
- cererea este executata pe server care remite clientului liniile rezultat;
- acest rezultat este afisat pe postul client, de exemplu prin intermediului unui tabel.
Figura 1.2. Arhitectura client server
Acest tip de functionare este eficace in masura in care fiecare dintre cei doi efectueaza sarcina pentru care este cel mai adaptat: prezentarea rezultatelor este efectuata de catre client, gestiunea datelor (coerenta, integritatea) este asigurata de server.
Logica aplicativa poate fi executata fie de client, fie de server. Totusi, in primul caz, inconvenientul este ca ansamblul de date uneori voluminos tranziteaza reteaua. Daca numarul utilizatorilor este foarte mare, reteaua poate fi foarte incarcata.
In cazul in care logic aplicativa este efectuata de server, acesta poate fi foarte solicitat de un mare numar de utilizatori simultan. In ciuda acestor inconveniente, arhitecturi de acest tip sunt inca foarte utilizate in intreprinderi. In aceste configuratii, conexiunea intre programe este realizata de programe de comunicare numite "middlewares".
Pentru a rezolva inconvenientul citat mai sus, de acum inainte se realizeaza arhitecturi pe 3 niveluri. Cele 3 componente care sunt gestiunea datelor, logica aplicativa si prezentarea rezultatelor sunt repartizate intre trei calculatoare: serverul de date, serverul de aplicatie si postul client:
Figura 1.3. Arhitectura pe 3 niveluri
Sinteza
Primul capitol a avut ca scop familiarizarea cu conceptul de baza de date. Daca la inceput, organizarea datelor s-a realizat cu ajutorul fisierelor, in prezent, bazele de date au devenit sursa dominanta. O baza de date este o colectie organizata de date folosita in scopul de a modela un anumit tip de organizatie sau proces organizational
Din punct de vedere al utilizatorilor bazei de date, distingem urmatoarele 3 categorii:
Ø programatorii de aplicatie;
Ø utilizatorii finali (care pot fi si experti informaticieni si neinformaticieni);
Ø administratorul bazei de date.
SGBD-ul permite descrierea, memorarea, manipularea si restaurarea datelor pentru a asigura securitatea acestora. Cele patru functii esentiale ale unui SGBD sunt: descrierea datelor, introducerea, extragerea/interogarea si actualizarea. Acestora li se mai adauga alte doua si anume securitatea bazei de date si controlul concurentei.
Intrebari recapitulative
Care sunt etapele prin care a trecut organizarea datelor?
Ce este o baza de date?
Ce este o baza de date operationala?
Ce reprezinta OLTP?
Ce este o baza de date analitica?
Ce reprezinta OLAP?
Exista legatura intre bazele de date operationale si cele analitice?
Cine sunt utilizatorii bazei de date?
Cine poate fi utilizatorul final?
Care sunt functiile asigurate de administratorul bazei de date?
Ce este un sistem de gestiune a bazelor de date?
Ce presupune descrierea datelor?
In ce consta extragerea datelor?
Ce implica protectia datelor?
Ce presupune controlul concurentei?
Descrieti arhitectura functionala a unui SGBD.
Descrieti arhitectura client/server.
Descrieti arhitectura pe 3 niveluri.
Bibliografie selectiva
1. Michael Hernandez - Proiectarea bazelor de date, Editura Teora, Bucuresti, 2003
2. Mariana Milosescu - Baze de date in Visual FoxPro, Editura Teora, 2003
3. Marin Fotache, Proiectarea bazelor de date, Editura Polirom, Iasi, 2005
4. Grupul BDASEIG, Baze de date. Fundamente teoretice si practice, Editura Infomega, Bucuresti, 2002
5. Fleming Candace - Handbook of Relational database Design, Reading, MA: Addison-Wesley, 1989
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1427
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved