You are on page 1of 66

1. Conţinutul temei Datele sunt stocate în memoria internă şi memoria externă a oricărui sistem de calcul.

Organizarea datelor se referă la procesul de definire şi structurare a datelor în colecţii de date, precum şi la realizarea legăturilor între elementele unei colecţii şi între colecţiile de date. Organizarea datelor se proiectează în scopul regăsirii automate a acestora după diverse criterii. Obiectivele organizării datelor sunt, în principal, următoarele: • timp de acces minim la date; • apariţia o singură dată a datelor în sistem; • spaţiu de memorie internă şi externă pentru date cât mai mic; • reflectarea prin organizare a tuturor legăturilor dintre procesele economice pe care aceste date le reprezintă; • posibilitatea modificării structurii datelor şi a relaţiilor dintre date fără a produce schimbări în programele care le gestionează.

Tehnicile de organizare a datelor în colecţii de date sunt: fişierul de date şi baza de date. Fişierul de date reprezintă o colecţie de date memorată pe un suport tehnic într-o succesiune de înregistrări. Accesul la o înregistrare din fişierul de date se obţine prin parcurgerea înregistrărilor fişierului în secvenţa în care au fost stocate (acces secvenţial) sau pe baza unei chei de identificare care să permită regăsirea rapidă a înregistrării (acces direct). Accesul direct se obţine prin indexarea fişierelor, adică prin crearea unor tabele de indecşi care pentru fiecare valoare a atributului cheie primară (atribut care permite identificarea în mod unic a unei înregistrări din fişier) să conţină adresa corespunzătoare (în cadrul fişierului) a fiecărei înregistrări. Această organizare a datelor în fişiere de date prezintă următoarele dezavantaje: • redundanţă mare (stocarea aceloraşi date în mai multe fişiere); • acces dificil la date; exploatarea multiutilizator a datelor necesita operaţii suplimentare de sortare, fuziune, ventilare etc.; • izolarea datelor, adică nu pot fi realizate programe pe calculator care să acceseze datele într-o manieră globală; • actualizarea datelor, prin adăugare, modificare, ştergere, generează conflicte atunci când mai mulţi utilizatori doresc să modifice simultan aceleaşi date; • dependenţa programelor faţă de date; deoarece datele se descriu în programe, modificările din structura datelor obligă la efectuarea de corecturi în programele pe calculator; • problemele neprevăzute nu obţin răspunsuri rapide; • fiecare dată este descrisă independent în toate fişierele în care apare; dacă într-un fişier se modifică formatul şi valoarea unei date, acea modificare nu se transmite automat, pentru aceeaşi dată, în toate fişierele de date; ca urmare, pentru aceeaşi dată se creează posibilitatea apariţiei de valori diferite în fişiere diferite (inconsistenţa datelor); • nu se menţine integritatea datelor, atunci când fişierul este realizat cu limbaje diferite. Creşterea necesarului de date, informaţii şi cunoştinţe pentru agenţii economici şi progresele tehnologiilor informaţiei şi ale comunicaţiilor (IT&C) au determinat organizarea datelor în baze de date. Noţiunile fundamentale folosite în organizarea datelor sunt entitatea, atributul şi valoarea. Între acestea există legături de interdependenţă astfel:

Ø o entitate are mai multe atribute, iar atributele au o anumită mulţime de valori; Ø entitatea reprezintă un obiect concret sau abstract definit prin proprietăţile sale; Ø orice proprietate a unui obiect este exprimată printr-o pereche (ATRIBUT, VALOARE). Exemplul a) - „materialul M are lungimea mare” unde „lungimea” este atributul, iar „mare” este valoarea. (LUNGIMEA, MARE); Exemplul b) – un client – persoană fizică al unei societăţi comerciale poate fi reprezentat prin mulţimea de perechi: (NUME, POPESCU); (PRENUME, ION); (LOCALITATE, BUCUREŞTI); (TELEFON, 0213211231); (BANCA, BCR); (CONT_BANCAR, RO15RZBR0000070002170022). 1.2. Relaţii între date. Între date există relaţii sau legături diferite. Între datele care aparţin unor tipuri de entităţi se pot realiza două feluri de legături: • primă legătură se exprimă prin apartenenţa datelor la entitate; • a doua legătură se defineşte pentru entităţile de acelaşi tip sau de tipuri diferite. Exemple: a) Dacă se notează cu SALARIATI mulţimea salariaţilor unei societăţi comerciale, între datele a1 şi a2 ce aparţin acestei mulţimi, se pot defini relaţii de tipul: Ø a1 are aceeaşi funcţie de încadrare cu a2; Ø a1 are acelaşi salariu cu a2; Ø a1 are aceeaşi vârstă cu a2 etc. b) Se consideră două clase de entităţi: PRODUSE_BANCARE şi CLIENTI. Între datele acestor două clase de entităţi se pot defini relaţiile: Ø un produs bancar poate fi achiziţionat de unul sau mai mulţi clienţi ai băncii; Ø un client al băncii poate achiziţiona unul sau mai multe produse bancare. 1.3. Structuri de date Structura de date este o colecţie de date între care s-au stabilit un ansamblu de relaţii pe baza cărora funcţionează un mecanism de selecţie şi identificare a componentelor. Altfel exprimat, o structură de date reprezintă un anumit aranjament al datelor atunci când sunt stocate în memoria unui calculator. Datele din structurile de date pot fi manipulate cu ajutorul algoritmilor, în mai multe moduri, sortând datele sau căutând un anumit element. Structurile de date, în afara situaţiei de instrumente de programare, servesc pentru stocarea şi modelarea unor date din universul real. Mulţimea de date, asociată structurii de date, poate cuprinde datele unui tip sau ale mai multor tipuri de entităţi. Componentele structurii se identifică prin nume sau prin poziţia pe care o deţin în structură în raport cu ordinea specificată. În situaţia în care pentru localizarea unei componente se parcurg toate celelalte componente dinaintea ei, structura are acces secvenţial. În schimb, atunci când o componentă poate fi selectată fără a ţine seama de celelalte, structura are acces direct. Componentele unei structuri de date sunt date elementare sau sunt ele însele structuri de date. Asupra unei structuri de date se pot efectua următoarele operaţii:  crearea (înseamnă memorarea datelor iniţiale pe suportul de stocare);  actualizarea (schimbarea stării structurii prin adăugare, modificare sau ştergere de elemente, modificarea valorii sau relaţiilor dintre elemente);  consultarea (accesarea componentelor structurii de date);

