You are on page 1of 53

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

BAZE DE DATE
Autori: Prof.univ.dr. LUNGU Ion Asist.univ.drd. BOTHA Iuliana

CUPRINS
Unitatea de nvare 1: ORGANIZAREA DATELOR N MEMORIA EXTERN Unitatea de nvare 2: BAZE DE DATE NOIUNI FUNDAMENTALE Unitatea de nvare 3: BAZE DE DATE RELAIONALE (BDR) Unitatea de nvare 4: METODOLOGIA DE REALIZARE A BAZELOR DE DATE Unitatea de nvare 5: BAZE DE DATE ORIENTATE OBIECT ( BDOO)

Introducere
Cursul de Baze de date se adreseaz studenilor nscrii la programul de studiu ID, organizat de facultatea de Cibernetic, Statistic i Informatic Economic i face parte din planul de nvmnt aferent seciei de Informatic Economic, anul 2, semestrul 1. OBIECTIVUL GENERAL al cursului de Baze de date vizeaz pregtirea studenilor n domeniul proiectrii bazelor de date i al utilizrii acestora n diferite domenii economico-sociale. OBIECTIVELE SPECIFICE PRINCIPALE ale acestui curs, concretizate n competenele dobndite dup parcurgerea i asimilarea lui sunt urmtoarele: familiarizarea cu posibilitile de utilizare ale bazelor de date indiferent de tipul acestora; dobndirea abilitii de a proiecta baze de date relaionale; familiarizarea cu principalele caracteristici ale bazelor de date orientate obiect.
1

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Pentru o bun nelegere a noiunilor teoretice i practice prezentate n acest curs, este necesar parcurgerea anterioar a disciplinelor Structuri de date, Programarea calculatoarelor, Sisteme de operare. Cursul de Baze de date este structurat n 5 uniti de nvare (capitole), fiecare dintre acestea cuprinznd cte o lucrare de verificare, care va fi transmis tutorelui alocat, precum i ntr-un numr de 14 laboratoare (activiti asistate) la care prezena va fi obligatorie. Pentru ca procesul de instruire s se desfoare ntr-un mod riguros, dar i atractiv, se poate utiliza un set de resurse suplimentare n format multimedia. EVALUAREA CUNOTINELOR, respectiv stabilirea notei finale, se va realiza n felul urmtor: evaluarea final 50% evaluarea continu testele de la sfritul fiecrei uniti de nvare, precum i un proiect la seminar 50% Not. Structura obligatorie pentru proiect va fi: 1 pagina care s conin: Tema, Descrierea problemei, Schema conceptual a BD; comenzi SQL, care s acopere ntreaga materie parcurs.

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Unitatea de nvare 1: ORGANIZAREA DATELOR N MEMORIA EXTERN Cuprins


1.1. Obiective 1.2. Evoluia organizrii datelor 1.3. Organizarea datelor n fiiere 1.4. Modele de structurare a datelor n baze de date 1.5. Protecia bazelor de date 1.6. Rezumat 1.7. Teste de autoevaluare 1.8. Rspunsuri i comentarii la testele de autoevaluare 1.9. Bibliografia unitii de nvare 1

1.1. Obiective
Dup studiul acestei uniti de nvare vei avea cunotine despre:

necesitatea organizrii datelor n memoria extern, comparativ cu memoria intern; evoluia organizrii datelor pornind de la fiiere (primul mod de organizare a datelor n memoria extern) i ajungndu-se la ultimele tipuri de baze de date, cele orientate obiect; noiunea de fiier i cele mai importante aspecte de organizare a datelor: operaii, structura, modul de organizare, modul de acces; organizarea datelor n baze de date conform modelelor logice de date fundamentale: ierarhic, reea, relaional, orientat obiect; protecia bazelor de date, tratat prin cele dou aspecte ale sale: securitatea, integritatea.

Durata medie a unei uniti de studiu individual 4 ore

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

1.2. Evoluia organizrii datelor


o Organizarea datelor nseamn definirea i structurarea datelor n memoria intern sau n memoria extern (n colecii) i stabilirea legturilor ntre date, conform unui model de date. o Sintetiznd, evoluia organizrii datelor n memoria extern a avut n vedere cteva aspecte Aspecte Etape(1) 1. nainte de 1965 Mod de organizare a datelor (2) Fiiere secveniale Fiiere secveniale, indexate, directe Baze de date arborescente, reea Structura de date (3) Logic coincide cu fizic Logic i fizic Logic, fizic, conceptual Logic, fizic, conceptual Logic, fizic, conceptual Mod de prelucrare (4) Pe loturi (batch) Loturi, online Loturi, conversaional Conversaional, interactiv Interactiv Redundan (5) Mare, necontrolat Mare, necontrolat Software utilizat (6) Operaii simple de I/E (limaje asamblare i universal) Chei simple de acces (limbaje universale) Chei multiple de acces, legturi ntre date, protecia (SGBD) Limbaje de regsire, protecie, concuren (SGBD) Limbaje din programarea OO (SGBD)

2. Anii 60

3. Anii 70

Scade, controlat

4. Sfritul anilor 70 pn acum 5. Sfritul anilor 80 pn acum

Baze de date relaionale Baze de date orientate obiect

Mic, controlat Minim, controlat

Not. Necesitatea organizrii datelor n memoria extern rezult analiznd cteva criterii de comparaie dintre memoria intern i cea extern: CRITERIU Cost Vitez Capacitate(volum date) Persisten Organizare date MEM. INTERN Mare Mare Mic Nu Variabile, constante, masive, pointeri etc. MEM. EXTERN Mic Mic Mare Da Fiiere, baze de date

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

1.3. Organizarea datelor n fiiere


o Fisierul este o colecie organizat de date unite dup criterii comune calitative, de prelucrare i scop. o Toate limbajele de programare universale lucreaz cu aceast noiune, pentru organizarea datelor n memoria extern. Sistemele de baz de date lucreaz cu aceast noiune i n plus o dezvolt n noiunea de baz de date. Prezentm, n continuare, cteva noiuni fumdamentale utilizate n organizarea datelor n fiiere. De aceste noiuni se ine seama i la baze de date. 1. Caracteristici ale unui fiier: actualizarea se refer la trei operaii : adaugarea, modificarea, tergerea de nregistrri; natura datelor din fiier trebuie s fie omogen (s se refere la aceeai entitate din lumea real); prelucrarea datelor din fiier se refer la tipul i frecvena operaiilor efectuate pe nregistrri; volumul de date din fiier (se msoar n numr de octei). 2. Structura unui fiier: partea de identificare este dat de etichetele plasate la nceputul i sfritul fiierului; partea de date este colecia omogen de date ce aparin aceleai entiti din lumea real structurat astfel: fiier nregistrri cmpuri valori. 3. Modul de organizare reprezint modul de dispunere a nregistrrilor pe suportul fizic i presupune reguli de memorare a datelor. Categorii de moduri de organizare a fiierelor: a) Standard Este cea mai veche i exist pe toate tipurile de calculatoare. nregistrarea este format dintr-un ir de caractere dispus pe o linie acceptat de periferic. Toate limbajele recunosc fiiere standard de intrare i ieire. b) Clasic (elementar) Organizarea se face pe medii magnetice sau optice. Tipuri: SECVENIAL nregistrrile sunt dispuse n fiier una dup alta fr nici o ordine prestabilit. Localizarea unei nregistrri se face prin parcurgerea tuturor nregistrrilor anterioare ei (secvenial). Toate sistemele de operare i limbajele de programare accept organizarea secvenial. RELATIV
5

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

nregistrrile sunt dispuse n fiier una dup alta i numerotate (de ctre sistem) de la 0 sau 1 la cte sunt (numr de realizare). Localizarea unei nregistrri se poate face secvenial sau direct prin numrul de realizare. INDEXAT-SECVENIAL nregistrrile sunt dispuse n fiier n ordine strict cresctoare dup o cheie (face parte din nregistrare). Cheia este unul sau mai multe cmpuri care identific n mod unic o nregistrare. Fiierului i este ataat o tabel de indeci care face legtura ntre valoarea cheii i adresa fizic a nregistrrii. Localizarea unei nregistrri se poate face secvenial dar i direct prin cheie: se compar cheia nregistrrii cutate cu indecii din tabela de index i se localizeaz direct partea fizic a fiierului n care se afl nregistrarea cutat; n partea fizic localizat se face o cutare secvenial a nregistrrii dorite. c) Special (complex) Se bazeaz pe modurile de organizare clasice. Sunt utilizate n baze de date i n sisteme de fiiere. Tipuri (cteva): PARTIIONAREA nregistrrile din fiier sunt grupate n partiii sub un nume. n cadrul unei partiii nregistrrile sunt organizate secvenial. Se utilizeaz pentru bibliotecile de programe MULTIINDEXAREA Este o extindere a indexrii prin utilizarea mai multor chei alese de programator. Spaiul ocupat este mai mare. Se utilizeaz pentru fiiere care necesit regsiri intense multicriteriale. INVERS Presupune existena a dou fiiere: de baz i invers. Fiierul de baz conine datele propriu-zise i are organizare secvenial. El este fiierul n care se caut. Fiierul invers este construit din cel de baz (printr-o tehnic de inversare) i are organizare relativ. El este fiierul prin intermediul cruia se caut. Spaiul ocupat necesar este cam de 3,5 ori mai mare fa de ct ocup fiierul de baz. 4) Modul de acces reprezint modul n care se determin locul ocupat de o nregistrare ntr-un fiier i depinde de modul de organizare. Tipuri de moduri de acces pentru fiiere: SECVENIAL presupune c localizarea unei nregistrri se face prin parcurgerea tuturor nregistrrilor care o preced. Este permis accesul secvenial pentru toate tipurile de fiiere.
6

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Se recomand pentru fiierele din care sunt necesare, la o prelucrare, peste 50% din numrul total de nregistrri. Pentru optimizare se recomand ordonarea fiierului. DIRECT presupune c localizarea unei nregistrri se face cu ajutorul unei chei definite de programator. DINAMIC presupune c la o singur deschidere de fiier se pot localiza, alternativ i repetat, nregistrri n acces secvenial i direct.

1.4. Modele de structurare a datelor n BD


o Informaia, care se reprezint n calculator n memoria intern sau extern, se poate defini structural dup schema:
are ca obiect are ca proprietate are ca msur

informaia

entitatea

atributul

valoarea

o Modelul de structur se refer la descrierea tuturor atributelor unei entiti n interdependen. o Valorile atributelor se materializeaz prin date, care dau o reprezentare simbolic a informaiilor. o Modelul de date este ansamblul de concepte i instrumente necesar pentru a realiza structura coleciilor de date (schema) (fig. 2.1.).

Modelul de date este compus din: concepte; un formalism pentru a descrie datele (structura de date); un ansamblu de operatori pentru a le manipula (datele). CONCEPTE STRUCTURA DE DATE (formalism de descriere)

DATELE (ansamblul de manipulat)


Fig. 1.1. Modelul de date

n literatura de specialitate [RICC01], [RAGE00] sunt prezentate trei tipuri de modele de date pentru baze de date. Prezentm, pe scurt, aceste tipuri, mpreun cu cteva caracteristici pentru fiecare: modelul conceptual (la analiz) - descrie sistemul n termeni pe nelesul utilizatorului;
7

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

se folosete pentru specificaia iniial a datelor i pentru comunicarea cu utilizatorii; - este un mod de stabilire a unei legturi ntre dezvoltatori i utilizatori. modelul logic (la proiectare) - specific structura bazei de date (coleciile de date i legturile dintre ele); - se scrie ntr-o form care s poat fi folosit pentru crearea bazei de date; - se folosete pentru definirea i ntreinerea bazei de date de ctre SGBD i pentru formularea cerinelor de regsire de ctre utilizatori. modelul fizic (sarcina SGBD) - descrie modul n care modelul logic al datelor va fi reprezentat la stocare, n memoria extern (fiiere, indeci, discuri etc.); - de obicei, este generat automat, de ctre SGBD, pornind de la modelul logic. Schema [conceptual] reprezint descrierea fenomenelor din realitatea nconjurtoare prin entiti i atribute (tipurile de date), mpreun cu toate corelaiile (legturile) dintre ele (constrngerile). Definirea schemei este o activitate de modelare pentru c traduce n termeni abstraci entitile lumii reale. Schema BD se reprezint cu ajutorul unui model de date implementat prin intermediul unui SGBD adecvat. Trebuie s se fac distincie clar ntre structura bazei de date (schema, de exemplu: stud(cod:N,4; nume:C,15) ) i coninutul ei (instana, de exemplu: 22 Nedelcu Anda). Schema i instanele sunt stocate n baza de date, i anume prima n dicionar, iar cea de-a doua n datele propriu-zise. n cele ce urmeaz ne vom ocupa, n cea mai mare parte, de modelul logic de date pentru baze de date. Elementele (componentele) oricrui model de date pentru baze de date sunt: 1. Definirea structurii modelului (partea structural): - definirea entitilor i a atributelor asociate; - definirea legturilor (asociarea) dintre entiti. Asocierea poate fi de tipul : - unu la unu (1:1) - unu la muli (1:M) - muli la muli (M:N) - neprecizat explicit Definirea structurii de date se face cu un LDD (Limbaj de Descriere a Datelor) dintr-un SGBD. 2. Operatorii modelului (partea de manipulare) care acioneaz asupra structurilor de date, dar i asupra datelor, pentru operaii de prelucrare (compunere, actualizare etc.). Operatorii se implementeaz cu ajutorul unui LMD (Limbaj de Manipulare a Datelor) dintr-un SGBD. 3. Regulile de integritate (partea de coeren) sunt restricii stabilite la descrierea datelor, care le asigur acestora meninerea corectitudinii i dau logica modelului. Restriciile se implementeaz cu un LDD din SGBD. Tipuri de modele logice de date pentru BD: fundamentale: ierarhice, reea, relaionale, orientate obiect;
8

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

