Cauta rapid aici ↑

ADMINISTRAREA UNEI BAZE DE DATE RELATIONALE

BAZE DE DATE. ELEMENTE INTRODUCTIVE

Procesarea clasica a datelor a presupus organizarea acestora sub forma de fisiere. Fisierul de date este definit ca o colectie de date omogene, din punctul de vedere al naturii continutului informative si criteriilor de prelucrare el este stocat pe o memorie externa in concordanta cu restrictiile inpuse de procesul de prelucrare automata a datelor, pentru satisfacerea cerintelor ale unuia sau mai multi utilizatori.

Fisierul reprezinta un ansamblu de date ce poate fi manipulate de mai multi utilizatori intr-o viziune unica asupra datelor. Viziunile multiple ar putea fi obtinute prin sortarea datelor, modificarea structurii si regruparea fisierelor, fapt ce a determinat inlocuirea progresiva a fisierelor cu bazele de date.

CONCEPTUL DE BAZE DE DATE

INFORMATII SI PROCESE INFORMATIONALE

Una dintre caracteristicile ultimilor ani este explozia informational. Volumul imens de informatii nu mai poate fi utilizat efficient prin intermediul metodelor traditionale. Prelucrarea automata a informatiilor cu ajutorul sistemelor electronice de calcul a devenit o necesitate pentru toate domeniile de activitate. Cea mai avansata metoda de organizare a informatiilor in vederea prelucrarii lor automate o intalnim la bazele de date.

CLASIFICAREA INFORMATIILOR

Informatiile pot fi clasificate dupa forma, natura si suportul lor.Dupa forma pe care o au, informatiile pot fi:

  • Analogice - reprezentate prin marimi fizice, sunete sau imagini in forma fizica specifica dispozitivelor tehnice care le prelucreaza, fara a se utilize codificari numerice.
  • Digitale - reprezentate pe baza codificarilor numerice ale unui fenomen real sau unei forme analogice. Pe suport, informatia va aparea ca o succesiune de valori binare corespunzatoare acelor coduri.

In mod normal pentru transformarea informatiei dintr-o forma numerica intr-una analogica se folosesc dispositive de conversie. Codificarea trebuie sa fie exacta astfel incat sa nu existe pierderi sau alterari de informative. Utilizarea calculatoarelor si retelelor de calculatoare pentru memorarea, procesarea si transmiterea informatiei digitale are ca efecte evidente cresterea vitezei de transfer si a capacitatii de memorare, regasirea rapida a informatiei si costul de prelucrare relative redus.

Sistemele informatice de birou prelucreaza usual informatia sub forma digitala, doar un numar redus de dispositive periferice conexe gestioneaza informatiile analogice.

Dupa natural or, informatiile pot fi:

  • Date numerice - alfabetice sau alfanumerice prelucrate prin operatii specific.
  • Documente - continand cuvinte organizate in paragrafe, fraze, pagini, prelucrate de programe special cu facilitate de tehnoredactare, aranjare in pagina, control ortografic si syntactic. Majoritatea editoarelor de documente permit introducerea si prelucrarea, eventual prin intermediul unor programe specializate, a unor obiecte care nu sunt text, cum ar fi: tabelele, imagini, desene, reprezentari grafice. Imprimantele moderne pot reda cu acuratete imaginile grafice, dar exista si dispozitive specializate in tiparirea schitelor, proiectelor tehnice si a imaginilor de dimensiuni mari (plottere).
  • Secvente audio - generatoare de voce umana, fenomene reale, instrumente musicale sau sintetizatoare electronice. Sistemele de operare Windows contin utilitare pentru prelucrarea informatiilor audio.
  • Secvente video - de tipul filmelor sau imaginilor animate pot fi gestionate de camera de luat vederi sau programe de grafica bidimensionala si tridimensionala. Imaginile pot fi insotite de secvente audio.

Sistemele care integreaza prelucrarea informatiilor uzuale cu cea audio si video se numesc sisteme multimedia. Toate sistemele de operare moderne suporta component hardware si utilitare software capabile sa prelucreze sis a integreze informatiile cu caracter multimedia.

PRELUCRAREA AUTOMATA A INFORMATIEI

Exista o gama larga de prelucrari auautomate ale informatiei. Ele se pot clasifica dupa tipul informatiilor prelucrate in:

  • Procesarea de documente - se refera la operatii de editare a textelor la care se adauga facilitate special de prelucrare a acestora: formatare, operatii lingvistice de tipul despartirii in silabe, verificarea ortografiei si partial a sintaxei. Textele editate pot fi consultate pe ecran, tiparite pe hartie, folii etc., transmise la distant sau eventual introduse in noi procese de prelucrare. Majoritatea editoarelor de documente ofera facilitate suplimentare de creare si prelucrare de tabele, formule, imagini si reprezentari grafice. Imaginile si reprezentarile grafice pot fi introduse direct din procesorul de documente (produsul soft folosit) sau pot fi preluate din alte aplicatii: create cu produse soft specializate si “importate” in editorul de documente. De exemplu, se pot introduce intr-un document imagini sau fotografii scanate si prelucrate cu un soft specific, cel mai popular Photoshop.
  • Procesarea sunetului - se refera atat la vocea umana cat si la muzica, sunete natural sau obtinute prin sinteza electronic. Informatiile audio sunt convertite din forma analogica in forma digitala si apoi sunt prelucrate de catre echipamente si programe specializate in tratarea informatiei audio.
  • Procesarea imaginilor - completeaza gama de facilitate multimedia. Un produs des utilizat pentru prelucrarea imaginilor statice este Corel Draw, dar pentru procesari mai simple se poate utilize si Paint. Cel mai simplu mod de retinere a unei imagini este “harta de biti” (poza cu extensia .bmp) care reprezinta ecranul ca o matrice de puncte luminoase (pixeli) si codifica culoarea fiecarui pixel. Evident, acest stil de memorare duce la crearea unor fisiere de dimensiuni destul de mari. Preocuparile de creare a unui sistem de codificare a imaginilor statice care sa realizeze simultan o compresie a acestora, au dus la aparitia standardului JPEG. Informatia vizuala dinamica este rezultatul afisarii si perceperii unui numar de imagini succesive pe unitatea de timp (maxim 25 de imagini pe secunda), acestea genereaza privitorului senzatia de miscare. Evident dimensiunile fisierelor care contin imagini animate vor fi mult mai mari decat ale celor statice. Prin codificarea acestor informatii pe un spatiu cat mai mic si cu pierderi de informatii neglijabile s-a dezvoltat standardul MPEG, care foloseste codificarea JPEG pentru fiecare cadru. Pentru a putea face o comparative intre spatial necesar pentru retinerea imaginilor statice si a celor dinamice, mentionam ca un film codificat in formatul MPEG ocupa aproximativ 4GB. JPEG si MPEG au fost adoptate ca standard international in anul 1993. Uzual prelucrarea informatiei video este insotita si de prelucrarea informatiei audio. Sursele de informatie video sunt diverse, de exemplu imagini obtinute cu camera de filmat, imagini transmise prin sisteme de comunicatii specializate, imagini realizate cu ajutorul calculatorului, folosind diverse dispozitive fizice si logice. Evident, fiecare dispozitiv video cuplat la computer trebuie sa aibe si un driver de interfata logica (programul care asigura comunicarea calculatorului cu dispozitivul).
  • Procesari de date - informatia preponderant numerica intervine in calculi matematice si logice necesare in diverse domenii. Datele organizate sub forma de fisiere de date se manipuleaza prin operatii elementare de copier, mutare, stergere sau pot fi accesate si modificate component ale lor prin intermediul unor programe scrise in diferite limbaje de programare.

