Sunteți pe pagina 1din 149

Universitatea Agora

Facultatea de tiine Economice


Departamentul de tiine Sociale

Baze de date n economie


conf. univ. dr. Dan Bena
E-mail: dan.benta@univagora.ro, dan@danbenta.ro
Tel: 0748 840228

Agenda

Structur curs i prezentare;


Desfurare laboratoare i aplicaii practice;
Modalitatea de notare;
Bibliografie.

Dan Bena, Martie 2016

Baze de date n economie

Capitolul 1: Elemente introductive. Baze de date


relaionale (I).
Conceptul de baz de date;
Arhitectura unei baze de date;
Modele de organizare a datelor. Modelul relaional.

Dan Bena, Martie 2016

Conceptul de baz de date

Dezavantaje ale fiierelor care au dus la baze de


date:
redundana proprietatea unei informaii de a se repeta
nejustificat;
inconsistena apariia distorsionat a unor informaii
n diferite contexte;
validarea datelor nevalidarea uniform a datelor
poate duce la compromiterea ntregului sistem de fiiere;
disponibilitatea i securitatea datelor nu sunt
disponibile utilizatorilor (doar proprietarilor care le
stocheaz) iar lipsa controlului centralizat nu poate
asigura securitatea.
Dan Bena, Martie 2016

Conceptul de baz de date

Definiii ale bazelor de date. Sistem de fiiere:


Integrat baza de date poate fi gndit ca o
unificare a mai multor fiiere distincte de date,
unde fiecare utilizator are viziunea sa proprie
asupra datelor;
Partajat pri distincte din baza de date pot fi
folosite de ctre mai muli utilizatori;
Coerent se asigur caracterul neredundant i
coerent al datelor.
Dan Bena, Martie 2016

Conceptul de baz de date

Caracteristici ale bazelor de date:


acces mai muli utilizatori,
memorare i regsire asupra unui volum mare
de date,
mai puine operaii de prelucrare,
SGBD.
Dan Bena, Martie 2016

Conceptul de baz de date

Componente SGBD:
sistemul de gestiune a fiierelor i suporturilor la
nivel fizic,
sistemul de gestiune a fiierelor la nivel logic,
limbajul de manipulare a datelor,
limbajul de descriere a datelor,
limbajul de consultare sau interogare,
componente de interfa,
componente de serviciu etc. (unele componente
integrate formnd o singur component).
Dan Bena, Martie 2016

Conceptul de baz de date

Funcii ale unui SGBD:


descriere date permite descrierea structurii
datelor i a legturilor dintre entiti;
manipulare date permite crearea, consultarea
(interogarea) i actualizarea bazei de date;
utilizare permite comunicarea dintre utilizator
i baza de date prin intermediul unei interfee
ct mai simple i mai apropiate de utilizator.
Dan Bena, Martie 2016

Conceptul de baz de date

Diferene dintre baze de date i bnci de date


informaii directe vs. informaii refereniate

Ex. Interogare numr (pi)


Baza de date rezultat 3,14159 ...
Banc de date bibliografie de consultat

Dan Bena, Martie 2016

Arhitectura unei baze de date

Nivelele de abstractizare a datelor:


nivelul intern;
nivelul conceptual;
nivelul extern.

Dan Bena, Martie 2016

Arhitectura unei baze de date


Nivelul intern:
baza de date fizic;
definete baza de date ca fiind o colecie de fiiere,
coninnd datele din cadrul bazei de date + alte structuri
auxiliare de date i un set de programe care
interacioneaz cu sistemul de operare pentru
mbuntirea managementului bazei de date;
structura bazei de date se concretizeaz n schema
intern;
apare independena fa de cile de acces utilizatorul
nu trebuie s fie preocupat de organizarea i modul de
acces la date.
Dan Bena, Martie 2016

Arhitectura unei baze de date

Nivelul conceptual:
imediat superior celui fizic;
datele sunt privite prin prisma semanticii lor,
respectiv a coninutului i relaiilor cu alte date;
primul nivel de abstractizare a lumii reale;
descris n general de administratorul bazei de
date;
la acest nivel se specific entitile i relaiile
dintre acestea + constrngerile.
Dan Bena, Martie 2016

Arhitectura unei baze de date

Nivelul extern:
ultimul nivel de abstractizare la care se poate
descrie baza de date;
un utilizator sau un grup de utilizatori lucreaz
numai cu o poriune specific bazei de date.

Dan Bena, Martie 2016

Modele de organizare a datelor


un ansamblu de instrumente conceptuale, care permit
descrierea datelor, a relaiilor dintre ele, a semanticii lor,
ct i a restriciilor la care sunt supuse aceste date;
un intrument teoretic care ajut la identificarea
semnificaiei sau a coninutului unei colecii de date ct
i modul de utilizare a acestora prin intermediul
operaiilor permise;
modele bazate pe obiecte: entitate-asociaii, entitaterelaie, obiect-entitate-relaie;
modele orientate pe nregistrri: ierarhic, reea, relaional;
modele fizice.
Dan Bena, Martie 2016

Modele de organizare a datelor

Componente ale modelului de organizare a


datelor:
reguli de structurare a datelor,
reguli generatoare i
reguli de manipulare a datelor.

Dan Bena, Martie 2016

Modelul relaional

O baz de date relaional este definit ca fiind un


ansamblu de tabele sau relaii ntre care exist
anumite legturi, fiecare tabel fiind alctuit din
coloane, denumite atribute i din linii, denumite
tuple.

Dan Bena, Martie 2016

Modelul relaional
Concepte:
linia sau tuplul o succesiune de valori de diferite tipuri
i conine informaii referitoare la un obiect sau la o
entitate;
atributul sau caracteristica definete ansamblul
valorilor de acelai tip din cadrul unei coloane a
tabelului;
domeniul totalitatea valorilor acceptate sau autorizate
pentru un atribut;
nregistrarea logic ex. antet relaie, valoare introdus;
cardinalitatea relaiei numrul de linii sau tuple;
rangul relaiei;
cheia relaiei.
Dan Bena, Martie 2016

Baze de date n economie

Capitolul 2: Baze de date relaionale (II).


Tipuri de chei i definirea cheilor unei relaii;
Tipuri de legturi;
Definirea restriciilor.

Dan Bena, Martie 2016

Tipuri de chei i definirea cheilor unei relaii

Cheia candidat identificare unic, ireductibil,


valori specifice (nu sunt nule) poate fi compus
dintr-un singur atribut (elementar sau simpl) sau
din mai multe atribute (compus);
Cheia primar aleas din mulimea cheilor
candidat pentru a determina n mod unic un tuplu al
relaiei (cheile candidat care nu sunt alese = chei
alternative/alternante);
Cheia strin valoarea acesteia trebuie s se
regseasc n mulimea cheilor primare ale tabelei
principale;
Chei surogat chei de identificare artificiale;
Dan Bena, Martie 2016

Tipuri de legturi

Legtura/relaia ntre tabele: o asociere ntre mai


multe tipuri sau clase de entiti;
Tabela principal (printe);
Tabela secundar (copil);
Chei;
Legturi de tip 1-1;
Legturi de tip 1-n;
Legturi de tip m-n.
Dan Bena, Martie 2016

Tipuri de legturi

Legturi de tip 1-1 unei entiti din mulimea


sau clasa M1 i corespunde o singur entitate n
mulimea sau clasa M2 i invers;
Legturi de tip 1-n unei entiti din mulimea
sau tabelul M1 i corespund mai multe entiti n
mulimea sau tabelul M2, iar unei entiti din M2
n corespunde o singur entitate n M1;
Legturi de tip m-n unei entiti M1 i
corespund mai multe entiti n M2 i reciproc.
Dan Bena, Martie 2016

Definirea restriciilor
n tabela principal pentru:
operaia de adugare se va face fr niciun fel de
restricii din punct de vedere al condiiilor de integritate
referenial;
operaia de tergere prin tergerea unui tuplu din tabele
principal, pot rmne n tabela secundar tuple care fac
referire la tuplul ters:
tergerea restricionat nu se poate terge un tuplu din tabela
principal dac acesta are corespondent tuple n tabela
secundar deoarece tuplele din tabela secundar rmn orfane;
tergerea n cascad tergerea unui tuplu din tabela principal
va fi urmat de tergerea tuturor tuplelor din tabela secundar
care fac referire la tuplul ters.

operaia de modificare la fel ca operaia de tergere.


Dan Bena, Martie 2016

Definirea restriciilor

n tabela secundar pentru:


