Sunteți pe pagina 1din 48

Baze de Date în Economie

Cursul 4
SGBD – ASPECTE FUNDAMENTALE

Conf. dr. Dan-Andrei Sitar-Tăut


E-mail: dan.sitar@econ.ubbcluj.ro
Departamentul de Informatică Economică, et. 4, Birou 432
Cuprins

1. Clasificarea SGBD
2. Arhitecturi de SGBD
3. Tematică laborator
Clasificarea SGBD-urilor

1. După sistemele de calcul pe care se implementează


- SGBD pentru calculatoare mari -pentru baze de date foarte
complexe şi foarte mari (exemple: Oracle, DB2, IMS).
- SGBD pentru minicalculatoare -pentru baze de date
complexe şi mari şi au cunoscut o dezvoltare puternică în anii
‘80 (exemplu: Oracle).
- SGBD pentru microcalculatoare -pentru baze de date de
complexitate şi de mărime mici şi medii. (exemple: FoxPro,
Oracle, Access).
Tendinţa actuală: SGBD-ul să fie compatibil pe cât mai multe
sisteme de calcul sub cât mai multe sisteme de operare.
-dictată de noua tehnologie de realizare de
aplicaţii tip sisteme deschise, lucru de care ţine cont generaţia
trei de SGBD-uri.
4 2. După limbajul de programare
utilizat
2.1. SGBD-ul cu limbaj gazdă - are un limbaj de
manipulare a datelor bazat pe unul de nivel înalt
(universal). Limbajul gazdă: un limbaj universal (Cobol,
Pascal) sau o extensie (adaptare) a unui astfel de limbaj.
Avantajul: -se pot dezvolta proceduri complexe de
program;
-se pot realiza interfețe om-mașină avansate
-se valorifică experiența de programare în limbaje
de nivel înalt
Dezavantajul: formularea cererilor de regăsire se face mai
greu, de multe ori într-un mod inaccesibil utilizatorilor finali.
Acest lucru este suplinit de SGBD prin alte componente
specifice: generatoare, utilitare etc. (exemplu Oracle).
2.2.SGBD-ul cu limbaj propriu (autonom)

- are un limbaj de manipulare a datelor specific.


Limbaj de programare propriu: -este procedural.
Avantajul limbaj de programare propriu:
-permite implementarea tuturor facilităţilor oferite de SGBD.
-se pot programa proceduri complexe şi interfeţe puternice ca într-
un limbaj universal;
-se realizează un acces uşor şi optimizat la baza de date.
Dezavantajul limbaj de programare propriu:
-limbajul nu poate fi utilizat decât de specialiştii în informatică (ex.
Limbajul Visual FoxPro).

Tendinţa actuală: SGBD-ul să aibă implementat


- un limbaj procedural, şi un limbaj de regăsire neprocedural, care să
permită formularea de cereri de regăsire uşor, de către toţi utilizatorii bazei
de date.
=>majoritatea SGBD-urilor pentru microcalculatoare au implementat,
parţial sau total, limbajul SQL .
Limbajul SQL =standardizat internaţional.
3. După modelul logic de date implementat

3.1. SGBD ierarhice


-implementează modelul de date arborescent (ierarhic)
-au fost primele care s-au utilizat pentru gestionarea bazelor
de date.
Avantaje pentru domenii precise din lumea reală
înconjurătoare.
Exemple: tehnologia construcţiei de maşini, dar au limite
pentru alte domenii (exemplu: IMS).
3.2. SGBD reţea
-implementează modelul de date reţea
-au eliminat multe din limitele celor ierarhice.
-au o largă aplicabilitate pentru numeroase probleme din
lumea reală, dar sunt dificil de utilizat datorită complexităţii
ridicate (exemplu: IDMS).
3.3. SGBD relaţionale

- sunt cele care implementează modelul de date relaţional