Cele mai cunoscute sisteme de gestiune a bazelor de date relationale care s-au inpus inaintea de aparitia PC-urilor sunt SQL (Structured Query Language) si QBE (Query By Example). Aparitia PC-urilor a reorientat a reorientat specialistii in baze de date. Astfel, au aparut numeroase sisteme de gestiune a bazelor de date de tip relational pentru PC-urile autonome sau conectate in retelele locale. Datele din fisierele organizate sub forma de foi de calcul electronic sunt prelucrate de procesoare de tabele (tabelatoare): Lotus, Excel, QuattroPro cu care operarea asupra datelor devine foarte facila.

Pe langa realizarea de programe de prelucrare a datelor, o activitate la fel de importanta este aceea de organizare a datelor in scopul prelucrarii. Pentru a putea realize aplicatii eficiente este necesar ca datele prelucrate sa fie stocate intr-o structura bine pusa la punct si in acelasi timp si programele de prelucrare sa corespunda cerintelor.

O baza de date poate fi definita ca un ansamblu de date elementare sau structurate, accesibile unui grup de utilizatori. Ea este un ansamblu de fisiere intercorelate care contine nucleul de date necesare unui sistem informatic.

O baza de date este formata dintr-o colectie organizata de date. Aceste date se prelucreaza cu un sistem de gestiune a bazelor de date. De obicei, in texte se foloseste notatia BD pentru bazele de date si notatia SGBD pentru sistemele de gestiune a bazelor de date.

CONCEPTUL DE SISTEM DE BAZE DE DATE

Un sistem BD reprezinta un ansamblu de elemente hardware, software si alte resurse, inclusiv date prin care sunt create, utilizate si intretinute una sau mai multe BD.

ARHITECTURA SGBD

Arhitectura sistemului de baze de date este formata din urmatoarele component:

  • Baza / bazele de date care reprezinta componenta de tip date a sistemului.
  • Sistemul de gestiune al bazei / bazelor de date care constituie ansamblul de programe prin care se asigura gestionarea si prelucrarea complexa a datelor si care reprezinta componenta software a sistemului de baze de date.
  • Alte component, cum ar fi: proceduri manuale si automate, inclusiv reglementari administrative destinate unei bune functionary a sistemului, dictionarul bazei de date, mijloacele hardware utilizate, personalul implicat reprezentat de diferite categorii de utilizatori finali si personal de specialitate.

TIPURI DE BAZE DE DATE

Principalele tipuri de baze de date cunoscute in prezent sunt:

  • Baze de date ierarhice
  • Baze de date reticulare
  • Baze de date relationale

Aceste tipuri de baze de date difera intre ele prin modul de organizare a datelor. Bazele de date ierarhice sunt baze in care un element este aflat in relatie cu cel mult un element situat la nivelul imediat superior si optional cu mai multe elemente situate la nivelul inferior. Bazele de date reticulare sunt baze in care un element poate fi in relatie atat cu mai multe elemente aflate la nivelul imediat superior, cat si cu mai multe elemente aflate la nivelul imediat inferior.

Bazele de date relationale sunt cele mai raspandite. Ele se constituie din date care se prezinta sub forma de tabele.

OBIECTIVELE BAZELOR DE DATE

Obiestivele fundamentale ale unei baze de date sunt urmatoarele:

  • Centralizarea datelor
  • Independenta dintre date si prelucrari
  • Realizarea de legaturi intre entitatile de date
  • Integritatea datelor
  • Securitatea datelor
  • Confidentialitatea
  • Partajarea datelor

Datele din BD sunt persistente, adica sunt pastrate pentru o anumita perioada de timp care poate fi mai mare sau mai mica. Datele se cer a fi memorate si eventual transportate de la sursa la locul de stocare sau de la locul de stocare la cel de utilizare.

Starea unei BD reprezinta intregul ansamblu de date (fapte sau asertiuni pozitive) intr-un anumit moment.

Datele se schimba in timp datorita procedurii unor evenimente externe sau interne. Aceste schimbari pot fi gandite ca fenomene distincte ce determina trecerea BD printr-un numar de stari.

O BD denota integritate atunci cand reflecta cu acuratete realitatea. Unele stari posibile ale BD pot fi valide, altele nu.

Conservarea integritatii datelor este procesul prin care se asigura tranzitia BD numai prin stari valide.

Integritatea BD este asigurata prin restrictii de integritate care reprezinta reguli ce stabilesc modul in care BD poate ramane o reflectare corecta, exacta a realitatii.

Restrictiile de integritate pot fi statice si de tranzitie. O restrictive statica este un invariant al starii, in timp ce restrictiile de tranzitie vizeaza tranzitiile de stare ale BD.

O BD trebuie sa asigure posibilitatea accesului concomitent a mai multor utilizatori de date. Pentru fiecare din acestia se pot stabili tipurile de operatii asupra datelor pe care au dreptul sa le execute. Indiferent de drepturile de acces pe care le detin utilizatorii, organizarea datelor in BD trebuie sa fie transparent pentru utilizatori, in sensul ca modificarile in organizarea datelor nu trebuie sa afecteze programele de aplicatie.

In concluzie, o BD trebuie sa asigure abstractizarea datelor, integritatea datelor, integrarea datelor, securizarea datelor, partajarea datelor precum si independenta datelor.

ORGANIZAREA DATELOR IN BD

EVOLUTIA ORGANIZARII DATELOR

Organizarea datelor a evoluat odata cu cresterea gradului de automatizare si de dificultate a problemelor rezolvate cu ajutorul calculatorului.