operaia de adugare se poate face numai dac
valorile cheii strine pentru articolele adugate se
regsesc printre valorile cheii primare din tabele
principal (n caz contrar operaia este interzis);
operaia de tergere se poate realiza fr nicio
restricie din punct de vedere al condiiilor de
integritate referenial;
operaia de modificare se poate realiza cu condiia
s nu apar nregistrri fr corespondent n tabela
principal.
Dan Bena, Martie 2016

Baze de date n economie

Capitolul 3: Forme normale i mecanismul


normalizrii bazelor de date (I).
Nevoia normalizrii;
Anomalii de actualizare;
Forma nenormalizat (0 NF).

Dan Bena, Martie 2016

Nevoia normalizrii
administratorul bazei de date stabilete structura bazei de date;
imporantan major structura are un rol determinant n toat
activitatea legat de baza de date;
n timpul proiectrii se au n vedere:
transformarea tabelelor n relaii;
nlturarea redundanelor;
nlturarea dependenelor interne ntre atributele unei relaii,
transformndu-le n dependene ntre tabele obinute prin
descompunere;
nlturarea diferitelor anomalii existente iniial sau aprute n urma
descompunerilor tabelelor;
asigurarea descompunerilor fr pierderi (recompunnd tabelele
obinute n urma descompunerilor unui tabel, trebuie s se ajung la
tabelul iniial).
Dan Bena, Martie 2016

Nevoia normalizrii

Definiie:
Normalizarea procesul iterativ prin care baza
de date se aduce la o form standard n care
dispare fenomenul de redundan, nu exist
anomalii i fiecare tabel conine o singur entitate
semantic (nu exist dependene ntre atribute).

Dan Bena, Martie 2016

Anomalii de actualizare

Anomalia de inserare anomalii generate cu


ocazia operaiunilor de adugare de noi
nregistrri n baza de date;
Anomalia de tergere procesele curente de
tergere din bazele de date;
Anomalia de modificare apar n momentul n
care se dorete actualizarea unor informaii
existente n baza de date.
Dan Bena, Martie 2016

Anomalii de actualizare

Anomalia de inserare:
introducerea unui tuplu pentru care un subset al
valorilor atributelor sale se regsete deja n
tabel;
introducerea unui tuplu pentru care un subset al
valorilor atributelor sale nu sunt momentan
cunoscute.

Dan Bena, Martie 2016

Anomalia de inserare
Nr_operaie

Den_Produs

Cantitate Pret

Furnizor

Adresa_furnizor

00000001

Lalea

150

SC A SRL

Oradea, P-ta Tineretului nr. 8

00000002

Trandafir

300

SC B SRL

Cluj-Napoca, Str. T Mihali 58

Aprovizionare nou

Nr_operaie

Den_Produs

Cantitate Pret

Furnizor

Adresa_furnizor

00000001

Lalea

150

SC A SRL

Oradea, P-ta Tineretului nr. 8

00000002

Trandafir

300

SC B SRL

Cluj-Napoca, Str. T Mihali 58

00000003

Crin

170

12

SC B SRL

Str. T Mihali 58, Cluj-Napoca

Dan Bena, Martie 2016

Anomalia de inserare
inserarea unui nou furnizor fr a se cunoate la
momentul introducerii datelii referitoare la produsul
furnizat
nu cunoatem Den_Produs, Cantitate, Pret (iau
valoarea NULL)
Nr_operaie (cheie primar) nu poate lua valoarea
NULL
Nr_operaie

Den_Produs

Cantitate Pret

Furnizor

Adresa_furnizor

00000001

Lalea

150

SC A SRL

Oradea, P-ta Tineretului nr. 8

00000002

Trandafir

300

SC B SRL

Cluj-Napoca, Str. T Mihali 58

Dan Bena, Martie 2016

Anomalii de actualizare

Anomalia de tergere:
Odat cu tergerea unei linii se pot pierde definitiv
anumite informaii;
Ex.: dac dorim s tergem produsul Trandafir,
vom pierde i informaiile despre SC B SRL
Nr_operaie

Den_Produs

Cantitate Pret

Furnizor

Adresa_furnizor

00000001

Lalea

150

SC A SRL

Oradea, P-ta Tineretului nr. 8

00000002

Trandafir

300

SC B SRL

Cluj-Napoca, Str. T Mihali 58

Dan Bena, Martie 2016

Anomalii de actualizare

Anomalia de modificare:
Ex. Furnizorul SC B SRL i schimb adresa
(modificm doar n Nr_Operaie 00000002, n
00000003 rmne vechea adres)
Nr_operaie

Den_Produs

Cantitate Pret

Furnizor

Adresa_furnizor

00000001

Lalea

150

SC A SRL

Oradea, P-ta Tineretului nr. 8

00000002

Trandafir

300

SC B SRL

Cluj-Napoca, Str. T Mihali 58

00000003

Crin

170

12

SC B SRL

Cluj-Napoca, Str. T Mihali 58

Dan Bena, Martie 2016

Forma nenormalizat

Forma nenormalizat - 0 NF - UNF


Reprezint un tabel ce conine unul sau mai multe
grupuri repetitive

Dan Bena, Martie 2016

Baze de date n economie

Capitolul 4: Forme normale i mecanismul


normalizrii bazelor de date (II).
Forma normal 1 (1 NF);
Forma normal 2 (2 NF);
Forma normal 3 (3 NF);
Alte forme normale.

Dan Bena, Martie 2016

Forma normal 1NF

Definiii:
O relaie R este n forma normal 1 dac i
numai dac nici unul dintre domeniile sale nu
are elemente de tip mulime. (Codd, 1972)
O relaie este n forma normal 1 dac i numai
dac n fiecare valoare valabil a acelei relaii,
fiecare tuplu conine exact o valoare pentru
fiecare atribut. (Date, 2005)
Dan Bena, Martie 2016

Forma normal 1NF

Trecerea la 1 NF se realizeaz prin:


Aplatizarea tabelului replicarea valorilor din
rubricile nerepetitive, pentru fiecare rnd al unui
grup repetitiv;
Spargerea tabelului n dou tabele a doua
tabel fiind compus din atributele repetitive,
mpreun cu o copie a cheii din tabelul de
origine.
Dan Bena, Martie 2016

Forma normal 1NF

Judet

Oras

Strada

...

...

...

...

...

...

...

...

...

...

...

...

Nume

Prenume

...

...

...

...

ID_Ang

Nume

Domiciliul

Nume
copil1

ID_Ang

Prenume

D_Judet

D_Oras

D_Strada

Nume
copil2

Copil

001

Popescu

Ioan

Bihor

Oradea

Eminescu

Gheorghe

001

Popescu

Ioan

Bihor

Oradea

Eminescu

Vasile

001

Popescu

Ioan

Bihor

Oradea

Eminescu

Ionut

Dan Bena, Martie 2016

Forma normal 1NF


ID_Ang

Nume

Prenume

D_Judet

D_Oras

D_Strada

Copil

001

Popescu

Ioan

Bihor

Oradea

Eminescu

Gheorghe

001

Popescu

Ioan

Bihor

Oradea

Eminescu

Vasile

001

Popescu

Ioan

Bihor

Oradea

Eminescu

Ionut

Prenume

D_Judet

ID_Ang
001

Nume
Popescu

Ioan

D_Oras

Bihor

Oradea
ID_Ang

Dan Bena, Martie 2016

D_Strada
Eminescu
Copil

001

Gheorghe

001

Vasile

001

Ionut

Forma normal 2NF


Definiie:
O relaie R este n forma normal 2 dac i numai dac relaia
R se afl n forma normal 1, iar orice atribut neprimar al
relaiei este dependent funcional complet fa de toate cheile
candidat ale relaiei R. (Sitar, 2003)
Un atribut depinde funcional de alt atribut dac pentru orice
valoare a primului atribut corespunde o valoare a celui de-al
doilea atribut
Trecerea la 2NF se realizeaz prin:

Reinventariere cheilor candidat;


Identificare dependene pariale care nu sunt legate de acestea;
Trecerea acestora ntr-o nou relaie;
Verificarea relaiilor nou-rezultate.
Dan Bena, Martie 2016

Forma normal 2NF


ID_Ang

Nume i
Prenume

Ch. Str.

Data naterii

Locul naterii

Ch. Pr.

...

...

...

...

...

...

...

...

Situaia
colar

Cuantum
alocaie

ID_Ang

Nume i Prenume

Data naterii

Locul naterii

...

...

...

...

...

...

...

...

Data naterii

Situaia colar

Cuantum alocaie

...

...

...

...

...

...

Dan Bena, Martie 2016

Forma normal 3NF

