Sunteți pe pagina 1din 61

Introducere in

BAZE de DATE

Concepte introductive
Cosmina Ivan
cosmina.ivan@cs.utcluj.ro
Departamentul de Calculatoare
UNIVERSITATEA TEHNICA CLUJ NAPOCA

Argument
Implementarea diverselor sisteme ICT necesita
BD ca parte componenta specifica, BD solutia
optima
pentru
stocarea
si
manipulatrea
informatiei PERSISTENTE.
Ca dezvoltator de sistem (arhitect) sunt necesare o serie
de cunostinte
Interogarea/ actualizarea BD SQL si algebra
relationala necesare extragerii datelor din BD existente
Programarea aplicatiilor cu BD limbaje necesare
accesului la BD in mod programatic cu scopul procesarii
tranzactiilor (modificarii datelor) sau generarii de rapoarte
Proiectarea BD conceperea unei noi aplicatii necesita
proiectarea celei mai potrivite BD
Noi tehnologii de organizare/acces la date structuri
XML, frameworkuri obiectuale de acces la date (Hibernate
Fw, Entity Fw), baze de date nonrelationale utilizate masiv de
2
gigantii actuali ai domeniului ( Google, Yahoo)
-Mongo DB..

..Argument
Date electronice cresc exponential costul stocarii lor
scade drastic
Seturile de date cresc in diversitate si volum: biblioteci
digitale,
video interactivstructuri cu bilioane de
inregistrari
Integreaza concepte diverse din stiinta calculatoarelor :
limbaje, algoritmi, logica
Datele sunt pretioase. mai pretioase decat SW,
necesita management eficient (stocare, interogare,
protectie)
Datele necesita structuralitate pentru a fi utile
Domeniul bazelor de date contributii remarcabile in
domeniul stiintei calculatoarelor
O serie de tehnologii pentru SGBD comerciale , cu
3

..Aplicabilitate

Sisteme de gestiune
Sisteme bancare si de trading ( London stock exchange -1 mil
trades/day)
Sisteme de rezervari online
Comert electronic, GIS, BD stiintifice
Biblioteci /arhive digitale
archive.org
(150 mil pages) ,
open.library.org (23 mil books)

Tipuri de BD

De uz general

BD multimedia, BD GIS (Geographic Information Systems)

Sisteme Data Warehouses & Online Analytical Processing (OLAP)

BD timp real, active inteligente

Importanta
Nu exist aplicaie real fr BD ( Google,Amazon, E-bay, Web)
Pe piaa software exist un numr mare de SGBD-uri, pentru
toate tipurile de sisteme de calcul, sisteme de operare i
tehnologii de acces la date
SGBD-urile apar n topuri pe locul 3, din lista celor
mai vndute
4

..Organizatoric
CURS Luni 18-20
Laborator 210-Observator
MIERCURI - gr. 30221,30224
MIERCURI - 18-20, sgr. 30225/2 (Dan D.)
MARTI 8-10 - sgr.30225 /1 (Dan D.)
VINERI gr. 30222,30223