In prezente informatia este o componenta esentiala in desfasurarea oricarei activitati. Deoarece influenteaza procesul de luare a deciziilor, informatia trebuie sa fie disponibila in timp util, corecta, coerenta si neredundanta. Cum satisfacem aceste cerinte in conditiile in care volumul datelor ce trebuie prelucrate este in continua crestere? Evident, sunt necesare sisteme care sa asigure culegerea, memorarea, organizarea, regasirea si prelucrarea acestora. Aceste activitati in informatica sunt legate nemijlocit de notiunea de baza de date.

Evolutia organizarii datelor in memoria externa a urmarit asigurarea unor salturi calitative in ceea ce priveste flexibilitatea descrierii si utilizarii datelor, reducerea folosirii resurselor computerului, cresterea protectiei datelor etc.

Aplicatiile de baze de date se caracterizeaza in primul rand prin faptul ca majoritatea prelucrarilor care se fac sunt cele de memorare si regasire a datelor. In general operatiile de prelucrare sunt destul de simple spre deosebire de alte domenii ale informaticii. De exemplu, in domeniul tehnic predomina operatiile de calcul cu o complexitate destul de ridicata. Cea mai frecventa operatie care apare intr-o aplicatie de baze de date este aceea de consultare a datelor. De ce sa cream o baza de date daca nu o folosim?

Alte operatii folosite, pe langa cea de consultare sunt:

  • Introducerea unor date noi
  • Modificarea unor date existente
  • Stergerea unor date perimate

Prin organizarea datelor in baze de date se asigura centralizarea acestora, fapt care duce la o serie de avantaje:

  • Reducerea redundantei datelor - Daca fiecare aplicatie lucreaza cu fisiere proprii, este posibil ca aceleasi date sa apara de mai multe ori in fisiere diferite. In cazul centralizarii datelor, administratorul bazei de date poate organiza datele astfel incat toate aplicatiile sa foloseasca aceleasi fisiere. Astfel se obtine o economie importanta de spatiu de memorie si nu numai atat.
  • Evitarea inconsistentei datelor - Duplicarea datelor in fisiere diferite poate crea problem de actualizare si este posibil ca prin actualizari partiale sa avem valori diferite pentru una si aceasi entitate.
  • Posibilitatea partajarii datelor - Se refera la posibilitatea utilizari datelor in comun de catre mai multi utilizatori si la posibilitatea dezvoltarii de noi aplicatii folosind datele deja existente.
  • Incurajarea utilizarii unor standard - Administratorul bazei de date poate impune alinierea la numite standarde, fapt care permite ulterior un transfer rapid al datelor de pe o platform pe alta.
  • Posibilitatea protejarii datelor - Administratorul bazei de date, avand un control centralizat al datelor poate introduce diferite restrictii de acces la date pentru fiecare categorie de utilizatori.
  • Mentinerea integritatii datelor - Baza de date trebuie sa contina in permanenta date corecte. Aceasta presupune date coerente si plauzibile, fapt care poate fi garantat de procedurile de validare utilizate.
  • Independenta datelor - Intr-o aplicatie scrisa intr-un limbaj clasic de programare, cunostintele despre structura datelor si tehnicile de accesare a acestora sunt fixate in programe. Orice schimbare in modul de reprezentare sau accesare face imposibila utilizarea aplicatiei, in acest caz trebuind rescrise toate programele care refera aceste date. Independenta datelor, garantata de utilizarea bazelor de date, presupune independenta aplicatiei de modul de prezentare a datelor si de tehnicile de acces utilizate.

Trebuie facuta o precizare. Faptul ca utilizam un SGBD foarte popular la un moment dat nu ne garanteaza automat obtinerea acestor avantaje. Administratorul bazei de date trebuie sa aibe o viziune de ansamblu asupra problemei care trebuie rezolvata, sa cunoasca toate datele problemei si facilitatile oferite de SGBD-ul folosit pentru a putea beneficia de avantajele prezentate. In primul rand, trebuie sa aibe cunostinte serioase despre proiectarea aplicatiilor de baze de date. Simplul fapt de a cunoaste un limbaj de programare nu este intotdeauna sufficient, pe de alta parte, poate ca uneori nici nu este necesar, dar intotdeauna acest lucru va reprezenta un avantaj.

Structura de date constituie o colectie de date intre care s-au stabilit anumite legaturi care conduc la un anumit mod de identificare si de selectare a componentelor.

Operatiile asupra unei structure de date sunt: crearea, consolarea, actualizarea, ordonarea, interclasarea, fuzionarea, copierea etc. Structurile logice de date pot fi:

  • Punctuale
  • Liniare
  • Arborescente
  • Tip retea
  • Relationale
  • Pe obiecte

MODELE DE ORGANIZARE A DATELOR IN BD

MODELE LOGICE ALE DATELOR IN BD

Totalizarea datelor dintr-o BD constituie extensia sau partea extensionala a BD. In afara partii extensionale, o BD prezinta si o parte intensionala.

Intensia unei BD reprezinta setul de definitii prin care este descrisa structura unei BD, purtand si numele de schema BD sau modelul datelor din cadrul BD. Modelul de date constituie un ansamblu de concept si instrumente necesar pentru a construi o schema a bazei de date. Un model al datelor poate viza totalitatea datelor din cadrul BD sau o parte a acestora.

Organizarea datelor pe suportul de memorare este reprezentata prin modelele fizice ale datelor din BD.

Pot fi puse in evident trei generate de modele logice ale datelor si anume:

  • Modele primitive - In aceste modele structura de baza este inregistrarea, mai multe inregistrari fiind grupate in structure de tip fisier.
  • Modele clasice - Aceste modele mentin o orientare pe inregistrare, dar adauga si o orientare pe ansamblu.
  • Modele semantice - Aceste modele sunt axate pe reprezentarea semnificatiei datelor.

Din acestea ultimile doua generatii sunt specific bazelor de date. Un model logic de date folosit pentru bazele de date este definit prin trei elemente:

  • Structura datelor - Definirea structurii datelor presupune definirea entitatilor si a caracteristiciilor associate, precum si definirea legaturilor intre entitati. Asocierea poate fi: unu la unu sau “one-to-one” (tip liniar), unu la mai multi sau “one-to-many” (tip arborescent), mai multi la mai multi sau “many-to-many” (tip retea) sau neprecizat in totalitate.
  • Operatorii modelului - Acestia actioneaza asupra structurilor de date pentru manipularea datelor.
  • Restrictiile de integritate - Reprezinta restrictiile ce asigura mentinerea corectitudinii datelor.

NIVELURI DE ORGANIZARE A DATELOR INTR-O BAZA DE DATE

