Sunteți pe pagina 1din 19

TEMA VI TEORIA BAZELOR DE DATE SI A SISTEMELOR DE GESTIUNE A BAZELOR DE DATE Uniti de nvare: definiia, arhitectura bazelor de date modele

le de date (modelul ierarhic, modelul reea, modelul relaional, modelul orientat-obiect) abordarea relaional (baza de date relaional, operatori relaionali , proprieti ale bazelor de date relaionale, proprietile relaiilor tabelare) baze de date ORACLE (ce este baza de date ORACLE?, opiuni ORACLE, produsele ORACLE, mediul de dezvoltare auxiliar -CDE, faciliti ORACLE) tendine n managentul datelor apecte privind analiza i interpretarea datelor noi modele de date i aplicaiile lor Obiectivele temei: conceptul i arhitectura bazelor de date prezentarea modelelor de date (modelul ierarhic, modelul reea, modelul relaional, modelul orientat-obiect) abordarea relaional (baza de date relaional, operatori relaionali, proprieti ale bazelor de date relaionale, proprietile relaiilor tabelare) prezentarea bazei de date ORACLE (ce este baza de date ORACLE?, opiuni ORACLE, produsele ORACLE, mediul de dezvoltare auxiliar CDE, faciliti ORACLE) tendine n managentul datelor aspecte privind analiza i interpretarea datelor noi modele de date i aplicaiile lor Timpul alocat temei: 4 ore Bibliografie recomandat: BUE Florian, Utilizarea tehnologiei informaiei n domeniul managerial, Editura Dacia, Cluj-Napoca, 2002 Lungu, I., Bodea, C., Bdescu, C., Ioni, C. Baze de date: organizare, proiectare i implementare, Editura ALL, Bucureti, 1995. Velicanu, M., Lungu, I., Muntean, M., Iorga, M., Ionescu, S. Oracle, platform pentru baze de date, Editura Petrion, Bucureti, 2002 Somnea, D., Calciu, M. Ghidul managerului pentru noile tehnologii informatice i de comunicaie, Editura LUCMAN, Bucureti, 2002. 6.1. Definiia bazelor de date Nucleul central al unui sistem de management al infirmaiei (SMI) este reprezentat de baza de date a organizaiei. Datele sunt colectate deoarece reprezint o surs potenial de informaii valoroase. Interogarea i analiza datelor pentru descoperirea informaiilor de valoare sunt o sarcin dificil. Este nevoie de modaliti de stocare i regsire rapid a datelor, dar i a informaiilor i de dezvoltare de aplicaii specifice. 89

Baza de date este o colecie persistent, coerent logic, de date legate ntre ele. Spre deosebire de fiier, care reprezint tot o colecie de date, n cazul unei baze de date, datele sunt definite o singur dat i sunt accesate de diferii utilizatori. n cazul lucrului cu fiiere, fiecare utilizator i definete i utilizeaz fiierele de care are nevoie. O baz de date este proiectat, construit i populat cu date ntr-un scop precis. Un utilizatror al bazei de date trebuie s poat: - aduga fiiere noi, vide; - insera noi date n fiierele existente; - regsi datele din fiiere; - actualiza date; - terge date; - elimina fiiere din baza de date. Exemplu. O firm realizeaz diferite proiecte, avnd resurse specifice. Se va dori memorarea datelor despre proiecte, despre elementele folosite n proiecte i furnizorii acestora, despre depozitele unde sunt memorate elementele proiectelor, despre angajai etc. Proiectele, elementele proiectelor, furnizorii, depozitele, angajaii etc constituie entitile de baz despre care firma vrea s memoreze informaii. Pe lng entiti, este important de cunoscut relaiile dintre entiti. De notat c o relaie poate s fie la rndul ei considerat o entitate. 6.2. Arhitectura bazelor de date Exist diferite arhitecturi pentru sistemele di baze de date. Dintre acestea, arhitectura ANSI/SPARC este una dintre cele mai cunoscute (figura 6.1). Nivel extern (viziune utilizator individual) Nivel conceptual viziune (comunitate de utilizatori) Nivel intern (punct de vedere memorare) Figura 6.1. Arhitectura ANSI/SPARC cu trei nivele O alt arhitectutr care s-a impus n ultimul deceniu este arhitectura client/server: sistemul bazei de date poate fi considerat ca alctuit dintr-un server (backend) i mai muli clieni (frontends). Serverul este sistemul de gestiune a bazei de date (SGBD) n sine. Clienii sunt diferitele aplicaii care sunt executate (figura 6.2.). Sistemul de gestiune a unei baze de date (SGBD) este o colecie de programe care permit crearea i ntreinerea bazei de date. Un SGBD are trei componente importante: - subsistemul de memorare care inregistreaz i regsete datele din fiiere;

90

- subsistemul de modelare i manipulare a datelor care conine procedurile de organizare a datelor i de operare asupra lor (adugare, modificare, tergere) i de control la partajarea datelor i acces concurent (tranzacii multi-user). - interfaa dintre SGBD i utilizatori. End-users

Aplicaii

Clieni

SGBD

Server

