Documente Academic
Documente Profesional
Documente Cultură
O bază de date este un ansamblu organizat şi structurat de date. Acest ansamblu trebuie să permită o
reprezentare fidelă a datelor cu minim de constrângeri. SGBD-ul este un instrument care permite o astfel
de organizare şi manipulare a datelor. Este un ansamblu de programe care permite descrierea, memorarea,
manipularea şi restaurarea datelor pentru a asigura securitatea acestora. Se numeşte aplicaţie bază de date
sau sistem de bază de date un ansamblu de programe construite în jurul unei baze de date şi integrând un
SGBD pentru gestiunea informaţiilor.
În primul rând trebuie menţionate funcţiile esenţiale, adică cele pentru care SGBD-ul este conceput.
Ele sunt în număr de patru: descrierea datelor, introducerea, extragerea/interogarea şi actualizarea.
Descrierea datelor este acea parte care permite, înainte de introducerea datelor, de a defini numele
acestor date, structura şi conţinutul lor cu ajutorul limbajului de definire a datelor LDD (în engleză, Data
Description Language DDL).
De exemplu, baza de date a unei biblioteci comportă un ansamblu de date referitoare la cărţi. Înainte
de a putea înregistra aceste date, trebuie definit cu precizie ansamblul informaţiilor care se doreşte a fi
administrat cu privire la aceste cărţi: numărul (cota), titlul, numărul de exemplare, etc. Trebuie, de
asemenea, estimată mărimea sau cel puţin să fie definită mărimea maximă admisă: 30 caractere pentru
titlu, 5 pentru număr, etc.
Odată definite structurile, funcţia de introducere permite tuturor utilizatorilor inserarea de date în
bază. Această funcţie de introducere trebuie, în plus, să asigure toate controalele posibile al acestor date.
În cazul bibliotecii, SGBD-ul trebuie să verifice dacă numărul cărţii este în forma cerută, dacă mărimea
titlului nu depăşeşte numărul maxim de caractere prevăzut, dacă numărul de exemplare este un număr
întreg pozitiv, etc.
Extragerea datelor desemnează toate operaţiile regulate sau punctuale, de căutare şi de ieşire pe
ecran, pe suport de hârtie sau pe un alt suport, în întregime sau doar în parte a informaţiilor din baza de
date. Se va putea, de exemplu, să se extragă toate cărţile care sunt scrise de un anumit autor sau toate
cărţile apărute în colecţia „Baze de date”.
În fine, funcţia de actualizare trebuie să asigure modificare sistematică a informaţiilor pe măsură ce
acestea evoluează. La fiecare cumpărare a unei cărţi, trebuie modificat numărul de exemplare al titlului
corespunzător din baza de date.
Actualizarea şi regăsirea datelor din baza de date se face cu ajutorul limbajului de manipulare a
datelor LMD (în engleză Data Manipulation Language DML)
Pentru că datele sunt partajate de către mai multe aplicaţii, dezvoltarea funcţiilor descrise anterior,
antrenează şi alte necesităţi.
Punerea în comun a unui ansamblu de date are ca şi consecinţă necesitatea de a prevedea controlul
accesului la date. Există două aspecte legate de protecţia datelor. Primul priveşte confidenţialitatea:
informaţia nu poate fi cunoscută de toţi. Pentru fiecare tip de informaţie trebuie stabilită lista persoanelor
sau a grupurilor autorizate a le consulta. Al doilea aspect se referă la integritate: informaţia nu poate fi
modificată de toţi. În acest caz, se convine la definirea unui cerc de persoane, în general foarte mic,
abilitate să actualizeze informaţia. SGBD-ul trebuie să permită personalizarea accesului la baza de date.
Trebuie deci să se poată identifica utilizatorii şi controla această identificare, ceea ce se cheamă
„autentificarea” accesului. După caz, protecţia se poate face la mai multe nivele: accesul la întreaga bază,
la o parte din ea sau la un singur element al bazei.
Protecţia datelor este unul din aspectele unei funcţii destul de importante care este securitatea bazei
de date. La această funcţie se adaugă şi funcţiile de rezistenţă în cazul unor pene, pe care trebuie sa le
furnizeze SGBD-ul. Un program nu poate împiedica în totalitate apariţia incidentelor sau a problemelor
majore. Totuşi, el trebuie să fie în măsură să furnizeze mecanisme care să faciliteze recuperarea datelor în
cazul în care apar probleme grave. Bazele de date sunt utilizate pentru a evita redundanţa informaţiilor
stocate. Uneori, pentru a minimiza consecinţele legate de eventualele probleme ce pot apărea, este necesar
efectuarea de salvări ale bazei de date. Aceste salvări nu sunt nimic altceva decât date redundante, dar, în
acest caz duplicarea informaţiilor este controlată de SGBD.
SGBD-ul este dedicat manipulării datelor. Pentru aceasta trebuie să asigure un „acces optimal” la
date. Dincolo de organizarea fizică a datelor, SGBD-ul trebuie să faciliteze căutarea acestora.
În aceeaşi ordine de idei, SGBD-ul trebuie să faciliteze accesul la date pentru toate programele, dar şi
pentru toate categoriile de utilizatori. Pentru aceasta, el trebuie să furnizeze instrumentele care să permită
interfaţarea – comunicarea – SGBD-ului cu alte programe. Trebuie oferit un acces direct la date sub o
formă compatibilă cu categoriile de utilizatori, de exemplu o interfaţă grafică pentru nespecialişti, un
limbaj de acces puternic pentru informaticieni.
O altă funcţie importantă este controlul concurenţei. Într-adevăr, o bază de date trebuie să permită
accesul simultan al mai multor utilizatori, fără nici un fel de incident. Să luăm exemplu unui sistem de
rezervare a locurilor pentru cursele aeriene, fondat pe o bază de date. Aceasta trebuie să permită alocarea
fiecărui loc unei singure persoane şi numai uneia. O agenţie conectată la baza de date respectivă, întreabă
dacă a mai rămas un loc liber pentru zborul 747. I se răspunde că a mai rămas unul singur. O altă agenţie
pune imediat aceeaşi întrebare, înainte ca prima agenţie să fi confirmat interesul său pentru locul rămas.
Locul este încă disponibil. Prima agenţie l-a rezervat. A doua, de asemenea, a întrebat. Se produce în
acest caz o problemă zisă de acces concurent pe care SGBD-ul trebuie să o prevină.
Realizarea unei baze de date are drept consecinţă punerea în comun şi partajarea unui ansamblu de
informaţii. Această punere în comun trebuie să respecte două principii de independenţă: respectiv
independenţa fizică şi independenţa logică.
Independenţa fizică desemnează principiul conform căruia un program care accesează datele din
bază, trebuie să manipuleze aceste date într-un mod abstract, independent de organizarea lor fizică.
Independenţa logică caracterizează accesul simultan al diferiţilor utilizatori sau programe la aceeaşi
bază de date. Fiecare program trebuie să poată lucra doar asupra părţii de date care doreşte. Pentru aceasta
la realizarea programului se vor folosi doar datele utile acestuia. Trebuie să se poată utiliza pentru
calificarea acestor date, termeni care sunt proprii programului, eventual diferiţi de cuvintele care vor fi
utilizate în alte programe sau de alţi utilizatori pentru a desemna aceleaşi date. Mecanisme precum sub-
schema în cazul bazelor de date reţea sau vederile în cazul bazelor de date relaţionale permit această
independenţă logică.
SGBDSGBD
Interfaţa utilizatorInterfaţa de administrare
SGBD
Gestiunea acceselor
SGBD
Gestiunea tranzacţiilor
SGFSGBD
Gestiunea fişierelorMecanisme specifice
SGBD
Gestiunea discurilor
Discuri
La început, SGBD-urile erau concepute pentru sisteme centralizate. Utilizatorii conectaţi la aceste
sisteme partajau aceleaşi date implantate pe acelaşi disc şi încărcate în acelaşi spaţiu de memorie centrală.
Apariţia micro-informaticii în anii 1980 a dus la realizarea de SGBD la nivel micro. Totuşi,
utilizatorii şi-au exprimat rapid dorinţa de a putea interacţiona cu baza de date centralizată prin
intermediul microcalculatorului. Acestea nu aveau însă puterea şi securitatea marilor sisteme.
La începutul anilor 1990 apare conceptul de arhitectură client/server. Se consideră că o aplicaţie
informatică comportă în general trei tipuri de tratamente: gestiunea datelor (căutare, actualizare), logica
aplicativă care înseamnă calcule, reflecţii şi în cele din urmă prezentarea rezultatelor. Se vorbeşte de
client/server de îndată ce aceste tratamente sunt repartizate între cel puţin două calculatoare. Este evident
faptul că gestiunea datelor este mai bine asigurată de marile sisteme. În schimb, prezentarea rezultatelor
este mai mulţumitoarea via un microcalculator.
Cea mai clasică arhitectură client/server poate fi descrisă după cum urmează (figura nr. 2.):
- client este microcalculatorul care emite cererile de acces la baza de date situată pe un server;
- cererea este executată pe server care remite clientului liniile rezultat;
- acest rezultat este afişat pe postul client, de exemplu prin intermediului unui tabel.
Server
Acest tip de funcţionare este eficace în măsura în care fiecare dintre cei doi efectuează sarcina pentru
care este cel mai adaptat: prezentarea rezultatelor este efectuată de către client, gestiunea datelor
(coerenţa, integritatea) este asigurată de server.
Logica aplicativă poate fi executată fie de client, fie de server. Totuşi, în primul caz, inconvenientul
este că ansamblul de date uneori voluminos tranzitează reţeaua. Dacă numărul utilizatorilor este foarte
mare, reţeaua poate fi foarte încărcată.
În cazul în care logica aplicativă este efectuată de server, acesta poate fi foarte solicitat de un mare
număr de utilizatori simultan. În ciuda acestor inconveniente, arhitecturi de acest tip sunt încă foarte
utilizate în întreprinderi. În aceste configuraţii, conexiunea între programe este realizată de programe de
comunicare numite „middlewares”.
Pentru a rezolva inconvenientul citat mai sus, de acum înainte se realizează arhitecturi pe 3 niveluri
(figura 3.). Cele 3 componente care sunt gestiunea datelor, logica aplicativă şi prezentarea rezultatelor
sunt repartizate între trei calculatoare: serverul de date, serverul de aplicaţie şi postul client:
Server
Server de aplicaţie