271
UNIVERSITATEA „CONSTANTIN BRANCUSI” DIN TÂRGU JIU UNIVERSITATEA „CONSTANTIN BRANCUSI” DIN TÂRGU JIU FACULTATEA DE ŞTIINŢE ECONOMICE ŞI GESTIUNEA AFACERILOR FACULTATEA DE ŞTIINŢE ECONOMICE ŞI GESTIUNEA AFACERILOR DEPARTAMENTUL PENTRU ÎNVĂŢĂMÂNT LA DISTANŢĂ DEPARTAMENTUL PENTRU ÎNVĂŢĂMÂNT LA DISTANŢĂ Prof. univ. dr. BABUCEA ANA GABRIELA Prep.univ.drd. CEAUSESCU AURELIAN-IONUT BAZE DE DATE pentru uzul studenţilor ID 1

Baze de Date ID

Embed Size (px)

DESCRIPTION

baze de date

Citation preview

Curs ID

UNIVERSITATEA CONSTANTIN BRANCUSI DIN TRGU JIUFACULTATEA DE TIINE ECONOMICE I GESTIUNEA AFACERILORDEPARTAMENTUL PENTRU NVMNT LA DISTANProf. univ. dr. BABUCEA ANA GABRIELAPrep.univ.drd. CEAUSESCU AURELIAN-IONUTBAZE DE DATEpentru uzul studenilor ID

Editura Academica Brncui

Trgu Jiu, 2011Refereni tiinifici:Prof. univ. dr. Tomescu Dumitrescu CorneliaLect. univ. dr. Stegroiu CarinaCuprins

INTRODUCERE ..................................................................................................................7

MODULUL 1

UNITATEA 1: INTRODUCERE N BAZE DE DATE

U1.1. Scopul i obiectivele unitii 12

U1.2. Noiuni si concepte fundamentale n organizarea datelor. 13

U1.3. Arhitectura ANSI/SPARC a bazelor de date ...16

U1.4. Limbajele bazelor de date 17

U1.5. Rezumat ...19

Bibliografie minimal 20

Rspunsuri i comentarii la testul de autoevaluare.20

UNITATEA 2: SISTEME DE GESTIUNE A BAZELOR DE DATE

U2.1. Scopul i obiectivele unitii 21

U2.2.SGBD Etape n evoluie ...22

U2.3. Obiectivele i funciile de SGBD 23

U2.4. Clasificarea SGBD-urilor 30

U2.5. Rezumat ...34

Bibliografie minimal 35

Rspunsuri i comentarii la testul de autoevaluare.35

UNITATEA 3: MODELAREA CONCEPTUAL A BAZELOR DE DATE

U3.1. Scopul i obiectivele unitii 36

U3.2. Modele de date .37

U3.3. Modele conceptuale pentru baze de date 38

U3.4. Funciile modelelor ..39

U3.5. Modele de date bazate pe nregistrri ..39

U3.6. Rezumat ...39

Bibliografie minimal 49

Rspunsuri i comentarii la testul de autoevaluare 49

UNITATEA 4: BAZE DE DATE RELATIONALE SI SGBD-URI, RELAIONALE-SGBDR

U4.1. Scopul i obiectivele unitii.51

U4.2. Bazele modelului relaional .52

U4.3. Normalizarea relatiilor .56

U4.4. Definirea unui SGBDR Regulile lui Codd ..60

U4.5. Criterii minimale de definire a unui SGBDR .63

U4.6. Rezumat ...65

Bibliografie minimal..65

Rspunsuri i comentarii la testul de autoevaluare.65

VERIFICARE NR.1

MODULUL 2

UNITATEA 5: SISTEMUL DE GESTIUNE AL BAZELOR DE DATE

U5.1. Scopul i obiectivele unitii 68

U5.2. Caracteristici generale i functiile sistemului ..69

U5.3. Lansarea n execuie i funciile sistemului..................70

U5.4. Utilizarea caracteristicilor Ribbon(panglica),Panoul de navigare...73

U5.5. Obiectele Access ..75

U5.6. Salvarea bazei de date...77

U5.7. Rezumat ...79

Bibliografie minimal .79

Rspunsuri i comentarii la testul de autoevaluare.79

UNITATEA 6: TABELELE ACCESS 2007

U6.1. Scopul i obiectivele unitii 80

U6.2. Tabelele Access; Crearea Tabelelor Access.............................81

U6.3. Crearea tabelelor n Modul Proiectare Tabel(Design View)..................................82

U6.4. Crearea unui tabel pe baza unui sablon de tabel...........................83

U6.5. Crearea unui tabel prin introducerea directa a datelor..............................83

U6.6. Crearea unui tabel prin importul unui tabel dintr-o baz de date..84

U6.7. Crearea unui tabel utilizand liste SharePoint85

U6.6. Rezumat ...87

Bibliografie minimal..87

Rspunsuri i comentarii la testul de autoevaluare.87

UNITATEA 7: TIPURI DE DATE ACCESS, STABILIREA PROPRIETILOR CMPURILOR

U7.1. Scopul i obiectivele unitii 88

U7.2. Tipuri de date utilizate de tabele Access ......................89

U7.3. Proprietile cmpurilor ...92

U7.4. Definirea chei primare si a indecsilor .96

U7.5. Rezumat 100

Bibliografie minimal100

Rspunsuri i comentarii la testul de autoevaluare100

UNITATEA 8: OPERAII CU STRUCTURA I NREGISTRRILE UNUI TABEL

U8.1. Scopul i obiectivele unitii.101

U8.2. Modificarea structuri unui tabel ...............102

U8.3. Operaii asupra nregistrrilor dintr-o tabel ........103

U8.4. Definirea relaiilor ntre tabelele Access .108

U8.5. Rezumat ...115

Bibliografie minimal .116

Rspunsuri i comentarii la testul de autoevaluare .116

VERIFICARE NR.2

MODULUL 3

UNITATEA 9: INTEROGRILE ACCESS

U9.1. Scopul i obiectivele unitii 120

U9.2. Definirea interogrilor ..........121

U9.3. Crearea Interogrile de selectie ........122

U9.4. Crearea interogrilor cu ajutorul experilor Access .................127

U9.5. Rezumat ...130

Bibliografie minimal 130

Rspunsuri i comentarii la testul de autoevaluare 130

UNITATEA 10:UTILIZAREA OPERATORILOR N INTEROGRILE ACCESS, CREAREA DE CMPURI CALCULATE

U10.1. Scopul i obiectivele unitii..131

U10.2. Utilizarea operatorilor n interogrile Access ............131

U10.3. Cmpurile calculate n interogrile de selecie .134

U10.4. Rezumat .137

Bibliografie minimal .137

Rspunsuri i comentarii la testul de autoevaluare .138

UNITATEA 11: INTEROGRILE PARAMETRIZATE, INTEROGRILE DE SINTEZ, INTEROGRILE NCRUCIATE

U11.1. Scopul i obiectivele unitii ..140

U11.2. Interogrile parametrizate ..................141

U11.3. Crearea interogrilor de sintetizare a datelor .........142

U11.4. Interogarea tip Tabel ncruciat CrosstabQuery 145

U11.5. Rezumat .149

Bibliografie minimal .149

Rspunsuri i comentarii la testul de autoevaluare .149

UNITATEA 12: INTEROGRILE DE ACIUNE

U12.1. Scopul i obiectivele unitii ..150

U12.2. Creaarea Interogrilor de aciune ...151

U12.3. Interogri pentru crearea de noi tabele(Make table query) 152

U12.4. Interogri pentru actualizarea datelor(Update query) 153

U12.5. Interogri pentru adugarea datelor(Append query) ..155

U12.6. Interogri pentru tergerea datelor(Delete query) ..155

U12.7. Rezumat ... .157

Bibliografie minimal..157

Rspunsuri i comentarii la testul de autoevaluare..157

VERIFICARE NR.3

MODULUL 4

UNITATEA 13: FORMULARELE ACCESS

U13.1. Scopul i obiectivele unitii .160

U13.2. Crearea Formularelor Access .161

U13.3. Lucrul cu un formular n Modul Design 168

U13.4. Rezumat .....175

Bibliografie minimal 175

Rspunsuri i comentarii la testul de autoevaluare 175

UNITATEA 14 - RAPOARTELE ACCESS

U14.1. Scopul i obiectivele unitii176

U14.2. Crearea Rapoartelor Access ..........177

U14.3. Crearea Rapoartelor n modul expert(Report Wizard) .........179

U14.4.Generarea rapoartelor folosind opiunea DesignView 182

U14.5. Rezumat .........................185

Bibliografie minimal .185

Rspunsuri i comentarii la testul de autoevaluare 185

Bibliografie ..186

Introducere

Scopul cursului:ntr-o societate care promoveaz dezvoltarea bazat pe cunoatere i creativitate, rolul bazelor de date devine tot mai important pentru a gestiona informaiile care stau la baza generrii noului. n aceast epoc a economiei digitale globale, dobndirea cunotinelor de informatic, dar mai ales abilitatea de a le utiliza n dezvoltarea aplicaiilor reprezint competene majore ale profilului profesional pentru orice domeniu al vieii socio-economice.

Modul n care a fost gndit i pus n practic face din acest volum un suport metodologic pentru disciplina Baze de Date , dar i un instrument de lucru necesar att n nelegerea i nsuirea acestei discipline prin prezentarea concis a noiunilor urmat de exemple practice, dar i pentru consolidarea acestora prin testele de autocontrol propuse.

Coninutul lucrrii a fost structurat pe 4 module divizate n 14 uniti de studiu care cuprind obiectivele nvrii, sinteze de noiuni teoretice i exemple ilustrative, rezumate, concluzii i teste de autoevaluare.

O unitate de nvare, acoperind n medie 2 ore de studiu individual, se constituie practic ca o succesiune de sarcini de nvare, n care un rol determinat revine autoevalurii dorind astfel s dezvoltm capacitatea de studiu individual i s dm posibilitatea studentului ID ca, dei lipsit de explicaiile profesorului, s dobndeasc cunotine i competene de aceeai calitate i n aceeai cantitate cu cele ale studenilor de la forma de nvmnt zi.Obiectivul principal al lucrrii este acela de a oferi studenilor un sprijin n realizarea proiectelor proprii, de a le oferi ideii si soluii pentru dezvoltarea aplicaiilor i de a le deschide interesul spre domeniul bazelor de date.