Baza de date Figura 6.2. Arhitectura client-server Structura detailat i informaiile despre organizarea fiecrui fiier din baza de date sunt nregistrate ntr-un catalog. 6.3. Modele de date Modelul de date descrie o manier de structurare i manipulare a datelor dintr-o baz de date. Partea de structur se refer la cum sunt reprezentate datele: tabele, structuri ierarhice etc. Partea de manipulare a unui model specific operaiile ce se pot aplica datelor pentru a realiza adugare, inserare , modificare, tergere, sortare, selecie etc. Comenzile pentru realizarea unor astfel de operaii sunt specificate ntr-un limbaj de interogare. Comenzile din limbajul de interogare sunt traduse n secvene de instruciuni main pe care subsitemul de memorare le folosete pentru manipularea datelor. Exist diferite limbaje de interogare, unele fiind specializate pentru realizarea unor funcii anume. Astfel limbajul Soundex este utilizat de unele companii aeriene pentru a lega numele unui pasager de rezervare. Numele sunt memorate fonetic i pot fi regsite chiar dac sunt scrise greit. Interfaa cu utilizatorii este de tip limbaj natural cu un vocabular specializat i cu reguli de interogare bazate pe vocabular. Entitate = atribute Articol = cmpuri 6.3.1. Modelul ierarhic Primele SGBD-uri foloseau un model ierarhic, articolele (nregistrrile) fiind aranjate ntr-o structur arborescent. Modelul a fost dezvoltat deoarece n aplicaiile comerciale, relaiile ierarhice sunt frecvente. Structura unei organizaii poate fi i ea ierarhic (structura piramidal). n modelul ierarhic unele articole sunt articole rdcin, iar celelalte au articole printe unice. Structura arborelui coincide cu ordinea de utilizare a datelor: nti se acceseaz articolul din rdcin 91

iar apoi cele de pe urmtorul nivel etc. SGBD-urile ierarhice utilizeaz un limbaj de interogare de tip navigator. Pentru a manipula anumite date se navigheaz pe structura de arbore pn se ajunge la datele dorite (figura 6.3). Comenzile de navigare sunt proceduri care trebuie scrise de programatori. Segment Produs Rdcin Descriere Cost

Furnizor 3

Furnizor 2

Furnizor 1

Num

Num Segmente subordonate

Num

Figura 6.3. Modelul ierarhic 6.3.2. Modelul reea Modelul reea aranjeaz articolele ntr-o list cu legturi de tip graf orientat. Un articol din baza de date poate avea mai muli prini. Ca i modelul ierarhic, modelul de tip reea folosete un limbsaj de interogare bazat pe navigare. Modelul a fost folosit n procese tranzacionale n timp real cum sunt reelele ATM. Produs Descriere Cantitate Cost Furnizor Nume

Furnizor Furnizor

Nume Nume

Produs Descriere Cantitate Cost ... Figura 6.4. Modelul reea

92

Att n modelul ierarhic ct i n modelul de tip reea, bazele de date dezvoltate sunt specifice aplicaiei. Dac se dezvolt o nou aplicaie trebuie s se dezvolte i o nou baz de date. Acest lucru este dezavantajos deoarece pstrarea consistenei bazei de date n diferite aplicaii este foarte dificil. 6.3.3. Modelul relaional n limbajul relaional tabela este relaia, linia este tuplul iar coloana atributul. Astfel modelul relaional este perfect fundamentat matematic de algebra relaiilor. O tabel este unic identificat de o cheie primar, respectiv o coloan (cmp, atribut) sau o combinaie de coloane cu proprietatea c nu exist dou linii din tabel care s aibe aceeai valoare pentru cheia primar. Un domeniu este o mulime de valori posibile pentru atribute specifice relaiei. Cheia primar este un caz special de cheie candidat (candidate key). O cheie candidat pentru o relaie R este o submulime K de atribute ale lui R cu proprietatea de unicitate i de ireductibilitate. Proprietatea de unicitate spune c nu exist dou tuple din R care s aibe aceai valoare pentru K, iar proprietatea deireductibilitate const n faptul c nici un subset propriu al lui K nu are proprietatea de unicitate. Structured Query Language (SQL) este limbajul de manipulare a datelor SQL este nonprocedural i nedeclarativ. Utilizatorul trebuie s specifice numai o descriere n englez a operaiei dorite i a articolelor implicate. Un modul de optimizare a interogrii traduce descrierea ntr-o procedur care realizeaz manipularea cerut. Bazele de date relaionale nu trebuie s fie specifice aplicaiei. Modelul relaional asigur independena datelor, respectiv abilitatea bazei de date de a exista independent de aplicaie. 6.3.4. Modelul orientat-obiect Modelul orientat-obiect reprezint cea mai recent abordare, n care articolele sunt reprezentate de obiecte. Un obiect este o combinaie de cod (funcie) i date (variabile) asociate ntr-o singur entitate. Funciile unui obiect sunt numite metode sau funcii membru, iar datele se numesc proprieti sau date membru. Apelarea unei metode ntr-un obiect este deobicei denumit transmitere de mesaj (send). Un obiect aparine unei clase de obiecte similare. Clasa este o descriere a modului de construcie a unui obiect. Obiectele sunt ncapsulate, adic utilizatorii obiectelor nu vd reprezentarea lor intern dar tiu cle pot manipula prin metode. Se spune uneori despre obiecte c au memorie particular i interfa public. 6.4. Abordarea relaional 6.4.1. Baza de date relaional Principiile modelului relaional au fost pentru prima dat expuse de Dr. E. F.Codd, care n iunie 1970 a publicat un articol numit Un model relaional de date pentru marile bnci de date. n acest articol Dr. Codd a propus modelul relaional pentru sistemele de baze de date. Baza de date relaional este perceput de utilizatorii si ca o colecie de tabele bidimensionale. Sunt patru concepte cu care opereaz o baz de date relaional: 93

tabele; coloane; rnduri; cmpuri. Modelul relaional imit procesele unei ramuri a algebrei cunoscut sub numele de algebra relaional. Aceste procese implic: o colecie de obiecte cunoscute sub numele de Relai; o mulime de operatori ce acioneaz asupra relaiilor pentru a produce noi relaii. O Relaie poate fi neleas ca o Tabel. Modificarea datelor este realizat prin operaiile relaionale aplicate asupra tabelelor. -----------------------------------------SELECTIE : | (pe linii) | | | #########################################| | | | | | | | #########################################| | | | #########################################| -----------------------------------------PROIECTIE : ------------------------------------------(pe coloane) | ### ######## | | ### ######## | | ### ######## | | ### ######## | | ### ######## | | ### ######## | | | |

94

| | | | | |

### ### ###

######## ######## ########

-------------------------------------------

