Distinctia între date, informatii si cunostinte :
q datele sunt definite de trei elemente: un identificator, atribute si valoare ;
q informatia este un mesaj care are caracter de noutate, altfel spus care înlatura o nedeterminare (necunoastere) ;
q cunostintele reprezinta informatii simple sau agregate, pe care le dobândim de- 10310v2112k a lungul timpului, relativ la: obiecte, fenomene sau procese din lumea reala.
Organizarea datelor din punct de vedere informatic are 2 componente:
q organizarea datelor în memoria interna a calculatorului, care cuprinde structurile de tip lista, coada, stiva si decoada;
q organizarea datelor pe memoria externa, care cuprinde structurile de tip fisier si baza de date.
O baza de date poate fi definita ca un ansamblu de date elementare sau structurate, accesibile unei comunitati de utilizatori. Mai concret, o baza de date, este un ansamblu de fisiere intercorelate, care contine nucleul de date necesare unui sistem informatic(aplicatie informatica).
Un fisier este un ansamblu de înregistrari fizice, omogene din punct de vedere al continutului si al prelucrarii. O înregistrare fizica este unitatea de transfer între memoria interna si cea externa a calculatorului. Aceasta este formata din una sau mai multe înregistrari logice. O înregistrare logica este unitatea de prelucrare din punct de vedere al programului utilizator. Aceasta este formata dintr-un ansamblu de câmpuri, care descriu o anumita realitate.
O banca de date este o BD mai putin structurata si care deserveste sistemele documentare.
Tipuri de BD :
client-server
bazelor de date distribuite, consecinta a distribuirii în spatii a sub-unitatilor unei întreprinderii si a facilitatilor oferite de retelele extinse;
baze de date avansate: baze de date active depinzind de aparitia unor evenimente si daca sunt îndeplinite anumite conditii, baze de date deductive, care cupleaza un motor de inferente, baze de date multidimensionale explorate folosind proceduri de analiza multidimensionale (OLAP) sau proceduri de analiza statistico-matematice (Data Mining) ;
accesarea bazelor de date în sisteme Internet/Intranet/Extranet.
Centralizarea datelor permite: suprimarea redundantei, asigurarea unicitatii înregistrarii si controlul centralizat (asupra datelor).
Independenta între date si prelucrari. Baza de date, ca imagine a unei anumite realitati, trebuie actualizata permanent. Acest lucru nu trebuie sa afecteze programele de prelucrare. Pentru aceasta trebuie ca fiecare program sa aiba o viziune proprie asupra BD (fig. 1).
![]() |
Integritatea datelor asigura fiabilitatea si coerenta bazei de date (BD). Pentru aceasta trebuie definite restrictii de integritate cum ar fi:
q apartenenta la o lista de valori sau interval;
q apartenenta la un anumit format;
q reguli de coerenta cu alte date.
Securitatea datelor. Baza de date trebuie sa fie protejata împotriva unei distrugeri logice (anomalie de actualizare) sau fizice. Pentru aceasta exista instrumente care permit:
q crearea unor puncte de repriza; altfel spus salvarea din timp în timp a unor copii coerente ale bazei de date;
q gestiunea unui jurnal de tranzactii; lista operatiilor realizate asupra bazei de date dupa ultimul punct de repriza.
Confidentialitatea datelor este asigurata prin proceduri de:
q identificare a utilizatorilor prin nume sau cod;
q autentificarea prin parole;
q autorizarea accesului diferentiat prin drepturi de creare, consultare modificare sau stergere pentru anumite segmente de date.
Partajarea datelor permite înlantuirea tranzactiilor solicitate simultan pe aceiasi înregistrare din baza de date, prin blocarea cererilor în asteptare si deservirea ulterioara a acestora.
Un sistem de gestiune a bazelor de date constituie o interfata între utilizatori si BD, care permite în principal crearea, actualizarea si consultarea acesteia. În acest context putem defini SGBD-ul ca un instrument de asamblare, codificare, aranjare, protectie si regasire a datelor în BD.
Figura 2 Schema generala a unui SGBD
Principalele functiuni pe care le îndeplineste un SGBD sunt urmatoarele (fig. 2):
q memorarea datelor pe suportul extern prin sistemul de gestiune a fisierelor;
q gestiunea datelor si a legaturilor dintre ele în vederea unei regasiri rapide prin intermediul sistemului de acces (SGBD intern);
q introducerea si extragerea datelor din spre exterior în forma ceruta de utilizator prin intermediul SGBD-ului extern.
Obiectivul principal al unei BD este de a separa descrierea datelor fata de programele de aplicatii, idee care a fost exprimata pentru prima data în anul 1965. Pentru atingerea acestui obiectiv este necesara o abstractizare a datelor memorate în BD. Astfel s-a ajuns ca astazi sa existe 3 niveluri de reprezentare si perceptie a unei BD: extern, conceptual si intern.
Independenta fizica a datelor
Schema interna a BD descrie modul în care datele sunt organizate pe suportul fizic (fisiere, înregistrari) precum si metodele de acces, criteriile de ordonare si regasire ale acestora, astfel încât sa se asigure un grad de performanta si suplete cât mai ridicat.
Independenta fizica a datelor consta în posibilitatea de a schimba organizarea interna a datelor si structurile de înregistrare, fara a modifica programele care le folosesc (programe utilizator). Raportându-ne la structura pe cele 3 niveluri, aceasta înseamna independenta schemei interne de cea conceptuala, care descrie aceleasi date, dar pe niveluri diferite. Spre exemplu, pe baza unor criterii de performanta si flexibilitate a accesului la date, se pot adauga indecsi noi, se pot reorganiza anumite fisiere, fara a afecta schema conceptuala.
Independenta logica a datelor
Schema conceptuala a BD se obtine printr-o sinteza si integrare a schemelor externe, care reprezinta interese informationale de grup sau individuale. În aceste conditii, este normal ca fiecare grup de utilizatori sa aiba posibilitatea sa-si modifice în timp cerintele informationale fara a afecta schema conceptuala a BD.
Independenta logica a datelor consta în posibilitatea de a modifica schemele externe fara a modifica schema conceptuala. Principalele avantaje ale independentei logice a datelor sunt urmatoarele:
q permite oricarui grup de utilizatori sa vizualizeze datele asa cum îsi doresc;
q permite evolutia în timp a schemelor externe ale fiecarui grup de utilizatori fara a afecta schema conceptuala;
q permite evolutia unei anumite scheme externe fara a afecta celelalte scheme externe.
Manipularea datelor prin limbaje declarative (neprocedurale)
În general, exista doua categorii de utilizatori care manipuleaza datele dintr-o BD: utilizatori interactivi care, de regula, nu sunt informaticienii si programatorii. Prima categorie, are nevoie de limbaje de interogare foarte simple, apropiate de limbajul natural, care sa le permita într-o maniera foarte simpla sa-si obtina informatiile de care au nevoie. Un exemplu de astfel de limbaj, care este si standardizat, este SQL (Structured Query Language). Cea de-a doua categorie de utilizatori (programatorii de aplicatii) folosesc de regula limbaje procedurale cum sunt cele traditionale (generatia a treia: C, COBOL, PL1, etc.), limbaje orientate obiect (C++, Java) sau limbaje din generatia a 4-a (4LG) orientate pe descrierea specificatiilor la nivel utilizator final.
Administrarea cât mai simpla a datelor
Un SGBD trebuie sa furnizeze instrumente adecvate pentru descrierea datelor, atât din punct de vedere al schemei externe cât si al schemei interne.
Operatiile de descriere si de modificare a descrierii datelor sunt cunoscute sub numele de administrarea datelor. Pentru a permite un control eficient asupra datelor si a rezolva diferite conflicte care pot aparea cu ocazia definirii acestora, aceasta operatie cade în sarcina unui grup restrâns de persoane numite administratori de date. Administrarea centralizata a datelor, nu conduce totdeauna la realizarea unor BD performante, capabile sa multumeasca categorii de utilizatori diferiti. Pentru a înlatura acest impediment, SGBD-urile actuale ofera instrumente adecvate care permit o descentralizare a descrierii datelor, asigurând în acelasi timp coerenta necesara între diversele descrieri partiale.
Eficacitatea accesului la date
Fiecare utilizator doreste ca interogarile sale asupra BD sa furnizeze informatiile necesare acestuia într-un timp cât mai scurt. Exista doi parametri care masoara performantele accesului la date: numarul de tranzactii pe secunda si timpul de raspuns. Dimensiunile celor 2 parametri sunt dependente si de modul în care sistemul de operare al calculatorului, sub care functioneaza SGBD-ul, aloca si partajeaza resursele fizice (unitatea centrala, memoria interna, memoria externa).
Un element foarte important care influenteaza acesti parametri îl constituie operatiile de intrare/iesire pe disc. Pentru a optimiza aceste operatii, majoritatea SGBD-urilor actuale folosesc memorii cache, unde se depoziteaza datele cele mai frecvent utilizate pe parcursul executiei unei aplicatii.
Partajarea datelor se realizeaza prin controlul accesului concurent la BD. Mai multi utilizatori vor sa acceseze simultan aceeasi înregistrare din BD. Fizic, acest lucru nu este posibil deoarece mecanismul de acces la disc si la memoria interna este unic. Prin urmare cererile de acces simultane, sunt înregistrate într-un fir de asteptare si sunt deservite într-o anumita ordine.
Coerenta datelor consta în respectarea unor dependete care pot exista între datele din BD (vezi capitolul 7). De exemplu data angajarii unui salariat trebuie sa fie mai mare decât data nasterii. Regulile explicite sau implicite pe care datele trebuie sa le respecte de-a lungul evolutiei lor în BD, se numesc restrictii de integritate. SGBD-ul trebuie sa fie capabil sa pastreze coerenta datelor prin verificarea acestor restrictii de integritate.
Redundanta controlata consta în posibilitatea de a înregistra unele date, eliminând astfel situatiile de înregistrare multiple. Cu cât redundenta este mai mica cu atât performantele BD cresc.
Securitatea datelor (vezi capitolul 7) se refera la doua aspecte:
accesul controlat al utilizatorilor la BD (confidentialitate);
refacerea BD în urma unor avarii.
Confidentialitatea datelor este asigurata prin proceduri de:
identificare a utilizatorilor prin nume sau cod;
autentificare a prin parole;
autorizare a accesului diferentiat prin drepturi de creare, consulatare, modificare sau stergere pentru anumite segmente de date.
Baza de date trebuie sa fie protejata împotriva unor distrugeri logice (anomalie de actualizare) sau fizice. Pentru acestea SGBD-ul trebuie sa ofere instrumente pentru:
crearea unor puncte de reluare; altfel spus, salvarea din timp în timp a unor copii curente ale BD;
gestiunea unui jurnal de tranzactii; lista operatiilor realizate asupra BD dupa ultimul punct de repriza.
Daca apare o anomalie, care ar putea distruge BD, pe baza copiei de la ultima repriza si a jurnalului de tranzactii, se poate reface baza de date în forma initiala. Protectia împotriva unei distrugeri fizice se face prin realizarea unor copii a BD.
Sisteme de Gestiune pentru Baze de date Distribuite (SGBDD)
Necesitatea descentralizarii sistemelor informatice, pe de o parte, si realizarea pe plan mondial a unor retele de calculatoare care permit conectarea mai multor baze de date într-o retea, pe de alta parte, au dus la aparitia bazelor de date distribuite si, implicit, a SGBDD. Un sistem de BDD este format dintr-o colectie de baze de date locale, amplasate geografic în puncte diferite (noduri ale unei retele de calculatoare) si legate logic prin relatii functionale, astfel încât pot fi vazute la nivel global ca o singura baza de date.
Obiectivele principale ale unui SGBDD sunt:
q definirea si manipularea colectiilor de date distribuite pe calculatoare diferite, ca un singur ansamblu logic (baza de date distribuita);
q distribuirea datelor trebuie sa se faca dupa criterii foarte variate care sa raspunda tuturor necesitatilor utilizatorilor;
q utilizatorii manipuleaza datele fara a cunoaste locul unde sunt memorate;
q pentru cresterea gradului de fiabilitate sau de performanta, datele pot fi duplicate pe mai multe sisteme, fara ca utilizatorii sa cunoasca acest lucru;
q asigurarea coerentei bazei de date în cazul operatiilor de actualizare si de reluare în caz de incidente la unul sau la mai multe din nodurile retelei;
q exploatarea bazei de date în regim de multi-acces;
q controlul accesului la date.
4. Niveluri de reprezentare a datelor in BD
În demersul realizarii unei baze de date exista trei niveluri de perceptie a acesteia (figura 4):
q extern, corespunzator utilizatorilor, care îsi exprima cerintele informationale prin asa-numitele scheme externe (subscheme);
q conceptual, aferent administratorului bazei de date, care se concretizeaza în schema conceptuala;
q intern, corespunzator programatorului, care realizeaza reprezentarea datelor pe suportul fizic.
![]() |
Figura 4
Nivelul conceptual este nivelul central care reflecta datele structurate astfel încât acestea sa poata fi preluate si prelucrate cu ajutorul unui SGBD.
În proiectarea bazelor de date, la nivel conceptual, se pot utiliza mai multe modele, dintre care cel mai frecvent utilizat în ultima vreme este modelul Entitate-Atribut-Corespondenta.
Modelul EAC abstractizeaza lumea reala si o transpune, pe de o parte, în agregari de date elementare, numite entitati, iar pe de alta parte, în legaturi între entitati, denumite corespondente (sau asocieri). Asadar, o entitate corespunde unui obiect din lumea reala, identificat, în general, printr-un nume (o factura, un produs finit, un furnizor, un client etc.). O entitate este un model de obiect identificat în lumea reala - material (o persoana, un lucru etc.), imaterial (un eveniment) sau abstract - al carui tip este definit de un nume si de o lista de proprietati (atribute). Un atribut se defineste ca fiind o proprietate a unei entitati sau a unei corespondente, caracterizata printr-un nume si un tip. Realizare a unei entitati se numeste multimea formata din câte o valoare pentru fiecare atribut al entitatii. Identificatorul unei entitati este atributul (sau grupul de atribute si roluri) a carui realizare (valoare) caracterizeaza în mod unic o realizare a entitatii. În reprezentarea grafica, de regula, identificatorul se subliniaza cu o linie continua.
O corespondenta sau asociere reprezinta o legatura logica între doua sau mai multe realizari de entitati. La nivelul limbajului natural, este definita printr-un verb. O corespondenta (asociere) poate avea proprietati particulare, date de atribute specifice.
Rolul unei entitati este un nume care desemneaza modul de participare al entitatii la o asociere. Identificarea asocierilor se realizeaza prin rolurile entitatilor participante deci, concret, cu ajutorul identificatorilor entitatilor participante.
O corespondenta între realizari diferite ale aceleeasi entitati se numeste asociere reflexiva, caz în care este recomandata precizarea rolurilor fiecarei entitati în cadrul asocierii.
Reguli:
q o asociere nu poate exista decât o singura data între aceleasi entitati;
q numele entitatilor, corespondentelor, rolurilor, atributelor trebuie sa fie unice în cadrul modelului conceptual, iar apoi în baza de date definita.
Conceptele prezentate sunt utilizate în modelarea diferitelor situatii descrise în limbaj natural. În exemplul urmator este ilustrata abstractizarea unui ansamblu de date, extras din limbajul natural, aplicând modelul EAC.
Exemplu:
Produsele finite ale unei fabrici, reprezentând articole de încaltaminte, sunt livrate clientilor. La livrare se întocmesc facturi, care contin data livrarii, articole de încaltaminte, fiecare dintre ele într-o anumita cantitate si la un anumit pret unitar, cota TVA corespunzatoare articolului respectiv, cu ajutorul carora se calculeaza valoarea totala a facturii. O asemenea situatie s-ar putea reprezenta prin urmatoarea schema entitate-corespondenta:
q Entitati: ;
q Corespondenta: ; nu are identificator;
q Atribute:
q Identificatori: .
Grafic se reprezinta astfel:
![]() |
Se stie ca o factura poate cuprinde mai multe articole livrate, cu alte cuvinte, va contine cel putin un articol. De asemenea, într-o anumita perioada de timp, un articol poate sa nu fie comandat de catre clienti sau poate fi solicitat de mai multi dintre acestia, adica poate face obiectul niciuneia sau mai multor facturi. În proiectarea bazei de date trebuie sa se tina seama si de faptul ca un cod de produs finit trebuie sa se regaseasca printre codurile articolelor facturate. Toate acestea se numesc reguli de gestiune.
Pe baza regulilor de gestiune se stabilesc cardinalitati
între realizarile atributelor din entitati si cele ale
proprietatilor din asocieri (corespondente). Acestea
exprima maniera de participare a valorilor atributelor din
entitati la fiecare aparitie de valori din asocieri. Putem vorbi
despre o cardinalitate minima (0 sau 1)
si una maxima
(1 sau n).
În exemplul anterior, pentru stabilirea corecta a cardinalitatilor se va tine seama de urmatoarele reguli, observate în activitatea de facturare si livrare:
q un articol de încaltaminte, într-un anumit interval de timp, poate fi cuprins în minim zero facturi (se poate întâmpla ca un anumit produs fabricat sa nu mai fie comandat de catre clienti) sau se poate factura de mai multe ori, adica - vom spune - se poate regasi în maxim n facturi;
q factura întocmita la o anumita data poate contine, în cantitati si la preturi diferite, minimum un articol de încaltaminte, maximum n (adica unul sau mai multe produse finite ce urmeaza a fi livrate unui client al fabricii).
Figura 6 prezinta partea de model conceptual anterioara, la care s-au adaugat cardinalitatile:
![]() |
|||
|
|