Definiie:
O relaie R este n forma normal 3 dac i
numai dac relaia R se afl n forma normal 2,
iar orice atribut neprimar nu este implicat n
nicio dependen funcional n calitate de
determinant. (Sitar, 2003)
Eliminarea cauzelor care determin dependene
tranzitive ce au n calitate de determinant cheia
primar, prin trecerea acestora n noi relaii.
Dan Bena, Martie 2016

Forma normal 3NF


ID_Ang

Nume i
Prenume

Data angajrii

Ore lucrate

...

...

...

...

...

...

...

...

Nu sunt chei

ID_Ang

Nume i
Prenume

Data angajrii

Ore lucrate

...

...

...

...

...

...

...

...

Data angajrii

Ore lucrate

Salar brut

...

...

...

...
Dan Bena, Martie 2016

Salar brut

Alte forme normale

Forma normal bazat pe chei elementare (EKNF)


mai puternic dect 2NF dar mai slab dect
BCNF;
Forma normal Boyce-Codd (BCNF) pentru orice
dependen funcional determinantul este o cheie
candidat;
Forma normal 4NF;
Forma normal 3,3 (3.3NF);
Forma normal 5NF (PJNF);
Forma normal bazat pe domenii i chei (DK/NF);
Dan Bena, Martie 2016

Baze de date n economie

Capitolul 5: Limbajele bazelor de date relaionale;


elemente ale limbajelor SQL i QBE.
Prezentarea limbajului SQL;
Instruciuni pentru definirea datelor;
Instruciuni pentru selecia datelor;
Instruciuni pentru manipularea datelor;
Construirea interogarilor de selecie cu ajutorul
limbajului QBE.
Dan Bena, Martie 2016

Prezentarea limbajului SQL


Limbaj neprocedural i declarativ utilizatorul descrie ce
date vrea s obin, nu i modalitile de a ajunge la datele
respective;
Limbaj de aplicaii, orientat pe mulimi lansat de IBM,
standardizat prima dat de ANSI, apoi ISO;
Utilizare n administrarea bazelor de date client/server;
Instruciunile SQL generate de pe aplicaia client;
Metode de baz privind implementarea limbajului SQL:
apelare direct, modular, ncapsulat;
Gruparea instruciunilor SQL: definirea datelor,
manipulatea datelor, seleciea datelor, procesarea
tranzaciilor, control al cursorului, controlul accesului la
date.
Dan Bena, Martie 2016

Prezentarea limbajului SQL

Instruciuni privind scrierea comenzilor SQL i


convenii de notare:
cuvinte rezervate (majuscule) cuvinte definite de
utilizator (litere mici)
nu sunt CASE SENSITIVE
cerine de aliniere lizibilitate
| - posibilitatea alegerii dintre mai multe variante
{ } - un element necesar
[ ] - un element opional
... - o repetare opional a unui articol
Dan Bena, Martie 2016

Instruciuni pentru definirea datelor


CREATE DATABASE nume_bazadedate
CREATE TABLE nume_tabel
(cmp1 tip_dat, cmp2 tip_dat, cmp3 tip_dat...)
ALTER TABLE nume_tabel
ADD nume_cmp tip_dat
DROP TABLE nume_tabel

DROP DATABASE nume_bazadedate


Dan Bena, Martie 2016

Instruciuni pentru selecia datelor

SELECT

SELECT [domeniu] list_selecie


FROM nume_tabel1, nume_tabel2,
[WHERE criteriu_selecie]
[ORDER BY cmpuri_criteriu
[ASC|DESC]];
Dan Bena, Martie 2016

Instruciuni pentru manipularea datelor


(CREATE)
SELECT [domeniu] (cmp1,cmp2...)
INTO tabel_nou
FROM tabel_sursa
[WHERE criteriu_de_adugare];
INSERT INTO nume_tabel (cmp1, cmp2...)
VALUES (valoare1, valoare2...);

DELETE FROM nume_tabel


[WHERE criteriu_de_tergere];
UPDATE nume_tabel
SET nume_cmp1=valoare1 [,nume_cmp2=valoare2]...
[WHERE criteriu_de_actualizare];
Dan Bena, Martie 2016

Construirea interogrilor de selecie cu ajutorul


limbajului QBE

Access
probleme interogri

Dan Bena, Martie 2016

Baze de date n economie

Capitolul 6: Baze de date obiectuale (I).


Necesitatea modelului obiectual;
Concepte teoretice privind modelul obiectual.

Dan Bena, Martie 2016

Necesitatea modelului obiectual


Descrierea mai natural a unor structuri din lumea
nconjurtoare;
Definirea unor tipuri abstracte de date cum ar fi: imaginea,
sunetul, vocea, video etc.;
Necesitatea utilizrii unor tipuri de date compuse: mulimi,
vectori, secvene etc.;
Definirea i utilizarea facil a unor tipuri-utilizator;
Motenirea unor componente;
Reutilizarea codului;
Simulare, modelare;
mbuntirea interfeei cu utilizatorul;
Surprinderea aspectelor dinamice;
Asigurarea suportului pentru noi tehnologii.
Dan Bena, Martie 2016

Necesitatea modelului obiectual


Dezavantaje ale bazelor de date i ale modelului relaional care
au dus la abordarea obiectual (1):
reprezentarea precar a entitilor din lumea real se
ajunge la relaii neconforme cu realitatea;
limitarea semantic nu exist o alt modalitate de a
exprima legturile dintre entiti dect tot prin intermediul
unor relaii;
controlul insuficient al integritii i mecanisme deficitare de
gestionare a constrngerilor de ntreprindere;
Dan Bena, Martie 2016

Necesitatea modelului obiectual


Dezavantaje ale bazelor de date i ale modelului relaional care
au dus la abordarea obiectual (2):
structura de date prea omogen ex. o nregistrare poate fi o
mulime etc. dei de cele mai multe ori este benefic;
set redus de operaii ex. dintr-o secven video de extras
detalii;
gestionarea greoaie a interogrilor recursive, nepotrivirea de
impedan, mecanisme tranzacionale, deficiene n
modificarea schemelor.
Dan Bena, Martie 2016

Concepte teoretice privind modelul obiectual

Obiectul;
Metoda;
ncapsularea;
Clasa;
Polimorfismul;
Persistena.
Dan Bena, Martie 2016

Concepte teoretice privind modelul obiectual


Obiectul - Definiie:
Obiectul reprezint o entitate unic identificabil lucru,
vietate, proces, fenomen din lumea real sau uneori
virtual care conine att o descriere a acesteia, ct i
comportamentul acesteia.
Starea curent a unui obiect este descris de ctre
proprieti sau atribute (care pot fi simple sau complexe),
denumire uneori i variabile de instan.
Obiectele pot fi simple sau complexe (formate la rndul
lor din subobiecte).
vs. terminologia relaional obiect = tuplu iar
proprietate = atribut.
Dan Bena, Martie 2016

Concepte teoretice privind modelul obiectual


Metoda - Definiie:
O metod este un program ce manipuleaz obiectul sau
indic starea acestuia.
Metodele descriu procedurile (funciile) sau aspectul
dinamic al obiectului, n timp ce proprietile desemneaz
aspectul static.
Cu ajutorul metodelor se modific sau se interogheaz starea
obiectelor.
Exist 2 metode cu semnificaie aparte pentru ciclul de via
al obiectelor:
constructorii dau natere obiectului crend o nou instan;
destructorii pune capt existenei i elimin din memorie.

Obiectele dialogheaz prin mesaje.


Dan Bena, Martie 2016

Concepte teoretice privind modelul obiectual

ncapsularea - Definiie:
Structura unui obiect, precum i implementarea
metodelor sale nu pot fi accesate sau modificate de
ctre un factor extern obiectului, ns pot fi
actualizate indirect prin intermediul mesajelor.
Aceast proprietate de ermetizare a strii i
coninutului fa de agenii externi poart numele
de ncapsulare.
Exist 2 viziuni asupra obiectelor:
Extern, care se refer sa setul acceptat de mesaje pe
acre poate s le primeasc (interfaa obiectului)
Intern (caracteristicile i metodele sale)
Dan Bena, Martie 2016

Concepte teoretice privind modelul obiectual

Clasa - Definiie:
O clas reprezint mulimea tuturor obiectelor care
au aceleai proprieti i rspund la aceleai mesaje.
Polimorfismul - Definiie:
Polimorfismul reprezint capacitatea unor obiecte
de a reaciona comportamental diferit la acelai
mesaj, fr a fi necesar s se specifice explicit
modalitatea de procesare pentru fiecare caz n
parte.
Dan Bena, Martie 2016