6.4.2. Operatori relaionali Operatorii relaionali sunt definii mai jos: Selecia este o operaie care preia i afieaz datele din relaie. Este posibil s se afieze toate rndurile sau doar rndurile care ndeplinesc o condiie sau mai multe condiii. Aceasta este de multe ori numit submulime orizontal Proiecia este operaia care afieaz anumite coloane din relaie i de aceea este numit submulime vertical. Produs este rezultatul obinut cnd rndurile a dou mulimi de date sunt concatenate conform condiiilor specificate. Join este rezultatul obinut cnd rndurile a dou mulimi de date sunt concatenate conform condiiilor specificate. Reuniunea afieaz toate rndurile care apar n una, n cealalt sau n ambele din cele dou relaii. Intersecia afieaz toate rndurile care apar n ambele din cele dou relaii. Diferena afieaz rndurile care apar numai ntr-o singur relaie (SQL utilizeaz operatorul minus). ----------------------------| SMITH | | CLERK | | SMITH | CLERK | | JONES | produs | MANAGER|------>| SMITH | MANAGER | | ADAMS | ---------| | | ----------| JONES | CLERK | | JONES | MANAGER | | | | | ADAMS | CLERK | | ADAMS | MANAGER | -----------------JOIN --------------------------------------------------------------95 PRODUS ----------

| CLARK | 10 | | 10 | ACCOUNTING | | ACCOUNTING| | MILLER | 10 | J | 20 | RESEARCH | | ACCOUNTING| | SMITH | 20 |-->| 30 | SALEH | | RESEARCH | | TURNER | 30 | | 40 | OPERATIONHS| | SALES | ---------------------------------------------------------------

| CLARK | 10 | 10 | MILLER| 10 | 10 | SMITH | 20 | 20 | TURNER| 30 | 30

6.4.3. Proprieti ale bazelor de date relaionale Proprieti ale bazelor de date relaionale sunt urmtoarele: O baz de date relaional apare ca o colecie de relaii (tabele) ctre utilizator. Formatul coloanei/rndului este familiar i uor pentru vizualizarea datelor . Exist o mulime de operatori pentru partiionarea i combinarea relaiilor (selecia, proiecia, produsul, joinul, reuniunea, intersecia, diferena). Nu sunt pointeri explicii; conexiunile sunt fcute numai pe baza datelor. Limbajul utilizat pentru interogarea bazei de date este nonprocedural i similar limbii engleze. Utilizatorul nu specific calea de acces i nu are nevoie s tie cum este informaia aranjat fizic. Comenzile pentru refacerea datelor i acelea pentru realizarea schimbrilor n baza de date sunt incluse ntr-un singur limbaj SQL. Exist o independen total a datelor. 6.4.4. Proprietile relaiilor tabelare O singur tabel are urmtoarele proprieti: Nu exist rnduri duplicate; Nu exist nume de coloan duplicate; Ordinea rndurilor este neimportant; Ordinea coloanelor este neimportant; Valorile sunt atomice (nedecompozabile). 6.5. Baze de date ORACLE 6.5.1. Ce este baza de date ORACLE? Baza de date ORACLE const dintr-un set complet de constructori de aplicaii i produse pentru utilizatori, cutnd s asigure soluii complete n tehnologia informaiei. Aplicaiile Oracle sunt portabile peste un numr mare de staii de lucru i sisteme de operare, de la calculatoare personale la procesoare paralele. Oracle este nzestrat cu un flexibil Sistem de Management al Bazelor de Date (DBMS) - Serverul Oracle - pentru stocarea i managementul informaiei utilizate de aplicaii. 96

Ultimul server Oracle ,ORACLE 7, conduce o baz de date cu toate avantajele unei structuri relaionale, avnd n plus capacitatea de a stoca i executa obiecte de tip baz de date precum proceduri i mecanisme de siguran. Despre Serverul ORACLE Serverul Oracle cuprinde un DBMS care controleaz: Stocarea de date n sfera bazelor de date dedicate; Recuperarea de date pentru aplicaii utiliznd tehnici de optimizare adecvate; Securitatea bazelor de date i a taskurilor permise pentru anumii utilizatori; Consistena i protecia datelor, incluznd arhivarea taskurilor i mecanisme de cutare; Comunicarea i integritatea informaiilor, cnd bazele de date sunt distribuite ntr-o reea. Aplicaiile Oracle trebuie rulate pe acelai calculator personal la fel ca i Serverul Oracle. Alternativ, aplicaiile i utilitarele utilizate de acestea pot s fie rulate pe un sistem local pentru utilizator (sistemul client), n timp ce Oracle DBMS ruleaz pe un altul (sistemul server). n acest mediu client-server, un numr mare de resurse de calcul pot fi rulate. De exemplu, o aplicaie Oracle Forms poate rula pe un calculator personal client, n timp ce accesarea datelor este condus convenional de un Server Oracle pe un calculator central. 6.5.2. Opiuni ORACLE Opiuni Oracle Server n plus fa de Standard Oracle7 care dispune de o mulime comprehensiv de faciliti asupra bazelor de date, mai sunt cteva faciliti suplimentare. Acestea includ: Opiunea procedural asigur un motor PL/SQL versiunea 2 n interiorul serverului Oracle, care are abilitatea de a stoca proceduri baze de date, funcii i mecanisme de siguran pentru utilizarea de ctre aplicaii. Opiunea distribuit suport tranzacii care actualizeaz informaia din mai multe baze de date dintr-o reea de baze de date distribuit, utiliznd execuia n dou faze. Paralel Server Option suport sisteme cuplate liber. Oracle de ncredere (Trusted Oracle) pune la dispoziie o mulime de faciliti adiionale de nalt securitate. 6.5.3. Produsele ORACLE Printre multele dezvoltri de aplicaii i produse pentru utilizatori accesibile n familia Oracle, exist o posibilitate comun pentru a accesa baza de date: Limbajul cu Structura de Interogare(SQL). Produsele Oracle conin: Oracle TextRetrieval O tehnologie care adaug capabiliti de refacere complet a textului ntr-o baz de date Oracle. Pro*Oracle 97