Proiectarea modelelor relaionale pentru bazele de date este realizat pe baza teoriei normalizrii i, pentru fiecare aplicaie,sunt exemplificate cereri de interogare a datelor i propuneri privind proiectarea elementelor de interfa i a situaiilor de raportare prin facilitile existente n Microsoft Access 2007. Testele de autoevaluare care sunt incluse pe parcursul fiecrei uniti de studiu au rolul de a v testa atingerea obiectivele propuse. Aceste exerciii de autotestare mpreun cu rspunsurile/rezolvrile/indicaiile incluse la sfritul unitii respective ncearc s v ajute n activitatea de autotestare, activitate prin care v putei da seama dac ai atins obiectivele propuse la nceputul unitii de studiu, sau nu. Finalizarea studiului unui modul, de regul, se concretizeaz prin rezolvarea unor Verificrii, care vor fi rezolvate de ctre student in cadrul activitatilor asistate in prezenta tutorelui de disciplin care, le va analiza, le va nota,si va face comentarii individualizate.Verificarile sunt nsoite de instruciuni privind redactarea lucrrii, constrngeri privind lungimea rspunsurilor, resursele suplimentare necesare elaborrii lucrrii, criterii de evaluare i notare a lucrrii astfel nct s atingei toi parametri necesari obinerii notei maxime. Cursul de Baze de date are prevzute 3 verificari obligatorii.Obiectivele cursului:Cursul Baze de Date si propune sa instruiasca studentii n domeniul informatic, sa-i determine sa nteleaga aspecte legate de folosirea si administrarea bazelor de date n cadrul unei firme. Cunoaterea, nelegerea i utilizarea conceptelor, abordrilor, teoriilor, modelelor i metodelor de baz n domeniul proiectrii bazelor de date i a utilizrii acestora n gestionarea datelor financiar-contabile.Dobndirea de capaciti privind:- ntelegerea notiunilor de baza privind bazele de date si demonstrarea abilitatii de a folosi o baza de date pe un calculator personal.

- Capacitatea de a proiecta si planifica o baza de date simpla folosind o aplicatie standard n realizarea de baze de date;

- Explicarea i interpretarea coninuturilor teoretice i practice ale disciplinei;

- Interpretarea creativ a informaiilor i capacitatea de a rezolva o situaie-problem cu ajutorul calculatorului;

- Identificarea datelor relevante, care trebuie memorate n baza de date i a relaiilor dintre acestea;

- Analiza datelor ce intervin n aplicaii practice concrete;

- Identificarea relaiilor existente ntre date;- Redundana datelor.

Dobndirea de abiliti privind:

- Utilizarea instrumentelor specifice de prelucrare a tabelelor i bazelor de date folosind Microsoft Access;

- Capacitatea de a extrage informaii dintr-o baza de date existenta folosind instrumentele de interogare, selecie i sortare existente n cadrul bazei de date;

- Capacitatea de a crea si modifica rapoarte;- Aplicarea cunotinelor asimilate pentru realizarea unui proiect cu tabele si prelucrri de baze de date (Analizarea unei probleme date i proiectarea i crearea bazei de date).

Timpul alocat:Durata medie de studiu individual a coninutul cursului - 28 ore(SI)Activiti asistate 28 ore (AT)

Evaluarea:Proiectele propuse n cadrul activitatilor asistate vor avea o pondere de 30% n nota final, restul reprezint 60% nota la testul de verificare a cunotinelor de la examenul programat n sesiunea de examene i 10% accesarea platformei e-learning.MODULUL 1UNITATEA 1:INTRODUCERE IN BAZE DE DATE

UNITATEA 2:SISTEME A GESTIUNE A BAZELOR DE DATE

UNITATEA 3MODELAREA CONCEPTUAL A BAZELOR DE DATE

UNITATEA 4BAZE DE DATE RELAIONALE I SGBD-URI RELATIONALE - SGBDR

VERIFICARE NR.1

MODULUL 2UNITATEA 5:

SISTEMUL DE GESTIUNE AL BAZELOR DE DATE - ACCESS2007

UNITATEA 6:

TABELELE ACCESS

UNITATEA 7:

TIPURI DE DATE ACCESS, STABILIREA PROPRIETATILOR CAMPURILOR

UNITATEA 8:

OPERAII CU STRUCTURA I NREGISTRRILE UNUI TABEL

VERIFICARE NR. 2

MODULUL 3UNITATEA 9: INTEROGARILE ACCESS

UNITATEA 10: UTILIZAREA OPERATORILOR IN INTEROGARILE ACCESS, CREAREA DE CAMPURI CALCULATE

UNITATEA 11:INTEROGARILE PARAMETRIZATE, INTEROGARILE DE SINTEZA, INTEROGARILE INCRUCISATE

UNITATEA 12:INTEROGARILE DE ACTIUNE

VERIFICARE NR. 3

MODULUL 4UNITATEA 13: FORMULARELE ACCESS

UNITATEA 14: RAPOARTELE ACCESS

MODULUL 1UNITATEA 1:INTRODUCERE IN BAZE DE DATE

UNITATEA 2:SISTEME A GESTIUNE A BAZELOR DE DATE

UNITATEA 3MODELAREA CONCEPTUAL A BAZELOR DE DATE

UNITATEA 4BAZE DE DATE RELAIONALE I SGBD-URI RELATIONALE - SGBDR

VERIFICARE NR.1

UNITATEA 1INTRODUCERE N BAZE DE DATE

Durata medie de studiu individual - 2 ore

Cuprins:

pag.U1.1. Scopul i obiectivele unitii 12

U1.2. Noiuni i concepte fundamentale n organizarea datelor n baze de date....13

U1.3. Arhitectura ANSI/SPARC a bazelor de date.16

U1.4. Limbajele bazelor de date ..17

U1.5. Rezumat...19

Bibliografie minimal 20

Rspunsuri i comentarii la testul de autoevaluare ..20

U1.1. Scopul i obiectivele unitii de nvareScopul unei baze de date este acela de a nmagazina datele n aa fel nct s se poat obine informaia dorit n orice moment. Informaiile, spre deosebire de date, au un caracter dinamic n sensul c ele se modific n funcie de datele nmagazinate n baza de date, dar i n sensul c ele pot fi procesate i prezentate n diverse feluri.n urma parcurgerii acestei teme vei cunoate:

o imagine sintetic i cuprinztoare a bazelor de date. evoluia organizrii bazelor de date bazat pe conceptele de dat, colecii de date i fiiere.

avantajele bazelor de date.

U 1.2. Noiuni i concepte fundamentale n organizarea datelor n baze de dateO 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. Ele sunt preluate din msurtori i observaii i constituie orice mesaj primit de un receptor sub o anumit form. O percepie a lumii reale poate fi privit ca o serie de obiecte sau fenomene distincte sau interdependente.

Datele n sine nu au nici un fel de semnificaie. Mai mult dect att, nefiind altceva dect o niruire de litere i cifre, ele pot primi diverse interpretri, cele mai multe dintre ele fiind, de obicei, greite. Datele se refera la numere, fapte, diferite documente etc. Informaiile se refer la date organizate, date care au fost filtrate i ordonate dup anumite criterii.

A obine informaie nseamn, de fapt, a introduce datele disponibile ntr-un anumit context conferindu-le n acest fel o anume semnificaie. Ceea ce se nmagazineaz ntr-o baz de date, aa cum am artat, sunt datele care au o natur static n sensul c ele rmn n aceeai stare pn n momentul modificrii lor de ctre administratorul bazei de date prin intermediul unui proces manual sau automat. Pentru ca datele s poat fi transformate n informaie ele trebuie organizate astfel nct s poat fi prelucrate efectiv. Pentru a determina n cazul unei aplicaii modul de organizare a datelor, trebuie determinate acele caracteristici ale datelor care permit extragerea esenei nelesului lor.

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 date organizate pe criterii calitative, de prelucrare i de scop. Un fiier reprezint o colecie de date aflate n asociere ce are o denumire i care este reprezentat, de obicei, cu ajutorul unei secvene de bytes sub forma celor dou vederi:

- vederea logic: reprezint felul n care utilizatorul vede fiierul;

- vederea fizic: reprezint felul n care fiierul este stocat n memoriaextern a calculatorului. Aceste dou vederi pot fi, evident, foarte diferite ntre ele.

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.

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.

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) ansamblu de programe care realizeaz gestiunea, prelucrarea complex a datelor i dezvoltarea de aplicaii privind bazele de date asigurnd interfaa ntre BD i utilizatori.

Sistemul de gestiune a bazei de date - SGBD - 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.

U 1.3. Arhitectura ANSI/SPARC a bazelor de date 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:

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;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;

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.

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.

U 1.4. Limbajele bazelor de dateLimbajele bazelor de date sunt mprite n 2 categorii: limbaje de definire a datelor (DDL) i limbaje de manipulare a datelor (DML).

a) Limbajul de definire a datelor (DDLCu ajutorul acestui limbaj se specific tipurile de date i structurile precum i constrngerile asupra datelor. Instruciunile limbajului sunt compilate i transformate ntr-un set de tabele nmagazinate ntr-un fiier special numit dicionar de date sau catalogul sistemului (descrierea datelor se ntlnete sub denumirile de catalog de sistem, dicionar de date sau meta-date ceea ce nseamn date despre date).

Structura de nmagazinare a datelor precum i metodele de acces utilizate de sistemul bazei de date sunt specificate cu ajutorul unui set de definiii folosit cu scopul ascunderii detaliilor de implementare a schemelor bazei de date.

b) Limbajul de manipulare a datelor

Acest limbaj este folosit pentru a ajuta utilizatorul s acceseze i s foloseasc datele aflate n baza de date ntr-un mod interactiv. Cu ajutorul acestui limbaj se pot extrage date din baza de date, introduce date n baza de date, elimina date din baza de date sau actualiza date din baza 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.

ntrebri facultative1. Ce nelegei prin entitate? Exemplificai2. Ce nelegei prin atribut?3. Cum se definete identificatorul?4. Definii data?5. Prin ce se caracterizeaz datele? Exemplificai.

