Sunteți pe pagina 1din 6

CURSUL NR.

ELEMENTE DE TEORIA BAZELOR DE DATE


1. Organizarea datelor n baze de date 1.1. Definirea unor concepte i noiuni preliminare
Baza de date a devenit un termen uzual, parte integrant a vieii noastre de zi cu zi, dei adesea nu

ne dm seama c folosim o baz de date. Spre exemplu, cnd facem cumprturi la un supermarket, se acceseaz o baz de date. Casiera folosete un cititor de cod de bare, cu care scaneaz fiecare etichet. Acesta este legat de un program care folosete codul de bare pentru a identifica preul fiecrui produs din baza de date. Apoi, programul reduce corespunztor stocul i afieaz preul pe monitor. Aceste informaii: denumire produs, unitate de msur, stoc, pre etc. sunt stocate ntr-o baz de date. Un program perfecionat ar putea chiar semnala dac stocul dintr-un anumit produs scade sub un anumit nivel i genera o comand ctre furnizor. Acestea sunt doar cteva exemple de aplicaii ale bazelor de date. Dei par simple la prima vedere, n spatele interfeei se gsete o tehnologie complex. n centrul acestei tehnologii este nsi baza de date. Pentru ca sistemul s sprijine aplicaiile cerute de utilizatori ntr-o manier eficient, trebuie s existe o baz de date structurat ct mai eficient. Realizarea acestei structuri se numete proiectarea bazei de date i este o activitate foarte important, mai ales n cazul bazelor de date de mari dimensiuni, supuse miilor de tranzacii. Pentru a proiecta o aplicaie cu baze de date trebuie stabilite nu doar rutinele-program, pentru o performan ct mai bun, ci trebuie acordat de asemenea o foarte mare atenie organizrii fizice i logice a modului de stocare a datelor. O bun proiectare a bazelor de date asigur urmtoarele: timp minim de cutare la localizarea unor nregistrri specifice; memorarea datelor n modul cel mai eficient posibil pentru a mpiedica baza de date s creasc exagerat de mult; actualizarea datelor ntr-un mod ct mai uor cu putin; o suficient flexibilitate pentru a permite includerea unor noi funcii cerute de program. Fiierul de date Fiierul de date este definit ca un ansamblu de date omogene din punctul de vedere al naturii i al criteriilor de prelucrare i memorare pe suporturi externe. Fiierele de date pot fi privite din dou puncte de vedere: fizic o sum de blocuri, pagini de documente sau alte categorii de suporturi de date; logic - o sum de articole.

Din punct de vedere al programatorului, fiierele de date sunt mprite n: fiiere de intrare - care sunt consultate n vederea extragerii articolelor n vederea prelucrrii; fiiere de ieire - rezultate din prelucrarea datelor din alte fiiere; fiiere de intrare-ieire - care permit programului s realizeze citirea de articole, nscrierea de noi articole n fiier sau modificarea unor articole citite. Acest mod de definire corespunde stadiului n care fiierele constituiau elemente distincte n sistemul de prelucrare, nefiind nc organizate n cadrul unor baze de date. n Microsoft Access, baza de date conine toate obiectele care nainte erau fiiere. Un alt mod de definire este cel care consider fiierul ca o colecie organizat de nregistrri, dispus pe unul sau mai multe suporturi externe, iar n cadrul acesta fiierul de date este acela ce conine date utilizate ntr-o anumit aplicaie; modul de organizare ales pentru fiierul de date este dependent de prelucrrile efectuate asupra datelor pe care le conine. Aceast definiie, dei are n vedere o faz superioar de organizare a fiierelor, las i ea s se neleag c fiierele de date - s le denumim clasice - nu permit utilizarea acelorai date n aplicaii multiple. Organizarea datelor n fiiere are o serie de neajunsuri care limiteaz eficiena i eficacitatea aplicaiilor. Dintre acestea amintim:
Redundana i inconsistena datelor. Fiierele de date independente conin o mulime de