Concepte teoretice privind modelul obiectual

Persistena - Definiie:
Persistena este proprietatea obiectelor ce
presupune meninerea lor, a proprietilor, a
declaraiei metodelor chiar i dup ncetarea
procesului care le-a creat sau le-a actualizat
pn la apariia unui alt factor extern care
produce tipurile de modificri menionate sau
chiar distrugerea obiectului.
Dan Bena, Martie 2016

Concepte teoretice privind modelul obiectual

Modelul de date orientat spre obiecte reprezint


un model logic de date ce descrie acea semantic a
datelor acceptat n programarea orientat pe
obiecte.
Baza de date orientat spre obiecte este o colecie
de obiecte persistente i partajabile definite pe baza
unui model de date orientat spre obiecte.
Aspecte privind proiectarea bazelor de date obiect
(tabele, relaii, integritate referenial etc.).
Dan Bena, Martie 2016

Baze de date n economie

Capitolul 7: Baze de date obiectuale (II).


Gestiunea bazelor de date obiectuale;
Standarde;
Avantaje i dezavantaje.

Dan Bena, Martie 2016

Gestiunea bazelor de date obiectuale


SGBDOO generaia a 3-a de SGBD-uri
Un SGBDOO reprezint o aplicaie cu faciliti de
memorare persistent, care asigur recunoaterea obiectelor
ca identiti separate, nlesnesc motenirea i permit
definirea tipurilor abstracte de date. [Khoshafian &
Abnous, 1990]
Set minimal de caracteristici pe care trebuie s l
indeplineasc un SGBD:

Asigurarea funcionalitii bazei de date;


Acceptarea identitii obiectelor;
Asigurarea ncapsulrii;
Permisiunea pentru obiecte cu structuri complexe.
Dan Bena, Martie 2016

Gestiunea bazelor de date obiectuale

SGBDOO urmresc trei principii fundamentale:


n cadrul unui asemenea sistem se folosesc funcii
ce conin metode ale bazei de date i trebuie s fie
ct mai compacte, ncapsulate i ascunse mediului
extern;
trebuie s preia avantajele celor de generaia a 2-a
accesul neprocedural i independena datelor.
trebuie s ofere o interfa pentru alte tipuri de
sisteme.
Dan Bena, Martie 2016

Manifestul sistemelor obiectuale de baze de date


s permit crearea de obiecte complexe pornind de la
obiectele de baz prin utilizarea constructorilor de genul SET,
TUPLE i LIST;
s asigure suport identitii obiectelor obiectele s fie unic
identificabile n cadrul sistemului;
s ofere suport pentru ncapsulare metodele sunt integrate n
obiect, modul lor de implementare fiind ascunse;
s ofere suport pentru clase sau tipuri un sistem poate acoperi
doar tipuri (domenii) sau doar clase;
tipurile/clasele trebuie s posede capacitatea de motenire o
subclas motenete atributele i metodele superclasei din care
provine;
Dan Bena, Martie 2016

Manifestul sistemelor obiectuale de baze de date

trebuie s ofere posibilitatea de legare dinamic metodele


trebuie s poat fi aplicate unor tipuri mai generale, stabilinduse doar n momentul execuiei ce tip trebuie s solicite;
limbajul de manipulare a datelor va furniza completitudine de
calcul;
setul de tipuri de date trebuie s fie extensibil utilizatorul
trebuie s beneficieze de facilitatea de a crea noi tipuri de date
pornind de la cele predefinite;
asigurarea suportului pentru persistena datelor odat create,
datele trebuie s rmn stocate n memoria fizic, chiar i dup
ce procesul respectiv a luat sfrit;
Dan Bena, Martie 2016

Manifestul sistemelor obiectuale de baze de date

trebuie s poat gestiona baze de date de dimensiuni mari;


trebuie s ofere mecanisme de control a concurenei;
trebuie s fie nzestrate cu mecanisme de control a refacerilor
n cazul unei pene de orice natur a sistemului, aceste
mecanisme s intre n funciune i s garanteze cea mai mic
pierdere de informaii posibil;
trebuie s aib capacitatea de interogare facil a datelor
capabil s rezolve interogri nepremeditate n mod eficient i
independent de aplicaii.

Dan Bena, Martie 2016

Standarde

Standardul pentru obiecte;


Specificaia CORBA;
Modelul ODMG (Object Database Management
Group);
Arhitectura sistemelor SGBDO distribuite.

Dan Bena, Martie 2016

Standardul pentru obiecte


1989 nfiinare Object Management group (OMG). Standardele
propuse supuse procesului de standardizare ISO/ANSI. Faciliti:
Execuia concurent;
Tranzacii distribuite;
Realizarea versiunilor;
Notificarea evenimentelor;
Internaionalizarea (uniformizarea variaiilor diferitelor ri).
1990 public Object Management Architecture, se identific:
Modelul de obiecte;
Brokerul de cerere de obiecte;
Serviciile de obiecte;
Facilitile comune.
Dan Bena, Martie 2016

Specificaia CORBA
Definete prile componente i structura brokerului de obiecte.
Elemente:
Limbajul de definire al interfeelor contribuie la descrierea
interfeelor claselor n mod transparent fa de SGBD sau de
limbajele de programare;
Modeulul tip definete valorile transmisibile prin intermediul
reelei;
Dispozitivul de interfee ofer informaii asupra interfeelor
i tipurilor n vederea posibilitii contruirii unei cereri dinamice
n timpul execuiei;
Metode de obinere a interfeelor i specificaiilor obiectelor;
Metodele de conversie a identificatorilor.
Dan Bena, Martie 2016

Modelul ODMG (Object Database Management


Group)
OMG standardizarea tehnologiei obiectuale n general;
ODMG standarde pentru sistemele de baze de date obiectuale.
Componente (versiunea 1993):
Modelul de obiecte;
Limbajul de definire al obiectelor;
Limbajul de interogare al obiectelor;
Cuplarea la C++, SmallTalk i Java;
(versiunea ODMG 2.0): o nou legtur pentru limbajul de
programare a companiei Sun (Java), revizuirea complet a versiunilor
anterioare, un standard privind deschiderea spre comunicarea dintre
bazele de date.
Dan Bena, Martie 2016

Arhitectura sistemelor SGBDO distribuite

Arhitectura client/server
Tipurile de arhitecturi sunt:
Server de obiecte
pe server: gestiunea memoriei, a blocrilor sau a
mrcilor de timp, desfurarea operaiilor din memoria
secundar, pornirea sau refacerea unei sesiuni de
lucru, controlul integritii i al securitii, optimizarea
interogrilor i execuia procedurilor;
pe client: gestiunea tranzaciilor i realizarea interfeei
cu mediul de programare.
Dan Bena, Martie 2016

Arhitectura sistemelor SGBDO distribuite

Server de pagini cele mai multe sarcini sunt


atribuite clientului. Serverul se ocup doar de
operaii privind memoria secundar i furnizarea
de pagini la cererea clientului;
Server de baz de date majoritatea
operaiunilor revin n sarcina serverului. Client
transmite doar cererile ctre server, primete
rezultatele pe care le ofer apoi aplicaiei;
Server mixt.
Dan Bena, Martie 2016

Avantaje i dezavantaje
Avantaje (1):
capaciti semantice superioare structuri complexe;
capacitatea de extindere permit utilizarea unor tipuri noi;
rezolvarea nesincronizrii de impedan existena unei
singure interfee;
faciliti pentru actualizarea schemei bazei de date
utilizatorul nu va sesiza eventualele modificri;
suport pentru tranzacii mari consumatoare de timp
exploatarea versiunilor;
Dan Bena, Martie 2016

Avantaje i dezavantaje
Avantaje (2):
suport pentru baze de date avansate domenii noi;
performane sporite soluii rapide;
costul sistemului n general SBDOO nu sunt SGBDR-uri ci
doar limbaje de programare OO crora li se ataeaz module,
biblioteci, clase suplimentare.

Dan Bena, Martie 2016

Avantaje i dezavantaje
Dezavantaje (1):
existena unui model de date universal nu exista asemenea
model dar se ncearc standardizarea;
lipsa de experien experien sczut fa de sistemele
relaionale;
necesitatea elaborrii de standarde standarde temporare;
optimizare interogri versus ncapsulare pentru optimizare
este necesar cunoaterea structurii interne a obiectelor lucru
ce intr n conflict cu ncapsularea;
Dan Bena, Martie 2016

Avantaje i dezavantaje
Dezavantaje (2):

blocrile de granularitate mare compromit performana;


configurri suplimentare;
complexitatea sistemelor;
inexistena suportului pentru vederi;
securitate redus.