derivate (extinse din cele fundamentale): distribuite, multimedia etc. Prezentm, n continuare, principalele caracteristici pentru modelele de date fundamentare (de baz) pentru baze de date. I. Modelul ierarhic 1. Definirea structurii modelului ierarhic. a) Definirea entitilor se face prin noiune de tip de nregistrare (clas de entiti), care este format din caracteristici (cmpuri). Realizarea (instana) unui tip de nregistrare este dat de ansamblul valorilor pentru cmpurile acesteia (nregistrarea). b) Definirea legturilor dintre entiti se face fizic i conduce la structura de tip ierarhic (arborescent) reprezenat sub forma unei diagrame (fig. 2.2.). nivel 0 nivel 1 nivel 2 ... TIP_NREG 11 TIP_NREG 21 TIP_NREG 0 TIP_NREG 12 TIP_NREG 13 TIP_NREG 23

TIP_NREG 22

Fig. 1.2. Diagrama de structur ierarhic

Caracteristici ale structurii ierarhice (arborescente): Fiecare nod corespunde unui tip de nregistrare i fiecare drum corespunde unei legturi (asocieri). Orice acces la un nod se face prin vrful ierarhiei, numit rdcin, pe o singur cale. Un nod subordonat (copil) nu poate avea dect un singur superior (printe). Un superior poate avea unul sau mai muli subordonai. Legtura copil-printe este doar de tip 1:1 (la o realizare copil corespunde o singur realizare printe). Legtura printe-copil poate fi de tip 1:1 sau 1:M. n structur exist un singur nod rdcin i unul sau mai multe noduri dependente situate pe unul sau mai multe niveluri. - ierarhie de tipuri de nregistrri se numete tip arbore. - realizare a unui tip arbore este format dintr-o singur realizare a tipului de nregistrare rdcin mpreun cu o mulime ordonat format din una sau mai multe realizri ale fiecrui tip de nregistrare de pe nivelurile inferioare. Ordonarea realizrilor dintr-un arbore conduce la o secven ierarhic. 2. Operatorii modelului ierarhic Localizarea unui arbore n BD: se localizeaz o realizare a tipului de nregistrare rdcin. Trecerea de la un arbore la altul n BD: se trece de la o realizare a tipului nregistrare rdcin (secven ierarhic) la o alt realizare a aceluiai tip nregistrare rdcin.
9

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Trecerea de la o realizare (nregistrare) la alta ntr-un arbore (secven ierarhic) : se poate face trecerea pe acelai nivel sau pe niveluri diferite ntre tipuri de nregistrri legate ntre ele. Actualizarea ntr-un arbore : adugarea, modificarea sau tergerea unei nregistrri. Operaia este greoaie i consumatoare de resurse calculator (spaiu i timp) pentru c antreneaz automat toate nregistrrile din arbore care se nlnuie cu nregistrarea actualizat. Not. Operatorii de mai sus sunt la nivel de nregistrare; acioneaz pe o nregistrare i produc tot o nregistrare. Exist i operatori la nivel de mulime de nregistrri care se implementeaz n LMD mult mai greu. 3. Restriciile de integritate ale modelului ierarhic. Realizarea subordonat este totdeauna asociat unei singure realizri superior. Dac un tip de nregistrare nu are realizri atunci nici tipurile nregistrri descendente nu au realizri. Not. Efectele restriciilor de integritate sunt: - complicarea operaiei de actualizare; - dac o realizare a unui nod subordonat trebuie s fie asociat cu mai multe realizri ale nodului printe atunci ea trebuie multiplicat (crete redundana); - dau logica i corena modelului arborescent. Caracterizarea general a modelului ierarhic. 1. Modelul a fost propus de ctre IBM i a fost primul utilizat pentru BD. 2. Structura modelului este simpl (graf orientat) familiar specialitilor n informatic. 3. Implementarea modelului se face fizic i condiioneaz performanele BD: - prin pointeri, utiliznd diferite metode (liste simplu nlnuite, vectori de pointeri, chei primare etc.); - secvenial, fiecare realizare a unui arbore corespunde unei nregistrri (logice) dintr-un fiier secvenial. 4. Aplicabilitatea modelului se regsete cu succes n tehnologia construciilor de maini, dar i n alte domenii. 5. Limitele modelului ierarhic: - numrul de ierarhii posibile crete combinatoric cu numrul nregistrrilor, n legtura printe-copil; - actualizarea datelor este groaie i consumatoare de resurse calculator; - nivelul logic nu este separat clar de cel fizic (exemplu: indecii pot fi structuri logice dar i fizice); - nu se poate realiza legtura de tip M:N 6. Exemplu de SGBD ierarhic este IMS (Information Management System) realizat de ctre IBM. 7. Baza de date ierarhic este o mulime ordonat de realizri ale unui tip arbore. II. Modelul reea 1. Definirea structurii modelului reea. a) Definirea entitilor se face prin noiunea de tip de nregistrare, care este format din caracteristici (cmpuri).
10

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Realizarea (instana) unui tip de nregistrare este dat de ansamblul valorilor pentru cmpurile acestuia (nregistrarea). b) Definirea legturilor dintre entiti se face fizic i conduce la o structur de tip reea, reprezentat sub forma unei diagrame (fig. 2.3.) numit i schema (conceptual).

TIP_NREG 1

TIP_NREG 2

TIP_NREG 3

TIP_NREG 4

TIP_NREG 5 ...
Fig. 1.3. Diagrama de structur reea

TIP_NREG 6

Caracteristici ale structurii reea : - Un nod poate avea orici superiori i orici subordonai. - Pot exista mai multe tip de nregistrare rdcin. - La un subordonat se poate ajunge pe mai multe ci. - Este o extensie a structurii arborescente n care graful nu mai este limitat. - Legturile n model pot fi 1:1, 1:M, M:N, ciclice. - Pentru exprimarea legturilor se folosete conceptul de tip set. Un tip set este format dintr-un singur tip de nod proprietar i unul sau mai multe tipuri de noduri membre dependente de cel proprietar. - Realizarea tipului set este o colecie de nregistrri care are o realizare proprietar i un numr de realizri membre asociate. 2. Operatorii modelului reea. - Localizarea unui tip set: se identific o realizare a unui nod proprietar. - Trecerea de la o nregistrare la alta n cadrul unui set: proprietar-membru, membru-proprietar, membru-membru. - Actualizarea ntr-un set: adugarea, modificarea, tergerea unor membri. - Actualizarea ntr-o reea: adugarea, modificarea, tergerea unor seturi. Not. Operaiile de actualizare sunt greoaie i mari consumatoare de resurse calculator. Aceasta, deoarece sunt antrenate ntotdeauna nregistrrile dintr-unul sau mai multe seturi. - Localizarea unei nregistrri pe baza valorii unui cmp (cheie). 3. Restriciile de integritate ale modelului reea. - O nregistrare nu poate fi membr a dou realizri ale aceluiai tip set. nregistrarea se va multiplica. - O nregistrare poate s aparin mai multor tipuri set prin multiplicare. - Un tip de nregistrare poate fi nod proprietar ntr-un set i nod membru n alt set. - Un set poate avea un singur nod proprietar. Not. Efectele restriciilor de integritate sunt:
11

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

dau logica i coerena modelului reea; complic operaia de actualizare; introduce o redundan controlat.

Caracterizarea general a modelului reea. 1. A fost propus de CODASYL ca soluie pentru a se elimina limitele modelului ierarhic. 2. Se poate utiliza pentru domenii variate din lumea real, deoarece permite reprezentarea unor structuri complexe. 3. Implementarea modelului se face fizic i condiioneaz performanele BD: - prin pointeri structurai n liste nlnuite, de diferite tipuri (owner, prior, next); - prin hart de bii (matrice cu nregistrri, iar la intersecie sunt legturile: 1-da, 0nu). 4. Limitele modelului reea: - complexitatea modelului l face dificil de implementat; - legturile din model nu sunt ntotdeauna foarte clare; - prelucrarea nregistrrilor se face secvenial; - actualizarea este greoaie i consumatoare de resurse calculator; - reproiectarea este dificil datorit complexitii ridicate. 5. Exemple de SGBD reea : IDMS (Integrated Database Management System), Socrate. 6. Baza de date reea este o mulime oarecare de tipuri de nregistrri structurate pe tipuri set. III. Modelul relaional 1. Definirea structurii modelului relaional. a) Definirea entitilor se face sub forma unor tablouri bidimensionale numite tabele sau relaii de date. Conceptele utilizate sunt: domeniu este un ansamblu de valori caracterizat printr-un nume.el poate fi explicit (se enumera valorile posibile, de exemplu D1:{m, f}) sau implicit (se precizeaza proprietatile valorilor, de exemplu D1:{a/aN}). tabela/relaia este un subansamblu al produsului cartezian al mai multor domenii, caracterizat printr-un nume. atributul este coloana unei tabele, caracterizata printr-un nume. tuplul este linia dintr-o tabel i nu are nume. Not. ordinea liniilor (tupluri) i coloanelor (atribute) dintr-o tabel nu trebuie s prezinte nici-o importan. schema tabelei este numele tabelei, urmat intre paranteze rotunde de lista atributelor, iar pentru fiecare atribut se precizeaza domeniul asociat. cheia este un atribut sau un ansamblu de atribute care au rolul de a identifica un tuplu dintr-o tabela. tipuri de chei: primare/alternate, simple/comune, externe. schema relaional este schema tabelei + cheile + restrictiile de integritate. Exemplu. Fie tabela STUDENT cu atributele: NUME din domeniul D1 (numele de persoane), ANSTUDIU din domeniul D2(anii de studiu dintr-o facultate), ANNATERE din domeniul D3(anii calendaristici).

12

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

NUME: D1 POPA A. PETRE M. ILIE C.

STUDENT ANSTUDIU : D2 2 2 3

ANNATERE: D3 1982 1982 1981

Schema tabelei : STUDENT(NUME: D1, ANSTUDIU: D2, ANNATERE: D3). Not. Numrul de domenii este mai mic sau egal cu numrul de atribute pentru o tabel (mai multe atribute pot lua valori din acelai domeniu). b) Definirea legturilor dintre entiti se face logic construind asocieri ntre tabele cu ajutorul unor atribute de legtur. Legturile se pot reprezenta sub forma unei diagrame de structur (fig. 2.4.) numit i schema BD. Exemplu. Fie o BD privind desfacerea n care am identificat tabelele: BENI, CONTR, PROD. Legturile dintre tabele sunt: un beneficiar poate ncheia mai multe contracte (1:M); un produs se poate livra prin mai multe contracte (1:M); un beneficiar poate cumpra mai multe produse i un produs se poate livra ctre mai muli beneficiari (M:N). BENI CONTR PROD CODB DENB 1:M CODB CODP LOCB CTBC PRETL TERMENL

CANTL

1:M CODP DENP UMP


Fig. 1.4. Schema BD

Not. Legtura M:N nu apare direct n schem. Atributele subliniate sunt chei. Caracteristici ale structurii relaionale: Atributele implicate n realizarea legturilor se gsesc fie n tabelele asociate, fie n tabele distincte construite special pentru legturi. Atributul din tabela iniial se numete cheie extern iar cel din tabela final este cheie primar. Legturile posibile sunt 1:1, 1:M, M:N. Potenial, orice tabel se poate lega cu orice tabel, dup orice atribute. Legturile se stabilesc la momentul descrierii datelor (prin LDD) cu ajutorul restriciilor de integritate. Practic, se stabilesc i legturi dinamice la momentul execuiei. 1. Operatorii modelului relaional. a) Operatori din algebra relaional: standard: selecia proiecia, jonciunea, reuniunea, diferena, produsul cartezian, intersecia, diviziunea;
13

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