Datele dintr-o baza de date pot fi structurate pe trei niveluri:

  • Nivelul conceptual - Exprima viziunea administratorului BD asupra datelor. Acestui nivel ii corespunde structura conceptuala a BD prin care se realizeaza o descriere a tuturor datelor intr-un mod independent de aplicatii, acest lucru oferind posibilitatea administrarii datelor.
  • Nivelul logic - Exprima viziunea programatorului de aplicatie asupra datelor. La acest nivel se vorbeste de schema externa sau subschema BD prin care se realizeaza o descriere a datelor corespunzatoare unui anumit program de aplicatie.
  • Nivelul fizic - Exprima viziunea inginerului de sistem asupra datelor. Corespunde schemei interne a BD prin care se realizeaza o descriere a datelor pe suportul fizic de memorare.

Spre deosebire de organizarea datelor intr-o BD, organizarea in fisiere prezinta numai nivelurile logic si fizic.

TIPURI DE DATE IN BD

Datele stocate intr-o baza de date pot fi de mai multe tipuri. De exemplu: date numerice, texte, grafice, animatie, imagini statice, imagini dinamice (video), sunete etc. Aceste date pot fi generate de calculator sau captate din realitate si convertite in forma digitale. In functie de sursa lor datele sunt impartite usual in patru clase si anume:

  • Date generate de calculator, statice (datele numerice, alfanumerice, textile, graficele).
  • Date generate de calculator cu redare continua (animatia).
  • Date generate de realitate, statice (de tipul imaginilor nemiscate).
  • Date generate de realitate cu redare continua (date tip sunet si imagine in miscare).

Datele analogice au reprezentat mult timp forma de stocare si transport a datelor captate din realitate. Sistemele analogice asigura o acuratete a datelor care depinde de parametric precum tolerant componentelor, temperature etc. Sistemele analogice pot produce un sistem variabil, neexistand doua sisteme analogice identice. Sistemele analogice reclama o schimbare de hardware pentru orice schimbare functional.

Transpunerea datelor analogice in format digital presupune esantionarea acestora pe interval fixe si convertirea in forma digitizata, pe baza cuantificari. Procesul de cuantificare aproxineaza nivelul digital la cel mai apropiat nivel discret. Aproximarea conduce la o eroare. Cu cat sunt mai multe niveluri de cuantificare cu atat eroarea este mai mica. Odata digitizate datele, este relative simplu sa le memoram impreuna cu alte date obtinute din alte surse in format digital. Memorarea si transferul in forma digitizata sunt mai putin afectate de zgomote, pot fi adaugate date suplimentare, prelucrarea fiind relative usoara; un singur tip de mediu de memorare permite stocarea mai multor tipuri de date, iar datele stocate nu se degradeaza in timp. Sistemele digitale nu prezinta o variabilitate a comportamentului, asa cum se intampla cu sistemele analogica, fiind totodata mult mai adaptabile, in sensul ca pot fi programate.

Conversia datelor reprezinta procesul de transformare a datelor in scopul asigurarii conditiilor pentru o mai buna memorare, transferare si utilizare.

Conversia se realizeaza atat pentru datele digitale, cat si pentru cele analogice dar cu aspecte specific pentru fiecare dintre acestea. Utilizarea mai multor tipuri de date in cadrul sistemelor baza de date, in special celor audio si video, s-a reflectat in utilizarea pe scara din ce in ce mai larga in domeniul bazelor de date, a tehnologiilor multimedia in scopul realizarii de sisteme baza de date multimedia. Un tip special de date sunt datele spatial cartografice utilizate in cadrul sistemelor baza de date geografice si al celor de proiectare asistata de calculator.

ARHITECTURA UNEI BAZE DE DATE

Arhitectura clasica a unei baze de date este organizata pe trei niveluri:

  • Nivelul extern sau utilizator
  • Nivelul conceptual
  • Nivelul intern

Modelul extern este cel mai apropiat de utilizator si cuprinde descrierea structurii logice a datelor referitoare la aplicatiile fiecarui utilizator. Observam ca fiecare utilizator vede altfel baza de date, desi ea este unica si este memorata intr-un mod ascuns tuturor. Modelul conceptual cuprinde descrierea structurii datelor si a legaturilor dintre acestea pentru intreaga baza de date. Modelul conceptual este independent de modul de memorare a datelor, fapt care garanteaza independenta datelor.

Modelul intern defineste modul de memorare a datelor si tehnicile de accesare a acestora. La acest nivel se defineste, pentru fiecare camp, modul de reprezentare interna. Baza de date apare ca o colectie de fisiere avand diferite moduri de organizare, fisierele continand datele care formeaza baza de date. Acest nivel este cel mai apropiat de sistemul de operare. Scopurile urmarite in alegerea modelului intern sunt minimalizarea spatiului utilizat si a timpilor de acces la date.

Cum rezolva SGBD –ul o cerere de acces pe care o face un utilizator? SGBD –ul interpreteaza aceasta cerere in conformitate cu modelul extern al utilizatorului respectiv si gaseste corespondenta dintre modelul extern al acestuia si modelul conceptual. In continuare el determina componentele modelului conceptual care vor intervene in rezolvarea cererii si face un acces la acestea p baza corespondentei dintre modelul conceptual si modelul intern. Dupa ce au fost identificate toate datele necesare, se revine din nou la modelul extern si apoi acestea sunt integrate si prezentate in final utilizatorului.

Trebuie precizat faptul ca modelul prezentat mai sus nu este intotdeauna respectat integral. Multe SGBD –uri nu fac o dinstinctie neta intre modelul conceptual sic el intern. Scopul urmarit aici este de a pune in evident acea parte a bazei de date, care prin stabilitatea ei garanteaza independenta aplicatiilor fata de structura datelor si coerenta informatiilor memorate in baza de date.

Vom vedea in viitor ca atunci cand se descrie o componenta a unei baze de date se precizeaza pentru fiecare camp si tipul acestuia. Acest lucru este firesc deoarece atunci cand proiectam o baza de date avem in vedere si operatiile de prelucrare care se vor face. Daca avem de efectuat operatii aritmetice, atunci valorile introduse trebuie sa fie neaparat de tip numeric, acestea nu pot fi siruri de caractere.

Modelul conceptual este inima oricarei baze de date si de aceea proiectarea acestuia este deosebit de importanta, deoarece felul in care este rezolvata aceasta problema depinde soarta aplicatiilor care vor exploata baza de date. Daca acesta este atent proiectat aplicatiile se vor realize relative usor si vor fi fiabile. In caz contrar vor aparea mereu problem pentru rezolvarea carora va trebui sa apelam de multe ori la improvizatii.

MODELE DE ORGANIZARE A DATELOR

MODELUL RELATIONAL

