Sunteți pe pagina 1din 3

Prof. univ. dr. mat. Alexandru A.

Popovici
Curs 5 PROBLEMELE GENERALE ALE SGBD-URILOR

5.1 Clasificarea problemelor


Probleme intrinseci (complexitatea internă a BD): Prelucrarea Proiectarea Fiabilitatea
interogărilor BD
— proiectare (analiza + sinteza structurilor de date şi aplicaţiilor);
— prelucrare interogări (descompunere optimă în operaţii simple);
— fiabilitate (evitare erori şi refacere după defectări); Securitatea
Probleme extrinseci (existenţa mai multor utilizatori):
— securitate (contra accesului nepermis sau utilizării incorecte);
— controlul concurenţei (sincronizarea accesului simultan la BD); Controlul
concurenţei
— gestiunea blocărilor (reluarea accesului la BD, în urma blocării
datorită aglomerării utilizatorilor concurenţi.)
Gestiunea
5.2 Definirea şi rezolvarea problemelor blocărilor

5.2.1 Proiectarea BD
Obiective: — îndeplinirea cerinţelor de coerenţă internă şi de adecvare externă ale modelelor;
— rezolvarea celorlalte probleme principale ale SGBD-urilor;
— implementabilitatea (posibilitatea implementării cu mijloacele informatice disponibile);
— eficienţa (utilizarea performantă, d.p.d.v. al timpului de prelucrare şi al spaţiului de stocare);
— flexibilitatea (capacitate de adaptare la cerinţele utilizatorilor şi ale întreprinderii);
— scalabilitatea (capacit. de dezvoltare, în funcţie de vol. datelor, nr. utilizatorilor şi mărimea reţelei);
— portabilitatea (capacit. de implementare, folosind diferite configuraţii de echipamente şi programe).
Proiectarea: — urmăreşte realizarea succesivă a celor 3-4 nivele ANSI/SPARC;
— tratarea simultană a celor două mari aspecte ale folosirii BD:
— static (structurarea stocării datelor),
— dinamic (organizarea fluxurilor de prelucrare a datelor);
— iterativă (reluarea diferitelor etape, dacă rezultatele sunt nesatisfăcătoare);
— a) fără o metodologie sistematică, b) în contextul unei metodologii.
a) Proiectarea BD fără o metodologie sistematică — 3 etape (proi. externă se face la sist. inform.):
1) proiectarea conceptuală (stabilirea schemei şi funcţiunilor logice, indep. de implementare);
2) proiectarea fizică (structura interna a datelor şi programelor de prelucrare, în raport de tipul BD);
3) proiectarea tehnică (modul de stocare pe dispozitivele tehnice şi de codificare a programelor,
în raport de echipament, sistem de operare şi de anvelopa SGBD-ului).
Proiectarea Proiectarea Proiectarea
conceptuală fizică tehnică
Cerinţe şi Schemă şi Structuri Stocări de date
restricţii funcţiuni de date şi şi programe
logice prelucrări de prelucrare

b) Proiectarea BD în contextul unei metodologii: — mai dependentă de tipul BD, decât fără metodol.;
— integrată într-o metodologie de proiectare a sistemelor informatice (SI);
— presupune o eşalonare riguroasă în timp a diferitelor operaţii (grupate în etape, subetape şi paşi);
— foloseşte, pt. descrierea rezultatelor, documente bine structurate şi reprezentări grafice riguroase;
— prezintă dificultăţi de învăţare şi de aplicare;
— se foloseşte mai ales în cazul sistemelor mari şi complexe;
— dispune de instrumente informatice evoluate, de tip CASE.
Ex. de metodologii pt. SI:— Stuctured System Analysis and Design Methodology, SSADM (pt. BD relaţ.)
— Unified Software Development Process, USDP (pt. BD obiectuale).
Erori esenţiale (contramodele) ale proiectării BD:
— concentrarea excesivă asupra aspectelor formale;
— modelarea incompletă sau incorectă a restricţiilor întreprinderii;
— proiectarea nerealistă a aplicaţiilor;
— nerepetarea totală sau parţială a proiectării în caz de inadecvare;
— adaptarea inadecvată a anvelopei SGBD-ului;
— testarea târzie şi inadecvată.