- au aplicabilitate în majoritatea domeniilor din lumea reală.
- pot fi folosite de o gamă largă de utilizatori datorită facilităţilor
oferite (generatoare, limbaj neprocedural etc.)
Exemple: Oracle, Visual FoxPro, Paradox, Access, Informix,
Progres.
3.4. SGBD orientate obiect
-sunt cele care implementează modelul de date orientat obiect.
-se pretează bine la problemele foarte mari, de complexitate
ridicată, precum şi pentru tipurile noi de aplicaţii (proiectarea
asistată, multimedia, sisteme deschise)
Exemple: O2, Orion, Jasmin.
Aceste SGBD-uri- dezvoltate pe baza modelul de date
implementat=> SGBD fundamentale
Observații:
- Majoritatea SGBD-urilor în ultimele versiuni, au
facilităţi de tratare a obiectelor (exemple: Oracle,
Visual FoxPro).
-Pornind de SGBD-urile fundamentale, prin
extensia tehnologiei informatice=>
-alte tipuri de SGBD-uri: deductive, distribuite,
multimedia, spaţiale etc.
Alte tipuri de SGBD-uri (de exemplu cele
funcţionale) care se bazează pe alte modele de
date decât cele de mai sus. Acestea însă, au o
răspândire mai restrânsă având performanţe
doar pentru domenii bine precizate
4) După localizarea bazei de date
4.1.SGBD centralizate
-sunt cele care gestionează datele amplasate într-o singură bază de date
centrală.
-au acces toţi utilizatorii autorizaţi pentru a efectua diferite operaţii de
manipulare a datelor.
Obs:
1. Toate calculatoarele care nu sunt legate în reţea şi lucrează cu baze de date
au instalat un SGBD centralizat.
2. Un SGBD centralizat, dar cu facilităţi de lucru în reţea, trebuie instalat şi în
reţelele de calculatoare care au plasată baza de date pe un singur calculator
(de obicei pe server). Ex: Visual FoxPro, Access;

4.2. SGBD distribuite


-sunt cele care gestionează datele amplasate pe mai multe calculatoare dintr-o
reţea tratându-le ca un tot unitar.
-au o complexitatea ridicată,
-au componente speciale pentru realizarea conexiunilor şi tratarea distribuită a
datelor Exemplu: Oracle, DB2, Informix.
Arhitecturi de SGBD
SGBD-uri de diferite tipuri conform diferitelor criterii de grupare. => este dificil
de dat o arhitectură unică, valabilă pentru toate SGBD-urile, apărând
particularităţi de la un sistem la altul.
două arhitecturi de referinţă a unui SGBD propuse de grupul de lucru
CODASYL şi respectiv ANSI/SPARC

Tendințe
-arhitectura de SGBD a evoluat spre o configuraţie cu trei categorii de
componente (nucleul, interfaţa, instrumentele), vezi ultimele versiuni de
sisteme comerciale (exemplu vezi arhitectura unui SGBDR).

-arhitecturile distribuite şi orientate obiect de SGBD, utilizate în contextul de


reţea de calculatoare şi noile tipuri de aplicaţii informatice (exemplu vezi SGBD
distribuite şi respectiv orientate obiect).
1. Arhitectura pe componente (niveluri) a unui SGBD

Nu orice software care gestionează date în memoria externă este un


SGBD:
- produsul software trebuie să fie un sistem, adică un ansamblu de
programe intercorelate între ele care lucrează pentru un scop
comun.
- sistemul de programe trebuie să gestioneze date în memoria externă.
-datele trebuie organizate conform unui model de date într-o bază de
date (trebuie urmărite obiectivele unei baze de date).
Deci,
- dacă sistemul de programe gestionează o bază de date şi în plus
îndeplineşte funcţiile specifice, atunci acel sistem este un SGBD.

Rezultă că SGBD-ul conţine o serie de componente care sunt


instrumente software ce au scopul de a realiza funcţiile
specifice.
Majoritatea arhitecturilor actuale de SGBD pot fi aduse la SGBD
pe trei niveluri
Componentele unui SGBD pe 3 niveluri
• Nucleul (motorul)
-limbajul de descriere a datelor (LDD),
-limbajul de manipulare a datelor (LMD),
-componente obligatorii în kit-ul minim de SGBD.
Componenta este destinată analiştilor, programatorilor şi
administratorilor BD.
• Interfeţele sunt formate din:
-generatoarele de diferite tipuri (de meniuri, de videoformate, de
rapoarte etc.),
-elementele CASE (Computer Aided Software Engineering);
-interfeţe cu limbaje de programare universale, interfeţe cu alte
sisteme etc.
Componenta este destinată tuturor categoriilor de utilizatori: finali,
intensivi, specialişti.
• Instrumentele sunt formate din:
-editoarele, navigatoarele (browsers),
-utilitarele (shells) de diferite tipuri.
Componenta este destinată, în principal, administratorului bazei de
date, dar şi altor categorii de utilizatori.
STUDIU DE CAZ Arhitectura Oracle

13
Tehnologie R + OO → relaţional-obiectuală, DW & OLAP.
Compatibil cu Unix, Windows, Linux – pentru medii – mari & micro (Express Edition
Oracle).
Înfiinţare 1977 - Software Development Laboratories (SDL) – 1995 - Oracle
Corporation lider de soluţii pentru prelucrarea datelor, 2018 – locul 3 venituri
industria software
1979 – prima versiune comerciala; de la început SQL.
De la V 5.0, client – server, limbaj procedural propriu PL/SQL, precompilatoare
pentru limbajele de programare universale.
1995 – achiziţionează Express – una din principalele tehnologii OLAP → V8 – iunie
1997.
 iniţiază trecerea la Network/Internet Computing - flexibilitate interoperabilitate,