Dan Bena, Martie 2016

Baze de date n economie

Capitolul 8: Baze de date distribuite i


colaborative (I).
Introducere n sisteme distribuite;
Fragmentarea;
Replicarea;
Proiectarea alocrii.

Dan Bena, Martie 2016

Introducere n sisteme distribuite

Apariie: tehnologia bazelor de date i cea a reelelor


erau destul de avansate individual, dar lucrurile nu
stteau la fel de bine la nivelul integrrii lor;
Sistemul cu prelucrare distribuit sisteme de baze
de date distribuite
Definiie:
O baz de date ditribuit reprezint o colecie de
date integrate logic ns repartizate fizic pe siturile
unei reele de calculatoare.
Dan Bena, Martie 2016

Sistemul cu prelucrare distribuit

Aprovizionare
Vnzri
Management
Marketing
Contabilitate

Dan Bena, Martie 2016

Sistem de baze de date distribuite

Aprovizionare

BD

BD

Contabilitate
Marketing

BD

Vnzri

Management
BD

BD

Dan Bena, Martie 2016

Introducere n sisteme distribuite


Integrarea logic: datele nmagazinate nu sunt simple
colecii de fiiere ci reprezint o structur bine organizat
pe care utilizatorul trebuie s o perceap ca fcnd parte
dintr-o singur baz de date global, la fel ca i n cazul
bazelor de date locale sau centralizate.
Repartizarea fizic: baza de date nu este stocat ntr-o
singur locaie, precum n cazul bazelor de date locale i
sistemelor centralizate, ci este mprit ntre mai multe
staii de lucru.
Un SGBDD reprezint sistemul software care permite
gestiunea bazelor de date distribuite, fcnd distribuirea
fizic transparent pentru utilizatori.
Dan Bena, Martie 2016

Fragmentarea

Partiionare;
Definiie: Fragmentarea reprezint procedeul de
spargere a relaiilor utilizate ntr-un sistem distribuit
prin operaiuni relaionale de proiecie i selecie
controlate, n vederea plasrii aa-numitelor
fragmente rezultate n locul n care sunt cel mai
frecvent solicitate datele pe care le conin.
Premise de baz n vederea fragmentrii: uzana,
eficiena, paralelismul, securitatea;
Dan Bena, Martie 2016

Fragmentarea
Uzana se practic utilizarea tabelelor virtuale n detrimentul relaiilor
ntregi. De cele mai multe ori un utilizator nu are nevoie de toate
informaiile;
Eficiena distribuirea unor relaii ntregi pe diferite staii de lucru ar
anula aspectul semantic al siturilor n funcionaliattea sistemului
distribuit (ex. Stocm date despre locuitorii dintr-un jude n alt jude);
Paralelismul mai multe fragmente ale unei baze de date permit
sporirea accesului concurent;
Securitatea un atac nu ar afecta ntregul sistem;
Dezavantaje:
Complexitatea proiectrii;
Performana n cazul interogrilor mai complexe;
Controlul integritii;
Dan Bena, Martie 2016

Fragmentarea

Condiii pentru realizarea fragmentrii:


Completitudinea fragmentrii divizarea unei
relaii n fragmente trebuie fcut de aa manier
nct, fragmentele rezultate, s asigure acoperirea
ntregii relaii iniiale;
Refacerea relaiei iniiale fragmentarea se face
astfel nct, n orice moment s poat fi reprodus
relaia iniial din care fragmentele provin;
Caracterul disjunct fragmentele provenite din
aceeai relaie trebuie s fie disjuncte, adic s nu se
suprapun, att ca tuple ct i ca atribute.
Dan Bena, Martie 2016

Fragmentarea

Fragmentarea orizontal;
Fragmentarea vertical;
Fragmentarea mixt;
Fragmentarea derivat;
Relaii nefragmentate.

Dan Bena, Martie 2016

Fragmentarea orizontal

Dan Bena, Martie 2016

Fragmentarea orizontal
ID

Nume i Prenume

[]

Jude_de_reedin

...

[...]

Bihor

...

[...]

Cluj-Napoca

...

[...]

Bihor

...

[...]

Cluj-Napoca

...

[...]

Bihor

...

[...]

Bihor

...

[...]

Cluj-Napoca

CJ - BH
Verificare completitudine, capacitatea de refacere
a relaiei iniiale, caracterul disjunct.
Dan Bena, Martie 2016

Fragmentarea vertical

Dan Bena, Martie 2016

Fragmentarea vertical
Cod_Localitate

[]

Localitate

Judet

01

[]

Oradea

Bihor

02

[]

Cluj

Cluj-Napoca

03

[]

Marghita

Bihor

04

[]

Beius

Bihor

05

[]

Turda

Cluj-Napoca

06

[]

Salonta

Bihor

07

[]

Dej

Cluj-Napoca

Cod_Localitate + Localitate Cod_Localitate + Judet

Verificare completitudine, capacitatea de refacere


a relaiei iniiale, caracterul disjunct.
Dan Bena, Martie 2016

Fragmentarea mixt

F1

F3

F2

F4

F5

F6

F1

F4
F3

F5

F2
F6

Dan Bena, Martie 2016

Fragmentarea derivat

Des ntlnit n practic, este impus de anumite


nevoi practice menite s optimizeze accesul la date
prin reducerea timpului de transmisie;
Presupune crearea unor fragmente orizontale bazate
pe mai multe relaii aflate pe situri diferite;
Este o fragmentare orizontal care se face ntre dou
relaii: una printe i una copil se pornete de la cea
copil, care va fi fragmentat conform predicatului
prestabilit (care implic obligatoriu cheia extern).
Fragmentele rezultate se vor uni cu fragmentele
corespunztoare aceluiai predicat;
Dan Bena, Martie 2016

Fragmentarea derivat

Exemplu:
LOCALITATI (CodLoc, Loc, CodJud) stocat
pe situl X i JUDETE (CodJud, Jud) stocat pe
situl Y se poate realiza o fragmentare
derivat pe aceste dou relaii. Fragmentele vor
avea structura LOC_JUD (CodLoc, Loc,
CodJud, Jud) iar predicatele de selecie vor fi
de genul CodJud=BH, CodJud=CJ i aa
mai departe.
Dan Bena, Martie 2016

Relaii nefragmentate

Situaii n care fragmentarea nu se preteaz;


Relaii cu numr relativ mic de nregistrri se
recomand replicarea acestora pe fiecare sit n
parte, fie meninerea lor n acele noduri unde se
utilizeaz cel mai des, iar n cazul unei cereri la
distan care le solicit, strategia optim ar fi cea
de mutare a acestei relaii, i nu a celorlalte, fie n
situl din care s-a solicitat cererea, fie ntr-un alt sit
n care exist deja una sau mai multe relaii
implicate;
Dan Bena, Martie 2016

Replicarea

Reproducere;
Pentru a asigura fiabilitatea i disponibilitatea;
Definiie: Replicarea presupune
fragmente n mai multe locaii;

Baze de date centralizate;


Baze de date partiionate;
Baze de date replicate integral;
Baze de date replicate parial.
Dan Bena, Martie 2016

copierea

unor

Replicarea
Baze de date centralizate sisteme cu prelucrare
distribuit, n care avem o singur baz de date stocat pe
nodul central;
Baze de date partiionate, fragmentate sau nereplicate
baze de date ditribuite n care toate fragmentele apar o
singur dat;
Baze de date replicate integral orice sit conine cte o
copie a ntregii baze de date;
Baze de date replicate parial sau selectiv anumite
fragmente sunt replicate, altele nu. Sunt replicate fie acele
fragmente cu utilizare frecvent, fie relaii ntregi de
dimensiuni mici care nu merit s fie fragmentate, ci mai
degrab memorate pe fiecare sit.
Dan Bena, Martie 2016

Proiectarea alocrii

Fie setul de fragmente F={F1, F2, ..., Fn} ntr-o reea


format din siturile S={S1, S2, ..., Sm} i asupra
crora se execut anumite interogri Q={Q1, Q2, ,,,,
Qo}. Problema proiectrii alocrii se refer la
distribuirea optim a fragmentelor F pe siturile S.
Optimul se refer la: cost minim, performan;
Alocarea poate fi redundant (metoda selectrii sau
metoda alocrii progresive) sau neredundant (cea
mai ieftin n ceea ce privete efortul de proiectare).
Dan Bena, Martie 2016

Proiectarea alocrii

Metode de alocare a fragmentelor orizontale:


Metoda alocrii neredundante;
Metoda staiilor profitabile;
Metoda replicrii progresive.