1
5.2.2 Prelucrarea interogărilor
Interogările: —selectări/grupări de înregistrări şi citiri/scrieri/prelucrări ale seturilor de înreg. rezultate;
— definite în mod abstract (apropiat de algebră, variabile ⇒ câmpuri).
4 nivele de parcurs: aplicativ, conceptual, fizic, tehnic (model ANSI/SPARC).
3 componente de program: programul utilizatorului PU, SGBD-ul, sistemul de operare SO. 5 paşi:
1) PU apelează SGBD (cu numele din program al Programul 1 Programul 2 … Programul n
datei şi valoarea cheii înregistrării dorite);
2) SGBD obţine subschema folosită de PU, obţine Nivelul aplicativ
schema şi determină tipul logic al datelor necesare, Subschema A

Subschema Z
(model (model
examinează descrierea fizică a BD, determină
înregistrarea fizică (sectorul) necesară, trimite o
comandă către SO, cerând citirea înregistrării fizice. Nivelul conceptual Schema conceptuală
3) SO interacţionează cu dispoz. de stocare a datelor şi (modelul logic)
transferă datele de la disp. la zonele tampon ale SO; SGBD
4) SGBD-ul deduce din subschemă înregistrarea logică Nivelul fizic
necesară, transformă datele cf. tipului din subschemă, Schema internă
(modelul intern)
transferă datele din zonele tampon în zona de lucru a
programului, furnizează lui PU informaţia de stare
BD
asupra operării (eventual — eroarea). Nivelul tehnic

5) PU operează asupra datelor, în zona sa de lucru BD fizică


din RAM, şi obţine rezultatele.
Prelucrarea optimă: — descompunerea interogărilor complexe în operaţii mai simple;
— aranjarea operaţiilor într-o ordine ce minimizează costurile totale de execuţie.

5.2.3 Fiabilitatea SGBD-urilor