O serie de precompilatoare care permit accesul bazelor de date Oracle la limbajele de programare C, Cobol, Fortran, PL/1, Pascal i Ada. Oracle Card O interfa utilizator pentru producerea aplicaiilor cu baze de date uor de folosit ce ncorporeaz grafice i faciliti multimedia. Oracle CASE O familie de instrumente care ajut la analiza, designul i generarea aplicaiilor Oracle. SQL*Plus Un instrument care permite o utilizare direct i interactiv a limbajului SQL pentru a accesa serverul Oracle, utiliznd comenzi ad-hoc sau prin rularea fiierelor de comand. Instrumente CDE

Oracle Reports Oracle Graphics Oracle Forms Oracle Book

Oracle Card Oracle Case SQL*Plus Pro*Oracle Text Retrieval Alte produse

ORACLE 7 SERVER Hard Disk 6.5.4. Mediul de dezvoltare auxiliar(CDE) Instrumentul de dezvoltare a aplicaiilor principale formeaz un set nchis integrat numit 'Mediul de Dezvoltare Auxiliar'. Elementele de baz ale CDE includ limbajul procedural al lui Oracle, PL/SQL, faciliti grafice i comunicare ntre produse. Principalele instrumente CDE sunt: Oracle Forms V4 Permite ca aplicaii sofisticate bazate pe utilizarea ecranului s fie construite repede i uor i permite utilizatorului s cear i s manipuleze date ntr-o structur cu forma convenabil, la fel de bine ca afiarea imaginilor vizuale, si faciliti de accesare prevzute de alte produse CDE. Oracle Reports V2 Un puternic instrument de scriere a rapoartelor pentru construcia i execuia rapoartelor sofisticate cu fonturi de text i imagini multiple. Oracle Graphics V2 Permite construirea i afiarea aplicaiilor vizuale, incluznd hri, grafice, imagini i desene. 98

Oracle Book V1 Prevede abilitatea de a crea i vizualiza documente care includ hipertexte, sunete digitale i videoclipuri. 6.5.5. Faciliti ORACLE SQL, SQL*PLUS i PL/SQL sunt facilitile Oracle care vor fi discutate n acest curs. Este important de neles n fiecare caz diferenele lor, rolul i locul lor n familia Oracle. *SQL este limbajul utilizat pentru a accesa o baza de date relaional, inclusiv Oracle. poate fi utilizat de fiecare instrument Oracle, cnd accesul la baza de date este necesar. *PL/SQL este limbajul Procedural al lui Oracle pentru scrierea aplicaiilor i pentru manipularea datelor n afara bazei de date. poate include un subset al comenzilor SQL, cnd accesul la baza de date este cerut este accesibil n fiecare din produsele CDE. De asemenea, n nsui serverul Oracle (dac opiunea procedurala este instalat). *SQL*Plus este un produs Oracle n care limbajele SQL i PL/SQL pot fi utilizate. de asemenea, are propriul limbaj de comand pentru controlul comportrii produsului i pentru formatarea rezultatelor interogrilor SQL. n concluzie, SQL i PL/SQL sunt limbaje care sunt utilizate ntr-un numr de produse Oracle .SQL*PluS este unul din produsele pe care acestea se afl. Oracle este un exemplu pentru bazele de date relaionale. Pachete software pentru baze de date. Cele mai cunoscutre software-uri pentru baze de date sunt: pentru baze de date de dimensiuni mici i medii: FoxPro, Access, Excel, Delphi pentru baze de date complexe: Oracle, Informix, SyBase 6.6. Tendine n managentul datelor Creterea n mrime i numr a bazelor de date depete pe de parte abilitile umane de a analiza datele. Azi, cele mai multe date sunt stocate n calculatoare i un numr din ce n ce mai mare sunt administrate de sisteme de administrare a bazelor de date. Limbajele lor de interogare permit interogarea bazele de date, dar gsirea informaiilor interesante rmne adesea o problem. Chiar i utilizatorii experimentai pot avea dificulti n depistarea unor elemente semnificative. Nevoia de a sprijinii procesul de interogare i analiz a bazelor de date a fost larg recunoscut i chiar a fost ridicat la rangul de prioritate n cercetare n anii 90. Guvernul SUA, de exemplu, sponsorizeaz proiecte (cum este proiectul Sequoia) pentru dezvoltarea tehnicilor avansate de analiz a datelor aflate n depozite de baze de date foarte mari (data warehouses). Tehnicile avansate pentru

99