extensii : complementarea, descompunerea (splitarea) etc. Not. Operatorii algebrei relaionale acioneaz la nivel de tabel n expresii relaionale. Operanzii sunt tabele iar rezultatul este ntotdeauna o tabel. b) Operatorii din calculul relaional: orientai pe tuplu: conectivele (conjuncia , disjuncia , negaia ), cuantificatorii (existenial , universal ); orientai pe domeniu: idem ca mai sus. Not. Pentru operatorii calcului relaional operandul poate fi tuplu sau domeniu. 2. Restriciile de integritate ale modelului relaional. a) Structurale sunt cele care se definesc prin compararea unor valori din tabele: cheie unic: ntr-o tabel nu trebuie s existe mai multe tupluri cu aceeai valoare pentru ansamblul cheie; referenial: ntr-o tabel T1 care refer o tabel T2, valorile cheii externe trebuie s figureze printre valorile cheii primare din T2 sau s ia valoarea NULL (neprecizat); entitii: ntr-o tabel, atributele din cheia primar nu trebuie s ia valoarea NULL. Not. Cele trei restricii de mai sus sunt minimale. Pe lng acestea, exist o serie de alte restricii structurale care se refer la dependenele dintre date: funcionale, multivaloare, jonciune etc. (sunt luate n considerare la tehnicile de proiectare BD relaionale). b) Semantice sunt cele care se definesc prin comportamentul datelor i in cont de valorile din BD: restricia de domeniu: domeniul corespunztor unui atribut dintr-o tabel trebuie s se ncadreze ntre anumite valori; restricii temporare: valorile anumitor atribute se compar cu nite valori temporare (rezultate din calcule etc.). Not. Restriciile semantice fiind foarte generale se gestioneaz fie la momentul descrierii datelor (de exemplu prin clauza CHECK), fie n afara modelului la momentul execuiei (de exemplu prin instruciunea IF) . Caracterizarea general a modelului relaional. 1. A fost propus de ctre IBM i a revoluionat reprezentarea datelor n BD fcnd trecerea la o nou generaie (a doua). 2. Modelul este simplu, are o solid fundamentare teoretic fiind bazat pe teoria seturilor (ansamblurilor) i pe logica matematic. 3. Pot fi reprezentate toate tipurile de structuri de date de mare complexitate, din diferite domenii de activitate. 4. Implementarea modelului se face logic prin atribute avnd rol de chei. 5. Limitele modelului relaional: prea marea simplitate a modelului l face dificil de aplicat pentru noile tipuri de aplicaii (multimedia, internet etc.); nu asigur o independen logic total a datelor de aplicaie; pentru aplicaii de volum i complexitate foarte mari nu mai face fa; poate introduce o redundan prea mare (la proiectare prin tehnica de normalizare). 6. Baza de date relaional este un ansamblu de tabele prin care se reprezint att datele ct i legturile dintre ele.

14

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

IV. Modelul orientat obiect 1. Definirea structurii modelului orientat obiect (OO). a) Definirea obiectelor se face cu ajutorul conceptului de clas de obiecte care este definit din entitatea regsit n lumea real. Se pune accentul att pe date ct i pe comportamentul acestora, ambele ncapsulate n obiect. Conceptele utilizate sunt: clasele (tipurile) de obiecte sunt un tip abstract de date prin care se defineste structura obiectelor (proprietatile) si comportamentul (metodele) acestora. obiectele reprezinta o colectie de proprietati care se refera la aceeasi entitate. obiectul are: un nume prin care este referit ; un identificator unic atribuit de sistem; implementare care este privat; interfa care este public. metoda reprezint operaiile permise asupra obiectului, deci comportamentul (funcionalitatea) acestuia. mesajul reprezint cereri adresate obiectelor pentru a returna o valoare sau o stare. caracteristici (principii) fundamentale (de baza) ale obiectelor: incapsurarea : descrierea obiectelor se face astfel incat nu se poate avea acces din afara obiectului la datele sale; polimorfismul : diferite obiecte pot rspunde diferit la aceleai mesaje; motenirea : capacitatea unui obiect de a-i deriva datele i funcionalitatea din alt obiect. instana unei clase reprezint realizarea unei clase, dat de valorile variabilelor aferente. b) Definirea legturilor ntre obiecte se realizeaz implicit prin modul de construire (definire) al obiectelor. Tipurile de legturi n modelul OO sunt: ierarhice, caracterizate prin: clasa de obiecte este structura de baz a modelului; fiecare obiect are un identificator unic; toate obiectele sunt membri ai unei clase; clasele sunt structurate n ierarhii avnd caracteristica de motenire; prin obiecte se pot defini orice tip de date (text, grafic, imagine, sunet, video etc.); ansamblul claselor de obiecte structurate n ierarhii alctuiesc schema BD. de referin caracterizate prin: se realizeaz pe baza identificatorului unic de obiect; pot fi de urmtoarele feluri: simple de asociere : referirea unui obiect de ctre alt obiect; de compunere (tip parte-ntreg) : obiectele care reprezint componente ale unui ntreg sunt asociate cu obiectul ce reprezint ntregul; de agregare : obiectele independente sunt agregate succesiv pentru a forma un ntreg. permit definirea i manipularea de obiecte compuse din alte obiecte. Obiectele compuse rezultate au o structur ierarhic dar nu au caracteristic de motenire. 2. Operatorii modelului OO: La baza operaiilor din model stau mesajele ca unic mod de a comunica obiectele ntre ele.
15

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Actualizarea metodelor : adaugare, modificare, tergere de metode. Actualizarea proprietilor : adaugare, modificare, tergere de date. Actualizarea claselor : adaugare, modificare, tergere de clase. Realizarea legturilor ntre clase : compunere, partiionare etc.. Actualizarea instanelor : prin metode care schimb starea intern a obiectului.

3. Restriciile de integritate ale modelului OO: Orice obiect trebuie s respecte restriciile impuse la definirea clasei din care face parte (protocol de obiect). Identificatorul obiectului asigur integritatea referirii la el (se atribuie i se terge automat o dat cu obiectul). Accesul la obiecte este limitat la folosirea protocolului de mesaje definit pentru clasa din care face parte obiectul. Caracterizarea general a modelului OO. 1. Modelul OO marcheaz trecerea la o a treia generaie de BD. El aduce bazelor de date un plus de deschidere, independena logic a datelor de aplicaii, reutilizarea obiectelor etc. 2. Modelul OO d bune rezultate pentru probleme foarte mari i complexe (principiile complexitii sunt incluse n model). 3. n structur sunt acceptate toate tipurile de date cunoscute, deci se poate aplica pentru toate domeniile de activitate. 4. Limitele modelului OO: nu exist un model OO unanim acceptat de specialiti. Exist totui organisme internaionale de standardizare exemplu OMG (Object Management Group) precum i modele OO standardizate exemplu ODMG (Object Data Management Group); imaturitatea i naturaleea dezarmant a tehnologiei OO; elemente nc insuficient testate pentru SBDOO: controlul integritii, volume foarte mari, regsirea etc. 5. Exemple de SGBDOO: O2 (Frana), Jasmine (SUA) etc. 6. Baza de date orientat obiect este o mulime de clase de obiecte persistente (n memoria extern), organizat coerent i ordonat n ierarhii, partajat pentru utilizatorii concureni. Note 1) O comparaie ntre modelul relaional i orientat obiect vezi n Anexa 1. 2) Dup prezentarea de pn acum a primelor dou capitole, putem da o definiie complet i explicativ a noiunii de baz de date, ca fiind un ansamblu de colecii de date: organizat , pe niveluri de organizare a datelor (conceptual, logic, fizic), aa cum reiese din arhitectura unui SBD pe niveluri; coerent , conform restriciilor de integritate i a legturilor dintre date, care rezult din modelul logic de date aferent; structurat , conform unui model de date pentru baze de date (unul fundamental sau derivat); cu o redundan minim i controlat , care este asigurat prin modelul de date implementat i prin tehnicile de proiectare ale BD; accesibil mai multor utilizatori n timp util , adic mai muli utilizatori, concomitent, pot obine informaiile dorite atunci cnd are nevoie de ele.

16

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

1.5. Protecia BD
o Activitatea de protecie a bazelor de date este deosebit de important att pentru modul de lucru pe calculatoare independente ct i pentru modul de lucru n reea de calculatoare. o Asigurarea proteciei pentru o baz de date revine att n sarcina SGBD, prin funcia de administrare (tot mai mult), ct i n sarcina administratorului bazei de date. o Protecia bazei de date este un ansamblu de msuri necesare asigurrii securitii i integritii datelor. n cele ce urmeaz, vom prezenta o sintez a pricipalelor aspectelor care apar pentru a se asigura protecia bazelor de date. Lucruri suplimentare vor fi prezentate n capitolele aferente SGBD-ului Oracle, iar exemplificarea se poate gsi, pe larg, n referina bibliografic [VELU02]. Securitatea datelor semnific interzicerea accesului la date pentru utilizatorii neautorizai. Integritatea datelor nseamn corectitudinea datelor ncrcate, precum i manipularea lor astfel nct s se respecte restriciile de integritate ale modelului de date implementat. n continuare, vom prezenta, pe scurt, cele dou aspecte care compun activitatea de protecie a unei baze de date. La fiecare aspect vom sintetiza activitile aferente. INTEGRITATEA datelor. 1. Integritatea semantic const n prevenirea introducerii unor date incorecte n BD i n prevenirea realizrii unor prelucrri eronate. Acest lucru se asigur prin respectarea restriciilor de integritate. Acestea pot fi implicite (asigurate automat de SGBD) i explicite (asigurate prin proceduri incluse n programele de aplicaie). 2. Controlul concurenei la date const n garantarea coerenei (corectitudinii) i simultaneitii datelor n cazul prelucrrii tranzaciilor (unitatea logic de prelucrare) prin tehnici specifice (blocarea, interblocarea etc.). 3. Salvarea i restaurarea. Salvarea este operaia de stocare a datelor n copii de siguran prin tehnici specifice (copiere, jurnalizare etc.). Ea se poate face automat de ctre SGBD(cel mai des) sau manual de ctre administratorul BD. Restaurarea este operaia de refacere a consistenei BD, pornind de la datele salvate, minimiznd prelucrrile pierdute. Restaurarea se poate face automat de ctre SGBD (cel mai des) sau manual de ctre administratorul BD. SECURITATEA datelor. 1. Autorizarea i controlul accesului la date const n identificarea utilizatorilor i restricionarea accesului acestora, pentru diferite operaii de prelucrare. 2. Viziunile (views) sunt partiii logice ale BD definite pentru diferii utilizatori. 3. Procedurile speciale sunt rutine, oferite de SGBD, care efectueaz anumite operaii asupra datelor i care sunt accesibile anumitori utilizatori. 4. Criptarea este operaia de codificare a datelor n vederea stocrii sau transmiterii datelor. n acest sena, se folosesc o mulime de tehnici specifice: parole, algoritmi de criptare/decriptare, rutine speciale etc.

17

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

1.6. Rezumat
Dup ce s-a definit noiunea de organizare a datelor, s-a prezentat evoluia acesteia, pornind de la fiiere (primul mod de organizare a datelor n memoria extern) i ajungndu-se la ultimele tipuri de baze de date, cele orientate obiect. In aceast evoluie, s-au urmrit cteva aspecte (caracteristici) comparative: structura de date, modul de prelucrare a datelor, redundana datelor, software-ul utilizat. Pentru a se fundamenta necesitatea organizrii datelor n memoria extern, comparativ cu memoria intern, s-a prezentat un tabel n care se gsesc cinci criterii: cost, vitez, capacitate, persisten, organizare. n continuare, se definete noiunea de fiier i, acesteia, i se prezint cteva dintre cele mai importante aspecte de organizare a datelor: operaii, structura, modul de organizare, modul de acces. O parte consistent din capitol este destinat organizrii datelor n baze de date conform unor modele de date. Mai nti sunt prezentate principalel noiuni necesare: informaia, modelul de structur, modelul de date, tipuri de modele de date, schema conceptual, elementele componente ale unui model logic de date (definirea structurii, operatorii, regulile de integritate). Dup aceea sunt prezentate cele patru modele logice de date fundamentale (de baz), ntlnite la organizarea datelor n baze de date: ierarhic, reea, relaional, orientat obiect. Fiecare model este prezentat n acelai mod: elementele componente, caracterizare general. n acest fel se pot urmri, comparativ, cum se regsesc noiunile prezentate la nceputul capitolului, n fiecare model n parte. Capitolul se ncheie cu o sintez privind protecia bazelor de date. Sunt luate n considerare cele dou aspecte ale proteciei: securitatea, integritatea. Fiecare dintre acestea este descompus n principalele subactiviti care trebuie s fie asigurate ntrun sistem de baz de date, de ctre SGBD i administratorul bazei de date.

18

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

1.7. Teste de autoevaluare

1. n modelul relaional pentru baze de date: a) exist noiunea de tip nregistrare b) atributele care au rol n realizarea legturilor ntre tabele se numesc chei compuse c) legturile ntre tabele se descriu n LMD d) exist noiunea de schema tabelei e) proiecia, negaia i existena sunt operatori din algebra relaional 2. Dup modelul de date implementat, bazele de date sunt: a) ierarhice, locale b) distribuite, generalizate c) relaionale, de conducere d) orientate obiect, specializate e) reea, de documentare 3. La organizarea datelor n memoria extern , noiuni corespunztoare sunt: a) cmp valoare b) caracteristic cmp c) caracteristic nregistrare d) cmp nregistrare e) colecia de date fiier 4. n modelul ierarhic pentru baze de date: a) definirea obiectelor se face prin clase de obiecte b) se admit legturi 1:1, 1:M, M:N c) exist secvene ierarhice de realizri d) exist operatorul de actualizare ntr-un arbore e) o realizare copil este ntotdeauna asociat unei singure realizri printe 5. n modelul orientat obiect pentru baze de date: a) obiectul are identificator, proprieti b) obiectul are interfa, implementare c) exist caracteristicile fundamentale ale obiectelor: succesiunea i ncapsularea d) exist restricia de integritate: orice clas respect regulile impuse obiectului din care face parte e) la baza operaiilor (operatorilor) stau metodele 6. La evoluia organizrii datelor n memoria extern se au n vedere aspectele: a) modul de organizare a datelor b) nivelurile de structurare a datelor c) modul de prelucrare a datelor d) redundana programelor e) aplicaiile software aferente