Organizatoric
Activitati practice regulament ftp
Resurse bibliografice (biblioteca UTCN/Departament,
Internet, ftp://ftp.utcluj.ro/pub/users/civan
Evaluare
Laborator 30% =6 teme obligatorii, realizate
individual
Proiect 20% - individual, din lista de sugestii/ideii
proprii acceptate
REFERAT 10%
Examen final 40%
toate componentele sunt obligatorii, nota de trecere
pentru fiecare, in caz de nepromovare se va reface
componenta
6

Obiective

Model relational /algebra relationala


Limbaj specific domeniului BD- SQL
Interogari SQL simple/complexe a datelor dintr-o BD
Elemente de proiectare a datelor relationale
(diagrame EER, UML)
Intelegerea mecanismelor/ instrumentelor necesare
construirii aplicatiilor cu baze de date
Generarea de rapoarte asupra datelor persistate
Introducere in concepte avansate din domeniul
bazelor de date securitate, tranzactii, structuri XML si
obiectuale
Familiarizarea cu tooluri utilizate in domeniul bazelor de
date (My SQKL Workbench, Microsoft SQL Server)
7

Asteptari
Studiu individual ( bibliografie, Internet.. )
Dezvoltarea/implementarea unui proiect
alegerea/implementarea
interes
Analiza/proiectarea
EER/UML

unui

unei

domeniu

baze

de

de

date

Cod SQL pentru interogare/actualizare BD


8
Dezvoltarea unei interfete utilizator
(Java,

Referinte bibliografice
1. Note de curs/lab/materiale (RO) la adresa web ftp://ftp.utcluj.ro//pub/users/civan/BD
TEXTBOOK la marile universitati (MIT, Berkeley, UCL...)
Thomas Connoly, Database systems a practical approach to
design, implementation and management, Addison Wesley, ed
4 ed5 (2009) txt book la diverse mari universitati
SUA/Anglia ftp, complexa, viziune inginereasca (modelare
UML, abordare domenii de aplicabilitate BD)
3. R.Elmasri and S. Navathe, Fundementals of Database
Systems, Benjamin/Cummings Pub. Company, 2010
extrem de multe lucrari in domeniu, trateaza conceptele
teoretice cat si aplicabilitatea practica generata de SGBD utilizat.
Multe materiale pe site-urile producatorilor de SGBD-uri.
INTERNETUL resursa imensa de referinte- vezi selectie IBD_plan de
lucru
9

CURSURI online (2)


J Widom,L. Ullman, Introduction to database systems
concepts, 2011 ( Internet)
Stanford University autotestare

https://class.stanford.edu/courses/DB/2014/SelfPaced/about
http://web.stanford.edu/class/cs145/

....nu reprezinta certificare pe un anumoit SGBD tip Microsoft,


Oracle..!!!!

10

Terminologie

Atomicitate
Atribut
1NF/2NF/3NF/4NF
Chei
Concurenta
Cardinalitate
Consistenta
DDL/DML
Proceduri stocate
Tranzactii

Data Mining
Data Warehouse
Diagrame ER
Index
Izolare
Join
Metadate
Query
Replicare
Vederi (View)

11

Modelul bazei de date

12

alt model

13

Continut curs
Introducere in BD : Baze de date , SGBD , utilizatori
de BD, componente SGBD,concepte specifice si
arhitecturi
Limbaje relationale (SQL) si algebra relationala-tool
pentru verificarea corectitudinii formularilor de acces la
date (interogari)
Constrangeri
asupra
datelor
relationale
si
exprimarea lor
Modelarea datelor Modelul Relational,EER /UML
Elemente de proiectare a BD relationale normalizarea
Nivelul fizic. Stocare si indexarea datelor.
Elemente de administrare si de securitate a datelor
Procesarea tranzactiilor si controlul 14
concurentei

Continut curs I
Utilizari ale sistemelor de baze de date
Caracteristici ale sistemelor
Problematica

bazate pe fisiere.

Definitii : BD - baza de date, SGBD Sistem de


gestiune a bazelor de date
Istoricul dezvoltarii sistemelor cu baze de date

Avantaje si dezavantaje ale utilizarii SGBD


Functiile unui SGBD
Componente majore ale unui SGBD
Arhitecturi de sisteme cu baze de date
15

Istoric
1950-1960:
Procesare de date cu stocare pe benzi magnetice acces
secvential, apar modele prerelationale ierarhic si retea
1970:
acces direct la date
Larg utilizate modelele ierarhic si retea
Ted Codd defineste modelul de date relational si conceptul
de abstractizare a datelor, regasit in sistemele de cercetare
IBM Research - System R prototype
UC Berkeley - Ingres prototype
SGBD initial evoluate din sisteme de procesare bazate pe fisiere,
vizualizarea datelor apropiata modului lor de stocare (modelele
ierarhic si retea)
Wikipedia Modelul de date relational

16

1980:
Cercetarile bazate pe prototipuri relationale au evoluat in sisteme comerciale => SQL
standard industrial
Sisteme BD Paralele si distribuite,sisteme cu BD OR si OO

1990:
Arhitecturi client server a sistemelor cu BD
Aplicatii specifice : sistemele suport decizional si pentru data mining,
data warehouses (terabyte )
Standardul SQl99, Comert electronic (~2000),
>2000:
Arhitecturi pe trei niveluri a sistemelor cu BD
Standarde XML Xquery, BD OO si in WWW larg raspandite
Noi capabilitati pentru noi clase de aplicatii (multimedia, timp real).
BigTable, Hadoop
SGBD comerciale bazate pe modelul relational cunosc o larga raspandire
: Microsoft SQL Server, Oracle , Sybase Adaptive Server, DB2
> industrie de >10 billion $
evolueaza SGBD open source performante si din ce in ce mai larg
utilizate- MySQL, PostgreSQL.
17
SGBD/BD in Cloud, abordari noSQL

BD- definitie
Baza de date
O colectie larga , integrata , de date corelate
logic si stocate pentru a mentine info si a
oferi
suport
pentru
analiza
(consultare/interogare).
Bazele de date permit
Modelarea lumii reale : entitati si relatii
Date - fapte inregistrabile din lumea reala ce
poseda semnificatie intrinseca
domeniul BD acoper largi surse de date, cu multe
concepte noi.
Cutare Web
Data mining
Baze de Date stiinifice i medicale
18

SGBD - definitie
SGBD sistem software - colectie de programe
destinat crearii, stocarii si managementului
bazelor de date
Ofera un mediu convenabil si eficient de utilizare
Gestioneaza
diverse
aspecte
de
proiectare/implementare a sistemelor cu BD
Permite crearea BD , specificarea schemei sale
Ofera suport pentru interogarea si modificarea
eficienta a datelor
Mentine securitatea datelor la accidente sau acces
neautorizat
Controleaza accesul concurent la date
ROL : reducerea dependenei aplicaiilor n
raport cu structura datelor
19

SGBD - functionalitati
Definirea bazei de date - tipuri de date,
structuri, constrangeri

Construirea/incarcarea continutului initial de


date

Manipularea bazei de date


regasire interogare, generare de rapoarte
modificare inserare/stergere si actualizare
continut
accesarea BD - aplicatii desktop/web

Partajarea continutului utilizatori


20

Ce este un model de date?


Model de date colectie de concepte
pentru descrierea datelor : structuri,
relatii, semantica
si constrangeri de
consistenta
Ofera o reprezentare abstracta, ascunde detaliile
de nivel jos ( specifice implementarii)
Descrie structura
constrangeri

BD:

tipuri

de

date,

Ofera o vizualizare conceptuala a datelor


21

relatii,

Modele de date
Conceptuale nivel inalt, semantic ofera
concepte apropiate de modul in care utilizatorii
percep datele

Fizice nivel jos, intern ofera concepte ce


descru detaliile modului in care datele sunt
stocate in sistem

De Implementare reprezentationale ofera


concepte interemdiare, folosite der SGBD
comerciale (de ex. Relational)
22

Modele de date
Modelul relational
Colectie de tabele ( relatii) ce contin inregistrari

Modelul ER ( entitate asociere)


Reprezinta obiectele de baza ( entitati) si
relatiile/asocierile dintre acestea, larga utilizare in
proiectarea conceptuala a bazelor de date

Modelul bazat pe obiecte


Introduce identitate obiectelor, incapsulare si metode de
acces

Model de date semistructurat


nu asigura o separare clara intre date si schema de date
(date autodescriptive)
Articole de date de acelasi tip pot avea atribute
diferite!?!
XML larga utilizare in reprezentarea datelor
23

Sistem de fisiere limitari (1)


Redundanta datelor si inconsistenta
Formate multiple de fisiere, duplicarea informatiei
in fisiere multiple , stergeri si actualizari dificile
ale datelor
Dificultate in accesul la date
Pentru orice nou task de acces la date
nou program
Cautarea dificila a datelor
Pentru orice interogare cod distinct

= >un

Nu asigura atomicitatea actualizarilor


Caderi in sistem determina inconsistente in BD,
24
actualizari partiale, intrerupte

Sistem de fisiere limitari (2)


Nu ofera acces concurent mai multor utilizatori
Nu exista controlul concurentei, datele necesita
protectie datorita utlizatorilor multiplii
Probleme de securitate
Dificil de oferit acces diferentiat doar la anumite
categorii de date / utilizator
anumite date pot fi pierdute, operatii neterminate
complet
Nu exista API/GUI acces evoluat la datele persistate
Nu permite modelari complexe
S fisiere unidimensional vs SBD - multidimensional

25

Argumente
PRO
Controlul redundantei datelor
Restrictionarea accesului neautorizat
Structuri de stocare adecvate
Procesare interogari eficienta
Suport pentru Backup & Recovery
Interfete multiutilizator
Reprezentarea de relatii complexe
intre date
Specificarea de constrangeri de
integritate
permite interferente si actiuni bazat
pe seturi de reguli
Suport pentru standardizare
Reducerea timpului de dezvoltare a
aplicatiilor
Disponibilitatea informatiei

CONTRA
Investitie initiala
ridicata in hardware,
software , training
Generalitatea oferita
de SGBD pentru
definirea si procesarea
datelor este peste
nivelul cerintelor
Complexitate indusa
de securizare, controlul
concurentei, recuperare
la caderi
26

Pro - contra
Cand SE utilizeaza BD
Este necesara rezolvarea persistentei datelor
Volume mari de date persistate
Date structurate
Acces concurent si/sau distribuit pt mai multi
useri
Integritatea datelor
Securizarea accesului

Cand NU SE utilizeaza BD
Investitie mare - costuri
Aplicatia e simpla ,definita si nemodificabila
Nu e necesar acces multiutilizator
Solutie alternativa colectie de fisiere gestionate de
programe de acces
27

Cum
sa . gestionam volume mari de date persistente,
omogene si structurate , utilizate in mod partajat
de catre mai multi utilizatori/procese si pentru care
trebuie mentinuta integritatea iar accesul trebuie
securizat in mod controlat
SOLUTIE dezvoltarea de aplicatii cu baze de date
colectii de date si programe ce permit manipularea
corecta si eficienta a datelor masive
O astfel de aplicatie este implementata eficient
folosind un sistem de gestiune a bazei de date
si interfete de acces la date dintr-un limbaj de
programare de nivel inalt.
28

Interfete de acces la BD
User friendly bazate pe meniuri, forme,
grafice
Stand-alone interfete SQL interactive
Interfete de program DML incapsulat in
limbaj de programare
Browser Web interfata uzuala actual
Voce -....
Interfete parametrice - ... Bancar
Specifice DBAdmin creare conturi,
administrare, parametrizare sistem, modificari
scheme si cai de acces la date.
INTERFETE de PROGRAM - SQL embedded,
SQLJ, JDBC.ODBC, PL/SQL...
29

Ce este o schema de BD ?
Schema unei BD descrierea unei colectii
particulare de date folosind un anumit model de
date
Reflecta anumite aspecte: numele , tipul articolelor de
date, anumite constrangeri
Este specificata la definirea unei noi baze de date, se
modifica relativ rar
Meta-date = date despre date , sau

de date

Diagrama
schemei

schemei

catalogul bazei

conventie de reprezentare

Schema bazei de date utilizeaz un limbaj de definire a


datelor (DDL Data Definition Language).
30
Manipularea datelor n baza de date (inserare,
tergere,

Schema fizic
Schema fizica - specific detalii suplimentare
legate de stocarea datelor ( tip, dimensiune ,
structura de fisiere, mod de organizare a
acestora)
Menioneaz modul n care tabelele (la modelul
relaional) descrise prin schema conceptual sunt
stocate pe dispozitive suport secundar ( hard disk)
Descrie tipul fiierelor pentru stocare pe suport
secundar i crearea unor structuri auxiliare de date
numite indeci n scopul regsirii mai rapide a datelor

31

Schema conceptual
Schem logic (conceptuala) , descrie
datele stocate n BD n termenii (conceptele si
abstractiunile) specifice modelului de date al
SGBD-ului utilizat.
Ex. Pentru un SGBD relaional, schema conceptual
descrie toate tabelele (relaiile) stocate n BD si modul
de relationare
Limbajul folosit pentru definirea datelor conform
schemei conceptuale
se numete Limbaj de
Descriere a Datelor (LDD)... CREATE, ALTER.....
32

Niveluri de abstractizare
Nivel fizic (intern) : descrie modul in care sunt stocate
datele (fisiere si indecsi)
Nivel logic (conceptual) : descrie datele stocate in BD si
relatiile dintre acestea.

Nivelul vederi (extern): descrie modul in care utilizatorii /


programele vad datele
ofera o modalitate prin care pot fi ascunse, detaliile
referitoare la tipul datelor, informatiile specifice de
User
User
User
securitate..

Mai multe vederi,

o SINGURA schema
conceptuala si fizica

DUALITATE concepte
din aplicatieconcepte specifice BD

Schema ANSI -SPARC

Vedere 1

Vedere 2

Nivel
Conceptual
Nivel fizic

...

Vedere n
Designer BD

Administrator BD
33

Independenta datelor
Independenta - abilitatea de a modifica un nivel
in arhitectura BD, fara a afecta celelalte niveluri
ale schemei BD
Independenta logica capacitatea de a modifica schema
conceptuala fara a afecta vederea externa (programele
de aplicatie, necesare accesului la date)

Vederile (view n modelul relaional/tabel virtual/schema extern) asigur


posibilitatea modificrii structurii datelor (schema conceptual), acest lucru
fiind ascuns aplicaiilor ce acceseaza datele

Independenta fizica abilitatea de a modifica schema


interna fara a modifica vederea conceptuala
Schema conceptual asigur posibilitatea modificrii aranjrii datelor pe
suport secundar sau a indecilor, acest lucru fiind de asemenea ascuns
aplicaiilor

Cel mai important avantaj al utilizarii unui


SGBD :
34
aplicaiile sunt IZOLATE fa de modificrile la nivel

Abordare BD-SGBD
SEPARARE program-date = INDEPENDENTA DATELOR
CONTROLUL REDUNDANTEI SGBD cotroleaza redundanta
si permite evitarea datelor inconsistente ( .. daca doar una
din copii este actualizata....)
ABSTRACTIZAREA DATELOR utilizarea unui model de
date pentru a ascunde detaliile de stocare si a oferi
utilizatorilor o vedere conceptuala asupra Bazei de date
SUPORT pentru VEDERI MULTIPLE fiecare user poate
vedea in mod diferit Baza de date, doar cu datele proprii
de interes
PARTAJAREA datelor si Tranzactii MULTI-USER - useri
concurenti, subsistem de recovery la caderi,
35 OLTP

Funciile SGBD
Transformarea datelor
Datele introduse de utilizator nu au ntotdeauna
structura identic cu cea definit n baza de date
(conversii automate de tip de date la tipul suportat
de SGBD)
Gestiunea aplicaiilor (crearea de aplicatii de
acces la date)
Limbaj de descriere a datelor ( LDD) structura de
date
Limbaj de manipulare a datelor (LMD) accesul
/utilizarea datelor

36

Funciile SGBD (2)


Importul i exportul datelor
Conversia datelor pentru prelucrarea cu alt SGBD
sau cu aplicaii tere (de ex. Excel, CSV, MS-SQL to
MySQL. Etc.)
Controlul securitii datelor
Care sunt utilizatorii ce au acces la date
La ce date are acces fiecare utilizator
Ce operaii se pot efectua de fiecare utilizator cu
datele la care are acces

37

Funciile SGBD (3)


Asigurarea integritii datelor
Restricii de integritate, de ex. SGBD-ul poate
asigura c vrsta unei persoane la introducerea n
BD este cuprins ntre x si y (tip CHECK)

Controlul accesului concurent la date


Fiecare utilizator are impresia c lucreaz de unul
singur (serializarea operaiilor de acces la date)

Gestiunea copiilor de siguran i a


recuperrii datelor (pentru situatii de cadere in
sistem exista solutii de tip backup/restore de date )
38

DDL
Limbaj de definire a schemei bazei de date
(DDL) - specifica structura de stocare si
metodele de acces utilizate
Compilatorul DDL genereaza un set de tabele stocate
in dictionarul de date
Un dictionar de date contine metadate (date
despre date)
Schema BD ( si cheile primare)
Constrangeri de integritate ( tip de date, domeniu
de valori)
Constrangeri de domeniu
Integritate referentiala (constrangeri aplicabile
referintelor intre tabele)
39

DML
Limbaj pentru a accesa si manipula datele organizate
conform unui anumit model de date (cunoscut sub
numele de limbaj query - de interogare a datelor)
Clase de limbaje DML :
Nivel inalt (nonprocedural - SQL)
Declarativ sunt specificate datele cerute insa
fara a specifica modul de acces
Permit Operatii cu BD complexe
Nivel jos (procedural)
Utilizatorul specifica ce date sunt cerute si cum
pot fi accesate
Integrat in limbaje de programare de uz
general(ex. JDBC Java database acces connectivity
in Java)
40

Actori in sisteme cu BD
Utilizatori diferentiati prin modul in care interactioneaza
cu sistemul
Programatorii de aplicatii interactiuni cu sistemul
prin apeluri DML ( SQL, SQL incapsulat in Java
JSP,ASP..)
Utilizatori
sofisticati

formuleaza
interogari
performante intr-un limbaj specializat SQL
Administrator de baza de date gestioneaza
aspecte legate de mentinerea bazei de date (schema,
securizare acces, modificari de nivel fizic indexare)
Utilizatori
de sistem
invoca programele de
aplicatii
41

Administratori de BD
Coordoneaza activitatile
la nivelul intregului sistem
software cu
BD, cunostinte specifice despre sistemul
informatic al intreprinderii, resurse, cerinte.
Responsabilitati:
1. Definirea schemei conceptuale si fizice a BD
2. Specificarea constrangerilor de integritate
3. Definirea structurii de stocare si a metodelor de acces
la date
4. Modificari in schema si organizarea fizica a datelor
5. Asigurarea
accesului securizat
pentru diversi
utilizatori ai BD (politici de securitate si autorizare)
6. Monitorizare
performante,
responsabilitati
in
schimbarea diverselor cerinte pe masura ce bazele de
date evolueaza (database tuning)
42

Proiectarea BD
Identificarea

entitatilor si a relatiilor acestora la nivel de

aplicatie alaturi de informatia despre aceste entitati


constrangerile de integritate si regulile de business
necesar
a
fi
implementate:
diferite
aplicatii
au
cerinte/perspective diferite asupra datelor
Procesul de proiectare a structurii generale a BD:
Proiectare logica Decizii ce refera schema BD .
Proiectarea presupune o colectie optima de scheme de relatii
Decizii de business ce atribute se impun a fi inregistrate in BD?
Decizii specifice domeniului ce scheme de relatii sunt necesare si cum
vor fi distribuite atributele la nivelul diverselor scheme de relatii
Proiectare fizica Decizie ce vizeaza organizarea fizica a BD
43

Proiectarea BD- Redundanta


Procesul de proiectare presupune determinarea
schemelor acestora si a relatiilor dintre ele.

tabelelor,

SCOPUL proiectarii BD evitarea redundantei


REDUNDANTA este prezenta daca informatia este stocata de mai
multe ori
Redundanta conduce la anomalii de actualizare/ stergere a
datelor si date inconsistente
SCOP proiectarea corecta si NORMALIZAREA datelor =
eliminarea redundantei
REDUNDANTA Controlata daca este permisa duplicarea
informatiei si aceasta este CONTROLATA de catre SGBD
44

Controlul concurentei
Executia concurenta a programelor a accesului la
date este esentiala pentru performanta SGBD
(accese la disc frecvente, relativ lente =>este necesara
mentinerea ocupata a procesorului,
prin procesarea
concurenta a mai multor programe utilizator)

Intreteserea incorecta a actiunilor diverselor programe


poate conduce la inconsistente in date
=> SGBD asigura prin managerul de control al
concurentei , controlul interactiunilor intre tranzactiile
concurente pentru a asigura consistenta bazei de date
( CONTINUT CORECT)
45

Managementul tranzactiilor
Tranzactie - colectie de operatii ce efectueaza o
singura functie logica intr-o aplicatie cu BD
o secventa atomica de actiuni asupra unei baze
de date (citiri/scrieri)
Fiecare tranzactie executata COMPLET lasa BD intr-o
stare consistenta ,daca aceasta a fost intr-o stare
consistenta la inceputul tranzactiei
Managerul tranzactiilor componenta ce asigura ca
BD sa ramana intr-o stare consistenta, corecta
indiferent de caderi in sistem (tensiune, SO sau de
nefinalizarea executiei unei tranzactii)
Proprietatile unei tranzactii :
Atomicitate ,Consistenta,Izolare,Durabilitate
46

Recuperarea datelor
SGBD asigura atomicitatea (all or nothing),
chiar daca sistemul cade in mijlocul unei
tranzactii
Solutie abordata : se mentine o ISTORIE a
actiunilor SGBD la executia unui set de
tranzactii (.log)
Inaintea oricarei modificari asupra BD se va salva in mod
corespunzator o intrare in fisierul .log (exista un protocol
specializat, relativ complex. )
Dupa o cadere in sistem , efectele unor tranzactii partiale pot
fi anulate (folosind acest fisier .log)
47

Arhitectura
unui SGBD
Ramakrishnan,

48

Cum funcioneaz?
SGBD-ul accept comenzi SQL generate de o varietate
de interfee utilizator
SGBD-ul produce planuri de evaluare a interogrilor,
pe care le execut asupra datelor din BD, i returneaz
rspunsuri
Un utilizator emite o interogare, aceasta este analizat
de catre SGBD i este prezentat unui optimizator, care
folosete informaia despre felul n care sunt stocate
datele pentru a produce un plan de execuie eficient
Un plan de execuie este o reprezentare sub form
de arbore
de operatii (cu adnotaii ce conin
informaii detaliate suplimentare legate de
metodele de
49

Codul ce implementeaz operatorii arborelui operator st


deasupra stratului File and Access Methods

Nivelul File and Access Methods suport o structura


de pagini neordonate, sau indeci, urmrete cum sunt aranjate
paginile n fiier i organizeaz datele n interiorul unei pagini
Nivelul buffer manager este responsabil cu aducerea
paginilor de pe disc n memoria intern
Nivelul disk space manager este cel mai de jos strat al
unui SGBD i se ocup de administrarea spaiului pe suport
extern, unde sunt stocate datele

Nivelurile Transaction Manager , Lock Manager


i Recovery Manager asigur accesul concurent i
recuperarea datelor n caz de incidente

Prin implementarea unor protocoale de blocare a accesului , prin


planificarea cu atenie a cererilor utilizatorilor i prin pstrarea ntr-un
jurnal a tuturor modificrilor asupra BD
50

Clase de arhitecturi

Arhitectura cu server de fisiere


Arhitectura client server two tier ( pe doua niveluri)
Arhitectura client server three tier ( trei niveluri)
Arhitecturi N tier
Arhitecturi P2P

Arhitectura cu server de
fisiere
Serverul de fisiere este un computer conectat la
retea ce serveste ca spatiu de stocare partajat
pentru acces la BD
Procesarea este distribuita in retea, WS solicita
date
Serverul de fisiere nu este SQL aware, relatiile
sunt transferate la WS pentru a putea fi procesata
interogarea
Dezavantaj trafic in retea, cost ridicad software
pe WS, problematic controlul concurentei, SGBD
multiple aceeseaza aceeasi BD

Client server - Two tier


comunicare intre C-S (prin IPC inter process
communication - mecanisme SO, sau peste retea protocoale specializate (ODBC/JDBC)
Avantaje cresc performanta anumite taskuri se pot
executa in paralel, serverul poate fi optimizat pentru
procesare BD
Reduce costurile de comunicatie doar anumite date
selectate sunt transferate
Reduce cost hardware - un singur server ruleaza
SGBD
Creste gradul de consistenta si securitate - separare
functionalitati (verificare constrangeri intr-un singur
loc)

Two tier client-server


Dezavantaj
Limitari sub aspectul scalabilitatii la nivel
enterprise - cu mii de potentiali clienti
Incarcare semnificativa pe parte de client pentru
administrare
Deployment (distributia= componentelor
aplicatiei scump pentru o noua logica a aplicatiei
Clientii pot necesita resurse substantiale pentru
procesare

Three tier client server


Niveluri : nivel prezentare (client) nivel logic (serverul de
aplicatie) si nivel de date (serverul de baze de date) ce pot
rula pe platforme diferite
Nivel prezentare
Prezentarea datelor interfata utilizator
Validare intrari de date
Trimite cereri serverului si primeste raspunsuri
Nivel logic logica de business ( a aplicatiei), logica de
procesare a datelor
Nivel de date
validarea datelor ( trigere proceduri)
gestionarea acceselor concurente la date ( tranzactii) si
autorizare acces, control recuperare la caderim,
procesare query

Three tier client-server


Avantaje
reducerea costurilor pentru clienti datorita unor cerinte mai
reduse de resurse
ex aplicatia ruleaza in browser
logica aplicatiei este centralizata intr-un singur server
de aplicatie
reduce problema distributiei software specifica
arhitecturilor two tier
creste modularitatea codului
este usor de inlocuit un nivel fara a le afecta pe celelalte
echilibrarea incarcarii este mai simpla cu separare clara
intre core bussiness si functionalitatile bazei de date

Sisteme Web

arhitectura Three tier se mapeaza natural peste


mediile Web
Browserul ca si client thin,
In aceasta abordare a fost redus substantial
costul de distributie software

Arhitectura N Tier
Three tier poate fi extinsa cu un nivel intermediar pentru
cresterea flexibilitatii
Separare intre server web si serverul de aplicatii
Creste flexibilitatea pentru echilibrarea incarcarii prin
introducerea de servere multiple
Continutul dinamic este livrat de serverul de
aplicatie, iar continutul static de serverul de web

Arhitectura P2P
Sisteme ce schimba informatii si
servicii in maniera P2P fara o autoritate
centrala
Nu exista schema globala este necesara
integrarea de scheme... Complex
partajare de date si servicii
Nu sunt clienti servere dedicate
Site-urile pot forma in mod dinamic noi relatii C-S

Transaction processing
monitor
middleware software ce conecteaza intre aplicatii sau
alte componente software
Ascunde complexitatea heterogeneitatii si distributiei si ofera o
interfata uniforma
TP ofera avantajele:
rutarea tranzactiilor, creste scalabilitatea prin directarea
trazactiilor catre anumiite SGBDbuit
management distribuit al tranzactiilor acces la SGBD diferite
echilibrarea incarcarii- transmite tranzactia la cel mai putin
intacarcat server
creste siguranta functionarii- la caderea unui SGBD, cererea
destinata este trimisa altui SGBD , sau este stocata pentru
retrimitere dupa refacere

Baze de date distribuite


BD distribuita colectie de date si metadate partajate,
corelate logic si distribuite in retea
SGBD sistem software ce gestioneaza in mod transparent
o BDD
Tranzactii locale - acceseaza doar datele din site-ul ce a
initiat tranzactia
Tranzactii globale acceseaza date din diverse site-uri
Argumente pt BDD
Partajare date posibil aflate pe alte site-uri
Autonomie fiecare site detine un grad de cotrol asupra datelor locale
Disponibilitate - caderea unui site mentine sistemul operational, datele
pot fi replicate pe mai multe site-uri

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