6. Ce nelegei prin colecia de date? Exemplificai.

7. Ce reprezint fiierul? 8. Definii baza de date?

9. Ce nelegei prin sistem de baze de date?

10. Definii procedurile?Test de autoevaluare nr. 11. n funcie de categoria de personal implicat n folosirea bazei de date, datele dintr-o baz de date pot fi structurate pe trei niveluri. Care sunt acestea:1. nivelul conceptual;

2. nivelul baz;

3. nivelul logic;

4. nivelul fizic;

5. nivelul general;

6. nivelul intern.

Alegei varianta corect

a. 1,2,5,6,

b.1 3,4

c. 1 3 4 6

d. 2 4 6

e. 1 3 4 5

(20 puncte)

2. Utilizatorii unui sistem de baze de date se pot mpri n cteva categorii:a. programatorii de aplicatii, utilizatorii finali

b. programatorii de aplicatii, administratorulbazei de date, utilizatorii finalic. programatorii de aplicaii, administratorul bazei de date, utilizatorii finali , programatorii de fluxuri informaionale

d. utilizatorii finali(10 puncte)

3. Componentele unui sistem de baze de date sunt: a. hardware;

b. software;

c. datele;

d. procedurile;

e. utilizatorii. (10 puncte)

4. Completai: Arhitectura intern a unui sistem de baze de date propus prin standardul ANSI/X3/SPARC (American National Standards Institute, Standards Planning And Requirements Committee) n anul .. , i conine trei niveluri funcionale: nivelul .., nivelul .. i nivelul (10 puncte)

5. Conceptul de baz de date a aprut n pornind de la ideea existenei unui fiier de descriere global a datelor, prin care se asigur fa de date.(10 puncte)

6. (Baza de date propriu-zis reprezint o singur colecie de date aflata n interdependen mpreun cu descrierea datelor i a relaiilor dintre ele.

Adevarat Fals (10 puncte)

7. Sistemul de Gestiune a Bazei de Date reprezint ansamblu de programe care realizeaz gestiunea, prelucrarea complex a datelor i dezvoltarea de aplicaii privind bazele de date asigurnd interfaa ntre BD i utilizatori.Adevarat Fals (10 puncte)8.Limbajele bazelor de date sunt mprite n:

a. limbaje de definire a datelor ; b. Limbaje de descriere a datelor c. Limbaje de manipulare a datelor d;Limbaje de alegere a datelor (20 puncte)U1.5. Rezumat

Societatea contemporan, caracterizat prin afluxul fr precedent de informaie de diferite tipuri i pe diverse canale, necesit strategii i instrumente din ce in ce mai complexe pentru stocare, procesare i, mai ales, interpretare. In acest context, se pune problema transformrii informaiei n date i organizarea acestora ntr-o asemenea manier nct n orice moment s poat fi extrase, cu promptitudine i exactitate, datele favorabile realizrii unui scop specific.

Scopul unei baze de date este acela de a nmagazina datele n aa fel nct s se poat obine informaia dorit n orice moment. Informaiile, spre deosebire de date, au un caracter dinamic n sensul c ele se modific n funcie de datele nmagazinate n baza de date, dar i n sensul c ele pot fi procesate i prezentate n diverse feluri. Bibliografie minimal

1. Babucea A.G., Baze de date, Editura Studii Economice, Craiova, 2002.2. Bandu I., Baze de date Access 2007, Editura Mirton, Timisoara, 2009, pag. 1-8Rspunsuri i comentarii la testul de autoevaluare nr. 81. b; 2. b; 3.abcde; 4-1975/extern/conceptual/intern/; 5-1969/independena programelor; 6-F; 7-A; 8-ac;UNITATEA 2SISTEME DE GESTIUNE A BAZELOR DE DATE

Durata medie de studiu individual - 2 ore

Cuprins:

pag.U2.1. Scopul i obiectivele unitii ..21

U2.2. SGBD-Etape n evoluie .22

U2.3. Obiectivele i funciile unui SGBD.23

U2.4. ClasificareaSGBD-urilor30

U2.5. Rezumat...34

Bibliografie minimal 35

Rspunsuri i comentarii la testul de autoevaluare ..35

U2.1. Scopul i obiectivele unitii de nvare

Scopul unui sistem de gestiune al unei baze de date este acela de a oferi un mediu care s fie i convenabil, dar i eficient pentru a putea fi folosit la:

extragerea informaiilor din baza de date;

nmagazinarea datelor n baza de date.

Parcurgerea acestei teme v va facilita cunoaterea:

definirii sistemelor de gestiune a bazelor de date i a etapelor n evoluia acestora; obiectivelor i a funciilor SGBD-urilor; sarcinilor i competenelor diferitelor categorii de utilizatori ai unei baze de date; criteriilor de clasificare a SGBD-urilor;U 2.2. SGBD - Etape n evoluie

Un SGBD este un ansamblu complex de programe care asigur interfaa ntre o baz de date i utilizatorii acesteia. SGBD este componenta software a unui sistem de baz de date care interacioneaz cu toate celelalte componente ale acestuia, asigurnd legtura i interdependena ntre elementele sistemului (vezi arhitectura unui SBD).

Rolul unui SGBD ntr-un context de sistem de baz de date este de a:

1. defini i descrie structura bazei de date, care se realizeaz printr-un limbaj propriu specific, conform unui anumit model de date;

2. ncrca/valida datele n baza de date respectnd nite restriciile de integritate impuse de modelul de date utilizat;

3. realiza accesul la date pentru diferite operaii (consultare, interogarea, actualizare, editare situaii de ieire), utiliznd operatorii modelului de date

4. ntreine baza de date cu ajutorul unor instrumente specializate (editoare, utilitare - shells, navigatoare browsers, convertoare etc);

5. asigura protecia bazei de date sub aspectul securitii i integritii datelor.

Evoluia SGBD-urilor este legat, n principal, de modelul de date pe care-l implementeaz. Organizarea datelor n memoria extern n baze de date se face conform unui model de date, aa cum am vzut n capitolele precedente. Etapele n evoluia SGBD-urilor sunt urmtoarele:

Etapa I. Pn n anii aizeci datele erau organizate doar n fiiere, gestionate de programe scrise n diferite limbaje de programare universale (exemple: Cobol, Fortran etc.);

Etapa II. La sfritul anilor aizeci a aprut modelul arborescent de organizare a datelor i primele SGBD-uri care erau ierarhice i implementau acest model (exemplu: IMS).

Etapa III. La nceputul anilor aptezeci a aprut modelul reea de organizare a datelor i SGBD-urile reea ce implementau acest model (exemple: IDMS, SOCRATE).

SGBD-urile arborescente i reea fac parte din prima generaie i ele constituie pionieratul n domeniu.

Etapa IV. La sfritul anilor aptezeci, nceputul anilor optzeci a aprut modelul relaional de organizare a datelor i ulterior s-au realizat SGBD-urile relaionale ce implementau acest model (exemple: Oracle, Informix, DB2, SQLServer, Visual Foxpro, Access etc.). Este generaia a doua de SGBD, care prin simplitate, interactivitate i neproceduralitate domin piaa actual.

Etapa V. La sfritul anilor optzeci, nceputul anilor nouzeci a aprut modelul orientat obiect de organizare a datelor i SGBD-urile orientate obiect ce implementau acest model (exemple: Gemstone, O2, Jasmine etc.). Aceasta este generaia a treia de SGBD care este n plin dezvoltare acum.

n momentul de fa este evident tendina productorilor de sisteme de gestiune a bazelor de date de a trece la sisteme obiect-relaionale i, n general, aceast trecere se realizeaz prin adugarea treptat a caracteristicilor modelului obiect n sistemele de gestiune relaionale. Oferta de sisteme de gestiune a bazelor de date este deosebit de generoas, pe o scar extins de performane i costuri, de la sisteme care se pot folosi gratuit (fr licen sau cu licen public), pn la sisteme cu nalte performane, a cror utilizare necesit plata licenelor respective. Chiar i pentru astfel de sisteme exist versiuni de test (trial versions) care pot fi obinute gratuit prin Internet

La trecerea de la o generaie la alta de SGBD s-au urmrit urmtoarele aspecte: 1. Pstrarea aspectelor fundamentale care dau conceptul de SGBD: obiectivele, funciile i componentele. Desigur, la fiecare generaie apar i o serie de elemente specifice, de nuan, care ns nu schimb fundamentele conceptului.

2. ncadrarea unui SGBD ntr-o generaie se face n funcie de modelul de date implementat. Sunt luate n considerare toate cele trei elemente care caracterizeaz modelul de date: definirea structurii modelului (entitile i legturile dintre ele), operatorii de prelucrare, restriciile de integritate.

3. mbuntirea organizrii datelor n memoria extern prin implementarea unui model mai performant. Se urmrete creterea independenei logice i fizice (pn la total), asigurarea unor limbaje de descriere a datelor (LDD) ct mai performante i automatizate, asigurarea unor limbaje de manipulare a datelor (LMD) puternice, asigurarea unor limbaje de regsire neprocedurale (exemplu SQL), reducerea i controlul redundanei.

4. mbuntirea accesului la date prin: acces dup mai multe chei, acces concurent, optimizarea accesului, creterea securitii datelor.

5. Oferirea unor faciliti de utilizare tot mai performante: generatoare specializate, interfee cu alte limbaje de programare, interactivitatea.

6. Diversificarea tipurilor de date ce pot fi utilizate, diversificarea modului de lucru (local sau reea), precum i a tipurilor de aplicaii ce pot fi dezvoltate. Acest lucru nseamn c SGBD-urile se doresc a avea o extensibilitate ct mai mare, care s le permit adaptarea la nou.

7. Utilizarea unor SGBD-uri din generaiile precedente n paralel cu dezvoltarea unei noi generaii.

8. Tendina de fundamentare teoretic i standardizare a conceptelor din fiecare nou generaie de SGBD aprut, ceea ce ofer acestora robustee i deschidere.

U 2.3. Obiectivele i funciile unui SGBDObiectivul general al unui SGBD este de a furniza suportul software complet pentru dezvoltarea de aplicaii informatice cu baze de date. Fiind un mediu specializat, SGBD satisface cerinele informaionale ale utilizatorului ntr-un mod optim. Astfel, el asigur minimizarea costului de prelucrare a datelor, reduce timpul de rspuns (timp util), asigur flexibilitate i deschidere mari aplicaiei, asigur protecie ridicat a datelor.

Pentru ca un produs software s ating performanele de mai sus i s fie un SGBD, el trebuie s asigure un set minim de obiective:

1. Asigurarea independenei datelor. Se spune c o aplicaie informatic depinde de date, dac modificarea structurii de memorare a datelor sau a strategiei de acces la date afecteaz i aplicaia. Independena datelor fa de aplicaie poate fi:

- fizic, adic modul de memorare a datelor i tehnicile fizice de memorare (strategia de acces), pot fi schimbate fr a rescrie programele (exemplu, se poate face acces secvential, apoi se poate indexa i face un acces direct);

- logic, adic structura de date poate fi schimbat (deoarece este pstrat n dicionarul bazei de date) fr a rescrie programele (exemplu, se poate aduga n structur un nou cmp).

Necesitatea asigurrii independenei datelor fa de programele de aplicaie, de ctre SGBD, este dat de urmtoarele aspecte:

diferite aplicaii au nevoie de viziuni diferite ale utilizatorului asupra acelorai date. O baz de date este realizat pentru o gam larg de utilizatori, care au la dispoziie un volum mare de date. SGBD-ul trebuie s-i permit la un moment dat unui utilizator s vad (s-i construiasc o viziune) doar o parte din baza de date i anume numai acele date care l intereseaz;

administratorul bazei de date trebuie s aib libertatea de a schimba structura de memorare sau strategia de acces, ca rspuns la cerinele noi aprute, fr a modifica aplicaiile existente (sistem deschis). Dup darea n folosin a unei baze de date pot apare schimbri de standarde sau norme, se pot modifica prioritile aplicaiei, se pot modifica unitile i modul de memorare ale datelor etc. Cu alte cuvinte, dinamica lumii reale nconjurtoare va genera modificri n baza de date. SGBD-ul va permite aplicaiei informatice s funcioneze cu programele existente i s converteasc datele;

Baza de date existent la un moment dat, precum i programele de aplicaie care au fost folosite o perioad de timp, reprezint o investiie major la care nu trebuie s se renune prea uor. Cheltuielile pentru realizarea unei baze de date sunt mari, iar ele trebuie recuperate integral i adus un beneficiu.

2. Redundan minim i controlat a datelor Spre deosebire de sistemele clasice (cu fiiere) de prelucrare automat a datelor, stocarea informaiilor n bazele de date se face astfel nct datele s nu fie multiplicate. Cu toate acestea, uneori, pentru a realiza performane sporite, n ceea ce privete timpul de rspuns se accept o anumit redundan a datelor. Aceasta va fi ns controlat pentru a se asigura coerena(corectitudinea datelor) bazei de date. Exemplul tipic de redundan controlat acceptat este cea aprut la proiectare bazelor de date relaionale prin tehnica de normalizare.

3. Faciliti de utilizare a datelor Aceast facilitate presupune ca SGBD-ul s aib nite componente specializate pentru diferite operaii de utilizare:

- Folosire datelor de ctre mai muli utilizatori n diferite scopuri (aplicaii). De cele mai multe ori, o baz de date nu este realizat izolat. Mai ales n cazul realizrii unor aplicaii informatice cu baze de date care fac parte dintr-un sistem integrat, dar nu numai, datele de la o aplicaie trebuie s poat fi utilizate n alte aplicaii. Acest lucru reduce spaiul de memorare necesar i efortul de ncrcare / validare a datelor.

- Accesul ct mai simplu al utilizatorilor la date, fr ca ei s fie nevoii s cunoasc structura ntregii baze de date, acest lucru rmnnd n sarcina administratorului bazei de date.

Utilizatorul final sau intensiv (neinformaticienii), care este beneficiarul aplicaiei cu baze de date, are puine noiuni de informatic. De aceea pe el nu l intereseaz structura bazei de date, ci numai o utilizare ct mai uoar. Pentru acest lucru SGBD-ul trebuie s ofere instrumente specializate pentru dezvoltarea de programe de aplicaie ct mai prietenoase, care s dirijeze i s ajute beneficiarul n utilizarea bazei de date.

- Existena unor limbaje performante de regsirea a datelor care permit exprimarea interactiv a unor cereri de regsire a datelor i indicarea unor reguli pentru editarea informaiilor solicitate.

Regsirea datelor este una din operaiile cele mai folosite ntr-o baz de date. Fie c este folosit pentru actualizare sau pentru consultare, sub forme diferite, regsirea datelor este realizat la cererea tuturor tipurilor de utilizatori ai bazei de date. Din acest motiv SGBD-urile sunt puternice n ceea ce privesc facilitile de regsire. Acestea au atins performane ridicate n sistemele relaionale, multe din facilitile de regsire de aici fiind preluate n generaia a treia de SGBD-uri.

- Spre deosebire de sistemul clasic de prelucrare pe fiiere, unde exist un singur criteriu de adresare (cel care a stat la baza organizrii fiierului) n cazul bazelor de date, sistemul de gestiune trebuie s ofere posibilitatea unui acces multicriterial. n timp ce modificarea criteriului la fiierele clasice implic reorganizarea lor, la bazele de date schimbarea criteriului nu afecteaz cu nimic datele. SGBD-ul stocheaz datele n entitile bazei de date i permite mai multe ci de acces. Pentru diferite moduri de adresare SGBD creeaz dinamic, la momentul execuiei, o serie de fiiere anexe (de index etc.) care las neschimbate entitile bazei de date.

4. Protecia datelor. n sistemele de baz de date, protecia datelor se asigur sub dou aspecte: securitatea i integritatea.

Securitatea (confidenialitatea) datelor semnific faptul c accesul la date se face numai printr-o autorizare corespunztoare i doar controlat (sarcina administratorului bazei de date cu ajutorul SGBD-ului).

n acest sens, SGBD-ul permite: autorizarea i controlul accesului la date, utilizarea viziunilor, realizarea unor proceduri speciale, criptarea datelor.

a) Autorizarea i controlul accesului la date este realizat de SGBD prin intermediul parolelor. Acestea identific clasele de utilizatori, cu anumite drepturi de acces, la anumite date.