analiza datelor nu sunt nc mature iar distana dintre cantitatea datelor ce trebuie analizate i cantitatea de date ce poate fi analizat crete pe zi ce trece. Procesul de cutare i analizare a cantiti mari de date este numit data mining. Marile colecii de date sunt poteniale filoane de informaii valoroase, dar ca i mineritul real, cutarea i extracia pot fi procese dificile i costisitoare. De aceea, uneltele adecvate i eficiente de minerit sunt eseniale pentru succes. ntrun anume sens data mining este ca munca unui radiolog. Scanarea bazei de date pentru identificarea fenomenelor care trebuie observate art structura regulat a datelor, dar ajut de asemenea la gsirea anomaliilor. Fie D = {d1, dn} setul de date supus analizei. Data mining este procesul de gsire a unui subset D a lui D i ipotezelor Hu (D, C) despre D pe care un utilizator U le consider folositoare n contextul aplicat C. Aceast definiie poate fi detaliat, de exemplu, prin definirea limbajului de descriere a ipotezelor, a descrierii contextelor etc. 6.7. Aspecte privind analiza i interpretarea datelor Dei marile companii productoare de software de gestiune a bazelor de date relaionale fac eforturi deosebite n a actualiza i mbunti performantele sistemului lor, exist n continuare un decalaj semnificativ ntre realizrile lor actuale i evoluia mult mai rapid a tehnologiilor hardware i de comunicaie ce permit realizarea de medii eterogene complexe utiliznd maini din ce n ce mai performante. Tehnologii de procesare paralel. Marile companii productoare de sisteme de gestiune a bazelor de date relaionale se afl n competiie pentru a gsi cele mai bune soluii care s satisfac cererile noii generaii de sisteme distribuite client/server, cereri legate ndeosebi de distribuirea unei mari varieti de tipuri de date pe o i mai mare varietate de maini cuplate n configuraii de reele eterogene. Aplicaiile tot mai complexe mping n prezent mediile de calcul la limita posibilitilor de procesare. Muli utilizatori i bazeaz deciziile pe informaii vechi de cteva zile deoarece sistemele lor nu au capacitatea de a furniza analize n timp real. Pentru a face fa noilor cernie, companiile productoare de sisteme de calcul au evoluat de la sistemul uniprocesor la arhitecturi de multiprocesare simetric, clustere i chiar arhitecturi cu procesare paralel masiv. Totodat, companiile de software situate n topul vnzrilor de sisteme de baze de date relaionale - Oracle Corp., Sybase Inc., Informix Software Inc., IBM Corp. - au dezvoltat n ultimii ani noi versiuni ale sistemelor lor de baze de date care utilizeaz servere n multiprocesare simetrica (SMP), multiprocesare asimetric sau procesare pe mai multe ci de control al execuiei ("multithreading"). Aceste versiuni noi pun ns probleme complexe att n ceea ce privete administrarea de sistem ct i dezvoltarea de aplicaii. Este necesar clarificarea diferenei dintre procesarea paralel i procesarea pe multiple ci de control al execuiei (multithreading). Ambele modele implic executarea de task-uri multiple n paralel, dar n timp ce procesarea paralel implic mai multe procese ce se executa pe mai multe uniti de prelucrare, multithreading se refer la un singur proces ce poate rula pe mai multe ci de prelucrare simultan. Deci cile multiple de control al execuiei sunt o form mai simpl de paralelism, ele rulnd sub un acelai proces i utiliznd n comun anumite elemente ale sistemului. Toate cile de execuie comune unui proces mpart resurse comune - date, memorie sau fiiere deschise - furniznd 100

unei aplicaii posibilitatea de a lansa task-uri multiple simultan n cadrul unui singur proces. n cazul proceselor paralele, atunci cnd unitatea central de execuie plaseaz un proces n ateptare n timp ce un alt proces se execut, unitatea trebuie s "memoreze" ntr-o zon de memorie temporar contextul de execuie al respectivului proces; deci "overhead"-ul de meninere a unui proces distinct include un spaiu de adrese de memorie complet separat, spre deosebire de procesarea prin cai paralele de control al execuiei n cadrul unui singur proces pentru care "overhead"-ul de sistem este considerabil mai mic. n multithreading, serverul de baze de date atribuie thread-uri cererilor aflate n execuie, realiznd i schimbarea dinamic a cii pe care o cerere ruleaz la un moment dat; dac o cerere se afl n stare de ateptare, serverul va realiza printr-un mecanism de "swapping" nlocuirea acestei cereri cu o alt cerere care va fi asignat aceleiai ci. Rezultatul se concretizeaz n optimizarea timpului de execuie a cererilor i deci mbuntirea performantelor de interogare a bazelor de date n sisteme distribuite. Tipuri de arhitecturi hardware paralele. Cele mai utilizate arhitecturi hardware paralele ce exploateaz multiple procesoare, memorii mari i mai multe uniti de disc sunt: arhitectura "Shared nothing" n care fiecare procesor deine propriile sale uniti de memorie i disc. arhitectura "Shared disks" utilizeaz multiple procesoare, fiecare cu unitatea sa de memorie dar cu sistem de disc partajat. arhitectura "Symmetric Multiprocessing" (SMP) utilizeaz procesoare multiple care dein n comun unitile de memorie i disc. In prezent, pentru a atinge performante ridicate din punctul de vedere al procesrii online a tranzaciilor (OLTP - "Online Transaction Processing"), cele mai bune arhitecturi sunt considerate a fi cele uniprocesor i cele n multiprocesare simetric (SMP). Pe de alt parte ns, sistemele paralele masive sau sistemele "shared-nothing" sunt excelente pentru suport decizional pe scar larg. Arhitecturile n cluster, cum este i HACMP/6000 al companiei IBM, ofer ns alte avantaje, cum ar fi de exemplu naltul grad de disponibilitate; dac un nod din cluster cade, un alt nod preia temporar sau definitiv lucrrile primului. Un al doilea avantaj este creat de faptul c fiecare nod din cluster poate fi la rndul su o main n multiprocesare simetric, asigurnd cluster-ului o scalabilitate mult mai mare. Soluii de implementare. Cele mai multe dintre sistemele de gestiune a bazelor de date relaionale sunt n prezent mbuntite pentru a beneficia de procesarea paralel n sisteme eterogene, i a permite rularea de aplicaii complexe cu misiune critic. Compania de software care va veni cu un set de soluii optime pentru a integra bazele de date cu noile tehnologii de distribuire a datelor, va deine controlul asupra pieei n acest domeniu. Distribuirea optim a datelor este dificil din punct de vedere tehnologic, acest proces fiind puternic dependent de crintele pentru asigurarea unui timp bun de rspuns la cereri, asigurarea integritii datelor, disponibilitate continu, interoperabilitate etc. Sistemele de gestiune a bazelor de date moderne utilizeaz o serie de noiuni abstracte i strategii asociate pentru a putea ndeplini cerinele aplicaiilor actuale. Tranzacia, de exemplu, (definit ca o colecie de operaii care asigur trecerea unei baze de date dintr-o stare consistent logic n alta), poate fi utilizat i n cadrul datelor distribuite pentru a asigura n reea trecerea unor grupuri de date i operaii asociate de la un post client la server sau de la un server la altul. Cea mai mare parte dintre productorii de sisteme de baze de date au creat 101

