Sunteți pe pagina 1din 4

TEMA 1. BAZE DE DATE 1 1.1.

NOIUNI I CONCEPTE FUNDAMENTALE N ORGANIZAREA DATELOR N BAZE DE DATE O entitate este un obiect distinct ce trebuie reprezentat n baza de date prin proprietile sale (ex.: salariati, studeni, produse, facturi etc). Un atribut (cmp, caracteristic) este o proprietate, o nsuire ce descrie un anumit aspect al obiectului ce se nregistreaz n baza de date. O entitate are mai multe atribute. Fiecrui atribut i se asociaz o mulime de valori. Atributul este caracterizat de natura valorilor pe care le poate lua: numerice, alfanumerice, dat calendaristic, etc... Un atribut care identific n mod unic o entitate se numete atribut cheie (identificator). Datele sunt fapte culese din lumea real pe baz de observaii i msurtori. Ele constituie orice mesaj primit de la un receptor sub o anumit form. Data n terminologia prelucrrii automate a datelor este definit ca un model de reprezentare a informaiei ntr-un format accesibil unui calculator . Din punct de vedere logic data se definete prin: identificator, atribut i valoare. Colecia de date reprezint un ansamblu de date organizat dup anumite criterii. Structurile de date sunt colecii de date ntre care s-au stabilit o serie de relaii care conduc la un anumit mecanism de selecie i de identificare a componentelor acesteia. n funcie de suportul de stocare structurile de date pot fi: n memoria intern a calculatorului (n timpul prelucrrii datelor), definite de noiunile: list, coad, stiv; pe suporturi de stocare n vederea prelucrrii ulterioare, definite de: fiier i baz de date. Fiierul - o colecie de informaii corelate (date de prelucrat, programe, comenzi, ), omogen din punct de vedere al naturii datelor i cerinelor de prelucrare i memorat pe un suport de stocare. Baza de date - un ansamblu de date structurate, accesibile unei comuniti de utilizatori. Conceptul de baz de date a aprut n 1969 pornind de la ideea existenei unui fiier de descriere global a datelor, prin care se asigur independena programelor fa de date. Accesul utilizatorilor la baza de date se realizeaz prin acest fiier, care conine coleciile de date i legturile dintre acestea. O baz de date este creat pentru un anumit scop. Baza de date propriu-zis - n care se memoreaz datele, reprezint una sau mai multe colecii de date aflate n interdependen mpreun cu descrierea datelor i a relaiilor dintre ele. n bazele de date are loc o integrare a datelor, n sensul c mai multe fiiere sunt privite n ansamblu, eliminndu-se pe ct posibil informaiile redundante. De asemenea, se permite accesul simultan la acelea i date, situate n acela i loc sau distribuite spaial, a mai multor persoane de pregtiri diferite, fiecare cu stilul personal de lucru. Simple colecii de fie (documente pe hrtie) sau fiiere de date, care conin nregistrri de date, dar nu permit operaii de interogare, nu sunt considerate baze de date. De exemplu, datele memorate n fiiere pe disc de un instrument de calcul tabelar (ca Microsoft Excel) sau documentele memorate de un editor de text (ca Microsoft Word) nu sunt considerate baze de date. Sistemul de Gestiune a Bazei de Date - SGBD (Database Management System - DBMS) ansamblu de programe care realizeaz gestiunea i prelucrarea complex a datelor, asigurnd interfaa ntre BD i utilizatori. Organizarea datelor - reprezint procesul de definire i structurare a datelor n colecii, gruparea lor precum i stabilirea elementelor de legtur ntre componentele coleciei i ntre colecii. Descrierea datelor se ntlnete sub denumirile de catalog de sistem, dicionar de date sau metadate ceea ce reprezint date despre date. Relaiile logice reprezint legturile (asocierile) dintre mai multe entiti. Sistemul de programe care permite construirea unor baze de date, introducerea informaiilor n bazele de date i dezvoltarea de aplicaii privind bazele de date se numete sistem de gestiune a bazelor de date - SGBD Un sistem de baze de date (Database System) este un sistem computerizat de meninere a evidenei unei anumite activiti, folosind baze de date. Componentele unui sistem de baze de date sunt: hardware, software, date persistent, proceduri i utilizatori. Hardware. Pn n urm cu civa ani, sistemele mari de baze de date puteau fi executate numai pe calculatoare de tip mainframe. n mod obinuit, era foarte costisitor s fie proiectate, achiziionate i ntreinute aceste maini. O dat cu apariia calculatoarelor din clasa staiilor de lucru, care sunt puternice i ieftine,