Metode de alocare a fragmentelor verticale:


Metoda partiionrii atributelor;
Metoda de grupare a atributelor.
Dan Bena, Martie 2016

Baze de date n economie

Capitolul 9: Baze de date distribuite i


colaborative (II).
Arhitectura unui sistem distribuit;
Principiile lui Date;
Procesarea i optimizarea cererilor.

Dan Bena, Martie 2016

Arhitectura unui sistem distribuit

1971 standardizare sisteme de baze de date pe 2


nivele: schem i subschem;
1975 standardizare pe 3 nivele extern, conceptual
i intern

Arhitectura unui sistem distribuit este format din:

Scheme externe globale;


Schem conceptual global;
Schema de fragmentare;
Schema de alocare.
Dan Bena, Martie 2016

Arhitectura unui sistem distribuit


Scheme externe globale reprezint viziunea fiecrui
utilizator asupra sistemului;
Schem conceptual global o imagine complet a
ntregii baze de date, fr a lsa mcar pentru vreun
moment impresia c aceasta ar putea fi una distribuit;
Schema de fragmentare reprezint ideea proiectantului
de partiionare a ntregii baze de date;
Schema de alocare se refer la modul de amplasare
fizic a fragmentelor i replicilor acestora n vederea
deservirii optime a interogrilor i tranzaciilor sistemului
distribuit;
Pentru fiecare sit avem o arhitectur pe 3 nivele: schema de
transformare, schema conceptual local, schema intern
local.
Dan Bena, Martie 2016

Exemplu arhitectur de referin pentru SGBDD

Connolly et al., 2001


Dan Bena, Martie 2016

Principiile lui Date


Principiile lui Date referitoare la sistemele distribuite:
Principiul fundamental al bazelor de date ditribuite: pentru
utilizator, sistemul trebuie s arate i s se comporte ca unul
nedistribuit;
Autonomia local: fiecare sit trebuie s-i gestioneze singur
propriile date iar pentru funcionare nu trebuie s depind de
alte situri;
Absena unui dependene de un sit central nu trebuie s
existe un sit dominant sau care s fie n totalitate rspunztor de
o anumit funcie sau subactivitate a sistemului distribuit;
Operarea continu: fiabilitate (capacitatea unui sistem de a
funciona fr ntrerupere respectnd parametri de calitate) i
disponibilitate (toate date sunt accesibile pe perioada
prestabilit);
Dan Bena, Martie 2016

Principiile lui Date

Independena de fragmentare (transparen la fragmentare)


baza de date pe care opereaz sistemul distribuit trebuie s aib
capacitatea de a fi mprit n buci mai mici care trebuiesc
rspndie prin toate siturile sistemului. Utilizatorul nu trebuie s
se comporte diferit de unul al unei baze de date centralizate;
Independena de localizare locul n care sunt stocate sau de
unde sunt accesate datele trebuie s fie transparent, att pentru
utilizator ct i pentru aplicaiile care ruleaz. Utilizatorul tie
c datele sunt fragmentate dar locul unde fragmentele sunt
plasate nu ine de competena sa;
Dan Bena, Martie 2016

Principiile lui Date

Independena de replicare utilizarea replicilor i alocarea lor


pe anumite situri trebuie s se fac transparent pentru utilizator.
Utilizatorul va trebui s transmit cereri ctre fragmente bine
delimitate, fr a fi obligat totui s cunoasc localizarea i nici
faptul c fragmentele consultate ar mai avea nevoie i de alte
aplasri posibile n reea;
Prelucrarea distribuit a interogrilor date din mai multe
situri;
Gestionarea distribuit a tranzaciilor controlul accesului
concurent i problematica toleranei la defecte;
Dan Bena, Martie 2016

Principiile lui Date

Independena de hardware sistemele distribuite


nu trebuie s aib afiniti nspre anumite mrci;
Independena de sistemul de operare trebuie s
funcioneze pe calculatoare echipate cu sisteme de
operare diferite;
Independena de reea topologii, viteze de
transfer, dimensiuni ale pachetelor, metode de acces
sau tehnologia subreelelor difer nu trebuie s
reprezinte un impediment;
Independena de SGBD ideal ar fi ca toate siturile
sistemului distribuit s ruleze acelai SGBD..
Dan Bena, Martie 2016

Procesarea i optimizarea cererilor


Descompunerea interogrilor transformarea cererii ntr-o
cerere bazat pe algebra relaional aplicat asupra relaiilor
globale;

Analiza preliminar;
Normalizarea;
Analiza semnatic;
Simplificarea;
Restructurarea interogrilor.

Localizarea datelor;
Optimizarea interogrilor alegerea celei mai bune strategii
de execuie din variantele disponibile.
Dan Bena, Martie 2016

Baze de date n economie

Capitolul 10: Baze de date distribuite i


colaborative (III).
Gestiunea accesului concurent n medii distribuite;
Avantaje ale sistemelor distribuite;
Dezavantaje ale sistemelor distribuite.

Dan Bena, Martie 2016

Gestiunea accesului concurent n medii distribuite

Elemente generale legate de accesul concurent;


Gestiunea tranzaciilor acoper problema accesului concurent i
refacerea sistemului n caz de defeciuni;
Protocoalele de acces sunt complexe.
ntr-un sistem centralizat, subsistemul tranzacional al unui
SGBD este format din:
Administratorul de tranzacii dirijeaz execuia tranzaciilor;
Planificator hotrte ce strategie de control al concurenei se
impune, n funcie de caracteristicile tranzaciei;
Adiministratorul de refacere intervine atunci cnd execuia a fost
ntrerupt sau perturbat de anumite incidente;
Administratorul de buffere gestioneaz memoria tampon aferent
execuiei tranzaciilor i asigur transferul bidirecional ntre
memoria de lucru i dispozitivul fizic de stocare.
Dan Bena, Martie 2016

Gestiunea accesului concurent n medii distribuite

Toate aceste componente exist n cadrul fiecrui sit


al unui sistem distribuit + administrator de
tranzacii global sau coordonator de tranzacii
(responsabil cu execuia tranzaciilor globale sau
locale iniiate de situl respectiv) iar comunicarea
dintre situri se realizeaz prin intermediul
componentei de comunicaii de date.
Controlul accesului prin blocare;
Controlul accesului prin utilizarea mrcilor de timp.
Dan Bena, Martie 2016

Gestiunea accesului concurent n medii distribuite

Controlul accesului prin blocare


Protocoale din familia 2PL (Two-Phase Locking)
2PL centralizat toate informaiile necesare blocrii i
deblocrii sunt meninute n cadrul unui singur sit;
2PL de copie primar administratorii de blocare sunt
rspndii ntre mai multe situri (doar o copie este considerat
copie primar alegere aleatoare);
2PL distribuit administratorii de blocare sunt prezeni n
fiecare sit, fiecare fiind responsabil de blocarea resurselor din
situl respectiv;
Protocolul de zvorire a majoritii permite o optimizare a
protocolului distribuit pentru c nu implic blocrile i
actualizrile tuturor copiilor nainte de finalizarea tranzaciei
globale, ci doar a mai bine de jumtate din acele copii.
Dan Bena, Martie 2016

Gestiunea accesului concurent n medii distribuite

Controlul accesului prin utilizarea mrcilor de


timp:
Funcioneaz asemntor cu cele din sistemele
centralizate;
Datorit mrcilor de timp pe care tranzaciile leau primit la iniializare, n momentul n care dou
sau mai multe tranzacii reclam aceleai resurse,
prioritatea va fi de partea tranzaciei mai vechi.
Dan Bena, Martie 2016

Avantaje ale sistemelor distribuite


Structura organizaional evoluia s-a fcut conform
cerinelor organizatorice ale ntreprinderilor;
Caracterul partajabil i autonomia local un utilizator
poate accesa i folosi att datele din baza de date local ct i
din celelalte situri. Fiecare sit este autonom i poate funciona
i n cazul n care resursele din alte situri nu sunt disponibile;
Disponibilitate i fiabilitate crescute n sisteme
centralizate dac nodul central cade, ntreg sistemul devine
inoperabil. n sisteme distribuite (datorit fragmentrii i
replicrii), acestea vor funciona chiar i n cazul avariei unor
situri sau a liniei de comunicaii;
Dan Bena, Martie 2016

Avantaje ale sistemelor distribuite

Performane mbuntite datele sunt plasate n locul n


care sunt solicitate cel mai des;
Dezvoltare modular expansiunea sau modificarea se
poate face modular;
Economie costuri.

Dan Bena, Martie 2016

Dezavantaje ale sistemelor distribuite