sortarea (aranjarea elementelor unei structuri de date în conformitate cu criterii prestabilite);  ventilarea (divizarea unei structuri de date în două sau mai multe structuri de date);  fuzionarea (formarea unei structuri de date noi din două sau mai multe structuri de date) etc. Structurile de date care prezintă aceeaşi organizare şi asupra cărora se execută aceleaşi operaţii formează un anumit tip de structuri de date. Tipul de structură de date reprezintă o mulţime ordonată de date între care s-au stabilit anumite relaţii şi pentru care realizarea operaţiilor se efectuează cu un grup de operatori de bază care au o anumită semantică. Dacă se ia în considerare tipul componentelor, structurile de date se clasifică în:  omogene (componentele sunt de acelaşi tip);  eterogene (componentele au tipuri diferite). Când structura de date se descompune în structuri de date de acelaşi tip, atunci structura obţinută este denumită recursivă. După nivelul de structurare al datelor, se deosebesc:  structura fizică (structura de date care se referă la modul de implementare pe suporţi tehnici informaţionali);  structura logică (modul de ordonare a datelor şi modul de folosire a operatorilor de tratare a datelor). Dacă se ia în considerare posibilitatea modificării valorilor şi a structurilor, se identifică:  structuri statice (pe tot parcursul existenţei acestora prezintă acelaşi număr de componente şi în aceeaşi ordine (adică au cardinalitate finită, prin cardinalitate înţelegând numărul elementelor mulţimii);  structuri dinamice (permit modificarea valorilor şi a structurii de date prin aplicarea unor operatori; aceste structuri de date au cardinalitate infinită deoarece prezintă un număr nelimitat de componente). O structură logică poate fi implementată atât ca structură statică cât şi ca structură dinamică. Există însă şi structuri logice ce nu pot fi implementate static. În organizarea datelor trebuie definită atât structura logică, cât şi cea fizică, deorece cele două nivele se condiţionează reciproc. Din punctul de vedere al tipului de structură de date, se deosebesc: · structura de date punctuală (o entitate de grup izolată); · structura de date liniară (când există o relaţie de ordine totală între elementele colecţiei de date; primul element nu are predecesori; ultimul element nu are succesori; între date se stabilesc relaţii de tipul “unu-la-unu”; când ultimul element coincide cu primul element, structura liniară devine structură circulară sau inelară); · structura de date arborescentă (este denumită şi structură de date ierarhică sau descendentă; acest tip de structură de date se defineşte când există o relaţie de ordine între elementele colecţiei de date; există un element unic care este denumit nodul rădăcină (root node);orice nod diferit de nodul rădăcină prezintă un predecessor imediat unic; orice nod care nu este terminal prezintă un număr finit de succesori imediaţi; între noduri se stabilesc relaţii de tipul “unu-la-mulţi);

. 2. se defineşte ca fiind mulţimea de valori (date) pe care le iau caracteristicile reprezentative ale unui element din universul real al organizaţiei economice. ANSI. · structura de date relaţională (acest tip de structură de date este formată din mai multe tabele. care reprezintă. DBTG) şi-au adus contribuţia la standardizarea conceptelor din teoria bazelor de date. Sistemul bază de date se defineşte ca fiind ansamblul de colecţii organizate de date. baze de date şi depozite de date. Un sistem de calcul din compunerea sistemului informatic are organizate datele într-o ierarhie care începe cu biţi şi octeţi (bytes) şi continuă cu câmpuri.1 Definirea conceptului de bază de date Colecţia de date. complet. împreună cu descrierea datelor şi a relaţiilor dintre ele. înregistrări. 2. percepute de sistem prin semantica lor (semnificaţia lor reală) şi prin legăturile dintre aceste caracteristici (fig. fişiere. un nod prezintă mai mulţi predecesori. Datele şi structurile de date pot fi predefinite sau definite de utilizator. universul real al organizaţie economice (compartimentului specializat al acesteia) prin caracteristicile relevante (reprezentative) ale elementelor sale. între elementele reţelei se stabilesc relaţii de tipul “mulţi-la-mulţi). Ulterior şi alte grupuri de lucru specializate (IIBM. un nod poate fi predecesor pentru propriul său predecesor. relaţii sau tablouri de date elementare).· structura de date reţea (acest tip de structură de date se defineşte când există o relaţie de preordine între elementele colecţiei de date. Percep ţie Reprez entare UNIVERS REAL DOMENIUL SEMANTIC ********** BAZA DE DATE COLECŢII DOMENIUL CONCEPTUAL CARACTERISTICI DE DATE SGBD Percepţie Reprezen tare Fig.1). Conceptul de bază de date a fost introdus în anul 1969. cu prilejul prezentării primului raport CODASYL. corect şi coerent.

de regulă. Sistemul bază de date are rolul de organizare şi stocare a unor volume mari de date. orientată pe obiecte (OO). programe de utilizare. Se reaminteşte că tipurile de structuri logice de date sunt: punctuală. baza de date. distribuirii şi utilizării multiple. Mai mult chiar. prin utilizarea calculatoarelor singulare sau a reţelelor de calculatoare. listată. în regim de prelucrare pe loturi (batch) şi în regim conversaţional. conceptul de bază de date denumeşte atât colecţia organizată. relaţională.4. Rezultatele interogărilor utilizatorilor se prezintă sub formă vizuală. liniară. Pornind de la funcţia sa.dacă la fiecare moment de timp se aplică asupra lor un predicat. BD sau DB (DataBase). Într-un sistem bază de date. având la dispoziţie utilitare (programe specializate de proiectare) şi prin colaborarea cu administratorul bazei de date (acesta lucrează nemijlocit cu schema bazei de date).2. arborescentă. Arhitectura unui sistem bază de date este prezentată în fig. dar fiecăruia îi corespunde o singură structură de date a sistemului bază de date. programe de aplicaţie. ca structură generală.. • accesul la datele stocate în baza de date să fie rapid şi eficace. pun la punct programele de . Structura de date a unui sistem bază de date este determinată de modelul abstract de reprezentare a datelor folosit. Din acest motiv s-a generalizat utilizarea conceptului de bază de date. precum şi utilizatori. prin memorare pe diverşi suporţi tehnic de date. orientat pe obiecte). atunci structura generală a sistemului bază de date este baza de date. o acţiune din realitatea organizaţiei economice. utilizatori. limbaje de manipulare autonome (procedurale şi neprocedurale). programe de aplicaţie şi utilitare. descrierea datelor constă în descrierea structurii de date a sistemului bază de date şi în descrierea regulilor care asigură coerenţa datelor. din: colecţii de date. În conformitate cu specificaţiile utilizatorilor finali (end-users). programele utilitare şi programele de aplicaţie. O bază de date trebuie să satisfacă următoarele condiţii: • structura bazei de date trebuie să asigure informaţiile necesare şi suficiente pentru îndeplinirea cerinţelor de informare şi decizie. SGBD sau DBMS (Data-Base Management System) reprezintă un ansamblu complex de programe care asigură interfaţa dintre baza de date şi utilizator. s-au realizat mai multe modele abstracte de reprezentare a datelor. în vederea gestionării. local sau de la distanţă. Dacă conceptul de bază de date denumeşte atât colecţiile de date cît şi structura de date folosită pentru reprezentarea acesteia. împreună cu domeniile de definiţie reale ale acestor caracteristici. • să se realizeze o redundanţă (cardinalitatea informaţiilor colecţiilor de date) minimă şi controlată a datelor memorate. În funcţie de tipul stabilit pentru legăturile dintre datele din colecţiile de date (ierarhic. prelucrării. interfeţe specializate cu limbajele de programare clasice etc. programatorii de aplicaţie. SGBD. reţea. în raport cu universul real al organizaţiei economice reprezentat. cât şi pentru denumirea modelului abstract de reprezentare a datelor care o determină. Accesarea bazei de date se realizează prin aplicaţii generale. cît şi structura de date folosită pentru reprezentarea acesteia în sistemul bază de date. folosind sistemele de calcul. numit bază de date. • să asigure o independenţă sporită a datelor faţă de programe şi invers. SGBD. local sau la distanţă. reţea. relaţional. Sistemul de gestiune a bazei de date. O bază de date poate să fie exploatată. un sistem bază de date este format. care este folosit atât pentru denumirea structurii de date a unui sistem bază de date.

• asigurarea partajării datelor (accesul concurent al utilizatorilor la baza de date). • asigurarea tuturor facilităţilor posibile de exploatare a datelor. Obiectivele unui SGBD sunt. 3. Limbajul de definire a datelor asigură. 2. • definirea drepturilor de acces. utilizarea bazei de date (de către toate categoriile de utilizatori). • definirea câmpurilor ce vor fi folosite drept chei de căutare. precum şi asocierea corespondenţei acestora cu nivelul conceptual. • accesul la înregistrări prin adresă sau prin conţinutul acestora. următoarele: • asigurarea independenţei datelor faţă de aplicaţie. Funcţiile generale ale unui SGBD sunt: 1. în principal: • definirea tuturor tipurilor de înregistrări şi de câmpuri de date. • asigurarea redundanţei minime şi controlate a datelor. Limbajul de manipulare a datelor permite: • parcurgerea structurilor şi a legăturilor existente.aplicaţie. descrierea datelor (definirea structurii bazei de date prin intermediul limbajului de definire a datelor). • reordonări ale câmpurilor de date. Data Definition Language). • asigurarea coerenţei şi integrităţii datelor împotriva ştergerilor accidentaşle sau intenţionate. administrarea bazei de date. a dispozitivelor fizice. actualizarea. . Data Storage Description Language). alocare de spaţii de memorie. manipularea datelor (încărcarea. 4. • specificarea ordinii logice a câmpurilor de date. c) limbajul de descriere a stocării datelor (DSDL. • actualizări ale înregistrărilor. SGBD. utilitare şi programele de aplicaţie este sistemul de gestiune a bazei de date. • definirea legăturilor între tipurile de înregistrări. prelucrarea şi regăsirea datelor cu ajutorul limbajului de manipulare a datelor). în principal) a propus o arhitectură proprie a unui SGBD. • definirea tranzacţiilor şi a condiţiilor de eroare. • asigurarea securităţii şi protecţiei datelor împotriva accesului neautorizat (inclusiv prin criptarea datelor). interfaţa dintre baza de date şi schema BD. • specificarea zonelor de lucru permanente şi tranzitorii. Comenzile SGBD (DBMS) pot fi grupate în trei categorii de limbaje: a) limbajul de definire a datelor (DDL. în principal. • asigurarea nivelului de performanţă globală (volum mare de date complexe gestionate cu un timp de răspuns acceptabil la adresarea cererilor de interogare din partea utilizatorilor multipli). Fiecare grup de lucru pentru standardizarea bazelor de date (CODASYL şi ANSI. Data Manipulation Language). Limbajul de descriere a stocării datelor oferă posibilităţi de: • asociere a fişierelor la programele de aplicaţie. Aşa cum s-a precizat deja. b) limbajul de manipulare a datelor (DML.

rânduri. reprezentarea fizică. articole). • consultare: căutare (selecţie). Metadatele reprezintă date despre date (nume.2. Prin faptul că reprezintă un inventar a datelor conţinute într-o bază de date. dicţionarul de date este un important instrument de management organizaţional. conţinut. indexare). prelucrare etc.).3). O înregistrare (record) reprezintă o asociere a valorilor pentru fiecare câmp (field) al bazei de date. ştergerea unor articole. a mecanismelor de adresare. O bază de date este compusă dintr-o mulţime de atribute (câmpuri.2 Arhitectura unui sistem bază de date Dicţionarul de date (Data Dictionary) este un fişier care memorează definiţiile datelor şi caracteristicile lor ca: folosirea. a modului de translatare a înregistrării logice în înregistrare fizică. Operaţiile ce se execută asupra unei baze de date sunt: • creare. înregistrări. • actualizare: modificare. coloane) şi are asociată o mulţime de date (linii. virtual şi fizic (fig. proprietar etc. În realizarea acestor dicţionare de date se folosesc metadatele. proprietatea (cine este responsabil pentru întreţinerea lor). • specificarea structurilor de memorare. autorizarea şi securitatea. NIVEL LOGIC NIVEL VIRTUAL NIVEL FIZIC SCHEMA EXTERNĂ 1 SCHEMA EXTERNĂ 2 SCHEMA CONCEPTUALĂ SCHEMA FIZICĂ SCHEMA EXTERNĂ n . • încărcare (populare). • crearea indecşilor asociaţi cheilor de căutare.2. adăugare articole noi. semnificaţie.• definirea şi izolarea datelor confidenţiale. ordonare (sortare. PROGRAM DE APLICAŢIE Baza de date SGBD SCHE MA BD UTILI TARE UTILIZ ATORI ADMINIST RATOR PROGRAMATOR DE APLICAŢIE Fig. Cele trei nivele de organizare a datelor într-o bază de date sunt logic.

O înregistrare virtuală se poate prezenta sub forma a una sau mai multe înregistrări fizice şi poate participa la construirea unei sau mai multor înregistrări logice. în condiţii de redundanţă minimă şi controlată a acesteia.2. bloc. pistă. se poate concluziona că SGBD (DBMS) asigură legătura dintre nivelul conceptual (virtual) şi nivelul fizic.Fig. se deosebesc: . octet şi bit).3 Niveluri de organizare a datelor într-o bază de date Nivelul logic sau extern (nivelul programatorului de aplicaţie) califică o structură de date ce are o realitate în planul semnificaţiei sau utilizării. În funcţie de locul în care sunt memorate colecţiile de date ce formează baza de date. califică forma în care fiecare utilizator vede structurarea datelor. Structura virtuală reprezintă schema bazei de date. cilindru. iar structura logică este denumită subschema bazei de date (concepţia CODASYL). Astfel. Într-o bază de date ideală datele sunt definite o singură dată şi folosite ori de câte ori este necesar. în funcţie de aplicaţia pe care o foloseşte sau în funcţie de resursele de date pe care administratorul bazei de date i le pune la dispoziţie. sector. Nivelul virtual sau conceptual (nivelul administratorului bazei de date) se referă la definirea structurii datelor din baza de date astfel încât aceasta să îndeplinească cerinţele tuturor utilizatorilor. Nivelul fizic (nivelul inginerului de sistem) priveşte modul de stocare şi de structurare a datelor pe suportul fizic de memorare a datelor (volum magnetic. dar nu şi în implementarea fizică.

DDB se realizează. Erorile de introducere a datelor pot să compromită precizia şi validitatea bazei de date. de tipul bazei de date şi de domeniul în care este ea folosită. A . Utilizatorul poate să fie uneori în situaţia de a nu conştientiza faptul că el introduce date incorecte. CDB (Centralized DataBases). Datele incorecte pot proveni. Cele mai multe SGBD-uri pot preveni. • baze de date distribuite. În urma acestei analize rezultă modelul dinamic sau temporal. în care nodurile reflectă procesele de prelucrare informaţională şi arcele fluxurile informaţionale ale datelor în baza de date. b. bazele de date pot fi generalizate şi specializate. Informaţia furnizată de rutinele de prelucrare şi de rapoarte este la fel de precisă şi corectă în măsura în care aceste caracteristici sunt prezente şi la datele stocate în bazele de date. analiza cerinţelor informaţionale. în principal. d. După orientare. analiza componentelor sistemului şi a legăturilor dintre acestea sau analiza structurală în urma căreia se defineşte modelul structural sau static al sistemului economic. Transformările de date se vor prezenta sub forma unei diagrame de flux a prelucrărilor (modelul funcţional).• baze de date centralizate. în situaţia în care colecţiile care formează baza de date sunt răspândite în nodurile unei reţele de calculatoare şi de comunicaţii. în situaţia în care toate colecţiile care formează baza de date sunt stocate pe un singur calculator. c. analiza stărilor sistemului şi a tranzacţiilor posibile între aceste stări în raport cu anumite evenimente. DDB (Distributed DataBases). Conţinutul acestor etape este dependent. procesul de normalizare ajută proiectantul bazei de date să creeze o structură a bazei de date care poate economisi spaţiul de memorare a datelor şi poate conduce la creşterea eficienţei prelucrării datelor. în urma căreia se defineşte modelul funcţional al sistemului economic. dar nu pot elimina introducerile incorecte de date.literă ROXXAAAAXXXXXXXXXXXXXXX X Exemplu RO96RXBR00000004312679 . de la apăsarea greşită a unor taste. prin intermediul limbajului structurat de interogare. Activitatea de analiză a sistemului economic presupune: a. dinamic şi funcţional) în scopul corelării şi completării lor. La proiectarea unei baze de date. Realizarea unei baze de date se obţine prin parcurgerea unor etape. aşa cum se arată în figura următoare: Format câmp CONT LA BANCĂ X – cifră. accesarea bazelor de date distribuite. În cadrul DDBMS. în primul rând. SQL (Structured Querry Language) şi al arhitecturii Client/Server (acestea sunt prezentate pe larg în capitolul 7 al lucrării). Se face menţiunea că analiza funcţională a sistemului are ca scop determinarea transformărilor de date care se produc în cadrul sistemului în scopul satisfacerii cerinţelor informaţionale specifice acestui sistem. de regulă. integrarea modelelor sistemului economic (structural. Scopul normalizării este de a minimiza redundanţa datelor. Formatul de câmp menţine consistenţa datelor prin asigurarea unei structuri de introducere a datelor.

prin legături ierarhice (arbore) sau de tip graf reţea. a casetelor cu liste sau a formatelor predefinite.). ce realizează reprezentarea legăturilor dintre date. Un sistem relaţional este compus formal dintr-o bază de date relaţională. distribuite.Formatul de câmp pentru CONT LA BANCA Proiectantul bazei de date poate să preîntâmpine introducerea datelor incorecte prin: . • sistemele relaţionale. 3. Drumurile de acces la date sunt specificate prin intermediul limbajului de manipulare a datelor. a structurilor de date specifice sistemelor ierarhice şi reţea.1 Generaţii de baze de date şi de sisteme de gestiune a bazelor de date asociate În evoluţia istorică. în programarea orientată pe obiecte. proces. regulile de integritate care guvernează utilizarea cheilor în model şi un set de asocieri. efortul esenţial este direcţionat pentru definirea . multimedia. deductive. la nivel logic.Codd) reprezintă un model formal de organizare conceptuală a datelor. SGBD (DBMS) este mai complicat şi mai greoi în comparaţie cu celelalte sisteme. . având la bază teoria matematică a relaţiilor. Sistemele de gestiune a bazelor de date în tehnologii avansate elimină cea mai mare parte a acestor dezavantaje. Elementele de definire a modelului relaţional corespund celor trei componente ale ingineriei software: informaţie.F. Aşa cum s-a arătat. OOP (Object-Oriented Programming).specificarea unui anumit format de câmp destinat pentru introducerea datelor (formatul de câmp este de fapt o imagine a cum trebuie să arate data atunci când această dată este introdusă în baza de date). bazele de date şi sistemele de gestiune a bazelor de date (SGBD) asociate au cunoscut trei generaţii: • sistemele ierarhice şi reţea. Modelul relaţional (ce aparţine lui E. online etc. active. o colecţie de operatori relaţionali. Sistemele ierarhice şi reţea reprezintă datele la nivel de articol. Problematica de detaliu a sistemelor de gestiune a bazelor de date relaţionale este tratată în paragraful următor. relaţionale orientate obiect. integritate. Diagrama structurii de date (graf orientat ce reprezintă tipuri de entităţi şi legături funcţionale dintre ele) serveşte pentru descrierea. Sistemele relaţionale tratează entităţile ca nişte relaţii. • sistemele în tehnologie avansată (orientate obiect. multibaze. Deoarece datele prezintă o slabă independenţă fizică.utilizarea regulilor de validare a câmpurilor (acele specificaţii prin care se filtrează datele introduse într-un anumit câmp).

că administrarea obiectelor complexe este mai dificilă decât accesul la relaţii prin cereri SQL. OODBMS prezintă următoarele avantaje: • integrarea descrierii structurale şi comportamentale. niveluri.1 Baze de date relaţionale. Obiectele de acelaşi tip formează o clasă ce cuprinde. ierarhii. Bazele de date deductive ce folosesc programarea logică (specifică inteligenţei artificiale) administrează cunoştinţe relativ la baze de date ce sunt. OLTP (OnLine Transactional Processing). moştenire). alături de date. 4. Datele sunt transparente numai pentru metodele asociate clasei respective (încapsularea datelor). Data Warehouse admite interogări ce nu sunt predefinite şi oferă răspunsuri ad-hoc pe baza analizelor datelor ce se referă la întreaga organizaţie. Pe baza faptelor cunoscute tezaurizate în cunoştinţe. se pot deduce noi fapte printr-un proces de raţionamente. Se realizează astfel accesul uniform şi integrat la fiecare dintre bazele de date componente. o bază de date optimizată în acest scop defineşte o Data Warehouse (depozit de date). dimensiuni. se realizează controlul asupra creerii şi ştergerii unui anumit obiect. • posibilităţi superioare de deducţie (ierarhie de clase. atribute. specific bazelor de date relaţionale. Prin reunirea tehnicilor bazelor de date cu acelea ale limbajelor orientate obiect s-au obţinut bazele de date orientate obiect şi sistemele de gestiune aferente acestora. OLAP (On-Line Analytical Processing). totuşi. inclusiv istorice. după principiul procesării analitice. Avantajele incontestabile ale tehnologiei orientate obiect au fost combinate cu acelea ale modelului relaţional.obiectelor. rezultând bazele de date relaţionale orientate obiect. de control la un moment dat al unei singure tranzacţii. • îmbunătăţirea interfeţei cu utilizatorii. şi metodele de acces la aceste date. RDB. Prin moştenire. Prin funcţiile denumite constructori şi destructori. se obţin clase derivate ce moştenesc proprietăţile (date şi funcţii) claselor-părinte. • considerarea aspectelor dinamice în cadrul aplicaţiilor. Data Warehouse se subdivide în baze de date departamentale (domenii de gestiune ale organizaţiei) denumite rafturi de date (Data Marts). Relaţiile sunt mulţimi de înregistrări ce reprezintă fapte. DSS (Decision Support Systems) implică un proces laborios de descoperire a informaţiilor utile din cadrul bazelor mari de date. de regulă. OODBMS (Object-Oriented DBMS). Procesul este denumit Data Mining (« mineritul datelor ») sau de descoperire a cunoştinţelor în baza de date. Sistemele tranzacţionale (ce se folosesc pentru prelucrarea datelor operaţionale ale organizaţiei economice) au la bază principiul procesării tranzacţionale online. dar şi bază de date multidimensională. . Sistemele multibaze de date sunt compuse din mai multe sisteme de baze de date ce sunt integrate pe baza schemelor globale. pentru toată organizaţia. KDD (Knowledge Discovery in Databases). Cunoştinţele se definesc ca aseţiuni generale şi abstracte asupra faptelor. Dacă se consideră scopul esenţial de analiză a datelor. Structura unei baze de date multidimensionale conţine obiecte de următoarele tipuri: variabile. O bază de date OLAP poate să fie bază de date relaţională. Se apreciază. Realizarea sistemelor de sprijin al deciziilor. Se realizează astfel o organizare coerentă a obiectelor partajate între utilizatori concurenţi.

Metadatele sunt date despre date. restricţii de integritate etc. structuri şi operaţii. Structura logică a bazei de date se Programele de aplicaţie nu trebuie să prezintă complet separată de structura fie influenţate de schimbările fizică a bazei de date (regula referitoare survenite în modul de reprezentare a . a liniei şi a coloanei. E. structurile sunt obiecte definite ce conţin date şi care sunt accesibile utilizatorului. iar operaţiile reprezintă acţiuni prin care sunt manipulate datele sau obiectele schemei bazei de date. R5 R6 R7 R8 Modelul relaţional abordează relaţiile de bază şi pe cele derivate ca pe un singur operand destinat operaţiilor de actualizare (update).Codd a formulat în anul 1985 cele 13 reguli de bază care definesc o bază de date relaţională şi care sunt prezentate în tabelul următor: Nr. se lucrează la un moment dat pe toată relaţia (regula referitoare la actualizări. Catalogul conţine denumiri de tabele. Baza de date relaţională reprezintă descrierea bazei de date în format logic simplificat sub formă de tabele (regula metadatelor).F. Regulile stabilesc modul de manipulare a datelor. domenii. toate vederile (view-urile) sunt actualizabile (regula actualizării vederilor). Comentarii Conceptul de bază este relaţia. Dacă vederea curentă reprezintă un tabel. SQL este limbajul de bază pentru realizarea interogărilor asupra bazei de date. A nu se confunda cu zero (0). coloane. În operaţiile de schimbare a conţinutului bazelor de date. regulii R0 R1 Conţinutul regulii SGBD gestionează datele la nivel de relaţie (exclusiv pe baza caracteristicilor relaţionale). Datele sunt accesibile prin numele tabelului.Termenul de bază de date relaţională (BDR) a fost introdus de E. Datele individuale dintr-un tabel sunt accesate prin specificarea numelui tabelului. Toate datele din baza de date relaţională se reprezintă explicit sub forma unor valori într-un tabel (regula reprezentării logice a datelor). inserare (insert) şi ştergere (delete) efectuate asupra datelor. Toate tabelele virtuale ce teoretic sunt posibil de actualizat. Modelul relaţional permite implementarea mai multor limbaje (regula de permisiune a limbajelor multiple). inserări şi ştergeri în baza de date).Codd de la firma IBM în anul 1969.F. trebuie să fie în mod practic actualizate. Modelul relaţional este fundamentat pe reguli. R2 R3 R4 Valoarea NULL semnifică „nimic”. Regula nu face diferenţieri între tratarea datelor şi a metadatelor. a valorii cheii primare şi a coloanei (regula garantării accesului la date) Valorile NULL (inexistenţa datelor) sunt tipuri de date acceptate (regula referitoare la valorile NULL).

Domeniul pentru cantitate este: D3: {“1200”. Coloanele tabelului se numesc atribute. Regulile şi restricţiile de integritate nu Nu trebuie folosit un limbaj de nivel pot fi evitate de nici un limbaj de acces scăzut orientat pe prelucrarea pe la date (regula referitoare la prelucrarea tupluri. Accesarea datelor pe server de către Este presupusă producerea unui client se produce în mod continuu proces de copiere a datelor dintr-o (regula referitoare la distribuirea bază de date localizată la distanţă.”04301”}.”CHERESTEA”}. în acest caz. geografică a datelor). Baza de date relaţională (RDB) este compusă dintr-o mulţime de domenii şi o mulţime de relaţii peste care se aplică o mulţime de asocieri. este: D4: {pret_unitar  pret_unitar∈[180000. Domeniul ce reprezintă codurile materialelor este: D1: {“01212”. Domeniul preţurilor unitare.”CORNIER”.R9 R10 la independenţa fizică a datelor). iar liniile se numesc tupluri. R11 R12 datelor sau în metodele de acces. Asocierea se realizează pe bază de atribute (din capul de tabel). Coloanele conţin etichete ce reprezintă nume ale atributelor (Cod_material. Aşa cum s-a arătat. Programele de aplicaţie nu trebuie să fie influenţate de schimbările efectuate asupra relaţiilor bazelor de date. Denumire_material. Restricţiile de integritate sunt create în limbajul SQL şi se stochează în dicţionarul bazei de date şi nu în aplicaţiile individuale.”03214”. o bază de date relaţională reprezintă o colecţie de relaţii (tabele în accepţiunea uzuală. datelor la nivel de bază). memorate fizic în fişiere). Domeniul este definit ca mulţimea obiectelor de acelaşi tip. iar domeniul pentru tipurile de materiale (delimitate prin denumire_material) este: D2: {“TABLA”. Cantitate. Un astfel de exemplu este tabelul (relaţia) referitor la MATERIALE: Cod_material 01212 03214 04301 Denumire_material Tablă Cornier Cherestea Cantitate 1200 400 850 Pret_unitar 180000 420000 210000 Fiecare linie descrie un anumit material. O relaţie în accepţiunea bazelor de date pe domeniile Di constă dintr-un cap de tabel şi un corp de tabel. Atunci când bazei de date i se aduc modificări neconforme. Pret_unitar). Restricţiile de integritate sunt definte în limbajul folosit de sistem (regula referitoare la restricţiile de integritate). . datele se conservă (regula referitoare la independenţa logică a datelor).”400”. Relaţia este o mulţime rezultată ca urmare a agregării (corespondenţei) a două sau mai multe mulţimi.420000]}.”850”}. Trebuie precizat faptul că nici un SGBD actual nu respectă în totalitate cele 13 reguli ale lui Codd.

<”03214”. Reuniunea (notată cu OR. Algebra relaţională permite derivarea procedurală a relaţiilor.”CORNIER”. E. APPEND sau UNION) este o operaţie definită pe relaţiile Rel1 şi Rel2 (cu aceeaşi schemă). Exemplu de tuplu: <”01212”. operaţii derivate (intersecţia şi diviziunea) şi operaţii suplimentare (selecţia. Relaţia L se defineşte prin tupluri corespunzătoare din tabel: L: {<”01212”. joncţiunea etc. Numărul valorilor unui tuplu este gradul relaţiei. Calculul relaţional conţine mulţimea operatorilor din modelul relaţional şi este o adaptare a calculului cu predicate (o relaţie este identificată cu un predicat) pentru domeniul BDR.”TABLA”. Se prezintă ca exemplu reuniunea.”TABLA”. Schema unei relaţii este formată din numele relaţiei şi lista atributelor (pentru fiecare atribut este necesară specificarea domeniului asociat). diferenţa. Numărul tuplurilor unei relaţii este cardinalul relaţiei. Rel1 O R Rel2 Rel3 .”1200”.Codd a definit algebra relaţională ca o colecţie de operaţii pe relaţii. Când variabilele operează asupra domeniilor – aşa cum se petrec lucrurile în prezent – ele sunt variabile domeniu şi determină calculul relaţional orientat pe domeniu. Într-o relaţie. Iniţial. Regulile de integritate sunt aserţiuni pe care datele ce formează baza de date trebuie să le satisfacă şi sunt în număr de trei: unicitatea cheii (cheia primară trebuie să fie unică şi minimală). de referinţă şi de entitate. proiecţia. integritatea entităţii (atributele cheii primare trebuie să fie diferite de null) şi integritatea referirii (o cheie externă trebuie să fie null în întregime sau să corespundă unei valori a cheii primare asociate). se observă că relaţia este reprezentată prin tabelul bidimensional în care coloanele sunt domenii iar liniile sunt tupluri.”400”.F. splitarea unei relaţii.Mulţimea tuplurilor este definită prin produsul cartezian al domeniilor D1 X D2 X …X Dn.a. Tipurile de operaţii acceptate de algebra relaţională sunt operaţii de bază (reuniunea. obţinânduse calculul relaţional orientat pe tuplu.”180000”>. ce generează o nouă relaţie Rel3 (cu schema identică cu a relaţiilor Rel1 şi Rel2) care este formată din reuniunea tuplurilor relaţiilor Rel1 şi Rel2 din figura de mai jos.”180000”>. în BDR. Modelul relaţional este format din două mulţimi de operatori pe relaţii: algebra relaţională şi calculul relaţional. variabilele definite asupra relaţiilor aveau valori care reprezentau tupluri de relaţie (variabile tuplu). complementarea unei relaţii. ∪ .).”1200”. Ca urmare. produsul cartezian ş. declarativă a relaţiilor. Relaţiile sunt precizate prin proprietăţile tuplurilor. astfel încât o anumită operaţie dispune de operanzi de tipul relaţie şi are ca rezultat tot o relaţie.”420000”>}.). Calculul relaţional asigură definirea neprocedurală. închiderea tranzitivă. este necesar ca tuplurile să fie distincte (nu se permit valori duplicate). Constrângerile structurale sunt de trei tipuri: de cheie.

Normalizarea se obţine printr-un număr de paşi succesivi. restricţiile referitoare la dependenţa atributelor secundare de chei. Un tuplu nu trebuie să conţină atribute sau grupuri de atribute repetitive (nu se admit duplicate). Forma normală a unei relaţii este necesară deoarece formele normale nu produc anomalii în actualizarea datelor unei baze de date relaţionale. Tabelul 4. uzuală şi fizică a elementelor de bază ale organizării datelor în baze de date relaţionale sunt prezentate în tabelul 4. . Tipurile de restricţii folosite la formele normale ale relaţiilor sunt restricţiile asupra valorilor atributelor. Se afirmă că o relaţie se găseşte într-o formă normală particulară dacă îndeplineşte un număr specificat de restricţii. până la realizarea formei dorite. Cheia candidat aleasă pentru a identifica efectiv tupluri se numeşte cheie primară. Conceptele folosite pentru descrierea formală. restricţiile cu privire la dependenţa atributelor principale de toate atributele. Diferitele chei posibile se numesc cheicandidat.2 [44]. în cadrul unui proces reversibil. O relaţie se găseşte în 1NF dacă domeniile pe care sunt definite atributele relaţiei sunt formate numai din valori elementare.2 Formal Relaţie Tuplu Atribut domeniu Uzual tablou linie coloană tip de dată Fizic Fişier Inregistrare Câmp tip de dată Definirea proprietăţilor structurale ale relaţiilor se realizează prin tehnica normalizării.Diagrama operaţiei reuniune Cheia unei relaţii reprezintă o mulţime minimală de atribute ale căror valori identifică în mod unic un tuplu într-o relaţie. Se folosesc următoarele forme normale: • 1NF (forma normală 1).

generatoare de aplicaţii. de existenţa unor limbaje speciale de definire şi de manipulare a datelor. O relaţie se află în 2NF dacă este în 1NF şi oricare dintre atributele non-cheie este dependent funcţional complet de cheia primară a relaţiei.1 Baze de date orientate obiect Bazele de date orientate pe obiecte. inclusiv cu elemente de pornire nedeterministe. Ele prezintă avantaje legate de existenţa unui ansamblu integrat de utilitare bazat pe un limbaj evoluat de programare (generatoare de meniuri. în timp ce în situaţia bazelor de date orientate pe obiecte. OOP. 5. O relaţie se găseşte în 3NF dacă este în 2NF şi atributele non-cheie nu sunt dependente tranzitiv de cheia primară a relaţiei. OODB (Object-Oriented DataBase) şi SGBD asociate asigură crearea de obiecte complexe formate din componente simple. • BCNF (forma normală Boyce-Codd). Se face menţiunea că între partea de limbaje de programare şi partea de baze de date există multe elemente comune. imagine. O relaţie se găseşte în 4NF dacă în cadrul acesteia nu se manifestă mai mult decât o dependenţă multivaloare. generatoare de etichete). • o bază de date este realizată pentru a rezolva o multitudine de probleme. Ca urmare. problemele se complică. de regulă. cu toate acestea. în partea stângă. Dintre dezavantajele bazelor de date relaţionale. ca determinant. aceste părţi sunt diferite: • un program pe calculator este gândit să rezolve o anumită problemă. obiectele complexe simplifică problema. Prin aceste tipuri de baze de date se ridică nivelul de abstractizare. extinderea posibilităţilor de generalizare şi agregare a relaţiilor. O relaţie L se găseşte în 5NF dacă fiecare dependenţă joncţiune este implicată printr-o cheie-candidat a lui L. se cuvine să se judece în mod nuanţat atunci când se încearcă reliefarea avantajelor utilizării OOP şi OODB. Bazele de date relaţionale conţin structuri de date simple şi intuitive. o cheie-candidat. fiecare prezentând atribute şi comportament propriu. O relaţie este în BCNF dacă dependenţele funcţionale netriviale ce pot apare în cadrul relaţiei conţin. Aceste sisteme se mai numesc şi sisteme de obiecte. texte). 2. se menţionează imposibilitatea utilizării obiectelor complexe şi dinamice. Modelarea superioară a datelor. ceea ce semnifică dezvoltarea de noi aplicaţii. Sistemul de gestiune al bazelor de date orientate pe obiect (SGBD-OO sau OODBMS) are ca principale obiective [18]: 1. cu originea în limbajele de programare orientate pe obiecte. Îmbunătăţirea interfeţei cu utilizatorul: . moştenire). Capacitatea de deducţie superioară (ierarhie de clase. 3. precum şi de independenţa completă în descrierea logică a datelor (în termeni de relaţii) şi în descrierea fizică a datelor (în termen de fişiere). evoluţia către multimedia şi hipermedia (sunet. Pentru un program. • 4NF (forma normală 4).• 2NF (forma normală 2). a administrării datelor distribuite şi a cunoştinţelor. • 5NF (forma normală 5). • 3NF (forma normală 3). generatoare de forme.

Fiecare obiect posedă un tip care semnifică o clasă de obiecte. Capacitatea de tratare dinamică. Această caracteristică ascunsă a obiectului se numeşte încapsulare.crt 1. 2. c. Instanţa unui obiect reprezintă un obiect individual. prin încapsulare. Deşi tentaţia iniţială este de a considera obiecte doar unităţile ce se pot muta. Structura obiectului şi modul de acţiune al metodelor sale nu pot fi accesate şi actualizate direct de un agent extern. 4. • obiecte compuse ca: nume. Un obiect înglobează următoarele elemente: a. reprezentarea internă a unui obiect poate să fie modificată fără a fi nevoie ca aplicaţiile care utilizează obiectul să fie rescrise. boolean. O comparaţie între noţiunile clasice şi cele asociate bazelor de date orientate pe obiecte este prezentată. iar specificarea metodei se numeşte „semnătură”. prin obiecte se desemnează atât unităţile fixe cât şi cele mutabile. dar pot fi modificate indirect prin intermediul mesajelor. Metoda reprezintă un program care manipulează obiectul sau indică starea sa. concomitent cu integrarea descrierii structurale şi comportamentale. implementarea operaţiilor. Noţiunea specifică obiectelor Obiect nemutabil (care nu se poate muta) Obiect mutabil (care se poate muta) Clasa de obiecte Metoda Mesaj Noţiunea clasică de comparaţie Valoare Variabilă Tip Operator Invocarea de operator Obiectul reprezintă conceptual o unitate identificabilă cu conţinut propriu. şir de caractere. • obiecte complexe ca: autoturism. Colecţia de atribute trebuie aleasă astfel încât să descrie entitatea. Fiecare obiect dispune de un identificator unic. în tabelul următor: Nr. Ea este asociată unei clase. OID (Object ID). creind posibilitatea de definire a unor tipuri de date care combină atât structura de date cât şi definirea procedurii. care se deosebeşte de ceea ce o înconjoară. Modelul de dată-obiect asigură reprezentarea unor structuri de date complexe şi a unor ierarhii model. b. Încapsularea presupune independenţa fizică de date. structura de date. chiar dacă sunt identice sub toate aspectele transparente utilizatorului. Astfel. 3. Un model de date orientat pe obiecte are la bază noţiunea de entitate conceptuală şi defineşte un obiect ca o colecţie de proprietăţi care descriu entitatea. adică să cuprindă atribute pe care utilizatorul trebuie să le cunoască. adresă. Două obiecte cu OID diferiţi sunt diferite. Obiectele sunt încapsulate. Structura unui obiect şi operaţiile (metodele) permise pentru acel obiect sunt definite împreună. Starea unui obiect este exprimată prin valorile atributelor sale. denumit ID al obiectului. . Obiectele se clasifică în: • obiecte elementare ca: întreg. 5. Comportamentul unui obiect reprezintă un set de metode sau operaţii care acţionează asupra atributelor sale. specificarea operaţiilor.4. după Date. angajat.

deşi are aceeaşi specificaţie cu cea de tip. concatenarea (+). b) sisteme care admit ca noţiune de bază tipul. tipul sintetizează elementele comune ale unui set de obiecte cu aceleaşi caracteristici. Interfaţa este partea vizibilă pentru utilizator şi constă într-o listă de operaţii. numărarea (count ( ) ). întreg. boolean. Ea presupune generarea de obiecte prin operaţia „new” aplicată unei clase şi stocarea setului de obiecte care reprezintă instanţele clasei. Elementele unei liste sunt accesibile direct prin rangul lor. comparaţia (= =). ORION. O listă este o colecţie ordonată de obiecte ale aceleiaşi clase sau de valori ale aceluiaşi tip. Interfaţa publică este compusă din definiţiile interfeţelor (corespunzătoare semnăturilor specificaţiei). Descrierea clasei serveşte ca şablon pentru crearea obiectele noi. Constructorii de tipuri sunt: tuplul. Deoarece sistemele baze de date orientate pe obiecte reale nu sunt „pure” (cu variabile instanţă care sunt netransparente utilizatorului). real. Persistenţa reprezintă proprietatea prin care starea bazei de date asigură execuţia unui proces pentru a fi refolosit ulterior în alt proces. O clasă este un tip abstract de date care defineşte atât structura obiectelor din clasa respectivă. Memoria privată este compusă din variabile de instanţă (atribute sau membri) ale căror valori reprezintă starea internă a obiectului. cum sunt: C++. CDO este obiectul ce defineşte clasa pentru care obiectul considerat reprezintă o instanţă (este similar unui descriptor). codul aferent metodelor este stocat în baza de date (ca şi starea obiectului). cât şi mulţimea metodelor existente pentru aceste obiecte. O2. CDO (Class-Defining Object). Tipuri şi clase Obiectele care prezintă acelaşi fel de atribute şi acelaşi comportament fac parte din acelaşi tip sau clasă. Noţiunea de clasă. j]). interfaţa şi implementarea. Simula. Deoarece face parte integrantă din obiect. începând cu tipurile de bază: caracter. şir de caractere. apartenenţa (in).Metodele şi atributele nu sunt vizibile din „exteriorul” obiectului. GBASSE. iteraţia ( { }). setul şi clasa. Operaţiile permise asupra listelor sunt: afectarea (=). Un obiect este divizat în interfaţă publică şi în memorie privată. Astfel. Acest sistem are ca şi componente. . lista. Această interfaţă publică este inclusă în obiectul de definire a clasei. Implementarea presupune descrierea structurii interne a datelor obiectului şi realizarea procedurilor de implementare a operaţiilor interfeţei. ştergerea (list ( ) ). este asociată cu faza de execuţie. sublista ([i . cum ar fi: VISION. Interfaţa publică nu face parte din obiectul corespunzător. inserarea ([:i]+=). Un obiect răspunde la mesaje care reprezintă cereri adresate obiectului pentru a returna o valoare sau pentru a-şi schimba starea. Într-un sistem orientat pe obiecte. variabilele de instanţă apar ca transparente utilizatorului. Un tip este construit recursiv. Persistenţa este o proprietate a datelor sau a obiectelor care presupune existenţa lor pe o durată mai mare în comparaţie cu aceea a procesului care le-a generat. obiectele din aceeaşi clasă prezintă aceleaşi atribute şi aceleaşi metode şi răspund la acelaşi mesaj. Se deosebesc variabile de instanţă publice (transparente utilizatorului) şi variabile de instanţă private (cele netransparente utilizatorului). înlocuirea. În raport cu această caracteristică există două categorii de sisteme orientate pe obiecte : a) sisteme care admit ca noţiune de bază clasa. accesul direct ([i]).

ştergere şi modificare. ea este considerată ca subclasă. c) metodele pot fi definite. e) instanţa unei clase poate fi actualizată prin metode care modifică valorile variabilelor propriei instanţe. toate obiectele sunt membrii unei clase. Operaţiile de creare. definirile de clasă sunt ele însele obiecte. • fiecare obiect are asociat un identificator care este unic şi asigurat de sistem. Taxonomia defineşte un set de schimbări semnificative ale schemei. identificatorul său trebuie şi el şters sau mutat. • definirea unei clase poate include variabile de instanţă. 2. Într-o serie de implementări. Ca atare. În modelul de date orientat pe obiecte. • schema bazei de date poate fi extinsă dinamic prin definirea de noi clase. O schemă completă a unei baze de date orientată pe obiecte poate consta din una sau mai multe ierarhii de clasă. Când o clasă moşteneşte. împreună cu relaţiile structurale.Moştenirea Într-o bază de date orientată pe obiecte. clasele şi moştenirea formează baza modelului de date orientat pe obiecte şi presupune următoarele aspecte: • obiectele sunt entităţi de bază care înglobează structuri de date şi operaţii. Moştenirea reprezintă mecanismul de realizare a definirii unei clase în care derivă variabilele de instanţă şi metodele din altă definire de clasă. • obiectele sunt încapsulate. Aceste schimbări pot fi: . Definirea unei taxonomii şi a unui model al schimbărilor. Modificarea schemei presupune: 1. iar modelul furnizează o bază pentru specificarea semanticilor schimbărilor schemei. Moştenirea conduce la reutilizarea codului. • clasele sunt înrudite prin moştenire. d) clasele pot fi definite şi actualizate prin operaţii de creare. regulile de integritate reprezintă o consecinţă a structurii modelului şi a următoarelor operaţii: • toate obiectele trebuie să respecte protocolul specificat de definirile lor de clasă. şterse sau modificate. clasele sunt aranjate într-o ierarhie în care fiecare clasă moşteneşte toate atributele şi metodele superclasei din care face parte. Operaţiile modelului de date orientat pe obiecte Operaţiile se pot grupa în modul următor: a) obiectele comunică între ele prin mesaje. Obiectele. Implementarea schimbărilor schemei. • definirea unei clase este mecanismul de specificare a schemei bazei de date. acest lucru presupunând accesul limitat la obiecte prin folosirea protocolului de mesaje definit pentru clasa obiectului. Obiectele clasă sunt instanţe ale unei clase generice sau ale unei metaclase. un obiect nu există fără să aibă asignat un identificator. Conceptele de subclasă şi superclasă sunt analoge conceptelor de generalizare şi specializare. • clasele descriu tipuri generice de obiecte. Dacă un obiect este şters sau mutat. având tipuri de date definite de sistem sau de utilizator. numite obiecte de clasă. aceasta modificând starea internă a obiectului. modificare şi ştergere ale definirilor de clasă pot fi şi implementate ca mesaje. • identificatorul obiectului asigură integritatea referirii la un obiect. b) un mesaj poate fi trimis instanţelor mai multor clase.