programatorii au posibilitatea de a proiecta rapid i ieftin produse software pentru ntreinerea i distribuirea datelor. Astzi, componenta hardware a unui sistem informatic cu baze de date poate fi reprezentat de un singur calculator personal, un singur calculator mainframe sau o reea de calculatoare. De obicei se aplic urmtoarea schem ntr-o reea de calculatoare: - 1 calculator principal pe care se afl programele back-end - adic partea din SGBD care administreaz i controleaz accesul la baza de date; - mai multe calculatoare aflate n diferite locaii pe care se afl programele front-end adic partea din SGBD ce constituie interfaa cu utilizatorul. n aceast schem, numit client-server, programele back-end reprezint serverul, iar cele front-end reprezint clienii. Performanele generale de operare ale calculatorului (numrul i viteza procesoarelor, dimensiunea i viteza de operare a memoriei principale etc.) influeneaz n mod corespunztor performanele sistemului de baze de date. Dar, ceea ce intereseaz n mod deosebit n utilizarea unui calculator pentru un sistem de baze de date, este volumul (capacitatea) memoriei secundare, utilizat pentru memorarea coleciei de date persistente ale bazei de date. Software cuprinde programele SGBD, programele aplicaie, sistemul de operare i software de reea. Sistemul de gestiune a bazei de date - SGBD - (Database Management System - DBMS) recepioneaz cererile utilizatorilor de acces la baza de date (pentru operaii de introducere, tergere, modificare sau interogare), le interpreteaz, execut operaiile corespunztoare i returneaz rezultatul ctre utilizatori. Sistemul SGBD ofer utilizatorilor o viziune (vedere - view) a bazei de date la un nivel nalt i i elibereaz de necesitatea de a cunoate organizarea particular a sistemului (driverele de disc, structura nregistrrilor de date, etc.). Mai mult, sistemul de gestiune asigur protecia datelor fa de accese neautorizate sau defecte de funcionare, asigurnd integritatea bazei de date. Pe lng SGBD, care este cea mai important component software a unui sistem de baze de date, mai exist i alte componente: sistemul de operare, care asigur controlul execuiei programelor, biblioteci i instrumente software (toolset-uri) pentru proiectarea, dezvoltarea sau exploatarea sistemelor de baze de date i a aplicaiilor de baze de date. O aplicaie de baze de date (Database Application) este un program care ofer o anumit utilizare a unei baze de date. De exemplu, programul care permite meninerea i urmrirea activitii angajailor unei firm (ncadrare, calificare, salarizare, etc.) folosind informaiile despre angajai memorate ntr-o baz de date reprezint o aplicaie de baze de date. Datele - acioneaz ca o punte ntre componentele main (hardware i software) i componenta uman. Baza de date conine att datele operaionale (setul de nregistrri pe care se lucreaz) ct i metadatele. Datele memorate ntr-o baz de date sunt date persistente, adic date care rmn memorate pe suport magnetic, independent de execuia programelor de aplicaii. Datele persistente ale unei baze de date se introduc, se terg sau se actualizeaz folosind date de intrare (provenite de la tastatur, din citirea unor fiiere de date sau din recepionarea unor mesaje). Datele de intrare sunt, n general, date nepersistente; ele sunt generate de utilizatori i sunt memorate (devenind date persistente) numai dup ce au fost validate (acceptate) de ctre SGBD. Datele de ieire ale unui sistem de baze de date sunt, de asemenea, date nepersistente; ele provin din operaii de interogare a bazei de date i sunt puse la dispoziia utilizatorului (sub form de afiri, rapoarte tiprite, etc). Procedurile - reprezint instruciuni i reguli aplicate n proiectarea i utilizarea bazei de date. Acestea pot fi: deschiderea unei sesiuni de lucru n SGBD, pornirea sau oprirea SGBD, utilizarea unui program de aplicaie sau a unei funcii SGBD, efectuarea de copii de siguran, tratarea defeciunilor hard i soft, modificarea structurii unui tabel, reorganizarea bazei de date, mbuntirea performanelor sau arhivarea datelor. Utilizatorii unui sistem de baze de date se pot mpri n cteva categorii: programatorii de aplicaii, utilizatorii finali i administratorul bazei de date. Programatorii de aplicaii sunt cei care scriu aplicaiile de baze de date, folosind limbaje de programare de nivel nalt (Cobol, PL/1, Fortran, C, C++, Java, Basic). Aplicaiile rezultate pot fi aplicaii cu execuie independent (batch-processing) sau pot fi aplicaii interactive (on-line) folosite de utilizatorii finali ai sistemului pentru a accesa (ntr-un mod mai eficient i mai sigur) baza de date. Utilizatorii finali sunt acei utilizatori care acceseaz baza de date prin intermediul unui program de aplicaie care le confer drepturi limitate de acces la date pentru anumite operaii de prelucrare. Utilizatorii finali sunt persoane cu pregtire informatic minimal, care efectueaz un volum mare de operaii asupra bazei de date, dar nu trebuie s cunoasc mai mult dect posibilitile oferite de programul pe care l utilizeaz.