Complexitatea conceperea i ntreinerea mai greu de realizat;


Lipsa de standarde lips arhitecturi standard, protocoale etc.;
Securitatea atacuri;
Dificultatea controlului integritii i al concurenei se
realizeaz mai greu datorit mpririi bazei de date n mai multe
fragmente;
Lipsa de experien implementarea i proiectarea unui sistem
distribuit necesit persoane cu experien vast n proiectarea
bazelor de date;
Dificultatea de nlocuire sau schimbare n general aceste
sisteme sunt fcute la comanda beneficiarului i pe specificul
activitii sale.
Dan Bena, Martie 2016

Baze de date n economie

Capitolul 11: Gestiunea bazelor de date obiectrelaionale.


Elemente de ansamblu asupra sistemelor obiectrelaionale;
Manifeste ale bazelor de date;
Extensii n cadrul sistemelor obiect-relaionale;
Standardul SQL3.
Dan Bena, Martie 2016

Elemente de ansamblu asupra sistemelor obiectrelaionale

Privire de ansamblu asupra sistemelor obiectrelaionale numite i servere universale de


date sau SGBD-uri universale, sau sisteme
extinse rezultat al extinderii (integrrii)
tehnologiei bazelor de date relaionale cu
tehnologia orientrii obiectuale;
Adaug noi capaciti de stocare obiectuale
sistemelor relaionale;
Categorii de produse pe pia: fiiere clasice,
SGBDR, SGBDO, SGBDOR.
Dan Bena, Martie 2016

Elemente de ansamblu asupra sistemelor obiectrelaionale

[W3C Webcompose]
Dan Bena, Martie 2016

Manifeste ale bazelor de date

Caracteristici pentru sisteme (1):


s beneficieze de un sistem complex de tipuri,
recomandat motenirea,
funciile s nu fie ignorate,
s genereze identificatori de tuplu,
reguli integrate n sistem,
accesul prin programe la baza de date trebuie s
se fac prin secvene de cod al unui limbaj de
nivel nalt neprocedural,
Dan Bena, Martie 2016

Manifeste ale bazelor de date


Caracteristici pentru sisteme (2):
coleciile trebuie s poat fi specificate att prin enumeraii
ct i prin interogri,
se impune utilizarea vederilor reutilizabile,
indicatorii de performan nu trebuie s fie influenai de
vreun model sau altul,
trebuie s fie disponibile pentru o multitudine de limbaje de
nivel nalt,
forme persistente ale limbajelor,
limbajul de date SQL,
n dialogul client-server interogrile i rspunsurile la
acestea trebuie s fie nivelul inferior de conversaie.
Dan Bena, Martie 2016

Extensii n cadrul sistemelor obiect-relaionale

Sisteme obiect-relaionale: Postgres, PostgreSQL, GigaBASE,


OpenODB/Odapter, OSMOS, DB/2, Extenders, Illustra,
UniSQL/X, Oracle dup versiuneaz 8.x, Informix pe baza unei
versiuni anterioare relaionale;
Extensii obiectuale atribuite sistemelor relaionale:
definirea de tipuri abstracte,
definirea de tipuri structurale,
tipuri de date complexe,
introducerea posibilitii de definire a unor date prin intermediul
unor proceduri nmagazinate n definiia relaiei,
introducerea unor reguli de integritate n definiia relaiei,
motenirea, identificatorii de obiecte etc.
Dan Bena, Martie 2016

Standardul SQL3

Istoric: lansare SQL n 1979 Oracle, 1981 IBM


produce SQL/DS etc.
1999 apare SQL:1999 sau SQL3;
Caracteristici de baz: generatorul de referine,
constructorii de tipuri pentru tipurile de rnduri,
permisiunea definirii tipurilor-utilizator, crearea
procedurilor, funciilor i a operatorilor definii de
utilizator, suport pentru reprezentarea coleciilor de
date, suport pentru tipuri de date complexe i de
dimensiuni mari.
Dan Bena, Martie 2016

Baze de date n economie

Capitolul 12: Baze de date federative.


Extensii ale bazelor de date distribuite. Baze de
date federative;
Arhitectura bazelor de date federative;
Caracteristicile sistemelor federative;
Integrarea bazelor de date;
Gestiunea interogrilor i a tranzaciilor n sisteme
de baze de date federative.
Dan Bena, Martie 2016

Extensii ale bazelor de date distribuite. Baze de


date federative

Sistem de baze de date multiple un sistem de baze de date


distribuite n care fiecare sit pstreaz o autonomie local
Sisteme de baze de date multiple sisteme de baze de date
multiple nefederative;
Sisteme de baze de date federative colecie de sisteme de
baze de date colaborative care sunt autonome i posibil
heterogene;
Bazele de date federative reprezint unificarea logic a unor
baze de date distincte ce ruleaz pe servere independente (n
general descentralizate geografic), fr partajare de resurse i
conectate prin intemediul unui LAN.
Dan Bena, Martie 2016

Arhitectura bazelor de date federative

Nu este o arhitectur standardizat datorit


gradului diferit de heterogenitate pe care
sistemele pot s l aib i tehnologiei de
implementare;
Exemplificare arhitectur de referin pe 5 nivele:
schema extern global, schema conceptual
global, schema local extern, schema
conceptual local, schema intern local;
Lipsa schemei conceptuale globale duce la un
sistem federativ slab cuplat.
Dan Bena, Martie 2016

Arhitectura bazelor de date federative

Arhitectura SGBD federative strns cuplat [Sitar, 2005]


Dan Bena, Martie 2016

Caracteristicile sistemelor federative

Autonomia fiecare baz de date a fost proiectat


autonom i i pstreaz libertatea de a-i modifica
sau nu design-ul. Nivelurile de autonomie sunt
descrise sub denumirile de: autonomia de proiectare,
de comunicare i de execuie;
Heterogenitatea diferenele de hardware, sisteme
de operare, SGBD, modele de date, limbaje i
dialecte etc.;
Distribuirea nu este vorba doar de o singur baz
de date distribuit, ci i de un numr de baze de date
separate ce pot fi localizate n diferite noduri ale unui
sistem distribuit.
Dan Bena, Martie 2016

Caracteristicile sistemelor federative

SGBD federative n cadrul unei organizaii [Sitar, 2005]


Dan Bena, Martie 2016

Caracteristicile sistemelor federative

Principalele cerine ale unui sistem de baze de date federative:


Transparena accesului la bazele de date n cadrul federaiei;
Autonomia local a fiecrei baze de date;
Potenialul integrrii multimodel i multilimbaj n cadrul
sistemului federativ;
Faciliti multiback-end n vederea consolidrii resurselor;
Acces eficient i efectiv precum i mecanisme de control al
concurenei, pentru gestionarea autonomiei locale.
Dan Bena, Martie 2016

Integrarea bazelor de date


Translatarea schemei translatarea schemelor locale
participante ntr-o reprezentare canonic intermediar
comun dac o baz de date local este reprezentat n
modelul ierarhic, iar alta n cel relaional, trebuie s se
aleag o reprezentare comun;
Integrarea schemei se refer la aducerea tuturor
medelelor canonice intermediare ctre un model int, cel
al schemei globale conceptuale. Integrarea schemei se
desfoar n urmtoarele etape:

preintegrarea,
compararea,
potrivirea,
restructurarea i mbinarea.
Dan Bena, Martie 2016

Integrarea bazelor de date

Preintegrarea necesit determinarea cheilor


candidate ale schemelor, precum i metoda i ordinea
de tratare a integrrii;
Compararea este faza n care trebuie detectate
conflictele de denumiri, structuri i relaiile dintre
scheme;
Potrivirea problemele identificate la comparare
vor fi rezolvate;
Restructurarea i mbinarea presupune stabilirea
unei scheme de baze de date pe baza elementelor
neconflictuale nativ, sau ulterior etapei de potrivire.
Dan Bena, Martie 2016

Gestiunea interogrilor n sisteme de baze de date


federative

Separarea procesului de interogare accesul la date i


efectuarea calculelor pot fi suportate de diferite situri;
Separarea factorilor de cost costul poate avea mai multe
componente stabilite neunitar de ctre administratorii
siturilor, poate depinde de timpul de rspuns, de rata de
mprosptare a datelor, de calitatea lor, de acurateea
calculelor etc.;
Separarea estimrii costurilor datorit numrului mare
de factori care pot interveni n calcularea costului i a
caracterului arbitrar de stabilire a costurilor pariale pentru
fiecare sit, un optimizator global nu ar putea face fa unei
estimri corecte a costului total.
Dan Bena, Martie 2016