preţ scăzut, extensibilitate etc.
 respecta standardele de sistem deschis, comunicarea cu limbajele de nivel înalt,
limbaj propriu procedural PL/SQL
 BD de orice dimensiuni – centralizate / distribuite
 suporta zeci de mii de utilizatori
 optimizator de cereri
 facilităţi de salvare/restaurare automata
 facilităţi de partajarea tabelelor & indecşilor
 tehnologie OO
 securitate sporită.
1997 lansează 8i:
 prima BD pentru I cu suport nativ J;
14
 operabilă pe orice platforma sub orice SO
 instrumente de proiectare a BD CASE (Oracle Designer 6i), generatoare (Forms &
Reports 6i), Java Developer, Web DB etc.
1999 – primul SGBD cu suport XML.
2002 – 9i Release 2 – integrează toate facilităţile OLAP în BD R
2003 – 10g (10.2 ultima) – integrează R cu OLAP – DM – Depozite de Date
 tehnologiile OLAP includ:
 motor de calcul multidimensional pe BD stocate în spaţiu analitic –
tehnologia Exress.
 limbajul OLAP multidimensional (OLAP DML) extinde PL/SQL.
 include: analiza seriilor de timp, funcţii financiare/statistice, funcţii de
agregare.
 datele se pot stoca în tabele (de fapte & dimensiuni) - DW. Datele se
memorează în scheme stea / fulg de nea / în variabile – acces prin interfaţa
OLAP (Oracle JBeans) / SQL (Oracle Discoverer);
 interfaţa DM – incluse motor DM accesat prin interfaţă Java – Are algoritmi de
determinare de tipare în date & realizarea de predicţii pe baza tiparelor;
 opţiunea Partitioning – partiţionarea de date pentru o mai bună administrare.
De la 10g – grid computing:
 mod nou de repartizare a resurselor;
 15
BD se pun la dispoziţia mai multor utilizatori în regim cluster;
 load balancing – încărcarea serverului mai puţin utilizat;
 instrumentul Oracle Grid Control - Grid computing – mulţime de echipamente &
aplicaţii soft care comunică prin intranet sau I – fac transparent utilizatorului folosirea
serviciilor grid – operează transparent.
 modificarea & monitorizarea întregii infrastructuri IT – resurse eterogene distribuite
geografic:
 se realizează resurse de tip: servere de aplicaţii, servere de BD, servere de
stocare, echipamente de reţea;
 Oracle Enetrprise User Security – gestionează privilegiile pentru utilizatori.
 utilizatorul se creează o singură dată & are acces la multiple resurse;
 Oracle Identity Management – managementul autorizării & identificării;
 Oracle Internet Directory – soluţia integrată de acces prin dicţionar.
Dezvoltări ulterioare:
 2005: prima versiune SGBD gratuita, Oracle Database 10g Express Edition (XE).
 2006: devine lider în CRM depășind Siebel Systems.
 2007: Oracle 11g
 2008: mașina de baze de date HP Oracle Database Machine / Exadata storage.
 2013: Oracle 12c – servicii de BD în cloud
Arhitectura ORACLE pe componente:

Instrumente de dezvoltare
16

Nucleul Oracle (SQL, PL/SQL, Java)


BD

Instrumente de administrare &


întreţinere

Instrumente de configurare & migrare


Nucleul – componentele care dau caracterul relaţional Oracle:
 limbajul SQL
 limbajul PL/SQL
 Java
 Creează dicţionarul de date, informaţii despre BD (tabele +
tabele virtuale) – sursă centrală de informaţii pentru utilizatori:
se creează la comanda de definire / manipulare a datelor
nu sunt normalizate
sunt utilizate rar direct de utilizatori
tabelele virtuale – informaţii despre utilizatori, BD etc.
Instrumentele de dezvoltare a aplicaţiilor cu BD integrate în – Oracle Developer
Suite:
17
 Oracle Warehouse Builder – modelarea, generarea, încărcarea DW;
 Oracle Reports:
 Reports Developer
 As Report Service – accesarea prin Web & formatul de afişare (prin
HTML, XML, pdf etc.);
 Oracle Discoverer – instrument de raportare & interogare ad-hoc a datelor
relaţionale & multidimensionale (Discover Administrator, Discover Desktop).
 Oracle JDeveloper – instrument de dezvoltare a aplicaţiilor Java
 Oracle Forms Developer – gestiunea videoformatelor (SQL, PL/SQL, Java)
 Oracle Developer – instrument CASE soluţii pentru analişti (analiză,
proiectare, implementare):
 Oracle JBeans – set de componente Java Beans – implementare rapidă de