19

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

1.8. Rspunsuri i comentarii la testele de autoevaluare

1. d; 2. -; 3. b, e; 4. c, d, e; 5. a, b, c; 6. a, b, c, e.

1.9. Bibliografia unitii de nvare 1


[RAGE00] [RICC01] [VELU00] [VELU02] [LUBO95] [CONN00] R.Ramakrishnan, J.Gehrke Database Management Systems, ed.Mc Graw Hill, 2000 G.Riccardo Principles of Database Systems - with Internet and Java Applications, ed.Addison Wesley, 2001 M.Velicanu, I.Lungu .a. Sisteme de gestiune a bazelor de date, ed.Petrion, 2000 M.Velicanu, I.Lungu, M.Muntean, M.Iorga, S.Ionescu Oracle platform pentru baze de date, ed. Petrion, 2002 I. Lungu, C. Bodea . a. - Baze de date organizare, proiectare i implementare , ed. ALL, 1995 T.Connolly Database Systems, ed.Mc Graw Hill, 2000

20

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Unitatea de nvare 2: BAZE DE DATE NOIUNI FUNDAMENTALE Cuprins


2.1. Obiective 2.2. Baza de date concepte 2.3. Administrarea bazelor de date 2.4. Rezumat 2.5. Teste de autoevaluare 2.6. Rspunsuri i comentarii la testele de autoevaluare 2.7. Bibliografia unitii de nvare 2

2.1. Obiective
Dup studiul acestei uniti de nvare vei avea cunotinte despre:

generaii de baze de date; noiuni de baz: domeniul de valori, caracteristica, familia de caracteristici, colecia de date, baza de date; definiia bazei de date, vzut ca un ansamblu de date n memoria extern cu urmtoarele caracteristici: organizat, pe trei niveluri (conceptual, logic, fizic); structurat, conform unui model de date; coerent, prin restriciile de integritate i protecia datelor; cu o redundan minim i controlat, prin implementarea unui model de date i prin aplicarea unei tehnici de proiectare; accesibil mai multor utilizatori n timp util; activitatea de administrare a unei baze de date, punctndu-se sarcinile administratorului BD, precum i instrumentele necesare pentru a fi la dispoziia acestuia pentru a ndeplini aceste sarcini.

Durata medie a unei uniti de studiu individual 2 ore

21

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

2.2. Baza de date concepte


1. Evoluie 2. Elementele componente ale unei baze de date 3. Conceptul de baz de date

Evoluie ntr-un calculator datele sunt stocate att n memoria intern (temporar) ct i n memoria extern (persistent). n memoria extern, evoluia modului de memorare a datelor a fost determinat de urmtoarele aspecte: accesul ct mai rapid i uor la date; stocarea unui volum ct mai mare de date; creterea compexitii datelor; perfecionarea echipamentelor de culegere, stocare, transmitere i prelucrare a datelor. Bazele de date, ca mod de organizare a datelor n memoria extern, au evoluat din fiiere printrun proces de integrare a lor (fiierele i legturile dintre ele) i innd cont de cerinele aplicaiilor informatice. Sunt numeroase aspecte care privete trecerea de la fiiere la baze de date (vezi Anexa A2) dar cel mai important este modelul de structurare a datelor n memoria extern (vezi capitolul 2) care difer pentru cele dou noiuni. De la apariia lor i pn astzi, bazele de date au parcurs urmtoarele generaii (determinate n principal de modelul de date implementat): generaia I: BD arborescente i reea (pn la sfritul anilor 70); generaia a-II-a: BD relaionale (sfritul anilor 70 i pn acum); generaia a-III-a: BD orientate obiect (sfritul anilor 80 i pn acum). Elementele componente ale unei baze de date Am artat faptul c bazele de date au evoluat din fiiere (vezi i capitolul 2). Acest lucru se regsete i n noiunile utilizate n cele dou moduri de organizare a datelor n memoria extern, aa cum reiese din tabelul urmtor. De remarcat faptul c att fiierele ct i bazele de date se construiesc pornind de la lumea real nconjurtoare. Citirea tabelului se va face de la stnga la dreapta, iar noiunile corespunztoare de pe cele dou rnduri pot fi considerate similare. Astfel vom spune: o baz de date este format din mai multe colecii de date. Fiecare dintre acestea are ataat o familie de caracteristici, care este format din mai multe caracteristici, care iau valori dintr-un domeniu de valori. n mod similar se citete rndul de jos: un sistem de fiiere este format din mai multe fiiere. Fiecare dintre acestea are ataat o nregistrare, care este format din mai multe cmpuri, care iau valori.
Baza de date Sistem de fiiere Colecii de date Fiiere Familie caracteristici nregistrare de Caracteristici Cmpuri Domenii valori Valori de

Ne vom ocupa, n continuare, de noiunile aferente bazelor de date, urmnd ca de fiiere s ne ocupm n capitolul urmtor.
22

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Domeniul de valori este dat de mulimea valorilor posibile pentru o caracteristic (exemplu: culorile posibile pentru un automobil). Caracteristica semnific definirea i descrierea unui anumit aspect (proprieti) dintr-o entitate a lumii reale (exemplu: marca auto) Familia de caracteristici este ansamblul caracteristicilor care se refer la aceeai entitate din lumea real (exemplu: mulimea caracteristicilor prin care se poate descrie un automobil {NUMR, MARCA, CAPACITATE_CILINDRIC, CULOARE}). Colecia de date(entitatea) este o familie de caracteristici asupra creia se aplic un predicat (care conduce la o relaie de ordine ntre caracteristici i la obinerea informaiilor cu un anumit scop) cruia i se afecteaz anumite legturi. Conceptul de baz de date Definirea noiunii de baz de date o putem face din mai multe puncte de vedere. Astfel vom avea, mai nti, n vedere componentele sale i apoi vom ine cont de organizarea datelor n memoria extern. Baza de date este un ansamblu de colecii de date aflate n interdependen, mpreun cu descrierea datelor i a legturilor dintre ele. Baza de date este un ansamblu de date n memoria extern cu urmtoarele caracteristici: organizat, pe trei niveluri (conceptual, logic, fizic); structurat, conform unui model de date; coerent, prin restriciile de integritate i protecia datelor; cu o redundan minim i controlat, prin implementarea unui model de date i prin aplicarea unei tehnici de proiectare; accesibil mai multor utilizatori n timp util.

2.3. Administrarea bazelor de date

o Administratorul BD este format din una sau mai multe persoane cu experien n analiz i proiectare, care se ocup de organizarea i ntreinerea BD.

Nivelurile de administratori de baze de date, dup activitile desfurate, sunt: administrator global realizeaz: schema (conceptual) a BD, pornind de la cerinele aplcaiei; organizarea datelor la nivel logic (colaboreaz). administrator de aplicaie realizeaz: schema extern (logic) pentru o aplicaie, pornind de la cerinele de prelucrare ale plicaiei; organizarea datelor la nivel fizic (colaborare). administratorul bazei de date realizeaz: schema intern (fizic) a datelor; reorganizarea bazei de date;
23

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

gestioneaz funcionarea BD. Sarcinile administratorului BD sunt structurate dup activitile de realizare a unei BD: la analiza i proiectarea BD: definete obiectivele BD; colaboreaz la formularea cerinelor aplicaiei; definete dicionarul BD(schema, restriciile de integritate etc.); colaboreaz la schema extern i la cea intern; concepe protecia datelor. la implementarea BD: elaboreaz documentaie; definete regulile de implementare i dare n folosin a BD; asigur ncrcarea BD din diferite surse de date. la exploatarea BD: monitorizeaz accesul la date; asigur protecia datelor; ntreine funcionarea BD la parametrii proiectai. Instrumente la dispoziia administratorului BD pentru a-i ndeplini sarcinile: instrumentele oferite de SGBD pentru: reorganizarea BD, refacerea BD, analize statistice, gestionarea dicionarului de date, protecia datelor. instrumente specifice create de administratori i programatori. Not. Un exemplu de administrare a unei baze de date relaionale se gsete n [VELU02], cu exemplificare pe sistemul Oracle. Ca o concluzie, se poate spune c n acest moment, activitatea de administrare a unei baze de date a fost mult automatizat. Acest lucru nseamn c multe dintre sarcinile de administrare au fost preluate de SGBD, degrevndu-l pe administrator.

24

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

2.4. Rezumat
Cunoaterea concepteleor ntr-un domeniu de activitate este de mare importan pentru profesioniti. Acest lucru este valabil i pentru cei care doresc s lucreze cu baze de date. Conceptele aferente acestui domeniu au fost create de cercettori, n mare parte, nc de la apariia primei generaii de baze de date, inndu-se cont de evoluia din fiiere, ca mod de organizare a datelor n memoria extern. Principalele concepte prezentate sunt: generaii de baze de date, domeniul de valori, caracteristica, familia de caracteristici, colecia de date, baza de date. Baza de date este un ansamblu de date n memoria extern cu urmtoarele caracteristici: - organizat, pe trei niveluri (conceptual, logic, fizic); - structurat, conform unui model de date; - coerent, prin restriciile de integritate i protecia datelor; - cu o redundan minim i controlat, prin implementarea unui model de date i prin aplicarea unei tehnici de proiectare; - accesibil mai multor utilizatori n timp util. Pe scurt, este prezentat activitatea de administrare a unei baze de date, punctndu-se: ce este un administrator, care sunt nivelurile de administartori, care sunt sarcinile administratorului BD, precum i instrumentele necesare a fi la dispoziia sa pentru a ndeplini aceste sarcini.

2.5. Teste de autoevaluare


7. Baza de date este un ansamblu de date: a) organizat, structurat b) cu o redundan minim i necontrolat c) accesibil mai multor utilizatori n timp util d) coerent, modular e) distribuit uniform 8. Pentru o baz de date: a) structura conceptual se deduce din cea logic b) structura extern se deduce din cea conceptual c) structura global se deduce din cea conceptual d) structura global se deduce din cea fizic e) structura intern se deduce din cea fizic 9. Concepte specifice unei baze de date sunt: a) colecia de proprieti b) colecia de date c) familia de caracteristici d) familia de nregistrri e) caracteristica

25

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

2.6. Rspunsuri i comentarii la testele de autoevaluare

1. a, c; 2. b; 3. b, c, e;

2.7. Bibliografia unitii de nvare 2


[LUBO95] [VELU02] I. Lungu, C. Bodea . a. - Baze de date organizare, proiectare i implementare , ed. ALL, 1995 M.Velicanu, I.Lungu, M.Muntean, M.Iorga, S.Ionescu Oracle platform pentru baze de date, ed. Petrion, 2002

26

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Unitatea de nvare 3: BAZE DE DATE RELAIONALE (BDR) Cuprins


3.1. Obiective 3.2. Conceptul de BDR 3.3. Optimizarea BDR prin tehnica normalizrii 3.4. Algebra relaional i calculul relaional 3.5. Rezumat 3.6. Teste de autoevaluare 3.7. Rspunsuri i comentarii la testele de autoevaluare 3.8. Bibliografia unitii de nvare 3

3.1. Obiective
Dup studiul acestei uniti de nvare vei avea cunotine despre:

bazele de date relaionale (BDR); realizarea unei aplicaii cu BDR, ceea ce presupune obligatoriu proiectarea bazei de date; diferite tehnici de proiectare a BDR, dintre care cea mai utilizat este normalizarea; cele cinci forme normale (FN1 la FN5) care se construiesc n procesul de proiectare a unei BDR; dou domenii importante din teoria relaional: calculul relaional i algebra relaional, mpreun cu cei mai importani operatori afereni acestora.

Durata medie a unei uniti de studiu individual 8 ore

27

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

3.2. Conceptul de baze de date relaionale (BDR)


o Bazele de date relaionale (BDR) utilizeaz modelul de date relaional i noiunile aferente. o BDR au o solid fundamentare teoretic, n special prin cercetrile de la IBM conduse de E.F.Codd. o BDR este un ansamblu organizat de tabele (relaii) mpreun cu legturile dintre ele. Cteva dintre avantajele BDR fa de fiiere:
CRITERIU Independena datelor Niveluri de structurare Deschidere i portabilitate reprezentarea i utilizarea datelor structura de date se pstreaz BDR logic i fizic conceptual, logic i fizic mare simplificat prin model n dicionarul BD FIIERE fizic logic i fizic mic complicat n programe.

Concepte utilizate la organizarea datelor n memoria extern n BDR i respectiv fiiere: fiiere fiier nregistrare cmp valori Organizare date n BDR tabel tuplu atribut domeniu valori (relaie) (linie) (coloan) Condiii minimale pentru ca un SGBD s fie relaional: s implementeze modelul de date relaionale prin LDD i LMD; s implementeze cel puin un limbaj relaional. Not. Condiiile complete ca un SGBD s fie relaional sunt date de cele 13 reguli ale lui CODD.

