Professional Documents
Culture Documents
Codul cursului:
Denumirea cursului: Baze de date
Tip curs: obligatoriu
Durata cursului / Nr. credite: un semestru / 5
Perioada de accesare a cursului: prelegeri 1 nov. 2009- iunie 2010
seminar
consultaŃii
Manual recomandat:
1. Gherasim, Z., Programare şi baze de date, Editura FundaŃiei România de Mâine,
Bucureşti, 2005.
2. Fusaru, D.; Gherasim, Z.; Andronie, M.; Bâra, A.; Stroe, P. – AplicaŃii economice în
Visual Basic şi Access, Editura FundaŃiei România de Mâine, Bucureşti, 2003.
Obiectivul principal al cursului: Obiectivele disciplinei Baze de date, se
concretizează în cunoaşterea şi aprofundarea noŃiunilor de bază referitoare la
sistemele informatice, la noŃiunile de structuri de date, de relaŃii între date, la teoria
bazelor de date relaŃionale, distribuite, la protecŃia şi securitatea bazelor de date
distribuite, baze de date în tehnologii avansate, precum şi utilizarea lor în
administraŃia publică. Problematica teoretică şi aplicaŃiile practice sunt sistematizate
în aşa fel încât să asigure însuşirea raŃională şi formarea gândirii informatice a
masterandului.
Modul de stabilire a notei finale: nota este cea care rezultă din evaluarea prin
teste grilă.
ConsultaŃii pentru studenŃi: în fiecare vineri de la ora 12 - 14 pe peioada
cursurilor.
Adresa e-mail responsabil pentru contactul cu studenŃii: dfusaru.mfc@spiruharet.ro
Titularul / titularii cursului / serie: Prof. Univ dr. Fusaru Doina
dfusaru.mfc@spiruharet.ro
Str. Splaiul IndependenŃei nr. 313, 3169785/110
ConsultaŃii: în fiecare vineri de la ora 16-
17 pe peioada cursurilor.
ConŃinutul tematic al cursului:
1. Capitolul I.
1.1. NoŃiuni fundamentale utilizate în organizarea datelor
1.2. RelaŃii între date.
1.3. Structuri de date
Capitolul II.
2. Teoria bazelor de date şi a sistemelor de gestiune a bazelor de date
2.1. Organizarea datelor în baze de date. Sisteme de gestiune a bazelor de date.
Capitolul III.
3.1 GeneraŃii de baze de date şi de sisteme de gestiune a bazelor de date
asociate
Capitolul IV.
4.1 Baze de date relaŃionale.
Capitolul V.
5.1 Baze de date orientate obiect
Capitolul VI.
6. Elemente fundamentale ale serverelor de baze de date.
6.1 Arhitectura Client/Server
Capitolul VII.
7.1. Serverul de baze de date Microsoft SQL Server
Capitolul VIII.
8. BAZE DE DATE DISTRIBUITE
8.1 Despre necesitatea bazelor de date distribuite în aplicaŃiile economice
Capitolul IX.
9.1. Fragmentarea datelor în bazele de date distribuite
Capitolul X.
10.1. ProtecŃia bazelor de date distribuite
Capitolul XI.
11. Baze de date online
11.1 Problematica generală
11.2 Pagini Web statice şi dinamice
Capitolul XII.
12. Visual Basic.NET şi bazele de date distribuite
Capitolul XIII.
13.1. BAZE DE DATE ÎN TEHNOLOGII AVANSATE
13.2 Bazele de date multidimensionale
13.3 Bazele de date multimedia
13.4. Bazele de date relaŃionale orientate obiect
Bibliografie minimală obligatore:
1. Fusaru, D.; Mareş, M.D; Mihai, G. – Visual Basic şi Access, Editura FundaŃiei
România de Mâine, Bucureşti, 2001.
2. Fusaru, D. – Arhitectura bazelor de date. Mediul SQL, Editura FundaŃiei
România de Mâine, Bucureşti, 2002.
3. Fusaru, D.; Gherasim, Z.; Andronie, M.; Bâra, A.; Stroe, P. – AplicaŃii economice
în Visual Basic şi Access, Editura FundaŃiei România de Mâine, Bucureşti, 2003.
4. Gherasim, Z., Programare şi baze de date, Editura FundaŃiei România de Mâine,
Bucureşti, 2005.
Bibliografie facultativă:
1. Lungu, I.; Bodea, C.; Bădescu, C.; IoniŃă, C. – Baze de date: organizare,
proiectare şi implementare, Editura ALL, Bucureşti, 1995.
2. Mihalca, R.; Fabian, C.; UŃă, A.; Simion, F. – Analiză şi proiectare orientată
obiect. Instrumente de tip Case, Editura Societatea Autonomă de Informatică,
Bucureşti, 1998.
3. Militaru, G. – Sisteme informatice pentru management, Editura Bic All,
Bucureşti, 2004.
Prezentarea lecŃiei / capitolul 1:
1.1 NoŃiuni fundamentale utilizate în organizarea datelor
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.
**********
BAZA
UNIVERS COLECłII DE
REAL CARACTE- DE DATE DATE
RISTICI
SGBD
de HEMA
date UT PROGRAMATOR
DE APLICAłIE
ILITARE
Fig.2.2 Arhitectura unui sistem bază de date
SCHEMA
EXTERNĂ 1
SCHEMA
EXTERNĂ n
ROXXAAAAXXXXXXXXXXXXXX
XX
Exemplu
RO96RXBR00000004312679
Formatul de câmp pentru CONT LA BANCA
Rel3
R
Rel2
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. Diferitele chei posibile se numesc chei-
candidat. Cheia candidat aleasă pentru a identifica efectiv tupluri se numeşte cheie
primară.
Conceptele folosite pentru descrierea formală, uzuală şi fizică a elementelor de
bază ale organizării datelor în baze de date relaŃionale sunt prezentate în tabelul 4.2
[44].
Tabelul 4.2
Formal Uzual Fizic
RelaŃie tablou Fişier
Tuplu linie Inregistrare
Atribut coloană Câmp
Domeniu tip de dată tip de dată
Tipuri şi clase
Obiectele care prezintă acelaşi fel de atribute şi acelaşi comportament fac parte
din acelaşi tip sau clasă. În raport cu această caracteristică există două categorii de
sisteme orientate pe obiecte :
a) sisteme care admit ca noŃiune de bază clasa, cum ar fi: VISION, ORION, G-
BASSE;
b) sisteme care admit ca noŃiune de bază tipul, cum sunt: C++, Simula, O2.
Într-un sistem orientat pe obiecte, tipul sintetizează elementele comune ale
unui set de obiecte cu aceleaşi caracteristici. Acest sistem are ca şi componente,
interfaŃa şi implementarea. InterfaŃa este partea vizibilă pentru utilizator şi constă
într-o listă de operaŃii. Implementarea presupune descrierea structurii interne a datelor
obiectului şi realizarea procedurilor de implementare a operaŃiilor interfeŃei.
Un tip este construit recursiv, începând cu tipurile de bază: caracter, întreg,
real, şir de caractere, boolean. Constructorii de tipuri sunt: tuplul, lista, setul şi clasa.
O listă este o colecŃie ordonată de obiecte ale aceleiaşi clase sau de valori ale aceluiaşi
tip. Elementele unei liste sunt accesibile direct prin rangul lor.
OperaŃiile permise asupra listelor sunt: afectarea (=), comparaŃia (= =),
concatenarea (+), accesul direct ([i]), apartenenŃa (in), sublista ([i ; j]), numărarea
(count ( ) ), înlocuirea, ştergerea (list ( ) ), inserarea ([:i]+=), iteraŃia ( { }).
NoŃiunea de clasă, deşi are aceeaşi specificaŃie cu cea de tip, este asociată cu
faza de execuŃie. Ea presupune generarea de obiecte prin operaŃia „new” aplicată unei
clase şi stocarea setului de obiecte care reprezintă instanŃele clasei. Descrierea clasei
serveşte ca şablon pentru crearea obiectele noi.
O clasă este un tip abstract de date care defineşte atât structura obiectelor din
clasa respectivă, cât şi mulŃimea metodelor existente pentru aceste obiecte. Astfel,
obiectele din aceeaşi clasă prezintă aceleaşi atribute şi aceleaşi metode şi răspund la
acelaşi mesaj.
Moştenirea
Într-o bază de date orientată pe obiecte, clasele sunt aranjate într-o ierarhie în
care fiecare clasă moşteneşte toate atributele şi metodele superclasei din care face
parte. Moştenirea conduce la reutilizarea codului. Moştenirea reprezintă mecanismul
de realizare a definirii unei clase în care derivă variabilele de instanŃă şi metodele din
altă definire de clasă. Când o clasă moşteneşte, ea este considerată ca subclasă.
Conceptele de subclasă şi superclasă sunt analoge conceptelor de generalizare şi
specializare.
Obiectele, 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;
• fiecare obiect are asociat un identificator care este unic şi asigurat de sistem;
• clasele descriu tipuri generice de obiecte, toate obiectele sunt membrii unei clase;
• clasele sunt înrudite prin moştenire;
• definirea unei clase este mecanismul de specificare a schemei bazei de date;
• definirea unei clase poate include variabile de instanŃă, având tipuri de date definite
de sistem sau de utilizator;
• schema bazei de date poate fi extinsă dinamic prin definirea de noi clase.
Când s-a prezentat clasificarea bazelor de date, s-a arătat că din punctul de
vedere al modului de localizare al datelor, bazele de date pot fi locale sau distribuite.
În capitolul anterior, au fost numeroase situaŃiile în care s-au făcut referiri la categoria
de baze de date distribuite, dându-se explicaŃii succinte referitoare la noŃiunile şi
elementele implicate. În consecinŃă, este necesară o aprofundare a acestor concepte
într-un capitol separat.
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. În cazul utilizatorilor conectaŃi intermitent şi aleator la baza
de date centrală şi de la distanŃă (de exemplu, prin intermediul Internetului), a fost
necesară dezvoltarea unei filozofii de lucru şi a unor arhitecturi adecvate care să
răspundă unor cerinŃe multiple.
Arhitecturile client/server prezentate în capitolul anterior pot fi percepute ca
un caz particular al sistemelor distribuite.
Bazele de date distribuite apar ca o consecinŃă firească a faptului că organizaŃiile
economice performante sunt distribuite logic în departamente, secŃii, birouri, grupuri
de lucru şi distribuite geografic în locaŃii diferite ce reprezintă filiale ale acestei
organizaŃii.
Abordarea bazelor de date distribuite, ca elemente fundamentale ale
sistemelor informatice integrate unei organizaŃii economice, trebuie să aibă în vedere
cele trei tendinŃe importante care redefinesc rolul acestora în aplicaŃiile economice:
1. Internetul şi alte reŃele de calculatoare şi de comunicaŃii pe arie largă, WAN
(Wide Area Network) conectează în timp real participanŃii cheie: vânzători,
producători, distribuitori şi clienŃi.
2. Globalizarea pieŃii, a mediului de afaceri, necesită stocarea şi procesarea
unor cantităŃi mari de date (baze de date mari), distribuite în toate locaŃiile geografice
implicate într-o anumită activitate sau proces economic.
3. 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, cu ciclul de viaŃă din ce în ce mai
scurt.
9.2. Concepte fundamentale
Aşa cum s-a arătat, 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.
Sistemul de fişiere este format din fişiere, directoare şi informaŃiile necesare
pentru localizarea şi accesul la ele. Fiecare fişier conŃine un grup de date, complet
denumit, cum este un program, o mulŃime de date folosită de un program sau un
document generat de utilizator (fig.8.1). În exploatarea multiutilizator a sistemelor de
calcul, datorită dezavantajelor legate de accesul mai dificil la date, redundanŃa ridicată
a datelor, izolarea datelor, descrierea independentă a datelor, dependenŃa programelor
faŃă de date, se preferă bazele de date şi sistemele de gestiune a bazelor de date
(SGBD sau DBMS, DataBase Management System). 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). Gestiunea bazelor de date presupune utilizarea ca interfaŃă între
programele de aplicaŃie şi bazele de date a unui sistem de gestiune a bazei de date
(fig.8.2).
PROGRAM 1
FIŞIER
DESCRIERE
DATE 1
PROGRAM 2
FIŞIER
DESCRIERE
DATE 2
PROGRAM 3 F
FIŞIER
DESCRIERE
SISTEM DE
GESTIUNE A BAZEI
DE DATE (SGBD)
BAZA DE PROGRAM DE
DATE APLICAłIE 2
PROGRAM DE
APLICAłIE 3
REłEA DE TEHNOLOGIE A
CALCULATOARE BAZEI DE DATE
distribuire integrare
SISTEM BAZE DE
DATE DISTRIBUITE
(DDBS)
integrare
Fig.8.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. Într-un cadru mai larg,
DDBS este inclus în conceptul de calcul distribuit ce desemnează un număr de
elemente de procesare autonome, nu în mod necesar omogene, care sunt
interconectate într-o reŃea de calculatoare şi de comunicaŃii şi care cooperează în
scopul realizării sarcinilor (task-uri) atribuite. Pentru calcul distribuit, există mai
mulŃi termeni sinonimi cum sunt: prelucrarea datelor distribuite, multiprocesare,
procesare back-end, sisteme în time-sharing, sisteme modulare funcŃional etc. În
DDBS sunt distribuite logica prelucrării, datele, funcŃiile şi controlul. Ca urmare, un
sistem baze de date distribuite, DDBS, se poate defini ca o colecŃie de baze de date
multiple, logic interlegate, distribuite în întreaga reŃea de calculatoare şi de
comunicaŃii. Este important de reŃinut că un DDBS nu este un sistem în time-sharing
şi nici un sistem multiprocesor puternic sau slab cuplat. O bază de date centralizată,
CDB (Centralized DataBase) este o bază de date ce este localizată într-unul din
nodurile reŃelei de calculatoare. Un sistem de gestiune a bazelor de date (SGBD)
centralizat într-o reŃea de calculatoare reprezintă sistemul distribuit în care utilizatorii,
prin intermediul reŃelei de comunicaŃii asociate, accesează DDB (fig 8.4).
Un mediu specific unui sistem de gestiune a bazelor de date (SGBD)
distribuite, DDBMS, 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.8.5). Aşa cum se observă din configuraŃia DDBMS, datele sunt memorate
într-un număr de locaŃii (site-uri) ale reŃelei de calculatoare, iar fiecare site conŃine,
logic, un singur procesor. DDB pot fi astfel utilizate în orice organizaŃie care are o
structură organizatorică descentralizată, inclusiv în compunerea sistemelor
informatice pentru management, MIS (Management Information Systems) şi a
sistemelor informatice pentru asistarea deciziei, DSS (Decision Support Systems).
SITE 2
SITE 3
SITE 1
REłEA DE
COMUNICAłII
SITE 4
SITE 6
SITE 5
SITE 3
SITE 1
REłEA DE
COMUNICAłII
SITE 4
SITE 6
SITE 5
FIABIL
ITATE
PRELUCRAREA
INTEROGĂRILOR
Fig.8.6 RelaŃiile existente între diferitele componente ale mediului DDBMS
Aşa cum s-a arătat mai sus, o bază de date distribuită, DDB (Distributed
Data-Base) reprezintă o bază de date ce este logic integrată (utilizatorii percep o
singură bază de date), dar fizic distribuită pe mai multe calculatoare distincte,
interconectate între ele. Utilizatorii interacŃionează cu o DDB în acelaşi mod în care
interacŃionează cu o bază de date centralizată. O DDB este compusă din mai multe
baze de date locale (LDB) care sunt memorate în nodurile unei reŃele de calculatoare
(uneori, şi dintr-o bază de date centrală, CDB). 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.
DDB reprezintă o bază de date globală şi este concepută după o singură
schemă conceptuală gobală, cunoscută şi accesată de utilizatorul global. Utilizatorul
local are acces şi exploatează una sau mai multe baze de date locale, în limitele
permisiunii acordate de softul de gestiune în reŃea la dispoziŃie.
Date C.J. a identificat douăsprezece obiective pentru DDB:
• autonomia locală a site-urilor componente ale unui sistem distribuit (în cea mai
mare măsură); fiecare site component poate opera, de regulă, cu datele din bazele de
date locale (LDB) fără a depinde de alt site;
• absenŃa unei dependenŃe de un site central;
• funcŃionarea continuă datorită fiabilităŃii şi disponibilităŃii crescute a sistemelor
distribuite la apariŃia întreruperilor aleatoare;
• 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;
• independenŃa de fragmentarea datelor, ceea ce înseamnă că fragmentarea datelor
în DDB (prezentată în paragraful următor) nu afectează percepŃia utilizatorului final,
din punct de vedere logic, de nefragmentare a datelor;
• independenŃa de replicarea (reproducerea) datelor, adică replicarea datelor nu
afectează percepŃia utilizatorului final care, logic, se comportă ca şi cum datele nu ar
fi fost replicate;
• procesarea distribuită a interogărilor;
• gestionarea distribuită a tranzacŃiilor, prin care, tranzacŃiile, compuse din mai
mulŃi agenŃi (agenŃii reprezintă procese terminate sub denumirea de tranzacŃii pe
anumite site-uri), sunt refăcute cu ajutorul protocolului de finalizare în două faze
(finalizare/derulare înapoi), iar controlul concurenŃei se obŃine prin regula de blocare;
• independenŃa de hardware);
• independenŃa de sistemul de operare;
• independenŃa de reŃeaua de calculatoare şi de comunicaŃii;
• independenŃa de DDMBS;
Un DBMS pentru DDB, adică un DDBMS, 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);
c) creşterea durabilităŃii şi disponibilităŃii sistemului (sistem open, adică deschis să
primească oricând noi structuri de baze de date în schema conceptuală globală,
precum şi noi restructurări ale bazelor de date locale);
d) asigurarea proiectării structurii organizatorice şi funcŃionale a sistemului
informaŃional conformă cu structura organizaŃiei deservite de sistem;
e) sporirea gradului de utilizare a sistemului informaŃional (mărirea numărului de
utilizatori efectivi).
Î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, implică investiŃii mari, 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ă. Ca urmare, decizia de implementare a unui anumit DDBMS implică înainte
de toate alegerea unui furnizor de marcă. Cei şase mari producători de DDBMS -
Oracle, Sybase, Informix, Microsoft, IBM şi Computer Associates – monopolizează
peste 90% din piaŃa mondială a domeniului.
CL_BUC CL_CTA
N1 C1 1200000 N2 C2 800000
N4 C3 2450000 N3 C2 1050000
N5 C4 4200000
N6 C1 2500000
CL
N1 C1 1200000
N2 C2 800000
N3 C2 1050000
N4 C3 2450000
N5 C4 4200000
N6 C1 2500000
Bazele de date online reprezintă un tip special de baze de date distribuite care
este folosit într-un mediu de tipul Internet, Extranet sau Intranet. Din punctul de
vedere al utilizatorului final din organizaŃia economică, este mai puŃin important unde
este localizată baza de date (pe Intranet-ul organizaŃional, pe Extranet sau pe Internet),
ci dacă îi satisface cerinŃele imediate, sub aspect cantitativ şi calitativ, de informare
sau pentru asistarea deciziei.
ReŃeaua Intranet este o reŃea locală de calculatoare şi de comunicaŃii pentru
organizaŃii mari care asigură, prin tehnologia Web, cerinŃele de informare şi
documentare ale angajaŃilor săi, iar prin extensie, prin cont şi parolă de accces
(reŃeaua Extranet), şi ale utilizatorilor externi agreaŃi de organizaŃie (clienŃi, furnizori,
colaboratori externi etc.). ReŃeaua Intranet poate să existe complet separat de reŃeaua
Internet.
Arhitectura Intranet este prezentată, după BDASEIG , în fig.11.1.
Serverul Web, denumit şi server HTTP, este un server software care foloseşte
protocolul de transfer al hipertextelor, HTTP (HyperText Transfer Protocol) pentru a
furniza documente HTML şi scripturi asociate la cererea utilizatorilor finali. Prin
intermediul unor interfeŃe standard de tipul API (Application Programming Interface)
sau CGI (Common Gateway Interface), 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. 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. În
aplicaŃiile Web, scripturile sunt utilizate pentru obŃinerea interactivităŃii şi
personalizării paginilor Web.
În cadrul acestei reŃele Intranet, serviciile furnizate sunt de acces la
bazele de date (de unde se obŃin date sub formă de informaŃii şi cunoştinŃe), de
comunicaŃii şi partajarea resurselor informatice, pentru accesarea şi dezvoltarea
aplicaŃiilor, de administrare, securitate şi transport etc. Aceste servicii sunt împărŃite
pe opt niveluri (Forrester Research). Între acestea se regăsesc o serie de servicii
informaŃionale specializate ca pagini Web, transfer de fişiere realizabil prin
intermediul protocolului FTP, (File Transfer Protocol), groupware, ştiri (News),
circulaŃia documentelor, videoconferinŃe şi audioconferinŃe, forumuri electronice.
GROUPWARE,
MESAGERIE NEWS
PROGRAME SMTP/POP
API
INTERFEłE (BROWSER
STANDARD WEB) TCP/I
P
FTP
DIRECTOARE CLIENT
CU FIŞIERE JAVA MAIL
Paginile Web sunt documente Web, cu legături la alte documente Web, ce sunt
formate din fişiere HTML, fişiere asociate pentru grafică şi scripturi, stocate într-un
director personalizat pe un server Web, ce se identifică printr-o adresă de resursă tip
Internet, URL (Uniform Resource Locator). Paginile Web interactive conŃin şi applet-
uri Java (programe ce se execută într-o aplicaŃie cu browser, adică program de
navigare în reŃelele de tipul Intranet, Extranet şi Internet). Mai multe documente Web,
intercorelate între ele, formează un site Web. Un server Web poate stoca mai multe
site-uri Web (pentru persoane fizice şi firme mici), după cum mai multe servere Web
pot găzdui acelaşi site Web (organizaŃiile mari).
Transferul de fişiere se efectuează în directoare de fişiere, cataloage sau
dosare (folders).
Groupware asigură unui grup de utilizatori din reŃeaua Intranet să colaboreze
la realizarea unui proiect.
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,
B2C) pe Intranet, Extranet, respectiv Internet. În afara protocolului HTTP, reamintit
mai sus şi apreciat ca destul de nesigur, sunt utilizate alte protocoale standard ca
XML şi SOAP. Protocolul XML (extensible Markup Language) este o formă
condensată a limbajului standard generalizat de marcare, SGML (Standard
Generalized Markup Language), iar protocolul de acces la obiecte simple, SOAP
(Simple Object Access Protocol) permite schimbul de date structurate sub formă de
obiecte. Limbajul de descriere a serviciilor Web, WSDL (Web Service Description
Language) este un format XML creat pentru a asigura interoperabilitatea sporită a
serviciilor Web cu instrumentele de dezvoltare.
Mesageria, ca activitate de livrare a mesajelor (e-mail, fax), se realizează prin
intermediul protocolului TCP/IP de transfer a mesajelor simple în reŃea, SMTP
(Simple Mail Transfer Protocol), protocolului pentru serverele de e-mail (oficiile
poştale electronice), POP3 (Post Office Protocol) şi a protocolului de acces interactiv
la poşta electronică, IMAP (Interactive Mail Access Protocol). Serverele proxy sau
intermediare realizează selecŃia mesajelor, reducând astfel traficul prin reŃea. Prin
extensia poştei electronice s-a obŃinut circulaŃia documentelor (workflow) în Intranet.
VideoconferinŃele şi audioconferinŃele asigură interactivitatea utilizatorilor
pasivi, prin legături punct la punct sau multipunct, cu soft specializat (de exemplu,
CU-SeeMe).
Bazele de date online din Intranet sunt consultate prin intermediul
navigatoarelor (browser-elor). 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.
Accesarea bazelor de date online este facilitată de realizarea paginilor Web
dinamice.
XML
Fig.12.1 PărŃile componente ale arhitecturii generale de acces la date distribuite
ADO.NET
1
programarea logică şi care reprezintă relaŃiile din expresiile cu fapte. Baza Herbrand
cuprinde ansamblul faptelor posibile despre baza de date şi se constituie într-un sistem
închis.
Bazele de date deductive utilizează, în principal, logica propoziŃiilor de ordinul I,
adică acel limbaj formal ce conŃine un alfabet, reguli de sintaxă, axiome şi o regulă de
deducŃie de tipul când (when)...dacă (if)... atunci (then) ... 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).
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). 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ă, permanentă).
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, limbaj de manipulare a datelor şi limbaj de reguli. Pe baza limbajului
Prolog şi a unei interfeŃe specializate în lucrul cu baze de date, s-a realizat limbajul
Datalog. Limbajul Datalog este un limbaj declarativ orientat pe programarea logică
acceptat la limbaj standard destinat bazelor de date deductive. Un program realizat în
limbajul Datalog este o secvenŃă cu definiŃii de proprietăŃi. Sintaxa limbajului nu conŃine
predicate speciale şi utilizează logica propoziŃiilor de ordinul I, fără simboluri de funcŃie.
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.
2
intrări/ieşiri asociat fiecărei tranzacŃii, prezenŃă sporadică şi slabă a elementelor de
analiză.
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, prin
prelucrare analitică online (analiză simplă) – OLAP (OnLine Analytical Processing) sau
prin tehnologia de rafinare inteligentă (avansată) a datelor – Data Mining.
În tabelul 13.1 este prezentată, o comparaŃie între bazele de date operaŃionale şi
bazele de date multidimensionale.
Depozite de date
La nivelul de management de exploatare, datele sunt stocate în baze de date şi
sunt gestionate cu SGBD-uri, prin prelucrarea tranzacŃiilor online, OLTP. Extragerea
datelor relevante şi obŃinerea informaŃiilor consolidate ale organizaŃiei, necesare
nivelurilor superioare de management (de nivel mediu şi strategic) se efectuează prin
prelucrarea analitică online, OLAP. Se obŃin, 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. 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ă. Depozitele de date sunt organizate
separat de bazele de date operaŃionale ale organizaŃiei. Aceste baze de date operaŃionale
asigură datele pentru depozite de date, după ce sunt mai întâi extrase, curăŃate,
3
transformate şi stocate. Depozitele de date servesc pentru implementarea fizică a unor
modele de date pentru asistarea deciziilor de importanŃă strategică pentru organizaŃie.
Caracteristicile fundamentale ale depozitelor de date sunt : orientarea pe subiecte,
integrarea, caracterul istoric şi persistenŃa datelor. Orientarea pe subiecte semnifică
faptul că un depozit de date este focalizat pe modelarea şi analiza datelor pentru asistarea
deciziilor. Integrarea presupune utilizarea, pentru construirea unui depozit de date, a mai
multor surse de date heterogene (fişiere de date, baze de date relaŃionale, înregistrări
referitoare la tranzacŃiile online, surse de date externe organizaŃiei etc.). Caracterul
istoric al depozitelor de date este dat de durata de stocare şi folosire a datelor din
depozitele de date (de regulă, de la începutul stocării electronice a datelor din
organizaŃie). PersistenŃa datelor din depozitele de date se referă la caracterul permanent
de stocare, cu atributul de « citeşte-numai » (read-only).
Un sistem informatic de asistare a deciziei, DSS (Decision Support System) asistă
luarea deciziei de management prin combinarea 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.
Produsele informatice Microsoft SQL Server 7.0 sau 2000 conŃin instrumentul
destinat serviciilor de analiză a datelor din depozitele de date, Analysis Services, denumit
OLAP Services. În acest scop se utilizează conceptul de exploatare a datelor din
depozitele de date, Microsoft Repository, prin folosirea metadatelor (Microsoft MetaData
Services).
Datele provenite din operaŃiunile curente ale organizaŃiei (OLTP) sau din
sistemele moştenite sunt stocate în baze de date şi sunt manipulate, aşa cum s-a prezentat
în lucrarea de faŃă, cu ajutorul sistemelor de gestiune a bazelor de date (SGBD). Periodic,
aceste date sunt extrase şi asamblate în cadrul nivelurilor superioare de management ale
organizaŃiei economice sub forma depozitelor de date (Data Warehouse), servind astfel
pentru analiza şi extragerea informaŃiilor utile nivelurilor de management mediu şi
strategic. 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. Elementele
depozitelor de date sunt tabelele de fapte, dimensiunile şi nivelurile de centralizare.
Dimensiunile depozitelor de date sunt imense (zeci şi sute de TB, terabaiŃi). 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, produsele/serviciile oferite şi
vândute/realizate, costurile de producŃie, preŃurile practicate, detalii privind livrarea
acestor produse/asigurarea serviciilor către beneficiari, date despre furnizori, colaboratori
şi beneficiari/clienŃi, performanŃele personalului companiei etc. Tabelul de dimensiuni
depozitează date şi informaŃii pe baza conceptului de dimensiune (aceasta poate
reprezenta entităŃile de măsurare a timpului – ora, ziua, săptămâna, luna, trimestrul,
semestrul, anul, cincinalul, deceniul, secolul -, entităŃile geografice – (localitatea, statul,
regiunea, continentul -, entităŃile de producŃie - categorie, denumire, cod, tip, calitate,
cantitate vândută, preŃ unitar etc. 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, categorii de produse, zonă geografică, categorii de
clienŃi etc.
4
13.3 Bazele de date multimedia
5
animaŃie, imagini vectoriale, imagini raster, texte ASCII, date formatate) sunt corelate
static în conformitate cu modelul orientat pe obiecte. În cazul structurii de interogare sau
dinamică, 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 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 mecanismele de acces concurent la baza de date, la
modul de obŃinere a interfeŃelor grafice destinate utilizatorului, la scurtarea timpului de
regăsire a datelor multimedia şi la apropierea acestuia de cel al aplicaŃiilor în timp real
(run-time).
Sistemele de gestiune a bazelor de date multimedia se fundamentează pe
abordarea incrementală ce are la bază modele intermediare de date asociate datelor
grafice. Imaginile sunt interpretate ca tranziŃie de stări pe baza nivelelor de recunoaştere a
stărilor obiectelor dintr-o imagine anume (scenă). Când tranziŃia încetează se obŃine
momentul de definire şi stocare a unui model abstract al imaginii, cu cuvinte-cheie
asociate. 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, poziŃie,
direcŃie de deplasare, efecte speciale).
SGBD multimedia sunt caracterizate de următoarele particularităŃi: datele
multimedia sunt complexe, în volume mari şi de tipuri variate; obiectele multimedia sunt
mari, BLOB (Binary Large Objects); gestionarea datelor multimedia implică operaŃiuni
complexe de sincronizare şi de distribuire în timp şi spaŃiu a datelor multimedia de tipuri
diferite; suportul tehnic (adică gama de periferice ale sistemului informatic în a cărui
compunere intră bazele de date multimedia şi SGBD asociat) este diversificat.
Se pot da ca exemple de SGBD multimedia :
• SGBD multimedia orientat obiect, STORM (Structural and Temporal Object
Oriented Multimedia) ce integrează operatori structurali (tuple, set, list) cu relaŃii
temporale (equal, after, before);
• Modelul orientat obiect, MOAP (Multimedia Object and Application Model), ce
reprezintă obiectele multimedia sub forma unei ierarhii de clase orientate obiect, iar
aplicaŃiile multimedia interactive sunt obŃinute pe baza scenariilor bazate pe aplicaŃii şi
evenimente sistem, cu obiecte definite temporal şi spaŃial.
SGBD multimedia realizează stocarea şi transmiterea pe canalele de comunicaŃii a
datelor multimedia sub formă comprimată. Există tehnici de compresie avansate care
realizează comprimarea datelor multimedia cu rate de compresie situate între 10:1 şi 50:1
pentru imagini, respectiv 2000:1 pentru semnal video. Compresia datelor multimedia se
execută după standarde ca JPEG (Joint Photographic Expert Group) – rata de compresie
15:1, MPEG (Moving Pictures Expert Group) – rata de compresie a imaginilor în mişcare
200:1, iar a semnalului audio 10:1.
Crearea bazelor de date multimedia se realizează cu soft specializat (cu funcŃii de
stocare şi de consultare). De exemplu, Multimedia Toolbox, ce aparŃine firmei Asymetrix,
este un instrument de realizat cărŃi multimedia, orientat pe programare vizuală, sub
sistemul de operare Microsoft Windows. Limbajul de programare de tip script încorporat
în Multimedia Toolbox se numeşte OpenScript şi serveşte pentru descrierea scenariului
aplicaŃiei.
Datele multimedia sunt afişate şi transmise sub formă de fluxuri (stream-uri)
continue în timp.
6
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
administraŃia electronică, e-government (descrierea formularelor de contabilitate, a
formularelor de înregistrare a plăŃii impozitelor şi taxelor, a documentelor specifice
obŃinerii permisului auto, în activitatea de instruire şi educaŃie (tutori inteligenŃi,
enciclopedii multimedia educaŃionale), în activitatea de documentare (documente
hipertext) etc.
13.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, s-au obŃinut baze de date relaŃionale
orientate obiect. SGBD-ul asociat bazelor de date relaŃionale orientate obiect,
OORDBMS (Object-Oriented Relational DataBases Management System), include
elemente din SGBD relaŃional (RDBMS) şi din SGBD orientat pe obiecte (OODBMS).
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. 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. Se reaminteşte aici că pointerii sunt
variabile ce conŃin adrese pentru itemi de date (itemii de date pot fi cuvinte, serii de
numere sau înregistrări din fişiere) sau pentru instrucŃiuni. Revenind la una dintre ideile
de bază prezentate mai sus, pe cale de consecinŃă, tabelele nu pot fi egalate cu clasele.
Stonebraker a realizat o matrice de clasificare a SGBD (fig.13.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). Exemplele tipice asociate celor patru cuadranŃi
(sferturi) ai matricei Stonebraker sunt:
• pentru cuadrantul 1 – procesorul de texte clasic;
• pentru cuadrantul 2 – aplicaŃiile economice (din domeniul afacerilor);
• pentru cuadrantul 3 – aplicaŃiile de proiectare asistată de calculator, CAD (Computer
Aided Design);
• pentru cuadrantul 4 – aplicaŃiile cu baze de date multimedia.
7
Interogarea ad-hoc a unei baze de date semnifică, în acest caz, interogarea imediată
efectuată asupra bazei de date.
Dacă se ia, ca exemplu, 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,
se pune problema determinării acelor produse electronice care satisfac o anumită
caracteristică de design (aspect exterior). Este necesară prelucrarea imaginilor produselor
electronice (ca obiecte) pentru a obŃine răspunsul la problema ridicată. 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. Crearea unor funcŃii la nivel de înregistrare, 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, conducând la ideea de bază de date relaŃională
orientată obiect.
Bazele de date relaŃionale orientate obiect asigură utilizarea la interogare a
metodelor obiectelor diverse şi a unor noi operatori pentru obiecte, precum şi
posibilitatea definirii propriilor metode pentru obiectele folosite din partea utilizatorului
final.
Date C.J. demonstrează că un sistem obiect-relaŃional prezintă mai multe
caracteristici, dintre care se menŃionează:
• cerinŃa de interogare ad-hoc, cu definirea vederilor (view-urilor) şi constrângeri de
integritate declarative;
• definirea dinamică a claselor pentru rezultatele interogărilor ad-hoc;
• metode ce includ mai multe clase;
• posibilitatea accesului dual – interactiv şi programat – la baza de date;
• existenŃa regulilor pentru chei externe sau străine etc.
În cazul ultimelor versiuni ale SGBD Oracle, a fost implementat modelul obiectural-
relaŃional de date.
Lista subiectelor pentru pregătirea în vederea evaluării finale:
Întrebări:
1. Ce sunt bazele de date deductive?
2. Ce sunt bazele de date multidimensionale ?
3. Ce sunt depozite de date ?
4. Ce sunt bazele de date multimedia ?