Clasele de utilizatori pentru care se poate autoriza accesul la baza de date sunt:

- uilizatorii obinuii care nu au n proprietate obiecte i nu au alte privilegii dect cele date de administratorul BD.

- proprietarii de obiecte (tabele, viziuni, proceduri etc.) sunt utilizatorii care i creeaz anumite obiecte. Implicit proprietarul unui obiect are toate privilegiile asupra acestuia, putnd s le revoce sau s le transmit altor utilizatori.

- administratorul BD este utilizatorul care are implicit toate drepturile asupra datelor i dreptul de a revoca sau stabili privilegii pentru ceilali utilizatori.

Privilegiile diferiilor utilizatori sunt gestionate de SGBD astfel: un anumit subiect (utilizator) poate realiza anumite aciuni, asupra anumitor obiecte, n limita anumitor restricii (condiii suplimentare). Profilul utilizator este dat de nume (NAME), parola (PASS), nume grup, numr nivel de acces.

b) Utilizarea vederilor (view) este asigurat de SGBD pentru reprezentarea schemelor externe ale bazei de date. Cu ajutorul vederilor, SGBD-ul permite s se defineasc partiii logice ale bazei de date, definite pentru diferii utilizatori, n raport cu cerinele acestora de acces la date. Securitatea datelor este asigurat de SGBD prin definirea tuturor drepturilor necesare unui utilizator pentru o viziune i revocarea drepturilor pentru obiectele iniiale.

c) Realizarea unor proceduri speciale de acces asupra datelor este permis de SGBD. Aceste proceduri scrise n LMD se pstreaz n form precompilat, iar anumitor utilizatori li se va acorda dreptul de execuie i li se va interzice accesul direct la obiectele bazei de date.

d) Criptarea este asigurat de SGBD prin oferirea unor rutine de criptare (codificare) a datelor apelate automat sau la cerere i prin existena unor instrumente care permit utilizatorului s realizeze propriile rutine de criptare. Criptarea i decriptarea se realizeaz dup algoritmi specifici, cu o cheie (parol) de acces la rutin.

Componentele unui sistem de criptare sunt:

- Algoritmul de criptare este o rutin care transform datele iniiale ntr-o form cifrat (codificat);

- Cheia de criptare este o valoare secret (parola) care permite intrarea n algoritmul de criptare;

- Algoritmul de decriptare este o rutin care transform datele din forma criptat n cea iniial;

- Cheia de decriptare este o parol de intrare n algoritmul de decriptare.

Integritatea datelor se refer la corectitudinea (coerena) datelor i este asigurat prin protejarea acestora mpotriva unor incidente intenionate sau neintenionate

Componentele SGBD-ului asigur integritatea datelor tratnd separat cauzele care pot altera baza de date: integritatea semantic, controlul accesului concurent, salvarea / restaurarea.

a) Integritatea semantic este asigurat prin operaii efectuate de SGBD asupra datelor i a prelucrrilor. Aceste operaii alctuiesc un set de reguli numit restricii de integritate. SGBD-ul asigur astfel de restricii implicite (rezult din modelul de date implementat) i explicite (proceduri incluse n programele de aplicaie).

b) Accesul concurent asigur coerena datelor i este un obiectiv al SGBD-ului care se pune cu acuitate mai ales la baze de date distribuite. n acest sens SGBD-ul are o unitate distinct de prelucrare a datelor numit tranzacie, care este constituit dintr-o secven de operaii marcat de puncte de nceput i sfrit. Tranzacia poate fi controlat de SGBD implicit, cnd punctele de nceput i de sfrit sunt automat definite, sau explicit, cnd punctele de nceput i de sfrit sunt definite prin comenzi specifice. La execuia concurent a tranzaciilor SGBD-ul trebuie s asigure blocarea datelor utilizate la un moment dat. Aceasta nseamn c se interzice accesul celorlalte tranzacii concurente la aceleai date, pn se termin tranzacia curent.