Principiile modelului relational au fost pentru prima data expuse de dr.E.F.Codd care in iunie 1970 a publicat un anumit articol “Un model relational de date pentru banci de date”. In acest articol a propus modelul relational pentru sistemele de baza de date. El a fost primul care a inteles ca rigoarea matematica poate fi folosita pentru a introduce principia in domeniul gestiunii bazelor de date, domeniu care era deficitar la acest capitol. Modelul relational este un model abstract care are la baza fundamente matematice solide. Se caracterizeaza printr-o tehnica de descriere a datelor cu ajutorul tabelelor si o tehnica de manipulare a acestora cu ajutorul unor operatori specifici calculului relational si / sau algebrei relationale, concretizati prin utilizarea unor limbaje specific, cum ar fi QBE (Query by Example) sau SQL (Structured Query Language). Larga sa raspandire a modelului relational de baze de date se datoreaza si faptului ca celelante tipuri de baze de date se pot reduce usor la bazele de tip relational.

Baza de date relationala este perceputa de utilizatorii sai ca o colectie de tabele bidimensionale, care sunt usor de inteles. Sunt doar patru concept de inteles: tabele, coloane, randuri si campuri.

Modelul relational imita procesele unei ramuri a algebrei cunoscuta sub numele de algebra relationala. Aceste procese implica:

  • O colectie de obiecte cunoscute sub numele de relatii.
  • O multime de operator ice actioneaza asupra relatiilor pentru a produce noi relatii.

O relatie poate fi inteleasa ca o tabela. Modificarea datelor este realizata prin operatiile relationale aplicate asupra tabelelor.

O baza de date simpla este organizata sub forma unui table, in care coloanele poarta numele de campuri iar liniile se numesc inregistrari, capul de table fiind echivalentul structurii bazei de date.

Pentru a putea introduce date in aceasta baza de date, trebuie create mai intai structura necesara. Aceasta faza dinstincta poarta numele de crearea bazei de date. Crearea structurii unei baze de date presupune specificarea tuturor campurilor care alcatuiesc aceasta baza de date, cat si a caracteristicilor acestora.

Un camp se caracterizeaza prin:

  • Numele campului - este un sir de caractere si reprezinta un nume symbolic prin care acest camp se identifica.
  • Tipul campului - are scopul de a identifica tipul datelor care pot fi memorate in campul respectiv, de exemplu daca se vor introduce numai numere, date calendaristice sau orice alt caracter.
  • Lungimea campului - este un numar care arata numarul maxim de caractere care pot fi introduse in campul respectiv. Daca numarul este insuficient datele ar putea fi trunchiate si atunci este evident ca dimensiunea campurilor este un element foarte important in conceperea unei tabele.
  • Numarul de zecimale - are sens numai pentru tipul de camp numeric si indica numarul de cifre ce pot fi introduse dupa punctul zecimal.

Dupa definirea structurii unei tabele se poate trece la exploatarea sa. Operatiile care pot avea loc sunt:

  • Introducerea de date
  • Modificarea unor date deja introduse
  • Strgerea unor date din tabele
  • Cautari de date care trebuie sa indeplineasca anumite conditii
  • Selectii de date dupa anumite criteria

Modul de lucru cu bazele de date este urmatorul. Mai intai se deschide baza de date dorita, se efectueaza prelucrarile dorite iar la sfarsit aceasta trebuie inchisa. Deschiderea unei baze de date presupune din partea sistemului atribuirea unei zone de lucru. Aceasta este o zona de memorie in care sunt stocate anumite informatii necesare manipularii bazei de date respective, cum ar fi locul unde se afla pe disc fisierul ce contine tabela respective, numarul de inregistrari etc. Prin inchiderea tabelei / fisierului aceasta atribuire se anuleaza, zona de lucru fiind facuta disponibila unei alte tabele. Un SGBD poate lucre cu mai multe tabele simultan, astfel incat se pot atribui mai multe zone de lucru. Controlul este lasat utilizatorului, care poate gestiona singur aceste zone.

Accesarea datelor dintr-o tabela se face la nivel de inregistrare. Aceasta inseamna ca la un moment dat se pot citi sau scrie date intr-o singura inregistrare, numita inregistrarea curenta. Aceasta este de fapt identificata printr-un numar care reprezinta pozitia in ordinea fizica a acestor inregistrari. Pentru accesarea datelor din alta inregistrare decat cea curenta, se modifica indicatorul inregistrarii create, astfel incat acesta sa indice inregistrarea dorita.

PROPRIETATI ALE BAZELOR DE DATE RELATIONALE

  • O baza de date relationala apare ca o colectie de relatii (tabele) catre utilizator.
  • Formatul coloanei / randului este familiar si usor pentru vizualizarea datelor.
  • Exista o multime de operatori pentru partitionarea si combinarea relatiilor (selectia, proiectia, produsul, joinul, uniunea, intersectia, diferenta).
  • Conexiunile sunt facute numai pe baza datelor.
  • Limbajul utilizat pentru interogarea bazei de date este nonprocedural si similar limbi engleze.
  • Utilizatorul nu arata calea de acces si nu are nevoie sa stie cum este aranjata fizic informatia.
  • Comenzile pentru refacerea datelor si acelea pentru realizarea schimbarilor in baza de date pot fi incluse intr-un singur limbaj SQL
  • Exista o independenta totala a datelor.

PROPRIETATILE IDEALE ALE RELATIILOR TABELARE

O singura tabela are urmatoarele proprietati:

  • Nu exista randuri duplicate
  • Nu exista nume de coloana duplicate
  • Ordinea randurilor nu este importanta
  • Ordinea coloanelor nu este importanta
  • Valorile sunt atomic (nu pot fi descompuse)

In functie de modul de abordare in constructia si utilizarea unui SGBD, pot aparea abateri de la proprietatile descries mai sus.

OPERATORI RELATIONALI

RELATIADESCRIEREA
ReuniuneaAfiseaza toate randurile care apar in una, in cealanta sau in ambele din cele doua relatii.
IntersectiaAfiseaza toate randurile care apar in ambele din cele doua relatii.
DiferentaAfiseaza randurile care apar intr-una dintre relatii si nu apar in cealanta.
Produs cartezianEste rezultatul obtinut cand randurile a doua multimi de date sunt concatenate conform conditiilor specificate.
JoinEste rezultatul obtinut cand randurile a doua multimi de date sunt concatenate conform conditiilor specificate.
ProiectiaEste operatia care afiseaza anumite coloane din relatie si de aceea este numite submultime verticala
RestrictiaEste o operatie care preia si afiseaza datele din relatie.Este posibil sa se afiseze toate randurile sau doar randurile care indeplinesc o conditie sau mai multe conditii. Aceasta este de multe ori numita submultime orizontala

DOMENIU, ATRIBUT RELATIE