3.3. Proiectarea BDR prin tehnica normalizrii


o Aspecte generale privind proiectarea BD o Noiuni privind normalizarea o Formele normale a) Aspecte generale privind proiectarea BD Proiectarea unei BD este un proces n care se utilizeaz diferite modele, tehnici i instrumente pentru a transpune un domeniu din lumea real nconjurtoare, n termenii organizrii datelor aferente, pe calculator. Pornind de la lumea real se identific i specific cerinele aplicaiei (domeniul de interes) prin: documentare, interviu, terminologie, comunicare etc.

28

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Rezultatul acestei activiti este obinerea elementelor necesare pentru organizarea informaiei din domeniul respectiv. Acest lucru se realizeaz [RICC01] cu ajutorul unor concepte i instrumente adecvate: - Schemele BD: Schema conceptual specific structura organizaional i coninutul informaional al sistemului i reprezint un mod de comunicare ntre proiectanii i utilizatorii BD; Schema logic definete informaia ntr-o manier care poate fi folosit pentru crearea BD. Schema extern organizeaz informaia ntr-o ordine care permite accesul utilizatorilor la BD (construcia viziunilor). Not.Cele dou scheme pot fi separate sau integrate ntr-una singur deoarece ambele se materializeaz prin instruciuni (nivelul logic) dintr-un limbaj din SGBD, destinate unor utilizatori (extern). Schema fizic specific reprezentarea informaiei n calculator n termeni fizici (cum este stocat informaia n memoria extern, pe suportul tehnic de informaie). - Obiectele din lumea real se reprezint prin entiti care au caracteristici (atribute). - Obiectele din lumea real au asocieri (legturi) de diferite tipuri cu alte obiecte, fiecare avnd un anumit rol n aceste legturi. b) Noiuni privind normalizarea Aspectul dinamic al structurii de date este avut n vedere i rezolvat de BDR. Acest lucru nseamn c modelul de date relaional permite schimbarea n timp a structurii de date fr schimbarea programelor de aplicaie (independena logic). Tehnica de normalizare este utilizat n activitatea de proiectare a structurii BDR i const n eliminarea unor anomalii (neajunsuri) de actualizare din structur. Anomaliile de actualizare sunt situaii nedorite care pot fi generate de anumite tabele n procesul proiectrii lor: anomalia de tergere semnific faptul c stergnd un tuplu dintr-o tabel, pe lng informaiile care trebuie terse, se pierd i informaiile utile existente n tuplul respectiv; anomaliile de adugare semnific faptul c nu pot fi incluse noi informaii necesare ntr-o tabel, deoarece nu se cunosc i alte informaii utile (de exemplu valorile pentru cheie); anomalia de modificare semnific faptul c este dificil de modificat o valoare a unui atribut atunci cnd ea apare n mai multe tupluri. Not. Anomaliile de actualizare sunt rezolvate de ctre teoria relaional, lucru care nu se ntmpl la alte tipuri de BD. Normalizarea este o teorie construit n jurul conceptului de forme normale (FN), care amelioreaz structura BD prin nlturarea treptat a unor neajunsuri i prin imprimarea unor faciliti sporite privind manipularea datelor. Not. Teoria normalizrii a fost conceput iniial de ctre E.F.Codd, ulterior aducndu-i contribuia i ali cercettori. Normalizarea utilizeaz ca metod descompunerea (top-down) unei tabele n dou sau mai multe tabele, pstrnd informaii (atribute) de legtur. c) Formele normale O tabel (relaie) este ntr-o form normal (FN) dac satisface anumite restricii, care arat c FN(i+1) este preferat fa de FN(i), i=1,4.
29

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Sunt cinci forme normale (FN1 la FN5) i una suplimentar (BCNF) care revizuiete FN3. O baz de date este n FNi , i=1,5 dac toate tabelele sale sunt n FNi. BD iniial va fi format dintr-o singur colecie de date, care apoi se descompune n mai multe tabele, parcurgnd formele normale. FN1 O tabel este n FN1 dac toate atributele ei conin valori elementare (nedecompozabile), adic fiecare tuplu nu trebuie s aib date la nivel de grup sau repetitiv. Structurile de tip arborescent i reea se transform n tabele cu atribute elemntare. O tabel n FN1 prezint nc o serie de anomalii de actualizare datorit eventualelor dependene funcionale incomplete. Fiecare structur repetitiv genereaz (prin descompunere) o nou tabel, iar atributele la nivel de grup se nltur, rmnnd doar cele elemntare. FN2 O tabel este n FN2 dac i numai dac este n FN1 i fiecare atribut noncheie al tabelei este dependent funcional complet de cheie. Un atribut B al unei tabele depinde funcional de atributul A al aceleiai tabele, dac fiecrei valori a lui A i corespunde o singur valoare a lui B, care i este asociat n tabel. Un atribut B este dependent funcional complet de un ansamblu de atribute A n cadrul aceleiai tabele, dac B este dependent funcional de ntreg ansamblul A (nu numai de un atribut din ansamblu). O tabel n FN2 prezint nc o serie de anomalii de actualizare, datorit eventualelor dependene tranzitive. Eliminarea dependenelor incomplete se face prin descompunerea tabelei iniiale n dou tabele, ambele coninnd atributul intermediar (B). FN3 O tabel este n FN3 dac i numai dac este n FN2 i fiecare atribut noncheie depinde n mod netranzitiv de cheia tabelei. ntr-o tabel T, fie A,B,C trei atribute cu A cheie. Dac B depinde de A (A B) i C depinde de B (B C) atunci C depinde de A n mod tranzitiv. Eliminarea dependenelor tranzitive se face prin descompunerea tabelei iniiale n dou tabele, ambele coninnd atributul intermediar (B). O tabel n FN3 prezint nc o serie de anomalii de actualizare, datorate eventualelor dependene multivaloare. Not. O definiie mai riguruas pentru FN3 a fost dat prin forma intermediar BCNF (Boyce Codd Normal Form): o tabel este n BCNF dac fiecare determinant este un candidat cheie.Determinantul este un atribut elementar sau compus fa de care alte atribute sunt complet dependente funcional. FN4 O tabel este n FN4 dac i numai dac este n FN3 i nu conine dou sau mai multe dependene multivaloare. ntr-o tabel T, fie A,B,C trei atribute. n tabela T se menine dependena multivaloare A dac i numai dac mulimea valorilor lui B ce corespunde unei perechi de date (A,C), depinde numai de o valoare a lui A i este independent de valorile lui C. FN5

30

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

O tabel este n FN5 dac i numai dac este n FN4 i fiecare dependen jonciune este generat printr-un candidat cheie al tabelei. n tabela T (A,B,C) se menine dependena jonciune (AB, AC) dac i numai dac T menine dependena multivaloare A B sau C. Not. Dependena multivaloare este caz particular al dependenei jonciune. Dependena funcional este caz particular al dependenei multivaloare.

3.4. Algebra relaional i calculul relaional


o Pentru manipularea datelor conform modelului relaional se folosesc operatorii din algebra i calculul relaional [RICC01]. o Pentru implementarea acestor operatori exist comenzi specifice n LMD din SGBDR. Aceste comenzi sunt utilizate n operaii de regsire (interogare). Dup tehnica folosit la manipulare, LMD sunt bazate pe: calculul relaional (QUEL n Ingres, ALPHA propus de Codd); algebra relaional (ISBL, RDMS); transformarea (SQL, SQUARE); grafic (QBE, QBF). Calculul relaional Calculul relaional se bazeaz pe calculul predicatelor de ordinul nti (domeniu al logicii) i a fost propus de E.F.Codd. Predicatul este o relaie care se stabilete ntre anumite elemente i care poate fi confirmat sau nu. Predicatul de ordinul 1 este o relaie care are drept argumente variabile care nu sunt predicate. Variabila poate fi de tip tuplu (valorile sunt dintr-un tuplu al unei tabele) sau domeniu (valorile sunt dintr-un domeniu al unei tabele). Cuantificatorii (operatorii) utilizai n calculul relaional sunt: universal () i existenial (). Construcia de baz n calculul relaional este expresia relaional de calcul tuplu sau domeniu (funcie de tipul variabilei utilizate). Expresia relaional de calcul este format din: operaia de efectuat; variabile (tuplu respectiv domeniu); condiii (de comparaie, de existen); formule bine definite (operanzi-constante, variabile, funcii, predicate; operatori); cuantificatori. Not. Exemplu de implementare a calculului relaional n limbajul QUEL vezi n cartea [VELU00]. Algebra relaional Algebra relaional este o colecie de operaii formale aplicate asupra tabelelor (relaiilor), i ea a fost conceput de E.F.Codd. Operaiile sunt aplicate n expresiile algebrice relaionale care sunt cereri de regsire.
31

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Acestea sunt compuse din operatorii relaionali i operanzi. Operanzii sunt ntotdeauna tabele (una sau mai multe). Rezultatul evalurii unei expresii relaionale este format dintr-o singur tabel. Algebra relaional are cel puin puterea de regsire a calcului relaional. O expresie din calculul relaional se poate transforma ntr-una echivalent din algebra relaional i invers. Operatorii din algebra relaional pot fi grupai n dou categorii (R1, R2, R3 sunt relaii (tabele)): 1. Operatori pe mulimi REUNIUNEA: R3 = R1 R2, unde R3 va conine tupluri din R1 sau R2 luate o singur dat. DIFERENA: R3 = R1 \ R2, unde R3 va conine tupluri din R1 care nu se regsesc n R2 PRODUSUL CARTEZIAN: R3 = R1 R2, unde R3 va conine tupluri construite din perechi (x1x2), cu x1R1 i x2R2. INTERSECIA:R3 = R1 R2, unde R3 va conine tupluri care se gsesc n R1 i R2 n acelai timp. 2. Operatori relaionali speciali SELECIA: din R1 se obine o subtabel R2, care va conine o submulime din tuplurile iniiale din R1 ce satisfac un predicat (o condiie). Numrul de atribute din R2 = numrul de atribute din R1 Numrul de tupluri din R2 < numrul de tupluri din R1. PROIECIA: din R1 se obine o subtabel R2, care va conine o submulime din atributele iniiale din R1 i fr tupluri duplicate Numrul de atribute din R2 < numrul de atribute din R1 Numrul de tupluri din R2 numrul de tupluri din R1. JONCIUNEA: derivaie a produsului cartezian, ce presupune utilizarea unui calificator care s permit compararea valorilor unor atribute din R1 i R2, iar rezultatul n R3. R1 i R2 trebuie s aib unul sau mai multe atribute comune care au valori comune. Note. 1) Codd a introdus ase operatori de baz (reuniunea, diferena, produsul cartezian, selecia, proiecia , jonciunea) i doi operatori derivai (intersecia i diviziunea). 2) Ulterior au fost introdui i ali operatori derivai (speciali). 3) Algebra relaional este prin definiie neprocedural (descriptiv), iar calculul relaional permite o manier de cutare mixt (procedural/neprocedural). Transformarea Ofer o putere de regsire echivalent cu cea din calculul i algebra relaional. Se bazeaz pe transformarea (mapping) unui atribut sau grup de atribute ntr-un atribut dorit prin intermediul unor relaii. Rezultatul este o relaie (tabel) care se poate utiliza ntr-o alt transformare. Grafica Ofer interactivitate mare pentru constrirea cererilor de regsire. Utilizatorul specific cerea alegnd sau completnd un ecran structurat grafic. Poate fi folosit de ctre toate categoriile de utilizatori n informatic.
32

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

3.5. Rezumat

Se definete noiunea de baz de date relaional (BDR) innd cont de modelul de date relaional. Se face o comparaie a noiunilor utilizate n BDR cu cele utlizate la lucrul cu fiiere. Realizarea unei aplicaii cu BDR este o activitate complex, care presupune obligatoriu proiectarea bazei de date. n acest sens se folosesc diferite tehnici, dintre care cea mai utilizatimplementare. este normalizarea. Scopul tehnicii de normalizare este de a elimina, n procesul de proiectare, anomaliile de actualizare. Sunt prezentate cele cinci forme normale (FN1 la FN5) care se construiesc n procesul de proiectare a unei BDR. n continuare, se prezint un exemplu practic de proiectare a unei BDR prin tehnica de normalizare, ajungndu-se la o schem conceptual. Sunt exemplificate doar primele trei forme normale, deoarece acestea sunt cele mai utilizate n aplicaiile practice. n finalul capitolului se prezint o sintez a dou domenii importante din teoria relaional: calculul relaional i algebra relaional. Fiecare dintre cele dou domenii este definit pe scurt, iar apoi sunt prezentai cei mai importani operatori afereni. Sunt citate exemple de limbaje relaionale clasificate dup tehnica folosit la implementare.

3.6. Teste de autoevaluare

1. O tabel este n FN3 dac: a) este n FN2 i fiecare atribut noncheie depinde n mod netranzitiv de cheia tabelei b) este n FN1 i fiecare atribut cheie depinde tranzitiv de atributele noncheie c) este n FN2 i are dependene complete d) este n FN1 i are dependene funcionale incomplete e) este n FN2 i are cel puin o dependen funcional complet ntre atributele noncheie i cheia tabelei 2. Calculul relaional: a) are drept construcie de baz expresia de calcul tuplu sau expresia de calcul domeniu b) este implementat n limbajul ISBL c) conine operatorul de jonciune d) st la baza limbajelor procedurale universale e) folosete noiunea de formul bine definit 3. O tabel este n FN1 dac: a) exist atribute la nivel de grup b) exist atribute repetitive c) nu exist atribute la nivel de grup d) exist atribute decompozabile e) nu exist atribute repetitive