Tehnica de blocare utilizat de SGBD se poate aplica la nivelul ntregii baze de date, a unui fiier, a unei nregistrri sau chiar a unui cmp. Ea poate fi pentru citire (partajabil) sau pentru scriere (exclusiv).

Cele mai multe SGBD-uri realizeaz blocarea la nivel de nregistrare i fiier, prin diferite metode: setarea unui bit pentru resursa respectiv, construirea unei liste cu resursele blocate, meninerea resurselor blocate ntr-o zon special etc.

Interblocarea este situaia n care dou tranzacii blocheaz anumite resurse, apoi solicit fiecare resursele blocate de cealalt. La nivelul de SGBD trebuie s existe facilitatea de prevenire sau rezolvare a interblocrii:

- Prevenirea interblocrii presupune c programele blocheaz toate resursele de care au nevoie nc de la nceputul fiecrei tranzacii (greu de precizat).

- Soluionarea interblocrii presupune c exist nite mecanisme pentru detectarea i eliminarea interblocrii (de exemplu graful dependenelor proceselor de executat).

c) Salvarea/restaurarea (backup/recovery) ca facilitate a SGBD-ului permite refacerea consistenei datelor care au fost alterate fizic din diferite motive.

Salvarea datelor este un proces de stocare prin realizarea de copii de siguran i prin jurnalizarea tranzaciilor i a imaginilor. SGBD-ul poate asigura salvarea automat sau la cererea administratorului bazei de date.

Jurnalul tranzaciilor este un fiier creat i ntreinut de SGBD, n care se memoreaz informaiile despre tranzaciile efectuate asupra bazei de date . Aceste informaii sunt: codul tranzaciei, momentul nceperii tranzaciei, identificatorul utilizatorului care a lansat tranzacia, actualizrile efectuate pe BD.

Jurnalul imaginilor se deosebete de cel al tranzaciilor prin aceea c nu conine descrierea operaiilor efectuate asupra BD ci efectul acestora.

Exist urmtoarele variante:

- Jurnalul cu imaginea nregistrrilor dup actualizare (after image), ce conine copia fiecrei nregistrri n forma de dup efectuarea unei actualizri asupra ei.

- Jurnalul cu imaginea nregistrrilor nainte de efectuarea unei actualizri (before image), ce conine copia fiecrei nregistrri n forma de dinaintea efecturii unei actualizri asupra ei.

- Jurnalul mixt ce conine att imaginea nregistrrilor dinainte de actualizare ct i dup actualizare.

Restaurarea pornete de la colecii de date stocate prin salvare i reface consistena bazei de date, minimiznd prelucrrile pierdute. Restaurarea este asigurat automat de SGBD, dar se poate realiza i manual.

Restaurarea automat a BD este realizat de SGBD cu ajutorul fiierelor jurnal. Pentru a se putea realiza acest lucru, SGBD realizeaz o paginare a BD i la o cerere de regsire transfer o astfel de pagin n memoria intern. Aici are loc prelucrarea ei i abia dup ce aceast prelucrare s-a terminat complet, se face transferul paginii napoi pe disc. Sincronizarea memoriei interne cu baza de date i fiierele jurnal, se realizeaz prin diferite tehnici: algoritmi specifici, executarea unor puncte de verificare (check point) la intervale de timp sau la cerere etc.

La nivelul SGBD-ului pot exista o serie de parametri de configurare care influeneaz procesul de restaurare automat. Aceti parametri se refer la: intervalul de restaurare, indicatorul de restaurare (ce informaii vor fi scrise n fiierul de erori) etc.

Restaurarea manual a BD implic intervenia administratorului pentru refacerea bazei de date de pe un suport tehnic care a fost distrus. Cea mai recent copie de siguran efectuat pentru o BD afectat este ncrcat i se reiau prelucrrile efectuate din momentul copierii pn la producerea defeciunii. Restaurarea manual se face prin deconectarea tuturor utilizatorilor de la BD, ncrcarea copiei i reluarea lucrului.

5. Partajabilitatea datelor Partajabilitatea datelor se refer nu numai la aspectul asigurrii accesului mai multor utilizatori la aceleai date, ci i la posibilitatea dezvoltrii unor aplicaii fr a se modifica structura bazei de date. Problema partajabilitii se pune la un nivel superior pentru SGBD-urile care permit lucrul n reea.

6. Legturile ntre date Legturile ntre date corespund asocierilor care se pot realiza ntre obiectele unei aplicaii informatice. Orice SGBD trebuie s permit definirea i descrierea structurii de date, precum i a legturilor dintre acestea, conform unui model de date. Fiecare tip de model de date permite anumite legturi ntre date. Un SGBD, care implementeaz un anumit model de date, va trebui s asigure i realizarea legturilor dintre datele corespunztoare n conformitate cu schema conceptual.

7. Performanele globale Performanele globale ale aplicaiei sunt influenate de SGBD. Acesta trebuie s gestioneze un volum mare de date de o complexitate ridicat, ntr-un anumit timp de acces rezonabil pentru diferii utilizatori. Pentru toate aceste lucruri SGBD-ul folosete diferite metode de acces, tehnici de optimizare, tipuri de date. Implementarea lor se face n componente specializate ale SGBD-ului.

Toate obiectivele de mai sus au fost avute n vedere la evoluia SGBD-urilor, fiecare generaie mbuntind performanele. Realizarea acestor obiective este asigurat de sistemele de gestiune a bazelor de date printr-o serie de componente ce permit efectuarea unor operaii specifice. n funcie de natura lor i scopul urmrit, operaiile pot fi grupate pe activiti. Activitile accept i ele o grupare pe funcii astfel nct, una sau mai multe activiti, relativ omogene, vor realiza o anumit funcie.

1.Funcia de descriere a datelor

SGBD-ul, prin aceast funcie, permite definirea structurii bazei de date cu ajutorul limbajului de definire a datelor (LDD). Definirea datelor poate fi realizat la nivel conceptual, logic i fizic. Se descriu atributele (cmpurile) din cadrul structurii bazei de date, legturile dintre entitile bazei de date sau dintre atributele aceleiai entiti, se definesc eventualele criterii de validare a datelor, metodele de acces la date, aspectele referitoare la asigurarea integritii datelor. Concretizarea acestei funcii este schema bazei de date, memorat n cod intern. Memorarea se face ntr-un fiier, ceea ce permite afiarea i actualizarea structurii bazei de date, n orice moment.

Aceast funcie a fost mult automatizat n timp, LDD avnd acum puine comenzi. LDD este specific fiecrui SGBD, dar el ntotdeauna realizeaz descrierea datelor conform elementelor modelului de date pe care l implementeaz SGBD-ul respectiv. Astfel se realizeaz definirea i descrierea entitilor i a caracteristicilor lor, definirea legturilor dintre obiecte (asocierile) i a regulilor de integritate specifice modelului de date.

Dup realizarea funciei de descriere, ntr-un SGBD, entitile bazei de date exist create deja ca fiiere, dar nu conin datele propriu-zise, ci numai structura bazei de date (schema bazei de date).

2. Funcia de manipulare a datelor Funcia de manipulare este cea mai complex i realizeaz actualizarea i regsirea datelor din baza de date, cu ajutorul limbajului de manipulare a datelor (LMD).

Sunt realizate urmtoarele activiti: ncrcarea, actualizarea, prelucrarea i regsirea datelor.

a) ncrcarea datelor n baza de date se realizeaz prin operaii automatizate sau programate ce asigur i criteriile de validare necesare.

b) Actualizarea bazei de date const n operaii de adugare, modificare i tergere de nregistrri. La operaiile de adugare i de modificare se pstreaz aceleai criterii de validare care s-au folosit i la activitatea de ncrcare a datelor. Actualizarea se realizeaz numai autorizat, prin asigurarea unei protecii corespunztoare a datelor, pentru a se pstra coerena bazei de date.

c) Prelucrarea datelor se realizeaz prin operaii de selecie, ordonare, interclasare (compunere) i ventilare (descompunere) efectuate asupra entitilor bazei de date. Acestea sunt, de obicei, operaii pregtitoare activitii de regsire a datelor. Multe din operaiile de prelucrare sunt realizate cu ajutorul operatorilor din modelul de date pe care l implementeaz SGBD-ul.

d) Regsirea (interogarea) datelor const n operaii de vizualizare (afiare pe ecran, imprimare pe hrtie), rsfoire, editarea unor situaii de ieire. Situaiile de ieire pot fi intermediare sau finale i se pot obine pe diferii supori tehnici de informaie (ecran, hrtie, mediu magnetic, mediu optic). Ele pot avea cele mai diferite forme (punctuale, liste, rapoarte, grafice, imagini, sunet, video) i se pot obine dup cele mai diferite criterii de regsire.

Funcia de manipulare a datelor este cea mai folosit n bazele de date i este cea mai bine suportat de SGBD fa de orice alt sistem de gestionare a datelor din memoria extern, care exist pn acum.

SGBD-ul manipuleaz datele ntr-un mod eficient, utiliznd n acest scop o serie de metode i tehnici de optimizare a accesului i a alocrii spaiului de memorie n calculator. Fiecare SGBD de la o generaie la alta i chiar de la o versiune la alta a cutat s mbunteasc acest aspect. Funcia de manipulare este asigurat n SGBD de un LMD. Acesta trebuie s respecte restriciile de integritate a datelor i s implementeze operatorii din modelul de date pe care se bazeaz SGBD-ul cruia i aparine.

LMD poate fi cu limbaj gazd sau cu limbaj propriu. Cele cu limbaj gazd sunt dezvoltate prin adaptarea unor limbaje universale de programare (Cobol, Pascal, C etc.) la cerinele de lucru ale SGBD-ului. Se mbin astfel puterea unui limbaj universal cu necesitile de regsire a datelor (exemplu: ORACLE). Cele cu limbaj propriu sunt dezvoltate printr-un limbaj specific capabil s uneasc puterea proceduralului cu regsirea dintr-un anumit tip de baz de date (exemplu: Visual Foxpro).

Pentru activarea de regsire exist limbaje de interogare specializate care pot fi incluse n LMD sau pot exista ca atare. Ele au aprut datorit lrgirii gamei de utilizatori ai bazelor de date, care i include i pe neinformaticieni tot mai mult. Pentru acetia au fost necesare faciliti de regsire simple i prietenoase, apropiate de modul de lucru i de gndire uman. In acest sens, limbajele relaionale (exemplu SQL) au cele mai bune performane.