aplicaţii analitice folosind motorul OLAP.
 Oracle Business Intelligence Spreadsheet Add-in – pentru utilizatori Excel –
analize a datelor în spaţiul analitic
Instrumente de întreţinere & administrare:
 Oracle Enterprise Manager – Database Control
18
 suport pentru administratori : monitorizarea în timp real, analiza datelor;
 administrarea de pe maşina centrală a mai multor BD, noduri, servere
 Oracle Label Security:
 securitate la nivel de tuplu pe baza de etichete;
 etichetele: confidenţial, top secret
 protecţie în funcţie de etichetele de tuplu & secţiune vs privilegii
Instrumente de configurare & migrare:
 Oracle Database Configuration Assistant – creare, configurare, ştergere a BD;
 Oracle Administration Assitant for WNT servicii:
 pentru adminstratorii BD, operatori, utilizatori & roluri în Windows;
 Oracle Database Upgrate Assistant – trecerea de la o versiune la alta folosind
SQL Developer.

HP Oracle http://h20338.www2.hp.com/enterprise/cache/4281-0-0-0-121.html
Sun Oracle Database Machine – Oracle Exadata 2 -
http://www.oracle.com/database/database-machine.html (cea mai rapida mașină
OLTP).
Interfeţe SGBD

Un SGBD oferă interfeţele corespunzătoare tuturor categoriilor


de utilizatori pentru a facilita legătura acestora cu baza de date.
Principalele tipuri de interfeţe:
• Interfeţe pe bază de meniuri – oferă utilizatorilor o listă de
opţiuni (meniuri) pentru formularea interogărilor
• Interfeţe grafice – afişează utilizatorului un set de diagrame,
cererile sunt formulate prin manipularea acestor diagrame.
Interfeţele grafice sunt asociate cu meniurile.
• Interfeţe bazate pe videoformate se utilizează pentru
introducerea de noi date, actualizarea bazei de date şi căutare.
• Interfeţe în limbaj natural – acceptă comenzi scrise în limba
engleză sau alte limbi de circulaţie internaţională. Interpretarea
cererilor se face pe baza unui set de standard de cuvinte cheie
ce sunt interpretate pe baza schemei interne.
Interfeţe SGBD

• Interfeţe specializate pentru cereri repetate (limbaj de


comandă) – sunt destinate unei anumite categorii de
utilizatori, de exemplu pentru angajaţii unei bănci se
implementează un mic set de comenzi prescurtate pentru a
micşora timpul necesar introducerii comenzii.
• Interfeţe pentru administrarea bazei de date – se
utilizează pentru comenzile privilegiate utilizate de
administratorii bazei de date şi se referă la crearea de conturi,
parole, setarea parametrilor sistemului, autorizarea intrării pe
un anumit cont, reorganizarea structurii de stocare a datelor
din baza de date, accesul la înregistrări.
Exemple de SGBD: MySQL, Microsoft SQL, Microsoft Access,
Visual FoxPro, Oracle
Componentele software ale unui SGBD

Structura componentelor software ale unui SGBD nu poate fi generalizată -variază


foarte mult de la un sistem de gestiune la altul.
Un SGBD este partiţionat în diverse componente software (module), responsabile
de câte o operaţie specifică.
Unele funcţii ale SGBD sunt susţinute de sistemul de operare.
Principalele componente software ale unui mediu SGBD sunt:
1.Procesorul de interogare
-transformă interogările într-o serie de instrucţiuni de nivel jos, adresate
administratorului bazei de date.
Administratorul bazei de date
-realizează interfaţa bazei de date cu programele aplicaţie şi interogările lansate de
utilizatori.
Administratorul de fişiere
-manipulează fişierele de stocare aflate la bază şi administrează alocarea spaţiului
de stocare pe disc.
-stabileşte şi menţine lista de structuri şi indecşi definită în schema internă.
-nu gestionează direct intrările şi ieşirile de date, ci transmite cererea către o
metodă de acces corespunzătoare, care fie citeşte datele din bufferul sistemului,
fie le scrie în acesta.
Preprocesorul DML
-convertește instrucțiunile DML încorporate într-un program aplicație în apelări de funcții
standard din limbajul gazdă.
-trebuie să interacționeze cu procesorul de interogare pt a genera codul corespunzător.
Compilatorul DDL
-transformă instrucţiunile DDL într-un set de tabele care conţin metadatele. Aceste
tabele sunt ulterior stocate în catalogul de sistem, iar informaţiile de control sunt stocate
în antetele fişierelor de date
Administratorul de catalog
-gestionează accesul şi întreţinerea catalogului de sistem. Catalogul de sistem este
accesat de majoritatea componentelor sistemului SGBD
Arhitecturi multiutilizator
Pentru implementarea SGBD multiutilizator, uzual se folosesc trei tipuri de
arhitecturi:
1. Teleprocesarea