Administratorul bazei de date este responsabil de meninerea funcionalitii bazei de date prin stabilirea drepturilor de acces ale diferitelor categorii de utilizatori, prin efectuarea operaiilor periodice de salvare a datelor (backup), prin monitorizarea performanelor sistemului i refacerea datelor atunci cnd este necesar. 1.2. ARHITECTURA ANSI/SPARC A BAZELOR DE DATE

2 Arhitectura intern a unui sistem de baze de date propus prin standardul ANSI/X3/SPARC ( American National Standards Institute, Standards Planning And Requirements Committee ) (1975) conine trei niveluri funcionale: nivelul extern, nivelul conceptual i nivelul intern (fig. 1). Se definete modelul datelor, ca un set de concepte utilizat n descrierea structurii datelor. Prin structura bazei de date se nelege tipul datelor, legtura dintre ele, restriciile aplicate datelor. O structur de date asociat unei baze de date poate fi reprezentat pe trei niveluri: 0 Nivelul extern sau nivelul vizual (utilizator), include o colecie de scheme externe, care sunt vederi ale diferitelor grupuri de utilizatori, existnd cte o vedere individual a datelor pentru fiecare grup ; 3 Nivelul conceptual sau schema conceptual (logic) a bazei de date, descrie structura ntregii baze de date pentru toi utilizatorii. La nivel conceptual se face o descriere complet a bazei de date ascunzndu-se detaliile legate de stocarea fizic i detaliind descrierea entitilor, tipurilor de date, relaiile dintre ele i restriciile asociate; 0 Nivelul intern conine schema intern ce descrie structura de stocare fizic a datelor n baza de date, utiliznd un model al datelor fizice. La acest nivel se descriu detaliile complete ale stocrii i modul de acces la date. O schem extern (vedere utilizator) (external schema, users view) conine o subschem conceptual a bazei de date, mai precis descrierea datelor care sunt folosite de acel grup de utilizatori. Schema conceptual a bazei de date (conceptual schema) corespunde unei reprezentri unice (pentru toi utilizatorii) i abstracte a datelor, descriind ce date sunt stocate n baza de date i care sunt asocierile dintre acestea. Schema intern (fizic) a bazei de date (internal schema) specific modul de reprezentare a datelor pe suportul fizic. Un sistem de baze de date suport o schem intern, o schem conceptual i mai multe scheme externe; toate aceste scheme sunt descrieri diferite ale aceleiai colecii de date, care exist doar n nivelul intern.

Fig. 1. Arhitectura intern a unui sistem de baze de date propus prin standardul ANSI/X3/SPARC n multe SGBD nu se poate face o distincie clar ntre cele trei niveluri, de multe ori nivelul conceptual este puternic dezvoltat i suplinete aparent celelalte niveluri. De asemenea, la dezvoltarea aplicaiilor se remarc o contopire a nivelului extern cu cel conceptual. De la modelul conceptual, cererile sunt adresate modelului intern pentru a fi procesate i aplicate datelor stocate. Procesul de transfer a cererilor i rezultatelor ntre nivele se numete cartografiere (mapping). n funcie de categoria de personal implicat n folosirea bazei de date, datele dintr-o baz de date pot fi structurate pe trei niveluri: nivelul conceptual (global) exprim viziunea administratorului bazei de date asupra datelor. Acestui nivel i corespunde structura conceptual (schema) a bazei de date, prin care se realizeaz o descriere a tuturor datelor, ntr-un mod independent de aplicaii, ce face posibil administrarea datelor. nivelul logic exprim viziunea programatorului de aplicaie asupra datelor. La acest nivel se realizeaz o descriere a datelor corespunztoare unui anumit program de aplicaie. nivelul fizic care exprim viziunea inginerului de sistem asupra datelor. Corespunde schemei interne a bazei de date prin care se realizeaz o descriere a datelor pe suport fizic de memorie.

1.3. LIMBAJELE BAZELOR DE DATE Limbajele bazelor de date sunt mprite n 2 categorii: limbaje de definire a datelor ( DDL) i limbaje de manipulare a datelor (DML). DDL este utilizat pentru a specifica schema bazei de date, iar DML este utilizat pentru citirea i reactualizarea bazei de date. Rezultatul compilrii instruciunilor DDL este un set de tabele stocate n fiiere speciale, denumite global catalog de sistem. Acesta conine metadatele adic datele care descriu obiectele din baza de date. Este un limbaj descriptiv, care permite administratorului bazei de date sau utilizatorului s descrie i s denumeasc entitile cerute de aplicaie i relaiile care pot exista ntre diferitele entiti. DML Asigur un set de procedee ce permit operaii de baz pentru manipularea datelor din baz de date: inserarea de date noi, modificri de date, regsirea datelor, tergerea de date. Limbajele DML pot fi de dou tipuri: procedurale i neprocedurale. DML procedurale specific modul cum trebuie s fie obinut rezultatul unei instruciuni DML, iar DML neprocedurale descriu numai ce rezultat trebuie obinut.