date care se repet. Aceleai date (exemplu: nume furnizor, adresa furnizor, cont la banca, etc.) sunt nregistrate i stocate n mai multe fiiere ceea ce reclam programe distincte pentru actualizarea fiecrui fiier. n plus duplicarea datelor conduce la consum mare de memorie i incoeren la trecerea datelor stocate dintr-un fiier n altul. Sintetic efectele imediate ale acestui neajuns sunt: complexitate n gestionarea datelor; actualizarea greoaie; monopolizarea inutil a spaiului de memorie.
Complexitatea actualizrilor. Adugarea, modificarea ori tergerea datelor ridic problema

modificrii n toate fiierele n care apare o aceeai dat. Actualizrile presupun scrierea de programe dedicate acestor operaiuni, care s aib n vedere toate fiierele n care apare o anume dat.
Neintegrarea datelor. Dispersia datelor n diverse fiiere independente complic accesul

utilizatorilor la informaiile necesare ad-hoc este necesar scrierea de programe pentru fiecare cerere de informaii. n lipsa acestor programe, pentru obinerea informaiilor dorite utilizatorul procedeaz la extragerea manual. Dependena datelor fa de programe. Organizarea fiierelor, adresarea fizic n memorie i programele de aplicaii folosite pentru accesarea fiierelor sunt interdependente. Astfel, schimbrile legate de dispunerea pe suportul de memorie, structura datelor i modificarea nregistrrilor unui fiier presupun modificri n toate programele n care este referit fiierul respectiv. ntreinerea acestor programe este dificil putnd genera incoerene n fiierele de date. Incoerena i lipsa de integritate sunt extrem de dificil de corectat deoarece nu exist un dicionar central pentru urmrirea definirii datelor.

Problemele de securitate in de dificultatea crerii unui mecanism care s protejeze datele

din fiiere de accesul neautorizat.


Costul ridicat de ntreinere. Exploatarea fiierelor independente presupune un cost

ridicat, datorat redundanei, eforturilor de interconectare a fiierelor i celor de asigurare a securitii datelor. Aceste probleme care apar n utilizarea fiierelor de date sunt eliminate ori minimalizate prin folosirea bazelor de date i a sistemelor de gestiune a bazelor de date. Prin stocarea datelor n baze de date se asigur independena fa de aplicaiile cu care sunt exploatate, dar i fa de suportul de stocare utilizat.

Baza de date (BD) n ce privete definirea noiunii de baz de date exist o mai mare unitate a punctelor de vedere exprimate n literatura de specialitate. O baz de date este o colecie de date grupate laolalt pentru a satisface nevoile informaionale ale unei organizaii. Trebuie precizat faptul c o BD nu este destinat pentru o singur aplicaie, ci pentru a servi ntreaga organizaie. Datorit structurii conectate a BD, o tranzacie poate declana actualizri n alte fiiere, datele putnd fi introduse doar o singur dat, nlturndu-se astfel unul din dezavantajele sistemului de organizare pe fiiere distincte pentru fiecare aplicaie. O alt definiie pentru baza de date este: un ansamblu structurat de date al crui creare/generare, actualizare i interogare se realizeaz printr-un sistem specializat, denumit SGBD. n completarea definiiei ansamblul mai este definit colecia de date, care constituie "depozitul fundamental" al datelor principale dintr-o organizaie - identificate n timpul proiectrii logice - din care se pot obine informaiile necesare conducerii la toate nivelurile. Noiunea mai poate fi interpretat i n funcie de scopul urmrit:
1. "Baza de date reprezint mulimea tuturor nregistrrilor, seturilor i zonelor particulare aflate sub

controlul unei anumite scheme".


2. "Baza de date, mulime centralizat de date, organizat n scopul optimizrii prelucrrii acestora, n