-arhitectura tradiţională pentru sistemele multiutilizator:


există un calculator cu o singură unitate CPU şi un număr de terminale
-toată procesarea este efectuată pe acelaşi calculator.
Principiul de funcționare
Terminalele utilizatorilor -sunt ”neştiutoare”, nu funcţionează singure.
-sunt legate la calculatorul central.
= Prin intermediul subsistemului de control al comunicaţiilor din sistemul de operare,
terminalele trimit mesaje la programele aplicaţie ale utilizatorilor, care la rândul lor,
utilizează serviciile sistemului SGBD. În acelaşi mod, mesajele sunt transmise înapoi
la terminalul utilizatorului.
Dezavantaj:
calculatorului central: rulează programele aplicaţie PA şi preia funcția atât a sistemului
SGBD, cât și o cantitate semnificativă de muncă din partea terminalelor (cum ar fi
formatarea datelor pentru afişarea pe ecran).
Apariția calculatoarelor personale de înaltă performanţă +dezvoltarea reţelelor de
comunicaţie dintre calculatoare în industrie => miniaturizare (înlocuirea calculatoarelor
mainframe cu reţele de calculatoare personale) => care obţin rezultate identice sau chiar
superioare vechii structuri=>
Efect: 2 arhitecturi noi: file-server și client-server
Arhitectura fişier – server
-procesarea este distribuită în reţea, de obicei, o reţea locală (LAN).
-cuprinde fişierele cerute de programele aplicaţii PA şi sistemul SGBD.
-aplicaţiile şi sistemul SGBD sunt executate pe fiecare staţie de lucru, solicitând, când
este necesar, fişiere de la serverul de fişiere:

-serverul de fişiere acţionează pur şi simplu ca o unitate de hard-disc partajată.


-Sistemul SGBD de pe fiecare staţie de lucru trimite serverului de fişiere cererile pentru
toate datele necesare, care sunt stocate pe disc. => genera un trafic intens pe reţea,
ceea ce poate duce la apariţia unor probleme privind performanţele.
De exemplu, să considerăm cererea unui utilizator, care conţine numele membrilor
personalului care lucrează la filiala din 163 Main St. această cerere este exprimată
astfel:
SELECT Prenume, Nume FROM Filiala b, Personal s WHERE b.nrFil=s.nrPer
AND b.Strada='163 Main St';
Serverul de fişiere
1.nu cunoaşte limbajul SQL,
2. sistemul SGBD trebuie să-i ceară fişierele
corespunzătoarere relaţiilor Filiala şi Personal în locul
numelor membrilor personalului care satisfac interogarea.

Rezultă că arhitectura fisier-server are trei dezavantaje


principale:
1. Există un trafic intens pe reţea;
2. Este necesară o copie completă a sistemului SGBD pe
fiecare staţie de lucru;
3. Controlul simultaneităţii, reconstituirii şi integrităţii este
mult mai complex, deoarece acelaşi fisier poate fi accesat de
mai multe sisteme SGBD.
Arhitectura client –server
-a fost dezvoltată pentru a depăşi dezavantajele primelor două abordări.
-se referă la modul în care interacţionează componentele de software pentru a forma un
sistem:
=>există un proces client, care necesită câteva resurse, şi un server, care oferă
resurse.
=>nu există nici o cerinţă ca atât clientul, cât şi serverul să se afle pe acelaşi
calculator.
In practică=se plaseze serverul pe un sit din reţeaua locală şi clienţii pe alte situri.
În contextul bazelor de date,
Clientul
-administrează interfaţa cu utilizatorul şi logica aplicaţiei,
-acţionează ca o staţie de lucru, sofisticată, pe care sunt executate aplicaţiile
bazei de date.
Principiu de funcționare
Clientul
1.preia cererea utilizatorului,
2.verifică sintaxa
3.generează cererea pentru baza de date în limbajul SQL sau în alt limbaj de
baze de date, adecvat logicii aplicaţiei.
4. transmite mesajul serverului, aşteaptă un răspuns şi îl formatează pentru
utilizatorul final.
Serverul acceptă şi procesează cererea pentru baza de date, după care
transmite rezultatul înapoi clientului.
Procesarea implică:
1. verificarea autorizării
2. asigurarea integrităţii
3. menţinerea catalogului de sistem
4. execuţia proceselor de interogare şi reactualizare
5. asigurarea controlului simultaneităţii şi reconstituirii.
Funcţionare:
Backend – preluarea cererilor de date de la utilizator, manevrarea BD,
28
securitate, integritate, confidenţialitate etc.
Frontend – interfaţa cu utilizatorii, cereri / prelucrări de date / comenzi,
interogarea BD, formatarea răspunsurilor etc.

