Suport de Curs Info 23

Embed Size (px)

Citation preview

  • 8/8/2019 Suport de Curs Info 23

    1/56

    BAZE DE DATE-Suport de curs

    Lect.dr. Adrian LUPAC

  • 8/8/2019 Suport de Curs Info 23

    2/56

    CUPRINS

    Capitolul I Fundamente ale bazelor de date ........................................................................................4

    Ce este baza de date? ......................................................................................................................................5

    Arhitecturi ale sistemelor de baze de date ....................................................................................................7

    Capitolul II Proiectarea i administrarea unei baze de date .............................................................10

    Ciclul de via al sistemelor informaionale ...............................................................................................11

    Ciclul de via al unui sistem de baze de date .............................................................................................11

    Proiectarea bazelor de date ...........................................................................................................................13Proiectarea conceptual ........................................................................................................................................ ......... .14Proiectarea logic ............................................................................................................................................................14Proiectarea fizic ........................................................................................................................................... ......... .......15

    Proiectarea tranzaciilor ..............................................................................................................................16

    Capitolul III Sisteme de gestiune a bazelor de date ...........................................................................17

    Evoluia sistemelor de gestiune a bazelor de date ......................................................................................17

    Faciliti oferite de un SGBD .......................................................................................................................20

    Avantajele i dezavantajele SGBD-urilor ....................................................................................................21

    Componentele unui SGBD ...........................................................................................................................26

    Funciile SGBD-ului ......................................................................................................................................27

    Capitolul IV Abordarea relaional a bazelor de date .......................................................................31

    Regulile lui Codd ..........................................................................................................................................31

    Fundamente ale modelului relaional .........................................................................................................33

    Legturi ntre relaii ......................................................................................................................................37Legtura binar 1-1 (unu la unu) ......................................................................................................................... ......... ..38Legtura binar 1-n (unu la mai muli) ...........................................................................................................................39Legtura binar n-n (mai muli la mai muli) .......................................................................................................... .......40Legtura dintre trei sau mai multe relaii ........................................................................................................................41

    Algebra relaional operatorii relaionali .................................................................................................43

    Probleme rezolvate ........................................................................................................................................50

    Bibliografie ............................................................................................................................................. 57

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 2010 3

  • 8/8/2019 Suport de Curs Info 23

    3/56

    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 nprezent a domeniului bazelor de date i realizeaz o descriere succint a aspectelor de bazcare caracterizeaz domeniul. n acest context, am ncercat s poziionm teoria bazelor dedate n cadrul tehnologiilor informaionale, am prezentat cteva definiii relevante aleconceptului 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 principalelearhitecturi specifice sistemelor de baze de date. Totodat, principalul scop avut n vedereeste de a oferi o viziune clar i o nelegere general a ceea ce reprezint astzi baza dedate.

    ****************************************************************************************

    Tehnologiile informaionale influeneaz continuu i produc modificri substanialeasupra 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 abutonului mouse-ului. Astfel, pentru stocarea informaiilor din orice mediu imaginabil n zilelenoastre sunt folosite sistemele de baze de date. De la bazele de date mari, aa cum suntsistemele care permit rezervarea on-line a biletelor pentru companiile aeriene i pn lafiele dintr-o bibliotec, sistemele de baze de date sunt folosite pentru memorarea idistribuirea 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 pecalculatoare de tip mainframe1. ns, aa cum era i firesc, proiectarea, achiziionarea sauntreinerea unei astfel de maini reprezenta o sarcin costisitoare i dificil de realizat. Odatcu 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 in acelai timp destul de ieftine, programatorii au posibilitatea de a proiecta rapid i la costurireduse produse informatice care s permit ntreinerea i distribuirea datelor.

    Cercetarea aferent bazelor de date are aproape 35 de ani de istorie, ani care aucondus 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 aufost tot mai bine consolidate n ultimile decade. Mai mult, n ultimii ani, managementulbazelor de date a evoluat astfel nct bazele de date au devenit o component cheie asistemelor informaionale moderne. Acest aspect a provocat un impact adnc precum imodificri semnificative n modul de lucru al instituiilor i organizaiilor, contribuind ntr-o

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

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 20104

  • 8/8/2019 Suport de Curs Info 23

    4/56

    Fundamente ale bazelor de date

    msur relevant la adoptarea celor mai adecvate decizii care s le poat garanta succesuln afaceri i nu numai. n acest context, este important s menionm anumii factori care aucontribuit 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 acelei software i, nu n ultimul rnd, necesitatea unei administrri eficiente i corecte a

    cantitilor tot mai mari de informaii care caracterizeaz activitile fiecrei organizaii dinzilele noastre.

    n prezent, bazele de date fac parte tot mai mult din viaa noastr de zi cu zi n aamsur, nct uneori nici mcar nu mai contientizm c le utilizm. Atunci cnd cumprmceva de la un supermarket, probabil c va fi accesat o baz de date. Casierul va trece uncititor de coduri de bare peste fiecare dintre articolele pe care le achiziionm. Acesta esteconectat la un sistem informatic pentru baze de date, care utilizeaz codul de bare pentru aidentifica preul produsului pe care l-am ales, evident dintr-o baz de date care gestioneazprodusele. De asemenea, dac stocul pentru un produs scade sub o anumit limit, esteposibil 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 cexist o baz de date care conine informaii detaliate despre crile care formeaz fondul decarte al bibliotecii. Practic, pentru a prentmpina anumite cerine, aceste sisteme sebazeaz 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 ceamai bun soluie, att timp ct necesitile informaionale sunt satisfcute, este adevrat, ncontextul 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 fiindcele 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 deneles sub forma listei, iar posibilitile de cutare, regsire i extragere a subseturilor dedate pentru revizuire, actualizare sau utilizare devin extrem de limitate. Odat cu apariiaacestor probleme, o idee bun, chiar o necesitate n anumite situaii, ar fi aceea altransferului acestor date ntr-o baz de date creat cu ajutorul unui sistem de gestiune albazelor de date.

    n prezent ne este tot mai clar faptul c explozia informaional este de ani bunitrstura definitorie care caracterizeaz activitile fiecrei organizaii sau instituii, indiferentde domeniul su de activitate. Volumul tot mai nsemnat de informaii nu mai poate fi utilizateficient cu ajutorul mijloacelor tradiionale. Practic, constatm c procesul de prelucrareautomat a datelor prin intermediul sistemelor electronice de calcul a devenit o necesitatepentru majoritatea domeniilor de activitate. n acest context, putem afirma c cea maievoluat metod de organizare a datelor n vederea prelucrrii lor automate o ntlnim labazele de date.

    n literatura de specialitate exist numeroase definiii aferente conceptului de baz dedate. 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

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 2010 5

  • 8/8/2019 Suport de Curs Info 23

    5/56

    Fundamente ale bazelor de date

    corespunztoare. n bazele de date are loc o integrare a datelor, n sensul c mai multefiiere sunt privite n ansamblu, eliminndu-se pe ct posibil acele informaii redundante. Deasemenea, este permis accesul simultan la aceleai date, care se regsesc n acelai locsau sunt distribuite spaial, a mai multor persoane de pregtiri diferite, fiecare cu stilulpersonal de lucru [Bsc, 1997, p.11].

    Referitor la definiia prezentat anterior, putem spune c avem unele reineri n ceeace privete utilizarea conceptului de informaie. Astfel, autorul vede baza de date ca unansamblu de informaii, prere pe care o mprtim parial i numai n cazul n care se facereferire la baza de date n general, dar nu i la o baz de date relaional. Este cert faptul catunci cnd facem referire la baza de date relaional, nu putem vorbi de informaii, ci numaide 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 alegturilor logice dintre ele, a crui gestionare este realizat de un sistem software unitar ispecializat, 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 etal., 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 idin arhitectura pe niveluri a unui sistem de baze de date;

    coerent, conform restriciilor de integritate i a legturilor dintre date, care rezult dinmodelul logic aferent;

    structurat, conform unui model de date pentru bazele de date;

    cu redundan minim i controlat, care este asigurat prin modelul de date implementati prin tehnicile de proiectare ale bazei de date;

    accesibil mai multor utilizatori n timp real, adic mai muli utilizatori, concomitent, potobine 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 caregrupeaz datele prelucrate n aplicaiile informatice ale unei persoane, grup de persoane,ntreprinderi, instituii, etc. Din punct de vedere formal, definete baza de date ca o coleciede 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 daterelaional reprezint o colecie partajat de date, ntre care exist diferite legturi logice(mpreun cu o descriere a acestora), proiectat pentru a satisface necesitileinformaionale ale fiecrei organizaii. Totodat, putem privi o baz de date ca un instrumentpentru organizarea i colectarea tuturor informaiilor, astfel nct s se satisfac toatenecesitile informaionale ale utilizatorilor ei.

    Definiia prezentat anterior trebuie analizat n detaliu pentru a putea fi n msur sdobndim o mai bun nelegere a conceptului de baz de date. Baza de date reprezint undepozit de date unic, larg, care este definit o singur dat i este utilizat simultan de diferitedepartamente sau utilizatori. Aceast soluie substituie crearea mai multor fiiere separate cudate 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 avantajsemnificativ: baza de date nu mai este deinut de un singur departament, ci constituie acumo resurs comun, partajat. Pe de alt parte, baza de date conine nu numai datele

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 20106

  • 8/8/2019 Suport de Curs Info 23

    6/56

    Fundamente ale bazelor de date

    operaionale ale unei organizaii sau instituii, ci i o descriere a acestora, ntlnite nliteratur sub denumirea de metadate (date despre date).

    Atunci cnd analizm necesitile informaionale ale unei organizaii, avem n vederen principal identificarea entitilor, atributelor i relaiilor. Putem privi o entitate ca un obiectdistinct (o persoan, un departament, un concept sau un eveniment) care aparine uneiorganizaii i care trebuie reprezentat n baza de date. Atributul este o proprietate caredescrie un aspect oarecare al obiectului pe care dorim s-l nregistrm, iarrelaia se refer lao 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 seconcretizeaz din punct de vedere practic legturile logice dintre relaii, prin introducereaconceptului de cheie strin.

    Arhitecturi ale sistemelor de baze de date

    n literatura de specialitate sunt prezentate mai multe tipuri de arhitecturi alesistemelor 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 reprezentaregrafic a elementelor sistemului, precum i a legturilor dintre ele. n funcie de ceea ce seevideniaz grafic, se folosesc dou tipuri de arhitecturi:

    1. arhitectura pe componente ofer o imagine asupra elementelor care formeaz unsistem de baze de date, dar i a inter-dependenelor dintre ele, aa cum se poate observan figura 1.1.

    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 degestiune a bazelor de date.

    c. elementele auxiliare sunt componentele care contribuie la realizarea i funcionareantregului sistem de baze de date:

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 2010 7

  • 8/8/2019 Suport de Curs Info 23

    7/56

    Fundamente ale bazelor 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 niveluristructureaz un sistem de baze de date pe trei niveluri i ofer oimagine despre modul de organizare i funcionare al acestuia (figura 1.2).

    V e d e r i

    b a z e i d

    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, nivelullogici 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 ajutorulinstrumentelor 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 carevor fi dezvoltate (independena logic);

    rezultatul nivelului conceptual este schema conceptual;

    realizarea schemei corespunde unei activiti de modelare pentru c este vorbadespre o transpunere n termeni abstraci a entitilor lumii reale;

    odat definit, schema conceptual trebuie confruntat cu lumea real pentruidentificarea i soluionarea neconcordanelor sau a omisiunilor; datorit caracterului

    2SGBD Sistem de Gestiune a Bazelor de Date

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 20108

  • 8/8/2019 Suport de Curs Info 23

    8/56

    Fundamente ale bazelor de date

    su global i unitar, se recomand ca schema conceptual s fie gestionat de osingur persoan [Georgescu, Georgescu, 2005, p.67].

    b. nivelul logic este dat de viziunea programatorului asupra datelor. Legat de acest nivelse 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 oanumit 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 fizicputem 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 dealocare 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 defiiere 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 aperifericelor.

    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 bazede date, numite vederi. Vederile sunt descrise prin intermediul unor subscheme nsublimbaje ale limbajului de descriere a datelor (LDD). Totodat, utilizatorii potprimi rspunsuri la cererile pe care le formuleaz prin intermediul limbajului deprelucrare a datelor;

    perspectiva administratorului bazei de date, care integreaz toate vederilereferitoare 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 cuadministratorul 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 datei care este practic singurul nivel care exist efectiv.

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 2010 9

  • 8/8/2019 Suport de Curs Info 23

    9/56

    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 iimportant n cadrul ciclului de via al unui sistem informatic care are drept scop gestionareai 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 sistemde 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 acomponentelor hardware. ns, din pcate, dac privim evoluia n timp a dezvoltriisistemelorsoftware constatm c nu este impresionant. n ultimile decade am observat oexpansiune a aplicaiilorsoftware, de la cele mici i relativ simple i care presupuneau ctevalinii de cod, pn la cele mari, destul de complexe i care presupuneau scrierea a milioane imilioane de linii de cod. ns, n mod normal, aceste aplicaii necesitau i o ntreinereconstant, care urmrea n primul rnd corectarea erorilor detectate, mbuntireafuncionalitii 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 nntrziere, 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 desoftware. Printre principalele motive care au stat la baza acestei crize putem aminti: lipsaspecificaiilor complete referitoare la cerine, a unei metodologii adecvate de realizare, dar iproasta partiionare a proiectrii n componente uor de manevrat. Astfel, ca o soluie care spermit ieirea din criz i soluionarea problemelor menionate anterior, a fost propus o

    nou abordare structurat privind dezvoltarea produselor software, numit ciclu de via alsistemelor informaionale.

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 201010

  • 8/8/2019 Suport de Curs Info 23

    10/56

    Proiectarea i administrarea unei baze de date

    Ciclul de via al sistemelor informaionale

    Putem privi sistemul informaionalca un ansamblu de fluxuri i circuite informaionale,organizate ntr-o concepie unitar i care asigur legtura dintre sistemul decizional (deconducere) 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 douca fiind unul i acelai lucru). Astfel, sistemul informatic reprezint un ansamblu structurat deelemente intercorelate funcional, utilizat pentru culegerea, prelucrarea, transmiterea istocarea datelor cu ajutorul mijloacelor automate de prelucrare a datelor. Scopul acestuiaeste de a automatiza procesul informaional i de a sta la baza fundamentrii deciziilor. nplus, sistemul informatic este inclus n cel informaional i i ofer acestuia noi valene, attsub aspect calitativ, ct i cantitativ. Acest lucru se realizeaz prin implementarea de ctresistemul 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 pefiiere, ca parte a infrastructurii sistemelor informaionale din cadrul unei organizaii. nacelai timp, a avut loc o recunoatere treptat a faptului c datele constituie o resurscomun, important, vital n anumite situaii, care trebuie tratat cu respect, ca toatecelelalte resurse ale organizaiei. Acest aspect a avut ca rezultat crearea unor departamentefuncionale denumite administrarea datelor i administrarea bazelor de date, care erauresponsabile cu administrarea i controlul datelor.

    Astfel, considerm c baza de date este o component de baz a unui sisteminformaional, iar dezvoltarea i utilizarea sa trebuie privite i analizate din perspectivacerinelor mai largi ale organizaiei. n acest context, ciclul de via al sistemului informaionaldintr-o organizaie este puternic legat de ciclul de via al sistemului de baze de date care lsusine. 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 prezentaten figura 2.1. Trebuie menionat c etapele ciclului de via ale unei astfel de aplicaii nu suntstrict secveniale, ci pot presupune revenirea la o etap anterioar i repetarea lor. Spreexemplu, dac apar anumite probleme n timpul proiectrii bazei de date, se poate reveni laetapa anterioar care are drept obiectiv colectarea i analiza cerinelor.

    Principalele activiti asociate fiecrei etape din ciclul de via al aplicaiei de tip bazde date sunt:

    planificarea bazei de date presupune planificarea modului n care etapele ciclului devia pot fi realizate cel mai eficient;

    delimitarea granielor sistemului se refer la specificarea scopului i limitelor aplicaiei, autilizatorilor si i a domeniilor de aplicaie. nainte de a ncepe proiectarea unei aplicaiide tip baz de date, este foarte important s definim limitele (graniele) sistemului avut nvedere i modul n care acesta realizeaz interfaa cu alte pri ale sistemuluiinformaional al organizaiei. Practic, includerea i delimitarea granielor unui sistem esteo etap important, nu numai pentru utilizatorii i aplicaiile curente, ci i pentru cele din

    viitor;

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 2010 11

  • 8/8/2019 Suport de Curs Info 23

    11/56

    Proiectarea i administrarea unei baze de date

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

    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 ianaliz a informaiilor aferente organizaiei pentru care se proiecteaz baza de daterespectiv, dar i utilizarea acestora n vederea identificrii cerinelor utilizatorilor privindnoul 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 serefer la:

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 201012

  • 8/8/2019 Suport de Curs Info 23

    12/56

    Proiectarea i administrarea unei baze de date

    reprezentarea datelor i a relaiilor logice dintre acestea, necesare tuturordomeniilor 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 realizareacerinelor stabilite referitoare la performanele noului sistem;

    alegerea SGBD-ului este o etap opional i presupune alegerea unui SGBDadecvat pentru aplicaia realizat. Aceast alegere poate fi fcut n orice momentanterior proiectrii logice, cu condiia s fie disponibile suficiente informaiireferitoare la cerinele sistemului, cum ar fi performana sau constrngerile desecuritate i integritate;

    proiectarea aplicaiei are n vedere proiectarea interfeei cu utilizatorul i aprogramelor care utilizeaz i prelucreaz baza de date;

    prototipizarea este tot o etap opional i presupune construirea unui prototip desistem 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 serealizeaz prin utilizarea limbajului de definire a datelor (LDD), corespunztorsistemului de gestiune a bazelor de date ales. Instruciunile limbajului LDD suntcompilate 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 eventualeleneconcordane 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 precedenteale ciclului de via.

    Proiectarea bazelor de date

    Connoly i colaboratorii si [Connoly et al., 2002, p.281-282] identific i descriu treitipuri de proiectri:

    conceptual, care se refer la dezvoltarea unui model informaional independent de oriceconsiderent privitor la aspectul fizic al datelor;

    logic, care vizeaz construirea unui model informaional bazat pe unul din modeleletradiionale (E-R3, relaional, OO4, OR5), dar independent de tipul SGBD-ului ales i dealte aspecte fizice ale modelului;

    fizic urmrete implementarea efectiv a bazei de date pe suportul de stocare, inclusivacele aspecte care in de asigurarea i garantarea securitii datelor.

    Proiectarea corespunztoare bazei de date este o etap foarte important, mai ales ctrebuie s fie capabil s garanteze buna funcionare a acesteia i a oricrei aplicaii care outilizeaz. n lipsa unei proiectri adecvate a bazei de date, aceasta poate prezenta maimulte deficiene, cum ar fi:

    3 E-R Entitate Relaie4 OO Orientat Obiect5 OR Obiectual Relaional

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 2010 13

  • 8/8/2019 Suport de Curs Info 23

    13/56

    Proiectarea i administrarea unei baze de date

    compromiterea integritii datelor deoarece restriciile de integritate nu pot fi proiectatesau implementate corect;

    datele sunt redundante, iar aplicaiile individuale se aglomereaz n ncercarea de a seasigura sincronizarea datelor;

    performanele sunt afectate deoarece este posibil ca pentru finalizarea unei instruciuni

    (spre exemplu, instruciunea Select6) s fie necesare interogri suplimentare.

    Proiectarea conceptual

    Proiectarea conceptual este prima faz din procesul de proiectare a unei baze dedate i presupune crearea unui model de date conceptual pentru partea care se dorete a fimodelat (parte din activitatea unei organizaii). Acest model de date va fi construit prinutilizarea informaiilor aferente specificaiilor cerinelor utilizatorului. Proiectarea conceptuala bazei de date este complet independent de detaliile de implementare, cum ar fielementele de software ale sistemului SGBD avut n vedere, programele de aplicaie,

    platforma hardware sau orice alte consideraii fizice. Totodat, trebuie s menionm c esteimportant ca pe tot parcursul procesului de realizare a modelului conceptual de date, acestas fie permanent testat i validat conform cerinelor utilizatorului. Practic, acest modelconstituie 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 sauproceselor pe care dorim s le modelm. Modelul de date conceptual creat n fazaprecedent este rafinat i transpus ntr-un model de date logic. Acesta este influenat dectre 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. Cualte 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 cumsunt structurile de stocare.

    Pe parcursul realizrii modelului logic de date, se efectuez testarea i validareapermanent a acestuia n conformitate cu cerinele utilizatorului. Tehnica de normalizare esteutilizat pentru a testa corectitudinea modelului logic de date. Practic, normalizareagaranteaz c relaiile derivate din modelul de date nu prezint redundane, care pot cauza

    anomalii (la implementare) la actualizarea bazei de date. Altfel spus, normalizarea esteprocesul prin care se elimin redundana datelor din baza de date i se construiete unmodel de baz de date care susine diverse cerine funcionale i structuri alternative alebazei de date.

    Normalizarea presupune mprirea unei relaii (care include la momentul respectivtoate atributele necesare problemei) n mai multe relaii ntre care se definesc diferite legturilogice. 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;

    6Selecteste o instruciune specific limbajului SQL Structured Query Language care permite extragereadatelor din baza de date.

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 201014

  • 8/8/2019 Suport de Curs Info 23

    14/56

    Proiectarea i administrarea unei baze de date

    minimizarea numrului de anomalii ce pot aprea la actualizare (inserarea datelor, darmai ales modificri i tergeri);

    ameliorarea structurii bazei de date, reprezentarea diverselor conexiuni dintreatributele acesteia;

    diminuarea nevoii de reorganizare periodic a modelului.

    Exist un numr de reguli care se aplic n normalizare. n continuare vom prezentadoar primele trei reguli care sunt n msur s garanteze definirea unei structuri logice abazei 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 cheieprimar.

    Totodat, modelul logic de date reprezint o surs important de informaii pentru fazade proiectare fizic, punnd la dispoziia proiectantului bazei de date logice un mecanismcare s-i permit realizarea negocierilor, care sunt foarte importante pentru a face caproiectarea bazei de date s fie eficient. Totodat, acest model are un rol important n etapade ntreinere operaional din ciclul de via al unei aplicaii cu baze de date. Dac estentreinut i mbuntit adecvat, modelul de date permite efectuarea unor modificri viitoaren 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 uneibaze de date, n care proiectantul stabilete cum va fi ea implementat. Aa cum am vazutdeja, faza precedent presupunea realizarea unei structuri logice, cu alte cuvinte se refereala definirea relaiilor, atributelor i legturilor dintre ele. Cu toate c aceast structur esteindependent de SGBD-ul ales, ea se realizeaz conform unui model de date, aa cum estecel relaional. n realizarea proiectrii fizice, trebuie iniial identificat sistemul de baze de dateavut 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 fizicesunt luate decizii referitoare la mbuntirea performanelor, care pot ns afecta structuramodelului logic de date.

    n cele mai multe situaii, obiectivul principal al proiectrii fizice este de a descrie cumse 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, dininformaiile prezentate n modelul logic de date (modelul global);

    identificarea structurilor de stocare specifice i metodelor de acces la date, astfel nct sse garanteze obinerea unor performane optime cu sistemul respectiv;

    proiectarea mijloacelor care s asigure securitatea sistemului.

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 2010 15

  • 8/8/2019 Suport de Curs Info 23

    15/56

    Proiectarea i administrarea unei baze de date

    Proiectarea tranzaciilor

    n sens larg, putem defini o tranzacie ca o aciune sau o serie de aciuni efectuate deutilizator 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 unitatealogic de prelucrare asupra unei baze de date care include setul complet de operaiielementare ce trebuie executat n vederea realizrii unei tranziii, pentru asigurareaconsistenei i siguranei bazei de date. Aceeai autori consider c o tranziie se refer latrecerea de la o realizare la alta a unei baze de date i poate fi produs de modificareaconinutului unei tabele a bazei de date, de modificarea structurii acesteia, de adugareaunei noi tabele, etc.

    Tranzaciile reprezint evenimente din lumea real, cum ar fi adugarea unui nouangajat, nregistrarea unui nou client, nregistrarea unei note obinute de un student la odisciplin, etc. Aceste tranzacii trebuie aplicate bazei de date, pentru a garanta c dateleconinute n aceasta rmn la curent cu situaia din lumea real, dar i pentru a susinenevoile informaionale ale utilizatorilor.

    O tranzacie poate fi format din mai multe operaii, cum ar fi spre exemplu, transferulbanilor dintr-un cont n altul. Totui, din punctul de vedere al utilizatorului, aceste operaiirealizeaz o singur sarcin. Din perspectiva SGBD-ului, o tranzacie transfer baza de datedintr-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 realizatesunt stocate permanent n baza de date i nu pot fi pierdute sau anulate. Dac dintr-un motivoarecare, tranzacia nu poate fi terminat, SGBD-ul este n msur s garanteze cmodificrile realizate de acesta sunt anulate. n exemplul menionat anterior, cel altransferului de bani, dac banii sunt debitai ntr-un cont i tranzacia eueaz nainteacreditrii celuilalt cont, SGBD-ul va anula i debitarea. n cazul n care am defini cele douoperaii (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 creditareanu s-ar realiza).

    Trebuie s mai menionm i faptul c proiectarea unei tranzacii se bazeaz peinformaiile din specificaiile cerinelor utilizatorului. Exist numeroase tehnici de preluare igenerare a specificaiilor cerinelor, care includ i o notaie pentru specificarea tranzaciilorcerute de ctre utilizatori. Aceste tranzacii pot constitui operaii complexe care, atunci cndsunt analizate, se dovedesc a fi compuse, de fapt, din mai multe operaii, fiecare dintreacestea constituind cte o singur tranzacie.

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 201016

  • 8/8/2019 Suport de Curs Info 23

    16/56

    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 sistemelorinformaionale i a modificat fundamental modul de operare al unei organizaii. Astfel, ncadrul capitolului trei, am definit sistemul de gestiune a bazelor de date, am descris evoluian 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 principaleleavantaje 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 sistemde 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 definitca 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 bazede 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 unuilimbaj de nivel nalt, apropiat de modul obinuit de exprimare, pentru a obine informaii,utilizatorul fcnd abstracie de mijloacele i metodele folosite pentru alegerea datelorimplicate i a modului de memorare a lor. SGBD-ul este practic o interfa ntre utilizatori isistemul de operare.

    Termenul de baz de date se va referi la datele de prelucrat, la modul de organizare aacestora 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 aexistat un moment bine definit, n care s nceap tratarea prin baze de date i s ncetezesistemul bazat pe fiiere. De fapt, sistemul bazat pe fiiere mai exist nc i astzi nanumite domenii. S-a sugerat c SGBD-ul i are rdcinile n proiectul de aselenizare Apollodin anul 1960, care a fost iniiat ca rspuns la obiectivul preedintelui J.F. Kennedy de atrimite 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 necesitaproiectul.

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 2010 17

  • 8/8/2019 Suport de Curs Info 23

    17/56

    Sisteme de gestiune a bazelor de date

    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 GUAMpornea de la ideea c, toate componentele mai mici constituie pri ale unorcomponente mai mari i aa mai departe, pn la asamblarea produsului final. Aceaststructur, 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 sistemulGUAM n ceea ce este cunoscut sub denumirea de IMS7 (sistem de gestionare ainformaiilor). Motivul pentru care cei de la IBM au restrns sistemul IMS la administrareaierarhiilor nregistrrilor a fost de a permite utilizarea unor dispozitive de stocare seriale, maiales benzi magnetice, ceea ce constituia o cerin de pia n acel moment. Aceast restriciea fost abandonat ulterior. Cu toate c este unul dintre primele sisteme SGBD, IMS este nccel 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 fostcondus 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 subdenumirea de sistem SGBD n reea, care a avut un efect profund asupra sistemelorinformaionale din acea generaie. Baza de date n reea a fost realizat, parial, pentru arspunde necesitii de reprezentare a unor relaii dintre date mai complexe dect se puteaumodela cu ajutorul structurilor ierarhice i, parial, pentru a impune un standard pentru bazelede date. Pentru a contribui la stabilirea unor astfel de standarde, la Conferina despreLimbajele Sistemelor de Date (CODASYL9) din 1965, la care au participat reprezentani aiguvernului SUA i ai lumii afacerilor i comerului, s-a format Fora Operativ de Prelucrare aListelor, redenumit Grupul Operativ pentru Baze de Date (DBTG10) n 1967. Termenii dereferin ai grupului DBTG constau n definirea de specificaii standard pentru un mediu cares 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 treicomponente:

    schema de reea - organizarea logic a ntregii baze de date, aa cum este vzut dectre administratorii bazei de date i include o definire a denumirii bazei de date, a tipuluifiecrei nregistrri i a componentelor fiecrui tip de nregistrare;

    subschema - partea din baza de date, aa cum este vzut de ctre utilizator sau dectre programul aplicaie;

    un limbaj de gestionare a datelor, care s defineasc caracteristicile i structura datelor icare s le manipuleze.

    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 sdefineasc componentele bazei de date de care au nevoie;

    un limbaj de manipulare a datelor (LMD), pentru manipularea lor.

    7 Acronim pentruInformation Management System8 Acronim pentruIntegrated Data Store9COnference on DAta SYstems Language10Data Base Task Group

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 201018

  • 8/8/2019 Suport de Curs Info 23

    18/56

    Sisteme de gestiune a bazelor de date

    Cu toate c, formal, raportul nu a fost adoptat de ctre Institutul Naional Americanpentru Standarde (ANSI11), ulterior s-a realizat un numr de sisteme conform propuneriiDBTG. 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 maiimportante sunt:

    trebuie scrise programe complexe pentru a rspunde chiar i la interogri simple, bazatepe 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 foartemare influen despre modelul de date relaional. Acest articol, aprut exact la momentulpotrivit, analizeaz dezavantajele abordrilor prezentate mai sus. De atunci, au fostimplementate multe sisteme SGBD relaionale experimentale, primele produse comercialeaprnd la sfritul anilor 1970 i nceputul anilor 1980. De remarcat este proiectul SystemR, de la Laboratorul de Cercetare IBM din San Jose, realizat la sfritul anilor 1970 [Astrahanet al., 1976]. Acest proiect a fost ndeplinit pentru a demonstra caracterul practic al modeluluirelaional, prin realizarea unei implementri a structurilor de date i a operaiilor acestuia, faptcare a avut dou consecine majore:

    dezvoltarea unui limbaj de interogare structurat, denumit SQL, care de atunci a devenitlimbajul standard pentru sistemele SGBD relaionale;

    producerea de diverse sisteme SGBD relaionale la scar comercial, n decursul anilor1980; de exemplu, sistemele DB2 i SQL/DS de la IBM i Oracle de la compania cuacelai nume .

    n prezent, exist cteva sute de sisteme SGBD relaionale, att pentru mediimainframe, ct i pentru microcalculatoare, cu toate c multe dintre ele extind definiiamodelului relaional. Alte exemple de sisteme SGBD relaionale multiutilizator sunt: CS-OpenIngres de la compania Computer Associates i Informixde la Informix Software Inc.Cteva exemple de sisteme SGBD relaionale pentru microcalculatoare sunt: Access iFoxPro ale companiei Microsoft, Paradox i Visual dBase ale companiei Borland i R:Base alcompaniei Microrim. Sistemele SGBD relaionale sunt denumite sisteme SGBD din a douageneraie.

    Cu toate acestea, modelul relaional a cunoscut i eecuri - n particular, datoritcapacitilor sale de modelare limitate. De-a lungul timpului, s-au efectuat multe cercetricare 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. n1979, 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 deRM/V2 (1990). ncercrile de realizare a unui model de date care s reprezinte maindeaproape lumea real au primit denumirea nu prea inspirat de modelare semantic adatelor.

    Ca rspuns la complexitatea crescnd a aplicaiilor bazelor de date, au aprut dounoi sisteme: sistemele SGBD orientate spre obiecte (OODBMS12) i sistemele SGBD deobiecte relaionale (ORDBMS13). Totui, spre deosebire de modelele anterioare, compoziiaacestora nu este clar, iar aceast evoluie reprezint a treia generaie de sisteme SGBD.

    11 Acronim pentruAmerican National Standards Institute12 Acronim pentru Object-Oriented DataBase Management System13 Acronim pentru Object-Relational DataBase Management System

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 2010 19

  • 8/8/2019 Suport de Curs Info 23

    19/56

    Sisteme de gestiune a bazelor de date

    n prezent, datorit facilitilor pe care le ofer, constatm c cea mai mare parteabazelor de date sunt realizate cu ajutorul unor SGBD-uri relaionale i tot mai puine sebazeaz pe cele de generaia I. Totodat, trebuie remarcat i evideniat interesul tot maimare 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 esterealizat n acelai loc cu prelucrarea lor, bazele de date dispun de limbaje separate pentrudeclarare i prelucrare. Aceast separare se justific prin faptul c ntr-un program obinuitdatele 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 fiecareprelucrare realizat.

    Practic, un SGBD const n elemente software care interacioneaz cu programeleaplicaie ale utilizatorului i cu baza de date. Printre principalele faciliti care sunt oferite deun SGBD menionm:

    1. permite utilizatorului s defineasc baza de date, de obicei prin intermediul unui limbaj dedefinire a datelor(LDD), care permite fiecrui utilizator s specifice tipurile i structurile dedate, 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 cexist un depozit central al tuturor datelor i descrierilor acestora permite limbajului demanevrare s ofere o facilitate de interogare general a acestor date, denumit limbaj deinterogare. Existena unui limbaj de interogare elimin dificultile sistemelor bazate pefiiere, unde utilizatorul este constrns s lucreze cu un set fix de interogri pentru a evitaproliferarea de programe, care creeaz probleme majore privind gestionarea acestora.

    Exist dou tipuri de limbaje de manipulare a datelor:

    procedurale

    neprocedurale

    care se pot deosebi n funcie de operaiile de extragere. Principala diferen ntre eleconst n faptul c, de obicei, limbajele procedurale trateaz bazele de date nregistrarecu nregistrare, n timp ce limbajele neprocedurale opereaz asupra unor seturi denregistrri. n consecin, limbajele procedurale specific cum se va obine rezultatul uneiinstruciuni LMD, iar cele neprocedurale descriu numai ce date vor fi obinute. Cel mai

    obinuit tip de limbaj neprocedural este limbajul structurat de interogare (SQL - pronunatEs-Q-L sau, uneori, Sii-Quel), care reprezint acum att limbajul standard, ct i celde 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 ctreutilizatori neautorizai;

    un sistem de integritate, care menine concordana datelor stocate;

    un sistem de control al concurenei, care permite accesul partajat la baza dedate;

    un sistem de control al refacerii, care restaureaz baza de date ntr-o stareprecedent concordant, ca urmare a unei defeciuni la nivel hardware sausoftware;

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 201020

  • 8/8/2019 Suport de Curs Info 23

    20/56

    Sisteme de gestiune a bazelor de date

    un catalog accesibil utilizatorilor, care conine descrieri ale datelor din baza dedate.

    Datorit funcionalitilor pe care le ofer, SGBD-urile constituie instrumente extrem deutile. Totui, deoarece pe utilizatori nu-i intereseaz ct de complex sau de uoar estepentru sistem o anumit sarcin, s-ar putea argumenta c sistemul SGBD a fcut calucrurile s devin mai complexe, deoarece acum se pot vedea mai multe date dect estecu adevrat necesar sau dect se dorete. Ca o recunoatere a acestei probleme,sistemul SGBD prezint o alt facilitate, cunoscut sub denumirea de mecanism devizualizare, care permite fiecrui utilizator s-i defineasc propriul mod de vizualizare abazei de date. Limbajul LDD permite definirea de moduri de vizualizare, n care acesteareprezint un subset al bazei de date.

    4. ofer un anumit nivel de securitate. Modurile de vizualizare pot fi realizate astfel nct snu includ datele ce nu trebuie cunoscute de anumii utilizatori. De exemplu, s-ar puteacrea un mod de vizualizare care s permit unui administrator de filial i departamentuluiContabilitate s afieze toate datele referitoare la personalul unei instituii, inclusivdetaliile 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 puteamodifica relaiile, diviza, restructura sau redenumi anumite fiiere). Dac sunt adugatesau eliminate cmpuri dintr-un fiier, iar acestea nu sunt cerute de ctre modul devizualizare, el nu este afectat de ctre modificarea realizat. Prin urmare, modul devizualizare contribuie la asigurarea independenei program-date.

    Analiza prezentat mai sus este una general. Nivelul real de funcionalitate a unuiSGBD difer de la produs la produs. De exemplu, s-ar putea ca un SGBD pentru uncalculator 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 suntprograme extrem de complexe, formate din milioane de linii de cod, cu documentaiaconstnd n multe volume. Acesta este un rezultat al necesitii de realizare a unor programecare s trateze cerine de o natur mai general. Mai mult, n zilele noastre, utilizarea unuiSGBD necesit sisteme care s prezinte un grad de fiabilitate i de disponibilitate de aproape100%, chiar n cazul unor defeciuni, fie la nivel hardware, fie software. Totodat, toateSGBD-urile trebuie s evolueze i s se dezvolte permanent, dar necesit i o perfecionarecontinu pentru a prentmpina noile cerine ale utilizatorilor. De exemplu, dac uneleaplicaii necesit stocarea de imagini grafice, video, sunete, etc. pentru satisfacerea acesteipiee, SGBD-urile trebuie s se modifice. Cel mai probabil c o nou funcionalitate va fimereu 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 abazelor de date beneficiaz de promitoare avantaje poteniale, ns, din pcate, exist iunele dezavantaje.

    Avantajele SGBD-urilor

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 2010 21

  • 8/8/2019 Suport de Curs Info 23

    21/56

    Sisteme de gestiune a bazelor de date

    1.Controlul redundanei datelor

    Aa cum am mai menionat, n sistemele tradiionale bazate pe fiiere se fcea risipde spaiu prin stocarea acelorai informaii n mai multe fiiere. Prin contrast, n tratarea prinbaze de date se ncearc eliminarea redundanei prin integrarea fiierelor, astfel nct s nuse stocheze mai multe copii ale acelorai date. Totui, n tratarea prin baze de date nu seelimin n ntregime redundana, ci se controleaz volumul inerent al acesteia n baza dedate. Uneori, pentru modelarea relaiilor, este necesar dublarea unor articole de date cheie.Alteori, pentru mbuntirea performanelor, este de dorit s se dubleze unele articole dedate.

    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 avalorii 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 aceasta, el poate garanta c toate copiile articolului respectiv sunt meninutecoerente. Din pcate, multe dintre sistemele SGBD actuale nu garanteaz automat acest tipde coeren.

    3.Mai multe informaii de la aceeai cantitate de date

    Odat cu integrarea datelor operaionale, ar putea fi posibil ca organizaia respectivs extrag informaii suplimentare din aceleai date.

    4.Partajarea datelor

    n general, fiierele sunt deinute de ctre persoanele sau departamentele care leutilizeaz. Pe de alt parte, baza de date aparine ntregii organizaii sau instituii i poate fipartajat de ctre toi utilizatorii autorizai. n acest mod, mai muli utilizatori partajeaz ocantitate mai mare de date. Mai departe, se pot construi noi aplicaii bazate pe dateleexistente n baza de date, n timp ce datele adiionale (care nu sunt stocate n mod curent) sepot 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 imanipularea datelor i controlul concurenei i refacerii) n loc de a fi necesar s le furnizezeele 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, pecare baza de date trebuie s le respecte. Constrngerile se pot aplica articolelor de datedintr-o singur nregistrare sau relaiilor dintre diferite nregistrri. Spre exemplu, oconstrngere privind integritatea ar putea stabili c salariul unui angajat nu poate fi mai marede o mie de euro sau c nota pe care o obine un student la o disciplin nu poate fi mai micde patru. Din nou, integrarea permite administratorului bazei de date s defineasc (iar bazeide date s ntreasc) constrngerile privind integritatea.

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 201022

  • 8/8/2019 Suport de Curs Info 23

    22/56

    Sisteme de gestiune a bazelor de date

    6.Securitate sporit

    Securitatea se refer la protecia bazei de date fa de utilizatorii neautorizai. Frmsuri de securitate clare i adecvate, integrarea face ca datele s fie mult mai vulnerabiledect n cazul sistemelor bazate pe fiiere. Totui, integrarea va permite administratorului

    bazei de date s defineasc (iar bazei de date s ntreasc) securitatea acesteia. Aceastase poate realiza prin atribuirea unor nume de utilizatori i parole, care s permit identificareapersoanelor autorizate s utilizeze baza de date (fiecare persoana poate accesa, n funciede poziia pe care o are n organizaie, un anumit set de date). Accesul la date permis unuiutilizator autorizat poate fi limitat de tipul operaiei efectuate (extragere, inserare,reactualizare, tergere). De exemplu, administratorul bazei de date are acces la toate dateledin baza de date, un manager de fIlial ar putea accesa doar datele legate de filialarespectiv, n timp ce un utilizator de la compartimentul Vnzriar putea avea acces numaila datele referitoare la proprieti, dar nu i la datele sensibile, cum ar fi detaliile despresalariile angajailor sau contractele ncheiate.

    7.Aplicarea standardelor

    Din nou, integrarea permite administratorului bazei de date s defineasc i s aplicetoate standardele necesare. Acestea ar putea include standarde departamentale,organizaionale, naionale sau internaionale (pentru diferite aspecte, cum ar fi formatuldatelor) 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 icrearea unui set de aplicaii care s funcioneze pentru aceast unic surs de date pot aveaca rezultat micorarea costurilor. n acest caz, s-ar putea combina bugetele care ar fi fostalocate n mod normal fiecrui departament pentru dezvoltarea i ntreinerea propriuluisistem bazat pe fiiere, ceea ce ar putea duce la un total mai sczut al cheltuielilor, avnd carezultat o economie de scal. Bugetul combinat poate fi utilizat pentru achiziionarea uneiconfiguraii 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 calculsporit sau ntr-o reea de calculatoare mai mici.

    9.Echilibrul ntre cerinele aflate n conflictFiecare 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 administratoruluibazei de date, acesta poate lua decizii privind proiectarea i utilizarea operaional aacesteia, care s duc la folosirea optim a resurselor pentru organizaia luat n ansamblu.Aceste decizii vor realiza performane optime ale aplicaiilor majore, posibil n detrimentulcelor mai puin importante.

    10.mbuntirea accesibilitii datelor i capacitii de rspuns

    Ca rezultat al integrrii, datele care depesc graniele unui departament sunt directaccesibile utilizatorilor finali. Aceasta creeaz un sistem cu o mult mai mare funcionalitatepotenial dect ar putea fi folosit, de exemplu, pentru furnizarea unor servicii mai bune

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 2010 23

  • 8/8/2019 Suport de Curs Info 23

    23/56

    Sisteme de gestiune a bazelor de date

    utilizatorului final sau clienilor organizaiei. Multe SGBD-uri ofer limbaje de interogare saugeneratoare de rapoarte, care permit utilizatorilor s formuleze ntrebri ad-hoci s obinaproape imediat afiarea informaiilor cerute la terminal, fr a fi nevoie de un programatorcare s scrie un program de extragere a acestora din baza de date. De exemplu, unmanager 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:

    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, pecare ar trebui s le scrie n mod normal programatorul, n cazul unei aplicaii bazate pefiiere. La nivel fundamental, SGBD-ul ofer toate rutinele de nivel jos pentru manevrarea

    fiierelor, tipice n programele aplicaie. Furnizarea acestor funcii permite programatorului sse concentreze mai mult asupra funcionalitii specifice cerute de ctre utilizatori, fr ns ase preocupa de detaliile de nivel jos privind implementarea. Multe sisteme SGBD furnizeazi un mediu din a patra generaie, care const n instrumente de simplificare a dezvoltrii deaplicaii n domeniul bazelor de date. Aceasta are ca rezultat o productivitate crescut aprogramatorului i un timp redus de programare (mpreun cu reducerea corespunztoare acosturilor).

    12.ntreinere mbuntit datorit independenei datelor

    Descrierile datelor i logicii de accesare a lor n cadrul sistemelor bazate pe fiiereerau 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 40pentru adres sau schimbarea modului de stocare a datelor pe suport fizic) poate necesitaschimbri importante n programele afectate de modificrile produse. Prin contrast, ntr-unSGBD, descrierile datelor sunt separate de aplicaii, ceea ce face ca acestea s fie imune lamodificrile din descrierea datelor. Aceast caracteristic este cunoscut sub denumirea deindependen fa de date (sau independena datelor). Realizarea independenei datelorsimplific substanial ntreinerea aplicaiilor din baza de date.

    13.Concuren mbuntit

    Majoritatea sistemelor bazate pe fiiere se confruntau adesea cu o problemimportant, cu influene negative asupra ceea ce nseamn gestionarea eficient aconinutului unui baze de date. Astfel, dac doi sau mai muli utilizatori aveau permisiunea dea accesa simultan acelai fiier, se ntmpla ca cele dou accesri s se suprapun, ceea ceavea evident ca rezultat pierderea informaiilor sau chiar alterarea integritii datelorrespective. n ceea ce privete un SGBD, una dintre sarcinile importante care-i revin acestuiase refer la administrarea accesului concurent la baza de date, fapt care are dreptconsecin garania evitrii apariiei unor astfel de probleme.

    14.mbuntirea serviciilor de salvare de siguran i refacereMulte 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

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 201024

  • 8/8/2019 Suport de Curs Info 23

    24/56

    Sisteme de gestiune a bazelor de date

    programului aplicaie. Aceasta ar putea presupune realizarea unei copii de siguran adatelor la intervale scurte de timp (spre exemplu, n fiecare zi). Apariia unei defeciuni la unmoment dat, va avea drept consecin preluarea ultimei copii de siguran, precum ireluarea muncii realizate n intervalul de timp scurs de la ultima salvare realizat. Spredeosebire 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 dedezavantaje, iar cele mai importante sunt menionate n continuare.

    1.Complexitatea

    Proiectarea funcionalitii unui SGBD optim face ca acesta s devin un elementsoftware 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 ndetaliu) aceast funcionalitate, pentru a putea profita de ea la maximum. Eecul n nelegerea sistemului poate cauza fundamentarea i luarea unor decizii greite aferenteetapei de proiectare, care, n mod cert, pot conduce la consecine negative importante pentrufiecare 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 pecare o ofer. De exemplu, un SGBD cu un singur utilizator, pentru un calculator personal,poate costa numai 100 euro. Cu toate acestea, un SGBDmainframe, multi-utilizator, caredeservete sute de utilizatori, poate fi extrem de scump . Mai exist i cheltuielile periodiceanuale 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 cunecesitile 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 icel al prelucrrilor de realizat este mare (mai ales n cazul gestionrii datelor la nivelulbazelor de date distribuite14).

    3.Costurile adiionale specifice componentelorhardwareCerinele 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 performanelordorite, ar putea fi necesar cumprarea unui calculator mai performant, poate chiar unuldestinat rulrii SGBD-ului. Astfel, este clar c achiziionarea de componente hardwareadiionale conduce la creterea cheltuielilor.

    4.Costul conversiei

    n unele cazuri, costul unui SGBD i al componentelor hardware adiionale poate finesemnificativ, comparativ cu costul conversiei aplicaiilor existente, necesare ca acestea s

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

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 2010 25

  • 8/8/2019 Suport de Curs Info 23

    25/56

    Sisteme de gestiune a bazelor de date

    poat funciona n noul SGBD i n noua configuraie hardware. Acest cost include i preulinstruirii personalului pentru a putea utiliza noile sisteme i, posibil, angajarea unui personalspecializat, care s ajute la conversia i funcionarea sistemului. Aceste cheltuieli reprezintunul dintre motivele principale pentru care unele organizaii se mpiedic de sistemeleexistente i nu pot trece la tehnologia modern specific bazelor de date. Termenul desistem 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 nivelsoftware n detrimentul achiziionrii unui produs software nou i care este n concordan cunecesitile cerute. ns, aceast soluie este una important, cu implicaii directe asupracheltuielilor realizate, dar i a modului de lucru specific personalului de care se dispune la unmoment dat.

    5.Dimensiunea

    Complexitatea i extinderea funcionalitii fac din SGBD-uri elemente software destulde cuprinztoare, ce ocup mult spaiu pe suportul fizic i necesit o memorie 15 substanialpentru a funciona eficient i corect.

    6.Performana

    De obicei, un sistem bazat pe fiiere este realizat pentru o anumit aplicaie, cum ar fifacturarea. Ca rezultat, performanele sunt, de regul, foarte bune. Totui, SGBD-ul estecreat 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 deeficient.

    7.Impactul crescut al unei defeciuni

    Centralizarea resurselor mrete vulnerabilitatea sistemului. Din moment ce toiutilizatorii i toate aplicaiile se bazeaz pe disponibilitate din partea SGBD-ului, eeculoricrei componente a acestuia poate duce la sistarea tuturor operaiilor.

    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 aasigura accesul fizic la datele bazei de date. Toate aciunile motorului SGBD suntrealizate unitar i respect restriciile impuse de legturile dintre date, dar i de regulile deintegritate ale bazei de date definite n dicionarul de date. Principalele responsabiliti alemotorului 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;15 Evident, ne referim la memoria RAM(Random Access Memory) a calculatorului pe care se gsete i ruleazSGBD-ul respectiv.

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 201026

  • 8/8/2019 Suport de Curs Info 23

    26/56

    Sisteme de gestiune a bazelor de date

    blocarea i deblocarea datelor n cazul operaiilor fizice la nivelul memoriei externe;

    subsistemul instrumentelor de proiectare dispune de un set de instrumente softwarecare permit proiectarea i generarea bazei de date i a aplicaiilor care descriu modul deutilizare 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 asisten on-line pentru autodocumentarea utilizatorului.

    subsistemul de execuie permite execuia aplicaiilor sau cererilor de consultare a bazeide date, formulate prin utilizarea instrumentelor subsistemului de proiectare, princonsultarea dicionarului de date i generarea tranzaciilor. Aceasta este componentacare garanteaz autonomia logic a datelor n baza de date i are rolul de a intermediaoperaiile cu baza de date prin consultarea descrierii organizrii logice a datelormemorate n structura bazei de date. Practic, fiecare operaie de actualizare sau

    consultare a bazei de date se realizeaz prin identificarea formatelor de descriere adatelor din dicionarul de date i conectarea acestor descrieri din schema intern a bazeide date

    Funciile SGBD-ului

    n [Velicanu et al., 2003, p.104-107] se arat c ndeplinirea tuturor obiectivelor unuiSGBD se realizeaz prin intermediul unor componente care permit efectuarea unor operaiispecifice. n funcie de natura lor, dar i de scopul urmrit, operaiile pot fi grupate peactiviti. 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 unuiSGBD, de facilitile pe care le pune la dispoziie, de limbajele utilizate, precum i de modulde implementare al modelului de date, gruparea activitilor pe funcii are un anumit caracterrelativ.

    Plecnd de la modelul de date pe care l implementeaz, SGBD-urile secaracterizeaz printr-un numr de particulariti identificate prin operaii i activiti specifice.n pofida acestor particulariti, exist cteva funcii general valabile pentru toate tipurile deSGBD; acestea sunt funcii importante, pe care un sistem software, dac nu le are ntotalitate, nu poate fi considerat SGBD. Astfel, principalele funcii pe care le putem atribuiunui SGBD sunt: descrierea datelor, manipularea datelor, utilizarea i administrarea bazei dedate.

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

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 2010 27

  • 8/8/2019 Suport de Curs Info 23

    27/56

    Sisteme de gestiune a bazelor de date

    Descrierea datelor

    Prin intermediul funciei de descriere a datelor, fiecare SGBD permite definirea uneistructuri a bazei de date cu ajutorul limbajului de definire a datelor (LDD). Definirea datelorpoate 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, sedefinesc criteriile de validare a datelor (dac este cazul), metodele care asigur accesareadatelor, precum i aspectele care se refer la asigurarea integritii datelor. Concretizareaacestei 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 detimp.

    Aceast funcie a fost mult automatizat n timp, limbajul de descriere a datelorbeneficiind n prezent de puine comenzi. Acest limbaj este specific fiecrui SGBD, dar elmereu realizeaz descrierea lor conform elementelor modelului de date pe care limplementeaz SGBD-ul respectiv. Astfel se realizeaz definirea i descrierea entitilor i acaracteristicilor lor, definirea legturilor dintre obiectele identificate (asocierile) i a regulilorde integritate specifice modelului de date.

    Manipularea datelor

    Funcia de manipulare a datelor este cea mai complex i realizeaz actualizarea iregsirea datelor din baza de date, cu ajutorul limbajului de manipulare a datelor17.

    Manipularea datelor este cea mai folosit funcie n bazele de date, fiind cea mai binesuportat de sistemul de gestiune a bazelor de date fa de oricare alt sistem de gestionare adatelor 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 alocriispaiului din memoria calculatorului.

    Menionam n paragraful anterior c limbajul de manipulare a datelor este cel careasigur realizarea acestei funcii. n ceea ce-l privete, acest limbaj trebuie s respecterestriciile de integritate a datelor i s implementeze operatorii din modelul de date pe carese bazeaz SGBD-ul cruia i aparine.

    Aceast funcie presupune derularea urmtoarelor activiti:

    ncrcarea datelor n baza de date - se realizeaz prin operaii automatizate sauprogramate ce asigur i criteriile de validare necesare;

    actualizarea bazei de date se refer la operaiile de adugare, modificare i tergere denregistrri. La operaiile de adugare i de modificare se pstreaz aceleai criterii devalidare care s-au folosit i la activitatea de ncrcare a datelor. Actualizarea serealizeaz 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. efectuateasupra entitilor bazei de date. Acestea sunt, de obicei, operaii pregtitoare activitii deregsire a datelor. Multe din operaiile de prelucrare sunt realizate cu ajutorul operatorilordin 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

    17 n literatur ntlnim frecvent iLimbaj de Manevrare a Datelor

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 201028

  • 8/8/2019 Suport de Curs Info 23

    28/56

    Sisteme de gestiune a bazelor de date

    tehnici de informaie (ecran, hrtie, mediu magnetic, mediu optic). Ele pot avea cele maidiferite forme (punctuale, liste, rapoarte, grafice, imagini, sunet, video, etc) i se potobine dup cele mai diferite criterii de regsire.

    Funcia de utilizare

    Aceast funcie are rolul de a asigura interfeele necesare care s permitcomunicarea utilizatorilor cu baza de date (cu alte cuvinte, s asigure legtura dintre utilizatori baza de date). Pentru realizarea acestei funcii, SGBD-ul trebuie s ofere faciliti pentrumai multe categorii de utilizatori ai bazei de date, i anume: neinformaticieni, specialiti(informaticieni) i administratorul.

    Utilizatorii neinformaticienireprezint principala categorie a beneficiarilor de informaii(utilizatori finali i intensivi) din baza de date. SGBD-ul le ofer acestora limbajeneprocedurale, dar i alte faciliti de interogare (generatoare, utilitare, etc.) a bazei de datentr-o form simpl i interactiv. Aceti utilizatori nu trebuie s cunoasc structura bazei dedate 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:

    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 nmsur s creeze structura bazei de date i s realizeze proceduri complexe de exploatare aacesteia. SGBD-ul ofer acestor utilizatori limbajul de descriere i limbajul de manipulare adatelor precum i interfee cu limbaje universale. Acestea sunt de complexitate i puterediferit, de la un SGBD la altul, oferind att elemente neprocedurale ct i proceduralespecialistului n informatic. Cu aceste elemente el poate s descrie schema bazei de date is asigure manipularea complex a datelor.

    Administratorulbazei de date este un utilizator special i are un rol hotrtor n ceeace privete funcionarea optim a ntregului sistem. Datorit importanei acestei categorii deutilizatori, SGBD-ul are o funcie distinct n acest sens.

    Administrarea bazei de date

    Funcia de administrare este una destul de complex i din acest motiv se considerc este doar de competena administratorului bazei de date.

    Administratorul, care are o bogat experien de analiz, proiectare i programare,organizeaz i administreaz baza de date n toate etapele de realizare a acesteia. Astfel, elorganizeaz baza de date conform unei anumite metodologii, realizeaz schema

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 2010 29

  • 8/8/2019 Suport de Curs Info 23

    29/56

    Sisteme de gestiune a bazelor de date

    conceptual a acesteia i coordoneaz proiectarea ei. Pentru toate aceste aspecte, SGBD-ulofer o serie de instrumente CASE18, precum i o serie de utilitare specializate.

    n etapa de exploatare a bazei de date, administratorul ndeplinete mai multe roluri:

    de a autoriza accesul la date (creaz conturi de acces, parole, etc.);

    de a reface baza de date n caz de incidente (prin jurnalizare, copii de siguran);

    de a utiliza eficient spaiul de memorie intern i extern (prin organizare, rutine deoptimizare);

    de a realiza o serie de analize statistice din baza de date (numr i tip de utilizatori,numr de accese, numr de actualizri, etc.).

    Pentru fiecare din activitile menionate mai sus, SGBD-ul ofer instrumente i tehnicide lucru.

    n cazul lucrului n reea, cu baze de date distribuite, SGBD-ul are dezvoltate foartemult componentele destinate administratorului. Acest lucru este determinat de faptul c baza

    de date este, n acest caz, de mare complexitate, datele sunt distribuite pe calculatoarelereelei, iar utilizatorii sunt de toate tipurile i n numr mare.

    18 Instrumentele CASE (Computer Aided Software Engineering) sunt aplicaii informatice, formate din mai multecomponente, care ajut la realizarea unui proiect software, n anumite etape (sau n toate etapele) din ciclul de via al unei

    aplicaii. Obiectivul principal al instrumentelor CASE const n punerea n practic a produselorprogram de proiectare irealizarea softwarelui cu ajutorul calculatorului. Instrumentele oferite de CASE sunt utilizabile din faza de definire acerinelor pn la ntreinerea fizic a produsului informatic [Oprea, 1999, p.123].

    Baze de date Suport de curs Curs postuniversitar Informatic Galai - 201030

  • 8/8/2019 Suport de Curs Info 23

    30/56

    Abordarea relaional a bazelor de date

    Capitolul IV Abordarea relaional a bazelor de date

    ****************************************************************************************

    Obiectivele capitolului

    Principalul obiectiv al capitolului IV este acela de a oferi o viziune general asupra relaionriidatelor dintr-o baz de date. Astfel, n acest capitol am urmrit:

    prezentarea regulilor lui Codd pe care se bazeaz ntreaga abordare relaional;

    identificarea i prezentarea fundamentelor specifice modelului relaional; definirea tipurilor de chei ntlnite la nivelul unei relaii;

    definirea tipurilor de legturi dintre relaii; nelegerea mecanismului cheii strine;

    prezentarea principalilor operatori ai algebrei relaionale.

    ****************************************************************************************

    Aa cum reiese din literaura de specialitate, au existat n timp mai multe modele de

    reprezentare a informaiilor la nivel logic i de operare: reea;

    ierarhic;

    relaional.

    n cadrul acestui capitol vom analiza detaliat cel mai utilizat model de reprezentare,utilizat n prezent pe scar larg, i anume modelul relaional.

    Regulile lui CoddPentru a fi considerat relaional, fiecare sistem de gestiune a bazelor de date trebuie

    s respecte nite reguli, ntlnite n literatur sub numele de regulile lui Codd. Modelul destocare a datelor sub forma unei baze de date relaionale s-a dezvoltat pornind de la unarticol aprut n anul 1970, A relational Model of Data for Large Shared Data Banks, i careaparine cercettorului Codd [Codd, 1970, p.377-387]. Astfel, regulile enunate de cercettorsunt prezentate n continuare:

    R0 Gestionarea datelor la nivel de relaie.

    Toate informaiile din baza de date sunt gestionate numai pri