contextul unui set dat de aplicaii". Din diferitele moduri de definire a bazei de date se desprind dou caracteristici importante: este o colecie de date; este organizat pe criterii tiinifice, astfel nct s satisfac operativ necesitile de informare. Dei colecia de date, denumit n mod uzual baz de date, conine informaii despre o activitate particular, ea servete la realizarea mai multor aplicaii. n cazul existenei bncilor de date, colecia de date este divizat n subcolecii disjuncte, aceasta purtnd denumirea de sistem de baze de date. Noutatea adus de organizarea datelor n BD o constituie cum spuneam existena unui fiier de descriere global a BD, dicionarul de date, denumit i catalog sau, generic, meta-date. Ultima perioad a consacrat termenul meta-date, descris simplu prin date despre date. Dup cum se observ din figura nr. 1, lucrul cu fiierele de date, actualizarea lor sau extragerea de informaii se deruleaz exclusiv prin intermediul dicionarului de date, care pstreaz informaiile referitoare la structura

datelor, legturile ntre ele i restriciile la care sunt supuse. De aceea se spune despre baza de date c se auto-descrie.

Fig. nr. 1. Schema simplificat a unei baze de date

Prin intermediul dicionarului de date sistemul stocheaz informaii referitoare la: fiierele de date (denumire, descriere etc.); descrierea atributelor fiecrui fiier; regulile de validare a datelor; utilizatorii i drepturile lor de acces la date. Conceptele de baz utilizate n teoria bazelor de date sunt: entitate, atribut i valoare. Entitatea (tabela) reprezint un obiect concret sau abstract identificat printr-un nume i reprezentat prin proprietile sau nsuirile sale. Orice proprietate se exprim printr-o pereche atribut-valoare. Atributul (cmpul) are rolul de a descrie proprietile obiectului, stabilind natura valorilor pe care acesta le poate lua. Valoarea reprezint mrimea ce se atribuie fiecrui atribut al unei entiti. Spre exemplu, produs este o entitate concret, cu proprietile denumire, unitate de msur, pre, etc. O operaiune economic este o entitate abstract: vnzare, nchiriere sau casarea unui mijloc fix, iar proprietile acestor obiecte vizeaz data operaiunii, numrul i data documentului etc. O baz de date evolueaz n timp. Aici trebuie fcut delimitarea ntre coninutul i structura bazei de date. Coninutul (numit i instaniere) se refer la ansamblul datelor stocate la un moment dat. Structura sau schema bazei de date reprezint un ansamblu de instrumente care descriu datele, legturile dintre ele i restriciile la care sunt supuse. Dac structura bazei de date este relativ constant n timp (modificrile sunt sporadice, cu condiia ca structura s fi fost proiectat corespunztor), coninutul bazei de date se modific n timp, n principal prin acumularea de noi date. n concluzie, o baz de date constituie o colecie de date aflate n interdependen, mpreun cu descrierea acestora, menite s rspund cerinelor informaionale ale unei organizaii.

Fiier de da

Fiier de da