Utilizatori finali

Aplicatii

Clienti
SGBD

Server
Baza de
date
Operaţiile clientului şi serverului sunt:

Avantaje tip de arhitectură :


• permite un acces mai larg la bazele de date existente;
• are performanţe crescute - dacă clienţii şi serverul se află pe calculatoare diferite,
atunci diferite unităti CPU pot procesa aplicaţii în paralel; reglarea serverului este mai
uşor de efectuat, dacă singura sa sarcină este de a efectua prelucrarea bazei de date;
• reduce costurile dispozitivelor hardware - numai serverul necesită o capacitate de
stocare şi o putere de prelucrare suficiente pentru a stoca şi gestiona baza de date;
• reduce costurile comunicaţiilor - aplicaţiile execută o parte din operaţii la client, care
trimite prin reţea numai cererea de acces la baza de date, ceea ce face ca pe reţea să
circule mai putine date;
• măreşte coerenţa - serverul poate trata verificările de integritate, deoarece
constrângerile trebuie definite şi validate într-un singur loc, fără să fie necesar ca fiecare
program aplicaţie să execute propriile verificări;
• se transpune destul de natural într-o arhitectură de sisteme deschise.
Arhitectura client-server pe 2 nivele
-poate fi utilizată pentru a oferi sisteme SGBD distribuite
-totusi ea însăşi nu constituie un sistem SGBD distribuit
-Sistemele SGBD distribuite- o extensie a arhitecturii client-server pe “două
etaje” care scindează funcţionalitatea clientului “lărgit” în două.

Creșterea consistență - serverul poate suporta controale de integritate, astfel încât


constrângerile pot fi definite și validate doar într-un singurul loc,
Hărți descriu sistemele de arhitectură destul de natural.
Arhitectura client-server pe trei nivele
-strat1= clientul “restrâns” manevrează numai interfaţa cu utilizatorul,
-stratul de mijloc manevrează logica aplicaţiilor
-strat3 îl constituie serverul bazei de date
-s-a dovedit a fi mai convenabilă pentru unele medii, cum ar fi Internet şi reţelele intranet
ale companiilor, unde un browser Web poate fi utilizat drept client. Arhitectura pe trei
niveluri poate fi extinsă la n-niveluri, cu niveluri suplimentare adăugate pentru a oferi o
mai mare flexibilitate și scalabilitate. De exemplu, nivelul de mijloc al arhitecturii pe trei
nivele ar putea fi împărțit în două, cu un nivel de server Web și un altul pentru serverul
de aplicații.
Catalogul de sistem
-un sistem SGBD trebuie să posede un catalog de sistem sau un dicţionar
de date accesibil utilizatorilor.
-Este un depozit de informaţii care descriu datele din baza de date- adică
meta-datele sau “datele despre date”.
-este una din componentele de bază ale sistemului. Volumul de date
conţinut şi modul în care sunt utilizate informaţiile variază de la sistem la
sistem.
De regulă, catalogul de sistem stochează:
• denumirile, tipurile şi dimensiunile articolelor de date
• denumirile relaţiilor
• constrângerile de integritate asupra datelor
• numele utilizatorilor autorizaţi care au acces la date
• articolele de date pe care le poate accesa fiecare utilizator şi tipurile de
acces permise
schemele externe, conceptuale şi interne şi transpunerile dintre ele
• statistica utilizării, cum ar fi frecvenţa tranzacţiilor şi contorizarea
numărului de accesări ale obiectelor din baza de date
ARHITECTURI ALE
34
SISTEMELOR RELAŢIONALE
Sistemul relaţional – tabele

1.1. Sistemul SQL/DS (System R) [Astrahan1976] - DB2 IBM; proiect de


cercetare IBM San Jose Research, în 1970.
Caracteristici:
 prima implementare SQL = standard pentru limbajele BD relaţionale
 a demonstrat ca sistemele R au un sistem tranzacţional corect
 proiectarea sistemului R & algoritmii fundamentali (algoritmi de
programare dinamica pentru optimizarea cererilor) au influenţat
dezvoltarea sistemelor relaţionale.
(extern)

Imagine 1 ... Imagine n


35

CISC DSC Schem


(conceptual)
RDS Schema
Relational ă

DBSS Căi de acces

(intern)
Baza