Gestiunea tranzaciilor n sisteme de baze de date


federative

Gestiunea tranzaciilor se desfoar n mod


normal pe dou nivele;
Manager de tranzacii local trebuie s
controleze execuia fiecrei tranzacii din
interiorul unei baze de date componente.
Manager global utilizat pentru tranzacia lansat
de ctre federaie i executat pe anumite baze de
date componente.
Dan Bena, Martie 2016

Baze de date n economie

Capitolul 13: Baze de date i utilizarea lor pe


Web.
Utilizarea bazelor de date pe Internet;
Arhitectura Web-SGBD;
Avantaje i dezavantaje ale integrrii Web-SGBD.

Dan Bena, Martie 2016

Utilizarea bazelor de date pe Internet

Limbajul HTML (HyperText Markup Language)


evoluie i necesitatea unor pagini din ce n ce mai
complexe:
Necesitatea introducerii de pagini dinamice;
Evitarea unui numr foarte mare de pagini
HTML.
Ex. CMS (PHP+MySQL, user view vs. admin
view)
Dan Bena, Martie 2016

Arhitectura Web-SGBD

Componente principale:
baza de date,
logica tranzaciilor,
logica aplicaiei,
interfaa cu utilizatorul.
Arhitectura client-server pe dou etaje.
Arhitectura client-server pe trei etaje.
Dan Bena, Martie 2016

Arhitectura client-server pe dou etaje

Primul etaj
Client

Sarcini
- Interfaa cu utilizatorul
- Logica principal a afacerii i
prelucrarea datelor

Al doilea etaj
Server de baze de date

Sarcini
- Validarea din partea serverului
- Accesul la baza de date

Dan Bena, Martie 2016

Arhitectura client-server pe trei etaje


Primul etaj
Client

Sarcini
- Interfaa cu utilizatorul

Al doilea etaj
Server de aplicaie

Sarcini
- Logica afacerii
- Logica prelucrrii datelor

Al treilea etaj
Server de baze de date

Sarcini
- Validarea din partea serverului
- Accesul la baza de date

Dan Bena, Martie 2016

Arhitectura Web-SGBD
Modaliti de integrare a tehnologiei Web cu bazele de date:
CGI (Common Gateway Interface);
Server-side includes;
HTTP cookies;
Extensii ale serverelor Web: NSAPI, ISAPI etc.;
Limbaje Java, JSQL, JRB i conexiuni la baze de date prin
JDBC;
JavaScript, VBScript i alte limbaje script;
Platforma activ Microsoft;
Arhitectura de calcul n reea (NCA) folosit de Oracle etc.
Dan Bena, Martie 2016

Avantaje i dezavantaje ale integrrii Web-SGBD


Avantaje:
Simplitatea popularitate HTMLXML;
Independena de platform transparena fa de platform;
Interfa grafic cu utilizatorul accesul la baze de date se poate face
att prin interfee numerice, ct i prin interfee grafice;
Standardizare limbajul HTML este un standard de facto;
Suport pentru platforme multiple browserele ar trebui s fie
independente de platform, fiind astfel transparente la heterogenitile de
hardware, de sistem de operare i de aplicaii care gestioneaz bazele de
date;
Transparen la accesul n reea reeaua Internet permite accesarea
oricrei resurse disponibile prin utilizarea adresei URL;
Desfurare scalabil nlesnirea accesului deschide multe pori pentru
dezvoltri viitoare;
Inovaia reeaua Internet este o surs continu de noi servicii adresate
publicului larg.
Dan Bena, Martie 2016

Avantaje i dezavantaje ale integrrii Web-SGBD

Dezavantaje:
Fiabilitate nu se garanteaz calitatea serviciului i nici mcar furnizarea vreunui
rezultat cererii formulate factori: conexiune slab, nr mare de noduri intermediare, nr
de utilizatori care folosesc aceeai resurs etc.;
Securitate exist accesri anonime, atacuri concentrate, virui etc.;
Cost prezena pe Web ntr-o poziie strategic (promovare, optimizare etc.);
Scalabilitate temporar, pot exista ncrcri importante a aplicaiilor;
Funcionalitate limitat a limbajului HTML se apeleaz la limbaje precum JavaScript,
VBScript etc.;
Lips de stare protocolul HTTP este un protocol fr stare, adic nu memoreaz
cererile anterioare sunt necesare aplicaii suplimentare de control;
Lrgime de band contribuie la scderea performanelor;
Performane aplicaiile care trebuie s ofere performane n timp real sunt penalizate
de ntrzieri datorate interpretrilor limbajului HTML i eventual a celor auxiliare;
Imaturitate n dezvoltarea instrumentelor dezvoltarea la nceputuri.
Dan Bena, Martie 2016

Baze de date n economie

Capitolul 14: Baze de date inteligente i migrarea


ctre bazele de cunotine.
Evoluie i tendine noi;
Elemente ale bazelor de date inteligente;
Cerine i arhitectura unei baze de date inteligente;
Baze de cunotine.

Dan Bena, Martie 2016

Evoluie i tendine noi

Necesiti:
administarea unor volume mari de informaie,
nevoie ca informaia s fie clar i disponibil,
cerine de baze de date on-line.

Ex. Aplicaii on-line de interogare (date de access,


utilizator, parola, CMS)

Dan Bena, Martie 2016

Baze de date inteligente


Elemente:
Inteligen de nivel nalt la nivelul instrumentelor;
Nivel inteligent pentru interfaa de utilizator;
Nivelul mecanismului bazei de date inteligente.
Trei nivele pentru arhitectur: instrumente de nivel nalt,
interfaa utilizator de nivel nalt i maina bazei de date
inteligente.
Baze de cunotine:
Exemplu algoritm K-NN training (experiene trecute)
Dan Bena, Martie 2016

Desfurare laboratoare i aplicaii practice

Descrierea mediului de lucru (Microsoft Access)


Tabele (creare, modificare, tergere)
nregistrri (inserare, vizualizare, modificare, tergere,
sortri, filtrri, formatri, validri )
Chei i relaii ntre tabele
Import i export
Interogri
Formulare
Rapoarte
Dan Bena, Martie 2016

Modalitatea de notare

Nota final va fi compus din:


Examen teorie gril 20% (30 ntrebri x 0,3
puncte + 1 punct din oficiu)
Evaluare pe parcurs 30% (teme platform)
Examen practice pe calculator* 50% (BD + 9
cerine x 1 punct + 1 punct din oficiu)
*min. nota 5 pentru realizarea mediei finale
Dan Bena, Martie 2016

Bibliografie

C.J. Date, An Introduction to Database Systems, 8th Edition, Pearson Education, 2004
/ trad. de S. Preda & T. Preda, Baze de date, Plus, 2005
C. J. Date & H. Darwen, Foundations for Future Database Systems, Addison Wesley,
ed. 2-a, 2000
I. . Nichi (coord.), Baze de date i programarea aplicaiilor economice, Risoprint,
Cluj-Napoca, 2005
I. . Nichi et al., Elemente de baze de date i programare aplicate n economie,
Risoprint, Cluj-Napoca, 2009
I. . Nichi et al., Sisteme inteligente de asistare a deciziilor economice (Cap. 5.2.
Baze i depozite de date), Risoprint, 2010
D. A. Sitar-Tut, Baze de date distribuite, Risoprint, 2005
D. A. Sitar-Tut, Elemente de baze de date pentru economiti, Risoprint, 2010
I. Popescu, Modelarea bazelor de date, Ed.Tehnic, 2001
T. Connolly, C. Begg & A. Strachan, Database Systems A Practical Approach to
Design, Implementation and Management Second Edition, Addison Wesley 1995,
1998 / trad. de S. Preda & T. Preda, Baze de date Proiectare. Implementare.
Gestionare, Teora, 2001)
G. Sabu et al., Baze de date, Matrix Rom, 2008
Dan Bena, Martie 2016

V mulumesc !
Aceast prezentare a fost realizat pe baza lucrrilor:
I. . Nichi (coord.), Baze de date i programarea aplicaiilor economice, Editura Risoprint, Cluj-Napoca, 2005, ISBN 973-751-040-2 i D. A. Sitar-Tut, Baze de date
distribuite, Editura Risoprint, Cluj-Napoca, 2005, ISBN 973-651-038-0, cu toat bibliografia aferent acestor dou lucrri.

Dan Bena, Martie 2016

Universitatea Agora
Facultatea de tiine Economice
Departamentul de tiine Sociale

Baze de date n economie


conf. univ. dr. Dan Bena
E-mail: dan.benta@univagora.ro, dan@danbenta.ro
Tel: 0748 840228

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