Un domeniu este o multime de valori scalare (atomice) care nu pot fi descompuse, fiind de acelasi tip.
Cu aceste valori se pot efectua mai multe operatii, de exemplu:

  • Cu majoritatea acestor valori se pot face comparatii
  • Cu unele valori se pot face si alte operatii: o cantitate poate fi inmultita cu un pret (rezultand o valoare), un pret poate fi inmultit cu o valoare (in cazul unei asezari) s.a.m.d.

Un atribut al unei clase de entitati este o caracteristica (proprietate) care ia valori intr-un anumid domeniu. O definitie pentru notiunea de relatie se compune din doua parti:

  • Antetul relatiei - este o multime de attribute definite fiecare pe cate un domeniu de valori
  • Corpul relatiei - este o multime de valori ale atributelor definite in cadrul antetului. Aceste valori nu pot fi numite tupluri.

Numarul de attribute ale relatiei reprezinta gradul relatiei iar numarul de tupluri reprezinta cardinalitatea relatiei.

Din definitia de mai sus a notiunii de relatie rezulta urmatoarele proprietati:

  • Atributele nu sunt ordonate (ordinea lor nu este semnificativa). Aceasta proprietate rezulta din faptul ca antetul este definit ca o multime de attribute (intr-o multime ordinea elementelor nu este semnificativa).
  • Atributele sunt distincte (chiar daca pot exista doua attribute definite pe acelasi domeniu), deoarece elementele unei multimi sunt distincte.
  • In cadrul corpului relatiei tuplurile nu sunt ordonate - corpul relatiei este definit ca o multime de tupluri.
  • Orice atribut are doar valori atomice – Aceasta proprietate poata fi descrisa si altfel: “La intersectia dintre o linie si o coloana se afla intotdeauna o singura valoare si niciodata o colectie de valori si de aici rezulta ca o relatie nu contine grupuri repetitive, in acest caz relatia se afla in forma intai normala
  • Nu exista tupluri duplicate – deoarece corpul unei relatii este o multime de tupluri.

Tabelul urmator este o corespondenta intre termini formali (definiti anterior) si termini informali (cei folositi in mod curent in exploatarea bazelor de date relationale).

RelatieTabela
TupluLinie / inregistrare
CardinalitateNumar de linii
AtributColoana / Camp
GradNumar de coloane
DomeniuMultime de valori valide

Corespondenta nu trebuie considerate o echivalenta deoarece exista cateva deosebiri de care trebuie sa tinem seama (este de altfel una dintre diferentele pe care le sesizam intre teorie si practica). Astfel, relatia este o notiune teoretica. Tabela este un obiect concret care are o anumita reprezentare in calculator - sub forma unui tablou bidimensional. Intr-o relatie ordinea atributelor si a tuplurilor nu este semnificativa. Intr-o tabela exista o ordonare atat a coloanelor, data de ordinea acestora la crearea tabelei, cat si a liniilor, data de ordinea in care acestea au fost introduse sau de ordinea unei chei care induce o anumita ordonare a liniilor in cadrul tabelei. O relatie este formata intotdeauna din tupluri distincte. In multe cazuri o tabela poate avea linii duplicate.

CHEI

O cheie candidate a unei relatii R este o multime K de attribute cu urmatoarele proprietati:

  • Identificare unica - nu exista doua tupluri distincte in R care sa aibe aceeasi valoare pentru setul de attribute K, cu alte cuvinte, multimea K de attribute identifica in mod unic fiecare tuplu al relatiei R.
  • Nereductibilitate - nu exista o submultime proprie a lui K care sa aiba proprietatea de identificare unica.

O cheie este simpla daca este formata dintr-un singur atribut, in caz contrar, ea se numeste compusa.

O relatie poate avea mai multe chei candidate, una dintre acestea se allege pentru a fi folosita in aplicatiile drept cheie de identificare a tuplurilor.

Cheia candidate folosita in acest scop se numeste cheie primara. De obicei se folosesc in acest scop chei ce reprezinta coduri ale inregistrarilor, deoarece ocupa putin spatiu si accelereaza regasirea informatiilor. In continuare, sa definim notiunea de cheie externa (sau cheie straina) in conexiune cu notiunea de cheie candidate.Facem precizarea ca in majoritatea situatiilor practice, apar legaturi intre tabele care se materializeaza prin coincidenta valorilor cheilor primare si externe.

Sa facem cateva precizari:

  • Prin definitie, fiecare valoare a unei chei externe trebuie sa se regaseasca printre multimea valorilor cheii candidate corespondente; reciproca nu este obligatorie.
  • O cheie externa este simpla daca si numai cheia candidata corespondenta este simpla si este compusa daca si numai daca este cheia candidata corespondenta este compusa.
  • Fiecare atribut component al unei chei externe trebuie sa fie definit pe acelasi domeniu al componentei corespondente din cheia candidata.
  • O valoare a unei chei externe reprezinta o referinta catre un tuplu care contine aceeasi valoare pentru cheia candidata corespondenta, se pune astfel problema integritatii referintei, o baza de date nu trebuie sa contina valori invalide precum chei externe sau altfel spus, daca B prefer pe A, atunci A trebuie sa existe.

Mai clar, ce se intampla daca stergem din tabela Clientii un client pentru care avem cateva linii in tabela Facturii ? Daca operatia de stergere se efectueaza fara nici un control, dupa stergere nu mai este respectata regula integritatii referintei. Aplicatiile care gestioneaza aceste situatii pot propune trei variante:

  • Operatiunea cerutapentru tabela Clientii sa fie respinsa.
  • Operatiunea ceruta pentru tabela Clientii sa fie acceptata indifferent de consecinte.
  • Se poate ca operatiunea ceruta pentru tabela Clientii sa provoace operatii “in cascada” - se actualizeaza sau se sterg toate liniile afectate din tabela Facturii.

Cheile externe se folosesc pentru a implementa legaturile dintre entitati. Legaturile de tip one-to-one si one-to-many se implementeaza introducand in una din tabele o cheie externa care va face legatura cu cheia primara din tabela corespondenta. O legatura de tip many-to-many se implementeaza introducand o tabela suplimentara care are o cheie primara compusa, fiecare element al cheii primare fiind o cheie externa.

NORMALIZAREA BAZELOR DE DATE RELATIONALE

In scopul eliminarii redundantei datelor si a unor anomalii de stocare, baza de date trebuie supusa unui process de normalizare care se desfasoara in mai multe etape. Prin normalizarea relatiilor se intelege obtinerea de relatii atomice fara a pierde nimic din informatii. Tehnica normalizarii se bazeaza pe o serie de forme normale care furnizeaza ameliorari gradate in structura de ansamblu. Normalizarea consta intr-o descompunere reversibila a relatiilor initiale in relatii cu o structura mai simpla fara pierdere de informatii. Reversibilitatea garanteaza ca relatia de plecare poate fi refacuta prin utilizarea unei operatiuni join si astfel descompunerea se face fara pierderi.