Componente:
DSC (Data System Control) – sistemul de operare a BD (relaţia cu CICS,
acces multiplu, pornire/oprire, tranzactii);
RDS (Relational Data System) – traduce cererile în module de acces la
tabele;
DBSS (Data Base Storage System) – acces pentru cererile generate de
RDS, alocare spaţiu, reluare în caz de eșec, interfaţa VSAM.
1.2. Ingres [Stonbraker1976]
SGBD
36 open source. Proiect de cercetare - Universitatea Berkeley 1970-1980.
După 1980 s-a transformat in diverse proiecte comerciale: Sybase,
Microsoft SQL Server, NonStop SQL etc.
Postgres (Post Ingres), de la mijlocul anilor 1980 transformat în PostgresSQL.
Ingres - unul dintre cele mai influente proiecte de cercetare din informatică.
Imagine (conceptual)
Imagine (extern)
1 n
Schema Căi de
conceptuală acces

Utilizator 1

Proces 1 Proces 2 Proces 3 Proces 4

Baza
Utilizator n
Componenţa:
Proces1 – interfaţă monitor – terminal, lansare, oprire, tipărire - interfaţa cu
utilizatorul.
37
Proces 2 - vederi, modificarea cererilor, controlul concurenţei, controlul coerenţei
datelor.
Procesul 3 - descompunerea cererilor multi-tabel, acces unitabel.
Proces 4 - crearea/distrugerea tabelelor, reluare în caz de pană – sistemul
tranzacţional.

1.3. Arhitectura generică client-server

Client – proces pe calculatorul utilizatorului, deserveşte utilizatorul, independent de


platforma & exista pe durata sesiunii.
Server – proces pe calculatorul server, deserveşte utilizatorii, caracter permanent
(daemon).
Tipuri de aplicaţii client:
 Generale – dezvoltate de utilizator în C#, C++, Java, VB etc.
 Furnizate de producător = instrumente (tools) pentru proiectarea,
manevrarea datelor din BD: generatoare de rapoarte, generatoare de
aplicaţii, instrumente de încărcare/descărcare masive a datelor, instrumente
de reorganizare a BD, calcul tabelar, statistica, CASE etc.
Obs: dicţionar de date este adesea utilizat pentru a face referire la un sistem
software mai general decât catalogul unui sistem SGBD.
Un sistem de dicţionare de date poate să fie:
1. activ este întotdeauna coerent cu structura bazei de date, deoarece
este întreţinut automat de sistem.
2. sistem pasiv poate să nu fie coerent cu baza de date, deoarece
schimbările sunt iniţiate de utilizatori.
Dacă dicţionarul de date este o parte a sistemului SGBD, atunci va fi
folosită denumirea de dicţionar de date integrat.
Un dicţionar de date autonom
-are propriul său sistem SGBD specializat.
-poate fi preferabil în stadiile iniţiale ale proiectării, deoarece acesta întârzie
cât mai
mult posibil decizia asupra unui anumit sistem SGBD al organizaţiei.
Dezavantajul: o dată ce sistemul SGBD a fost selectat şi baza de date
implementată, este mult mai dificil să se menţină dicţionarul de date
autonom coerent cu baza de date. Problemă ar putea fi minimizată dacă ar fi
posibilă transferarea dicţionarului de date din proiectare în catalogul de
sistem SGBD.
Sistemul de informaţii al
dicţionarului de resurse (IRDS)
- este un instrument software care poate fi utilizat pentru a controla şi documenta o
resursă de informaţii a unei organizaţii.
- oferă o definiţie pentru tabelele care conţin dicţionarul de date şi operaţiile care pot fi
utilizate pentru accesarea acestor tabele. Operaţiile oferă o metodă coerentă de
accesare a dictionarului de date şi o modalitate de transferare a definiţiilor datelor de la
un dicţionar la altul.
Exemplu, informaţiile stocate într-un dicţionar de date de tip IRDS al unui sistem DB2
pot fi transferate la un dicţionar de date de acelaşi tip al unui sistem ORACLE sau pot fi
accesate de o aplicaţie DB1, utilizând serviciile IRDS.
Unul dintre punctele forte ale sistemului IRDS îl reprezintă extensibilitatea dicţionarului
de date.
Dacă un utilizator al unui sistem SGBD doreşte să stocheze definiţiile
corespunzătoare unui nou tip de informaţie într-un instrument - de exemplu rapoartele
de administrare a proiectelor dintr-un sistem SGBD, - atunci sistemul IRDS al SGBD
poate fi extins pentru a include această informaţie.
Sistemul IRDS a fost adoptat ca standard de către Organizaţia Internaţională pentru
Standardizare (ISO).
Standardele IRDS definesc un set de reguli referitoare la modul în care sunt stocate şi
accesate infonnaţiile în dicţionarul de date.
Sistemul IRDS are trei obiective:
1. extensibilitatea datelor;
2. integritatea datelor;
3. accesul controlat la date.
Sistemul IRDS se bazează pe o interfaţă de servicii:
alcătuită dintr-un set de funcţii care pot fi apelate pentru a accesa dicţionarul
de date.
Interfaţa de servicii poate fi invocată de următoarele componente ale interfeţei cu
utilizatorul:
• tablou;
• limbaj de comandă;
• fişiere de export/import;
• programe aplicaţie.
Monitoare de procesare a tranzacțiilor
Un program care controlează transferul de date între clienți și servere, în scopul de a
asigura un mediu consistent, în special pentru procesarea tranzacțiilor online (OLTP).
Aplicații complexe sunt adesea construite pe partea de sus a mai multor manageri de resurse (cum
ar fi DBMS-uri, sisteme de operare, interfețe utilizator, și software-ul de mesagerie).
Transaction Processing Monitor, sau TP Monitor,
-este o componenta middleware care ofera acces la serviciile unui număr de manageri de resurse
-oferă o interfață uniformă pentru programatori care sunt in curs de dezvoltare de software
tranzacțional.