3. Funcia de utilizare a bazei de date Funcia de utilizare asigur mulimea interfeelor necesare pentru comunicarea tuturor utilizatorilor cu baza de date . Pentru a realiza aceast funcie SGBD-ul trebuie s asigure faciliti pentru mai multe categorii de utilizatori ai bazei de date: neinformaicieni, specialiti (informaticieni), administratorul.

a) Utilizatorii neinformaticieni reprezint principala categorie a beneficiarilor de informaii (utilizatori finali i intensivi) din baza de date. SGBD-ul le ofer acestora limbaje neprocedurale i alte faciliti de interogare (generatoare, utilitare etc) a bazei de date ntr-o form simpl i interactiv. Aceti utilizatori nu trebuie s cunoasc structura bazei de date i nu trebuie s tie s programeze, SGBD-ul ajutndu-i interactiv n utilizarea bazei de date. n acest sens SGBD-ul ofer: meniuri cu opiuni sugestive, ferestre, abloane pentru diferite forme, asisteni tip Wizard, autodocumentarea (help-uri, mesaje/ferestre explicative).

b) Utilizatorii specialiti n informatic creaz structura bazei de date i realizeaz proceduri complexe de exploatare a bazei de date. SGBD-ul ofer acestor utilizatori limbajul de descriere i limbajul de manipulare a datelor precum i interfee cu limbaje universale. Acestea sunt de complexitate i putere diferit, de la un SGBD la altul, oferind att elemente neprocedurale ct i procedurale specialistului n informatic. Cu aceste elemente el descrie schema bazei de date i asigur manipularea complex a datelor.

Pentru realizarea bazei de date SGBD-ul ofer specialistului i elemente de CASE (Computer Aidede Software Engineering). Acestea l ajut n diferitele activiti care intervin n etapele de proiectare a bazei de date.

c) Administratorul bazei de date, care este un utilizator special i are un rol hotrtor n ceea ce privete funcionarea optim a ntregului sistem. Datorit importanei acestei categorii de utilizatori, SGBD-ul are o funcie distinct n acest sens.

4. Funcia de administrare Funcia de administrare este complex i de competena administratorului bazei de date. Administratorul, care are o bogat experien de analiz, proiectare i programare, organizeaz i administreaz baza de date n toate etapele de realizare a acesteia.

Astfel, el organizeaz baza de date conform unei anumite metodologii, realizeaz schema (conceptual) bazei de date, coordoneaz proiectarea bazei de date. Pentru toate aceste lucruri SGBD-ul ofer o serie de elemente de CASE, precum i o serie de utilitare specializate.

n etapa de exploatare a bazei de date, administratorul are rolul de a autoriza accesul la date (acord conturi, parole etc.), de a reface baza de date n caz de incidente (prin jurnalizare, copii), de a utiliza eficient spaiul de memorie intern i extern (prin organizare, rutine de optimizare), de a realiza o serie de analize statistice din baza de date (numr i tip de utilizatori, numr de accese, numr de actualizri etc.). Pentru fiecare din aceste activiti SGBD-ul ofer instrumente i tehnici de lucru.

n cazul lucrului n reea de calculatoare cu baze de date distribuite, SGBD-ul are dezvoltate foarte mult componentele destinate administratorului. Acest lucru este determinat de faptul c baza de date este, n acest caz, de mare complexitate, datele sunt distribuite pe calculatoarele din reea, iar utilizatorii sunt de toate tipurile i n numr mare.

n principal pentru funcia de administrare, dar parial i pentru celelalte funcii, SGBD-ul asigur protecia bazei de date. Aici vor fi prezentate aspectele eseniale, urmnd ca n continuare la fiecare tip de SGBD s se precizeze prin exemple i aspectele specifice ce apar.

U 2.4. Clasificarea SGBD-urilorDiversitatea de SGBD-urilor, care au fost i care sunt n exploatare pe diferite calculatoare i sub diferite sisteme de operare, impune o clasificare a lor dup diferite criterii:

1) Dup sistemele de calcul pe care se implementeaz:

- SGBD pentru calculatoare mari se folosesc pentru baze de date foarte complexe i foarte mari (exemple: Oracle, DB2, IMS).

- SGBD pentru minicalculatoare se folosesc pentru baze de date complexe i mari i au cunoscut o dezvoltare puternic n anii 80 (exemplu: Oracle).

- SGBD pentru microcalculatoare se folosesc pentru baze de date de complexitate i de mrime mici i medii. Au o mare rspndire n momentul actual (exemple: FoxPro, Oracle, Acces).

Tendina actual este ca SGBD-ul s fie compatibil pe ct mai multe sisteme de calcul sub ct mai multe sisteme de operare. Acest lucru este dictat de noua tehnologie de realizare de aplicaii tip sisteme deschise, lucru de care ine cont i noua generaie (a treia) de SGBD-uri.

2) Dup limbajul de programare utilizat:

- SGBD-ul cu limbaj gazd este cel care are un limbaj de manipulare a datelor bazat pe unul de nivel nalt (universal). Limbajul gazd poate fi chiar un limbaj universal (Cobol, Pascal) sau o extensie (adaptare) a unui astfel de limbaj. Avantajul acestei soluii este acela c se pot dezvolta proceduri complexe de program, se pot realiza interfee om-main foarte bune, se valorific experiena de programare din limbajele de nivel nalt (toate rezult din avantajele programrii procedurale). Dezavantajul major este acela c formularea cererilor de regsire se face mai greu, de multe ori ntr-un mod inaccesibil utilizatorilor finali. Acest lucru este suplinit de SGBD prin alte componente specifice: generatoare, utilitare etc. (exemplu Oracle).

- SGBD-ul cu limbaj propriu (autonom) este cel care are un limbaj de manipulare a datelor specific. Acest limbaj de programare propriu este procedural i are marele avantaj c permite implementarea tuturor facilitilor oferite de SGBD. n el se pot programa proceduri complexe i interfee puternice ca ntr-un limbaj universal, dar n plus se realizeaz un acces uor i optimizat la baza de date. Dezavantajul este c un astfel de limbaj nu poate fi utilizat dect de specialitii n informatic (exemplu limbajul din Visual FoxPro).

Tendina actual este ca SGBD-ul s aib implementat, pe lng un limbaj procedural, i un limbaj de regsire neprocedural, care s permit formularea de cereri de regsire uor, de ctre toi utilizatorii bazei de date. n acest sens, majoritatea SGBD-urile pentru microcalculatoare au implementat, parial sau total, limbajul SQL, care este i standardizat internaional.

3) Dup modelul logic de date implementat:

-SGBD ierarhice sunt cele care implementeaz modelul de date arborescent (ierarhic) i au fost primele care s-au utilizat pentru gestionarea bazelor de date. Ele au o serie de avantaje pentru domenii precise din lumea real nconjurtoare, de exemplu tehnologia construciei de maini, dar au limite pentru alte domenii (exemplu: IMS).

- SGBD reea sunt cele care implementeaz modelul de date reea i care au eliminat multe din limitele celor ierarhice. Ele au o larg aplicabilitate pentru numeroase probleme din lumea real, dar sunt dificil de utilizat datorit complexitii ridicate (exemplu: IDMS).

- SGBD relaionale sunt cele care implementeaz modelul de date relaional i au aplicabilitate n majoritatea domeniilor din lumea real. Ele pot fi folosite de o gam larg de utilizatori datorit facilitilor oferite (generatoare, limbaj neprocedural etc.) (exemple: Oracle, Visual FoxPro, Paradox, Acces, Informix, Progress).

- SGBD orientate obiect sunt cele care implementeaz modelul de date orientat obiect. Ele se preteaz bine la problemele foarte mari, de complexitate ridicat, precum i pentru tipurile noi de aplicaii (proiectarea asistat, multimedia, sisteme deschise) (exemple: O2, Orion, Jasmin).

Majoritatea SGBD-urilor actuale au implementate, n ultimele versiuni, faciliti de tratare a obiectelor (exemple: Oracle, Visual FoxPro).

Tipurile de mai sus de SGBD-uri, avnd drept criteriu modelul de date implementat, sunt de baz (fundamentale). Pornind de la acestea, prin extensia tehnologiei informatice, exist i alte tipuri de SGBD-uri: deductive, distribuite, multimedia, spaiale etc.

Exist, de asemenea, tipuri de SGBD-uri (ca de exemplu cele funcionale) care se bazeaz pe alte modele de date dect cele de mai sus. Acestea ns, au o rspndire mai restrns avnd performane doar pentru domenii bine precizate.

4) Dup localizarea bazei de date

- SGBD centralizate sunt cele care gestioneaz datele amplasate ntr-o singur baz de date central. La acestea au acces toi utilizatorii autorizai pentru a efectua diferite operaii de manipulare a datelor. Toate calculatoarele care nu sunt legate n reea i lucreaz cu baze de date au instalat un SGBD centralizat. Tot un SGBD centralizat, dar cu faciliti de lucru n reea, trebuie instalat i n reelele de calculatoare care au plasat baza de date pe un singur calculator (de obicei pe server).(exemplu: Visual FoxPro, Access)

- SGBD distribuite sunt cele care gestioneaz datele amplasate pe mai multe calculatoare dintr-o reea tratndu-le ca un tot unitar. Complexitatea acestor SGBD-uri este ridicat, avnd componente speciale pentru realizarea conexiunilor i tratarea distribuit a datelor (exemplu: Oracle, DB2, Informix).

De la apariia lor i pn n prezent, SGBD-urile au cunoscut o mare varietate. Aa cum reiese i din clasificarea SGBD-urilor, acestea sunt de diferite tipuri conform diferitelor criterii de grupare. Din acest motiv este dificil de dat o arhitectur unic, valabil pentru toate SGBD-urile, aprnd particulariti de la un sistem la altul. Exist preocupri de standardizare a arhitecturii sistemelor de gestiune a bazelor de date care caut s defineasc un cadru general al lor.