Încapsularea funcţiilor îl ajută pe programatorul de aplicaţie să asocieze funcţiile pe care şi le creează cu colecţiile utilizate. Stocul rezident de obiecte. Principiul 3. Principiul 2. • funcţii. SGBD-OO utilizează funcţii care conţin metode şi proceduri ale bazei de date. • un constructor de tip secvenţă. 3. Un SGBD-OO lucrează cu obiecte complexe. • un constructor de tip şir. cu restricţia ca acestea să fie cât mai compacte. Sistemul de gestiune al bazelor de date orientate pe obiecte (SGBD-OO sau OODBMS) conţine structuri şi reguli orientate către lucrul cu obiecte. Componentele care nu există vor fi create ca subclase ale unor clase existente. care pot fi reutilizate pentru noul proiect. ştergerea unui atribut sau a unei metode. • un constructor de tip set. În plus. În proiectarea SGBD-OO se au în vedere următoarele: Principiul 1. SGBD-OO şi în general SGBD–urile din generaţia a treia vor prelua avantajele SGBD–urilor din generaţia a doua. Arhitectura SGBD-OO cuprinde trei componente: 1. cum ar fi: schimbarea numelui sau domeniul unui atribut. adică sunt unul şi acelaşi obiect. Server-ul de obiecte (asigură gestiunea tranzacţiei şi gestiunea stocului de obiecte). în colecţiile existente. obiectele. ceea ce conduce la două relaţii posibile: . Gestionarul de obiecte (Object Manager) furnizează interfaţa dintre procesele externe şi SGBD-OO. încapsulate. • un constructor de tip înregistrare. b) schimbări referitoare la structura ierarhiei de clase care includ adăugarea sau ştergerea unei clase şi schimbarea relaţiilor superclasă/subclasă dintre o pereche de clase. Acestea includ schimbările atributelor şi metodelor definite pentru o clasă.egalitatea a două obiecte. . Se poate utiliza şi metoda bottomup prin care mai întâi se identifică componentele funcţionale pe baza cărora se vor identifica. SGBD-OO trebuie să poată conecta şi limbaje din generaţia a patra.a) schimbări referitoare la modul de definire al unei clase. obiecte care se obţin prin aplicarea de constructori asupra obiectelor simple. incluzând: • un sistem de date abstracte pentru construirea de noi tipuri de date. se caută o modalitate de acces la o înregistrare existentă într-o colecţie oarecare şi aceasta se poate realiza prin utilizarea unui sistem de pointeri către identificatorii de obiecte. ermetizate. Orice obiect există independent de valorile atributelor sale. • o compunere recursivă a elementelor anterioare. se testează componentele specifice. . adică au aceeaşi valoare. adăugarea.identitatea a două obiecte. 2. O dată creată o ierarhie potrivită. Proiectarea bazei de date orientată pe obiecte Pentru proiectarea unei baze de date orientată pe obiecte se foloseşte tehnica topdown care constă în identificarea componentelor după care se stabilesc corelaţiile între ele şi se rafinează succesiv în „cascadă” componentele sale. Identitatea obiectelor. • un constructor de tip reuniune.

Limbajul de definire a datelor este realizat prin mecanismul de transmitere a mesajelor. Asigurarea accesului la definirile de clasă existente. Gestionarul de obiecte trimite cerinţe pentru regăsirea şi actualizarea definirilor de clasă. inserţia. Redefinirea dinamică a clasei (evoluţiei schemei). Transmiterea de mesaje şi prelucrarea cererii poate fi reprezentată astfel: . Funcţiile de bază ale stocului de date-obiect se caracterizează ca fiind: 1. către server-ul de obiecte. Un singur server poate manipula tranzacţii transmise de la mai mulţi gestionari de obiecte. Cererile pot fi translatate în planuri de execuţie în care selecţia şi regăsirea obiectelor sunt realizate prin transmiterea de mesaje. . Limbajul pentru cereri ad-hoc se bazează pe transmitere de mesaj pentru selectarea şi regăsirea obiectelor. . Gestiunea stocului de obiecte se referă la menţinerea nivelului fizic de organizare a bazei de date obiect (ODB) şi la asigurarea căilor de acces necesare realizării accesului eficient la stocul de obiecte. Gestionarul de obiecte asigură interfaţa dintre procesele externe şi SGBD-OO. .transmiterea cererii. într-o bibliotecă de clasă sau într-un dicţionar de date. server-ului de obiecte.controlul sesiunii (menţinerea spaţiului local de lucru al utilizatorului extern pentru operaţii efectuate asupra bazei de date). SGBD-OO trebuie să poată suporta stocarea şi manipularea obiectelor de lungime variabilă şi de orice dimensiune. 3. . Definirea şi modificarea schemei constă din următoarele etape: 1. realizează legături dinamice şi operaţii de verificare a tipului şi expediază cerinţa externă pentru obiecte. Prelucrarea mesajelor. Obiectele. Gestiunea tranzacţiilor este asigurată de server-ul de obiecte. El primeşte cereri de creare de definiri de clase. specificând crearea. mutarea sau identificarea definirilor de clasă. adică obiectele create şi adăugate trebuie reţinute şi după ce se încheie sesiunea. . 2.Gestionarul de obiecte asigură implementarea completă a modelului de date-obiecte pentru utilizatorul extern. El primeşte mesaje pentru obiecte individuale. Suport pentru obiecte mari. de manipulare a mesajelor generate de un program de aplicaţie în execuţie. definirile de clasă şi metodele cerute de gestionarul de obiecte sunt regăsite de server-ul de obiecte din stocul rezident de obiecte. Facilităţi de arhivare şi asigurare de rezerve (dubluri). Acest lucru include posibilitatea de a defini structurile şi de a executa operaţiile specificate prin model. Extensibilitatea schemei bazei de date. pot fi stocate permanent în SRO.transmiterea cerinţelor obiectului şi actualizare acestuia.crearea de noi obiecte sau instanţe de clasă trebuie iniţiată de gestionarul de obiecte. 2. Aceasta presupune că protocolul de mesaje al clasei obiectului este definit pentru a permite accesul la variabilele de instanţă necesare pentru a selecta obiectul. Suport pentru rezidenţă.legătura dinamică (selectarea unei metode pentru un mesaj trimis unui obiect în momentul execuţiei). Definirile tuturor claselor asigurate de SGBD-OO. 3. ca şi a claselor create de utilizatorii umani. Server-ul de obiecte asigură refacerea. de modificare a definirilor de clase deja existente. Aceasta include prelucrarea declaraţiilor limbajului de baza de date. ştergerea şi actualizarea obiectelor în stocul rezident de obiecte.

în acest caz. noţiunea de server trebuie considerată în reţea sub cele două aspecte hard-soft (dualitatea hard-soft). securitate sporită. Cea de-a doua accepţiune prezentată mai sus pentru server.1 Arhitectura Client/Server Într-o reţea de calculatoare şi de comunicaţii dintr-o organizaţie economică. b) tipuri de indecşi specializaţi pentru obiecte. Aceasta include indexarea obiectelor pentru a permite regăsirea eficientă a obiectelor individuale. clientul. Ca urmare.Caracteristicile care asigură regăsirea şi actualizarea obiectelor stocate pot fi: a) suport pentru căi de acces care este necesar pentru a asigura regăsirea şi actualizarea eficientă a datelor stocate în baze de date mari. 6. dar şi indexarea obiectelor prin valorile variabilelor de instanţă. pentru regăsirea subseturilor de obiecte pentru satisfacerea cererilor. Serverul. minicalculator sau un calculator mare . prezintă două accepţiuni: • un calculator dedicat pe care este instalat un soft pentru gestionarea accesului într-o reţea locală de calculatoare (LAN). procesare şi date – se găsesc pe acelaşi calculator sau sunt distribuite pe calculatoare diferite (în varianta standard. 6. partajare resurse între clienţi. Elemente fundamentale ale serverelor de baze de date. datele sunt stocate pe server. independent. caracterizează arhitectura client/server ce permite divizarea procesului specific aplicaţiei în două componente distincte. d) segmentarea obiectelor stocate. inclusiv gestionarea accesului la resursele din reţea din partea calculatoarelor – staţii de lucru (workstations). Cu ajutorul arhitecturii client-server se obţine: conectarea în reţea a mai multe calculatoare de diferite tipuri (mainframe şi microcalculatoare). componenta server este un sistem de calcul (microcalculator puternic. unul dintre modelele de bază pe care se fundamentează funcţionarea reţelei este constituit de modelul client/server. • un program (conceput pe un model de proces distinct) sau un calculator care răspunde cererilor (requests) adresate de entitatea denumită client. Toate calculatoarele care se găsesc între server şi client alcătuiesc ceea ce se denumeşte generic middleware (mediul de mijloc). Spre deosebire de aceasta. ce se prezintă utilizatorului cu toate resursele la dispoziţie. Aceste arhitecturi client/server pot fi cu două entităţi (two-tier). administrare avansată în cadrul reţelei de calculatoare şi de comunicaţii). ca noţiune de bază.mainframe) cu caracteristici tehnologice maximale momentului implementării în mediu distribuit (gestionare date. procesarea este divizată între server şi client. denumite client (« front-end ») şi server (« back-end »). susţinut de arhitecturi adecvate în funcţie de numărul de entităţi componente ale lanţului de lucru în reţea a unei aplicaţii ale cărei elemente – prezentare. iar prezentarea aparţine clientului). De regulă. componenta client este reprezentată de un calculator mai puţin pretenţios. tratarea unitară a bazelor de date aflate . este un proces care are nevoie de un serviciu pe care trebuie să i-l furnizeze serverul. cu trei entităţi (three-tier) sau cu mai multe entităţi (n-tier). c) gruparea obiectelor în acelaşi sector de stoc secundar.

Cazul cu client pasiv se întâlneşte atunci când se realizează conexiuni cu prelucrare gazdă (host procesing) pe un server de tip mainframe. care înseamnă că serverul transmite răspunsul către entitatea client. sub aspect software. un server poate răspunde la cererile adresate de mai mulţi clienţi. De asemenea.server de prezentare.răspuns (response). răspuns ce corespunde cererii de interogare adresate anterior. .SendRequest. În dialogul client-server. • generaţia a II-a. pot exista următoarele cazuri: client-server. prin care se asigură recepţionarea răspunsului de la server de către client. orientată pe obiecte. Entitatea server asigură mai multe clase de servicii clienţilor: execuţia aplicaţiilor. cu ajutorul cererilor de interogare SQL. 2) client . . iar clientul stochează şi execută aplicaţia client. serverul îndeplind doar rolul de server de fişiere (File Server) şi/sau server de imprimare (Print Server). Există şi situaţia în care cele două entităţi. un client poate adresa cereri către mai multe servere. Cererile SQL sunt formulate de aplicaţia client către SGBDR de pe server.SendReply.server de date.ReceiveReply. iar clientul este un terminal cu rol neimportant în execuţia operaţiilor necesare efectuării dialogului. care semnifică faptul că entitatea server recepţionează cereri de interogare de la entitatea client . Dacă cele două entităţi sunt instalate pe acelaşi calculator. administratori ai bazelor de date. care se caracterizează prin faptul că server-ul stochează baza de date relaţională. caracteristică anilor ’90. server şi client. În reţeaua de calculatoare şi de comunicaţii. Entitatea client poate executa următoarele apeluri la transport: . prin adresarea cererii de serviciu către server. de tipul cerere (request) . iar celelalte procese considerate realizează gestionarea datelor şi execuţia aplicaţiilor. Există mai multe tipuri de client-server. Serverul gestionează baza de date şi răspunde interogării adresate de client. apelurile specifice sunt următoarele: . Cel mai eficient este cazul client-server când activităţile sunt divizate în mod echilibrat între client şi server. colaborarea categoriilor de utilizatori (utilizatori finali. atunci acest calculator are instalat un sistem de operare pentru multi-procesare. Cazul cu server pasiv se constată atunci când cele mai multe aplicaţii se efectuează de către client. În acelaşi timp. deoarece clientul şi serverul reprezintă procese distincte. . interfeţe grafice destinate dialogului cu utilizatorul. arhitectura client-server a cunoscut mai multe generaţii: • generaţia I. În evoluţia sa. în funcţie de importanţa acordată unei sau alteia dintre componentele « triadei » stocare – prelucrare – prezentare: 1) client . programatori).ReceiveRequest. pot coexista pe acelaşi calculator. Execuţia acestor cereri de interogare şi transmiterea răspunsului se efectuează de către entitatea server. în care un proces este destinat funcţiei de asigurare a dialogului cu utilizatorul. Clientul.pe diferite calculatoare din reţea. interoghează baza de date ce se găseşte stocată pe server. Între entitatea client şi cea de server se poartă un dialog permanent sau în anumite momente. accesul la fişierele şi bazele de date administrate de SGBDR de pe server. în care utilizatorul are acces la datele administrate de server utilizând o aplicaţie-client. ceea ce înseamnă: clientul anunţă serverul asupra operaţiilor ce urmează a fi executate. client pasiv şi server pasiv. la entitatea server.

3) client - server de proceduri pentru prelucrare, în care aplicaţia-client poate realiza controlul execuţiei procedurilor stocate pe server prin intermediul unei interfeţe specializate. Cel mai răspândit este tipul combinat client-server de date, de prezentare şi de proceduri pentru prelucrare care prezintă următoarele componente (fig.7.1): • clienţii, care se ocupă cu gestionarea codului aplicaţiei client şi care dispun de interfaţe interactive şi prietenoase cu utilizatorii finali; • serverul, care stochează baza de date, gestionează conectarea şi accesul la baza de date, gestionează logica aplicaţiei, asigură securitatea bazei de date; • reţeaua, care asigură conectarea şi comunicarea dintre clienţi şi server (1) şi între servere (2). În general, aplicaţiile client-server pot fi aplicaţii cu baze de date distribuite, aplicaţii de poştă electronică, aplicaţii groupware (ce permite unui grup de utilizatori dintr-o reţea să colaboreze la realizarea unui anumit proiect şi care oferă servicii de comunicaţii (e-mail), de planificare şi de administrare a proiectelor, de elaborare în comun a documentelor de diferite tipuri – text, multimedia) etc. Avantajele utilizării arhitecturii client-server sunt multiple, drintre acestea menţionându-se: administrarea centralizată, de pe server, a bazei de date; micşorarea dimensiunilor aplicaţiilor; reducerea traficului în reţea; securitate sporită a bazelor de date stocate pe server; manipularea de către utilizatori, conform drepturilor de acces, a procedurilor stocate. În aplicaţiile de baze de date pe Web se utilizează arhitectura cu trei niveluri: client, aplicaţie şi date. Nivelul client permite unui utilizator să comunice cu baza de date prin Web, cu ajutorul unei interfeţe specializate asigurate de către browser-ul Web la dispoziţie.

Stocare bază de date Conectare şi acces la baza de date Gestionare logică aplicaţie Asigurare securitate bază de date

Gestionare cod aplicaţie client Interfaţă interactivă cu utilizatorul final

Fig.6.1 Arhitectura client-server de date, de prezentare şi de proceduri pentru prelucrare Nivelul aplicaţie reprezintă nivelul cu aplicaţii la îndemâna utilizatorului final, pe serverul Web care, prin intermediul protocolului HTTP, recepţionează cererile clienţilor, le prelucrează şi le transmite către o altă aplicaţie sau/şi către nivelul de date. Nivelul

date conţine sistemul de gestiune a bazelor de date (SGBD), care conţin, de regulă, date multimedia. 7.1. Serverul de baze de date Microsoft SQL Server Produsul Microsoft SQL Server face parte din categoria serverelor de baze de date, care lucrează cu aplicaţii de tipul client-server şi care presupune acces concurent la o anumită bază de date. Referirile se efectuează la versiunea Microsoft SQL Server2000 care a fost precedată de versiunea Microsoft SQL Server 7.0. În momentul redactării prezentei lucrări, este anunţată versiunea Microsoft SQL Server 2005. Stocarea informaţiilor pe serverul de baze de date Microsoft SQL Server se face în baze de date, fişiere şi grupuri de fişiere. Microsoft SQL Server dispune de un sistem de securitate propriu, pe bază de identificatori şi conturi de utilizatori ai bazelor de date. SQL Server asigură crearea şi gestionarea rolurilor la nivel de server, la nivelul unei baze de date şi la nivel de aplicaţie; de asemenea, asigură permisiuni care pot fi alocate utilizatorilor şi rolurilor. Rolurile SQL Server asigură gruparea numelor utilizatorilor bazelor de date (grupuri Windows, utilizatori Windows sau identificatori SQL Server). Atribuirea unui identificator pentru rol la nivel de server se efectuează cu ajutorul SQL Enterprise Manager. Rolurile la nivel de aplicaţie asigură aplicarea permisiunilor la un nivel mai înalt decât nivelul pe care se găseşte fiecare utilizator. Atunci când o aplicaţie activează un rol la nivel de aplicaţie, se produce suspendarea tuturor permisiunilor utilizatorului. Activarea rolurilor necesită parole. Fiecare bază de date cuprinde roluri (există nouă roluri fixe sau predefinite şi pot exista roluri ale utilizatorului) pentru care există proceduri. Fiecare rol al unei baze de date acordă utilizatorilor un număr de permisiuni şi capabilităţi. Numele rolului este necesar să fie unic la baza de date. Apartenenţa la un rol fix al unei baze de date nu are legătură cu permisiunile acordate pentru o altă bază de date. SQL Server permite realizarea salvărilor de siguranţă (backup). SQL Server este însoţit de utilitare şi instrumente care asigură următoarele servicii: 1. MSSQLServer ce reprezintă serverul propriu-zis de baze de date; 2. MSSearch care asigură indexarea câmpurilor de tip text care operează sub SQL Server; 3. SQLServerAgent ce realizează planificarea operaţiilor, gestionarea evenimentelor, replicarea, generarea avertismentelor; 4. MSDTC (Microsoft Distributed Transaction Coordinator) adică coordonatorul tranzacţiilor distribuite pe mai multe servere; 5. MSSQLServerOLAPService ce asigură serviciile de analiză a datelor prin OLAP; 6. MSSQLServerADHelper ce realizează integrarea activă a directoarelor pentru SQL Server. Instanţa în SQL reprezintă o copie independentă a unui server de baze de date pe un calculator din categoria platformelor Microsoft Windows. Microsoft SQl Server permite execuţia a cel mult 16 astfel de instanţe. Instanţele SQL Server pot fi prestabilite (este acceptată o singură instanţă prestabilită pe un anumit calculator) sau pot fi denumite (acele instanţe cărora li s-a dat un nume la instalare). Doua instanţe denumite de pe acelaşi calculator nu sunt acceptate cu acelaşi nume.