Fiabilitatea — capacitatea de evitare a erorilor şi de refacere după eventualele defecţiuni;
— indică nivelul de siguranţă în timp al serviciului furnizat;
— poate fi îmbunătăţită prin creşterea fiabilităţii componentelor ( ⇒ costuri sporite);
— dependentă de defecţiunile tranzacţiilor, RAM, dispoz. externe, sistemului de TC.
Defecţiunile tranzacţiilor — datorate datelor de intrare incorecte sau detectării unei situaţii efective/
potenţiale de blocare din cauza concurenţei.
Defecţiunile memoriei centrale (RAM) — defecţiuni ale UC, SO sau SGBD (⇒ ştergerea conţinutului
RAM şi a informaţiei de operare SGBD, fără informaţia din BD de pe dispozitivele externe de memorare).
Defecţiunile dispozitivelor externe de memorare — defecţiuni ale SO sau ale echipamentelor ( ⇒
distrugerea BD; soluţie preventivă — duplicarea informaţiei pe discuri diferite.
Defecţiunile sistemului de telecomunicaţii (TC) — mesaje eronate, trimiterea incorectă, pierderea lor,
defectările liniilor de TC.

5.2.4 Securitatea SGBD-urilor


Securitatea — asigurarea contra utilizării de persoane/grupuri neautorizate, sau în moduri incorecte;
— controlarea domeniului de acces şi a operaţiunilor permise (controlul autorizărilor),
— încriptarea/protejarea datelor.
Controlul autorizărilor (sarcină a administratorului BD): — care utilizatori sunt admişi să intre în BD;
— momentele de acces la BD şi terminalele ce pot fi folosite;
— datele (subschemele) la care e permis accesul;
— tipul de operaţii (citire, modificare etc.) sau aplicaţiile executabile;
— modul de identificare sau de legitimare (log-in): numele şi parola.
Informaţiile pt. securitate — memorate în BD; accesibile doar administratorului.
Fişier de urmărire pentru verificare (audit trail):
— memorează utilizatorii ce se legitimează şi operaţiunile pe care le efectuează,
— permite identificarea ulterioară a celor care au deteriorat BD.
Protecţia datelor: — mijloc de secretizare a datelor (cu „cheia de încriptare”), contra utilizatorilor
neautorizaţi (care pătrund la ele);
— încriptarea + decriptarea datelor (transformări inverse ale reprezentării lor fizice).
2
5.2.5 Controlul concurenţei
Controlul concurenţei — sincronizarea accesului simultan (concurent) la BD, al mai multor utilizatori.
Mecanisme de control (unelte + metode) caută echilibrarea consistenţei BD cu un nivel înalt al concurenţei.
Unelte: — încuierea (interzicerea temporară a executării tranzacţii potenţial conflictuale);
— marcarea temporală (atribuirea de marcaje unice şi monoton crescătoare, tranzacţiilor şi
câmpurilor din BD, pt. ordonarea în timp a execuţiei tranzacţiilor, conform unor reguli/protocoluri.
Metode: — pesimiste (prin sincronizarea tranzacţiilor la începutul execuţiei lor); reuşesc totdeauna
să evite blocarea operării (dar cu un nivel mai scăzut al concurenţei);
— optimiste (amânarea sincronizării tranzacţiilor, până la apropierea terminării execuţiei lor);
nu reuşesc totdeauna (menţin un nivel înalt al concurenţei, cu preţul memorării repetate pe discuri).

5.2.6 Gestiunea blocărilor


Gestiunea blocărilor — reluarea accesului la BD, în urma blocării (din cauza folosirii încuierii).
Metode: a) detectarea şi rezolvarea — identificarea apariţiei blocării şi eşuarea forţata a unor tranzacţii
(cer rezolvarea operativă a unei probleme complexe de minimizare, cu factori de cost greu predictibili);
b) evitarea: — ordonarea resurselor şi admiterea tranzacţiilor la ele doar în ordinea stabilită;
— detectarea timpurie a posibilităţii blocării, ordonarea tranzacţiilor prin marcare
temporală şi eşuarea tranzacţiilor de la începutul sau sfârşitul şirului obţinut;
c) prevenirea: — verificarea câmpurilor accesate de tranzacţie (greu de îndeplinit) şi interzicerea
începerii ei, până când dispare posibilitatea blocării;
— recomandabilă doar pt. SGBD-uri fără rulare înapoi a tranzacţiilor;
b) şi c) — mai sigure şi cer un timp de calcul operativ mai redus decât a).

5.3 Clasificarea bazelor de date


— ţine cont de tipurile de înregistrări şi de fişiere conţinute, precum şi de relaţiile dintre acestea.
Fişiere (după structurile de date din înregistrări):
— plate (cu înregistrări formate doar din date elementare);
— adânci (cu înregistrări care au şi grupuri de date);
— obiectuale (cu înregistrări cu obiecte, formate din structuri de date şi programe de prelucrare a lor).
— tabelare (fişiere plate, cu înregistrări („linii”) având aceeaşi structură (câmpuri — „coloane”)).
Baze de date: — ierarhice (legături de tip arborescent şi fişiere adânci);
— reticulate (legături de tip reţea, posibile între orice fişiere, şi fişiere adânci);
— relaţionale (legături de tip reţea şi fişiere tabelare);
— obiectuale (cu legături de tip reţea şi cu fişiere obiectuale);
— relaţional-obiectuale (cu legături de tip reţea şi proiecţii ale obiectelor în fişiere tabelare).
Tipurile de BD se combină cu categoriile (centralizat şi distribuit) şi arhitecturile (locale şi pe 2-3 nivele)
⇒ modele reale de BD şi de SGBD-uri.
Ex.: SGBD pt. BD ierarhice — IMS (IBM, 1968), reticulate — IDMS (IBM), SOCRATE (IRIS/FELIX),
relaţionale— INGRES (DEC PDP), SYSTEM R, Informix, DB2 for z/OS (IBM mari), BASE, Fox Pro,
Access, MS SQL Server, DB2, MySQL (IBM PC), pur obiectuale — VISION, FastObjects, db4o,
relaţional-obiectuale — OPAL, Oracle (ca şi IBM DB2 — pt. cele mai importante calculatoare şi SO).