Un monitor TP formează nivelul de mijloc a unei arhitecturi pe trei niveluri

Baze de date care acceptă acest standard, poate funcționa ca un manager de resurse sub controlul
unui monitor TP care acționează ca un manager de tranzacții
1.Echilibra încărcarea: Monitorul TP poate echilibra cererile multiple ale clienților asupra mai
multor Baze de date ce sunt stocate pe unul sau mai multe calculatoare prin directionarea
cererilor la un server mai puțin încărcat.
2.Triere: În medii cu un număr mare de utilizatori, uneori poate fi dificil să se mențină un număr
mare de utilizatori conectați simultan la SGBD. De multe ori se ajunge la concluzia că unii
utilizatori nu au nevoie să stea conectați continuu la baza de date. Monitorul TP are rol de a
determina care utilizator are nevoie să fie conectat la baza de date și care nu => se optimizează
utilizarea de resurse
Creșterea fiabilității
Monitorul TP acționează ca un manager de tranzacții, efectuarea acțiunilor necesare
pentru a menține consistența bazei de date, iar pentru SGBD acționează ca un
manager de resurse. În cazul în care nu reușește SGBD, Monitorul TP poate fi capabil
de a retrimite tranzacția la un alt SGBD sau poate reține tranzacția până când SGBD
devine disponibil din nou.

Monitoare TP sunt de obicei utilizate în medii cu un volum foarte mare de tranzacții, cu scopul
de a ușura munca serverului DBMS.
Exemple Monitoare TP: CICS și Encina de la IBM (care sunt utilizate în principal pe IBM AIX
sau Windows NT și incluse în prezent în IBM TxSeries) și Tuxedo de la BEA Systems
Studiu DE CAZ
Arhitectura maşinilor de BD (MBD)
44

MBD = back-end processor = calculator / hard special – memorează &


regăseşte date.
Se proiectează special, pentru acces rapid la BD & se cuplează la calculatorul
principal (frontend) printr-un canal de viteză mare.
Se deosebeşte de serverele de BD din LAN care conţin BD & se cuplează în
reţea, MBD este legată de CPU.
MBD BD
Nucleu SGBD+ Proc. de căutare 1
Procesor de
schema
comunicaţie
relatională Proc.de căutare n
BD

Gestionar Gest. de imagini


Programe
de Im 1
Calculator Im n
gazdă utilizator
comunicaţie
Arhitectura MDB Briton Lee 500

45 Nucleu Procesor de Buffer (TB)


căutare

Controler de
căutare Controler de disc

BD BD

Specific – protocolul de manipulare a datelor – 4 tipuri de module:


 Procesor de căutare – caută & înregistrează informaţii pe disc.
 Nucleul – procesor dedicat – căi de acces, acces concurent, rezistenţa
la pene
 Gestiunea imaginilor, securitate integritate – controler de cǎutare.
 Gestiunea comunicării – procesor specific.
Tehnologia Intel de MDB

46
Nucleu & Imagini
(µP) Buffere (TB )

Multibus

Controler de
comunicaţie Controler de disc

BD BD
National Bureau of Standards (NBS) + Corporation of America + Proiectul
Sabre (Gardarin)
47

Utilitar de
administrare

Interfete
Procesor
multiple cu
de scheme
utilizatorii

Procesor
Nucleu

Baza
de
date
48 Tematică laborator
Section 9 - Mapping
 9-1 Introduction to Relational Database Concepts
 9-2 Basic Mapping: The Transformation Process
 9-3 Relationship Mapping
 9-4 Subtype Mapping
 Section 10 - Creating Database Projects
 Section 11 - Presenting Database Projects

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