Firma Microsoft a realizat controlul fiecărui serviciu prin mai multe metode realizabile prin utilitare şi instrumente asociate SQL Server (instalate într-o copie unică, indiferent de numărul de instanţe instalate ale SQL Server). Utilitarele asociate SQL Server sunt următoarele: • SQL Server Books OnLine ce reprezintă manuale electronice sub formă de pagini HTML (de exemplu: Getting Started, SQL Server Architecture, Creating and Maintaining dataBases, Creating and Using Data Warehouses etc.). • SQL Server Service Manager care este un utilitar pentru controlul serviciilor pentru SQL Server (SQL Server, MSDTC, SQL ServerAgent şi MSSearch). • Client Network ce reprezintă un utilitar care deserveşte procesul de conectare a unui calculator client la SQL Server). • Server Network care este un utilitar pentru indicarea bibliotecilor de reţea pe care le poate utiliza SQL Server (pentru bibliotecile ce conţin date confidenţiale la care nu se permite accesul, se execută criptarea de către server a căilor de conectare la bibliotecile respective). • SQL Server Query Analyser care este utilitarul destinat executării interogărilor sau a procedurilor memorate Transact-SQL. • SQL Server Enterprise Manager ce reprezintă un utilitar de tipul MMC (Microsoft Management Console), adică consolă de Management Microsoft ce asigură interfaţa grafică de dezvoltare şi administrare din SQL Server. • SQL Server Profiler ce reprezintă utilitarul pentru monitorizarea întregii activităţi executate de SQL Server. Utilitarele prezentate mai sus se găsesc în meniul Start al SQL Server. În afară de aceste utilitare de bază, au fost realizate instrumente pentru conectare, pentru diagnosticarea serverului şi pentru întreţinere. Noţiunea de replicare a fost explicată parţial în capitolul destinat SGBD Microsoft Access. Procesul de replicare în SQL Server este un proces complex ce utilizează un scenariu de tip editor-abonat la care sunt asociate articole şi publicaţii. Abonaţii sunt calculatoarele utilizatorilor ale datelor. Un sistem SQL Server poate juca în scenariul de tip editor-abonat unul, două sau trei roluri din mulţimea de roluri {editor, abonat, distribuitor}. Rolul de distribuitor presupune recepţionarea tuturor modificărilor efectuate de abonaţi sau editori, memorarea acestor date şi apoi trimiterea lor la editori sau abonaţi, la un anumit moment. Articolul reprezintă un tabel sau o mulţime de date dintr-un tabel, obţinută prin partiţionare. Publicaţia este ansamblul mai multor articole combinate. Articolele şi publicaţiile pot fi primite de abonaţi prin efectuarea de abonamente. Abonamentele pot fi configurate în abonamente de intrare (configurate la nivelul fiecărui abonat) şi abonamente de ieşire (configurarea abonamentului se produce simultan cu crearea publicaţiei). Replicarea asigură un mediu de lucru ce facilitează duplicarea şi distribuirea mai multor copii (replici) ale aceloraşi date, în mai multe baze de date din reţea (în mai multe locaţii). În distribuirea datelor prin această metodă se au în vedere autonomia locaţiei, consistenţa tranzacţională (care nu trebuie să afecteze consistenţa datelor) şi latenţa distribuirii (întârzierea). SQL Server permite utilizarea următoarelor metode de distribuire a datelor : • replicarea cu combinare (fiecare locaţie îşi poate modifica copia locală a datelor replicate, astfel încât editorul combină modificările primite de la aceste locaţii);

La fiecare instalare a produsului Microsoft SQL Server sunt generate mai multe baze de date: master. Metodele de creare a unei baze de date Microsoft SQL Server 2000 sunt următoarele: • Database Creation Wizard • SQL Server Enterprise Manager • Cu ajutorul instrucţiunii CREATE DATABASE. agent de combinare. precum şi date care privesc utilizatorii bazei de date. cu aplicarea simultană a tranzacţiilor la toţi abonaţii). o bază de date include cel puţin două fişiere (fişier primar de date. proceduri stocate (procedures). . indecşi (indexes). agent de copiere şi agent de citire din firul de aşteptare. În cazul bazelor de date foarte mari. precum şi baze de date utilizator (pubs. fără existenţa reversului de la abonaţi la editor). spaţiul suplimentar fiind completat cu pagini goale. cu date şi referinţe asupra celorlalte fişiere ale bazei de date. . folosind servere proxy (intermediare) către serverele SQL. • replicarea tranzacţională cu actualizare la abonaţi .tempdb. salvarea jurnalului etc). primary data file.master. tabele (tables) care conţin înregistrări ale bazei de date. Se apreciază că una dintre cele mai sigure metode este tehnologia reţelei private virtuale. prin extinderea până la dimensiunea dorită. model. O bază de date SQL Server este organizată pe mai multe niveluri: componente logice ce sunt transparente utilizatorilor. tempdb şi msdb. Baza de date astfel creată utilizează fişiere pentru stocarea fizică a datelor pe discul magnetic. ce este o bază de date care stochează tabele temporare şi rezultatele intermediare ale unor interogări. ce reprezintă o bază de date model. SQL Server foloseşte patru baze de date astfel: . . • tranzacţiile distribuite (cu MSDTC. Crearea unei noi baze de date este echivalentă cu execuţia unei copii a bazei de date model.• replicarea copiilor integrale (prin transferul unei copii de ansamblu a datelor replicate de la editor la abonaţi).msdb. Prin VPN se pot conecta două reţele prin utilizarea Internetului. cu fir de aşteptate sau combinată – imediată şi cu fir de aşteptare). • abonarea cu actualizare (la care acualizarea poate fi imediată. care se duplică de fiecare dată când utilizatorul creează o bază de date nouă. vederi (views). abonatul nu este necesar să se afle în contact permanent cu editorul). declanşatori (triggers). ce este utilizată de SQLServerAgent pentru memorarea datelor cu privire la sarcinile periodice (salvarea bazei de date. ce conţine configurările SQL Server-ului. agent de citire din jurnalele de tranzacţii specifice tuturor bazelor de date publicate. • replicarea copiilor integrale cu actualizare la abonaţi (prin aceasta. Fizic. VPN (Virtual Private Network). Datele pot fi publicate pe Internet prin mai multe metode. . pot exista şi fişiere secundare (secondary data file). Northwind). fişierul jurnal care înregistrează toate modificările efectuate în baza de date).model. cu protocoalele specifice. Replicarea este asigurată de cinci agenţi: agent de distribuţie. • replicarea tranzacţională (adică tranzacţiile sunt copiate de pe serverul editor la abonaţi.

. RESTORE HEADERONLY.1 Despre necesitatea bazelor de date distribuite în aplicaţiile economice . prin restaurarea unei copii complete a bazei de date (sau copie diferenţială) sau restaurarea uneia sau mai multor copii pentru jurnalul de tranzacţii. Microsoft SQL Server prezintă următoarele avantaje: . 2000. după care aceste date din depozite sunt supuse analizei de tip OLAP. se restaurează complet sau diferenţiat baza de date şi jurnalul de tranzacţii. recuperarea datelor după pierderea bazei de date master. SQL Server utilizează baza de date model. Copiile de siguranţă (backup) servesc pentru o restaurare a bazelor de date în caz de defectări ale serverului. XP). servicii de extragere a datelor din bazele de date operaţionale şi de construire a depozitelor de date. Scenariile de recuperare sunt construite pentru diferite situaţii ca recuperarea datelor după defectarea unui disc. bazele de date rămân într-o formă consistentă din punct de vedere logic. se verifică dacă setul salvat este utilizabil (RESTORE VERIFYONLY). procesul de recuperare automată se porneşte la repornirea serverului. 98. în ordinea în care au fost generate. bazele de date ale utilizatorilor. trebuie reperat setul corespunzător de copii de siguranţă (cu comenzile RESTORE LABELONLY. . . SQL Server are pus la punct un scenariu de restaurare a bazelor de date în caz de dezastre. Ca urmare. Pentru aceasta. RESTORE FILELISTONLY). SQL Server asigură. atunci când serverul se decuplează din diferite motive. în final. Recuperarea manuală reprezintă procesul de recuperare a unei baze de date a utilizatorului. inclusiv la avarii.optimizarea capabilităţilor sale pentru lucrul cu baze de date mari. se restaurează baza de date msdb şi. 8. adică capacitatea de a funcţiona pe o mare varietate de platforme hardware.Salvarea bazelor de date în SQL Server se efectuează complet. Pentru recuperarea tuturor bazelor de date.posibilitatea de extragere şi analiză a datelor pentru baze de date multidimensionale.facilitatea de integrare cu alte produse software Microsoft. aşa cum s-a precizat mai sus.compatibilitatea modelului de programare cu modelele folosite în întreaga gamă de sisteme de operare Microsoft Windows (95. Recuperarea automată reprezintă un proces care se derulează la fiecare pornire a serviciului SQL Server. . după care se creează baza de date tempdb. .portabilitatea.execuţia rapidă a interogărilor SQL. La terminarea acestui proces de recuperare automată. diferenţial şi prin salvarea jurnalelor de tranzacţii cu ajutorul SQL Server Enterprise Manager sau cu Transact-SQL (ce va fi prezentat în paragraful următor). În continuare. În momentul restaurării baza de date nu trebuie să fie în uz (să nu fie activă comanda USE). Acest serviciu este tratat în capitolul consacrat bazelor de date în tehnologii avansate. Se poate realiza recuperare automată sau manuală. BAZE DE DATE DISTRIBUITE 8.

În capitolul anterior. producători. Concepte fundamentale Aşa cum s-a arătat. s-a arătat că din punctul de vedere al modului de localizare al datelor. 2. Fiecare fişier conţine un grup de date. Arhitecturile client/server prezentate în capitolul anterior pot fi percepute ca un caz particular al sistemelor distribuite. prin intermediul Internetului). Globalizarea pieţii. grupuri de lucru şi distribuite geografic în locaţii diferite ce reprezintă filiale ale acestei organizaţii. au fost numeroase situaţiile în care s-au făcut referiri la categoria de baze de date distribuite. cu ciclul de viaţă din ce în ce mai scurt.2.Când s-a prezentat clasificarea bazelor de date. complet denumit. WAN (Wide Area Network) conectează în timp real participanţii cheie: vânzători. secţii. În cazul utilizatorilor conectaţi intermitent şi aleator la baza de date centrală şi de la distanţă (de exemplu. a fost necesară dezvoltarea unei filozofii de lucru şi a unor arhitecturi adecvate care să răspundă unor cerinţe multiple. trebuie să aibă în vedere cele trei tendinţe importante care redefinesc rolul acestora în aplicaţiile economice: 1. Transformarea SUA şi a altor ţări industrializate în societăţi informaţionale (economii informaţionale) accentuează importanţa eficienţei sistemelor informatice şi de comunicaţii în care bazele de date distribuite joacă rolul determinant prin aceea că stochează date ce susţin informaţii şi cunoştinţe.1). În consecinţă. redundanţa ridicată a datelor. este necesară o aprofundare a acestor concepte într-un capitol separat. Bazele de date distribuite apar ca o consecinţă firească a faptului că organizaţiile economice performante sunt distribuite logic în departamente. cum este un program. ca elemente fundamentale ale sistemelor informatice integrate unei organizaţii economice. DataBase Management System). Gestiunea bazelor de date presupune . În exploatarea multiutilizator a sistemelor de calcul. o mulţime de date folosită de un program sau un document generat de utilizator (fig. se preferă bazele de date şi sistemele de gestiune a bazelor de date (SGBD sau DBMS. distribuite în toate locaţiile geografice implicate într-o anumită activitate sau proces economic. 3. S-au prezentat în capitolele anterioare ce este şi cum se construieşte o aplicaţie Access cu ajutorul căreia se poate asigura gestionarea şi partajarea datelor între diferiţi utilizatori finali în reţea. directoare şi informaţiile necesare pentru localizarea şi accesul la ele. izolarea datelor. birouri. dependenţa programelor faţă de date. datorită dezavantajelor legate de accesul mai dificil la date. 9. fişierul reprezintă unitatea fundamentală de stocare care (într-o definiţie simplificată) asigură deosebirea unei mulţimi de date de alta de către sistemul de calcul. necesită stocarea şi procesarea unor cantităţi mari de date (baze de date mari). Internetul şi alte reţele de calculatoare şi de comunicaţii pe arie largă.8. dându-se explicaţii succinte referitoare la noţiunile şi elementele implicate. a mediului de afaceri. Abordarea bazelor de date distribuite. distribuitori şi clienţi. Baza de date este o colecţie organizată după regulile unui model de date (mulţime de reguli destinate structurării şi manipulării datelor). descrierea independentă a datelor. Sistemul de fişiere este format din fişiere. bazele de date pot fi locale sau distribuite.

1 Sistem de fişiere PROGRAM DE APLICAŢIE 1 BAZA DE DATE SISTEM DE GESTIUNE A BAZEI DE DATE (SGBD) PROGRAM DE APLICAŢIE 2 PROGRAM DE APLICAŢIE 3 Fig.8.utilizarea ca interfaţă între programele de aplicaţie şi bazele de date a unui sistem de gestiune a bazei de date (fig.8. .8.2 Gestiunea unei baze de date SGBD soluţionează cererile utilizatorilor referitoare la diversele acţiuni legate de baza de date şi asigură stabilirea unor măsuri de integritate şi de securitate. PROGRAM 1 DESCRIERE DATE 1 FIŞIER 1 PROGRAM 2 DESCRIERE DATE 2 FIŞIER 2 PROGRAM 3 DESCRIERE FIŞIER 3 DATE 3 Fig.2).

un sistem baze de date distribuite. Pentru calcul distribuit. distribuite în întreaga reţea de calculatoare şi de comunicaţii. localizate în site-uri diferite. CDB (Centralized DataBase) este o bază de date ce este localizată într-unul din nodurile reţelei de calculatoare. procesare back-end. Un mediu specific unui sistem de gestiune a bazelor de date (SGBD) distribuite.3 Determinările într-un sistem baze de date distribuite (DDBS) Este important de menţionat că într-un sistem baze de date distribuite (DDBS) operaţia de integrare nu este similară cu aceea de centralizare. o DDB este o colecţie de site-uri distribuite interconectate cu ajutorul unei reţele de comunicaţii. DDBS (Distributed DataBase System) este format din DDB şi DDBMS. sisteme modulare funcţional etc. Este important de reţinut că un DDBS nu este un sistem în time-sharing şi nici un sistem multiprocesor puternic sau slab cuplat. Un sistem de gestiune a bazelor de date (SGBD) centralizat într-o reţea de calculatoare reprezintă sistemul distribuit în care utilizatorii. logic interlegate.8. oferă posibilitatea accesării bazelor de date distribuite (DDB) din oricare locaţie din reţeaua de calculatoare prin intermediul reţelei de comunicaţii asociate (fig. În fapt. este o colecţie formată din mai multe baze de date logic interconectate şi care sunt localizate în nodurile unei reţele de calculatoare şi de comunicaţii. accesează DDB (fig 8.4). prin intermediul reţelei de comunicaţii asociate. REŢEA DE CALCULATOARE TEHNOLOGIE A BAZEI DE DATE distribuire integrare SISTEM BAZE DE DATE DISTRIBUITE (DDBS) integrare Fig. nu în mod necesar omogene.8. care sunt interconectate într-o reţea de calculatoare şi de comunicaţii şi care cooperează în scopul realizării sarcinilor (task-uri) atribuite. DDBMS. Sistemul baze de date distribuite.O bază de date distribuită. o DDB este o bază de date virtuală cu componentele stocate fizic într-un număr de baze de date „reale” diferite. multiprocesare. Ca urmare. datele. DDB (Distributed DataBase). reprezintă softul ce asigură lucrul cu DDB prin integrarea şi distribuirea acestor baze de date (fig. O bază de date centralizată. funcţiile şi controlul.8. există mai mulţi termeni sinonimi cum sunt: prelucrarea datelor distribuite. DDBMS (Distributed DBMS). În DDBS sunt distribuite logica prelucrării. sisteme în time-sharing. Sistemul de gestiune a bazei de date distribuite. furnizând un mecanism de acces care face distribuirea acestora transparentă pentru toţi utilizatorii.5). Într-un cadru mai larg. datele sunt memorate într-un număr de locaţii . DDBS.3). Dintr-o altă perspectivă. se poate defini ca o colecţie de baze de date multiple. Aşa cum se observă din configuraţia DDBMS. DDBS este inclus în conceptul de calcul distribuit ce desemnează un număr de elemente de procesare autonome.

iar fiecare site conţine.8. la modul cum este distribuită baza de date. de îmbunătăţirea fiabilităţii şi disponibilităţii prin intermediul tranzacţiilor distribuite. de o dezvoltare mai facilă şi mai economică a DDBMS. DDB este percepută ca o bază de date centralizată. SITE 2 SITE 3 SITE 1 REŢEA DE COMUNICAŢII SITE 4 SITE 6 SITE 5 Fig. inclusiv în compunerea sistemelor informatice pentru management. Directoarele (Directory) reprezintă cataloage ce conţin elemente de gestiune a DDB. DSS (Decision Support Systems). atomicitatea şi durabilitatea.6. Actualizarea datelor replicate necesită implementarea controlului concurenţei distribuite. Din punctul de vedere al oricărui utilizator. un singur procesor. logic. Problema fundamentală în DDBMS este realizarea independenţei datelor.(site-uri) ale reţelei de calculatoare. Gestiunea transparentă presupune separarea semanticilor de nivel ridicat de cele de nivel scăzut (prin semantică se înţelege în acest caz relaţia dintre cuvinte sau simboluri şi semnificaţia lor). Prelucrarea interogărilor asigură conversia tranzacţiilor utilizatorului în manipularea datelor. cum se distribuie datele replicate şi nereplicate şi cum se rezolvă problema de gestionare a directoarelor. minimizează costurile de transmitere a datelor şi de prelucrare locală a acestor date şi optimizează aceste operaţii. 8. Proiectarea unei DDB se referă. între altele. Este interesant de precizat că între cerinţele de . Controlul concurenţei distribuite se referă la sincronizarea acceselor concurente la DDB. fragmentate şi replicate. adică separarea datelor de programele care le manipulează. MIS (Management Information Systems) şi a sistemelor informatice pentru asistarea deciziei. consistenţa şi izolarea efectelor tranzacţiilor şi gestionarea blocărilor.4 Un SGBD centralizat într-o reţea DDBMS prezintă avantaje legate de gestiunea transparentă a datelor distribuite. Relaţiile existente între diferitele componente ale mediului DDBMS sunt sintetizate în fig. Fiabilitatea priveşte modul cum reacţionează sistemul la defectări. DDB pot fi astfel utilizate în orice organizaţie care are o structură organizatorică descentralizată.

6 Relaţiile existente între diferitele componente ale mediului DDBMS Aşa cum s-a arătat mai sus.5 Configuraţia unui sistem de gestiune a bazelor de date distribuite (DDBMS) FIABILITATE GESTIONAREA DIRECTOARELOR PROIECTAREA DISTRIBUIRII CONTROLUL CONCURENŢEI GESTIUNEA BLOCĂRILOR PRELUCRAREA INTEROGĂRILOR Fig. 8. dar fizic distribuită pe mai multe calculatoare distincte. Utilizatorii interacţionează cu o DDB în acelaşi mod în care interacţionează cu o bază de date . DDB (Distributed Data-Base) reprezintă o bază de date ce este logic integrată (utilizatorii percep o singură bază de date).prelucrare de interes general din sistemul informatic şi cerinţele de prelucrare a bazelor de date există o dihotomie. interconectate între ele.8. o bază de date distribuită. DMDBS (Distributed Multi-DataBase Systems). SITE 2 SITE 3 SITE 1 REŢEA DE COMUNICAŢII SITE 4 SITE 6 SITE 5 Fig . Sistemul de operare al reţelei sprijină DDB. Caracteristicile de sistem deschis şi de interoperabilitate al DDBS au condus la ideea dezvoltării sistemelor multibaze de date distribuite.

• existenţa transparenţei (independenţa de localizare) adică nu este important pentru utilizatorul final unde sunt stocate fizic datele de care acesta are nevoie. compuse din mai mulţi agenţi (agenţii reprezintă procese terminate sub denumirea de tranzacţii pe anumite siteuri). adică replicarea datelor nu afectează percepţia utilizatorului final care. • procesarea distribuită a interogărilor. d) asigurarea proiectării structurii organizatorice şi funcţionale a sistemului informaţional conformă cu structura organizaţiei deservite de sistem. Baza de date centrală primeşte de la bazele de date locale numai acele colecţii de date a căror stocare este justificată la nivelul CDB în scopul unor prelucrări centralizate la nivelul sistemului informatic integrat. O DDB este compusă din mai multe baze de date locale (LDB) care sunt memorate în nodurile unei reţele de calculatoare (uneori. asigură următoarele obiective: a) transmiterea datelor la utilizatorii acestora (utilizatori care dispun de dreptul şi autoritatea de a le accesa). b) asigurarea unui raport optim între centralizarea şi descentralizarea resurselor de date (o centralizare ridicată a resurselor de date determină costuri foarte mari de prelucrare şi transmitere a datelor la utilizatori). • absenţa unei dependenţe de un site central. Utilizatorul local are acces şi exploatează una sau mai multe baze de date locale. prin care.centralizată. e) sporirea gradului de utilizare a sistemului informaţional (mărirea numărului de utilizatori efectivi). • independenţa de DDMBS. a identificat douăsprezece obiective pentru DDB: • autonomia locală a site-urilor componente ale unui sistem distribuit (în cea mai mare măsură). • independenţa de replicarea (reproducerea) datelor. • gestionarea distribuită a tranzacţiilor. cu datele din bazele de date locale (LDB) fără a depinde de alt site. tranzacţiile. adică un DDBMS. . de nefragmentare a datelor. fiecare site component poate opera. • independenţa de sistemul de operare. c) creşterea durabilităţii şi disponibilităţii sistemului (sistem open. • independenţa de hardware). • funcţionarea continuă datorită fiabilităţii şi disponibilităţii crescute a sistemelor distribuite la apariţia întreruperilor aleatoare. adică deschis să primească oricând noi structuri de baze de date în schema conceptuală globală. • independenţa de fragmentarea datelor. Un DBMS pentru DDB. precum şi noi restructurări ale bazelor de date locale). sunt refăcute cu ajutorul protocolului de finalizare în două faze (finalizare/derulare înapoi). DDB reprezintă o bază de date globală şi este concepută după o singură schemă conceptuală gobală. cunoscută şi accesată de utilizatorul global.J. CDB). din punct de vedere logic. ceea ce înseamnă că fragmentarea datelor în DDB (prezentată în paragraful următor) nu afectează percepţia utilizatorului final. şi dintr-o bază de date centrală. se comportă ca şi cum datele nu ar fi fost replicate. Date C. • independenţa de reţeaua de calculatoare şi de comunicaţii. în limitele permisiunii acordate de softul de gestiune în reţea la dispoziţie. iar controlul concurenţei se obţine prin regula de blocare. logic. de regulă.