Sistemul de gestiune a bazelor de date (SGBD) Un SGBD const dintr-o colecie de date aflate n interdependen i un set de programe pentru accesarea datelor. Scopul principal al unui SGBD este de a asigura un mediu care este att convenabil, ct i eficient pentru a fi folosit n regsirea i memorarea informaiilor unei baze de date. Dac din definiie nu rezult clar c datele i SGBD-ul sunt dou subsisteme distincte ale unei bnci de date, din descrierea scopului rezult c el cuprinde partea de programe cu care se opereaz asupra datelor. n accepiunea definirii unei bnci de date, SGBD-ul "constituie o a doua component a unei bnci de date i reprezint software-ul propriu-zis al acesteia". Un SGBD trebuie s poat ndeplini urmtoarele funcii: funcia de descriere, funcia de manipulare i funcia de utilizare a bazei de date. n acest scop el interacioneaz cu programele de aplicaie, sistemul de operare, structura bazei de date, informaiile din baza de date i administratorul bncii de date. Funciunile unui SGBD sunt1: stocarea, actualizarea i regsirea datelor; asigurarea independenei datelor - independena datelor asigur imunitatea programelor de aplicaii la modificarea structurii bazei de date. Independena datelor este urmrit att la nivel fizic, ct i la nivel logic. Independena fizic asigur modificarea tehnicilor de memorare i organizare a datelor, fr rescrierea programelor de aplicaii. Independena logic se refer la adugarea ori tergerea de noi tabele sau coloane i este mai dificil de asigurat (unele sisteme nu permit tergerea din tabelele existente); controlul integritii datelor (consistena i corectitudinea datelor) prin definirea unor proceduri de validare sau a unor protocoale de control concurent, precum i a unor proceduri de refacere a bazei de date dup incidente; asigurarea accesului simultan al mai multor utilizatori la BD (medii de lucru multi-utilizator) prin: folosirea datelor de ctre mai muli utilizatori n diverse aplicaii, accesul simplu i multicriterial al utilizatorilor la date, fr a fi necesar cunoaterea structurii ntregii baze de date; existena unor limbaje performante de interogare etc. Trebuie precizat c este simplu de asigurat accesul simultan al mai multor utilizatori dac acetia doar citesc datele; probleme pot apare la accesul concurent atunci cnd cel puin unul modific date interferenele pot genera inconsistene; suport pentru comunicaii majoritatea bazelor de date sunt instalate pe servere, accesate de utilizatori aflai la terminale - SGBD-ul trebuie s integreze software de comunicaie pentru reea; servicii de autorizare protejarea datelor din BD, oferind acces difereniat pe categorii de utilizatori i asigurnd protecie mpotriva accesului persoanelor neautorizate.

Airinei, D., op. cit., p. 192; Connolly, T., Begg, C., Database solutions, Addison-Wesley, 2000, p. 10

Banca de date (BnD) Trebuie admis c "logic" nu exist dect o singur baz de date a unui sistem, conceput unitar i c numai anumite restricii pot face ca n mod practic ea s fie realizat n mai multe uniti "fizice" legate ntre ele. De aici rezult admiterea unui sistem organizat de prelucrare a datelor mai complex dect BD, care poart denumirea de banc de date. Banca de date poate fi definit ca fiind "ansamblul format din baza de date, sistemul care gestioneaz baza de date, echipamentele de calcul utilizate pentru memorarea datelor din baza de date i pentru prelucrrile care se efectueaz cu aceste date, procedurile (manuale sau automate) suplimentare necesare pentru gestionarea datelor, neincluse n SGBD, de interfa cu acesta..." i "n concepia modern de realizare a sistemelor, devine subsistemul central al sistemului informatic, prin el realizndu-se principale interfee ntre celelalte subsisteme". Definiia aceasta evideniaz suficient de clar care sunt elementele din structura sistemului i la ce operaii de tratare a datelor i informaiilor se utilizeaz. Definiia "Banca de date, (reprezint - n.n.) o mulime de date organizat n scopul optimizrii procesului de inserare, eliminare, cutare i modificare a datelor sau a relaiilor ntre acestea, independent de o anumit aplicaie", evideniaz funciile acestui sistem i faptul c are o utilizare n aplicaii multiple. Sintetizndu-se mai multe definiii care se regsesc n literatura de specialitate, se pot desprinde urmtoarele concluzii. Banca de date reprezint un sistem de organizare a datelor i de prelucrare i/sau teleprelucrare a informaiei, constituit din urmtoarele elemente:
1. o colecie de date aflate n interdependen; 2. descrierea datelor i a relaiilor dintre ele; 3. un sistem de programe pentru gestiunea datelor care asigur: independena programelor

aplicative fa de modul de structurare a datelor; o redundan minim, controlat n memorarea datelor; timp minim de rspuns la solicitrile utilizatorilor. Banca de date integrat ntr-un sistem informatic, respectiv informaional, devine subsistemul central al acestuia. Bncile de date se pot constitui la niveluri organizatorice diferite: pentru o singur ntreprindere sau organizaie; pentru satisfacerea cerinelor ntr-un domeniu la nivelul unor grupuri de organizaii sau la nivel naional; bnci de date la nivel internaional, cum este cazul bncilor de date pentru documentare n domeniul nvmntului i cercetrii; alte niveluri.

S-ar putea să vă placă și