Baze Date Economie Lupasc

Embed Size (px)

Citation preview

Universitatea Dunrea de Jos Galai

Baze de date aplicate n economieLect. dr. Lupac Adrian

Departamentul pentru nvmnt la Distan i cu Frecven Redus Galai - 2008

CUPRINSCapitolul I Fundamente ale bazelor de date............................................................3Ce este baza de date? .........................................................................................................4 Arhitecturi ale sistemelor de baze de date .......................................................................6

Capitolul II Proiectarea i administrarea unei baze de date.................................13Ciclul de via al sistemelor informaionale...................................................................14 Ciclul de via al unui sistem de baze de date................................................................14 Proiectarea bazelor de date .............................................................................................17Proiectarea conceptual ...............................................................................................................17 Proiectarea logic ........................................................................................................................17 Proiectarea fizic .........................................................................................................................19

Proiectarea tranzaciilor..................................................................................................19

Capitolul III Sisteme de gestiune a bazelor de date ..............................................24Evoluia sistemelor de gestiune a bazelor de date .........................................................24 Faciliti oferite de un SGBD ..........................................................................................27 Avantajele i dezavantajele SGBD-urilor ......................................................................29 Componentele unui SGBD...............................................................................................35 Funciile SGBD-ului .........................................................................................................36

Capitolul IV Abordarea relaional a bazelor de date ..........................................43Regulile lui Codd ..............................................................................................................43 Fundamente ale modelului relaional .............................................................................45 Legturi ntre relaii.........................................................................................................50Legtura binar 1-1 (unu la unu) .................................................................................................51 Legtura binar 1-n (unu la mai muli)........................................................................................52 Legtura binar n-n (mai muli la mai muli) ..............................................................................53 Legtura dintre trei sau mai multe relaii.....................................................................................55

Algebra relaional operatorii relaionali ...................................................................56 Probleme rezolvate ...........................................................................................................63

Bibliografie ................................................................................................................73

Fundamente ale bazelor de date

Capitolul I Fundamente ale bazelor de date

**************************************************************************************** Obiectivele capitolului Capitolul I Fundamente ale bazelor de date prezint evoluia i ascensiunea pn n prezent a domeniului bazelor de date i realizeaz o descriere succint a aspectelor de baz care caracterizeaz domeniul. n acest context, am ncercat s poziionm teoria bazelor de date n cadrul tehnologiilor informaionale, am prezentat cteva definiii relevante ale conceptului de baz de date formulate de cercettori i profesori care s-au remarcat cu preocupri nsemnate n cadrul domeniului i au fost identificate i analizate principalele arhitecturi specifice sistemelor de baze de date. Totodat, principalul scop avut n vedere este de a oferi o viziune clar i o nelegere general a ceea ce reprezint astzi baza de date. **************************************************************************************** Tehnologiile informaionale influeneaz continuu i produc modificri substaniale asupra mijloacelor de lucru din ntreaga lume. Informaii care erau altdat stocate n depozite pline de dulapuri, pot fi accesate astzi prin intermediul unei singure apsri a butonului mouse-ului. Astfel, pentru stocarea informaiilor din orice mediu imaginabil n zilele noastre sunt folosite sistemele de baze de date. De la bazele de date mari, aa cum sunt sistemele care permit rezervarea on-line a biletelor pentru companiile aeriene i pn la fiele dintr-o bibliotec, sistemele de baze de date sunt folosite pentru memorarea i distribuirea datelor de care ncep s depind tot mai mult vieile noastre. Pn n urm cu civa ani, sistemele mari de baze de date se gseau numai pe calculatoare de tip mainframe 1 . ns, aa cum era i firesc, proiectarea, achiziionarea sau ntreinerea unei astfel de maini reprezenta o sarcin costisitoare i dificil de realizat. Odat cu apariia calculatoarelor din clasa staiilor de lucru, pe care le ntlnim la tot pasul (biblioteci, laboratoare de informatic, departamente de lucru, etc.) i care sunt puternice i n acelai timp destul de ieftine, programatorii au posibilitatea de a proiecta rapid i la costuri reduse produse informatice care s permit ntreinerea i distribuirea datelor.

Mainframe reprezint un tip de calculator de mare putere care este utilizat cel mai adesea pentru gestiunea bazelor de date de dimensiuni foarte mari, precum i a altor aplicaii asemntoare, care necesit o capacitate de stocare foarte mare i o interaciune puternic cu un numr mare de utilizatori, concretizat printr-un volum foarte mare de comunicaii de date.

1

Baze de date aplicate n economie

3