monitoare de procesare a tranzaciilor (TP - "Transaction Processing") ce reprezint utilitare evoluate care gestioneaz tranzaciile distribuite n reele eterogene. Metoda de comunicaie standard ntre monitoarele TP i sistemele de baze de date a fost acceptat ca fiind protocolul X/A ce face parte din grupul de standarde X/Open. n prezent, serverele Sybase System 10 i Oracle 7 suporta protocolul X/A, n timp ce Informix OnLine ader indirect la acest protocol printrun produs auxiliar, Informix TP/XA. Din punctul de vedere al asigurrii integritii datelor n sisteme client/server distribuite, productorii de software de gestiune a bazelor de date recurg la mai multe strategii strategii. - Tehnica "two-phase commit" prin care toate modificrile impuse de o tranzacie asupra unei baze de date sunt fie coSMIe (execuia tranzaciei este finalizat) fie sunt anulate, cu revenirea bazei de date n starea anterioar efecturii tranzaciei. Aceast strategie nu este adecvat pentru reelele eterogene complexe n care probabilitatea de cdere a unui nod este mare i nici pentru sisteme cu SMIiune critic. Ea este utilizat ca o cale de a asigura faptul c toate serverele dein copii identice ale bazei de date n orice moment. - Strategia de replicare a datelor este n prezent soluia adoptat de companiile Oracle, Sybase i Informix. Replicarea este un proces n cadrul cruia mai multe servere dein mai multe copii identice ale unei baze de date. Strategia de replicare a datelor difer esenial de "two phase commit" prin aceea ca replicarea garanteaz identitatea copiilor bazelor de date distribuite numai n anumite momente sau sub anumite condiii. Tehnica de replicare a datelor utilizat de serverul Oracle 7 este denumit "Table Snapshots", prin care serverul central ("master") copiaz la anumite momente de timp definite, numai acele pri din baza de date care s-au modificat, propagnd apoi aceste modificri n reea. Mecanismul de replicare utilizat de serverul de baze de date Informix este similar metodei "snapshots" utilizat de Oracle. Informix utilizeaz fiiere "log" de "backup" pentru a determina datele din tabelele bazei de date ce trebuie replicate (care conin modificri). Serverele de replicare reprezint numai nceputul unei ntregi generaii de produse software care implementeaz concepte abstracte referitoare la distribuirea datelor n medii eterogene mpreun cu tehnologii avansate de gestiune i procesare paralel, optimizat a tranzaciilor. 6.8. Noi modele de date i aplicaiile lor

Dezvoltarea fr precedent a aplicaiilor bazate pe Internet a dus la apariia unor noi modele de date. Astfel, exist surse de date, ca de pild World-WideWeb-ul, pe care am dori s le interogm ca baze de date, dar care nu pot fi constrnse de o schem. Majoritatea interogrilor web-ului folosesc tehnici de regsire a informaiei pentru a gsi pagini dup coninut. Sunt ns puine posibiliti de formulare a interogrilor n vederea exploatrii structurii web-ului i, deoarece aceasta nu este conform cu nici un model de date standard, este necesar o metod de descriere a acestei structuri. Modelul de date semistructurat a fost propus n vederea satisfacerii acestei necesiti. Ideea central n modelul semistructurat este de a reprezenta datele sub forma unui graf etichetat. Structura documentelor hipertext este captat interpretnd arcele grafului drept legturi. Etichetele arcurilor pot fi att valori (de tip ntreg, ir de caractere i alte tipuri de baz, precum i de tip de date abstract, ca video, audio, etc.) ct i nume de atribute (Film, Titlu, Regizor, Actor), etc.

102

modelnd de exemplu cunoscuta baz de date cinematografic The internet movie database. Exist numeroase limbaje de interogare pentru modelul semistructurat. Toate aceste limbaje sunt construite pe baza ideii de expresii asociate cilor (path expressions). Acestea sunt expresii regulate ce exprim ci generice n graful etichetat, permind astfel traversarea grafului i colecionarea tuturor etichetelor ce satisfac o anumit condiie de selecie. Dac, de exemplu, condiia de selecie este eticheta este un ir de caractere, i arcul su este adiacent unui arc etichetat actor, atunci rezultatul acestei interogri va conine numele tuturor actorilor din baza de date (printre altele). Limbajele semistructurate pot fi clasificate n dou categorii, dup strategia de calcul adoptat. Prima categorie, dezvoltat oarecum ad-hoc, se bazeaz pe modelarea grafurilor n modelul relaional i apoi pe interogarea lor ntr-un limbaj relaional de tip SQL. A doua categorie pornete de la un limbaj bazat pe o noiune formal de calcul cu date semistructurate: limbajul UnQL (Unstructured Query Language) este reprezentantul acestei categorii. Acest limbaj pornete de la recursivitatea structural, forma natural de recursivitate asociat cu tipul de date grafuri etichetate. Datorit bazei sale teoretice, UnQL este capabil de restructurri complexe, n adncime, spre deosebire de limbajele din prima categorie, care se limiteaz la scoaterea la suprafa a datelor din graf, fr ns a crea noi structuri. Aceast capacitate de restructurare st la baza proiectului STRUDEL care propune limbajul StruQL (Structured Querz Language) de gestiune a sit-urilor de web. Un alt avantaj al bazei teoretice a limbajelor UnQL i StruQL este posibilitatea efecturii optimizrilor specifice acestui nou model de date. Limbajele din prima categorie pot beneficia doar de optimizrile specifice modelului relaional, deci dezvoltate pentru alt model de date i n consecin nu att de folositoare. Integrarea datelor provenind din surse eterogene (cu scheme disparate sau, mai grav, modelate diferit), este un domeniu de cercetare care, dei consacrat de mai bine de un deceniu, continu s rmn n centrul ateniei multor cercettori. Cercetarea n acest domeniu este motivat de absena unui model de date atotcuprinztor, fapt ce ngreuiaz dezvoltarea de software care convertete date ntre dou modele diferite. O complicaie adiional este reprezentat de faptul c majoritatea datelor stocate electronic nu se afl n baze de date convenionale, ci n sisteme de fiiere, programe de bibliotec, de pot electronic, foi de calcul etc., care prezint capaciti de interogare limitate. Pentru a arta tendinele n domeniu s urmrim proiectul TsimSMI de la Stanford. Acesta i propune integrarea att a surselor de date care sunt conforme cu modelele de date standard (relaional, orientat pe obiecte), ct i a surselor de date cu capaciti de interogare limitate. Aceste surse neconvenionale sunt mpachetate n aa-numii wrappers (nfurtori). O astfel de nfurtoare asigur interfaa ntre sursa de date cu capaciti de interogare limitate i aplicaia care o interogheaz. Aplicaia trimite ctre surs interogri ntr-un limbaj expresiv cum ar fi SQL sau OQL i ateapt rezultatul ntr-un format numit OEM (Object Exchange Model). OEM folosete grafuri etichetate, ca structur de date, care captureaz majoritatea datelor folosite n aplicaii de baze de date. n acelai timp, toate celelalte structuri de date pot fi codificate ca grafuri OEM. Rolul nfurtorii const n: - interceptarea interogrii i identificarea acelor pri ale acesteia care pot fi efectuate de ctre surs, 103