33

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

3.7. Rspunsuri i comentarii la testele de autoevaluare

1. a; 2. a, e; 3. c, e;

3.8. Bibliografia unitii de nvare 3


[CONN00] [DATE94] [RICC01] [VELU00] [VELU01] T.Connolly Database Systems, ed.Mc Graw Hill, 2000 J.Date An introduction to Database Systems, ed. Addison Wesley, 1994 G.Riccardo Principles of Database Systems - with Internet and Java Applications, ed.Addison Wesley, 2001 M.Velicanu, I.Lungu .a. Sisteme de gestiune a bazelor de date, ed.Petrion, 2000 M.Velicanu, I.Lungu, M.Muntean Dezvoltarea aplicaiilor cu baze de date n Visual Foxpro, ed. ALL, 2001

34

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Unitatea de nvare 4: METODOLOGIA DE REALIZARE A BAZELOR DE DATE Cuprins


4.1. Obiective 4.2. Organizarea unei baze de date 4.3. Obiectivele urmrite n realizarea unei baze de date 4.4. Etape n realizarea unei baze de date 4.5. Utilizarea metodologiei UML n proiectarea bazelor de date 4.6. Proiectarea bazelor de date relaionale o extensie UML 4.7. Eficiena bazelor de date 4.8. Rezumat 4.9. Teste de autoevaluare 4.10. Rspunsuri i comentarii la testele de autoevaluare 4.11. Bibliografia unitii de nvare 4

4.1. Obiective
Dup studiul acestei uniti de nvare vei avea cunotine despre:

activitatea de realizare a unei baze de date; organizarea activitii de realizare a unei baze de date (intrrile, memorarea datelor, protecia datelor, legturile datelor) astfel nct s se poat decide dac merit sau nu demararea aciunii respective; metodologiile de realizare a bazelor de date; etapele (activitile) care trebuie parcurse n vederea realizrii unei baze de date: analiza de sistem, proiectarea noului sistem, realizarea componentelor logice, punerea n funciune, dezvoltarea; eficiena activitii de realizare a bazelor de date, important pentru evaluarea investiiei efectuate.

Durata medie a unei uniti de studiu individual 12 ore


35

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

4.2. Organizarea unei baze de date


o Activitatea de realizare a unei baze de date trebuie s nceap cu organizarea acesteia, adic pregtirea aciunii. n cadrul acestei pregtiri, innd cont de obiectivele urmrite pentru realizarea bazei de date, se va face un fel de inventar a ceea ce este un minim necesar pentru a se putea realiza baza de date. Se poate astfel, din start, hotar dac activitatea va demara imediat sau dac mai sunt necesare alte aciuni pregtitoare. o Prezentm, n continuare, cteva aspecte mai importante urmrite la organizarea unei baze de date: 1. Organizarea intrrilor de date, se refer la: sursa datelor (documente primite, fiiere etc.); actualizarea datelor (moduri, momente, reorganizri etc.); controlul intrrilor de date (natur, coninut, format, periodicitate etc.). 2. Organizarea memorrii datelor, se refer la: principii de memorare (memoria intern/extern, forma de stocare, legturi ntre date, tehnici utilizate etc.); optimizarea memorrii (redundan, spaiu, alocare, codificare, reorganizare etc.). 3. Organizarea proteciei datelor sub cele dou aspecte (securitatea i integritatea), se refer la: instrumente oferite de ctre SGBD (autorizare acces, fiiere jurnal, arhivri etc.); metode proprii (parole, rutine speciale, antivirus etc.). 4. Organizarea legturilor bazei de date cu alte aplicaii, se refer la: conversii, standarde, compatibilitii, interfee etc.

4.3. Obiectivele urmrite la realizarea unei BD


o Atunci cnd dorim s realizm o baz de dat trebuie s tim clar ce avem de fcut, adic s stabilim obiectivele activitii nostre. n acest sens, cteva dintre cele mai importante obiective, le prezentm n continuare. Acestea, ar trebui s constituie un set minim de obiective, de care s se in cont la realizarea unei baze de date: 1. Partiionarea semnific faptul c aceleai date trebuie s poat fi folosite n moduri diferite de ctre diferii utilizatori. 2. Deschiderea se refer la faptul c datele trebuie s fie uor adaptabile la schimbrile care pot aprea (actualizarea structurii, tipuri noi de date etc.). 3. Eficiena are n vedere stocarea i prelucrarea datelor, care trebuie s se fac la costuri ct mai sczute, costuri care s fie inferioare beneficiilor obinute. 4. Reutilizarea nseamn faptul c fondul de date existent trebuie s poat fi reutilizat n diferite aplicaii informatice.
36

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

5. Regsirea este o actvitate frecvent pe bazele de date i de aceea cererile de regsire trebuie s poat fi adresate uor de ctre toate categoriile de utilizatori, dup diferite criterii. 6. Accesul nseamn modul de localizare a datelor i acest lucru trebuie s poat fi realizat prin diferite moduri de acces, rapid i uor. 7. Modularizarea presupune faptul c realizarea BD trebuie s se poat face modular pentru generalitate i posibilitatea lucrului n echip. 8. Protecia bazei de date trebuie asigurat sub ambele aspecte: securitatea i integritatea datelor. 9. Redundana se asigur n limite acceptabile prin implementarea unui model de date pentru baze de date i prin utilizarea unei tehnici de proiectare a BD. Se asigur astfel, o redundan minim i controlat. 10. Independena datelor fa de programe trebuie asigurat att la nivel logic ct i i fizic.

4.4. Etape n realizarea unei BD


o Activitile (etapele) parcurse pentru realizarea unei BD sunt: analiza de sistem, proiectarea noului sistem, realizarea componentelor logice, punerea n funciune, dezvoltarea. 1. Analiza de sistem. Scopul acestei activiti este de a evidenia cerinele aplicaiei i resursele utilizate (studiul), precum i de a evalua aceste cerine prin modelare (analiza). STUDIUL situaiei existente se realizeaz prin: definirea caracteristicilor generale ale unitii; identificarea activitilor desfurate; identificarea resurselor existente (informaionale, umane, energetice, echipamente, financiare etc.); identificarea necesitilor de prelucrare. ANALIZA sistemului existent urmeaz investigrii (studiului) i utilizeaz informaiile obinute de aceasta.

37

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Fig. 4.1. Activitile parcurse pentru realizarea unei baze de date

Analiza este o activitate de modelare (conceptual) [RICC01] i se realizeaz sub trei aspecte: structural, dinamic i funcional. a) Analiza structural evideniaz, la nivel conceptual, modul de structurare a datelor i a legturilor dintre ele. Cea mai utilizat tehnic este entitate-asociere. Aceasta conine: 1) Identificarea entitilor: fenomene, procese, obiecte concrete sau abstracte (substantivele din prezentarea activitii descrise) (exemple de entiti: Persoane, Produse, Beneficiari). 2) Identificarea asocierilor dintre entiti ca fiind legturile semnificative de un anumit tip (verbele din prezentarea activitii descrise). 3) Identificarea atributelor ce caracterizeaz fiecare entitate n parte (exemple de atribute: Marca, Nume, Adres). 4) Stabilirea atributelor de identificare unic a realizrilor entitii, drept chei. Rezultatul analizei structurale: modelul static (structural) numit i diagrama entitate-asociere. Not. Diagrama entitate-asociere (Entity-Relationship) poate fi generat cu produse software tip CASE (Computer Aided Software Engineering), ca de exemplu Oracle Designer. Pornind de la o astfel de diagram, se pot construi, n actvitatea de proiectare, schemele relaiilor (tabelelor). Pentru aceast translatare exist un set de 14 reguli [vezi RICC01] care pot fi aplicate. b) Analiza dinamic evideniaz comportamentul elementelor sistemului la anumite evenimente. Una din tehnicile utilizate este diagrama stare-tranziie. Aceasta presupune: 1) Identificarea strilor n care se pot afla componentele sistemului. 2) Identificarea evenimentelor care determin trecerea unei componente dintr-o stare n alta. 3) Stabilirea tranziiilor admise ntre stri. 4) Construirea diagramei stare-tranziie. Rezultatul analizei dinamice: modelul dinamic
38

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

c) Analiza funcional evideniaz modul de asigurare a cerinelor informaionale (fluxul prelucrrilor) din cadrul sistemului, prin care intrrile sunt transformate n ieiri. Cea mai utilizat tehnic este diagrama de flux al datelor. Conform acestei tehnici se delimiteaz: 1) Aria de cuprindere a sistemului. 2) Se identific sursele de date. 3) Se identific modul de circulaie i prelucrare a datelor. 4) Se identific apoi rezultatele obinute. Rezultatul analizei funcionale: modelul funcional. Not. Exemplu privind activitatea de analiz, sub toate cele trei aspecte prezentate mai sus, vezi n cartea [LUVE00]. 2. Proiectarea structurii bazei de date Pornind de la modelele realizate prin activitatea de analiz, se poate proiecta structura BD, parcurgnd dou subactiviti: alegerea SGBD-ului, proiectarea funciilor BD. a) Alegerea SBGD-ului se face innd cont de dou aspecte: cerinele aplicaiei (utilizatorului) i performanele tehnice ale SGBD-ului. Cerinele aplicaiei se refer la: volumul de date estimat a fi memorat i prelucrat n BD; complexitatea problemei de rezolvat; ponderea i frecvena operaiilor de intrare/ieire; condiii privind protecia datelor; operaii necesare pe baza de date (ncrcare/validare, actualizare, regsire etc.); particulariti ale activitii pentru care se realizeaz baza de date. Performanele tehnice ale SGBD-ului se refer la: modelul de date pe care-l implementeaz; ponderea utilizrii SGBD-ului pe pia i tendina; configuraia de calcul minim cerut; limbajele de programare din SGBD; faciliti de utilizare oferite pentru diferite categorii de utilizatori; limitele SGBD-ului; optimizri realizate de SGBD; faciliti tehnice: lucrul cu mediul distribuit i concurena de date; elemente de multimedia; elemente de CASE; interfee de comunicare; autodocumentarea; instrumente specifice oferite. b) Proiectarea funciilor BD (vezi i [RAGE00]) se realizeaz prin: proiectarea schemelor BD, proiectarea modulelor funcionale specializate. Proiectarea schemelor BD se realizeaz pornind de la rezultatele modelrii conceptuale (analiza de sistem) i innd cont de modelul de date implementat de SGBD-ul ales. Se vor proiecta schemele: conceptual, extern, intern. Proiectarea schemei conceptuale pornete de la identificarea setului de date necesar sistemului. Aceste date sunt apoi integrate i structurate ntr-o schem (exemplu: pentru BD relaionale cea mai utilizat tehnic este normalizarea). Pentru acest lucru se parcurg paii: 1. Stabilirea schemei conceptuale iniiale care se deduce din modelul entitateasociere (vezi analiza structural). Pentru acest lucru, se transform fiecare
39

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

entitate din model ntr-o colecie de date (fiier), iar pentru fiecare asociere se definesc cheile aferente. Dac rezult colecii izolate, acestea se vor lega de alte colecii prin chei rezultnd asocieri (1:1, 1:M, M:N). 2. Ameliorarea progresiv a schemei conceptuale prin eliminarea unor anomalii (exemplu: cele cinci forme normale pentru BD relaionale). 3. Stabilirea schemei conceptuale finale trebuie s asigure un echilibru ntre cerinele de actualizare i performanele de exploatare (exemplu: o form normal superioar asigur performane de actualizare, dar timpul de rspuns va fi mai mare). Proiectare schemei externe are rolul de a specifica viziunea fiecrui utilizator asupra BD. Pentru acest lucru, din schema conceptual se identific datele necesare fiecrei viziuni. Datele obinute se structureaz logic n subscheme innd cont de facilitile de utilizare i de cerinele utilizator. Schema extern devine operaional prin construirea unor viziuni (view) cu SGBD-ul i acordarea drepturilor de acces. Datele ntr-o viziune pot proveni din una sau mai multe colecii i nu ocup spaiul fizic. Proiectarea schemei interne presupune stabilirea structurilor de memorare fizic a datelor i definirea cilor de acces la date. Acestea sunt specifice fie SGBD-ului (scheme de alocare), fie sistemului de operare. Proiectarea schemei interne nseamn realizarea operaiilor: 1. estimarea spaiului fizic pentru BD i definirea unui model fizic de alocare (a se vedea dac SGBD-ul permite explicit acest lucru); 2. definirea unor indeci pentru accesul direct, dup cheie, la date; Un ghid privind activitatea de indexare [RAGE00] pentru baze de date, poate include paii: - necesitatea indexrii: se indexeaz dac se reduce timpul de cutare sau dac este necesar ordonarea datelor; - alegerea cheii de indexare: atributele din clauzele WHERE / FOR sunt candidate pentru chei; - cheile construite din atribute multiple: mai multe atribute separate (cheie multipl) sau concatenate (cheie compus), ntr-o anumit ordine; - tipul de indexare: arbori (pentru cereri cu egalitate), hash-cod (pentru cereri cu jonciune) etc.; - costul ntreinerii indecilor este dat de dou aspecte: indecii se terg dac operaiile care-i implic sunt rare (se reduce astfel spaiul) i indecii se pstreaz dac operaiile care-i implic sunt dese (se reduce astfel timpul). 3. construirea unor clustere, care nseamn regruparea fizic a datelor din BD, pentru a permite un acces mai rapid pentru anumii utilizatori. Datele pot proveni din una sau mai multe colecii. Clusterele genereaz avantaj la regsire i dezavantaj la actualizare, n ceea ce privete timpul de rspuns. Proiectarea modulelor funcionale ine cont de concepia general a BD, precum i de schemele proiectate anterior. n acest sens, se proiecteaz: fluxul informaional; modulele de ncrcare i manipulare a datelor; interfeele specializate; integrarea elementelor proiectate cu organizarea i funcionarea BD. 3. Realizarea componentelor logice Componentele logice ale unei BD sunt programele de aplicaie dezvoltate, n cea mai mare parte, n SGBD-ul ales. Programele se realizeaz conform modulelor funcionale proiectate n etapa anterioar. Componentele logice in cont de ieiri, intrri, prelucrri i coleciile de date.
40

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