Nu intotdeauna aceasta descompunere este eficienta. Aceasta normalizare excesiva poate conduce la relatii prea simple care conduc la fragmentarea informatiilor in prea multe component. Este adevarat ca se inlatura redundant dar aceasta nu poate devein un scop in sine. Operatiunea inversa se numeste denormalizare si se poate realize printr-un join. Avantajele normalizarii sunt:

  • Tabele cu structure mai simple
  • Tabele care ocupa mai putin spatiu fizic
  • Tabele mai stabile si mai flexibile
  • Tabele cu mai putine valori NULL

Prin denormalizare tabelele devin mai mari, dar putem obtine:

  • Tabele mai putine si mai usor de gestionat
  • Mai putine chei externe si operatiuni join

Alegerea exacta a modelului se face in functie de situatia concreta, luand in calcul si alte elemente, cum ar fi viteza de prelucrare sau dimensiunile bazei de date.

MODELUL ARBORESCENT AL DATELOR

Datele sunt reprezentate dupa structura unei ierarhii, cea a unui arbore. Legaturile dintre date vor fi ordonate unic iar accesul se face prin varful ierarhiei (radacina). Un subordonat nu poate avea decat un singur superior direct si nu se poate ajunge la el decat pe o singura cale. Structura de baza este tip inregistrare si grupeaza toate atributele unei entitati. In general pot fi oricate niveluri de subordonare sip e fiecare nivel pot fi oricati dependenti, dar nici un subordonat nu poate exista fara superiorul lui. Legaturile sunt fizice si implementate prin pointeri, fisiere, cu legaturi etc.

MODELUL RETEA AL DATELOR

Datele sunt reprezentate sub forma unei multimi de ierarhi in care un membru al ei poate avea oricati superiori. La un subordonat se poate ajunge pe mai multe cai. Structura de baza este reprezentata prin tipuri de inregistrari (atributele entitatii) si tipul set (legaturile intre entitati). Conexiunile in modelul retea sunt de regula liniare, de tipul unu la mai multi, dar si multi la multi, a caror implementare este complexa. Legaturile sunt fizice si implementate prin pointeri, fisiere cu legaturi etc.

Structura de reprezentare retea poate fi descompusa la nivel logic in structura arborescenta prin acceptarea unei cresteri a redundantei datelor. Aceasta transformare este posibila deoarece orice relatie poate fi descompusa in una sau mai multe relatii.

MODELUL ORIENTAT PE OBIECTE AL DATELOR

Structura de baza folosita este cea de clasa de obiecte definita prin abstractizare din entitatea fizica pe care o regasim in lumea reala. Aici exista entitati simple si clase de entitati care se reprezinta prin obiecte, ordonate in ierarhii de clase si subclase.

Clasele de obiecte reprezinta un tip abstract de date care defineste structura obiectelor din acea clasa (proprietatile) si multimea de metode pentru obiectele respective.

Obiectele sunt o colectie de proprietati care se refera la aceeasi entitate. Aceste proprietatii (atribute) descriu structura de date a obiectului. Un obiect are un nume, un identificator unic, metode, o implementare (care este privata) si o interfata (care este publica).

Metoda defineste operatiile premise (operatorii) asupra obiectului, adica comportamentul acestuia.

Cererile adresate unui obiect pentru a returna o valoare sau pentru a schimba o stare se numesc mesaje.

Modelul obiect confera obiectelor urmatoarele caracteristici mai importante:

  • Incapsularea - descrierea obiectelor se face astfel incat nu exista acces din afara obiectului la datele sale.
  • Polimorfismul - diferitele obiecte pot raspunde diferit la aceleasi mesaje.
  • Mostenirea - reprezinta capacitatea unui obiect de a-si deriva datele si functionalitatea din alt obiect.

Legaturile intre clasele de obiecte pot fi generalizate / specializare si de referinta. Cel de referinta sunt implementate prin identificatorii de obiecte (revenirea la accesul fizic prin pointeri).

OPERATORII MODELULUI

Modelul de prelucrare a obiectelor este specificat prin operatorii modelului orientat pe obiecte. La baza operatiilor dintr-un astfel de model stau mesajele care ajuta obiectele sa comunice intre ele. Principalii operatori ai modelului orientat pe obiecte se refera la actualizarea metodelor, a proprietatilor (atributelor), a claselor, a instantelor etc.

ETAPELE DE REALIZARE A UNEI BAZE DE DATE

Principalele etape de realizare a unei baze de date sunt:

  • Analiza problemei de rezolvat - consta in studiul si descrierea activitatilor pentru care se va organiza baza de date
  • Proiectarea structurii bazei de date - contine ca activitati mai importante alegerea SGBD-ului si proiectarea functiilor bazei de date.
  • Realizarea componentelor logice (programele).
  • Punerea in functiune si exploatarea bazei de date (incarcarea si manipularea datelor).
  • Intretinerea (dezvoltarea) bazei de date.

ADMINISTRAREA BAZELOR DE DATE

Administrarea bazei de date se refera la controlul informatiilor din baza de date. Persoana sau grupul de personae care are astfel de sarcini se numeste administratorul bazei de date iar functiile indeplinite formeaza administrarea bazei de date.

Administratorul bazei de date trebuie sa aibe experienta de analiza, proiectare si programare, intrucat activitatea pe care o desfasoara implica lucrul pe mai multe niveluri si anume:

  • Nivelul global la care este stabilita schema conceptuala a bazei de date.
  • Nivelul aplicatiilor la care este definita schema logica sau externa a bazei de date.
  • Nivelul fizic la care este definita schema interna a bazei de date (structura fizica a datelor).

PROIECTAREA MODELELOR EXTERNE PENTRU FIECARE CATEGORIE DE UTILIZATORI

Adinistratorul bazei de date se informeaza in legatura cu cerintele acestora si eventual balanseaza cerintele conflictuale. Aceasta se realizeaza printr-o alegere atenta a modelului intern.

ALEGEREA INFORMATIILOR CE VOR FI STOCATE IN BAZA DE DATE

Pe baza informatiilor pe care le primeste de la viitorii beneficiari ai bazei de date, administratorul identifica ce entitati prezinta interes pentru buna desfasurare a activitatilor institutiei si care dintre informatiile ce caracterizeaza aceste entitati trebuie memorate. In acest moment administratorul bazei de date este in masura sa proiecteze schema conceptuala.