Oracle. de la modelul relaţional. baza de date distribuită trebuie să fie percepută ca o bază de date nedistribuită.cu aceeaşi structură ca şi colecţia de date şi pe verticală – fragmentele conţin fiecare numai o parte din structura colecţiei de date din care provin). 9. decizia de implementare a unui anumit DDBMS implică înainte de toate alegerea unui furnizor de marcă. Sybase. Fragmentele rezultate după partiţionarea DDB reprezintă elemente de distribuire a datelor. nu mai poate fi schimbată după achiziţia platformei de bază de un anumit tip decât cu « plata » renunţării în totalitate la soluţia iniţială. • minimizarea căilor de transport de date în cadrul reţelei de calculatoare. IBM şi Computer Associates – monopolizează peste 90% din piaţa mondială a domeniului. DDB. implică investiţii mari. colecţia de date este partiţionată în fragmente (pe orizontală . De regulă. iar operaţia de proiecţie permite extragerea câmpurilor (coloanelor) specificate dintr-un tabel. este fragmentată (distribuită) pe baza următoarelor principii: • dispunerea datelor stocate în nodul de producere şi de utilizare a lor. că operaţia de restricţie asigură selecţia anumitor înregistrări (rânduri) dintr-un tabel al unei baze de date relaţionale. Microsoft. Ansamblul fragmentelor unei DDB stocate într-un nod al reţelei de calculatoare reprezintă o bază de date locală (LDB). . un fragment de date reprezintă un derivat obţinut prin orice combinaţie aleatoare de restricţii şi proiecţii din baza de date. Informix. mulţimea de colecţii de date este partiţionată în submulţimi de colecţii de date. Cei şase mari producători de DDBMS . 2.1 Fragmentarea datelor în bazele de date distribuite Principiul fundamental al bazelor de date distribuite constă în faptul că pentru oricare dintre utilizatorii finali. Ca urmare. Fragmentarea DDB se realizează pe două niveluri: 1. O bază de date distribuită. Se reaminteşte.În implementarea DDMBS este valabilă aceeaşi filozofie ca şi la decizia de implementare a unei reţele de calculatoare: o astfel de decizie are consecinţe pe termen mediu şi lung.

Tuplurile corespunzătoare clienţilor băncii ce operează în Bucureşti sunt memorate în site-ul din Bucureşti. cu valorile eşantion prezentate în fig. Bucuresti CL_BUC CL# N1 N4 CORP# C1 C3 SUMA_CT 1200000 2450000 Constanţa CL_CTA CL# N2 N3 N5 N6 CORP# C2 C2 C4 C1 SUMA_CT 800000 1050000 4200000 2500000 CL CL# N1 N2 N3 N4 N5 N6 CORP# C1 C2 C2 C3 C4 C1 SUMA_CT 1200000 800000 1050000 2450000 4200000 2500000 . se pot defini astfel : FRAGMENT CL AS CL_BUC FROM SITE `Bucuresti` WHERE CORP# = CORP#(`C1`) OR CORP# = CORP#(`C3`). se poate explica fragmentarea datelor.9. Două fragmente de date. CL_CTA FROM SITE `Constanta` WHERE CORP# = CORP#(`C1`) OR CORP# = CORP#(`C2`) OR CORP# = CORP#(`C4`). cu numele de Cl _BUC şi CL _CTA.Dacă se consideră o variabilă-de-relaţie (variabila care face legătura între câmpul reprezentând cheia primară şi câmpul reprezentând o cheie externă) de bază CL pentru entitatea CLIENTI (aşa cum este percepută de utilizatorul final) ce conţine clienţiipersoane juridice (Corporate) ai unei bănci.1. iar tuplurile clienţilor băncii ce operează în Constanţa sunt memorate în site-ul din Constanţa.

iar operaţia de uniune se utilizează pentru fragmentele verticale. În esenţă. tranzacţia reprezintă o unitate logică de prelucrare prin intermediul căreia se realizează siguranţa şi consistenţa bazei de date. Accesul unei baze de date distribuite (ce defineşte gestiunea tranzacţiilor) se face.2 Gestiunea tranzacţiilor Tranzacţia. folosind comanda SAVE TRANSACTION. în mod concurent. motiv pentru care toleranţa la defectări şi menţinerea consistenţei bazei de date prin controlul concurenţei devin cerinţe prioritare pentru fiabilitatea bazei de date .). în general. sau să deruleze înapoi tranzacţia până la punctul de început sau până la un punct de salvare anterior. actualizare. 9. Utilizatorul poate el însuşi defini punctele de salvare în cazul tranzacţiilor complexe. tranzacţiile explicite permit utilizatorului să grupeze un set de comenzi SQL într-o tranzacţie folosind comenzile BEGIN TRANSACTION şi COMMIT TRANSACTION. În SQL-Server.1 Exemplu de fragmentare a datelor Pe baza fragmentelor de date CL_BUC şi CL_CTA se poate reconstitui variabilade-relaţie de bază iniţială CL cu ajutorul operaţiei de reuniune a fragmentelor de date. precum şi de operaţii de calcul. În cazul operaţiei de uniune. folosind comanda ROLLBACK TRANSACTION. O bază de date este într-o stare consistentă dacă sunt îndeplinite toate constrângerile de integritate a datelor. de regulă. Din acest punct de vedere tranzacţiile se clasifică în: a) tranzacţii implicite (punctul de început şi cel de sfârşit sunt automat definite). Trebuie precizat faptul că operaţia de reuniune se foloseşte pentru fragmentele orizontale.9. Siguranţa bazei de date înseamnă toleranţa acesteia faţă de defectări şi capacitatea de recuperare a datelor după apariţia unor defectări. O tranzacţie este caracterizată de punctul de început şi de punctul de sfârşit. Toleranţa la defectări priveşte capacitatea bazei de date şi a sistemului de gestiune a bazei de date de a face faţă defectelor dezastruoase astfel încât să nu se piardă date (să existe posibilitatea recuperării datelor) şi să nu fie afectată activitatea .Fig. Consistenţa bazei de date semnifică respectarea restricţiilor de integritate a datelor după efectuarea uneia sau mai multe operaţii de prelucrare în baza de date (adăugare. b) tranzacţii explicite (utilizarea unor comenzi speciale pentru stabilirea punctelor de început şi sfârşit ale tranzacţiei). este o activitate individuală într-un sistem de calcul (de exemplu. Baza de date se găseşte în stare consistentă atât înaintea executării tranzacţiei cât şi după executarea acesteia (în timpul executării tranzacţiei. pentru precizarea punctelor de început şi sfârşit. se pot combina două tabele într-unul singur pe baza valorilor comune ce există întrun câmp (coloană) comun. actualizarea unui articol de inventar sau introducerea unei comenzi efectuate de un client). baza de date poate să fie în stare inconsistentă). o tranzacţie este o succesiune de operaţii de scriere şi de citire a bazei de date. ştergere etc. În sistemele de gestiune a bazelor de date distribuite (SGBDD).

Durabilitatea tranzacţiei se referă la rezultatele tranzacţiei asupra bazei de date în sensul că acestea devin permanente (sunt scrise în baza de date) după terminarea tranzacţiei. Cod_client. Atomicitatea înseamnă că orice tranzacţie reprezintă o unitate elementară de prelucrare. Nr_cont se identifică cu codul IBAN. Atributele subliniate reprezintă cheile primare ale relaţiilor. Detalii). Nu au fost evidenţiate atribute ca Data_Tranzactie. izolare şi durabilitate. respectiv codul numeric personal (CNP) pentru persoane fizice. Telefon_client. Pentru exemplificare. Prin consistenţă este reflectată corectitudinea operaţiilor specifice tranzacţiei. Pentru simplificare. se consideră tranzacţia efectuată de un client al unei bănci. Comision. Controlul concurenţei se referă la mecanismele de sincronizare a acceselor cu scopul de menţinere a integrităţii bazei de date. Atributele din relaţii au semnificaţia rezultată din denumirea lor. tranzacţie prin care efectuează o plată din contul personal. Sold) TRANZACTIE (Cod_tranzactie. Nume_client. sintetizate prin acronimul ACID – atomicitate. Tip_tranzactie. sunt menţinute în permanenţă restricţiile de integritate ale bazei de date (unicitatea cheilor primare şi integritatea referenţială). Cod_client reprezintă codul unic de înregistrare fiscală (CUIF) pentru persoane juridice. baza de date este formată din trei relaţii definite de: CLIENT (Cod_client. Suma_creditoare. Cont_destinatie etc. Dobanda. Nr_cont şi Cod_tranzactie. Suma _tranzactie. Urmarea acestei situaţii este anularea tuturor operaţiilor efectuate asupra bazei de date şi menţinerea situaţiei dinaintea începerii tranzacţiei. Consistenţa unei tranzacţii semnifică proprietatea de transformare (corectă din punct de vedere logic) a unei baze de date dintr-o stare consistentă într-o altă stare consistentă. Ultima operaţie executată în acest caz este una de validare (commit). Durabilitatea se obţine cu ajutorul jurnalului (un fişier secvenţial în care sunt înregistrate operaţiile executate de tranzacţii). Nr_cont. Izolarea reprezintă proprietatea unei tranzacţii de a poseda accesul numai la stările consistente ale bazei de date (pe timpul executării operaţiilor unei anumite tranzacţii. Tranzacţia trebuie să îndeplinească patru condiţii. Jurnalul cuprinde istoria evoluţiei întregului sistem bază de date. în practică. până la realizarea operaţiei de validare. În caz contrar. ultima operaţie efectuată este una de abortare (abort) cu semnificaţia că tranzacţia nu a reuşit executarea tuturor operaţiilor prevăzute de procedură. S-a pornit de la premiza că un client al unei bănci (persoană juridică sau persoană fizică) poate avea mai multe conturi bancare în cadrul aceleiaşi bănci (one-to-many). S-au evidenţiat unele atribute deşi acestea. Prin intermediul acestei proprietăţi este prevenită apariţia fenomenului de abortare în cascadă a tranzacţiilor (efectul de domino).(operaţiunea) în curs de desfăşurare. Altfel exprimat. E_mail_client) CONT_BANCAR (Nr_cont. Suma_debitoare. sunt codificate în Cod_client. Moneda. execuţia acesteia se produce după regula „Totul sau nimic!”. cu ajutorul toleranţei la defectări şi controlul concurenţei se asigură siguranţa şi consistenţa bazei de date. celelalte tranzacţii concurente nu au permis accesul la modificările provocate de operaţiile acestei tranzacţii asupra bazei de date). Orice tranzacţie trebuie să ia sfârşit (cu rezultat pozitiv sau negativ) prin executarea tuturor operaţiilor prevăzute de procedură. În concluzie. Clientul băncii efectuează această tranzacţie prin intermediul unei maşini inteligente (multimat) în sistemul selfbanking. consistenţă. care au fost . Adresa_client.

NULL) Output (“ Plata a fost inregistrata!”) End. . clientul băncii introduce codul tranzacţiei pe care doreşte să o efectueze şi numărul contului bancar în care se vor reflecta efectele tranzacţiei care se va efectua. iar efectele operaţiilor deja efectuate sunt anulate. Nr_cont) EXEC SQL UPDATE CONT_BANCAR Set Suma_debitoare=Suma_tranzactie WHERE Nr_cont=Numar_cont EXEC SQL INSERT INTO TRANZACTIE (Cod_tranzactie.1. pentru simplificare. De asemenea. Nr_cont. reprezentarea tranzacţiei de înregistrare a unei plăţi de către clientul băncii.considerate. În relaţia CONT_BANCAR suma care constituie obiectul plăţii care se va efectua se scade din sold (se trece la suma_debitoare). VALUES (Cod_tranz. Când s-a produs validarea tranzacţiei. Numar_cont. Când tranzacţia se termină cu succes. efectele acestei tranzacţii nu mai pot fi anulate. iar în caz contrar. Pentru efectuarea tranzacţiei. Protecţia datelor se face prin salvarea lor în cazul unor defecte sau erori accidentale. Se deosebesc trei aspecte ale asigurării integrităţii datelor. tranzacţia este oprită. Suma_tranzactie. ceea ce înseamnă că baza de date este adusă în starea pe care o avea înaintea începerii tranzacţiei. Dacă se foloseşte o interfaţă SQL pentru efectuarea tranzacţiei. Protecţia bazelor de date distribuite Protecţia bazelor de date distribuite reprezintă un ansamblu de măsuri umane şi facilităţi oferite de SGBDD (DDBMS) prin care se asigură integritatea datelor (corectitudinea datelor introduse) şi securitatea datelor (accesul autorizat la date). 10. Suma_plata. se scrie astfel: Begin Transaction TRANZACTIE Begin Input (Cod_tranzactie. Când are loc abortarea. Detalii). incluse la Detalii. în limbaj pseudocod. se produce operaţia de abortare (ABORT sau ROLLBACK). iar în relaţia TRANZACTIE se scrie o înregistrare care materializează datele de identificare a tranzacţiei. Nu s-au luat în considerare toate operaţiile de actualizate a datelor din baza de date considerată. nu au fost evidenţiate atributele care sunt legate de securitatea tranzacţiei şi a datelor. se produce în final operaţia de validare (COMMIT).

blocarea unor date de către o tranzacţie. Integritatea entităţii care presupune că nici un atribut care participă la formarea cheie primare a unei relaţii nu poate primi o valoare NULL.a) asigurarea integrităţii semantice a datelor (prevenirea introducerii unor date incorecte şi a efectuării unor prelucrări greşite). Tehnica utilizată de SGBDD pentru a asigura execuţia serializabilă a tranzacţiilor este tehnica blocării. Restricţiile de integritate implicite înseamnă existenţa verificărilor la introducerea datelor (nu se acceptă valori care nu aparţin tipului de date specificat). Tehnica blocării. grup de înregistrări. înregistrare sau chiar la nivelul unui singur câmp dar cu implicaţii diferite. la nivelul unui fişier. precum şi dacă există conceptul de cheie unică. b) accesul la datele pe care un utilizator le citeşte fără a le actualiza este interzis utilizatorilor pentru operaţia de actualizare. c) salvarea şi restaurarea bazei de date (refacerea acesteia atunci când a fost afectată de funcţionarea anormală sau de căderea SGBDD-ului. aceasta din motivul că o cheie primară trebuie să identifice în mod unic tuplurile unei relaţii. care utilizează aceeaşi bază de date. Integritatea semantică a datelor. b) controlul accesului concurent la date (prevenirea apariţiei unor rezultate incorecte din execuţia concurentă a unor prelucrări în regim multiutilizator). sistemul de operare asigură accesul concurent al programelor în execuţie la resurse. dar este permis pentru operaţia de citire.. după o anumită disciplină internă. 2. În modelul relaţional există două restricţii de integritate asociate cheilor primare şi cheilor externe şi anume: 1. presupune existenţa unor facilităţi speciale pentru controlul accesului concurent la date la nivelul SGBDD-ului şi acestea sunt tranzacţiile. Restricţiile de integritate explicite pot fi incluse în programele de aplicaţie şi verificate în momentul execuţiei sau pot fi memorate în dicţionarul datelor şi verificate automat de SGBDD la fiecare operaţie care se execută asupra anumitor date. În cea mai simplă formă. a sistemului de operare sau ca urmare a unor defecte hardware). După modul în care sunt exprimate restricţiile de integritate sunt implicite şi explicite. orice operaţie asupra datelor trebuie să respecte restricţiile de integritate. În cazul aplicaţiilor. La aplicarea tehnicii blocării. Asigurarea integrităţii datelor. Introducerea unor date eronate în baza de date sau prelucrări care furnizează rezultate greşite trebuie prevenite prin includerea în programele de aplicaţie a unor secvenţe pentru testarea datelor şi a unor facilităţi de asigurare a integrităţii semantice a datelor oferite de SGBDD. . Integritatea referenţială (referirii) adică orice valoare a unei chei externe din relaţia care referă trebuie să aibă corespondentă o cheie primară cu aceeaşi valoare în relaţia referită sau să fie NULL. Controlul accesului concurent la baza de date. În sistemul multiutilizator. în acest context. la inserare se va verifica unicitatea cheiei. Concret. adică dacă produce acelaşi rezultat ca şi execuţia serială a acestor tranzacţii. întreruperea executării unui proces pentru începerea sau continuarea altora poate conduce la alterarea datelor.O execuţie neserială a unor tranzacţii concurente este considerată corectă dacă este serializabilă. interzice celorlalte tranzacţii accesul la aceste date. se urmăresc două aspecte: a) în procesul de actualizare este interzis accesul celorlalţi utilizatori până la completarea acestei operaţii. Blocarea se poate aplica la nivelul întregii baze de date.

Această strategie este dificil de implementat.pentru scriere sau exclusivă (datele nu pot fi accesate de alt utilizator). putându-se implementa una din următoarele strategii: 1. apoi fiecare solicită resursele blocate de cealaltă. De aceea la nivelul SGBDD există facilităţi de prevenire sau de rezolvare a acestor situaţii. Prevenirea blocării adică programele blochează toate resursele de care au nevoie încă de la începutul fiecărei tranzacţii. SGBDD asigură acumularea de informaţii despre derularea tranzacţiilor până în momentul întreruperii lucrului şi aplicarea uneia din următoarele strategii de restaurare: . Soluţionarea interblocării.jurnale ale tranzacţiilor. Datele salvate pot fi diferite combinaţii între: . în care sunt memorate informaţiile despre tranzacţiile efectuate asupra bazei de date cum sunt: . cum ar fi: 1 – funcţionarea anormală sau o cădere a SGBDD-ului sau a sistemului de operare. determină strategia de salvare.jurnale ale imaginii înregistrărilor din baza de date. Aceste copii pot fi utilizate doar în situaţia în care prelucrările efectuate între momentul realizării copiilor şi cel al apariţiei unei defecţiuni pot fi reluate. Volumul datelor care vor fi copiate în acest caz va fi mai mic. Copiile bazei de date pot fi realizate automat de sistem la anumite intervale de timp sau la comanda administratorului bazei de date. . 2. Acest lucru este posibil doar dacă prelucrările sunt efectuate într-o secvenţă cunoscută iar timpul necesar pentru reprocesarea lor nu este foarte mare. Salvarea bazei de date este operaţia prin care se stochează date în vederea folosirii lor pentru o eventuală restaurare. Salvarea şi restaurarea bazei de date are ca scop readucerea datelor la o formă consistentă în urma unor evenimente care au alterat corectitudinea lor.copii ale bazei de date şi copii ale jurnalelor acestora.derularea înapoi a tranzacţiilor completate dar neefectuate în baza de date (cu ROLLFORWARD) şi care presupune efectuarea acelor transformări prin care baza de date restaurată să conţină rezultatele acestora. . natura lor şi intervalul de timp dintre două operaţii succesive de salvare. Jurnalul tranzacţiilor este un fişier special întreţinut de SGBDD. .derularea înapoi a tranzacţiilor necompletate (cu ROLL-BACK) şi care presupune anularea modificărilor făcute de acestea asupra bazei de date. deoarece în cele mai multe cazuri este imposibil de precizat înainte ce resursele vor fi necesare pentru o tranzacţie. Volumul informaţiilor care se salvează. Se poate realiza prin utilizarea de către sistem a unui graf al precedenţelor care să reflecte dependenţele dintre procese şi anume ordinea în care acestea trebuie executate. iar procesul de restaurare va implica într-o măsură mai mică intervenţia umană.pentru citire sau partajabilă (datele pot fi folosite şi de alţi utilizatori dar numai pentru operaţii de citire). Durata mare de execuţie pentru astfel de copii face ca anumite SGBDD-uri să recurgă la copii ale jurnalelor bazei de date. ori de câte ori este nevoie şi de obicei pe un alt suport magnetic decât cele pe care rezidă baza de date. . Interblocarea resurselor intervine atunci când două tranzacţii blochează anumite resurse.Blocarea poate fi: . 2 – o defecţiune a suportului fizic pe care este memorată baza de date.

Acelaşi regim de păstrare în memorie. b) forţarea scrierea paginilor de memorie în jurnale şi apoi în baza de date. Pagina care se va înlocui va fi aceea care nu a fost utilizată într-un interval mare de timp. primită de SGBDD. Un punct de verificare presupune executarea următoarelor operaţii: a) oprirea proceselor active la momentul respectiv. Eventualele modificări ale datelor. nu vor fi urmate imediat de rescrierea paginii respective pe disc.jurnalul cu imaginea înregistrării înainte de modificare. De obicei sunt menţi-nute în memorie paginile frecvent utilizate. dar care nu sunt încă reflectate în baza de date. momentul începerii execuţiei tranzacţiei. . numărul terminalului sau identificatorul utilizatorului care a iniţiat tranzacţia. adică necesită intervenţie umană. se aplică şi informaţiilor de jurnalizare a tranzacţiilor. Restaurarea automată a bazei de date este executată de SGBDD după oprirea şi restaurarea sistemului în urma unei căderi. În cazul anumitor SGBDD-uri. . Este necesară în situaţia distrugerii suportului de memorie externă pe care rezidă baza de date. . . Sincronizarea memoriei cu baza de date şi fişierul jurnal se realizează prin executarea unui punct de verificare (ceckpoint). starea fişierelor temporare de lucru.jurnalul cu imaginea înregistrărilor după modificare şi în acest caz conţine copia fiecărei înregistrări care este modificată.jurnalul care conţine ambele tipuri de mai sus. restaurarea bazei de date se realizează automat de SGBDD sau manual. Prin acest proces baza de date este adusă într-o formă consistentă prin derularea înapoi a tranzacţiilor active în momentul defecţiunii şi continuarea tranzacţiilor înregistrate ca finalizate în fişierul jurnal. Jurnalul imaginilor se deosebeşte de jurnalul tranzacţiilor prin aceea că el nu conţine descrierea operaţiilor efectuate asupra bazei de date.datele introduse. În funcţie de defecţiunea care a determinat întreruperea lucrului. Acest tip de jurnal poate avea una din formele: . ci efectul acestora. - . d) continuarea proceselor anterior oprite .identificatorul sau codul tranzacţiei. aflate acum în memoria principală. Restaurarea manuală a bazei de date este astfel denumită deoarece implică intervenţie umană şi nu pentru că ar fi un proces manual. va determina transferul unei pagini de disc în memoria principală. acest proces se bazează doar pe efectuarea de copii de siguranţă ale bazei de date. până la un transfer ulterior pe disc. c) scrierea unei înregistrări speciale în jurnalul tranzacţiilor. ceea ce duce la reducerea numărului de operaţii de transfer între memoria principală şi memoria externă. SGBDD-ul poate executa punctul de verificare la o comandă explicită CHECKPOINT. O cerere de acces la date. pointerii la cozile de mesaje. Această operaţie poate fi făcută periodic sau la o cerere explicită a sistemului sau în cazul în care este nevoie de spaţiu fizic pentru o altă pagină de disc solicitată.înregistrările modificate şi tipul modificării. scriere necesară la restaurarea şi reluarea prelucrărilor care indică starea fiecărui proces activ la momentul executării punctului de verificare.