Dintre acestea, sunt dou arhitecturi de referin a unui SGBD propuse de grupul de lucru CODASYL i respectiv ANSI/SPARC. In ultimul timp, arhitectura de SGBD a evoluat spre o configuraie cu trei categorii de componente (nucleul, interfaa, instrumentele), situaie ntlnit la ultimele versiuni de sisteme comerciale (exemplu arhitectura unui SGBDR).

O alt tendin este dat de arhitecturile distribuite i orientate obiect de SGBD, care sunt tot mai des utilizate n contextul de reea de calculatoare i noile tipuri de aplicaii informatice (exemplu vezi SGBD distribuite i respectiv orientate obiect).

Deoarece arhitectura pe componente (niveluri) reflect tendina actual de structurare a SGBD-urilor, o vom prezenta n continuare. Arhitectura pe componente (niveluri) a unui SGBD Nu orice software care gestioneaz date n memoria extern este un SGBD.

- In primul rnd, produsul software trebuie s fie un sistem, adic un ansamblu de programe intercorelate ntre ele care lucreaz pentru un scop comun.

- Mai departe, sistemul de programe trebuie s gestioneze date n memoria extern.

- Datele nu pot exista oricum, ci organizate conform unui model de date ntr-o baz de date (trebuie urmrite obiectivele unei baze de date).

- In sfrit, dac sistemul de programe gestioneaz o baz de date i n plus ndeplinete funciile specifice, atunci acel sistem este un SGBD.

Rezult c SGBD-ul conine o serie de componente care sunt instrumente software ce au scopul de a realiza funciile specifice.

Diferitele componente din diferitele SGBD (fiecare tip a venit cu una sau mai multe propuneri de arhitecturi) pot fi ncadrate (uneori discutabil) n unul dintre cele trei niveluri.

Nivelurile din arhitectura de mai sus, pot conine urmtoarele componente ale unui SGBD:

- Nucleul (motorul) conine limbajul de descriere a datelor (LDD), limbajul de manipulare a datelor (LMD), componente obligatorii n kit-ul minim de SGBD. Componenta este destinat analitilor, programatorilor i administratorilor BD.

- Interfeele sunt formate din: generatoarele de diferite tipuri (de meniuri, de videoformate, de rapoarte etc.), elementele de CASE (Computer Aidede Software Engeenering), interfee cu limbaje de programare universale, interfee cu alte sisteme etc. Componenta este destinat tuturor categoriilor de utilizatori: finali, intensivi, specialiti.

- Instrumentele sunt formate din: editoarele, navigatoarele (browsers), utilitarele (shells) de diferite tipuri. Componenta este destinat, n principal, administratorului bazei de date, dar i altor categorii de utilizatori.

Arhitectura pe niveluri este simpl dar complet. Arhitecturile standardizate (CODASYL i ANSI) pot fi aduse pe cele trei niveluri; Noile tehnologii de baze de date (de exemplu tehnologia orientat obiect) au determinat apariia unor noi tipuri de SGBD. Arhitecturile propuse pentru acestea, pot fi i ele adaptate pe cele trei niveluri; Noile tehnologii informatice (de exemplu multimedia, Internet etc.) au interferat cu tehnologia bazelor de date rezultnd SGBD-uri derivate corespunztoare. Pentru acestea s-au propus arhitecturi care, ns, pot fi adaptate la structurarea pe trei niveluri. ntrebri facultative

1. Identificati principalele roluri ale unui SDBD? Exemplificai

2. Enunai obiectivul general al SGBD-ului?3. Ce reprezint restaurarea bazei de date?4. Ce nelegei prin interblocare?5. Ce nelegei prin integritatea datelor?6. Ce nelegei prin criptarea datelor? 7. Enunai principalele componente ale unui sistem de criptare? 8. Ce reprezint integritatea semantic?Test de autoevaluare nr. 21. Funcia de manipulare este cea mai complex i realizeaz actualizarea i regsirea datelor din baza de date, cu ajutorul limbajului de manipulare a datelor (LMD). Sunt realizate urmtoarele activiti:

1. ncrcarea;

2. actualizarea;

3. prelucrarea;

4. regsirea datelor 5. integritatea.

Alegei varianta corect

a. 1,2,5,

b.1 3 4 5

c. 1 3 4

d. 2 4 5

e. 1 2 3 4

(100 puncte)

2. Rolul unui SGBD ntr-un context de sistem de baz de date este de a:

a. defini i descrie structura bazei de dateb. ncrca/valida datele n baza de datec. realiza accesul la date pentru diferite operaiid. ntreine baza de date

e. asigura protecia bazei de date

(10 puncte)

3. Pentru ca un produs software s ating performanele de mai sus i s fie un SGBD, el trebuie s asigure un set minim de obiective: a. Asigurarea independenei datelorb. Redundan minim i controlat a datelor

c. Faciliti de utilizare a datelor

d. Protecia datelor

e. Partajabilitatea datelor.

f.. Legturile ntre date (10 puncte)4. . Funciile unui SGBD sunt:

a. Funcia de descriere a datelor b. Funcia de manipulare a datelor

c. Funcia de utilizare a bazei de date

d. Funcia de administraree. Funcia de management al datelor.

5. Completai: Obiectivul general al unui SGBD este de a furniza suportul .. complet pentru dezvoltarea de .. cu baze de date (10 puncte)6. Completati: Interblocarea este situaia n care dou tranzacii . anumite resurse, apoi solicit fiecare .. blocate de cealalt..

(10 puncte)

7. Restaurarea pornete de la colecii de date stocate prin salvare i reface consistena bazei de date, minimiznd prelucrrile pierdute.

Adevarat Fals (10 puncte)

8. Administratorul bazei de date, care este un utilizator obisnuit i are un rol nesemnificativ n ceea ce privete funcionarea optim a ntregului sistem

Adevarat Fals (10 puncte)9. Nivelurile din arhitectura unui SGBD, pot conine urmtoarele componente : a. Nucleul ;

b. Navigatoarelec. Interfeeled; Instrumentele(10 puncte)10. Dup modelul logic de date implementat, SGBD-urile pot fi:a. SGBD ierarhice b. SGBD reeac. SGBD centralizate d; SGBD relaionalee; SGBD orientate obiect(10 puncte)U2.5. RezumatSistemul de gestiune a bazelor de date (SGBD) este un sistem de programe ce permite definirea, crearea i ntreinerea bazei de date precum i accesul controlat la acesta. Scopul unui sistem de gestiune al unei baze de date este acela de a oferi un mediu care s fie i convenabil, dar i eficient pentru a putea fi folosit la:

extragerea informaiilor din baza de date;

nmagazinarea datelor n baza de date.

Bibliografie minimal

1. Babucea A.G., Baze de date, Editura Studii Economice, Craiova, 2002.2. Bandu I., Baze de date Access 2007, Editura Mirton, Timisoara, 2009,

pag.8-12Rspunsuri i comentarii la testul de autoevaluare nr. 21. e; 2. abcde; 3.abcdef;4-abcd,; 5-software,aplicaii informatice; 6-blocheaz/resursele; 7-A; 8-F; 9-acd;10- abde;UNITATEA 3MODELAREA CONCEPTUAL A BAZELOR DE DATE

Durata medie de studiu individual - 2 ore

Cuprins:

pag.U3.1. Scopul i obiectivele unitii .36

U3.2. Modele de date37

U3.3.Modele conceptuale pentru baze de date38

U3.4. Funciile modelelor.39

U3.5. Modele de date bazate pe nregistrri.39

U3.6. Rezumat...49

Bibliografie minimal 49

Rspunsuri i comentarii la testul de autoevaluare ..49

U3.1. Scopul i obiectivele unitii de nvare

Un model de date reprezint o colecie integrat de concepte necesare descrierii datelor, relaiilor dintre ele, precum i a constrngerilor asupra datelor.

Modelele de date ofer nelegerea descriptiv necesar definirii schemelor logice i externe i sunt utile descrierii formale a schemei bazei de date.

Parcurgerea acestei teme v va facilita:

nelegerea modelelor de date: reea, ierarhic, relaional, obiect, hibrid. cunoaterea funciilor i componentelor modelului; cunoaterea avantajelor bazelor de date relaionale nsuirea noiunilor de baz ale unui model de date: definiii, clasificri. nsuirea de cunotine referitoare la proiectarea modelului conceptual al unei baze de date n cazul modelului relaionalU 3.2. Modele de datePentru prelucrarea datelor cu ajutorul calculatorului este necesar modelarea realitii.

Un model este o abstractizare a unui sistem, care capteaz cele mai importante trsturi caracteristice ale sistemului (concepte), relevante din punct de vedere al scopului pentru care se definete modelul respectiv. Tehnica de identificare a trsturilor caracteristice eseniale ale unui sistem se numete abstractizare.

Practic, un model este o abstractizare i o structur ce simbolizeaz toate caracteristicile entitilor eseniale ce prezint interes pentru utilizator, o reprezentare i o reflectare a lumii reale.

Modelele de date ofer nelegerea descriptiv necesar definirii schemelor logice i externe i sunt utile descrierii formale a schemei bazei de date.

Schema logic a unei baze de date reprezint o descriere abstract a unei poriuni din realitatea modelat mpreun cu instanele bazei de date.

Un model de date se bazeaz pe treiconcepte:

entiti;

atribute;

asocieri (legturi).

O entitate reprezint un obiect sau concept din lumea real, cum ar fi de exemplu un student sau un curs descris n cadrul bazei de date.

n proiectarea bazelor de date se consider dou categorii de entiti: entiti normale (puternice, obinuite - regular entities) i entiti slabe (dependente - weak entities).

Entitile normale au o existen proprie n cadrul modelului, n timp ce entitile slabe nu pot exista dect dac exist o entitate normal (puternic) cu care sunt asociate. De exemplu, o entitate dependent poate s reprezinte o persoan care depinde de un angajat al unei instituii (adic se afl n ntreinerea acestuia). O entitate angajat este o entitate puternic, deoarece ea exist n mod normal n modelul activitii instituiei, n timp ce o entitate dependent este o entitate slab: nu se va nregistra o astfel de persoan dect dac printele (susintorul) acesteia este angajat n acea instituie.

Un atribut (attribute) este o proprietate care descrie un anumit aspect al unei entiti. Atributele prin care este descris o entitate se aleg pe baza criteriului relevanei relativ la domeniul de interes pentru care se definete modelul respectiv, astfel nct s asigure diferenierea acelei entiti fa de restul universului.