n paralel cu dezvoltarea programelor de aplicaii se ntocmesc i documentaiile diferite (tehnic, de exploatare, de prezentare). 4. Punerea n funciune i exploatarea Se testeaz funciile BD mai nti cu date de test, apoi cu date reale. Se ncarc datele n BD i se efectueaz procedurile de manipulare, de ctre beneficiar cu asistena proiectantului. Se definitiveaz documentaiile aplicaiei. Se intr n exploatare curent de ctre beneficiar conform documentaiiei. 5. Dezvoltarea sistemului Imediat dup darea n exploatare a BD, n mod continuu, pot exista factori perturbatori care genereaz schimbri n BD. Schimbrile necesare trebuie preluate de BD uor i din mers. Factorii pot fi: organizatorici, datorai progresului tehnic, rezultai din cerinele noi ale beneficiarului, din schimbarea metodologiilor etc.

4.5. Utilitatea metodologiei UML n proiectarea bazelor de date


o Complexitatea deosebita a sistemelor actuale a determinat abordarea pe scara larga a principiilor orientarii obiectuale nu doar n ceea ce priveste programarea ci si n proiectarea lor, lucru care a avut consecinte si asupra proiectarii bazelor de date. n general modelarea orientata obiect (gen UML) este privita ca apanajul doar al proiectarii (sau dezvoltarii) aplicatiilor orientate obiect. Aceasta abordare se dovedeste nsa limitata avnd n vedere doua aspecte : 1. Pe de o parte proiectarea aplicatiilor (orientate obiect) cu baze de date separata de proiectarea bazei de date va produce un nivel suplimentar de mapare a entitatilor care figureaza n cele doua arii la nivel conceptual. Proiectarea unui sistem integrat din care sa rezulte concertat ce obiecte vor fi stocate persistent n baza de date, ce obiecte vor face parte din package -urile sau modulele aplicatiilor rezidente sub forma componentelor si modul cum vor interactiona ntre ele se poate dovedi o alternativa mai buna. Singurul substrat suplimentar (care poate fi modelat si el prin stereotipuri UML) ar fi cel al maparii entitatilor conceptuale n structurile oferite de modelul logic al bazei de date pentru stocare si regasire. 2. Pe de alta parte modelele logice ale bazelor de date relationale comerciale propun astazi o serie de concepte noi cum sunt procedurile stocate si declansatoarele care nu fac parte din modele relationale traditionale si de obicei nu sunt luate n considerare n faza proiectarii bazei de date . Valorificarea direct n proiectarea conceptuala a acestora se poate face folosind concepte orientate obiect si mecanismele de extensibilitate ale unui limbaj de modelare cum este UML. Motivatiile pentru care metodologia UML ar fi potrivita si pentru specificarea modelelor implicate n proiectarea bazelor de date (fata metodele traditionale) ar putea fi rezumate astfel: modelul structural al UML ncorporeaza toate conceptele modelului entitate relatie (cel mai popular model pentru proiectarea conceptuala a bazelor de date) plus conceptele specifice modelelor semantice (generalizare, agregare) si abordarii orientate obiect (mostenire, polimorfism, suprancarcare). Limbajul UML poseda
41

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

mecanismele de extensibilitate (restrictii, stereotipuri, note, etichete) care fac posibila specializarea modelului n functie de aspectele particulare ale sistemelor cu baze de date (flexibilitate sporita n modelare); conceptele limbajului UML propun un vocabular comun ntre modelele rezultate din proiectarea sistemului ca ansamblu si cele din proiectarea specifica bazei de date; metodologia UML (procesul unificat) favorizeaza munca n echipa: scopul folosirii UML pentru modelarea proceselor afacerii, dezvoltarii aplicatiilor si modelarii bazei de date este integrarea echipelor de dezvoltare pentru a mpiedica construirea unei arhitecturi fara implicarea corespunzatoare n acest proces a tuturor echipelor care concura la realizarea sistemului n ansamblu; integrarea instrumentelor de dezvoltare din diferitele arii de interes din care rezulta arhitectura sistemului pe baza unei platforme conceptuale comune. Instrumentele CASE bazate pe metodologii obiectuale ofereau initial suport pentru proiectarea generala a sistemului si mai putin pentru proiectarea de detaliu. Cu alte cuvinte arhitectura sistemului era sprijinita prin instrumente upper CASE destul de slab integrate cu cele lower CASE. Adoptarea UML ca limbaj de modelare a produs n acest sens doua mutatii: aparitia de noi instrumente CASE care ofera suport pentru ntreg ciclu de dezvoltare pna la obtinerea unei versiuni complete a sistemului (gen Rational Rose); integrarea de noi facilitati dedicate modelarii n mediile de dezvoltare integrate comerciale (gen suitele de dezvoltare de la Borland, Microsoft sau Oracle) cu posibilitati de proiectare vizuala din care sa rezulte componentele continnd codul sursa sau scripturile pentru generarea schemelor bazelor de date. Implicarea metodologiei UML n proiectarea bazelor de date nu constituie un pas artificial ci o integrare naturala cu procesul mai larg al construirii sistemelor informationale pe principii obiectuale.

4.6. Proiectarea bazelor de date relaionale o extensie UML


o Diagrama claselor prezint un mecanism neutru de implementare pentru modelarea aspectelor ce in de stocarea datelor sistemului. Clasele persistente, atributele acestora i relaiile dintre ele pot fi implementate direct ntr-o baz de date orientat obiect. Cu toate acestea, n prezent, bazele de date relaionale rmn modalitatea de stocare a datelor cea mai uzual. Diagrama claselor din UML permite modelarea unor aspecte specifice proiectrii bazelor de date relaionale, dar nu acoper n ntregime aceast problematic, de notat faptul c nu prevede noiunea de atribute cheie care sunt mecanismul principal de relaionare a tabelelor. Pentru a surprinde mai bine aceste aspecte este bine s se apeleze la diagrama entitate asociere (ER), n completarea setului de diagrame propus de UML. Diagrama claselor poate fi utilizat pentru a modela logic baza de date, independent de faptul c se alege o implementare relaional sau orientat obiect, prin clase reprezentndu-se tabelele, iar prin atribute coloanele acestora. Dac se alege pentru implementare un mediu relaional, atunci diagrama claselor poate fi uor translatat ntr-o diagram logic entitate asociere. Claselor persistente i atributelor acestora le corespund entitile logice i atributele lor, iar relaiilor dintre clase le corespund relaii ntre entiti.
42

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Fig. 4.2. Proiectarea BDR cu ajutorul diagramei entitate asociere

Odat ntocmit aceast diagram se poate trece la proiectarea bazei de date relaionale conform tehnicii normalizrii.

4.7. Eficiena bazelor de date


o Efectele directe i indirecte ale bazelor de date conduc spre eficien, mai ales pentru aplicaiile mari i complexe, acolo unde alte produse informatice nu fac fa.

Efectele utilizrii BD conduc spre avantajele oferite de acestea: elimin redundanele necontrolate; crete productivitatea activitii informatice; ofer suport informaional optim pentru conducere i execuie; permite interogarea datelor de ctre toate categoriile de utilizatori; conduce spre aplicaii deschise. Efortul depus pentru realizarea i ntreinerea unei BD este considerabil i de aceea investiia necesar trebuie fundamentat pentru a putea fi recuperat. Fundamentarea investiiei pentru o aplicaie cu BD se face prin studiul de fezabilitate (analiza preliminar) care va conine un studiu al costurilor i o evaluare a efortului de realizare i ntreinere. Etape care trebuie parcurse pentru stabilirea eficienei BD: 1. Studiul costurilor iniiale (de realizare) costul software-ului necesar; costul hardware-ului necesar; costul impus de trecerea de la sistemul existent la SBD; costul resurselor necesare (umane, materiale, informaionale etc.); costul consultanei tehnice. 2. Evaluarea costurilor de funcionare a BD costul de punere n funciune;
43

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

3.

costul de exploatare; costul de ntreinere i dezvoltare. Calcule de rentabilitate utilizarea unor metode specifice (exemplu: Analiza Cost Beneficiu) utilizarea unor instrumente hardware i software specializate pentru BD (cresc performana, scad portabilitatea).

4.8. Rezumat
Activitatea de realizare a unei baze de date este complex i cere un efort considerabil. De aceea, ea trebuie realizat sistematic, dup o metodologie adecvat. nainte de a se realiza o baz de date, se are n vedere organizarea acestei activiti (intrrile, memorarea datelor, protecia datelor, legturile datelor) astfel nct s se poat decide dac merit sau nu demararea aciunii respective. Dup luarea deciziei c baza de date este posibil a fi realizat, se fixeaz cteva dintre obiectivele importante ale acestei activiti: partiionarea, deschiderea, eficiena, reutilizarea, regsirea, accesul, modularizarea, protecia, redundana, independena. n continuare, pentru realizarea bazei de date, se poate urma o metodologie anume sau se pot parcurge etapele (activitile) prezentate: analiza de sistem, proiectarea noului sistem, realizarea componentelor logice, punerea n funciune, dezvoltarea. Att pe parcursul realizrii unei baze de date ct i dup aceea, trebuie avut n vedere eficiena acestei activiti. Acest lucru este important pentru c investiia pentru realizarea unei baze de date este mare i ea se recupereaz n timp. Eficena bazei de date va avea n vedere aspecte: studiul costurilor iniiale, evaluarea costurilor de funcionare, calcule de rentabilitate etc.

44

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

4.9. Teste de autoevaluare

1. n metodologia de realizare a BD diagrama entitate-asociere rezult n urma: a) analizei funcionale b) proiectrii dinamice c) analizei structurale d) analizei dinamice e) proiectrii logice 2. Eficiena unei baze de date poate fi evaluat prin: a) studiul organigramei ntreprinderii b) studiul costurilor iniiale c) calcule de rentabilitate d) calcule relaionale e) algebra relaional 3. n metodologia de realizare a BD, construirea unei viziuni (view) se face prin: a) proiectarea schemei externe b) proiectarea schemei conceptuale c) proiectarea schemei interne d) analiza logic e) analiza global 4. Obiective urmrite n realizarea unei BD sunt: a) aceleai date nu pot fi utilizate n moduri diferite b) creterea preului de cost pentru memorarea datelor c) cererile de regsire trebuie s fie doar prestabilite d) aplicaiile cu baze de date trebuie s poat reutiliza un fond de date existent deja e) redundana minim dar necontrolat

4.10. Rspunsuri i comentarii la testele de autoevaluare

1. c; 2. b, c; 3. a; 4. d;

45

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

4.11. Bibliografia unitii de nvare 4


[SIKO97] [DATE94] [MACI01] [DIAZ00] [RAGE00] [RICC01] [VELU00] [VELU01] [VELU02] A.Silbershartz, H.Korth .a. Database system concepts, ed.McGraw-Hill, 1997 J.Date An introduction to Database Systems, ed. Addison Wesley, 1994 L.Maciaszek Requirements analysis and system design developing Information systems with UML, ed.Addison Wesley, 2001 O.Diaz Advanced database technology and design, ed.Piattini, 2000 R.Ramakrishnan, J.Gehrke Database Management Systems, ed.Mc Graw Hill, 2000 G.Riccardo Principles of Database Systems - with Internet and Java Applications, ed.Addison Wesley, 2001 M.Velicanu, I.Lungu .a. Sisteme de gestiune a bazelor de date, ed.Petrion, 2000 M.Velicanu, I.Lungu, M.Muntean Dezvoltarea aplicaiilor cu baze de date n Visual Foxpro, ed. ALL, 2001 M.Velicanu, I.Lungu, M.Muntean, M.Iorga, S.Ionescu Oracle platform pentru baze de date, ed. Petrion, 2002

46

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Unitatea de nvare 5: BAZE DE DATE ORIENTATE OBIECT ( BDOO) Cuprins