În intervalul dintre două copieri ale bazei de date se vor realiza mai multe copii ale fişierului jurnal. Copierea bazei de date va reflecta starea bazei de date la momentul respectiv. Efectuarea copiilor în mod dinamic. Hardware-ul poate oferi şi el o protecţie suplimentară prin transferarea datelor numai în zone de memorie care sunt controlate de SGBDD. Acest parametru va fi luat în considerare la stabilirea frecvenţei de realizare a copiilor. Deconectarea tuturor utilizatorilor de la baza de date. SGBDD-ul poate activa şi un jurnal pentru urmărirea accesului la baza de date. SGBDD-ul va realiza automat derularea înapoi a tranzacţiilor în curs de execuţie. obţinându-se astfel o stare consistentă a bazei de date. Definirea şi utilizarea viziunilor (a schemei externe a bazei de date). Tranzacţiile inactive din jurnal vor fi şterse din fişier. Copiile se pot realiza în una din următoarele maniere: 1. User-ii pot fi asociaţii unor grupuri. la drepturile fiecăruia adăugându-se drepturile stabilite pentru grupul respectiv. Pentru cererile de I/O transmisie sistemului de operare de SGBDD sunt posibile verificări suplimentare referitoare la utilizarea corectă a fişierelor sau a funcţiilor sistemului de operare. efectuarea copierii şi apoi conectarea utilizatorilor la baza de date. se pot stabili parole pe baza cărora să fie permis accesul la resursele sistemului de calcul. urmată de încărcarea copiilor jurnalului în ordinea în care au fost efectuate. fiecare parolă fiind asociată cu anumite drepturi de acces la date. care presupune identificarea utilizatorilor. 2. restricţionarea accesului acestora la date precum şi stabilirea de restricţii pentru datele accesate. se vor stabili punctele de verificare. software şi hardware. Administratorul bazei de date este user-ul care implicit are toate drepturile asupra bazei de date precum şi dreptul de a stabili sau revoca privilegii pentru ceilalţi utilizatori. parole. Restaurarea manuală este cu atât mai eficientă cu cât SGBDD-ul va permite şi copierea fişierelor jurnal. Modalităţile de asigurare a securităţii bazei de date sunt: 1. 2. Utilizatorii obişnuiţi sunt cei care nu au în proprietate obiecte şi nu au alte privilegii decât cele moştenite ca membri ai unui grup sau menţionate explicit de administratorul bazei de date sau proprietarii de obiecte. Ele sunt definite pentru diferiţi utilizatori în raport cu .Restaurarea va consta din încărcarea celei mai recente copii a bazei de date şi reluarea prelucrărilor efectuate din momentul copierii şi până la producerea defecţiunii. Viziunile sunt partiţii logice ale bazei de date. Astfel. inclusiv efectele tranzacţiilor în curs de execuţie. Timpul consumat de operaţia de copiere este dependent de mărimea bazei de date ca şi de metoda de copiere utilizată. pe baza lui fiind posibilă detectarea încercărilor de acces neautorizat. Procesul de restaurare presupune încărcarea celei mai recente copii a bazei de date. Această facilitate este utilă în regim de lucru on-line. Asigurarea securităţii bazei de date presupune interzicerea accesului neautorizat la date şi se realizează cu un set de măsuri de protecţie umană. SGBDD-ul va menţine pentru fiecare parolă o listă de privilegii pentru user-ul care foloseşte acea parolă. în felul acesta asigurându-se sincronizarea memoriei cu fişierul jurnal şi cu baza de date. Autorizarea şi controlul accesului la date. adică în timp ce utilizatorii accesează baza de date. SGBDD-urile actuale folosesc pentru identificarea utilizatorului.

Reţeaua Intranet este o reţea locală de calculatoare şi de comunicaţii pentru organizaţii mari care asigură. În aplicaţiile Web. Reţeaua Intranet poate să existe complet separat de reţeaua Internet. Se reaminteşte că scriptul este un program compus dintr-un set de instrucţiuni cu privire la o aplicaţie sau la un program utilitar. Aceste servicii sunt împărţite pe opt niveluri (Forrester Research). furnizori. colaboratori externi etc. de comunicaţii şi partajarea resurselor informatice. Prin intermediul unor interfeţe standard de tipul API (Application Programming Interface) sau CGI (Common Gateway Interface). Sunt SGBDD-uri care au facilitatea definirii unor proceduri care să fie păstrate la nivelul sistemului. transfer de fişiere realizabil prin intermediul protocolului FTP. 11. denumit şi server HTTP. iar prin extensie. Arhitectura Intranet este prezentată. existenţa unor instrumente care permit utilizatorului să-şi realizeze rutine proprii de criptare. Serverul Web. şi ale utilizatorilor externi agreaţi de organizaţie (clienţi. serviciile furnizate sunt de acces la bazele de date (de unde se obţin date sub formă de informaţii şi cunoştinţe).necesităţile acestora de a avea acces la date. după BDASEIG . Utilizatorul nu va avea acces la efectuarea unor operaţii asupra vizunii care să afecteze obiectele iniţiale. securitate şi transport etc. în fig.). La nivelul SGBDD-ului această facilitate are două forme: a) existenţa unor rutine speciale care realizează criptarea datelor la cerere sau automat. Securitatea datelor va fi asigurată prin definirea tuturor drepturilor necesare unui utilizator pentru o viziune şi revocarea drepturilor pentru obiecte iniţiale. prin cont şi parolă de accces (reţeaua Extranet). cerinţele de informare şi documentare ale angajaţilor săi. Baze de date online 11. 4.11. Criptarea datelor este operaţia de codificare a datelor pe timpul stocării sau al transportului lor. Din punctul de vedere al utilizatorului final din organizaţia economică. într-o formă precompilată. este mai puţin important unde este localizată baza de date (pe Intranet-ul organizaţional. Realizarea de proceduri speciale. astfel încât descifrarea lor să poată fi făcută numai de posesorii autorizaţi de cod. prin tehnologia Web. În aceste proceduri se vor specifica explicit operaţiile care se vor efectua asupra datelor. pentru accesarea şi dezvoltarea aplicaţiilor. scripturile sunt utilizate pentru obţinerea interactivităţii şi personalizării paginilor Web. de administrare. Extranet sau Intranet. de informare sau pentru asistarea deciziei. ci dacă îi satisface cerinţele imediate. . În cadrul acestei reţele Intranet.1 Problematica generală Bazele de date online reprezintă un tip special de baze de date distribuite care este folosit într-un mediu de tipul Internet. Între acestea se regăsesc o serie de servicii informaţionale specializate ca pagini Web. pe Extranet sau pe Internet). 3. se pot executa pe server programe sau scripturi prin care sunt accesate bazele de date online de diverse tipuri şi organizate după diverse modele de date.1. este un server software care foloseşte protocolul de transfer al hipertextelor. sub aspect cantitativ şi calitativ. HTTP (HyperText Transfer Protocol) pentru a furniza documente HTML şi scripturi asociate la cererea utilizatorilor finali.