Fundamente ale bazelor de date Cercetarea aferent bazelor de date are aproape 35 de ani de istorie, ani care au condus n mod inevitabil la cele mai relevante i importante dezvoltri ale ingineriei software. n mod natural, tehnologiile specifice bazelor de date, arhitecturile i cadrele conceptuale au fost tot mai bine consolidate n ultimile decade. Mai mult, n ultimii ani, managementul bazelor de date a evoluat astfel nct bazele de date au devenit o component cheie a sistemelor informaionale moderne. Acest aspect a provocat un impact adnc precum i modificri semnificative n modul de lucru al instituiilor i organizaiilor, contribuind ntr-o msur relevant la adoptarea celor mai adecvate decizii care s le poat garanta succesul n afaceri i nu numai. n acest context, este important s menionm anumii factori care au contribuit la aceast explozie: noile tehnici i instrumente de modelare, cele mai importante, fiind cele care se bazeaz pe o gndire orientat obiect, apariia procesrii de tipul client-server, diminuarea semnificativ a preurilor aferente att componentei hardware ct i a celei software i, nu n ultimul rnd, necesitatea unei administrri eficiente i corecte a cantitilor tot mai mari de informaii care caracterizeaz activitile fiecrei organizaii din zilele noastre. n prezent, bazele de date fac parte tot mai mult din viaa noastr de zi cu zi n aa msur, nct uneori nici mcar nu mai contientizm c le utilizm. Atunci cnd cumprm ceva de la un supermarket, probabil c va fi accesat o baz de date. Casierul va trece un cititor de coduri de bare peste fiecare dintre articolele pe care le achiziionm. Acesta este conectat la un sistem informatic pentru baze de date, care utilizeaz codul de bare pentru a identifica preul produsului pe care l-am ales, evident dintr-o baz de date care gestioneaz produsele. De asemenea, dac stocul pentru un produs scade sub o anumit limit, este posibil ca sistemul s emit n mod automat o comand ctre un furnizor, pentru a obine un stoc suplimentar din acel articol. Atunci cnd vizitai o bibliotec (!dac se mai ntmpl acest lucru) constatai c exist o baz de date care conine informaii detaliate despre crile care formeaz fondul de carte al bibliotecii. Practic, pentru a prentmpina anumite cerine, aceste sisteme se bazeaz pe un index computerizat care permite cititorului s identifice o carte dup titlu, autor sau subiectul acesteia. Ce este baza de date? Majoritatea bazelor de date iau natere ncepnd cu o list ntr-un editor de texte sau ntr-o foaie de calcul. La momentul respectiv, suntem tentai s credem c a fost aleas cea mai bun soluie, att timp ct necesitile informaionale sunt satisfcute, este adevrat, n contextul unei cantiti reduse de informaii. n timp ns, acest volum crete (spre exemplu, odat cu creterea activitii unei organizaii, ceea ce face ca soluiile (privite iniial ca fiind cele mai adecvate) s nu mai fie potrivite. Mai mult, pe msur ce lista devine tot mai mare, ncep s apar redundane i inconsistene la nivelul datelor gestionate. Datele devin greu de neles sub forma listei, iar posibilitile de cutare, regsire i extragere a subseturilor de date pentru revizuire, actualizare sau utilizare devin extrem de limitate. Odat cu apariia acestor probleme, o idee bun, chiar o necesitate n anumite situaii, ar fi aceea al transferului acestor date ntr-o baz de date creat cu ajutorul unui sistem de gestiune al bazelor de date. 4 Baze de date aplicate n economie

Fundamente ale bazelor de date n prezent ne este tot mai clar faptul c explozia informaional este de ani buni trstura definitorie care caracterizeaz activitile fiecrei organizaii sau instituii, indiferent de domeniul su de activitate. Volumul tot mai nsemnat de informaii nu mai poate fi utilizat eficient cu ajutorul mijloacelor tradiionale. Practic, constatm c procesul de prelucrare automat a datelor prin intermediul sistemelor electronice de calcul a devenit o necesitate pentru majoritatea domeniilor de activitate. n acest context, putem afirma c cea mai evoluat metod de organizare a datelor n vederea prelucrrii lor automate o ntlnim la bazele de date. n literatura de specialitate exist numeroase definiii aferente conceptului de baz de date. n continuare vom prezenta cteva dintre ele, care, n opinia noastr, acoper cel mai bine conceptul de baz de date. O baz de date conine toate informaiile necesare despre obiectele ce intervin ntr-o mulime de aplicaii, relaii logice ntre aceste informaii i tehnicile de prelucrare corespunztoare. n bazele de date are loc o integrare a datelor, n sensul c mai multe fiiere sunt privite n ansamblu, eliminnduse pe ct posibil acele informaii redundante. De asemenea, este permis accesul simultan la aceleai date, care se regsesc n acelai loc sau sunt distribuite spaial, a mai multor persoane de pregtiri diferite, fiecare cu stilul personal de lucru [Bsc, 1997, p.11]. Referitor la definiia prezentat anterior, putem spune c avem unele reineri n ceea ce privete utilizarea conceptului de informaie. Astfel, autorul vede baza de date ca un ansamblu de informaii, prere pe care o mprtim parial i numai n cazul n care se face referire la baza de date n general, dar nu i la o baz de date relaional. Este cert faptul c atunci cnd facem referire la baza de date relaional, nu putem vorbi de informaii, ci numai de date. Totodat, putem privi baza de date ca ansambluri unitare de date, structurate, corelate logic ntre ele i memorate mpreun cu descrierea formal a structurii lor i a legturilor logice dintre ele, a crui gestionare este realizat de un sistem software unitar i specializat, numit sistem de gestiune a bazei de date [Georgescu, Georgescu, 2005, p.63]. O definiie complet i explicativ a noiunii de baz de date este oferit n [Velicanu et al., 2003, p.51]. Astfel, aceasta reprezint un ansamblu de colecii de date: organizat, pe niveluri de organizare a datelor (conceptual, logic, fizic), aa cum reiese i din arhitectura pe niveluri a unui sistem de baze de date; coerent, conform restriciilor de integritate i a legturilor dintre date, care rezult din modelul logic aferent; structurat, conform unui model de date pentru bazele de date; cu redundan minim i controlat, care este asigurat prin modelul de date implementat i prin tehnicile de proiectare ale bazei de date; accesibil mai multor utilizatori n timp real, adic mai muli utilizatori, concomitent, pot obine informaiile dorite atunci cnd au nevoie de ele.

Profesorul M. Fotache prezint i analizeaz o definiie academic a bazei de date. Astfel, n opinia acestuia, baza de date reprezint un ansamblu structurat de fiiere care grupeaz datele prelucrate n aplicaiile informatice ale unei persoane, grup de persoane, ntreprinderi, instituii, etc. 5 Baze de date aplicate n economie

Fundamente ale bazelor de date Din punct de vedere formal, definete baza de date ca o colecie de date aflate n interdependen, mpreun cu descrierea datelor i relaiilor dintre ele sau, similar, o colecie de date folosit ntr-o organizaie, colecie care este automatizat, partajat, definit riguros (formalizat) i controlat la nivel central [Fotache, 2005, p.14]. Plecnd de la definiiile prezentate anterior, putem afirma c o baz de date relaional reprezint o colecie partajat de date, ntre care exist diferite legturi logice (mpreun cu o descriere a acestora), proiectat pentru a satisface necesitile informaionale ale fiecrei organizaii. Totodat, putem privi o baz de date ca un instrument pentru organizarea i colectarea tuturor informaiilor, astfel nct s se satisfac toate necesitile informaionale ale utilizatorilor ei. Definiia prezentat anterior trebuie analizat n detaliu pentru a putea fi n msur s dobndim o mai bun nelegere a conceptului de baz de date. Baza de date reprezint un depozit de date unic, larg, care este definit o singur dat i este utilizat simultan de diferite departamente sau utilizatori. Aceast soluie substituie crearea mai multor fiiere separate cu date de cele mai multe ori considerate a fi redundante i presupune integrarea tuturor datelor necesare, dublarea lor fiind n acest caz minimal. De aici decurge un prim avantaj semnificativ: baza de date nu mai este deinut de un singur departament, ci constituie acum o resurs comun, partajat. Pe de alt parte, baza de date conine nu numai datele operaionale ale unei organizaii sau instituii, ci i o descriere a acestora, ntlnite n literatur sub denumirea de metadate (date despre date). Atunci cnd analizm necesitile informaionale ale unei organizaii, avem n vedere n principal identificarea entitilor, atributelor i relaiilor. Putem privi o entitate ca un obiect distinct (o persoan, un departament, un concept sau un eveniment) care aparine unei organizaii i care trebuie reprezentat n baza de date. Atributul este o proprietate care descrie un aspect oarecare al obiectului pe care dorim s-l nregistrm, iar relaia se refer la o asociaie ntre diferite entiti. Astfel, putem spune c baza de date conine entitile, atributele, dar i relaiile (legturile) logice dintre ele. n capitolul 4 vom arta cum se concretizeaz din punct de vedere practic legturile logice dintre relaii, prin introducerea conceptului de cheie strin. Arhitecturi ale sistemelor de baze de date n literatura de specialitate sunt prezentate mai multe tipuri de arhitecturi ale sistemelor de baze de date. Nou ne-au atras atenia cele prezentate n [Velicanu et al., 2003, p.13]. Astfel, conform autorilor, rolul unei arhitecturi este de a realiza o reprezentare grafic a elementelor sistemului, precum i a legturilor dintre ele. n funcie de ceea ce se evideniaz grafic, se folosesc dou tipuri de arhitecturi: 1. arhitectura pe componente ofer o imagine asupra elementelor care formeaz un sistem de baze de date, dar i a inter-dependenelor dintre ele, aa cum se poate observa n figura 1.1.

6

Baze de date aplicate n economie

Fundamente ale bazelor de date

Date

Software

Elemente auxiliare

Figura 1.1. Arhitectura pe componente a unui sistem de baze de date

Aa cum se observ, componentele specifice arhitecturii din figura 1.1 sunt: a. datele sunt organizate ntr-o baz de date care conine: colecii de date propriu-zise; dicionarul de date (structura de date, restriciile de integritate, vederile, etc.); fiierele anexe, aa cum sunt cele de index.

b. software-ul este aferent realizrii i exploatrii bazei de date i conine: sistemul de gestiune a bazei de date; programele de aplicaie dezvoltate, n cea mai mare parte, ntr-un sistem de gestiune a bazelor de date.

c. elementele auxiliare sunt componentele care contribuie la realizarea i funcionarea ntregului sistem de baze de date: 1. un set de proceduri automate (rutine) i manuale; 2. reglementri legale i administrative; 3. mijloace hardware utilizate; 4. persoane implicate pe categorii de utilizatori. 2. Arhitectura pe niveluri structureaz un sistem de baze de date pe trei niveluri i ofer o imagine despre modul de organizare i funcionare al acestuia (figura 1.2).

Baze de date aplicate n economie

7

Fundamente ale bazelor de dateVederi ale bazei de date

Manipulare date

Descriere date

Niveluri de organizare date

Programator de aplicatie

Program aplicatie 1

...

Structura externa (logica)

...

Logic

Administrator baza de date

SGBD S.O.

Structura conceptuala

...

Conceptual

Inginer (analist) de sistem

Baz de date

Structura interna (fizica)

Fizic

Figura 1.2. Arhitectura pe niveluri a unui sistem de baze de date

n arhitectura prezentat n figura 1.2 sunt redate nivelurile de organizare (reprezentare) a datelor n baza de date i legturile dintre ele: nivelul conceptual, nivelul logic i nivelul fizic. a. nivelul conceptual este dat de viziunea administratorului bazei de date asupra datelor. Legat de acest nivel, se pot meniona urmtoarele aspecte: administratorul realizeaz structura conceptual a bazei de date, eventual cu ajutorul instrumentelor oferite de un SGBD2; structura conceptual se obine utiliznd un anumit model de date pentru baza de date, precum i o tehnic de proiectare ct mai adecvat; structura conceptual este o reprezentare n interiorul sistemului a realitii pe care baza de date o transcrie; viziunea administratorului asupra bazei de date este independent de aplicaiile care vor fi dezvoltate (independena logic); rezultatul nivelului conceptual este schema conceptual; realizarea schemei corespunde unei activiti de modelare pentru c este vorba despre o transpunere n termeni abstraci a entitilor lumii reale; odat definit, schema conceptual trebuie confruntat cu lumea real pentru identificarea i soluionarea neconcordanelor sau a omisiunilor; datorit caracterului su global i unitar, se recomand ca schema conceptual s fie gestionat de o singur persoan [Georgescu, Georgescu, 2005, p.67].

2

SGBD Sistem de Gestiune a Bazelor de Date

8

Baze de date aplicate n economie

Fundamente ale bazelor de date b. nivelul logic este dat de viziunea programatorului asupra datelor. Legat de acest nivel se pot prezenta urmtoarele aspecte: programatorul realizeaz programele de aplicaie pentru descrierea i manipularea datelor, scrise ntr-un SGBD; programele implementeaz structura extern (logic) a datelor; structura extern este dedus din structura conceptual; structura extern reprezint viziunea programatorului asupra bazei de date pentru o anumit aplicaie; viziunea programatorului este independent de suportul tehnic de informaie (independena fizic); rezultatul nivelului logic este schema extern, ca parte din schema conceptual, implementat cu ajutorul unui SGBD.

c. nivelul fizic este dat de viziunea analistului (inginerului) de sistem asupra datelor i are rolul de a descrie modul n care sunt stocate datele n baza de date. Aferent nivelului fizic putem meniona urmtoarele: analistul de sistem este cel cruia i revine sarcina de a realiza structura intern (fizic); structura intern este dedus din cea extern conform unor tehnici i metode de alocare pe suport fizic; structura intern corespunde descrierii datelor pe suportul fizic de informaie; rezultatul la nivelul fizic este schema intern (fizic) care se definete n termeni de fiiere i nregistrri; implementarea schemei interne se face cu ajutorul sistemului de gestiune a fiierelor (SGF) din cadrul SGBD-ului i/sau din sistemul de operare, prin gestiunea fizic a perifericelor. Perspective asupra unei baze de date Fiecare baz de date o putem privi din diferite perspective, cum ar fi: perspectiva utilizatorului, care lucreaz cu diferite pri componente ale unei baze de date, numite vederi. Vederile sunt descrise prin intermediul unor subscheme n sublimbaje ale limbajului de descriere a datelor (LDD). Totodat, utilizatorii pot primi rspunsuri la cererile pe care le formuleaz prin intermediul limbajului de prelucrare a datelor; perspectiva administratorului bazei de date, care integreaz toate vederile referitoare la baza de date ntr-un singur model numit schem conceptual. Practic, aceast schem conceptual constituie nivelul logic al bazei de date; perspectiva implementatorului bazei de date n foarte multe situaii, el coincide cu administratorul bazei de date, care privete baza de date ca pe o colecie de fiiere memorate pe diferite medii externe. Acesta constituie nivelul fizic al bazei de date i care este practic singurul nivel care exist efectiv. Baze de date aplicate n economie 9

Fundamente ale bazelor de date ntrebri recapitulative 1. Ce reprezint o baz de date? 2. Menionai factorii care au permis domeniului bazelor de date s devin o component cheie a sistemelor informaionale moderne. 3. Identificai principalele motive care determin trecerea de la o organizare a datelor sub forma foilor de calcul Excel la cea sub forma bazei de date. 4. Definii conceptul de entitate. 5. Definii conceptul de atribut. 6. Care sunt componentele specifice arhitecturii pe componente? 7. Prezentai rolul nivelului conceptual aferent arhitecturii pe niveluri. 8. Prezentai rolul nivelului logic aferent arhitecturii pe niveluri. 9. Prezentai rolul nivelului fizic aferent arhitecturii pe niveluri. 10. Cror viziuni corespund cele trei niveluri ale arhitecturii pe niveluri? Teste gril 1. Printre factorii care au contribuit la adoptarea n mas a sistemelor de baze de date se numr: a. necesitatea unei administrri mai eficiente a unei cantiti mai mari de informaii; b. creterea semnificativ hardware i software; a preurilor aferente componentelor

c. apariia tehnicilor bazate pe gandirea orientat-obiect; d. dezvoltarea prelucrrilor bazate pe tehnologia client-server. 2. Referitor la o baz de date relaional, putem afirma c va conine: a. colecii organizate de date ntre care pot exista diferite legturi; b. colecii organizate de date ntre care pot exista legturi, iar dac exist, ele sunt legturi logice; c. colecii organizate de date fr legturi logice; d. colecii organizate de date ntre care exist legturi logice. 3. Componenta software specific arhitecturii pe componente a unui sistem de baze de date poate conine: a. dicionarul de date; b. sistemul de gestiune al bazei de date; c. datele; d. fiierele anex.

10

Baze de date aplicate n economie

Fundamente ale bazelor de date 4. Elementele auxiliare specifice arhitecturii pe componente se refer la: a. realizarea i funcionarea ntregului sistem de baze de date; b. programe de aplicaii dezvoltate ntr-un sistem de gestiune a bazelor de date; c. realizarea i exploatarea bazei de date; d. structura datelor, restriciile de integritate i vederile unei baze de date. 5. Nivelul conceptual specific arhitecturii pe niveluri se refer la: a. viziunea administratorului bazei de date asupra datelor; b. viziunea programatorului asupra datelor; c. viziunea utilizatorului asupra modului de proiectare a bazei de date; d. viziunea administratorului, al programatorului i al utilizatorului asupra modului de proiectare a bazei de date. 6. n cadrul arhitecturii pe niveluri, la nivel logic: a. programatorul realizeaz programele de aplicaie descrierea i manipularea datelor, scrise ntr-un SGBD; pentru

b. viziunea programatorului este independent de suportul tehnic de informaie; c. viziunea administratorului asupra bazei de date este independent de aplicaiile care vor fi dezvoltate; d. implementarea schemei interne se face cu ajutorul sistemului de gestiune a fiierelor din cadrul SGBD-ului i/sau din sistemul de operare, prin gestiunea fizic a perifericelor. 7. Independena logic se refer la faptul c: a. viziunea programatorului asupra bazei de date este independent de aplicaiile care vor fi dezvoltate; b. viziunea administratorului asupra bazei de date este independent de aplicaiile care vor fi dezvoltate; c. viziunea utilizatorului final asupra bazei de date este independent de aplicaiile care vor fi dezvoltate; d. viziunea programatorului i al administratorului asupra bazei de date este independent de aplicaiile care vor fi dezvoltate. 8. Independena fizic se refer la faptul c: a. viziunea administratorului bazei de date este independent de suportul tehnic de informaie; b. viziunea programatorului i al administratorului bazei de date este independent de suportul tehnic de informaie; c. viziunea programatorului este independent de suportul tehnic de informaie; d. independena fizic se realizeaz indiferent de programatorului, utilizatorului sau a administratorului. Baze de date aplicate n economie viziunea

11

Fundamente ale bazelor de date 9. Nivelul fizic aferent arhitecturii pe niveluri se refer la: a. viziunea analistului de sistem asupra datelor i descrie modul n care ele sunt stocate n baza de date; b. viziunea inginerului de sistem asupra datelor, dar nu descrie modul n care sunt stocate datele n baza de date; c. viziunea inginerului de sistem asupra datelor i descrie modul n care sunt stocate datele n baza de date; d. viziunea administratorului bazei de date asupra datelor. 10. Independena logic este specific: a. nivelului logic; b. nivelului conceptual; c. nivelului fizic; d. independena logic este specific nivelului conceptual sau nivelului logic, n funcie de modul de proiectare al bazei de date.

12

Baze de date aplicate n economie

Proiectarea i administrarea unei baze de date

Capitolul II Proiectarea i administrarea unei baze de date

**************************************************************************************** Obiectivele capitolului Proiectarea i administrarea sistemelor de baze de date reprezint o sarcin dificil i important n cadrul ciclului de via al unui sistem informatic care are drept scop gestionarea i utilizarea unui anume volum de date stocate prin intermediul acestora. n acest context, capitolul II Proiectarea i administrarea unei baze de date urmrete atingerea urmtoarelor obiective: identificarea i definirea principalelor caracteristici ale ciclului de via al unui sistem de baze de date; detalierea procesului de proiectare a unei baze de date; prezentarea tipurilor de proiectare: conceptual, logic i fizic; definirea i proiectarea tranzaciilor.

**************************************************************************************** n prezent observm c avalana produselor software o depete net pe cea a componentelor hardware. ns, din pcate, dac privim evoluia n timp a dezvoltrii sistemelor software constatm c nu este impresionant. n ultimile decade am observat o expansiune a aplicaiilor software, de la cele mici i relativ simple i care presupuneau cteva linii de cod, pn la cele mari, destul de complexe i care presupuneau scrierea a milioane i milioane de linii de cod. ns, n mod normal, aceste aplicaii necesitau i o ntreinere constant, care urmrea n primul rnd corectarea erorilor detectate, mbuntirea funcionalitii prin implementarea altor cerine care veneau din partea utilizatorului. Totodat, aceast ameliorare avea n vedere i adaptarea acestor aplicaii la platforme multiple, astfel nct, indiferent de locul n care rula aplicaia, funcionalitatea ei s nu fie afectat. Toate aceste aspecte specifice ntreinerii au condus la un consum tot mai nsemnat de resurse, iar rezultatul nu a ntrziat s apar: multe proiecte importante se aflau n ntrziere, bugetul alocat lor devenea constant insuficient, ntreinerea se face tot mai greu, iar performanele ntrziau s apar (cam 80-90% din sisteme nu-i atingeau scopul). Practic, aceast situaie a condus la ceea ce se numea la vremea respectiv criza de software. Printre principalele motive care au stat la baza acestei crize putem aminti: lipsa specificaiilor complete referitoare la cerine, a unei metodologii adecvate de realizare, dar i proasta partiionare a proiectrii n componente uor de manevrat. Astfel, ca o soluie care s permit ieirea din criz i Baze de date aplicate n economie 13

Proiectarea i administrarea unei baze de date soluionarea problemelor menionate anterior, a fost propus o nou abordare structurat privind dezvoltarea produselor software, numit ciclu de via al sistemelor informaionale.

Ciclul de via al sistemelor informaionale Putem privi sistemul informaional ca un ansamblu de fluxuri i circuite informaionale, organizate ntr-o concepie unitar i care asigur legtura dintre sistemul decizional (de conducere) i cel operaional (de execuie). Trebuie menionat faptul c nu trebuie s confundm sistemul informaioanal cu cel informatic (din pcate, am constatat c exist studii sau preri care le privesc pe cele dou ca fiind unul i acelai lucru). Astfel, sistemul informatic reprezint un ansamblu structurat de elemente intercorelate funcional, utilizat pentru culegerea, prelucrarea, transmiterea i stocarea datelor cu ajutorul mijloacelor automate de prelucrare a datelor. Scopul acestuia este de a automatiza procesul informaional i de a sta la baza fundamentrii deciziilor. n plus, sistemul informatic este inclus n cel informaional i i ofer acestuia noi valene, att sub aspect calitativ, ct i cantitativ. Acest lucru se realizeaz prin implementarea de ctre sistemul informatic a unor modele matematice i prin utilizarea tehnicii electronice de calcul. ncepnd cu anii 70, treptat, sistemele de baze de date le-au luat locul celor bazate pe fiiere, ca parte a infrastructurii sistemelor informaionale din cadrul unei organizaii. n acelai timp, a avut loc o recunoatere treptat a faptului c datele constituie o resurs comun, important, vital n anumite situaii, care trebuie tratat cu respect, ca toate celelalte resurse ale organizaiei. Acest aspect a avut ca rezultat crearea unor departamente funcionale denumite administrarea datelor i administrarea bazelor de date, care erau responsabile cu administrarea i controlul datelor. Astfel, considerm c baza de date este o component de baz a unui sistem informaional, iar dezvoltarea i utilizarea sa trebuie privite i analizate din perspectiva cerinelor mai largi ale organizaiei. n acest context, ciclul de via al sistemului informaional dintr-o organizaie este puternic legat de ciclul de via al sistemului de baze de date care l susine. De obicei, etapele aferente ciclului de via al unui sistem informaional includ: planificarea, analiza cerinelor, proiectarea (inclusiv a bazei de date), prototipizarea, implementarea i ntreinerea.

Ciclul de via al unui sistem de baze de date Etapele specifice ciclului de via al unei aplicaii de tip baz de date sunt prezentate n figura 2.1. Trebuie menionat c etapele ciclului de via ale unei astfel de aplicaii nu sunt strict secveniale, ci pot presupune revenirea la o etap anterioar i repetarea lor. Spre exemplu, dac apar anumite probleme n timpul proiectrii bazei de date, se poate reveni la etapa anterioar care are drept obiectiv colectarea i analiza cerinelor.

14

Baze de date aplicate n economie

Proiectarea i administrarea unei baze de date

Planificarea bazei de date

Delimitarea granitelor sistemului

Colectarea si analiza cerintelor

Proiectarea bazei de date Proiectarea conceptuala Alegerea SGBD-ului Proiectarea logica Proiectarea aplicatiei

Proiectarea fizica

Prototipizarea

Implementarea

Testarea

ntretinere operationala

Figura 2.1. Ciclul de via al unei aplicaii de tip baz de date

Principalele activiti asociate fiecrei etape din ciclul de via al aplicaiei de tip baz de date sunt: planificarea bazei de date presupune planificarea modului n care etapele ciclului de via pot fi realizate cel mai eficient; delimitarea granielor sistemului se refer la specificarea scopului i limitelor aplicaiei, a utilizatorilor si i a domeniilor de aplicaie. nainte de a ncepe proiectarea unei aplicaii de tip baz de date, este foarte important s definim limitele (graniele) sistemului avut n vedere i modul n care acesta realizeaz interfaa cu alte pri ale sistemului informaional al organizaiei. Practic, includerea i delimitarea granielor 15 Baze de date aplicate n economie

Proiectarea i administrarea unei baze de date unui sistem este o etap important, nu numai pentru utilizatorii i aplicaiile curente, ci i pentru cele din viitor; colectarea i analiza cerinelor are n vedere analiza cerinelor colectate de la utilizatori, dar i a domeniilor de aplicaie. Mai precis, aceast etap vizeaz procesul de culegere i analiz a informaiilor aferente organizaiei pentru care se proiecteaz baza de date respectiv, dar i utilizarea acestora n vederea identificrii cerinelor utilizatorilor privind noul sistem; proiectarea bazei de date include proiectarea conceptual, logic i fizic. n sens larg, principalele scopuri urmrite atunci cnd se dorete proiectarea unei baze de date se refer la: reprezentarea datelor i a relaiilor logice dintre acestea, necesare tuturor domeniilor de aplicaie i principalelor grupuri de utilizatori; oferirea unui model de date care s permit realizarea tranzaciilor asupra datelor; specificarea unui proiect minimal i structurat n mod adecvat pentru realizarea cerinelor stabilite referitoare la performanele noului sistem; alegerea SGBD-ului este o etap opional i presupune alegerea unui SGBD adecvat pentru aplicaia realizat. Aceast alegere poate fi fcut n orice moment anterior proiectrii logice, cu condiia s fie disponibile suficiente informaii referitoare la cerinele sistemului, cum ar fi performana sau constrngerile de securitate i integritate; proiectarea aplicaiei are n vedere proiectarea interfeei cu utilizatorul i a programelor care utilizeaz i prelucreaz baza de date; prototipizarea este tot o etap opional i presupune construirea unui prototip de sistem care s permit proiectantului, dar i utilizatorului, s evalueze modul de funcionare al noului sistem; implementarea la ncheierea etapelor de proiectare, ne aflm n situaia de a implementa baza de date i programele aplicaie. Implementarea bazei de date se realizeaz prin utilizarea limbajului de definire a datelor (LDD), corespunztor sistemului de gestiune a bazelor de date ales. Instruciunile limbajului LDD sunt compilate i utilizate pentru a permite crearea schemei bazei de date. Totodat, toate vederile specificate de ctre utilizatori sunt definite n aceast etap; testarea este etapa n care se testeaz aplicaia i se identific eventualele neconcordane dintre cerinele utilizatorilor i rezultatul furnizat de aceasta; ntreinerea operaional presupune o monitorizare continu a aplicaiei realizate, iar dac este nevoie, vor fi ncorporate cerine noi, parcurgnd etapele precedente ale ciclului de via.

16

Baze de date aplicate n economie

Proiectarea i administrarea unei baze de date Proiectarea bazelor de date Connoly i colaboratorii si [Connoly et al., 2002, p.281-282] identific i descriu trei tipuri de proiectri: conceptual, care se refer la dezvoltarea unui model informaional independent de orice considerent privitor la aspectul fizic al datelor; logic, care vizeaz construirea unui model informaional bazat pe unul din modelele tradiionale (E-R3, relaional, OO4, OR5), dar independent de tipul SGBD-ului ales i de alte aspecte fizice ale modelului; fizic urmrete implementarea efectiv a bazei de date pe suportul de stocare, inclusiv acele aspecte care in de asigurarea i garantarea securitii datelor.

Proiectarea corespunztoare bazei de date este o etap foarte important, mai ales c trebuie s fie capabil s garanteze buna funcionare a acesteia i a oricrei aplicaii care o utilizeaz. n lipsa unei proiectri adecvate a bazei de date, aceasta poate prezenta mai multe deficiene, cum ar fi: compromiterea integritii datelor deoarece restriciile de integritate nu pot fi proiectate sau implementate corect; datele sunt redundante, iar aplicaiile individuale se aglomereaz n ncercarea de a se asigura sincronizarea datelor; performanele sunt afectate deoarece este posibil ca pentru finalizarea unei instruciuni (spre exemplu, instruciunea Select 6 ) s fie necesare interogri suplimentare. Proiectarea conceptual Proiectarea conceptual este prima faz din procesul de proiectare a unei baze de date i presupune crearea unui model de date conceptual pentru partea care se dorete a fi modelat (parte din activitatea unei organizaii). Acest model de date va fi construit prin utilizarea informaiilor aferente specificaiilor cerinelor utilizatorului. Proiectarea conceptual a bazei de date este complet independent de detaliile de implementare, cum ar fi elementele de software ale sistemului SGBD avut n vedere, programele de aplicaie, platforma hardware sau orice alte consideraii fizice. Totodat, trebuie s menionm c este important ca pe tot parcursul procesului de realizare a modelului conceptual de date, acesta s fie permanent testat i validat conform cerinelor utilizatorului. Practic, acest model constituie o surs important de informaii pentru faza de proiectare logic. Proiectarea logic Aceast faz are ca rezultat crearea unui model de date logic aferent activitilor sau proceselor pe care dorim s le modelm. Modelul de dateE-R Entitate Relaie OO Orientat Obiect 5 OR Obiectual Relaional 6 Select este o instruciune specific limbajului SQL Structured Query Language care permite extragerea datelor din baza de date.4 3

Baze de date aplicate n economie

17

Proiectarea i administrarea unei baze de date conceptual creat n faza precedent este rafinat i transpus ntr-un model de date logic. Acesta este influenat de ctre modelul de date avut n vedere pentru baza de date (spre exemplu, modelul de date relaional pe care l vom detalia n capitolul IV). Spre deosebire de cellalt model, care este independent de toate consideraiile fizice, modelul logic este creat plecnd de la modelul de date principal al sistemului SGBD int. Cu alte cuvinte, tim c SGBD-ul este, de exemplu, relaional, ierarhic sau orientat spre obiecte. ns, se ignor alte aspecte ale SGBD-ului ales i, mai ales, fiecare detaliu fizic, aa cum sunt structurile de stocare. Pe parcursul realizrii modelului logic de date, se efectuez testarea i validarea permanent a acestuia n conformitate cu cerinele utilizatorului. Tehnica de normalizare este utilizat pentru a testa corectitudinea modelului logic de date. Practic, normalizarea garanteaz c relaiile derivate din modelul de date nu prezint redundane, care pot cauza anomalii (la implementare) la actualizarea bazei de date. Altfel spus, normalizarea este procesul prin care se elimin redundana datelor din baza de date i se construiete un model de baz de date care susine diverse cerine funcionale i structuri alternative ale bazei de date. Normalizarea presupune mprirea unei relaii (care include la momentul respectiv toate atributele necesare problemei) n mai multe relaii ntre care se definesc diferite legturi logice. Principalele obiective ale normalizrii sunt [Fotache, 2005, p.41-42]: minimizarea spaiului necesar stocrii datelor; minimizarea riscului apariiei de date inconsistente n cadrul bazei de date; minimizarea numrului de anomalii ce pot aprea la actualizare (inserarea datelor, dar mai ales modificri i tergeri); ameliorarea structurii bazei de date, reprezentarea diverselor conexiuni dintre atributele acesteia; diminuarea nevoii de reorganizare periodic a modelului. Exist un numr de reguli care se aplic n normalizare. n continuare vom prezenta doar primele trei reguli care sunt n msur s garanteze definirea unei structuri logice a bazei de date ntr-o form acceptabil (n care ns redundana nu este eliminat complet): 1. Toate atributele trebuie specificate o singur dat (forma I normal); 2. Fiecare atribut trebuie s depind n totalitate de cheia primar a relaiei pe care o descrie (forma II normal). Aceast regul se realizeaz prin repartizarea atributelor ntr-o relaie, astfel nct fiecare dintre ele va depinde n totalitate de cheia primar. 3. Pentru a putea fi n forma III normal, fiecare relaie trebuie s aib o singur cheie primar. Totodat, modelul logic de date reprezint o surs important de informaii pentru faza de proiectare fizic, punnd la dispoziia proiectantului bazei de date logice un mecanism care s-i permit realizarea negocierilor, care sunt foarte importante pentru a face ca proiectarea bazei de date s fie eficient. Totodat, acest model are un rol important n etapa de ntreinere 18 Baze de date aplicate n economie

Proiectarea i administrarea unei baze de date operaional din ciclul de via al unei aplicaii cu baze de date. Dac este ntreinut i mbuntit adecvat, modelul de date permite efectuarea unor modificri viitoare n programele aplicaie i reprezentarea corect i eficient a datelor de ctre baza de date.

Proiectarea fizic Proiectarea fizic a bazelor de date este a treia faz din procesul de proiectare a unei baze de date, n care proiectantul stabilete cum va fi ea implementat. Aa cum am vazut deja, faza precedent presupunea realizarea unei structuri logice, cu alte cuvinte se referea la definirea relaiilor, atributelor i legturilor dintre ele. Cu toate c aceast structur este independent de SGBD-ul ales, ea se realizeaz conform unui model de date, aa cum este cel relaional. n realizarea proiectrii fizice, trebuie iniial identificat sistemul de baze de date avut n vedere. Prin urmare, proiectarea fizic este croit dup modelul unui anumit SGBD. ntre proiectarea fizic i cea logic exist o legtur, deoarece pe parcursul proiectrii fizice sunt luate decizii referitoare la mbuntirea performanelor, care pot ns afecta structura modelului logic de date. n cele mai multe situaii, obiectivul principal al proiectrii fizice este de a descrie cum se intenioneaz realizarea implementrii fizice a proiectului logic al unei baze de date. Astfel, n cazul modelului relaional, aceasta presupune: extragerea unui set de tabele relaionale (relaii) i de constrngeri asupra acestora, din informaiile prezentate n modelul logic de date (modelul global); identificarea structurilor de stocare specifice i metodelor de acces la date, astfel nct s se garanteze obinerea unor performane optime cu sistemul respectiv; proiectarea mijloacelor care s asigure securitatea sistemului.

Proiectarea tranzaciilor n sens larg, putem defini o tranzacie ca o aciune sau o serie de aciuni efectuate de utilizator sau de un program de aplicaie, care acceseaz sau actualizeaz o baz de date. De asemenea, n [Georgescu, Georgescu, 2005, p.71] tranzacia este definit ca unitatea logic de prelucrare asupra unei baze de date care include setul complet de operaii elementare ce trebuie executat n vederea realizrii unei tranziii, pentru asigurarea consistenei i siguranei bazei de date. Aceeai autori consider c o tranziie se refer la trecerea de la o realizare la alta a unei baze de date i poate fi produs de modificarea coninutului unei tabele a bazei de date, de modificarea structurii acesteia, de adugarea unei noi tabele, etc. Tranzaciile reprezint evenimente din lumea real, cum ar fi adugarea unui nou angajat, nregistrarea unui nou client, nregistrarea unei note obinute de un student la o disciplin, etc. Aceste tranzacii trebuie aplicate bazei de date, pentru a garanta c datele coninute n aceasta rmn la curent cu situaia din lumea real, dar i pentru a susine nevoile informaionale ale utilizatorilor. Baze de date aplicate n economie 19

Proiectarea i administrarea unei baze de date O tranzacie poate fi format din mai multe operaii, cum ar fi spre exemplu, transferul banilor dintr-un cont n altul. Totui, din punctul de vedere al utilizatorului, aceste operaii realizeaz o singur sarcin. Din perspectiva SGBD-ului, o tranzacie transfer baza de date dintr-o stare n alta. SGBD-ul asigur coerena bazei de date, chiar n cazul unei defeciuni. Totodat, SGBD-ul garanteaz i faptul c odat tranzacia finalizat, modificrile realizate sunt stocate permanent n baza de date i nu pot fi pierdute sau anulate. Dac dintr-un motiv oarecare, tranzacia nu poate fi terminat, SGBD-ul este n msur s garanteze c modificrile realizate de acesta sunt anulate. n exemplul menionat anterior, cel al transferului de bani, dac banii sunt debitai ntr-un cont i tranzacia eueaz naintea creditrii celuilalt cont, SGBD-ul va anula i debitarea. n cazul n care am defini cele dou operaii (debitarea i creditarea) ca tranzacii separate, atunci, odat debitat primul cont i ncheiat tranzacia, modificarea nu ar mai putea fi anulat (pentru situaia n care creditarea nu s-ar realiza). Trebuie s mai menionm i faptul c proiectarea unei tranzacii se bazeaz pe informaiile din specificaiile cerinelor utilizatorului. Exist numeroase tehnici de preluare i generare a specificaiilor cerinelor, care includ i o notaie pentru specificarea tranzaciilor cerute de ctre utilizatori. Aceste tranzacii pot constitui operaii complexe care, atunci cnd sunt analizate, se dovedesc a fi compuse, de fapt, din mai multe operaii, fiecare dintre acestea constituind cte o singur tranzacie.

20

Baze de date aplicate n economie

Proiectarea i administrarea unei baze de date ntrebri recapitulative 1. Ce reprezint sistemul informaional? 2. Identificai i prezentai pe scurt principalele scopuri ale proiectrii unei baze de date. 3. Ce reprezint ntreinerea operaional? 4. Care sunt principalele tipuri de proiecri n viziunea cercettorului Connoly i a colaboratorilor si? 5. Proiectarea conceptual. 6. Proiectarea logic. 7. Proiectarea fizic. 8. Proiectarea tranzaciilor. 9. Ce reprezint tranzacia? 10. Ce reprezint tranziia? Teste gril 1. Rolul sistemului informaional este de a asigura legtura dintre: a. sistemul decizional i cel operaional; b. sistemul operaional i cel informatic; c. sistemul de conducere i cel de execuie; d. toate sistemele organizaiei. 2. Etapele ciclului de via al unui sistem de baze de date: a. nu pot fi mereu secveniale; b. sunt mereu secveniale; c. depinde de maniera de proiectare a sistemului informatic: n funcie de aceasta, etapele ciclului de via se pot derula secvenial sau nu; d. se poate reveni la o etap anterioar numai dup parcurgerea tuturor etapelor. 3. Proiectarea bazei de date se refer i la: a. alegerea SGBD-ului; b. prototipizare; c. testare; d. ntreinere operaional.

Baze de date aplicate n economie

21

Proiectarea i administrarea unei baze de date 4. ntreinerea operaional se refer la: a. monitorizarea i testarea continu a aplicaiei; b. monitorizarea continu a aplicaiei i ncorporarea unor noi cerine, atunci cnd este cazul; c. monitorizarea continu a aplicaiei i ncorporarea permanent a unor noi cerine; d. monitorizarea continu a aplicaiei, fr ns a se mai putea aduga funcionaliti suplimentare aferente noilor cerine. 5. Prototipizarea este: a. o etap obligatorie specific proiectrii bazei de date care permite numai proiectantului s evalueze modul de funcionare a aplicaiei; b. o etap opional specific proiectrii bazei de date care permite numai proiectantului s evalueze modul de funcionare a aplicaiei; c. o etap obligatorie specific proiectrii bazei de date care permite proiectantului i utilizatorului s evalueze modul de funcionare a aplicaiei; d. o etap opional specific proiectrii bazei de date care permite proiectantului i utilizatorului s evalueze modul de funcionare a aplicaiei. 6. Proiectarea bazei de date se refer i la: a. oferirea unui model de date care s permit realizarea tranzaciilor; b. oferirea unui model de date care s permit realizarea tuturor tranziiilor necesare; c. oferirea unui model de date care s permit realizarea tranzaciilor i a tranziiilor asupra datelor; d. proiectarea bazei de date nu se refer la oferirea unui model de date. 7. Proiectarea conceptual se refer la: a. construirea unui model informaional dependent de fiecare considerent privitor la aspectul fizic al datelor; b. construirea unui model informaional independent de fiecare considerent privitor la aspectul fizic al datelor; c. construirea unui model informaional independent bazat pe unul din modelele tradiionale; d. implementarea efectiv a bazei de date.

22

Baze de date aplicate n economie

Proiectarea i administrarea unei baze de date 8. Proiectarea incorect a bazei de date poate conduce la urmtoarele deficiene: a. lipsa performanelor dorite; b. neredundana datelor; c. afectarea integritii datelor; d. imposibilitatea proiecrii corecte a restriciilor de integritate asupra datelor. 9. Realizarea unui model de date logic este specific: a. proiectrii conceptuale; b. proiectrii fizice; c. proiectrii logice; d. proiectrii tranzaciilor. 10. Tranzacia se refer la: a. aciuni care numai acceseaz baza de date; b. aciuni care numai actualizeaz baza de date; c. aciuni care acceseaz sau actualizeaz baza de date; d. trecerea de la o realizare la alta a bazei de date.

Baze de date aplicate n economie

23

Sisteme de gestiune a bazelor de date

Capitolul III Sisteme de gestiune a bazelor de date

**************************************************************************************** Obiectivele capitolului Sistemul de gestiune a bazelor de date constituie n prezent un cadru de baz al sistemelor informaionale i a modificat fundamental modul de operare al unei organizaii. Astfel, n cadrul capitolului trei, am definit sistemul de gestiune a bazelor de date, am descris evoluia n timp a acestora i am prezentat principalele faciliti pe care le ofer. Totodat, am tratat componentele unui sistem de gestiune a bazelor de date, funciile lui, precum i principalele avantaje i dezavantaje pe care le aduc introducerea n practic a acestora. **************************************************************************************** n sens larg putem defini sistemul de gestiune a bazelor de date (SGBD) ca un sistem de programe care permite utilizatorilor definirea, generarea i ntreinerea unei baze de date, precum i accesul controlat la aceasta. n [Velicanu et al., 2003, p.94] SGBD-ul este definit ca un ansamblu complex de programe care asigur interfaa ntre o baz de date i utilizatorii acesteia. Totodat, autorii consider SGBD-ul o component software a unui sistem de baze de date care este capabil s interacioneze cu toate celelalte componente ale acestuia, asigurnd legtura i independena ntre elementele sistemului. Un SGBD ofer utilizatorului posibilitatea de a accesa datele prin intermediul unui limbaj de nivel nalt, apropiat de modul obinuit de exprimare, pentru a obine informaii, utilizatorul fcnd abstracie de mijloacele i metodele folosite pentru alegerea datelor implicate i a modului de memorare a lor. SGBD-ul este practic o interfa ntre utilizatori i sistemul de operare. Termenul de baz de date se va referi la datele de prelucrat, la modul de organizare a acestora pe suportul fizic de memorare, iar termenul de gestiune va semnifica totalitatea operaiilor ce se aplic asupra datelor din baza de date [Trandafir et al., 2007, p.10].

Evoluia sistemelor de gestiune a bazelor de date Aa cum se tie, predecesorul SGBD-ului a fost sistemul bazat pe fiiere. Totui, nu a existat un moment bine definit, n care s nceap tratarea prin baze de date i s nceteze sistemul bazat pe fiiere. De fapt, sistemul bazat pe fiiere mai exist nc i astzi n anumite domenii. S-a sugerat c SGBD-ul i are rdcinile n proiectul de aselenizare Apollo din 24 Baze de date aplicate n economie

Sisteme de gestiune a bazelor de date anul 1960, care a fost iniiat ca rspuns la obiectivul preedintelui J.F. Kennedy de a trimite un om pe lun pn la sfritul deceniului. n acel moment, nu exista nici un sistem capabil s trateze i s administreze cantitile vaste de informaii pe care le necesita proiectul. Ca rezultat, compania North American Aviation (NAA - acum Rockwell International), primul contractant al proiectului, a dezvoltat un software cunoscut sub denumirea de GUAM (Generalized Update Access Methodh metoda general de acces prin reactualizare). Sistemul GUAM pornea de la ideea c, toate componentele mai mici constituie pri ale unor componente mai mari i aa mai departe, pn la asamblarea produsului final. Aceast structur, care seamn cu un copac cu susul n jos, este cunoscut i sub denumirea de structur ierarhic. La mijlocul anilor 1960, companiile IBM i NAA au transformat sistemul GUAM n ceea ce este cunoscut sub denumirea de IMS7 (sistem de gestionare a informaiilor). Motivul pentru care cei de la IBM au restrns sistemul IMS la administrarea ierarhiilor nregistrrilor a fost de a permite utilizarea unor dispozitive de stocare seriale, mai ales benzi magnetice, ceea ce constituia o cerin de pia n acel moment. Aceast restricie a fost abandonat ulterior. Cu toate c este unul dintre primele sisteme SGBD, IMS este nc cel mai important i este utilizat de majoritatea calculatoarelor de tip mainframe. La mijlocul anilor 1960, o alt realizare semnificativ a fost apariia sistemului IDS8 (depozitul de date integrate), realizat de compania General Electric. Acest proiect a fost condus de ctre unul dintre pionierii sistemelor de baze de date, Charles Bachrnann. Aceast realizare a dus la apariia unui nou tip de sistem de baze de date, cunoscut sub denumirea de sistem SGBD n reea, care a avut un efect profund asupra sistemelor informaionale din acea generaie. Baza de date n reea a fost realizat, parial, pentru a rspunde necesitii de reprezentare a unor relaii dintre date mai complexe dect se puteau modela cu ajutorul structurilor ierarhice i, parial, pentru a impune un standard pentru bazele de date. Pentru a contribui la stabilirea unor astfel de standarde, la Conferina despre Limbajele Sistemelor de Date (CODASYL9) din 1965, la care au participat reprezentani ai guvernului SUA i ai lumii afacerilor i comerului, s-a format Fora Operativ de Prelucrare a Listelor, redenumit Grupul Operativ pentru Baze de Date (DBTG10) n 1967. Termenii de referin ai grupului DBTG constau n definirea de specificaii standard pentru un mediu care s permit crearea de baze de date i manipularea datelor. n 1969 a aprut un raport preliminar, iar n 1971 raportul definitiv. Propunerea grupului DBTG a identificat trei componente: schema de reea - organizarea logic a ntregii baze de date, aa cum este vzut de ctre administratorii bazei de date i include o definire a denumirii bazei de date, a tipului fiecrei nregistrri i a componentelor fiecrui tip de nregistrare; subschema - partea din baza de date, aa cum este vzut de ctre utilizator sau de ctre programul aplicaie; un limbaj de gestionare a datelor, care s defineasc caracteristicile i structura datelor i care s le manipuleze.

7 8

Acronim pentru Information Management System Acronim pentru Integrated Data Store 9 COnference on DAta SYstems Language 10 Data Base Task Group

Baze de date aplicate n economie

25

Sisteme de gestiune a bazelor de date Pentru standardizare, grupul DBTG a specificat trei limbaje distincte: un limbaj de definire a datelor (LDD) pentru schem, care permite administratorului bazei de date s defineasc schema; un limbaj de descriere a datelor pentru subschem, care permite programelor aplicaie s defineasc componentele bazei de date de care au nevoie; un limbaj de manipulare a datelor (LMD), pentru manipularea lor.

Cu toate c, formal, raportul nu a fost adoptat de ctre Institutul Naional American pentru Standarde (ANSI11), ulterior s-a realizat un numr de sisteme conform propunerii DBTG. Acestea sunt cunoscute acum sub denumirea de sisteme CODASYL sau DBTG. Abordrile de tip CODASYL i ierarhice au reprezentat prima generaie de SGBD-uri. Totui, aceste dou modele prezint cteva dezavantaje fundamentale, printre care cele mai importante sunt: trebuie scrise programe complexe pentru a rspunde chiar i la interogri simple, bazate pe accesul navigaional orientat spre nregistrri; exist o independen minim de date; nu exist nici o baz teoretic larg acceptat.

n 1970, E.F. Codd de la Laboratorul de Cercetare IBM a publicat un articol de foarte mare influen despre modelul de date relaional. Acest articol, aprut exact la momentul potrivit, analizeaz dezavantajele abordrilor prezentate mai sus. De atunci, au fost implementate multe sisteme SGBD relaionale experimentale, primele produse comerciale aprnd la sfritul anilor 1970 i nceputul anilor 1980. De remarcat este proiectul System R, de la Laboratorul de Cercetare IBM din San Jose, realizat la sfritul anilor 1970 [Astrahan et al., 1976]. Acest proiect a fost ndeplinit pentru a demonstra caracterul practic al modelului relaional, prin realizarea unei implementri a structurilor de date i a operaiilor acestuia, fapt care a avut dou consecine majore: dezvoltarea unui limbaj de interogare structurat, denumit SQL, care de atunci a devenit limbajul standard pentru sistemele SGBD relaionale; producerea de diverse sisteme SGBD relaionale la scar comercial, n decursul anilor 1980; de exemplu, sistemele DB2 i SQL/DS de la IBM i Oracle de la compania cu acelai nume .

n prezent, exist cteva sute de sisteme SGBD relaionale, att pentru medii mainframe, ct i pentru microcalculatoare, cu toate c multe dintre ele extind definiia modelului relaional. Alte exemple de sisteme SGBD relaionale multiutilizator sunt: CS-OpenIngres de la compania Computer Associates i Informix de la Informix Software Inc. Cteva exemple de sisteme SGBD relaionale pentru microcalculatoare sunt: Access i FoxPro ale companiei Microsoft, Paradox i Visual dBase ale companiei Borland i R:Base al companiei Microrim. Sistemele SGBD relaionale sunt denumite sisteme SGBD din a doua generaie. Cu toate acestea, modelul relaional a cunoscut i eecuri - n particular, datorit capacitilor sale de modelare limitate. De-a lungul11

Acronim pentru American National Standards Institute

26

Baze de date aplicate n economie

Sisteme de gestiune a bazelor de date timpului, s-au efectuat multe cercetri care au ncercat s rezolve aceast problem. n 1976, Chen a prezentat modelul Entitate-Relaie, care reprezint acum o tehnic de proiectare a bazelor de date larg acceptat. n 1979, nsui Codd a ncercat s rezolve cteva dintre esecurile din lucrarea sa initial, printr-o versiune extins a modelului relaional, denumit RM/T (1979), urmat mai recent de RM/V2 (1990). ncercrile de realizare a unui model de date care s reprezinte mai ndeaproape lumea real au primit denumirea nu prea inspirat de modelare semantic a datelor. Ca rspuns la complexitatea crescnd a aplicaiilor bazelor de date, au aprut dou noi sisteme: sistemele SGBD orientate spre obiecte (OODBMS12) i sistemele SGBD de obiecte relaionale (ORDBMS13). Totui, spre deosebire de modelele anterioare, compoziia acestora nu este clar, iar aceast evoluie reprezint a treia generaie de sisteme SGBD. n prezent, datorit facilitilor pe care le ofer, constatm c cea mai mare partea bazelor de date sunt realizate cu ajutorul unor SGBD-uri relaionale i tot mai puine se bazeaz pe cele de generaia I. Totodat, trebuie remarcat i evideniat interesul tot mai mare fa de utilizarea n practic a SGBD-urilor orientate obiect.

Faciliti oferite de un SGBD Spre deosebire de un limbaj de programare obinuit, n care declararea datelor este realizat n acelai loc cu prelucrarea lor, bazele de date dispun de limbaje separate pentru declarare i prelucrare. Aceast separare se justific prin faptul c ntr-un program obinuit datele exist efectiv numai pe parcursul rulrii lui, n timp ce ntr-o baz de date, n general, ele sunt definite o singur dat i nu sunt necesare redefiniri ulterioare pentru fiecare prelucrare realizat. Practic, un SGBD const n elemente software care interacioneaz cu programele aplicaie ale utilizatorului i cu baza de date. Printre principalele faciliti care sunt oferite de un SGBD menionm: 1. permite utilizatorului s defineasc baza de date, de obicei prin intermediul unui limbaj de definire a datelor (LDD), care permite fiecrui utilizator s specifice tipurile i structurile de date, n timp ce constrngerile asupra datelor sunt memorate n baza de date; 2. ofer posibilitatea actualizrii datelor n baza de date (adugare, modificare, tergere), dar i a extragerii lor prin intermediul limbajului de manipulare a datelor (LMD). Faptul c exist un depozit central al tuturor datelor i descrierilor acestora permite limbajului de manevrare s ofere o facilitate de interogare general a acestor date, denumit limbaj de interogare. Existena unui limbaj de interogare elimin dificultile sistemelor bazate pe fiiere, unde utilizatorul este constrns s lucreze cu un set fix de interogri pentru a evita proliferarea de programe, care creeaz probleme majore privind gestionarea acestora.

12 13

Acronim pentru Object-Oriented DataBase Management System Acronim pentru Object-Relational DataBase Management System

Baze de date aplicate n economie

27

Sisteme de gestiune a bazelor de date Exist dou tipuri de limbaje de manipulare a datelor: procedurale neprocedurale

care se pot deosebi n funcie de operaiile de extragere. Principala diferen ntre ele const n faptul c, de obicei, limbajele procedurale trateaz bazele de date nregistrare cu nregistrare, n timp ce limbajele neprocedurale opereaz asupra unor seturi de nregistrri. n consecin, limbajele procedurale specific cum se va obine rezultatul unei instruciuni LMD, iar cele neprocedurale descriu numai ce date vor fi obinute. Cel mai obinuit tip de limbaj neprocedural este limbajul structurat de interogare (SQL - pronunat Es-Q-L sau, uneori, Sii-Quel), care reprezint acum att limbajul standard, ct i cel de facto pentru sistemele SGBD relaionale. 3. ofer accesul controlat la baza de date. De exemplu, poate furniza: un sistem de securitate, care previne accesarea bazei de date de ctre utilizatori neautorizai; un sistem de integritate, care menine concordana datelor stocate; un sistem de control al concurenei, care permite accesul partajat la baza de date; un sistem de control al refacerii, care restaureaz baza de date ntr-o stare precedent concordant, ca urmare a unei defeciuni la nivel hardware sau software; un catalog accesibil utilizatorilor, care conine descrieri ale datelor din baza de date. Datorit funcionalitilor pe care le ofer, SGBD-urile constituie instrumente extrem de utile. Totui, deoarece pe utilizatori nu-i intereseaz ct de complex sau de uoar este pentru sistem o anumit sarcin, s-ar putea argumenta c sistemul SGBD a fcut ca lucrurile s devin mai complexe, deoarece acum se pot vedea mai multe date dect este cu adevrat necesar sau dect se dorete. Ca o recunoatere a acestei probleme, sistemul SGBD prezint o alt facilitate, cunoscut sub denumirea de mecanism de vizualizare, care permite fiecrui utilizator si defineasc propriul mod de vizualizare a bazei de date. Limbajul LDD permite definirea de moduri de vizualizare, n care acestea reprezint un subset al bazei de date. 4. ofer un anumit nivel de securitate. Modurile de vizualizare pot fi realizate astfel nct s nu includ datele ce nu trebuie cunoscute de anumii utilizatori. De exemplu, s-ar putea crea un mod de vizualizare care s permit unui administrator de filial i departamentului Contabilitate s afieze toate datele referitoare la personalul unei instituii, inclusiv detaliile despre salariu. Pe lng acesta, s-ar putea crea un al doilea mod de vizualizare, care s exclud detaliile despre salariu, ce va fi utilizat de ctre ceilali angajai; 5. pot prezenta o imagine coerent, neschimbat a structurii bazei de date, chiar dac aceasta este modificat (de exemplu, s-ar putea aduga sau elimina cmpuri, s-ar putea modifica relaiile, diviza, restructura sau 28 Baze de date aplicate n economie

Sisteme de gestiune a bazelor de date redenumi anumite fiiere). Dac sunt adugate sau eliminate cmpuri dintr-un fiier, iar acestea nu sunt cerute de ctre modul de vizualizare, el nu este afectat de ctre modificarea realizat. Prin urmare, modul de vizualizare contribuie la asigurarea independenei program-date. Analiza prezentat mai sus este una general. Nivelul real de funcionalitate a unui SGBD difer de la produs la produs. De exemplu, s-ar putea ca un SGBD pentru un calculator personal s nu accepte accesul partajat concurent, ns ar prezenta doar un control limitat al securitii, integritii i refacerii. Totui, produsele SGBD moderne, multiutilizator, prezint toate funciile de mai sus i nc multe altele. Sistemele moderne sunt programe extrem de complexe, formate din milioane de linii de cod, cu documentaia constnd n multe volume. Acesta este un rezultat al necesitii de realizare a unor programe care s trateze cerine de o natur mai general. Mai mult, n zilele noastre, utilizarea unui SGBD necesit sisteme care s prezinte un grad de fiabilitate i de disponibilitate de aproape 100%, chiar n cazul unor defeciuni, fie la nivel hardware, fie software. Totodat, toate SGBD-urile trebuie s evolueze i s se dezvolte permanent, dar necesit i o perfecionare continu pentru a prentmpina noile cerine ale utilizatorilor. De exemplu, dac unele aplicaii necesit stocarea de imagini grafice, video, sunete, etc. pentru satisfacerea acestei piee, SGBD-urile trebuie s se modifice. Cel mai probabil c o nou funcionalitate va fi mereu necesar, aa nct aceasta nu va putea deveni niciodat static.

Avantajele i dezavantajele SGBD-urilor Aa cum vom arta n continuare, utilizarea n practic a sistemelor de gestiune a bazelor de date beneficiaz de promitoare avantaje poteniale, ns, din pcate, exist i unele dezavantaje. Avantajele SGBD-urilor 1.Controlul redundanei datelor Aa cum am mai menionat, n sistemele tradiionale bazate pe fiiere se fcea risip de spaiu prin stocarea acelorai informaii n mai multe fiiere. Prin contrast, n tratarea prin baze de date se ncearc eliminarea redundanei prin integrarea fiierelor, astfel nct s nu se stocheze mai multe copii ale acelorai date. Totui, n tratarea prin baze de date nu se elimin n ntregime redundana, ci se controleaz volumul inerent al acesteia n baza de date. Uneori, pentru modelarea relaiilor, este necesar dublarea unor articole de date cheie. Alteori, pentru mbuntirea performanelor, este de dorit s se dubleze unele articole de date. 2.Coerena datelor Prin eliminarea sau controlul redundanei se reduce riscul apariiei incoerenei datelor. Dac un articol de date este stocat o singur dat n baza de date, orice reactualizare a valorii sale trebuie realizat tot o singur dat, iar noua valoare este disponibil imediat, pentru toi utilizatorii. Dac un articol de date este stocat de mai multe ori, iar sistemul este contient de Baze de date aplicate n economie 29

Sisteme de gestiune a bazelor de date aceasta, el poate garanta c toate copiile articolului respectiv sunt meninute coerente. Din pcate, multe dintre sistemele SGBD actuale nu garanteaz automat acest tip de coeren. 3.Mai multe informaii de la aceeai cantitate de date Odat cu integrarea datelor operaionale, ar putea fi posibil ca organizaia respectiv s extrag informaii suplimentare din aceleai date. 4.Partajarea datelor n general, fiierele sunt deinute de ctre persoanele sau departamentele care le utilizeaz. Pe de alt parte, baza de date aparine ntregii organizaii sau instituii i poate fi partajat de ctre toi utilizatorii autorizai. n acest mod, mai muli utilizatori partajeaz o cantitate mai mare de date. Mai departe, se pot construi noi aplicaii bazate pe datele existente n baza de date, n timp ce datele adiionale (care nu sunt stocate n mod curent) se pot aduga fr a fi necesar definirea repetat a tuturor cerinelor referitoare la acestea. Noile aplicaii se pot baza i pe funciile oferite de ctre sistemul SGBD (cum ar fi definirea i manipularea datelor i controlul concurenei i refacerii) n loc de a fi necesar s le furnizeze ele nsele. 5.Integritatea crescut a datelor Integritatea bazei de date se refer la validitatea i coerena datelor stocate. De obicei, integritatea este exprimat n termeni de constrngeri, care reprezint reguli de coeren, pe care baza de date trebuie s le respecte. Constrngerile se pot aplica articolelor de date dintr-o singur nregistrare sau relaiilor dintre diferite nregistrri. Spre exemplu, o constrngere privind integritatea ar putea stabili c salariul unui angajat nu poate fi mai mare de o mie de euro sau c nota pe care o obine un student la o disciplin nu poate fi mai mic de patru. Din nou, integrarea permite administratorului bazei de date s defineasc (iar bazei de date s ntreasc) constrngerile privind integritatea. 6.Securitate sporit Securitatea se refer la protecia bazei de date fa de utilizatorii neautorizai. Fr msuri de securitate clare i adecvate, integrarea face ca datele s fie mult mai vulnerabile dect n cazul sistemelor bazate pe fiiere. Totui, integrarea va permite administratorului bazei de date s defineasc (iar bazei de date s ntreasc) securitatea acesteia. Aceasta se poate realiza prin atribuirea unor nume de utilizatori i parole, care s permit identificarea persoanelor autorizate s utilizeze baza de date (fiecare persoana poate accesa, n funcie de poziia pe care o are n organizaie, un anumit set de date). Accesul la date permis unui utilizator autorizat poate fi limitat de tipul operaiei efectuate (extragere, inserare, reactualizare, tergere). De exemplu, administratorul bazei de date are acces la toate datele din baza de date, un manager de fIlial ar putea accesa doar datele legate de filiala respectiv, n timp ce un utilizator de la compartimentul Vnzri ar putea avea acces numai la datele referitoare la proprieti, dar nu 30 Baze de date aplicate n economie

Sisteme de gestiune a bazelor de date i la datele sensibile, cum ar fi detaliile despre salariile angajailor sau contractele ncheiate. 7.Aplicarea standardelor Din nou, integrarea permite administratorului bazei de date s defineasc i s aplice toate standardele necesare. Acestea ar putea include standarde departamentale, organizaionale, naionale sau internaionale (pentru diferite aspecte, cum ar fi formatul datelor) care s faciliteze schimbul de date ntre sisteme, conveniile privind denumirile, standardele de documentare, procedurile de reactualizare i regulile de acces. 8.Economia de scal Combinarea tuturor datelor operaionale ale organizaiei ntr-o singur baz de date i crearea unui set de aplicaii care s funcioneze pentru aceast unic surs de date pot avea ca rezultat micorarea costurilor. n acest caz, s-ar putea combina bugetele care ar fi fost alocate n mod normal fiecrui departament pentru dezvoltarea i ntreinerea propriului sistem bazat pe fiiere, ceea ce ar putea duce la un total mai sczut al cheltuielilor, avnd ca rezultat o economie de scal. Bugetul combinat poate fi utilizat pentru achiziionarea unei configuraii a sistemului mai adecvate cerinelor i necesitilor organizaiei respective. Aceasta ar putea consta ntr-un calculator cu o configuraie mai bun, cu o putere de calcul sporit sau ntr-o reea de calculatoare mai mici. 9.Echilibrul ntre cerinele aflate n conflict Fiecare utilizator sau departament are propriile sale cerine, care ar putea intra n conflict cu ale altora. Din moment ce baza de date se afl sub controlul administratorului bazei de date, acesta poate lua decizii privind proiectarea i utilizarea operaional a acesteia, care s duc la folosirea optim a resurselor pentru organizaia luat n ansamblu. Aceste decizii vor realiza performane optime ale aplicaiilor majore, posibil n detrimentul celor mai puin importante. 10.mbuntirea accesibilitii datelor i capacitii de rspuns Ca rezultat al integrrii, datele care depesc graniele unui departament sunt direct accesibile utilizatorilor finali. Aceasta creeaz un sistem cu o mult mai mare funcionalitate potenial dect ar putea fi folosit, de exemplu, pentru furnizarea unor servicii mai bune utilizatorului final sau clienilor organizaiei. Multe SGBD-uri ofer limbaje de interogare sau generatoare de rapoarte, care permit utilizatorilor s formuleze ntrebri adhoc i s obin aproape imediat afiarea informaiilor cerute la terminal, fr a fi nevoie de un programator care s scrie un program de extragere a acestora din baza de date. De exemplu, un manager de filial ar putea lista toate apartamentele cu o chirie lunar de peste 400 euro, prin simpla scriere a urmtoarei comenzi SQL la un terminal:

Baze de date aplicate n economie

31

Sisteme de gestiune a bazelor de date SELECT* FROM proprietate_de_inchiriat WHERE type = 'Apartament' AND chirie> 400; 11.Productivitate crescut Aa cum am menionat anterior, un SGBD ofer multe dintre funciile standard, pe care ar trebui s le scrie n mod normal programatorul, n cazul unei aplicaii bazate pe fiiere. La nivel fundamental, SGBD-ul ofer toate rutinele de nivel jos pentru manevrarea fiierelor, tipice n programele aplicaie. Furnizarea acestor funcii permite programatorului s se concentreze mai mult asupra funcionalitii specifice cerute de ctre utilizatori, fr ns a se preocupa de detaliile de nivel jos privind implementarea. Multe sisteme SGBD furnizeaz i un mediu din a patra generaie, care const n instrumente de simplificare a dezvoltrii de aplicaii n domeniul bazelor de date. Aceasta are ca rezultat o productivitate crescut a programatorului i un timp redus de programare (mpreun cu reducerea corespunztoare a costurilor). 12.ntreinere mbuntit datorit independenei datelor Descrierile datelor i logicii de accesare a lor n cadrul sistemelor bazate pe fiiere erau ncorporate n fiecare program aplicaie, ceea ce fcea ca acestea s depind de date. O modificare n structura datelor (de exemplu, atribuirea a 50 de caractere n loc de 40 pentru adres sau schimbarea modului de stocare a datelor pe suport fizic) poate necesita schimbri importante n programele afectate de modificrile produse. Prin contrast, ntrun SGBD, descrierile datelor sunt separate de aplicaii, ceea ce face ca acestea s fie imune la modificrile din descrierea datelor. Aceast caracteristic este cunoscut sub denumirea de independen fa de date (sau independena datelor). Realizarea independenei datelor simplific substanial ntreinerea aplicaiilor din baza de date. 13.Concuren mbuntit Majoritatea sistemelor bazate pe fiiere se confruntau adesea cu o problem important, cu influene negative asupra ceea ce nseamn gestionarea eficient a coninutului unui baze de date. Astfel, dac doi sau mai muli utilizatori aveau permisiunea de a accesa simultan acelai fiier, se ntmpla ca cele dou accesri s se suprapun, ceea ce avea evident ca rezultat pierderea informaiilor sau chiar alterarea integritii datelor respective. n ceea ce privete un SGBD, una dintre sarcinile importante care-i revin acestuia se refer la administrarea accesului concurent la baza de date, fapt care are drept consecin garania evitrii apariiei unor astfel de probleme. 14.mbuntirea serviciilor de salvare de siguran i refacere Multe sisteme bazate pe fiiere las n sarcina utilizatorului responsabilitatea de a lua msuri de protecie a datelor, n cazul unor defeciuni ale sistemului de calculatoare sau ale programului aplicaie. 32 Baze de date aplicate n economie

Sisteme de gestiune a bazelor de date Aceasta ar putea presupune realizarea unei copii de siguran a datelor la intervale scurte de timp (spre exemplu, n fiecare zi). Apariia unei defeciuni la un moment dat, va avea drept consecin preluarea ultimei copii de siguran, precum i reluarea muncii realizate n intervalul de timp scurs de la ultima salvare realizat. Spre deosebire de acestea, SGBD-urile moderne ofer faciliti de minimizare a pierderilor (aferente prelucrrilor realizate) ca urmare a unei defeciuni. Dezavantaje SGBD-urilor Pe lng avantajele menionate anterior, fiecare SGBD comport i un numr de dezavantaje, iar cele mai importante sunt menionate n continuare. 1.Complexitatea Proiectarea funcionalitii unui SGBD optim face ca acesta s devin un element software extrem de complex. Proiectanii i dezvoltatorii bazelor de date, administratorii de date i de baze de date, precum i utilizatorii finali trebuie s cunoasc (uneori, chiar n detaliu) aceast funcionalitate, pentru a putea profita de ea la maximum. Eecul n nelegerea sistemului poate cauza fundamentarea i luarea unor decizii greite aferente etapei de proiectare, care, n mod cert, pot conduce la consecine negative importante pentru fiecare organizaie sau instituie specializat care dispune de un astfel de sistem. 2.Costul Costul unui SGBD variaz semnificativ, n funcie de mediu i de funcionalitatea pe care o ofer. De exemplu, un SGBD cu un singur utilizator, pentru un calculator personal, poate costa numai 100 euro. Cu toate acestea, un SGBD mainframe, multi-utilizator, care deservete sute de utilizatori, poate fi extrem de scump. Mai exist i cheltuielile periodice anuale de ntreinere care reprezint, de regul, un procent din preul acestuia. n acest caz, este clar c vom alege un SGBD pentru gestionarea unei activiti numai n concordan cu necesitile curente: nu are sens s achiziionm un SGBD scump dac nevoia nu o cere, ns nu recomandm nici achiziionarea unui SGBD ieftin atunci cnd volumul de date, dar i cel al prelucrrilor de realizat este mare (mai ales n cazul gestionrii datelor la nivelul bazelor de date distribuite14). 3.Costurile adiionale specifice componentelor hardware Cerinele de stocare pe suport fizic pentru un SGBD i baza de date ar putea necesita achiziionarea unui spaiu de stocare suplimentar. Mai mult, pentru obinerea performanelor dorite, ar putea fi necesar cumprarea unui calculator mai performant, poate chiar unul destinat rulrii SGBD-ului. Astfel,14

Baza de date distribuit reprezint un set de baze de date aflate pe mai multe calculatoare i care este vzut de ctre aplicaie ca fiind o singur baz de date (aflat pe un singur calculator) adic baza de date vzut de ctre aplicaie este fragmentat i mprit pe mai multe calculatoare din reea. O baz de date se spune c este distribuit dac diferitele componente ale acesteia sunt memorate n staiile i/sau serverul reelei.

Baze de date aplicate n economie

33

Sisteme de gestiune a bazelor de date este clar c achiziionarea de componente hardware adiionale conduce la creterea cheltuielilor. 4.Costul conversiei n unele cazuri, costul unui SGBD i al componentelor hardware adiionale poate fi nesemnificativ, comparativ cu costul conversiei aplicaiilor existente, necesare ca acestea s poat funciona n noul SGBD i n noua configuraie hardware. Acest cost include i preul instruirii personalului pentru a putea utiliza noile sisteme i, posibil, angajarea unui personal specializat, care s ajute la conversia i funcionarea sistemului. Aceste cheltuieli reprezint unul dintre motivele principale pentru care unele organizaii se mpiedic de sistemele existente i nu pot trece la tehnologia modern specific bazelor de date. Termenul de sistem motenit este utilizat uneori pentru a se face referire la un sistem mai vechi, de obicei inferior din punct de vedere al funcionalitii. Totodat, exist i situaii n care anumite organizaii renun la actualizarea permanent a componentelor hardware, determinate de conversiile realizate la nivel software n detrimentul achiziionrii unui produs software nou i care este n concordan cu necesitile cerute. ns, aceast soluie este una important, cu implicaii directe asupra cheltuielilor realizate, dar i a modului de lucru specific personalului de care se dispune la un moment dat. 5.Dimensiunea Complexitatea i extinderea funcionalitii fac din SGBD-uri elemente software destul de cuprinztoare, ce ocup mult spaiu pe suportul fizic i necesit o memorie15 substanial pentru a funciona eficient i corect. 6.Performana De obicei, un sistem bazat pe fiiere este realizat pentru o anumit aplicaie, cum ar fi facturarea. Ca rezultat, performanele sunt, de regul, foarte bune. Totui, SGBD-ul este creat pentru a fi mai general, pentru a oferi mai multe funcionaliti, nu una singur. Rezultatul este c unele aplicaii ar putea s nu mai funcioneze tot att de rapid sau la fel de eficient. 7.Impactul crescut al unei defeciuni Centralizarea resurselor mrete vulnerabilitatea sistemului. Din moment ce toi utilizatorii i toate aplicaiile se bazeaz pe disponibilitate din partea SGBD-ului, eecul oricrei componente a acestuia poate duce la sistarea tuturor operaiilor.

15

Evident, ne referim la memoria RAM (Random Access Memory) a calculatorului pe care se gsete i ruleaz SGBD-ul respectiv.

34

Baze de date aplicate n economie

Sisteme de gestiune a bazelor de date Componentele unui SGBD Principalele componente ale unui SGBD sunt [Georgescu, Georgescu, 2005, p.75-81]: motorul SGBD este componenta care asigur interfaa dintre subsistemul de proiectare i cel de execuie pe de o parte, i datele bazei de date pe de alt parte i are rolul de a asigura accesul fizic la datele bazei de date. Toate aciunile motorului SGBD sunt realizate unitar i respect restriciile impuse de legturile dintre date, dar i de regulile de integritate ale bazei de date definite n dicionarul de date. Principalele responsabiliti ale motorului SGBD sunt: realizeaz gestionarea tranzaciilor la nivelul unei baze de date; permite regsirea datelor pe baza informaiilor de adresare din fiierele de index; salvarea i restaurarea datelor; blocarea i deblocarea datelor n cazul operaiilor fizice la nivelul memoriei externe; subsistemul instrumentelor de proiectare dispune de un set de instrumente software care permit proiectarea i generarea bazei de date i a aplicaiilor care descriu modul de utilizare a bazei de date. Aceast component permite definirea: structurii tabelelor din baza de date; machetelor de interfa cu utilizatorul; a formatului rapoartelor i cererilor de interogare a bazei de date. Subsistemul instrumentelor de proiectare poate include: limbaje de descriere a datelor (LDD)16; limbaje de manevrare a datelor; limbaje de interogare a datelor din baza de date; editoare de cod; generatoare de cod care s permit definirea interfeei cu utilizatorul, a rapoartelor, meniurilor, etc.; un sistem de utilizatorului. asisten on-line pentru autodocumentarea

subsistemul de execuie permite execuia aplicaiilor sau cererilor de consultare a bazei de date, formulate prin utilizarea instrumentelor subsistemului de proiectare, prin consultarea dicionarului de date i generarea tranzaciilor. Aceasta este componenta care garanteaz autonomia logic a datelor n baza de date i are rolul de a intermedia operaiile cu baza de date prin consultarea descrierii organizrii logice a datelor memorate n structura bazei de date. Practic, fiecare operaie de actualizare sau consultare a bazei de date se realizeaz prin identificarea

Un limbaj de descrierea a datelor permite descrierea componenei bazei de date, a structurii acesteia , a relaiilor dintre componentele ei, precum i a tuturor drepturilor de acces ale utilizatorilor la baza de date.

16

Baze de date aplicate n economie

35

Sisteme de gestiune a bazelor de date formatelor de descriere a datelor din dicionarul de date i conectarea acestor descrieri din schema intern a bazei de date

Funciile SGBD-ului n [Velicanu et al., 2003, p.104-107] se arat c ndeplinirea tuturor obiectivelor unui SGBD se realizeaz prin intermediul unor componente care permit efectuarea unor operaii specifice. n funcie de natura lor, dar i de scopul urmrit, operaiile pot fi grupate pe activiti. Activitile accept i ele o grupare pe funcii astfel nct, una sau mai multe activiti, relativ omogene, vor realiza o funcie anume. innd cont de complexitatea unui SGBD, de facilitile pe care le pune la dispoziie, de limbajele utilizate, precum i de modul de implementare al modelului de date, gruparea activitilor pe funcii are un anumit caracter relativ. Plecnd de la modelul de date pe care l implementeaz, SGBD-urile se caracterizeaz printr-un numr de particulariti identificate prin operaii i activiti specifice. n pofida acestor particulariti, exist cteva funcii general valabile pentru toate tipurile de SGBD; acestea sunt funcii importante, pe care un sistem software, dac nu le are n totalitate, nu poate fi considerat SGBD. Astfel, principalele funcii pe care le putem atribui unui SGBD sunt: descrierea datelor, manipularea datelor, utilizarea i administrarea bazei de date. Descrierea datelor Prin intermediul funciei de descriere a datelor, fiecare SGBD permite definirea unei structuri a bazei de date cu ajutorul limbajului de definire a datelor (LDD). Definirea datelor poate fi realizat la nivel conceptual, logic i fizic. Se descriu atributele din cadrul structurii bazei de date, legturile dintre entitile acesteia sau dintre atributele aceleiai entiti, se definesc criteriile de validare a datelor (dac este cazul), metodele care asigur accesarea datelor, precum i aspectele care se refer la asigurarea integritii datelor. Concretizarea acestei funcii este schema bazei de date, memorat n cod intern. Memorarea se face ntr-un fiier, ceea ce permite afiarea i actualizarea structurii bazei de date, n orice moment de timp. Aceast funcie a fost mult automatizat n timp, limbajul de descriere a datelor beneficiind n prezent de puine comenzi. Acest limbaj este specific fiecrui SGBD, dar el mereu realizeaz descrierea lor conform elementelor modelului de date pe care l implementeaz SGBD-ul respectiv. Astfel se realizeaz definirea i descrierea entitilor i a caracteristicilor lor, definirea legturilor dintre obiectele identificate (asocierile) i a regulilor de integritate specifice modelului de date. Manipularea datelor Funcia de manipulare a datelor este cea mai complex i realizeaz actualizarea i regsirea datelor din baza de date, cu ajutorul limbajului de manipulare a datelor17.17

n literatur ntlnim frecvent i Limbaj de Manevrare a Datelor

36

Baze de date aplicate n economie

Sisteme de gestiune a bazelor de date Manipularea datelor este cea mai folosit funcie n bazele de date, fiind cea mai bine suportat de sistemul de gestiune a bazelor de date fa de oricare alt sistem de gestionare a datelor din memoria extern. Practic, un SGBD manipuleaz datele ntr-o manier eficient, folosind n acest scop diferite tehnici i metode de optimizare a accesului i a alocrii spaiului din memoria calculatorului. Menionam n paragraful anterior c limbajul de manipulare a datelor este cel care asigur realizarea acestei funcii. n ceea ce-l privete, acest limbaj trebuie s respecte restriciile de integritate a datelor i s implementeze operatorii din modelul de date pe care se bazeaz SGBD-ul cruia i aparine. Aceast funcie presupune derularea urmtoarelor activiti: ncrcarea datelor n baza de date - se realizeaz prin operaii automatizate sau programate ce asigur i criteriile de validare necesare; actualizarea bazei de date se refer la operaiile de adugare, modificare i tergere de nregistrri. La operaiile de adugare i de modificare se pstreaz aceleai criterii de validare care s-au folosit i la activitatea de ncrcare a datelor. Actualizarea se realizeaz numai autorizat, prin asigurarea unei protecii corespunztoare a datelor, pentru a se pstra coerena bazei de date. prelucrarea datelor presupune realizarea operaiilor de selecie, ordonare, etc. efectuate asupra entitilor bazei de date. Acestea sunt, de obicei, operaii pregtitoare activitii de regsire a datelor. Multe din operaiile de prelucrare sunt realizate cu ajutorul operatorilor din modelul de date pe care l implementeaz SGBD-ul. regsirea (interogarea) datelor presupune realizarea operaiilor de vizualizare (afiare pe ecran, imprimare pe hrtie), rsfoire, editarea unor documente de ieire (rapoarte). Documentele de ieire pot fi intermediare sau finale i se pot obine pe diferii supori tehnici de informaie (ecran, hrtie, mediu magnetic, mediu optic). Ele pot avea cele mai diferite forme (punctuale, liste, rapoarte, grafice, imagini, sunet, video, etc) i se pot obine dup cele mai diferite criterii de regsire. Funcia de utilizare Aceast funcie are rolul de a asigura interfeele necesare care s permit comunicarea utilizatorilor cu baza de date (cu alte cuvinte, s asigure legtura dintre utilizator i baza de date). Pentru realizarea acestei funcii, SGBD-ul trebuie s ofere faciliti pentru mai multe categorii de utilizatori ai bazei de date, i anume: neinformaticieni, specialiti (informaticieni) i administratorul. Utilizatorii neinformaticieni reprezint principala categorie a beneficiarilor de informaii (utilizatori finali i intensivi) din baza de date. SGBD-ul le ofer acestora limbaje neprocedurale, dar i alte faciliti de interogare (generatoare, utilitare, etc.) a bazei de date ntr-o form simpl i interactiv. Aceti utilizatori nu trebuie s cunoasc structura bazei de date i nu trebuie s tie s programeze, SGBD-ul sprijinindu-i n manier interactiv n utilizarea bazei de date. n acest sens SGBD-ul ofer: Baze de date aplicate n economie 37

Sisteme de gestiune a bazelor de date meniuri cu opiuni sugestive; ferestre de lucru; abloane pentru diferite forme; asisteni tip Wizard; autodocumentarea (help-uri, mesaje/ferestre explicative).

Spre deosebire de utilizatorii neinformaticieni, cei specialiti n informatic sunt n msur s creeze structura bazei de date i s realizeze proceduri complexe de exploat