5.1. Obiective 5.2. Conceptul de baze de date orientate obiect 5.3. Elemente de proiectare a BDOO 5.4. Tehnici de implementare utilizate n BDOO 5.5. Rezumat 5.6. Teste de autoevaluare 5.7. Rspunsuri i comentarii la testele de autoevaluare 5.8. Bibliografia unitii de nvare 5

5.1. Obiective
Dup studiul acestei uniti de nvare vei avea cunotine despre:

bazele de date orientate obiect (BDOO) n contextul trecerii de la sistemele relaionale la a treia generaie de baze de date; cele mai importante caracteristici specifice unei BDOO i principalele concepte utilizate la realizarea unei astfel de baze de date; proiectarea unei BDOO, conform unei anumite metodologii, care precizeaz nite pai care trebuie parcuri; o serie de tehnici utilizate pentru implementarea ntr-o BDOO a principalelor elemente care dau facilitile acestor sisteme.

Durata medie a unei uniti de studiu individual - 3 ore

5.2. Conceptul de baze de date orientate obiect


o Limitele sistemelor relaionale, n special cele referitoare la volume mari de date i complexitatea ridicat a datelor, au determinat evoluia spre sistemele orientate obiect.

47

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

o Dezvoltarea BDOO (generaia a treia de BD) a fost favorizat (ncepand cu anii `90) de urmtoarele aspecte: noul context informatic, noile tipuri de baze de date, evoluia limbajelor de programare. o Tehnologia orientat obiect const n totalitatea conceptelor, metodelor, proceselor i instrumentelor utilizate pentru construcia sistemelor cu obiecte. o Aplicarea tehnologiei orientat obiect la SBD a nsemnat avantaje privind mbuntirea structurii de date (modelul orientat obiect) i a celorlalte componente ale sistemului. a) Caracteristici ale BDOO 1. Sunt tratate n mod unitar (ca obiecte): datele, programele, comunicaia, de unde rezult independena total ntre ele. 2. Comunicaia i distribuirea sunt asigurate att ntre date, ct i ntre programe. 3. Structura de date este simplificat foarte mult, de unde rezult uurina n utilizare i portabilitatea ridicat a sistemelor rezultate. 4. Lucrul cu obiecte ne apropie firesc de lumea real, n care se gasesc obiecte, care au proprietai, asupra crora acionm noi. 5. Pot fi abordate foarte multe domenii din lumea real n care se regsesc cele mai diferite tipuri de date. 6.Se asigur: accesul neprocedural, comunicaia, portabilitatea, deschiderea aplicaiilor cu baze de date. b) Notiuni utilizate Ramn valabile toate noiunile prezentate la definirea structurii modelului OO: clase (tipuri) de obiecte, obiecte, metode, mesaje, instane, caracteristici (principii) fundamentale ale obiectelor. Programul este o secven liniara de definiri i apeluri de obiecte i clase de obiecte. BDOO este o mulime de clase de obiecte persistente (n memoria extern), organizat coerent i ordonat n ierarhii, partajat pentru utilizatorii concureni. SGBDOO este suportul software complet care asigur descrierea (structura obiectului), manipularea i protecia datelor organizate dupa modelul OO. Sinteza conceptelor din BDOO:
Lumea real se reprezint Clase de au drept (entiti fizice) prin obiecte instane Un obiect se identific prin: Obiectele conin Proprieti Domeniu (variabile de valori i stri de instan)

nume identificator metode mesaje implementare (privat) interfa (public) caracteristici fundamentale Paralel ntre noiunile utilizate n sistemele relaionale i orientate obiect: Sistem orientat Ierarhia de Clas de Obiect
48

Variabil de

Identificator

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

obiect Sistem relaional

clase Schema BD

obiecte Tabel

Tuplu

instan Atribut

Cheie

5.3. Elemente de proiectare a BDOO


o Dezvoltarea tehnologiei OO include i o serie de metodologii utilizate pentru realizarea aplicaiilor cu BDOO (exemplu: RUP). o Diferitele metodologii precizeaz etape (pai) necesare a fi parcurse pentru realizarea unei BDOO. Sintetizand, etapele din diferitele metodologii conduc la urmatoarele activiti: analiza, proiectarea, elaborarea programelor, implementarea i exploatarea . a)Analiza Rolul activitii de analiz este de a preciza universul de discurs (se identific entitile fizice i operaiile necesare). Paii parcuri la analiz sunt: o se delimiteaz universul de discurs pornind de la lumea inconjuratoare; o se identific obiectele pornind de la universul de discurs; o se clasific obiectele dupa proprieti i comportament obtinandu-se clasele de obiecte; o se identific secvenele de mesaje ctre obiecte (legturile dintre obiecte si clase de obiecte); o se determin secvenele de activiti i ciclu de via al obiectelor (modelarea). Parcurgerea pailor de mai sus se face prin reluari succesive a unor pai precedeni. Rezultatul analizei este un ansamblu de specificaii scrise n comportamentul cerut. Note.Referitor la modelele utilizate pentru analiza BDOO pot fi formulate urmtoarele afirmaii [RICC01]: 1. Modelul entitate-asociere (utilizat la BDR) a fost dezvoltat cu ierarhii de clase de entiti. Acesta este un suport natural pentru conceptele orientate obiect. 2. Modelele OO pentru analiz descriu coninutul informaiei dar i comportamentul ei (metodele care se folosesc pentru manipularea obiectelor) Un model standard este ODL (Object Definition Language produs de ODMG). Schema ODL este o colecie de definiii de interfee (se poate mapa n C++, Java). Caracteristici ale schemei ODL: - Reprezentarea claselor se face prin: Definirea clasei: nume, set de proprieti; Definirea proprietilor: atribut, metod sau legtur. - Specificarea tipurilor de legturi: Legtura binar se reprezint prin dou proprieti (cte una n fiecare clas);
49

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Legtura de un grad ridicat nu se poate reprezenta direct ci prin cele binare; Legtura se bazeaz pe identificatorul unic de obiect (OID) care este independent de valorile obiectului; Legturile nu pot fi denumite (n BDR da). - Se admit structuri ierarhice de clase, cu proprietatea de motenire. b)Proiectarea Rolul activitii de proiectare este de a furniza metode pentru reprezentarea obiectelor identificate la analiz. Metode pentru proiectarea BDOO: diagrama obiectelor, specificaiile obiectelor. 1. Diagrama obiectelor: numele proprietilor obiectelor se scriu ntr-un dreptunghi, iar sub acesta se scrie cu litere mari numele obiectului. Numele proprietilor se scriu cu litere mici, iar dac o proprietate este la randul ei obiect atunci se scrie cu litere mari. Orice proprietate, care nu este obiect, poate lua o mulime de valori ( domeniul de valori) i se descrie prin: tip, lungime, restricii. Daca proprietatea este un obiect atunci domeniul este reprezentat de o mulime de instane de obiecte (obiecte particulare). Viziunea (view) reprezinta ansamblul proprietilor vzute de un utilizator din totalul celor existente ntr-un obiect. Metoda diagramei d o imagine grafic a structurii obiectelor i a legaturilor dintre ele. 2. Specificaiile obiectelor: liste de propoziii explicative care conin informaii despre structura obiectelor i a legturilor dintre ele. Listele, ordonate dup diferite criterii, pot fi de forma: -definiii ale obiectelor ; -enumerarea obiectelor i a proprietilor acestora ; -enumerarea domeniilor i definiii ale acestora; -descrieri semantice ale obiectelor; -restricii asupra obiectelor. Not: n procesul de proiectare a BDOO obiectele pot fi grupate: - simple sunt cele care au proprieti cu o singura valoare (domeniu cu o valoare) i au proprieti care nu sunt obiecte - compozite sunt cele care au cel puin o proprietate cu valori multiple i au proprieti care nu sunt obiecte - compuse sunt cele care au cel puin o proprietate care este obiect; - asociate sunt obiectele independente care au rolul de a stabili o legatura ntre alte obiecte (apar ca proprieti ale obiectelor care le leag); - agregate sunt obiectele care reprezint grupuri de entiti i conin proprieti de grup ce se transmit tuturor instanelor subclaselor (motenirea). c)Elaborarea programelor Programele pentru definirea i manipularea obiectelor se scriu ntr-un SGBDOO (exemplu O2, Jasmine etc.) , care conin limbaje de programare orientate obiect.
50

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

Elaborarea programelor se desfoar pe baza specificaiilor obtinute prin activitatea de proiectare a BDOO. Programele sunt secvene liniare de descrieri de obiecte i de apeluri de obiecte (mesaje). n SBDOO se folosete intens reutilizarea programelor. d) Implementarea i exploatarea Implementarea i exploatarea sunt activiti care au rolul de a pune n funciune o BDOO la parametrii proiectai. n cazul unor disfuncionaliti se revine la o activitate precedent i se produce o nou versiune a BDOO.

5.4. Tehnici de implementare utilizate n BDOO


o La realizarea unei BDOO se va ine cont de mai multe elemente, care trebuie implementate prin diferite tehnici. Cteva dintre aceste tehnici sunt prezentate n continuare. Vom specifica denumirea tehnicii i apoi o scurt explicaie la fiecare. 1. Gestiunea mediului limbajului de programare: trebuie asigurat tratarea conceptelor modelului orientat obiect prin limbaje de programare corespunzatoare. 2. Reprezentarea obiectelor: modelul utilizat poate fi simplu (obiecte mici i puine) sau complex (obiecte mari i multe structurate). 3. Gestiunea persistenei : se descriu i manipuleaza date permanente (persistente), n acelai mod cu cele temporare. Persistena se asigura prin : - tipaj, adic numai anumite tipuri (clase) de obiecte pot deveni persistente; - conectivitate, adic numai obiectele care rezult (direct sau indirect) din alte obiecte persistente vor deveni persistente; - stocaj, adic toate obiectele plasate ntr-un spaiu explicit declarat, devin persistente. 4. Gestiunea memoriei : obiectele pot fi memorate att n memoria intern ct i n cea extern. Identificatorul (logic sau fizic) de obiect joac un rol important privind localizarea obiectului n memorie. 5. Extensibilitatea: trebuie s se permit noi structuri de date n BDOO creat deja. 6. Distribuirea: trebuie s se permita lucrul distribuit n reea i s se separe prelucrarea (consum memorie interna ) de stocarea (consum memorie externa) obiectelor. 7. Gestiunea versiunilor: trebuie pstrate strile succesive ale obiectelor i evoluia lor n timp. 8. Gestiunea obiectivelor traditionale ale unei BD.

51

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

5.5. Rezumat
Se definete noiunea de baze de date orientate obiect (BDOO) n contextul trecerii de la sistemele relaionale la a treia generaie de baze de date. Sunt prezentate cteva caracteristici specifice unei BDOO i principalele concepte utilizate la realizarea unei astfel de baze de date. Proiectarea unei BDOO se face conform unei anumite metodologii, care precizeaz nite pai care trebuie parcuri. Sinteza acestori pai ne conduce spre o serie de activiti care se regsesc n procesul de realizare a unei BDOO: analiza, proiectarea, elaborarea programelor, implementarea i exploatarea. Fiecare dintre aceste activiti este prezentat pe scurt, precizndu-se rolul ei, o descriere, precum i eventualele metode utilizate. n finalul capitolului sunt prezentate cteva dintre tehnicile utilizate pentru implementarea ntr-o BDOO, a principalelor elemente care dau facilitile acestor sisteme.

5.6. Teste de autoevaluare


5. Caracteristici ale BDOO sunt: a) permite abordarea unui domeniu limitat de tipuri de date b) structura de date este mult complicat c) independena datelor fa de programe este parial d) se trateaz n mod unitar datele, programele i comunicaia e) asigur comunicaia att ntre date ct i ntre programe 6. La proiectarea unei BDOO se pot utiliza metodele: a) diagrama obiectelor b) specificaiile obiectelor c) normalizarea d) diagramele de dependen e) distribuirea obiectelor 7. Tehnici de implementare a BDOO sunt: a) portabilitatea, partiionarea b) gestiunea mediului, reprezentarea obiectelor c) gestiunea persistenei, gestiunea memoriei d) extensibilitatea, distribuirea major e) flexibilitatea, portabilitatea

5.7. Rspunsuri i comentarii la testele de autoevaluare

1. d, e; 2. a, b; 3. b, c.

52

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA DE CIBERNETIC, STATISTIC I INFORMATIC ECONOMIC CATEDRA DE INFORMATIC ECONOMIC

5.8. Bibliografia unitii de nvare 5


[EMBL98] [DATE94] [MACI01] [RICC01] [DIAZ00] [VELU02] [VELU01] D.Embley Object database development, ed.Addison Wesley, 1998 J.Date An introduction to Database Systems, ed. Addison Wesley, 1994 L.Maciaszek Requirements analysis and system design - developing Information systems with UML, ed.Addison Wesley, 2001 G.Riccardo Principles of Database Systems - with Internet and Java Applications, ed.Addison Wesley, 2001 O.Diaz Advanced database technology and design, ed.Piattini, 2000 M.Velicanu, I.Lungu, M.Muntean, M.Iorga, S.Ionescu Oracle platform pentru baze de date, ed. Petrion, 2002 M.Velicanu, I.Lungu, M.Muntean Dezvoltarea aplicaiilor cu baze de date n Visual Foxpro, ed. ALL, 2001

53

You might also like