Baza de Date
CAPITOLUL 1
BAZE DE DATE
1.1 CONCEPT
Societatea informațională se bazează, în general, pe utilizarea și prelucrarea informațiilor precum și a datelor, ca resurse primare pentru dezvoltarea socio-economică.
Încă din cele mai vechi timpuri, omul a grupat informația până când aceasta a devenit un factor major de producție. Fie că ne referim la cunoștințele ce trebuiesc transmise descendenților noștri sau la evidențele nedezvoltate ale mijloacelor de trai, omul a fost obligat să găsească modalități prin care să păstreze, într-o formă sau alta, aceste informații pe care să le poată transmită mai departe.
Dezvoltarea societății și a volumului de cunoștințe acumulate a condus la o diversificare și o complexitate din ce în ce mai mare a informațiilor ce trebuiesc stocate.
În viața de zi cu zi se face deseori confuzie între date și informație. Pentru problemele uzuale ale vieții curente acest lucru nu reprezintă o problemă, însă pentru prelucrarea datelor cu ajutorul calculatorului este important să se facă o deosebire între aceste concepte. Astfel, din punct de vedere logic, datele reprezintă faptele culese, pe baza unor observații, din mediul înconjurător, pe când, din punct de vedere fizic, acestea sunt considerate a fi reprezentări simbolice ale fenomenelor, proceselor și obiectelor ce pot fi stocate și manevrate pe suporți de memorie externă.
Informația reprezintă semnificația pe care omul o conferă datelor în urma unui proces de prelucrare și interpretare a acestora, astfel încât pe baza informațiilor un subiect își fundamentează deciziile luate.
În analiza noastră plecăm de la ideea că din pricina creșterii vitezei de memorare a datelor, a adăugării unor noi componente de intrare-ieșire și a dezvoltării unor limbaje de programare, s-a ajuns ca într-un timp destul de scurt să se prelucreze o cantitate mare de informație. Astfel, organizarea și gestionarea acestor informații se realizează la nivelul bazelor de date.
Conceptul de bază de date a apărut în anul 1969 cu ocazia prezentării primului raport CODASYL, în cadrul unei conferințe bazată pe probleme de limbaje de gestiune a datelor. În organizarea datelor, ideea principală se fundamentează pe existența unui fișier de descriere a datelor la nivel global, care asigură realizarea schimbului de independență dintre programe și date.
Bazele de date reprezintă colecții de date cu volum mare, stocate pe un suport de memorie externă, din care se extrag informații utile diverselor categorii de utilizatori. Aceste informații sunt necesare pentru fundamentarea deciziilor pe care trebuie să le ia un utilizator în activitatea curentă, fie că este vorba de rezolvarea unor probleme personale fie că este vorba de rezolvarea unor probleme tehnico-economice.
Organizarea datelor pe suport informatic s-a făcut inițial în fișiere de descriere a datelor, denumit “fișier de descriere globală”, ce era constituit dintr-un fișier de date, adică dintr-un număr de colecții de date împreună cu reprezentarea legăturii dintre date.
Între componentele unei baze de date se pot stabili următoarele legături:
Legătura de tip 1:1 – unei valori din prima mulțime îi corespunde o valoare din cea de-a doua mulțime și invers. De exemplu, unui diriginte îi este distribuită o singură clasă.
Legătura de tip 1:M – unei valori din prima mulțime îi corespund mai multe valori din mulțimea a doua. Acest lucru nu este reciproc. De exemplu, un șef are în subordinea sa mai mulți salariați.
Legătura de tip M:N – mai multor entități din prima mulțime le corespund mai multe entități din cea de-a doua mulțime și invers. De exemplu, un profesor are mai mulți elevi și un elev are mai mulți profesori.
Pe parcurs, acest concept s-a dezvoltat luând forma unei baze de date rețea, baze de date relaționale sau baze de date orientate obiect.
Potrivit Catedrei de Informatică Economică a Academiei de Studii Economice, baza de date astfel definită trebuie să îndeplinească următoarele condiții:
să asigure o independență sporită a datelor față de programele de aplicație și a programelor de aplicație față de date;
baza de date trebuie să aibă o structură concepută astfel încât să asigure informații necesare și suficiente pentru cerințele de informare și decizie;
să asigure o redundanță minimă și controlată a datelor;
să permită accesul rapid la informațiile stocate în bază.
Există o largă varietate de baze de date ce sunt clasificate în funcție de criteriile luate în considerare, după cum urmează:
în funcție de orientare: baze de date generalizate și baze de date specializate;
după modelul de date folosit: baze de date ierarhice, în rețea, relaționale și baze de date orientate obiect;
după amploarea geografică: baze de date locale și baze de date distribuite;
în funcție de limbajele utilizate: cu limbaj propriu, cu limbaj gazdă și cu limbaj mixt.
Imaginea modului de organizare și funcționare a bazei de date este reprezentată, în general, prin intermediul arhitecturii bazei de date ce cuprinde următoarele:
baza de date propriu-zisă – reprezintă locul în care se vor memora colecțiile de date;
sistemul de gestiune a bazei de date – prin intermediul acestuia se realizează prelucrarea și gestiunea complexă a datelor;
setul de proceduri manuale și automate – aceste proceduri sunt necesare pentru buna funcționare a sistemului;
dicționarul bazei de date – acesta are în compoziția sa informații despre date, structura lor, despre elementele de descriere a semanticii, statistici, etc;
mijloace hardware utilizate;
personalul specializat implicat în exploatarea bazei de date: analiști, programatori, etc;
În funcție de clasa utilizatorilor implicați, baza de date are în alcătuirea sa elemente structurate pe 3 niveluri, după cum urmează:
Nivelul extern (logic) – este dat de viziunea programatorului de aplicații, care realizează programele de aplicații pentru manipularea datelor și structura logică (subschema) corespunzătoare descrierii datelor aplicației;
Nivelul conceptual (global) – este dat de viziunea administratorului bazei de date, care realizează structura conceptuală corespunzătoare descrierii bazei de date și administrează componentele bazei de date pentru manipularea datelor;
Nivelul intern (fizic) – este dat de viziunea inginerului de sistem care realizează structura fizică corespunzătoare descrierii datelor pe suport fizic.
Figura 1. Arhitectura internă a unui sistem de baze de date
Adriana Olteanu, Magdalena Anghel, Radu Nicolae Pietraru, Baze de date și utilizarea acestora, 2005, p. 18.
1.2 CLASIFICARE SISTEME BAZE DE DATE
Sistemele de baze de date, sau băncile de date, reprezintă un sistem de organizare și prelucrare, respectiv teleprelucrare (prelucrare la distanță) a informației, constituit din următoarele 3 elemente:
Colecție de date aflate în interdependență;
Descrierea datelor și a relațiilor dintre ele;
Un sistem de programe care asigură exploatarea bazei de date (actualizare, interogare).
Conform definiției, pot fi remarcate mai multe principii de clasificare ale sistemelor bazelor de date, astfel:
După modelul de date:
Modelul de date relațional – acest model se bazează pe noțiunea de “relație” utilizată în matematică, care corespunde unei entități de același tip având o reprezentare ușor de înțeles și de manipulat. Această reprezentare constă într-un tabel bidimensional compus din linii și coloane, unde fiecare linie din tabel reprezintă o entitate compusă din mulțimea valorilor atributelor entității respective, iar atributul corespunde unei coloane a tabelului.
Modelul de date orientat obiect – acesta permite modelarea directă a realității prin intermediul obiectelor definite ca entități cu identitate proprie și caracterizate prin stare și comportament. Orice entitate din lumea reală este un obiect și orice obiect reprezintă o entitate din realitate. Obiectele pot “comunica” între ele prin intermediul mesajelor.
Modelul de date obiect-relațional – formează o extensie a modelului relațional. Principala îmbunătățire adusă modelului relațional o reprezintă tipurile abstracte de date care permit: partajarea datelor, utilizarea structurilor de date complexe, încapsularea și moștenirea.
Modelul de date ierarhic – acest model are la bază structura arborescentă, în care un nod părinte poate avea mai multe noduri copil, iar un nod copil poate avea un singur nod părinte. Modelul se bazează pe relații de tip părinte-copil, schema ierarhiei având un singur nod rădăcină, iar pentru reprezentarea relației de tip M:N într-o structură de bază de date ierarhică trebuie să se admită duplicate pentru instanțele înregistrărilor copil. Reprezentarea modelului ierarhic se realizează prin intermediul diagramelor de structură, care sunt formate din două elemente principale: dreptunghiuri (corespunzătoare tipurilor de înregistrări) și linii (corespunzătoare legăturilor).
Modelul de date rețea – utilizează structura rețea ca structură de date de bază, în care rețeaua este un graf orientat alcătuit din noduri conectate prin arce. Nodurile corespund tipurilor de înregistrări și arcele pointerilor. Modelul rețea folosește înregistrările pentru a reprezenta entitățile și pointerii între înregistrări pentru a reprezenta relațiile dintre entități.
După numărul de utilizatori:
Sisteme multiutilizator – sunt sistemele care permit, în același timp, accesul a mai multor utilizatori la aceeași bază de date;
Sisteme monoutilizator – permite accesul unui singur utilizator;
După numărul de stații pe care este stocată baza de date:
Sistem centralizat – în cadrul acestui sistem, datele și sistemul de gestiune sunt stocate pe un singur calculator;
Sistem distribuit – în sistemul distribuit, datele și sistemul de gestiune sunt distribuite pe mai multe calculatoare interconectate printr-o rețea de comunicație.
Arhitectura sistemului de baze de date cuprinde următoarele componente:
Baza / bazele de date – reprezintă componenta de tip date a sistemului;
Sistemul de gestiune a bazei / bazelor de date – constituie ansamblul de programe ce asigură gestionarea și prelucrarea complexă a datelor, fiind considerat componenta software a sistemului de baze de date. (Sistem de Gestiune a Bazelor de Date – SGBD);
Alte componente – reprezintă procedurile manuale sau automate, inclusiv reglementările administrative, destinate unei bune funcționări a sistemului și a dicționarului bazei de date.
Figura 2. Arhitectura sistemului de baze de date
http://idsi.md/files/file/prezentari_practica_studenti/baze_de_date.pdf
1.3 COMPONENTE SISTEME BAZE DE DATE
Un sistem de baze de date reprezintă un ansamblu de componente care asigură crearea, utilizarea și întreținerea uneia sau mai multor baze de date. Componentele unui sistem de baze de date sunt: hardware, software, utilizatori și date persistente.
În conformitate cu definiția, în următoarele rânduri vom trata fiecare componentă a sistemului de baze de date.
1.3.1 Hardware
Sistemele de baze de date sunt, de regulă, instalate pe calculatoarele de uz general, începând de la calculatoarele PC standard până la stațiile cu multiprocesor puternic. Desigur că performanțele generale de operare ale calculatorului influențează în mod direct performanțele sistemului de baze de date, însă ceea ce ne interesează în mod special în utilizarea unui calculator pentru un sistem de baze de date este capacitatea memoriei secundare, utilizată pentru memorarea colecției de date persistente ale bazei de date.
Deoarece într-un sistem de baze de date este important să avem un acces rapid la orice înregistrare de date, pentru memorarea lor se folosesc discurile magnetice, denumite și harddiscuri.
Pentru duplicarea, restaurarea și salvarea datelor se folosesc benzile magnetice, care oferă acces secvențial la înregistrările de date.
1.3.2 Software
Între colecția de date salvate în fișiere pe harddisk, denumită baza de date, și utilizatorii sistemului există un nivel software denumit Sistem de Gestiune a Bazei de Date (SGBD). Cu ajutorul acestui sistem de gestiune a bazei de date, precum și cu ajutorul unui grup de programe de aplicație, o bază de date computerizată poate fi generată și totodată menținută.
Figura 4. Componente ale unui sistem de baze de date
http://webbut.unitbv.ro/Carti%20on-line/Ratiu/BD/Cap.1.pdf
Sistemul de gestiune a bazelor de date (SGBD) este un ansamblu complex de programe care asigură interfața între o bază de date și utilizatorii acesteia, adică este mecanismul prin intermediul căruia aceștia au acces la date. SGBD-ul reprezintă ansamblul de programe care permite crearea bazei de date și manevrarea informațiilor în interiorul acesteia.
Sistemul de gestiune a bazei de date oferă utilizatorilor săi o viziune a bazei de date la un nivel ridicat și îi ferește de obligația de a cunoaște organizarea particulară a sistemului (driverele de disc, structura înregistrărilor de date, etc).
Mai mult de atât, sistemul de gestiune asigură integritatea bazei de date prin protejarea datelor față de accesele neautorizate sau defectele de funcționare.
Deși este cea mai importantă componentă software, pe lângă SGBD mai există și alte constituente precum:
Sistemul de operare – acesta asigură controlul execuției programelor;
Biblioteci și instrumente software (toolset-uri) – sunt folosite pentru proiectarea, dezvoltarea, exploatarea sistemelor și a aplicațiilor de baze de date.
O aplicație de baze de date este definită ca fiind un program ce oferă o oarecare utilizare a unei baze de date.
Pentru a ne asigura că acest concept a fost înțeles, vom oferi un scurt exemplu: În cadrul unei întreprinderi, programul prin intermediul căruia se poate urmări activitatea și menținerea salariaților (încadrare, calificare, salarizare, etc.) folosește informațiile privind angajații dintr-o bază de date, unde acestea au fost memorate.
În principiu, SGBD este un sistem general de programe ce facilitează procesul definirii, construcției și manipulării datelor folosite pentru diferite aplicații. Astfel, aceste acțiuni ce se răsfrâng asupra datelor pot fi definite astfel:
Pentru definirea bazei de date trebuiesc specificate tipurile de date ce vor fi stocate în baza de date, precum și descrierea amănunțită a fiecărui tip de dată;
Construcția bazei de date reprezintă procesul stocării datelor însăși prin mediul controlat prin SGBD.
Prin manipulare se înțeleg o serie de funcții ce facilitează implementarea cererilor pentru găsirea datelor specificate, adăugarea de noi date ce reflectă modificarea contextului, generarea de rapoarte pe baza conținutului bazei de date. În concluzie, pachetul software ce asigură manipularea datelor împreună cu datele însăși formează ceea ce se numește sistemul de baze de date.
Un SGBD oferă utilizatorilor o viziune a datelor stocate în baza de date, nemaifiind necesară cunoașterea organizării particulare a sistemului, asigură o protecție a datelor față de accese neautorizate și de anumite defecte de funcționare.
1.3.3 Utilizatorii
Utilizatorii unui sistem de baze de date se împart în câteva categorii:
Programatorii de aplicații – sunt cei care se ocupă cu dezvoltarea aplicațiilor de baze de date în anumite medii de programare. Aplicațiile pot fi de două tipuri: aplicații desktop (stand alone) și aplicații client-server. Aplicațiile desktop sunt aplicațiile care se instalează și rulează pe un anumit calculator, fiind implementate în medii de programare cum ar fi: Visual Basic, Visual C, Java, C++, Delphi etc. Aplicațiile client-server se instalează pe un calculator numit server și rulează de pe orice calculator aflat în acea rețea. Aceste aplicații sunt aplicații web implementate în limbajul de scripturi php sau asp, cu interfața dezvoltată în html. Pentru ca aceste aplicații să funcționeze trebuie instalat un server de web precum Apache sau IIS pe fiecare calculator de unde va fi accesată aplicația, precum și un browser de web: Internet Explorer, Netscape, Modzilla etc.
Utilizatorii obișnuiți – sunt acei utilizatori care accesează baza de date folosind aplicații de baze de date. Aceștia au drepturi limitate asupra accesului la datele din baza de date, neavând cunoștințe aprofundate asupra structurii și a datelor din acea bază de date.
Administratorul bazei de date – este o persoană autorizată, însărcinată cu administrarea resurselor, autorizarea accesului la baza de date, a coordonării și monitorizării utilizatorilor acelei baze de date. Atunci când este nevoie, acesta efectuează operații periodice de salvare și de refacere a datelor.
1.3.4 Date persistente
Într-o bază de date, datele memorate sunt acele date persistente care ramân salvate pe suport magnetic, indiferent de execuția programelor de aplicații.
Asupra datelor persistente au loc acțiuni precum introducere, ștergere sau actualizare, fiind utilizate date de intrare provenite de la tastatură, din citirea unor fișiere de date sau din recepționarea unor mesaje.
Datele de intrare sunt, în general, date nepersistente, ele fiind generate de utilizatori și memorate (devenind date persistente), numai după ce au fost acceptate, de către SGBD.
Tot nepersistente sunt și datele de ieșire ale unui sistem de baze de date. Acestea provin din operații privind interogarea bazei de date, fiind puse la dispoziția utilizatorului în forme precum: afișări, rapoarte tipărite, etc.
1.4. SISTEMUL DE GESTIUNE A BAZELOR DE DATE (SGBD)
În opinia noastră, în cadrul oricărei organizații este necesar ca resursa de date să fie bine definită și documentată, bine organizată și controlată, partajabilă și relevantă pentru deciziile luate în cadrul organizației.
Într-o altă opinie, Sistemul de gestiune a bazelor de date este un ansamblu complex de programe care asigură interfața între o bază de date și utilizatorii acesteia, adică este mecanismul prin intermediul căruia aceștia au acces la date.
Potrivit definiției constatăm că sistemul de gestiune a bazelor de date trebuie să asigure realizarea unor activități precum:
Definirea structurii bazei de date;
Încărcarea bazei de date;
Accesul la date (interogare, actualizare);
Întreținerea bazei de date (colectarea și refolosirea spațiilor goale, refacerea bazei de date în cazul unui incident);
Reorganizarea bazei de date (restructurarea și modificarea strategiei de acces la date);
Protejarea datelor.
Într-un alt sens, sistemul de gestiune al bazei de date se constituie într-o interfață între utilizator și baza de date, reprezentând mecanismul prin intermediul căruia acesta are acces la date.
În acest context, sistemului de gestiune al bazei de date îi revin o serie de obiective precum:
Asigurarea independenței datelor – Independența datelor poate fi atât independență fizică cât și logică. Independența fizică face ca memorarea datelor și tehnicile fizice de memorare să poată fi modificate fără rescrierea programelor de aplicație. Independența logică se referă la posibilitatea de a adăuga articole de date sau la extinderea structurii conceptuale (globale), fără ca aceasta să impună rescrierea programelor existente.
Asigurarea unei redundanțe minime și controlate a datelor din baza de date – spre deosebire de sistemele clasice de prelucrare automată a datelor, stocarea datelor, în cazul bazelor de date, se face astfel încât fiecare dată să apară o singură dată. Nu sunt excluse cazurile în care, pentru a realiza o performanță sporită, să se accepte o anumită redundanță a datelor, însă în acest caz se va institui un control automat asupra ei în vederea asigurării coerenței datelor din bază.
Asigurarea unor facilități sporite de utilizare a datelor precum:
Folosirea datelor de către mai mulți utilizatori și în diferite scopuri;
Accesul cât mai simplu al utilizatorilor la date, fără ca aceștia să fie nevoiți să cunoască întreaga structură a bazei de date, acest lucru făcând parte din atribuțiile administratorului bazei de date;
Existența unor limbaje performante de regăsire a datelor, care permit exprimarea sub forma unei conversații, a unor criterii de selecție a datelor și indicarea unor reguli cât mai generale pentru editarea informațiilor solicitate;
Utilizarea unui limbaj cât mai apropiat de limbajul natural, oferind posibilitatea exploatării bazei de date în regim conversațional.
Sporirea gradului de securitate a datelor împotriva accesului neautorizat.
Asigurarea integrității datelor împotriva unor ștergeri intenționate sau neintenționate, prin intermediul unor proceduri de validare și de refacere a bazei de date după incidente.
Asigurarea partajabilității datelor – trebuie înțeleasă nu numai sub aspectul asigurării accesului mai multor utilizatori la aceleași date, ci și acela al posibilității dezvoltării unor aplicații fără a fi modificată structura bazei de date.
În concepția Catedrei de Informatică Economică a Academiei de Studii Economice, pentru realizarea obiectivelor enumerate mai sus, sistemele de gestiune a bazelor de date dispun de o serie de componente ce permit efectuarea unor numeroase operații. În funcție de natura lor și de scopul urmărit, operațiile pot fi grupate pe activități. La rândul lor, activitățile acceptă și ele o grupare pe funcții (una sau mai multe activități, relativ omogene, vor realiza o anumită funcție).
Ținând seama de multitudinea sarcinilor ce revin unui sistem de gestiune a bazelor de date și grupând aceste sarcini pe activități și apoi pe funcții, se deduc, în final, funcțiile sistemului de gestiune:
Funcția de descriere a datelor – permite definirea structurii bazei de date cu ajutorul limbajului de definire. Definirea datelor poate fi realizată la nivel logic, conceptual și fizic. La nivelul acestei funcții se descriu atributele din cadrul structurii bazei de date, legăturile dintre entitățile bazelor de date sau dintre atributele aceleiași entități, se definesc eventualele criterii de validare a datelor, metodele de acces la date, aspectele referitoare la asigurarea integrității și confidențialității datelor, etc.
Funcția de manipulare a datelor – este cea mai complexă funcție care realizează activități precum: crearea bazei de date; adăugarea de noi înregistrări; suprimarea unor înregistrări; modificarea valorilor ce corespund unor câmpuri; căutarea, sortarea și editarea parțială sau totală a unei înregistrări virtuale, etc. Funcția de manipulare a datelor se realizează prin intermediul limbajului de manipulare a datelor.
Funcția de utilizare – asigură mulțimea interfețelor necesare în vederea comunicării utilizatorilor cu baza de date. În cadrul realizării acestei funcții, apar mai multe categorii de utilizatori:
Utilizatori “liberi” sau conversaționali – aceștia sunt considerați utilizatori neinformaticieni reprezentând categoria beneficiarilor de informații care utilizează limbajele de interogare a bazei de date într-o formă simplistă.
Utilizatori programatori – aceștia utilizează limbajele de manipulare, realizând proceduri complexe de exploatare a bazei de date;
Administratorul bazei de date – apare ca un utilizator special și are rolul hotărâtor în ceea ce privește funcționarea optimă a întregului sistem.
Funcția de administrare a bazei de date – apare ca o funcție complexă și intră în competența administratorului bazei de date.
Orice SGBD suportă două categorii de limbaje conceptuale:
Limbajele de descriere a datelor – care permit definirea conceptuală a datelor, fără a face referire la modul de memorare fizică a acestora.
Limbajele de manipulare a datelor – care permit specificarea operațiilor de introducere, actualizare, ștergere și interogare a datelor.
În finalul acestui capitol dorim să menționăm faptul că sistemul de gestiune al bazei de date reprezintă ansamblul de programe software care permite crearea bazei de date precum și manevrarea informațiilor în interiorul acesteia.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Baza de Date (ID: 149580)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