1. fişiere asociate pentru grafică şi scripturi. ce sunt formate din fişiere HTML. forumuri electronice. Un server Web poate stoca mai multe site-uri Web (pentru CLIENT MAIL JAVA . Extranet şi Internet).(File Transfer Protocol). stocate într-un director personalizat pe un server Web. videoconferinţe şi audioconferinţe. Paginile Web interactive conţin şi applet-uri Java (programe ce se execută într-o aplicaţie cu browser. Arhitectura reţelei Intranet Paginile Web sunt documente Web. cu legături la alte documente Web. Mai multe documente Web. intercorelate între ele. formează un site Web. circulaţia documentelor. PROGRAME MESAGERIE SMTP/POP GROUPWARE. NEWS INTERFEŢE STANDARD API (BROWSER WEB) TCP/I P FTP DIRECTOARE CU FIŞIERE Fig. ştiri (News). ce se identifică printr-o adresă de resursă tip Internet. groupware. adică program de navigare în reţelele de tipul Intranet. URL (Uniform Resource Locator).11.

butonul Save. fax). opţiunea Export…. IMAP (Interactive Mail Access Protocol). Accesarea bazelor de date online este facilitată de realizarea paginilor Web dinamice. În afara protocolului HTTP.persoane fizice şi firme mici).2 Pagini Web statice şi dinamice Paginile Web statice se realizează cu ajutorul limbajului HTML. Paginile Web dinamice pun în evidenţă schimbările survenite în baza de date online şi se adaptează permanent la aceste modificări. SGML (Standard Generalized Markup Language). sunt utilizate alte protocoale standard ca XML şi SOAP. Bazele de date online din Intranet sunt consultate prin intermediul navigatoarelor (browser-elor). se realizează prin intermediul protocolului TCP/IP de transfer a mesajelor simple în reţea. SOAP (Simple Object Access Protocol) permite schimbul de date structurate sub formă de obiecte. paginile Web pot prelua date dintr-un tabel. 2003. Videoconferinţele şi audioconferinţele asigură interactivitatea utilizatorilor pasivi. Tehnologia ASP pentru Web asigură script-area pe partea de server pentru realizarea interactivităţii documentelor indiferent de platforma de lucru a părţii de client. protocolului pentru serverele de e-mail (oficiile poştale electronice). WSDL (Web Service Description Language) este un format XML creat pentru a asigura interoperabilitatea sporită a serviciilor Web cu instrumentele de dezvoltare. respectiv 2002. ca activitate de livrare a mesajelor (e-mail. prin funcţia de export (meniul principal File. asigură generarea paginilor Web dinamice de tipul ASP (Active Server Pages) sau IDC/HTX. caseta Save As Type cu opţiunea HTML Documents. cataloage sau dosare (folders). fereastra Export Table ‘MATERIALE’ As. Utilizatorul are acces cu un editor peste codul generat de Access pentru eventuale . Limbajul de descriere a serviciilor Web. SMTP (Simple Mail Transfer Protocol). Extranet. opţiunea Export…). reamintit mai sus şi apreciat ca destul de nesigur. iar protocolul de acces la obiecte simple. Serviciile Web reprezintă în esenţă o familie de aplicaţii bazate pe protocoalele Web ce pot fi combinate şi integrate în aplicaţiile comerciale (B2B. Groupware asigură unui grup de utilizatori din reţeaua Intranet să colaboreze la realizarea unui proiect. Produsul Microsoft Access 2000. Mesageria. Motoarele de căutare (Search Engine) au devenit din ce în ce mai puternice în regăsirea informaţiilor după cuvinte-cheie şi grupuri de cuvinte-cheie. meniul principal File. formular. Prin extensia poştei electronice s-a obţinut circulaţia documentelor (workflow) în Intranet. B2C) pe Intranet. respectiv Internet. CU-SeeMe). prin legături punct la punct sau multipunct. cu soft specializat (de exemplu. În Microsoft Access. 11. nefiind necesară generarea lor ca la paginile Web statice realizate cu limbajul HTML. POP3 (Post Office Protocol) şi a protocolului de acces interactiv la poşta electronică. Succesiunea de comenzi pentru un tabel MATERIALE este următoarea: selecţie obiect de vizualizat după nume din fereastra Database (table). Protocolul XML (extensible Markup Language) este o formă condensată a limbajului standard generalizat de marcare. Transferul de fişiere se efectuează în directoare de fişiere. după cum mai multe servere Web pot găzdui acelaşi site Web (organizaţiile mari). reducând astfel traficul prin reţea. interogare sau raport. Serverele proxy sau intermediare realizează selecţia mesajelor.

asigură crearea unui fişier separat de baza de date pentru pagini Web. DSN (Data Source Name) prin intermediul facilităţii de conectivitate a bazelor de date deschise. . prin obiectele de tipul Data Access Pages ce se găsesc în fereastra Database. Legătura dintre baza de date şi pagina Web presupune definirea înaintea generării paginii Web dinamice a unui nume al sursei de date. interogare sau raport şi pot fi recepţionate pentru publicare pe servere Web de tipul Microsoft Internet Information Server(IIS) sau Personal Web Server (PWS). Serverele Web de tipul IIS funcţionează sub sistemele de operare începând cu Microsoft Windows 2000. ce asigură asistarea generării paginii Web (este similară cu shortcut-ul Create data access page by using wizard). API (Application Programming Interface). ADO reprezintă o interfaţă la OLE DataBase. care permite accesul la date direct dintr-o bază de date. ce asigură crearea automată a paginii Web ce are aspectul unei coloane din tabelul sau interogarea selectată pentru prezentare. Crearea unui obiect de tipul pagină Web se realizează prin apăsarea butonului New. ODBC (Open DataBase Connectivity). ce asigură proiectarea unei pagini Web având ca model o pagină Web existentă în mediul de lucru (este similară cu shortcut-ul Edit Web page that already exists). la secţiunea Pages. • AutoPage:Columnar. Paginile Web dinamice generate cu produsul Access de tip ASP cuprind cod text în limbajul HTML şi acces la baza de date generată în limbajul VBScript. • Existing Web Pages. ce asigură proiectarea manuală a paginii Web (este similară cu shortcutul Create data access page in design view). în timp ce PWS funcţionează sub toate versiunile sistemului de operare Microsoft Windows. de tipul interfeţelor de programare a aplicaţiilor. Produsul Microsoft Access. Legătura către pagina Web este stocată în obiectul din baza de date ce asigură accesarea bazei de date din Access de pe Internet cu ajutorul browser-ului Microsoft Internet Explorer. Limbajul VBScript foloseşte colecţia de obiecte ADO (ActiveX DataBase Object) şi limbajul de interogare structurată. după care se alege una dintre următoarele opţiuni: • Design View.modificări ale elementelor de design al paginilor sau legate de datele accesate. Aceste pagini dinamice pot fi generate cu Access numai în cazul obiectelor de tipul tabel. • Page Wizard. Pot fi adăugate în pagini diverse script-uri (JavaScript). SQL.

2). bazele de date distribuite (DDB) sunt baze de date implementate în reţeaua de calculatoare şi de comunicaţii prin intermediul partiţiilor componente ce sunt dispuse în diferite noduri ale reţelei. MATERIALE) şi apoi se apasă butonul OK. ştergerea unor înregistrări în baza de date. 12. de regulă.Fig. două tipuri de operaţii asupra unei baze de date distribuite: citire (situaţia în care nu se efectuează modificări asupra bazei de date) şi scriere (adăugare de noi înregistrări.NET şi bazele de date distribuite Aşa cum s-a arătat mai sus. În modul Design View apar ferestrele Page 1: Data Access Page.2 Crearea formularului pentru pagina Web ce vizualizează tabelul MATERIALE În fereastra New Data Access Page se selectează tabelul sau interogarea bazei de date care constituie sursa de date pentru pagina Web (de exemplu. Field List şi Alignment and Sizing. În lista de câmpuri. În fereastra Page 1: Data Access Page apare un formular special care va fi accesibil cu un browser Web.11.11. Field List. Efectele operaţiei de scriere se obţin dacă entitatea client dispune de permisiunea necesară acestui scop. Visual Basic. Între aplicaţia entităţii client . O entitate client poate executa. Aceste baze de date pot fi centrale sau locale. modificarea conţinutului unor înregistrări). se selectează câmpurile ce vor fi reprezentate în pagina Web (fig.

). relaţii etc. element.1) şi în dicţionarul de calculatoare Microsoft.NET utilizează un model deconectat în scopul gestionării bazelor de date.NET FRAMEWORK Setul de date locale DataSet Fig. ştergere (Delete). etichetă de sfârşit): &lt. prin intermediul căruia clientul adresează serverului comenzi din categoriile selecţie (Select).NET Părţile componente ale arhitecturii generale ADO.NET (Data Provider) şi setul de date locale DataSet. denumită ADO. • instanţierea unui obiect ce aparţine clasei Data Adapter. ADO. alături de atributele XML. informaţii referitoare la elementele XML din compunerea documentelor XML (etichetă de început. Altfel exprimat.NET sunt baza de date (DataBase). de exemplu SQL Server. Locul adaptorului de date în arhitectura client/server este prezentat în fig. Sursa de date pentru . adăugare (Insert). Nume_banca =”BCR” din Bucuresti”&gt. ADO. Oracle DB etc. sursele de date pentru . Etichetele XML (eXtensible Markup Language) desemnează. Serverul de date realizează o conexiune temporară cu entitatea client numai pe durata unei operaţii de citire sau a unei operaţii de scriere. Pentru efectuarea unor operaţii asupra bazei de date de pe serverul de date este necesară parcurgerea următoarelor etape : stabilirea parametrilor de realizare a conexiunii client/server. • construirea bazei de date locale cu ajutorul unei comenzi din adaptor (Data Adapter). XML .NET (Active Data Object) semnifică obiecte de date active ce fac parte din clasele specifice DataSet (tabele.12.12. • procesarea datelor din setul de date locale (DataSet) prin modificare şi transmiterea rezultatelor acestor prelucrări la serverul de date (Microsoft SQL Server.). rânduri. aşa cum se prezintă pe site-ul www.Microsoft. adaptor de date sau driver care îndeplineşte funcţia de translator între limbajul aplicaţiei clientului şi limbajul specific DDBMS. Tehnologia Microsoft pentru platforma . coloane.şi sistemul de gestiune a bazelor de date distribuite (DDBMS) de pe serverul de date se interpune un program specilizat. actualizare (Update).NET Framework şi definiţiile formulate pentru tipuri particularizate specifice.2.com (fig.1 Părţile componente ale arhitecturii generale de acces la date distribuite ADO.NET realizează accesul la bazele de date relaţionale şi la etichetele XML. sursa de date . după care recepţionează rezultatele acţiunii într-o bază de date locală.12.NET.

NAT se realizează în aceeaşi manieră cu cea prezentată la capitolul de Visual Basic (casete cu text.12. în principal. • crearea unor proceduri noi ce se memorează. Dacă sunt efectuate modificări asupra înregistrărilor setului local de date. bazele de date active: . Oracle DB) Fig. Setul de date local în ADO. relaţiile între tabelele bazei de date relaţionale sub formă de obiecte DataRelation sunt stocate în DataRelationCollection.NET se pot realiza conexiunile la baze de date şi se pot construi seturile de date locale. în sens descrescător. rânduri (Rows). Locul adaptorului de date în arhitectura client/server Aceste metode apar ca opţiuni ale ferestrei de alegere a tipului de interogare din Data Adapter. ADO. etichete. într-un obiect local. BAZE DE DATE ÎN TEHNOLOGII AVANSATE Cercetările în domeniul bazelor de date în tehnologii avansate (advanced database) evidenţiază câteva tendinţe relevante concretizate în baze de date orientate obiect. sub formă de ferestre cu două coloane.Prin intermedul lui Microsoft Visual Basic. arată astfel: setul de date local (DataSet). proprietăţile câmpurilor acestuia. Pentru interogarea bazei de date de pe server.2. baze de date distribuite. Generaţia bazelor de date în tehnologii avansate cuprinde. baze de date active.). Formularul de lucru în VB. Obiectele DataTable reprezintă imaginile unor tabele ale căror coloane sunt stocate în DataColumnCollection. ale căror rânduri sunt stocate în DataRowCollection.NET realizează actualizarea modificărilor pe server la următoarea conectare ce este destinată salvărilor prelucrărilor efectuate. se produce deconectarea clientului de la serverul de baze de date. Accesul la elementele din setul de date local se execută pe baza structurii ierarhice care. baze de date relaţionale orientate obiect.NET reprezintă o colecţie DataTable Collection compusă din mai multe tabele ce sunt obiecte DataTable. Aceste proprietăţi nu pot fi modificate de utilizator. tabele (Tables). Set de date local (DataSet) la Client Adaptor de date (Data Adapter) Server de date (SQL Server. • utilizarea procedurilor deja memorate. De asemenea. liste etc. baze de date online. 13. Entitatea client stochează imaginea setului de date de care are nevoie de pe serverul de baze de date. itemi (Items). După această operaţie. Setul de date local poate fi populat cu înregistrări noi prin comanda Fill (umple) care există la adaptorul de date. ale căror restricţii sunt conţinute în ConstraintCollection. câmpuri (Fields). În cazul fiecărui set de date local pot fi vizualizate. din meniul contextual. există mai multe metode: • utilizarea frazelor SQL generate în mod automat de adaptorul de date (SELECT…).

. Relaţiile descriu legăturile dintre obiecte. ale sistemelor de inteligenţă artificială şi ale limbajului Prolog vor fi detaliate la cursul de Sisteme expert de gestiune care se studiază în anii următori la specializarea „Contabilitate şi informatică de gestiune”.. atunci (then) . Programarea logică reprezintă un tip de programare bazată pe raţionamente. Sistemul de gestiune aferent acestor baze de date deductive cuprinde instrumente de realizare automată a raţionamentelor ce sunt realizate prin programare logică. Baza Herbrand cuprinde ansamblul faptelor posibile despre baza de date şi se constituie într-un sistem închis. axiome şi o regulă de deducţie de tipul când (when). ce servesc pentru descrierea relaţiilor care se referă la unul sau mai multe obiecte ale problemei de rezolvat. Bazele de date deductive utilizează. În lucrarea de faţă se prezintă numai câteva noţiuni introductive în scopul întregirii imaginii de ansamblu asupra generaţiilor de baze de date.1 Bazele de date deductive Bazele de date deductive sunt denumite şi baze de date inteligente sau baze de date bazate pe logică şi sunt caracterizate de posibilitatea gestionării adaptive a datelor în conformitate cu cerinţele utilizatorilor în luarea deciziilor economice. în care programul este compus din fapte şi reguli şi are ca rezultat concluzii. ce pornesc de la fapte ca date de intrare (baza de fapte) şi prin construirea de raţionamente pe baza regulilor. atunci (then) se execută o acţiune. logica propoziţiilor de ordinul I. Este de menţionat diferenţa esenţială dintre regulile de producţie specifice sistemelor expert (premisă sau condiţie→concluzie) şi regulile specifice sistemelor de gestiune a bazelor de date active (eveniment→condiţie →acţiune). dar conţine cel puţin simboluri predicative. Elementele de bază ale programării logice.. Faptele (facts) sunt informaţii declarative. limbaj care nu conţine simboluri funcţie. în principal. Simbolul predicativ este specific predicatelor (predicates) ca elemente de bază în procesarea datelor prin programarea logică şi care reprezintă relaţiile din expresiile cu fapte. Unul dntre limbajele de programare care asigură implementarea acestui tip de programare este limbajul Prolog. • • • .. Regulile (rules) sunt utilizate pentru definirea şi deducerea de noi fapte şi relaţii dintre faptele cunoscute. se testează o condiţie şi dacă (if) aceasta este adevărată la evaluare. Motoarele de inferenţă reprezintă elementele efective de prelucrare.Baze de date deductive Baze de date multidimensionale Baze de date multimedia. cu reprezentare simbolică.dacă (if). Fundamentarea matematică a bazelor de date deductive este bazată pe universul Herbrand. adică acel limbaj formal ce conţine un alfabet. Prin raţionament se înţelege un proces de deducţie (inferenţă) aplicat asupra setului de fapte şi reguli. Acest comportament descrie al bazelor de date active este descris de regulile eveniment – condiţie – acţiune (ECA). Aceasta înseamnă că atunci când (when) un eveniment se produce. Bazele de date active sunt caracterizate de comportamentul lor descrie în raport cu schimbările ce survin în interiorul acestora sau cu evenimentele ce se produc în afara acestora. adică setul de simboluri de tip constantă din limbajul L. Bazele de date deductive sunt baze mari de date ce sunt supuse analizei şi interpretării. reguli de sintaxă. 13. conduc la obţinerea de noi fapte. sisteme de gestiune şi tehnologii de stocare şi prelucrare asociate acestora...

o comparaţie între bazele de date operaţionale şi bazele de date multidimensionale. Multidimensional DataBase) reprezintă un ansamblu de date. Prelucrarea datelor din bazele de date operaţionale se realizează potrivit conceptului de prelucrare interactivă (online) a tranzacţiilor. număr mic de intrări/ieşiri asociat fiecărei tranzacţii. comercial-marketing. 13. având ca surse bazele de date (fişierele) interne sau externe dintr-o organizaţie. Pe baza limbajului Prolog şi a unei interfeţe specializate în lucrul cu baze de date. prezenţă sporadică şi slabă a elementelor de analiză. date ce variază în timp. permanentă). Sursele de date externe sunt reprezentate de datele provenite de la alte organizaţii de coordonare sau de sinteză. s-a realizat limbajul Datalog. fără simboluri de funcţie. previzibilitatea interogărilor realizate de utilizatorii finali.1 este prezentată. Limbajul Datalog este un limbaj declarativ orientat pe programarea logică acceptat la limbaj standard destinat bazelor de date deductive. Sintaxa limbajului nu conţine predicate speciale şi utilizează logica propoziţiilor de ordinul I. sunt organizate multidimensional şi sunt exploatate prin intermediul interogărilor convenţionale sau prin tehnici de analiză simplă (OLAP) sau prin tehnici de analiză în tehnologii avansate (Data Mining). În tabelul 13. cercetare-dezvoltare. financiar-contabil. OLTP (On-Line Transaction Processing) ce reliefează caracteristicile acestor prelucrări: volum limitat de date accesate. limbaj de manipulare a datelor şi limbaj de reguli. Sursele de date interne sunt bazele de date operaţionale din organizaţie. resurse umane) ce stochează datele ce se referă la tranzacţiile (evenimentele) specifice domeniului de gestiune considerat. adică acele baze de date specifice domeniilor de gestiune ale organizaţiei (producţie-servicii. Un program realizat în limbajul Datalog este o secvenţă cu definiţii de proprietăţi.Bazele de date deductive prezintă două componente: componenta asociată modulului relaţional (SGBDR pentru baza de fapte) şi componenta asociată modulului programării logice (pentru realizarea interogărilor). Bazele de date multidimensionale servesc pentru obţinerea de noi informaţii sau pentru deducerea de noi cunoştinţe prin interogare cu ajutorul limbajului SQL. . Bazele de date deductive sunt în curs de cercetare şi de punere la punct a unor soluţii practice în strânsă legătură cu dezvoltările din domeniul inteligenţei artificiale. prin prelucrare analitică online (analiză simplă) – OLAP (OnLine Analytical Processing) sau prin tehnologia de rafinare inteligentă (avansată) a datelor – Data Mining. constituite prin extracţie sau transformare de date. Cuplarea dintre SGBDR şi modulul programării logice (sistemul de raţionamente) poate să fie cuplare slabă (realizată numai în anumite momente de timp) sau cuplare strânsă (interacţiune continuă. Prin integrarea completă a instrumentelor de realizare automată a raţionamentelor în cadrul SGBDR se obţine un sistem de gestiune a bazelor de date deductive cu limbaj de descriere a datelor.2 Bazele de date multidimensionale Bazele de date multidimensionale (MDB.

la acest nivel depozitele de date (Data Warehouse) ce sunt un produs al mediului organizaţional (sistem informatic integrat) şi al tehnologiilor informaţiilor şi ale comunicaţiilor (IT&C) cele mai avansate. necesare nivelurilor superioare de management (de nivel mediu şi strategic) se efectuează prin prelucrarea analitică online. baze de date relaţionale. cu atributul de « citeşte-numai » (read-only). Caracteristicile fundamentale ale depozitelor de date sunt : orientarea pe subiecte. 11. Integrarea presupune utilizarea. 10. 12. transformate şi stocate.Tabelul 13. de la începutul stocării electronice a datelor din organizaţie). Caracterul istoric al depozitelor de date este dat de durata de stocare şi folosire a datelor din depozitele de date (de regulă. după ce sunt mai întâi extrase. Depozitele de date sunt organizate separat de bazele de date operaţionale ale organizaţiei. 4. Destinaţia principală 2. Persistenţa datelor din depozitele de date se referă la caracterul permanent de stocare. Se obţin. 8. normalizate Actuale Nu Imediată Foarte scăzut Tabele detaliate Mare Citire şi screre Sute MB – zeci GB Mic Bazele de date multidimensionale Componentă a sistemelor informatice pentru asistarea deciziilor Pe subiecte ale managementului Stea. OLTP. 6. rezumată Mic Numai citire Zeci GB – zeci TB Mare Structurarea datelor Modele utilizate Date Agregarea datelor Actualizare Grad de consolidare Percepţie Număr utilizatori Accesare Mărime Număr de înregistrări Depozite de date La nivelul de management de exploatare. a mai multor surse de date heterogene (fişiere de date. Extragerea datelor relevante şi obţinerea informaţiilor consolidate ale organizaţiei. pentru construirea unui depozit de date. integrarea. 9.1 Comparaţie între bazele de date operaţionale şi bazele de date multidimensionale Nr. . datele sunt stocate în baze de date şi sunt gestionate cu SGBD-uri. OLAP. 7. surse de date externe organizaţiei etc. înregistrări referitoare la tranzacţiile online. curăţate. 3. Depozitele de date servesc pentru implementarea fizică a unor modele de date pentru asistarea deciziilor de importanţă strategică pentru organizaţie.). prin prelucrarea tranzacţiilor online. Aceste baze de date operaţionale asigură datele pentru depozite de date. fulg de nea. 5. Caracteristica crt comparaţie 1. Depozitele de date conţin volume mari de date (terabytes) ce servesc ca date de intrare pentru cele mai sofisticate tehnici şi tehnologii de analiză şi sinteză. Orientarea pe subiecte semnifică faptul că un depozit de date este focalizat pe modelarea şi analiza datelor pentru asistarea deciziilor. de Bazele de date operaţionale Gestiunea curentă a tranzacţiilor Pe procese funcţionale Relaţional. puţin normalizate Temporale sau istorice Da În momente diferite Foarte ridicat Multidimensională. caracterul istoric şi persistenţa datelor.

a modelelor şi instrumentelor analitice sofisticate şi a softului într-un singur sistem informatic puternic bazat pe depozite de date care poate sprijini luarea deciziilor structurate şi semistructurate. Analysis Services. când au fost studiate elemente ale limbajului HTML). denumire. În acest scop se utilizează conceptul de exploatare a datelor din depozitele de date. În Dicţionarul de calculatoare Microsoft se precizează că multimedia reprezintă un subset al hipermediei în care elementele specifice multimediei sunt integrate cu hipertextul. calitate.0 sau 2000 conţin instrumentul destinat serviciilor de analiză a datelor din depozitele de date. în acest context al informaticii şi ştiinţei calculatoarelor. entităţile geografice – (localitatea. costurile de producţie. a informaţiilor destinate unui utilizator anume. performanţele personalului companiei etc. colaboratori şi beneficiari/clienţi.3 Bazele de date multimedia Multimedia reprezintă. ziua. în sens larg. Periodic. cincinalul. 13. tip. entităţile de producţie categorie. Principalul avantaj oferit de multimedia este dat de accesul rapid şi facil la cunoaştere şi infomare. Datele sunt depozitate pe categorii de interes şi sunt corelate în timp (perioade mari de timp) pentru a putea fi folosite pentru analiză şi interogare online. Există mai multe standarde hipermedia: HTML (HyperText Markup Language) şi variantele sale ulterioare. denumit OLAP Services. categorii de clienţi etc. continentul -. Tabelul de fapte este elementul constitutiv al depozitului de date ce constă în date şi informaţii (fapte) referitoare la obiectul de activitate al companiei. statul. preţurile practicate. Nivelurile de centralizare servesc pentru creşterea vitezei de răspuns la analiza şi interogarea depozitelor de date prin structurarea datelor în funcţie de diverse criterii – timp. semestrul. aceste date sunt extrase şi asamblate în cadrul nivelurilor superioare de management ale organizaţiei economice sub forma depozitelor de date (Data Warehouse).Un sistem informatic de asistare a deciziei. Dimensiunile depozitelor de date sunt imense (zeci şi sute de TB. produsele/serviciile oferite şi vândute/realizate. Suportul esenţial al dezvoltării multimediei este dat de progresele IT&C. detalii privind livrarea acestor produse/asigurarea serviciilor către beneficiari. cu ajutorul sistemelor de gestiune a bazelor de date (SGBD). aşa cum s-a prezentat în lucrarea de faţă. ansamblul mijloacelor (mediilor) de comunicare prin intermediul cărora se realizează o percepţie vizuală şi auditivă. servind astfel pentru analiza şi extragerea informaţiilor utile nivelurilor de management mediu şi strategic. anul. zonă geografică. Tabelul de dimensiuni depozitează date şi informaţii pe baza conceptului de dimensiune (aceasta poate reprezenta entităţile de măsurare a timpului – ora. Microsoft Repository. în care parcurgerea are caracter nesecvenţial (detaliile au fost date la cursul de Informatică de gestiune – baze. preţ unitar etc. multimedia poate fi definită ca o combinaţie interactivă a mai multor tipuri de date: sunete. grafică. Datele provenite din operaţiunile curente ale organizaţiei (OLTP) sau din sistemele moştenite sunt stocate în baze de date şi sunt manipulate. Ca urmare. animaţie şi secvenţe video. cantitate vândută. secolul -. Produsele informatice Microsoft SQL Server 7. terabaiţi). cod. Hipertextul este un text legat sub forma unei reţele complexe de asociaţii. DSS (Decision Support System) asistă luarea deciziei de management prin combinarea datelor. deceniul. Elementele depozitelor de date sunt tabelele de fapte. regiunea. luna. categorii de produse. sub diverse forme. date despre furnizori. dimensiunile şi nivelurile de centralizare. săptămâna. . prin folosirea metadatelor (Microsoft MetaData Services). trimestrul.

date formatate) sunt corelate static în conformitate cu modelul orientat pe obiecte. Obiecte complexe utilizate în realizarea spotului publicitar pot fi regăsite şi la monitoarele ATM-urilor băncii atunci când clientul efectuează o operaţiune de scoatere a numerarului din contul propriu. imagini vectoriale. achiziţie. video. heterogene (audio. sunt evidenţiate funcţiile de generare. Rtree sau combinaţii ale acestora). stocare. . Când tranziţia încetează se obţine momentul de definire şi stocare a unui model abstract al imaginii. o aplicaţie de prezentare şi reclamă bancară poate fi formată din desene animate. Dexter Hypermedia. Bazele de date multimedia sunt astfel organizate după modelul orientat pe obiecte. pe mai multe niveluri: structura funcţională sau tehnologică.MHEG (Multimedia Hypermedia Expert Group). În sfârşit. Pentru datele multimedia lipseşte modelul abstract de date (specific tipurilor de date alfanumerice). în sensul că există posibilitatea de modificare a stării mediului ca urmare a producerii unor evenimente externe: o secvenţă video sau o piesă muzicală pot fi modificate. Există limbaje de descriere a imaginilor video de tipul scenelor prin care fiecărui segment grafic din compunerea unei scene i se asociază atribute (culoare. În cazul structurii funcţionale sau tehnologice a bazelor de date multimedia. Bazele de date multimedia sunt şi baze de date reactive. ODA. Acrobat PDF(Portable Document Format) etc. manipulare etc. Imaginile sunt interpretate ca tranziţie de stări pe baza nivelelor de recunoaştere a stărilor obiectelor dintr-o imagine anume (scenă). sunet corespunzător imaginilor şi secvenţe de film din activitatea de frontoffice la una dintre sucursalele băncii. la mecanismele de acces concurent la baza de date. Datele multimedia sunt date dinamice şi baza de date multimedia este o bază de date activă. compresie. Pe cale de consecinţă. integrate cu datele de tipuri clasice. la nivel de obiect şi la nivel de mediu de comunicare. la modul de obţinere a interfeţelor grafice destinate utilizatorului. datele multimedia provenite din surse diferite. În aplicaţiile cu baze de date multimedia. direcţie de deplasare. Bazele de date multimedia. Structurile de stocare sunt eficiente şi sunt realizate după arbori speciali (de exemplu. Datele multimedia sunt structurate pe obiecte complexe. texte ASCII. a datelor multimedia ce sunt. animaţie. De aceea. De exemplu. Quadtree. poziţie. efecte speciale). datelor hipermedia). imagini raster. Bazele de date multimedia sunt baze de date foarte mari deoarece stocarea datelor video şi audio necesită spaţii de memorie imense. ulterior. compuse din date de tipuri elementare. MMDB (Multimedia DataBases) sunt destinate stocării datelor multimedia (prin extensie. la scurtarea timpului de regăsire a datelor multimedia şi la apropierea acestuia de cel al aplicaţiilor în timp real (run-time). structura de interogare sau dinamică şi structura de prezentare sau de sistem. în realitate. cu cuvinte-cheie asociate. Sistemele de gestiune a bazelor de date multimedia se fundamentează pe abordarea incrementală ce are la bază modele intermediare de date asociate datelor grafice. accesul la date reprezintă. inclusiv prin alterarea conţinutului acestora. structura de prezentare sau de sistem se referă la independenţa bazei de date faţă de platforma de lucru a utilizatorului. metodele de regăsire a datelor multimedia se utilizează în funcţie de tipul datelor şi modul de interacţiune a utilizatorului cu baza de date multimedia. În cazul structurii de interogare sau dinamică. HyTime. interogarea acestor baze de date cere timp destul de mare. interacţiunea dintre utilizator şi date. regăsirea datelor multimedia presupune aplicarea unor metode specifice. structura relaţională. În ceea ce priveşte structura relaţională.

before). ce reprezintă obiectele multimedia sub forma unei ierarhii de clase orientate obiect. gestionarea datelor multimedia implică operaţiuni complexe de sincronizare şi de distribuire în timp şi spaţiu a datelor multimedia de tipuri diferite. cu obiecte definite temporal şi spaţial. set. sub sistemul de operare Microsoft Windows. SGBD multimedia realizează stocarea şi transmiterea pe canalele de comunicaţii a datelor multimedia sub formă comprimată. OORDBMS (Object-Oriented Relational DataBases Management System). list) cu relaţii temporale (equal. include elemente din SGBD relaţional (RDBMS) şi din SGBD orientat pe obiecte (OODBMS). Există tehnici de compresie avansate care realizează comprimarea datelor multimedia cu rate de compresie situate între 10:1 şi 50:1 pentru imagini. MOAP (Multimedia Object and Application Model). s-au obţinut baze de date relaţionale orientate obiect. STORM (Structural and Temporal Object Oriented Multimedia) ce integrează operatori structurali (tuple. Bazele de date multimedia se folosesc cu precădere în descrierea şi prezentarea produselor (un magazin virtual pe Internet .mall electronic – utilizează în mod obligatoriu baze de date multimedia cu imaginile produselor ce se oferă spre vânzare). în activitatea de documentare (documente hipertext) etc. Limbajul de programare de tip script încorporat în Multimedia Toolbox se numeşte OpenScript şi serveşte pentru descrierea scenariului aplicaţiei. în volume mari şi de tipuri variate. ce aparţine firmei Asymetrix. în administraţia electronică. suportul tehnic (adică gama de periferice ale sistemului informatic în a cărui compunere intră bazele de date multimedia şi SGBD asociat) este diversificat. respectiv 2000:1 pentru semnal video. Datele multimedia sunt afişate şi transmise sub formă de fluxuri (stream-uri) continue în timp. . BLOB (Binary Large Objects). a documentelor specifice obţinerii permisului auto. a formularelor de înregistrare a plăţii impozitelor şi taxelor. SGBD-ul asociat bazelor de date relaţionale orientate obiect. De exemplu. Se pot da ca exemple de SGBD multimedia : • SGBD multimedia orientat obiect. este un instrument de realizat cărţi multimedia. Multimedia Toolbox.4 Bazele de date relaţionale orientate obiect Prin extinderea facilităţilor oferite de bazele de date relaţionale cu includerea structurilor de date complexe de natura obiectelor. 13.SGBD multimedia sunt caracterizate de următoarele particularităţi: datele multimedia sunt complexe. Compresia datelor multimedia se execută după standarde ca JPEG (Joint Photographic Expert Group) – rata de compresie 15:1. orientat pe programare vizuală. iar aplicaţiile multimedia interactive sunt obţinute pe baza scenariilor bazate pe aplicaţii şi evenimente sistem. Crearea bazelor de date multimedia se realizează cu soft specializat (cu funcţii de stocare şi de consultare). în activitatea de instruire şi educaţie (tutori inteligenţi. enciclopedii multimedia educaţionale). e-government (descrierea formularelor de contabilitate. after. iar a semnalului audio 10:1. obiectele multimedia sunt mari. • Modelul orientat obiect. MPEG (Moving Pictures Expert Group) – rata de compresie a imaginilor în mişcare 200:1.

se pune problema determinării acelor produse electronice care satisfac o anumită caracteristică de design (aspect exterior). • pentru cuadrantul 4 – aplicaţiile cu baze de date multimedia.13. Stonebraker a realizat o matrice de clasificare a SGBD (fig.13. • pentru cuadrantul 3 – aplicaţiile de proiectare asistată de calculator. Dacă se ia. Se consideră însă erori ca să se echivaleze variabila de relaţie din lumea relaţională cu clasa de obiecte din lumea obiectelor şi să se amestece relaţiile cu pointerii prin care se afectează integritatea conceptuală a modelului relaţional. Exemplele tipice asociate celor patru cuadranţi (sferturi) ai matricei Stonebraker sunt: • pentru cuadrantul 1 – procesorul de texte clasic. Aplicaţii pentru date simple fără cerinţe de interogări ad-hoc DATE SIMPLE 4.1 Matricea de clasificare a SGBD (matricea lui Stonebraker) Interogarea ad-hoc a unei baze de date semnifică. Se reaminteşte aici că pointerii sunt variabile ce conţin adrese pentru itemi de date (itemii de date pot fi cuvinte. ca exemplu.1) care ajută la o mai bună înţelegere a interacţiunilor dintre cele două modele pentru baze de date (relaţional şi orientat pe obiecte). o bază de date ce conţine produsele unei firme de aparatură electronică şi se adaugă la această bază de date imagini cu produsele respective. CAD (Computer Aided Design). Revenind la una dintre ideile de bază prezentate mai sus. tabelele nu pot fi egalate cu clasele. pe cale de consecinţă. în acest caz. Aplicaţii pentru date simple cu cerinţe de interogări ad-hoc 1. • pentru cuadrantul 2 – aplicaţiile economice (din domeniul afacerilor). interogarea imediată efectuată asupra bazei de date. 2.Conceptul de domeniu din teoria bazelor de date relaţionale este echivalent cu conceptul de clasă de obiecte din teoria bazelor de date orientate pe obiecte. Aplicaţii pentru date complexe cu cerinţe de interogări ad-hoc 3. Aplicaţii pentru date complexe fără cerinţe de interogări ad-hoc INTEROGARE PREZENTĂ INTEROGARE ABSENTĂ DATE COMPLEXE Fig. Este necesară prelucrarea imaginilor produselor electronice (ca . serii de numere sau înregistrări din fişiere) sau pentru instrucţiuni.

• metode ce includ mai multe clase. baze de date distribuite.J. în principal. Generaţia bazelor de date în tehnologii avansate cuprinde. Date C. atunci (then) se execută o acţiune. Bazele de date relaţionale orientate obiect asigură utilizarea la interogare a metodelor obiectelor diverse şi a unor noi operatori pentru obiecte.obiecte) pentru a obţine răspunsul la problema ridicată. • existenţa regulilor pentru chei externe sau străine etc. Sistemul de gestiune aferent acestor baze de date deductive cuprinde instrumente de realizare automată . Bazele de date deductive sunt baze mari de date ce sunt supuse analizei şi interpretării. 13. demonstrează că un sistem obiect-relaţional prezintă mai multe caracteristici. Acest comportament descrie al bazelor de date active este descris de regulile eveniment – condiţie – acţiune (ECA). • posibilitatea accesului dual – interactiv şi programat – la baza de date. BAZE DE DATE ÎN TEHNOLOGII AVANSATE Cercetările în domeniul bazelor de date în tehnologii avansate (advanced database) evidenţiază câteva tendinţe relevante concretizate în baze de date orientate obiect. În cazul ultimelor versiuni ale SGBD Oracle. Aceasta înseamnă că atunci când (when) un eveniment se produce. precum şi posibilitatea definirii propriilor metode pentru obiectele folosite din partea utilizatorului final. baze de date relaţionale orientate obiect. la nivel de tabel şi chiar la nivel de bază de date sunt căi de soluţionare a problemelor practice care depăşesc cadrul bazelor de date relaţionale. bazele de date active: • Baze de date deductive • Baze de date multidimensionale • Baze de date multimedia. baze de date active. a fost implementat modelul obiecturalrelaţional de date. baze de date online. dintre care se menţionează: • cerinţa de interogare ad-hoc. Crearea unor funcţii la nivel de înregistrare. Caracteristicile dorite la selecţie se descriu printr-o metodă ataşată obiectului. • definirea dinamică a claselor pentru rezultatele interogărilor ad-hoc.1 Bazele de date deductive Bazele de date deductive sunt denumite şi baze de date inteligente sau baze de date bazate pe logică şi sunt caracterizate de posibilitatea gestionării adaptive a datelor în conformitate cu cerinţele utilizatorilor în luarea deciziilor economice. cu definirea vederilor (view-urilor) şi constrângeri de integritate declarative. Bazele de date active sunt caracterizate de comportamentul lor descrie în raport cu schimbările ce survin în interiorul acestora sau cu evenimentele ce se produc în afara acestora. conducând la ideea de bază de date relaţională orientată obiect. Se pot crea tabele prin intermediul caracteristicii de moştenire (inheritance) specifică obiectelor. se testează o condiţie şi dacă (if) aceasta este adevărată la evaluare. 13.

. sisteme de gestiune şi tehnologii de stocare şi prelucrare asociate acestora. Simbolul predicativ este specific predicatelor (predicates) ca elemente de bază în procesarea datelor prin programarea logică şi care reprezintă relaţiile din expresiile cu fapte. dar conţine cel puţin simboluri predicative. ce pornesc de la fapte ca date de intrare (baza de fapte) şi prin construirea de raţionamente pe baza regulilor. Unul dntre limbajele de programare care asigură implementarea acestui tip de programare este limbajul Prolog. . Motoarele de inferenţă reprezintă elementele efective de prelucrare. logica propoziţiilor de ordinul I.dacă (if). Bazele de date deductive utilizează. s-a realizat limbajul Datalog.. Un program realizat în limbajul Datalog este o secvenţă cu definiţii de proprietăţi. adică setul de simboluri de tip constantă din limbajul L.a raţionamentelor ce sunt realizate prin programare logică. Faptele (facts) sunt informaţii declarative. Sintaxa limbajului nu conţine predicate speciale şi utilizează logica propoziţiilor de ordinul I.. Relaţiile descriu legăturile dintre obiecte. Cuplarea dintre SGBDR şi modulul programării logice (sistemul de raţionamente) poate să fie cuplare slabă (realizată numai în anumite momente de timp) sau cuplare strânsă (interacţiune continuă. Programarea logică reprezintă un tip de programare bazată pe raţionamente. cu reprezentare simbolică. În lucrarea de faţă se prezintă numai câteva noţiuni introductive în scopul întregirii imaginii de ansamblu asupra generaţiilor de baze de date. adică acel limbaj formal ce conţine un alfabet. Regulile (rules) sunt utilizate pentru definirea şi deducerea de noi fapte şi relaţii dintre faptele cunoscute. limbaj de manipulare a datelor şi limbaj de reguli. în care programul este compus din fapte şi reguli şi are ca rezultat concluzii. permanentă). Limbajul Datalog este un limbaj declarativ orientat pe programarea logică acceptat la limbaj standard destinat bazelor de date deductive... Este de menţionat diferenţa esenţială dintre regulile de producţie specifice sistemelor expert (premisă sau condiţie→concluzie) şi regulile specifice sistemelor de gestiune a bazelor de date active (eveniment→condiţie →acţiune). ce servesc pentru descrierea relaţiilor care se referă la unul sau mai multe obiecte ale problemei de rezolvat. ale sistemelor de inteligenţă artificială şi ale limbajului Prolog vor fi detaliate la cursul de Sisteme expert de gestiune care se studiază în anii următori la specializarea „Contabilitate şi informatică de gestiune”. limbaj care nu conţine simboluri funcţie. Baza Herbrand cuprinde ansamblul faptelor posibile despre baza de date şi se constituie într-un sistem închis. Elementele de bază ale programării logice. Pe baza limbajului Prolog şi a unei interfeţe specializate în lucrul cu baze de date. atunci (then) . Prin integrarea completă a instrumentelor de realizare automată a raţionamentelor în cadrul SGBDR se obţine un sistem de gestiune a bazelor de date deductive cu limbaj de descriere a datelor. conduc la obţinerea de noi fapte.. Fundamentarea matematică a bazelor de date deductive este bazată pe universul Herbrand. axiome şi o regulă de deducţie de tipul când (when). fără simboluri de funcţie. Bazele de date deductive prezintă două componente: componenta asociată modulului relaţional (SGBDR pentru baza de fapte) şi componenta asociată modulului programării logice (pentru realizarea interogărilor). Bazele de date deductive sunt în curs de cercetare şi de punere la punct a unor soluţii practice în strânsă legătură cu dezvoltările din domeniul inteligenţei artificiale. în principal. reguli de sintaxă. Prin raţionament se înţelege un proces de deducţie (inferenţă) aplicat asupra setului de fapte şi reguli.

16. Multidimensional DataBase) reprezintă un ansamblu de date. Sursele de date externe sunt reprezentate de datele provenite de la alte organizaţii de coordonare sau de sinteză. o comparaţie între bazele de date operaţionale şi bazele de date multidimensionale. previzibilitatea interogărilor realizate de utilizatorii finali. Destinaţia principală 14.1 este prezentată. date ce variază în timp. Sursele de date interne sunt bazele de date operaţionale din organizaţie. Tabelul 13. sunt organizate multidimensional şi sunt exploatate prin intermediul interogărilor convenţionale sau prin tehnici de analiză simplă (OLAP) sau prin tehnici de analiză în tehnologii avansate (Data Mining). 18. 17. comercial-marketing. 15. prezenţă sporadică şi slabă a elementelor de analiză. Caracteristica crt comparaţie 13.1 Comparaţie între bazele de date operaţionale şi bazele de date multidimensionale Nr. OLTP (On-Line Transaction Processing) ce reliefează caracteristicile acestor prelucrări: volum limitat de date accesate. fulg de nea. financiar-contabil. rezumată Structurarea datelor Modele utilizate Date Agregarea datelor Actualizare Grad de consolidare Percepţie . În tabelul 13. puţin normalizate Temporale sau istorice Da În momente diferite Foarte ridicat Multidimensională. prin prelucrare analitică online (analiză simplă) – OLAP (OnLine Analytical Processing) sau prin tehnologia de rafinare inteligentă (avansată) a datelor – Data Mining. normalizate Actuale Nu Imediată Foarte scăzut Tabele detaliate Bazele de date multidimensionale Componentă a sistemelor informatice pentru asistarea deciziilor Pe subiecte ale managementului Stea.13. Prelucrarea datelor din bazele de date operaţionale se realizează potrivit conceptului de prelucrare interactivă (online) a tranzacţiilor. având ca surse bazele de date (fişierele) interne sau externe dintr-o organizaţie. adică acele baze de date specifice domeniilor de gestiune ale organizaţiei (producţie-servicii. resurse umane) ce stochează datele ce se referă la tranzacţiile (evenimentele) specifice domeniului de gestiune considerat. Bazele de date multidimensionale servesc pentru obţinerea de noi informaţii sau pentru deducerea de noi cunoştinţe prin interogare cu ajutorul limbajului SQL. cercetare-dezvoltare. de Bazele de date operaţionale Gestiunea curentă a tranzacţiilor Pe procese funcţionale Relaţional. constituite prin extracţie sau transformare de date. 19. număr mic de intrări/ieşiri asociat fiecărei tranzacţii. 20.2 Bazele de date multidimensionale Bazele de date multidimensionale (MDB.

21. OLAP. surse de date externe organizaţiei etc. Microsoft Repository. a mai multor surse de date heterogene (fişiere de date. Depozitele de date servesc pentru implementarea fizică a unor modele de date pentru asistarea deciziilor de importanţă strategică pentru organizaţie. necesare nivelurilor superioare de management (de nivel mediu şi strategic) se efectuează prin prelucrarea analitică online. În acest scop se utilizează conceptul de exploatare a datelor din depozitele de date. 22. înregistrări referitoare la tranzacţiile online. caracterul istoric şi persistenţa datelor. Produsele informatice Microsoft SQL Server 7.0 sau 2000 conţin instrumentul destinat serviciilor de analiză a datelor din depozitele de date.). a modelelor şi instrumentelor analitice sofisticate şi a softului într-un singur sistem informatic puternic bazat pe depozite de date care poate sprijini luarea deciziilor structurate şi semistructurate. pentru construirea unui depozit de date. Număr utilizatori Accesare Mărime Număr de înregistrări Mare Citire şi screre Sute MB – zeci GB Mic Mic Numai citire Zeci GB – zeci TB Mare Depozite de date La nivelul de management de exploatare. OLTP. Extragerea datelor relevante şi obţinerea informaţiilor consolidate ale organizaţiei. după ce sunt mai întâi extrase. Se obţin. Depozitele de date conţin volume mari de date (terabytes) ce servesc ca date de intrare pentru cele mai sofisticate tehnici şi tehnologii de analiză şi sinteză. Datele sunt depozitate pe categorii de interes şi sunt corelate în timp (perioade mari de timp) pentru a putea fi folosite pentru analiză şi interogare online. Integrarea presupune utilizarea. integrarea. prin prelucrarea tranzacţiilor online. prin folosirea metadatelor (Microsoft MetaData Services). Orientarea pe subiecte semnifică faptul că un depozit de date este focalizat pe modelarea şi analiza datelor pentru asistarea deciziilor. Datele provenite din operaţiunile curente ale organizaţiei (OLTP) sau din sistemele moştenite sunt stocate în baze de date şi sunt manipulate. Un sistem informatic de asistare a deciziei. 24. Caracterul istoric al depozitelor de date este dat de durata de stocare şi folosire a datelor din depozitele de date (de regulă. Depozitele de date sunt organizate separat de bazele de date operaţionale ale organizaţiei. servind astfel pentru analiza şi extragerea informaţiilor utile nivelurilor de management mediu şi strategic. Elementele depozitelor de date sunt . aceste date sunt extrase şi asamblate în cadrul nivelurilor superioare de management ale organizaţiei economice sub forma depozitelor de date (Data Warehouse). Persistenţa datelor din depozitele de date se referă la caracterul permanent de stocare. de la începutul stocării electronice a datelor din organizaţie). cu atributul de « citeşte-numai » (read-only). Periodic. Caracteristicile fundamentale ale depozitelor de date sunt : orientarea pe subiecte. datele sunt stocate în baze de date şi sunt gestionate cu SGBD-uri. DSS (Decision Support System) asistă luarea deciziei de management prin combinarea datelor. curăţate. la acest nivel depozitele de date (Data Warehouse) ce sunt un produs al mediului organizaţional (sistem informatic integrat) şi al tehnologiilor informaţiilor şi ale comunicaţiilor (IT&C) cele mai avansate. aşa cum s-a prezentat în lucrarea de faţă. 23. Analysis Services. denumit OLAP Services. transformate şi stocate. baze de date relaţionale. Aceste baze de date operaţionale asigură datele pentru depozite de date. cu ajutorul sistemelor de gestiune a bazelor de date (SGBD).

ODA. În Dicţionarul de calculatoare Microsoft se precizează că multimedia reprezintă un subset al hipermediei în care elementele specifice multimediei sunt integrate cu hipertextul. MHEG (Multimedia Hypermedia Expert Group). în care parcurgerea are caracter nesecvenţial (detaliile au fost date la cursul de Informatică de gestiune – baze. anul. grafică. sub diverse forme. săptămâna.3 Bazele de date multimedia Multimedia reprezintă. Datele multimedia sunt date dinamice şi baza de date multimedia este o bază de date activă. continentul -. Tabelul de dimensiuni depozitează date şi informaţii pe baza conceptului de dimensiune (aceasta poate reprezenta entităţile de măsurare a timpului – ora. Bazele de date multimedia sunt şi baze de date reactive. cod. cantitate vândută. cincinalul. multimedia poate fi definită ca o combinaţie interactivă a mai multor tipuri de date: sunete. categorii de clienţi etc. ziua. în sens larg. preţ unitar etc. Tabelul de fapte este elementul constitutiv al depozitului de date ce constă în date şi informaţii (fapte) referitoare la obiectul de activitate al companiei. Datele multimedia sunt structurate pe obiecte complexe. o aplicaţie de prezentare şi reclamă bancară poate fi formată din . trimestrul. când au fost studiate elemente ale limbajului HTML). Suportul esenţial al dezvoltării multimediei este dat de progresele IT&C. Bazele de date multimedia sunt baze de date foarte mari deoarece stocarea datelor video şi audio necesită spaţii de memorie imense. zonă geografică. dimensiunile şi nivelurile de centralizare. HyTime. regiunea. ansamblul mijloacelor (mediilor) de comunicare prin intermediul cărora se realizează o percepţie vizuală şi auditivă. costurile de producţie. De aceea. categorii de produse. MMDB (Multimedia DataBases) sunt destinate stocării datelor multimedia (prin extensie.tabelele de fapte. produsele/serviciile oferite şi vândute/realizate. 13. animaţie şi secvenţe video. luna. Rtree sau combinaţii ale acestora). De exemplu. Quadtree. deceniul. date despre furnizori. Nivelurile de centralizare servesc pentru creşterea vitezei de răspuns la analiza şi interogarea depozitelor de date prin structurarea datelor în funcţie de diverse criterii – timp. în acest context al informaticii şi ştiinţei calculatoarelor. denumire. Hipertextul este un text legat sub forma unei reţele complexe de asociaţii. interogarea acestor baze de date cere timp destul de mare. entităţile geografice – (localitatea. Pe cale de consecinţă. detalii privind livrarea acestor produse/asigurarea serviciilor către beneficiari. datelor hipermedia). semestrul. secolul -. calitate. regăsirea datelor multimedia presupune aplicarea unor metode specifice. tip. Dimensiunile depozitelor de date sunt imense (zeci şi sute de TB. inclusiv prin alterarea conţinutului acestora. entităţile de producţie categorie. Principalul avantaj oferit de multimedia este dat de accesul rapid şi facil la cunoaştere şi infomare. a informaţiilor destinate unui utilizator anume. Ca urmare. preţurile practicate. Structurile de stocare sunt eficiente şi sunt realizate după arbori speciali (de exemplu. colaboratori şi beneficiari/clienţi. Există mai multe standarde hipermedia: HTML (HyperText Markup Language) şi variantele sale ulterioare. Acrobat PDF(Portable Document Format) etc. statul. în sensul că există posibilitatea de modificare a stării mediului ca urmare a producerii unor evenimente externe: o secvenţă video sau o piesă muzicală pot fi modificate. terabaiţi). Bazele de date multimedia. Dexter Hypermedia. Pentru datele multimedia lipseşte modelul abstract de date (specific tipurilor de date alfanumerice). compuse din date de tipuri elementare. performanţele personalului companiei etc.

heterogene (audio. suportul tehnic (adică gama de periferice ale sistemului informatic în a cărui compunere intră bazele de date multimedia şi SGBD asociat) este diversificat. . direcţie de deplasare. list) cu relaţii temporale (equal. gestionarea datelor multimedia implică operaţiuni complexe de sincronizare şi de distribuire în timp şi spaţiu a datelor multimedia de tipuri diferite. structura de interogare sau dinamică şi structura de prezentare sau de sistem. sunet corespunzător imaginilor şi secvenţe de film din activitatea de frontoffice la una dintre sucursalele băncii. cu obiecte definite temporal şi spaţial. Obiecte complexe utilizate în realizarea spotului publicitar pot fi regăsite şi la monitoarele ATM-urilor băncii atunci când clientul efectuează o operaţiune de scoatere a numerarului din contul propriu. în volume mari şi de tipuri variate. imagini vectoriale. after. iar aplicaţiile multimedia interactive sunt obţinute pe baza scenariilor bazate pe aplicaţii şi evenimente sistem. ce reprezintă obiectele multimedia sub forma unei ierarhii de clase orientate obiect. În ceea ce priveşte structura relaţională. În cazul structurii funcţionale sau tehnologice a bazelor de date multimedia. poziţie. la scurtarea timpului de regăsire a datelor multimedia şi la apropierea acestuia de cel al aplicaţiilor în timp real (run-time). SGBD multimedia sunt caracterizate de următoarele particularităţi: datele multimedia sunt complexe. la mecanismele de acces concurent la baza de date. interacţiunea dintre utilizator şi date. a datelor multimedia ce sunt. obiectele multimedia sunt mari. animaţie. set. metodele de regăsire a datelor multimedia se utilizează în funcţie de tipul datelor şi modul de interacţiune a utilizatorului cu baza de date multimedia. before). datele multimedia provenite din surse diferite. Se pot da ca exemple de SGBD multimedia : • SGBD multimedia orientat obiect. achiziţie. BLOB (Binary Large Objects).desene animate. În aplicaţiile cu baze de date multimedia. cu cuvinte-cheie asociate. structura relaţională. imagini raster. Imaginile sunt interpretate ca tranziţie de stări pe baza nivelelor de recunoaştere a stărilor obiectelor dintr-o imagine anume (scenă). integrate cu datele de tipuri clasice. Sistemele de gestiune a bazelor de date multimedia se fundamentează pe abordarea incrementală ce are la bază modele intermediare de date asociate datelor grafice. Bazele de date multimedia sunt astfel organizate după modelul orientat pe obiecte. în realitate. ulterior. STORM (Structural and Temporal Object Oriented Multimedia) ce integrează operatori structurali (tuple. date formatate) sunt corelate static în conformitate cu modelul orientat pe obiecte. accesul la date reprezintă. pe mai multe niveluri: structura funcţională sau tehnologică. video. stocare. În cazul structurii de interogare sau dinamică. la nivel de obiect şi la nivel de mediu de comunicare. compresie. sunt evidenţiate funcţiile de generare. Când tranziţia încetează se obţine momentul de definire şi stocare a unui model abstract al imaginii. MOAP (Multimedia Object and Application Model). efecte speciale). manipulare etc. Există limbaje de descriere a imaginilor video de tipul scenelor prin care fiecărui segment grafic din compunerea unei scene i se asociază atribute (culoare. • Modelul orientat obiect. În sfârşit. structura de prezentare sau de sistem se referă la independenţa bazei de date faţă de platforma de lucru a utilizatorului. la modul de obţinere a interfeţelor grafice destinate utilizatorului. texte ASCII.

13. este un instrument de realizat cărţi multimedia.13. Revenind la una dintre ideile de bază prezentate mai sus. serii de numere sau înregistrări din fişiere) sau pentru instrucţiuni. ce aparţine firmei Asymetrix. include elemente din SGBD relaţional (RDBMS) şi din SGBD orientat pe obiecte (OODBMS). a formularelor de înregistrare a plăţii impozitelor şi taxelor. • pentru cuadrantul 3 – aplicaţiile de proiectare asistată de calculator. OORDBMS (Object-Oriented Relational DataBases Management System). în activitatea de documentare (documente hipertext) etc. iar a semnalului audio 10:1. SGBD-ul asociat bazelor de date relaţionale orientate obiect. respectiv 2000:1 pentru semnal video. Se reaminteşte aici că pointerii sunt variabile ce conţin adrese pentru itemi de date (itemii de date pot fi cuvinte.SGBD multimedia realizează stocarea şi transmiterea pe canalele de comunicaţii a datelor multimedia sub formă comprimată. e-government (descrierea formularelor de contabilitate. tabelele nu pot fi egalate cu clasele. în activitatea de instruire şi educaţie (tutori inteligenţi.mall electronic – utilizează în mod obligatoriu baze de date multimedia cu imaginile produselor ce se oferă spre vânzare). Conceptul de domeniu din teoria bazelor de date relaţionale este echivalent cu conceptul de clasă de obiecte din teoria bazelor de date orientate pe obiecte. în administraţia electronică. a documentelor specifice obţinerii permisului auto. Datele multimedia sunt afişate şi transmise sub formă de fluxuri (stream-uri) continue în timp. s-au obţinut baze de date relaţionale orientate obiect. Multimedia Toolbox. Compresia datelor multimedia se execută după standarde ca JPEG (Joint Photographic Expert Group) – rata de compresie 15:1. • pentru cuadrantul 2 – aplicaţiile economice (din domeniul afacerilor). CAD (Computer Aided Design). Se consideră însă erori ca să se echivaleze variabila de relaţie din lumea relaţională cu clasa de obiecte din lumea obiectelor şi să se amestece relaţiile cu pointerii prin care se afectează integritatea conceptuală a modelului relaţional. sub sistemul de operare Microsoft Windows. enciclopedii multimedia educaţionale). De exemplu. Bazele de date multimedia se folosesc cu precădere în descrierea şi prezentarea produselor (un magazin virtual pe Internet . Stonebraker a realizat o matrice de clasificare a SGBD (fig. pe cale de consecinţă.1) care ajută la o mai bună înţelegere a interacţiunilor dintre cele două modele pentru baze de date (relaţional şi orientat pe obiecte). Există tehnici de compresie avansate care realizează comprimarea datelor multimedia cu rate de compresie situate între 10:1 şi 50:1 pentru imagini. orientat pe programare vizuală.4 Bazele de date relaţionale orientate obiect Prin extinderea facilităţilor oferite de bazele de date relaţionale cu includerea structurilor de date complexe de natura obiectelor. Limbajul de programare de tip script încorporat în Multimedia Toolbox se numeşte OpenScript şi serveşte pentru descrierea scenariului aplicaţiei. MPEG (Moving Pictures Expert Group) – rata de compresie a imaginilor în mişcare 200:1. Exemplele tipice asociate celor patru cuadranţi (sferturi) ai matricei Stonebraker sunt: • pentru cuadrantul 1 – procesorul de texte clasic. Crearea bazelor de date multimedia se realizează cu soft specializat (cu funcţii de stocare şi de consultare). .

ca exemplu. interogarea imediată efectuată asupra bazei de date. Aplicaţii pentru date complexe fără cerinţe de interogări ad-hoc INTEROGARE PREZENTĂ INTEROGARE ABSENTĂ DATE COMPLEXE Fig. Aplicaţii pentru date complexe cu cerinţe de interogări ad-hoc 3. precum şi posibilitatea definirii propriilor metode pentru obiectele folosite din partea utilizatorului final. Bazele de date relaţionale orientate obiect asigură utilizarea la interogare a metodelor obiectelor diverse şi a unor noi operatori pentru obiecte. dintre care se menţionează: • cerinţa de interogare ad-hoc. • existenţa regulilor pentru chei externe sau străine etc. • definirea dinamică a claselor pentru rezultatele interogărilor ad-hoc. Crearea unor funcţii la nivel de înregistrare. • posibilitatea accesului dual – interactiv şi programat – la baza de date.1 Matricea de clasificare a SGBD (matricea lui Stonebraker) Interogarea ad-hoc a unei baze de date semnifică. Este necesară prelucrarea imaginilor produselor electronice (ca obiecte) pentru a obţine răspunsul la problema ridicată. 2. • metode ce includ mai multe clase. Dacă se ia. se pune problema determinării acelor produse electronice care satisfac o anumită caracteristică de design (aspect exterior). Aplicaţii pentru date simple cu cerinţe de interogări ad-hoc 1. Aplicaţii pentru date simple fără cerinţe de interogări ad-hoc DATE SIMPLE 4. demonstrează că un sistem obiect-relaţional prezintă mai multe caracteristici. cu definirea vederilor (view-urilor) şi constrângeri de integritate declarative.J. o bază de date ce conţine produsele unei firme de aparatură electronică şi se adaugă la această bază de date imagini cu produsele respective. Caracteristicile dorite la selecţie se descriu printr-o metodă ataşată obiectului. Se pot crea tabele prin intermediul caracteristicii de moştenire (inheritance) specifică obiectelor. Date C.13. în acest caz.• pentru cuadrantul 4 – aplicaţiile cu baze de date multimedia. conducând la ideea de bază de date relaţională orientată obiect. la nivel de tabel şi chiar la nivel de bază de date sunt căi de soluţionare a problemelor practice care depăşesc cadrul bazelor de date relaţionale. .

a fost implementat modelul obiecturalrelaţional de date.În cazul ultimelor versiuni ale SGBD Oracle. .