ORGANIZAREA BAZEI DE DATE

  • Definirea structurii datelor ce pot fi incluse in baza de date.
  • Stabilirea structurii fizice a bazei de date
  • Incarcarea bazei de date cu informatiile initiale

Administratorul bazei de date trebuie sa urmareasca stabilirea unui raport optim intre spatial de memorare si timpii de acces. Modelul interneste proiectat pe baza unei estimari a evolutiei volumului de date, frecventei accesari lor, a implicatiilor acestora in prelucrari.

URMARIREA FUNCTIONARII BAZEI DE DATE

  • Pastrarea corectitudinii si a actualizari datelor
  • Urmarirea performantelor bazei de date
  • Punerea la dispozitia utilizatorilor a unor programe ce usureaza gestiunea datelor.

Pentru a obtine o crestere a eficientei aplicatiilor, administratorul bazei de date va trebui sa urmareasca modul de utilizare a resurselor si sa depisteze factorii care limiteaza performantele sistemului. El determina o planificare a functionarii sistemului pentru a maximize performantele acestuia.

REORGANIZAREA BAZEI DE DATE

  • Modificarea structurii bazei de date pentru a cuprinde noi date sau eliminarea datelor ce nu mai sunt necesare ori a caror intretinere costa prea mult.
  • Rescrierea unor programe de acces la date

PROTECTIA INFORMATIILOR DIN BAZA DE DATE

  • Protectia impotriva accesului neautorizat la baza de date.
  • Protectia impotriva alterarii continutului bazei de date datorita unor programe eronate, defecte ale echipamentelor, distrugeri rau intentionate etc.

Exista posibilitatea ca baza de date sa nu mai fie operational la un moment dat din cauza unor erori de operare, a unor defecte ce tin de hard sau din alte cause neprevazute. Este foarte important pentru institutie ca baza de date sa fie refacuta intr-un timp cat mai scurt si cu pierderi minime de informatii. In acest scop administratorul bazei de date elaboreaza strategii de salvare periodica a bazei de date si de refacere a acesteia pe baza unor copii de siguranta. Instrumentele aflate la dispozitia administratorului se pot grupa in:

  • Component specializate oferite de SGBD (pentru reorganizarea BD, refacerea BD, asigurarea securitatii datelor, crearea de jurnale, realizarea de analize statistice etc.).
  • Programe specific create de administrator si / sau de programatori.

Setul minimal de instrumente pe care le face administratorul bazei de date in munca sa cuprinde:

  • Rutina de initializare (pentru incarcarea initiala a bazei de date).
  • Module de import si export a datelor in si din baza de date (conversii).
  • Module de jurnalizare si restaurare.
  • Module de control si refacere a coerentei.
  • Module de analiza statistica a functionarii sistemului.

SISTEME DE GESTIUNE A BAZELOR DE DATE

Un SGBD trebuie sa asigure urmatoarele functiuni elementare ale bazelor de date:

  • Definirea structurii.
  • Introducerea datelor in bazele de date (adaugare).
  • Modificarea unor date deja existente in bazele de date.
  • Consultarea bazelor de date (interogarea, extragerea informatiilor).

Alaturi de acestea SGBD-urile mai pot furniza si alte servicii cum ar fi:

  • Suport pentru limbaj de programare
  • Interfata cat mai atractiva si performanta pentru comunicarea cu utilizatorul
  • Diferite tehnici avansate de memorare, organizare, accesare a datelor din bazele de date
  • Utilitare incorporate: sistem de gestiune a fisierelor, liste sit abele etc.
  • Ajutor pentru asistareautilizatorului in lucrul cu bazele de date.

Istoria SBGD-urilor a inceput odata cu apartia primelor suporturi magnetice de memorare si anumite benzi magnetice. Informatia este memorata secvential, aceasta dand si caracterul secvential al accesului la date in cadrul acestor sisteme. Structura logica se identifica cu cea fizica si astfel manipularea datelor se facea cu greutate. Aparitia sistemului de memorare de tipul discului magnetic a dus la o noua etapa in dezvoltarea SGBD-urilor caracterizata in principal prin aparitia accesului direct alaturi de cel secvential, aceasta avand ca effect imediat o crestere spectaculoasa a vitezei de acces la date, separarea nivelului logic de cel fizic, realizandu-se astfel o independenta logica a datelor. In aceasta etapa s-au dezvoltat tehnici avansate de selectare, grupare, prelucrare a datelor din bazele de date.

In continuare, sistemele de stocare s-au dezvoltat in directia cresterii performantelor acestora: marirea capacitatilor de memorarea si cresterea vitezei de accesare a datelor din bazele de date. Aparitia si raspandirea retelelor de calculatoare a dus la dezvoltarea intr-o noua directive a SGBD-urilor, ele capatand un caracter multiutilizator - mai multi utilizatori acceseaza concomitent o baza de date. Avantajul decisiv al retelelor a fost eficienta mult sporita de utilizare a resurselor sistemelor de calcul, la o baza de date aflata pe un server central foarte puternic au acces simultan mai multi utilizatori, situati la distant de aceasta. De aici rezulta o buna utilizare a resurselor serverului si o economie de memorie, datorita memorari unice a bazei de date si nu in ultimul rand, diversificarea posibilitatilor de securizare a datelor.

De asemenea, au aparut bazele de date distribuite care reprezinta baze de date logic integrate, dar fizic distribuite pe mai multe sisteme de calcul. Utilizatorul unei asemenea baze de date o vede ca pe o baza de date unica si compacta cu toate ca in realitate ea este distribuita pe mai multe calculatoare legate intre ele. Din punct de vedere statistic acest model de organizare a dus la o crestere substantiala a vitezei de acces la o baza de date intr-o retea de calculatoare. Astfel, anumite date depozitate pe un server local sunt mult mai rapid accesate decat daca ele s-ar fi aflat pe un server la distanta unde ar fost stocata baza de date in intregime. Tot datorita distribuirii se mareste considerabil limita maxima a dimensiunii unei baze de date care nu mai este determinata de capacitatea fizica de memorare a sistemului de calcul.

Modelul de organizare a bazelor de date a fost si el imbunatatit. Structura tabelara a bazelor de date simple din SGBD-urile mai vechi a fost inlocuita in cele moderne cu modelul relational. Conform acestui model, o baza de date relationala este formata din mai multe tabele simple intre care se stabilesc mai multe relatii. Pentru a atrage cat mai multi utilizatori neprofesionisti, s-au perfectionat interfetele SGBD-urilor, acestea avand la dispozitie acum sisteme de meniuri, ferestre, obiecte de control cu ajutorul carora comunicarea cu SGBD-urilor a devenit mai atragatoare.