Toate entitile similare, care pot fi descrise prin aceleai atribute, aparin unui acelai tip de entitate (entity type), iar colecia tuturor entitilor de acelai tip dintr-o baz de date constituie o mulime de entiti (entities set).

ntre mulimile de entiti componente se definesc asocieri (legturi), pentru a reprezenta anumite aspecte ale realitii modelate de baza de date.

O asociere (relationship) este o coresponden ntre entiti din dou sau mai multe mulimi de entiti. Gradul unei asocieri este dat de numrul de mulimi de entiti asociate. Asocierile pot fi binare (de gradul 2, ntre 2 mulimi de entiti) sau multiple (ntre k mulimi de entiti, k > 2).

Asocierile binare sunt, la rndul lor, de trei categorii, dup numrul elementelor din fiecare dintre cele dou mulimi puse n coresponden de asocierea respectiv (figura 1). Fiind date dou mulimi de entiti, E1 i E2, se definesc urmtoarele categorii de asocieri binare:

Asocierea unul-la-unul (one-to-one) este asocierea prin care unui element (entitate) din mulimea E1 i corespunde un singur element din mulimea E2, i reciproc; se noteaz cu 1:1.

Asocierea unul-la-multe (one-to-many) este asocierea prin care unui element din mulimea E1 i corespund unul sau mai multe elemente din mulimea E2, dar unui element din E2 i corespunde un singur element n mulimea E1; se noteaz cu 1:N.

Asocierea multe-la-multe (many-to-many) este asocierea prin care unui element din mulimea E1 i corespund unul sau mai multe elemente din mulimea E2 i reciproc; se noteaz cu M:N.

Fig. 1 Categorii de asocieri ntre dou mulimi de entiti: a - asociere 1:1; b - asociere 1:N; c- asociere M:N.

De exemplu, asocierea 1:N dintre mulimile E1 i E2 prezint multiplicitatea 1 fa de mulimea E1 i multiplicitatea N (se nelege o valoare oarecare N > 1) fa de mulimea E2. Raportul dintre valorile cardinalitilor unei asocieri binare fa de cele dou mulimi de entiti se numete raport de cardinalitate (cardinality ratio). Se poate observa c cele trei categorii de asocieri descrise mai sus difer ntre ele prin raportul de cardinalitate.

Cardinalitatea (multiplicitatea) unei asocieri fa de o mulime de entiti (cardinality, multiplicity) este numrul maxim de elemente din acea mulime care pot fi asociate cu un element din alt mulime a asocierii. U3.3. Modele conceptuale pentru baze de daten continuare se vor prezenta cteva dintre cele mai importante evenimente petrecute pe parcursul dezvoltrii bazelor de date.

n anul 1961 Charles Bachman proiecteaz Integrated Data Store (IDS) predecesorul modelului reea.

Spre sfritul anilor 60, IBM creeaz Information Management System: IMS bazat pe modelul ierarhic.

Spre sfritul anilor 60, grupul CODASYL (Committee for Data System Languages) definete /standardizeaz modelul reea.

n 1969 Edgar Codd cercettor la firma IBM construiete modelul relaional.

n ani 70 apar SEQUEL (SQL), QBE; QUEL, System R (DB2), Ingres.

n anul 1976, Peter Chen construiete modelul Entitate-Relaie.

n anii 80 apar sistemele de gestiune a bazelor de date printre care: DB2, Oracle, Sybase, Informix, DBase, Paradox.

n anul 1986 a fost definit primul standard SQL.

ntre anii 1990 i 2000 apar concepte precum OODB, ORDB (Postgres), Data Warehouse, OLAP, Data Mining, GIS, Mobile DB, Multimedia DB, Web DB, XML DB.

Inabilitatea bazelor de date de a lucra eficient n cadrul fiierelor obinuite cu date ce implic utilizarea grupurilor repetitive de date a condus la dezvoltarea unei mari varieti de structuri de baze de date, numite de obicei i modele de baze de date.

U 3.4. Funciile modelelorFunciile modelelor sunt:

1. Reprezint obiecte, evenimente precum i asocierile dintre acestea.

2. Reprezint aspecte eseniale i inerente, ignornd proprietile accidentale.

3. Au n vedere ansamblul entitilor, atributelor i relaiilor dintre acestea.

4. Asigur regulile de baz i relaiile ce permit proiectanilor i utilizatorilor s comunice corect, fr ambiguiti.

Un model conceptual de date este alctuit din urmtoarele componente:

1. partea structural ce reprezint un set de reguli ce fundamenteaz baza de date.

2. partea de manipulare ce definete tipurile de operaii ce se pot efectua n baza de date:

operaii utilizate pentru actualizarea sau regsirea datelor;

operaii utilizate pentru modificarea structurii bazei de date.

3. set de reguli de integritate ce garanteaz faptul c datele sunt corecte.

Exist trei modele de baze de date:

1. Modelul de date extern utilizat pentru a reprezenta vederea fiecrui utilizator. Acest model este reprezentat prin modelele de date bazate pe nregistrri.2. Modelul de date conceptual care reprezint vederea logic independent de sistemul de gestiune al bazelor de date ales i reprezentat prin modelele de date bazate pe obiecte.3. Modelul de date intern utilizat pentru ca schema conceptual s poat fi neleas de ctre sistemul de gestiune al bazei de date i reprezentat prin modelele de date fizice.U3.5. Modele de date bazate pe nregistrriAstfel de modele descriu datele la nivel conceptual. Spre deosebire de modelele orientate pe obiecte, acestea sunt folosite cu scopul de a specifica structura logic general a bazei de date i de a oferi un nivel ridicat al descrierii implementrii. Modelele sunt denumite n acest fel deoarece baza de date este alctuit din nregistrri de acelai tip.

Fiecare tip de nregistrare are un numr fix de cmpuri (atribute), fiecare cmp avnd, de obicei, o lungime fix, ceea ce duce la simplificarea reprezentrii. Pentru a efectua interogri i actualizri asupra bazei de date se folosesc o serie de limbaje individuale separate asociate modelului.

Din aceast categorie de modele fac parte:

modelul de date ierarhic;

modelul de date reea;

modelul de date relaional.3.5.1. Modelul ierarhicn modelul ierarhic (Hierarchical Model) o baz de date se reprezint printr-o structur ierarhic de nregistrri de date (records) conectate prin legturi (links).

Din punct de vedere istoric, acesta a fost primul model de date ce a fundamentat un sistem de gestiune al bazelor de date i a fost dezvoltat de ctre firma IBM pentru produsul su IMS (Information Management System) care utiliza limbajul DL/1 utilizat n cadrul programului de cercetri Apollo, n perioada anilor 1960.

O nregistrare de date n modelul ierarhic este o instan a unui tip de nregistrare (record type) i const dintr-o colecie de cmpuri (fields), fiecare cmp coninnd valoarea unui atribut.

Un tip de nregistrare corespunde unui tip de entitate, iar o nregistrare corespunde unei entiti din terminologia general a modelrii datelor.

Un tip de legtur n modelul ierarhic este un tip de asociere cu raportul de cardinalitate 1:N (de tip printe-fiu) ntre dou tipuri de nregistrri. Tipul de nregistrare din partea cu multiplicitatea 1 a asocierii este numit tip de nregistrare printe, iar tipul din partea cu multiplicitatea N a asocierii este numit tip de nregistrare fiu.

Schema conceptual a unei baze de date n modelul ierarhic se reprezint printr-un numr oarecare de scheme ierarhice (fig. 2).

Fig. 2. Modelul ierahic

O schem ierarhic este un arbore direcionat, reprezentat pe mai multe niveluri, n care nodurile sunt tipurile de nregistrri, iar arcele sunt tipurile de legturi. Fiecare nod (cu excepia nodului rdcin) are o singur legtur ctre un nod de pe un nivel superior (nodul printe) i fiecare nod (cu excepia nodurilor frunz) are una sau mai multe legturi ctre noduri de pe nivelul imediat inferior (noduri fii).

n modelul ierarhic nu sunt admise dect legturi de tipul printe-fiu, care corespund asocierilor 1:1 i asocierilor 1:N din modelul E-A. Asocierile M:N din modelul E-A nu se pot reprezenta n mod direct n modelul ierarhic, ci numai prin multiplicarea nregistrrilor de tip fiu, atunci cnd sunt referite de mai multe nregistrri de tip printe. Acest lucru conduce la o mare redundan a datelor.

Corespunztor schemei ierarhice a unei baze de date se pot reprezenta mai muli arbori de instaniere a datelor, care sunt, de asemenea, arbori direcionai (fig. 2, c). Fiecare arbore de instaniere contine ierarhii pe mai multe niveluri de nregistrri ntre care exist legturi de tipul printe-fiu.

Fig. 3. Baz de date ierarhic

a - schema conceptual a bazei de date ierarhice; b - arbori de instaniere a datelor

Utilizatorul acceseaz datele pornind din rdcina arborelui i parcurge un anumit drum unic pn ajunge la datele cutate. O astfel de metod de acces cere utilizatorului o foarte bun cunoatere a structurii bazei de date.

Un avantaj al utilizrii bazelor de date ierarhice este acela c utilizatorul poate extrage datele foarte rapid datorit legturilor explicite definite n structur.

Un alt avantaj este acela c integritatea referenial se obine prin crearea structurii i nu poate fi nclcat, ceea ce face ca o nregistrare din tip de nregistrare copil s fie obligatoriu asociat unei nregistrri existente n tipul de nregistrare printe, iar o nregistrare tears din tipul de nregistrare printe s impun eliminarea tuturor nregistrrilor asociate din tipul de nregistrare copil.

Probleme deosebite vor apare n momentul n care utilizatorul dorete s introduc o nregistrare n tabelul copil care nu are asocieri cu nici o nregistrare din tipul de nregidtrare printe. Acest tip de baz de date nu poate suporta asocierile complexe i, de aceea, deseori sunt probleme referitoare la redundana datelor, deoarece este posibil s-i fie permis introducerea de date inconsistente.

Dei bazele de date ierarhice ofereau un acces direct i rapid la date, dovedindu-i superioritatea ntr-o multitudine de s