- translatarea acestor pri n limbajul specific sursei, - recepionarea i prelucrarea rezultatelor intermediare n vederea reconstituirii rezultatului interogrii originale, - codificarea rezultatului final n formatul OEM i transmiterea acestuia ctre aplicaie. Evident, dac interogarea original este prea complex, este posibil s nu poat fi efectuat pornind de la capabilitile limitate ale sursei. nfurtoarea detecteaz aceast situaie i anun sursa c nu i poate satisface cererea. Cu ct crete capacitatea de evaluare a interogrilor n cadrul nfurtorii(de exemplu, capacitatea de a efectua operaii de tip join, proiecii, selecii, etc.), cu att se extinde clasa de interogri pe care le poate satisface combinaia surs-ambalaj. Navigare pe Internet n anumite situaii este avantajos s privim bazele de date convenionale ca fiind semistructurate. Un exemplu este activitatea de navigare n Internet. n general, utilizatorul nu poate interoga o baz de date fr a-i cunoate schema. Din nefericire ns, aceasta este adeseori greu de neles, datorit mrimii exagerate (zeci de tabele, de exemplu) i a terminologiei opace, nestandard, folosite de ctre proiectanii bazei de date. Descifrarea schemei ar fi considerabil uurat de facilitatea de a interoga datele avnd doar o nelegere parial a structurii lor. De exemplu, n cazul bazei de date cinematografice din World-Wide Web The internet movie database , urmtoarele interogri ar fi de folos: - n care atribut gsim irul de caractere Casablanca? - Exist n baza de date numere ntregi mai mari dect 216? - Ce obiecte din baza de date au un atribut al crui nume ncepe cu act? i n acest domeniu, modelul semistructurat se dovedete a fi folositor. Spre deosebire de modelele de date convenionale, care difereniaz ntre schema (tipul, structura) i instana (valoarea) datelor, modelul de date semistructurat reprezint cele dou tipuri de informaie n mod uniform, permind interogarea lor simultan. Din acest motiv, datele semistructurate se numesc i autodescriptive. Cubul de date i OLAP Sistemele de suport pentru decizii (Decision support systems) sunt utilizate de ctre companiile moderne pentru integrarea ntr-o baz de date central data warehouse (magazia central de date), a datelor provenind din baze de date mici operaionale folosite n diferite domenii de activitate/filiale ale companiei. Datele astfel acumulate sunt analizate n timp real (OLAP: On-Line Analitical Processing) pentru a asista conducerea companiei n luarea deciziilor strategice de dezvoltare (de exemplu, analiznd vnzrile unui anumit produs pe trimestru i zon geografic, se poate stabili o nou strategie de marketing pentru acest produs). Datele din magazia central de date sunt modelate sub forma unui (hiper)cub de date multidimensional care poate fi analizat la nivelul subcuburilor de granularitate arbitrar. Subcuburile se obin prin agregarea cuburilor din care provin. De exemplu, prin nsumarea vnzrilor trimestriale pentru fiecare zon, cubul de date tridimensional reprezentnd vnzrile pe trimestru i zona geografic poate fi redus la un subcub bidimensional (plan) reprezentnd vnzrile pe zona geografic. Agregarea este o operaie costisitoare, efectuarea ei eficient pe un volum mare de date reprezentnd elul principal al cercetrii n acest domeniu. Noi modele tranzacionale

104

