Documente Academic
Documente Profesional
Documente Cultură
Agenda
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
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
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.
Modelul relaional
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
Tipuri de legturi
Tipuri de legturi
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.
Definirea restriciilor
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).
Anomalii de actualizare
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.
Anomalia de inserare
Nr_operaie
Den_Produs
Cantitate Pret
Furnizor
Adresa_furnizor
00000001
Lalea
150
SC A SRL
00000002
Trandafir
300
SC B SRL
Aprovizionare nou
Nr_operaie
Den_Produs
Cantitate Pret
Furnizor
Adresa_furnizor
00000001
Lalea
150
SC A SRL
00000002
Trandafir
300
SC B SRL
00000003
Crin
170
12
SC B SRL
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
00000002
Trandafir
300
SC B SRL
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
00000002
Trandafir
300
SC B SRL
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
00000002
Trandafir
300
SC B SRL
00000003
Crin
170
12
SC B SRL
Forma nenormalizat
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
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
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
D_Strada
Eminescu
Copil
001
Gheorghe
001
Vasile
001
Ionut
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
...
...
...
...
...
...
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
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
SELECT
Access
probleme interogri
Obiectul;
Metoda;
ncapsularea;
Clasa;
Polimorfismul;
Persistena.
Dan Bena, Martie 2016
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
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
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
Standarde
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
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
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.
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):
Aprovizionare
Vnzri
Management
Marketing
Contabilitate
Aprovizionare
BD
BD
Contabilitate
Marketing
BD
Vnzri
Management
BD
BD
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
Fragmentarea
Fragmentarea orizontal;
Fragmentarea vertical;
Fragmentarea mixt;
Fragmentarea derivat;
Relaii nefragmentate.
Fragmentarea orizontal
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
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
Fragmentarea mixt
F1
F3
F2
F4
F5
F6
F1
F4
F3
F5
F2
F6
Fragmentarea derivat
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
Replicarea
Reproducere;
Pentru a asigura fiabilitatea i disponibilitatea;
Definiie: Replicarea presupune
fragmente n mai multe locaii;
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
Proiectarea alocrii
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
[W3C Webcompose]
Dan Bena, Martie 2016
Standardul SQL3
preintegrarea,
compararea,
potrivirea,
restructurarea i mbinarea.
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
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
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
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
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
Necesiti:
administarea unor volume mari de informaie,
nevoie ca informaia s fie clar i disponibil,
cerine de baze de date on-line.
Modalitatea de notare
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.
Universitatea Agora
Facultatea de tiine Economice
Departamentul de tiine Sociale