n mod tradiional, tranzaciile modeleaz uniti de lucru atomice i izolate, efectuate asupra datelor sistemului de gestiune a bazelor de date. Izolarea tranzaciilor nu permite crearea tranzaciilor complexe, mari, din tranzacii simple. Acest model a avut succes atta vreme ct tranzaciile efectuau un numr mic de operaii simple asupra datelor cu structur simpl. Aplicaii ca proiectarea asistat de calculator, automatizarea activitii de birou, controlul produciei, gestiunea activitilor necesit noi modele tranzacionale, noi metode de gestiune a tranzaciilor, i noi limbaje de specificare a tranzaciilor. Limbajele tranzacionale sunt limbaje de nivel nalt, de obicei inspirate din logica cu predicate de ordinul nti. Dac limbajele tradiionale specificau interogri i actualizri, noile limbaje tranzacionale se concentreaz asupra relaiei dintre tranzacii, exprimnd dependene de tipul: tranzacia T2 nu poate porni nainte ca T1 s se termine, sau T2 poate ncepe dac T1 ntoarce o valoare mai mare ca 25. Un excelent exponent al noii generaii de limbaje tranzacionale este Transaction Datalog, un limbaj deductiv care menine n acelai timp toate proprietile tranzaciilor clasice, cum ar fi: persisten, atomicitate, izolare, terminare i rollback (revenire). Limbajul este nsoit de un model teoretic natural i de o teorie sigur pentru demonstraii, permind astfel demonstrarea echivalenei ntre diverse expresii din acest limbaj. Acest fapt este crucial pentru optimizare - care const din nlocuirea unei planificri cu o alta echivalent din punct de vedere al efectului su asupra datelor, dar mai eficient din punct de vedere al costului execuiei. Mai mult, deoarece putem demonstra c efectul unei tranzacii complexe asupra setului de date este sau nu cel scontat, se asigur consistena datelor. TEST DE EVALUARE Care afirmaii sunt adevrate (A) sau false (F) 1. Tipul de dat este folosit pentru descrierea unei mulimi de obiecte care au aceeai reprezentare. 2. Bazele de date orientate pe obiecte permit crearea de obiecte complexe, din componente simple, fiecare neavind atribute, dar propriul comportament. 3. Tehnicile de organizare a datelor n colecii de date sunt: clasa i baza de date. 4. Organizarea datelor n fiiere are ca avantaj redundana sczut a datelor. 5. Conceptele folosite n organizarea datelor sunt: entitate, clasa, atribut. 6. Descrierea structurii modelului de date presupune definirea operatoriilor i a regulilor de integritate care acioneaz asupra modelului. 7. Modelul de date relaional prezint urmtoarea anomalie de actualizare: la inserare nu se pot introduce noi realizri pentru o nregistrare subordonat dac nu sunt cunoscui superiorii. 8. n cazul modelului relaional, normalizarea conduce la obinerea unei scheme conceptuale a modelului ntr-o form normalizat n care se vor elimina anomaliile de actualizare. 9. ntr-o asociere de tipul unu-la-unu o nregistrare din tabelul A poate avea cel puin o nregistrare corespunzatoare n tabelul B i invers, unei nregistrri din tabelul B i corespunde cel mult o nregistrare n tabelul A. 10. ntr-o asociere de tipul unu-la-muli unei nregistrri din tabelul A i corespund mai multe nregistrri din tabelul B, iar unei nregistrri din tabelul B i corespunde cel puin o nregistrare din tabelul A.

105

11. ntr-o asociere de tipul muli-la-muli unei nregistrri din tabelul A i pot corespunde mai multe nregistrri din tabelul B, iar unei nregistrri din tabelul B i pot corespunde, de asemenea, mai multe nregistrri din tabelul A. 12. Limbajul de definire a datelor asigur specificarea zonelor de lucru permanente i tranzitorii. 13. Limbajul de manipulare a datelor permite accesul la nregistrri prin adresa sau prin coninutul acestora, reordonri ale cmpurilor de date, definirea i izolarea datelor confideniale. 14. Limbajul de manipulare a datelor permite parcurgerea structurilor i a legturilor existente, accesul la nregistrri prin adresa sau prin coninutul acestora, actualizri ale nregistrrilor, reordonri ale cmpurilor de date, definirea tranzaciilor i a condiiilor de eroare. 15. Limbajul de descriere a stocrii datelor ofer posibilitti de asociere a fiierelor la programele de aplicaie, a dispozitivelor fizice, alocare de spaii de fiiere, specificarea zonelor de lucru permanente i tranzitorii, definirea i izolarea datelor confideniale. 16. Nivelul virtual sau conceptual (nivelul administratorului bazei de date) se refer la definirea structurii datelor din baza de date astfel nct aceasta s ndeplineasc cerinele tuturor utilizatorilor, n condiii de redundan minim i controlat a acesteia. 17. Nivelul fizic (nivelul inginerului de sistem) privete modul de stocare i de structurare a datelor pe suportul fizic sau de memorare a datelor n fiiere. 18. Nivelul logic sau intern (nivelul programatorului de aplicaie) calific o structur de date ce are o realitate n planul semnificaiei sau utilizrii, dar nu i n implementarea fizic; calific forma n care fiecare utilizator vede structurarea datelor, n funcie de aplicaia pe care o folosete sau n funcie de resursele de date pe care administratorul bazei de date i le pune la dispoziie. 19. n modelul relaional regulile stabilesc modul de manipulare a datelor, structurile sunt obiecte definite ce conin date i care sunt accesibile utilizatorului, iar operaiile reprezint aciuni prin care sunt manipulate datele sau obiectele schemei bazei de date. 20. Modelul relaional este format din dou mulimi de operatori pe relaii: algebra relaional i calculul relaional. 21. Algebra relaionala permite derivarea procedural a operaiilor. 22. Definirea proprietilor structurale ale relaiilor se realizeaz prin tehnica normalizrii. 23. Extensibilitatea schemei bazei de date include prelucrarea declaraiilor limbajului de baza de date, specificnd crearea, mutarea sau identificarea definirilor de clas. 24. Cmpurile text constau numai din text i au maxim 255 de caractere, n acestea putnd fi incluse i secvenele de salt la nceput de rnd/salt la rnd nou. Rspunsuri 1 A 7 F 13 F 19 A 2 8 14 20 F A A A 3 9 15 21 F F F F 4 10 16 22 F F A A 5 11 17 23 F A F A 6 12 18 24 F F F F

REZUMATUL TEMEI Se prezint conceptul i arhitectura bazelor de date ct i modelele de date (modelul ierarhic, modelul reea, modelul relaional, modelul orientat-obiect). 106

Pentru a defini baza de date relaional se prezint abordarea relaional (operatori relaionali, proprieti ale bazelor de date relaionale, proprietile relaiilor tabelare) iar ca exemplu se alege baza de date ORACLE

107

S-ar putea să vă placă și