You are on page 1of 30

Baze de date relaţionale 5

Unitatea de învăţare 1.
BAZE DE DATE

Introducere
Organizaţiile gestionează colecţii de date în scopul satisfacerii cerinţelor
informaţionale la toate nivelele decizionale (operaţional, tactic,
strategic). În absenţa datelor asupra funcţionării interne şi asupra
mediului extern, o organizaţie nu ar putea supravieţui.
Procesul de organizare şi prelucrare a datelor a parcurs mai multe
etape, până s-a ajuns la soluţia dominantă în prezent, care constă în
organizarea datelor în baze de date.

Competenţele unităţii de învăţare


După parcurgerea acestei părți studenții vor înțelege următoarele
concepte:
Evoluţia procesului de organizare a datelor
Baze de date – concepte generale
Sistemul de gestiune al bazei de date (SGBD)
Arhitectura funcţională a sistemului de gestiune al bazei de
date
Arhitectura client - server
Modele de baze de date
Modelul entitate – asociere (E-A)
Bază de date – Bancă de date
Scurtă istorie a bazelor de date

Durata medie de parcurgere a primei unităţi de învăţare este de 4 ore.

[CON01], [HER03], [POI96], [POI01], [GBD02], [DAT05], [FLO99], [ION04], [FOT97],


[MIR88], [GAR03], [DOL98]
Baze de date relaţionale 6

1.1. EVOLUŢIA PROCESULUI DE ORGANIZARE A DATELOR

O colecţie de date reuneşte date despre o anumită clasă de obiecte (reale sau
conceptuale). De exemplu, în domeniul contabilităţii financiare, colecţia de date
CONTURI conţine informaţiile referitoare la clasa de obiecte conturi: simbolul
contului (SIMB_CONT), denumirea contului (DEN_CONT), tipul contului (TIP_CONT),
soldul iniţial debitor (SID) şi respectiv soldul iniţial creditor (SIC). Evident, un cont
dat va avea soldul iniţial fie debitor, fie creditor. Pentru exemplificare considerăm
colecţia de date CONTURI.

SIMB_CONT DEN_CONT TIP_CONT SID SIC


121 Profit şi pierderi B 0 1000

O realizare a colecţiei de date CONTURI

Într-o întreprindere sunt identificate mai multe colecţii de date, de exemplu:


PERSONAL – conţine informaţii despre persoanele angajate în firmă;
PRODUSE - conţine informaţii despre produsele realizate;
STOCURI - conţine informaţii despre stocurile existente de materii prime,
materiale, produse finite, etc.
TRANZACŢII - conţine informaţii privind intrările în / ieşirile din stocuri.

Procesul de organizare a datelor presupune:

 definirea, structurarea, ordonarea şi gruparea datelor în colecţii de date


omogene;
 stabilirea relaţiilor între date, între elementele unei colecţii, între colecţii
de date;
 stocarea datelor pe suport informational.

Organizarea datelor este necesară pentru:

 minimizarea timpului de acces la date;


 asigurarea unicităţii datelor;
 sistemul de organizare a datelor adoptat trebuie să reflecte cât mai fidel
toate legăturile dintre obiectele, fenomenele, procesele economice pe
care aceste date le reprezintă;
 asigurarea flexibilităţii datelor.
Baze de date relaţionale 7

Etapele evoluţiei procesului de organizare a datelor

Procesul de organizare şi prelucrare a datelor a parcurs mai multe etape, până s-a
ajuns la soluţia dominantă în prezent, care constă în organizarea datelor în baze de
date.
Principalele etape ale evoluţiei tehnicilor de organizare şi prelucrare a datelor sunt:
 Prima etapă – se caracterizează prin adaptarea tipurilor de organizare a
datelor existente în sistemele de prelucrare manuală la condiţiile tehnice
impuse de calculator. În această etapă apare fişierul organizare
secvenţială, iar ca suport de memorare externă se utilizează benzile
magnetice. Este caracteristică prelucrarea pe loturi (batch processing).

 A doua etapă – este marcată de separarea dintre structura logică de date


şi structura fizică. Rezultă independenţa fizică a datelor. În această etapă
se utilizează fişiere secvenţial-indexate, fişiere directe, fişiere inverse, etc.
Ca suport de memorare externă apare discul magnetic.
Se asigură independenţa aplicaţiilor de modificările echipamentelor
hardware (banda, disc, etc.). Apar primele facilităţi simple de protecţie a
datelor. Apare posibilitatea de lucru în mod conversaţional. O facilitate
importantă pusă la dispoziţia utilizatorilor este generarea automată de
rapoarte. Apare o separare (parţială) între modul în care un fişier este
privit de utilizator (nivelul logic) şi modul cum se memorează pe suportul
magnetic (nivelul fizic).

O caracteristică comună a primelor două etape: fiecare aplicaţie lucrează cu


propriile fişiere, fără a avea nici o legătură cu fişierele utilizate de alte aplicaţii.
Aceasta aduce inconveniente majore legate de:
 redundanţa datelor - prezenţa aceleiaşi date în mai multe fişiere, crează
probleme evidente în operaţiile de actualizare;
 inconsistenţa datelor - aceeaşi informaţie este memorată diferit în fişiere
diferite (mai ales când informaţia se modifică);
 absenţa unor legături logice între datele din grupuri diferite de fişiere,
număr mare de fişiere, timp mare de prelucrare;
 flexibilitate redusă a sistemului la apariţia unei noi aplicaţii.

 A treia etapă – este definită de apariţia fişierelor integrate (sisteme de


fişiere). Se reduce redundanţa şi implicit inconsistenţa datelor - aceleaşi
date fizice pot fi utilizate în comun de către mai multe aplicaţii. Apar
proceduri care gestionează relaţiile dintre fişierele din sistem, rezultând
astfel o structură logică unitară. Rămân însă deficienţele comune primelor
două etape, legate de gestiunea fişierelor care uneori este realizată cu
programe scrise în diferite limbaje de programare. Structura fişierului
Baze de date relaţionale 8

trebuie precizată în programul de gestiune, ceea ce conduce la


modificarea programului în cazul modificării structurii fişierului.

Notă. Structura integrată stă la originea noţiunii de model conceptual (modelul ce


conţine descrierile tuturor datelor şi a legăturilor dintre ele).

În concluzie, sistemele bazate pe fişiere (file based) au următoarele caracteristici:


 fiecare program defineşte şi gestionează propriile date;
 datele sunt descrise independent în toate fişierele în care apar;
 fiecare fişier de date este descris în toate programele care îl accesează;
 nu există control al accesului şi manipulării datelor, în afara celui impus
prin programele de aplicaţie.

Din aceste carcateristici decurg următoarele dezavantaje ale organizării datelor


după modelul file based:
 redundanţa şi inconsistenţa datelor;
 dificultatea accesului – în cazul în care o informaţie este exploatată de mai
mulţi utilizatori, fişierele tradiţionale nu permit accesarea datelor după mai
multe criterii specifice diferiţilor utilizatori sau grupuri de utilizatori;
 complexitatea actualizărilor – într-un mediu multiutilizator (multiuser)
efectuarea unei actualizări (modificare, adăugare sau ştergere) poate
conduce la situaţii conflictuale atunci când doi utilizatori vor să modifice
simultan aceeaşi dată; acest gen de conflicte poate fi rezolvat printr-un
program supervizor al prelucrărilor;
 probleme de securitate – crearea unor mecanisme de protecţie a datelor
împotriva accesului neautorizat este dificilă;
 asigurarea integrităţii datelor – presupune crearea unor proceduri de
analiză a restricţiilor semantice la care sunt supuse datele; acestea
formează mecanismul de integritate;
 dificultatea de a obţine răspunsuri rapide la probleme ad-hoc simple –
presupune realizarea unor programe utilizând limbaje procedurale pentru a
obţine răspunsul la o interogare;
 inflexibilitatea faţă de schimbările ulterioare din sistemul informaţional;
 costul ridicat – datorat gradului de redundanţă a datelor şi efortului
necesar interconectării fişierelor de date pentru a realiza un nivel minim de
integritate şi securitate a datelor.

 A patra etapă – este etapa bazelor de date. Sintagma bază de date apare
în anul 1964, în titlul conferinţei Development and Management of a
Computer – Centered Data Base organizată la Santa Monica (California) de
System Development Corporation. Momentul consacrării termenului
DATA BASE este 1969, când la CODASYL (Conference On DAta SYstems
Language) se prezintă într-un raport conceptul de bază de date.
Baze de date relaţionale 9

1.2. BAZE DE DATE - CONCEPTE GENERALE

DATA - înregistrarea unei observaţii, obiect, fenomen, imagine, sunet sau text,
într-o formă convenabilă unei prelucrări, interpretări sau transmiteri prin
mijloacele informaticii. Datele reprezintă aspecte elementare nesupuse unei
prelucrări şi neevaluate din punct de vedere al utilităţii.

INFORMAŢIA - semnificaţia ce poate fi ataşată sau poate fi dedusă dintr-un


ansamblu de date pe baza corelaţiilor dintre acestea, având un scop bine
determinat, de satisfacere a cerinţelor utilizatorilor.

BAZA DE DATE (Database) – un ansamblu structurat de colecţii de date


operaţionale înregistrate pe suport adresabil, aflate în interdependenţă logică,
împreună cu descrierea datelor şi a relaţiilor dintre ele şi care sunt prelucrate în
aplicaţiile informatice ale unei organizaţii. Baza de date permite operaţii de
introducere, ştergere, actualizare şi interogare a datelor.

BAZA DE DATE este un ansamblu de date:


 structurate;
 coerente, adică există legături (interdependenţe) logice între diferitele
colecţii ce alcătuiesc baza de date;
 persistente, adică datele rămân memorate pe suport magentic,
independent de execuţia programelor de aplicaţii, fiind păstrate pentru o
anumită perioadă de timp;
 neredundante - condiţia de neredundanţă este în general înlocuită de o
condiţie mai slabă: redundanţă minimă şi controlată în scopul de a mări
viteza de acces la date;
 independente de programul de aplicaţie;
 direct accesibile după mai multe criterii;
 simultan accesibile de către mai mulţi utilizatori.

În gestiunea bazelor de date există două tipuri de de baze de date:

BAZE DE DATE OPERAŢIONALE – sunt utilizate cu precădere în prelucrarea on-line a


tranzacţiilor (on-line transaction processing – OLTP), adică în situaţii cînd este
necesară colectarea, modificarea şi întreţinerea zilnică a bazelor de date. Datele
stocate într-o bază de date operaţională sunt de tip dinamic, ceea ce înseamnă că
se modifică în permanenţă şi reflectă întotdeauna informaţii actualizate în timp
real.
Baze de date relaţionale 10

BAZE DE DATE ANALITICE - sunt utilizate mai ales în aplicaţiile de prelucrare


analitică on-line (on-line analytical processing – OLAP), când este necesară stocarea
şi urmărirea datelor istorice şi dependente de timp. Sunt importante cînd este
necesară urmărirea tendinţelor, vizualizarea datelor statistice pe o perioadă mai
lungă de timp, sau efectuarea unor previziuni tactice sau strategice de afaceri.
Datele stocate într-o bază de date analitică sunt de tip static, adică nu se modifică
niciodată (sau foarte rar). Bazele de date analitice utilizează frecvent bazele de date
operaţionale ca sursă principală de date.

Prezenta lucrare abordează din problematica bazelor de date operaţionale numai


bazele de date relaţionale.

ARHITECTURA UNUI SISTEM DE BAZE DE DATE (Database System) cuprinde:

 baza de date propriu-zisă în care se memorează datele


 software-ul format din Sistemul de Gestiune al Bazei de Date (SGBD) şi
aplicaţiile de baze de date (Database Application)
 metabaza de date - dicţionarul datelor (DD), conţine informaţii despre
date, structura acestora, documentaţie
 hardware-ul utilizat
 utilizatorii bazei de date: administratorul bazei de date, programatorul de
aplicaţii (administratorul aplicaţiei) şi utilizatorii finali (nespecialişti)
 reglementările legislative ce permit buna funcţionare a sistemului.

Cerinţele minimale care se impun unei baze de date sunt:

 furnizarea în timp util a informaţiilor solicitate, se referă la timpul de


răspuns la o interogare efectuată;
 costuri minime de prelucrare şi întreţinere a informaţiei;
 capacitatea de a satisface, cu aceleaşi date necesităţile informaţionale ale
unui număr mare de utilizatori;
 flexibilitatea - posibilitatea de adaptare la cerinţe noi, de a da răspunsuri
la interogări neprevăzute iniţial;
 integrarea – baza de date poate fi considerată o unificare a mai multor
fişiere – altfel diferite – redundanţa acestor fişiere fiind parţial sau total
eliminată;
 asigurarea unei redundanţe minime şi controlate a datelor – rezultă din
cerinţa de integrare; menţinerea a mai multor copii ale aceloraşi date
poate fi impusă de motive de ordin tehnic, însă această redundanţă
minimă trebuie controlată cu atenţie, ceea ce presupune ca sistemul de
gestiune al bazei de date să o cunoască şi să-şi asume responsabilitatea
de a propaga actualizările;
Baze de date relaţionale 11

 partajarea şi sincronizarea – posibilitatea de partajare şi exploatare


simultană a datelor de către mai mulţi utilizatori; se realizează astfel
posibilitatea de acces concurent la date;
 confidenţialitatea – asigurarea securităţii datelor prin mecanisme de
protecţie împotriva accesului neautorizat;
 integritatea – presupune existenţa unor proceduri de validare şi
recuperare a datelor după accidente; problema integrităţii este de
garanta (atât cât este posibil) că datele din baza de date sunt corecte;
 compatibilitatea şi expandabilitatea – posibilitatea de valorificare a
eforturilor anterioare şi anticiparea nevoilor de dezvoltare;
 permisivitatea – posibilitatea de ierarhizare a datelor după criteriul
frecvenţei acceselor, sau reorganizarea datelor în scopul creşterii
performanţelor bazei de date.

Utilizatorii bazei de date:

 Administratorul bazei de date (DBA - DataBase Administrator) este


responsabil cu menţinerea funcţionalităţii bazei de date, prin efectuarea
operaţiilor periodice de salvare a datelor (backup) şi de refacere a datelor
în cazul apariţiei unui incident (rollback), prin urmărirea performanţelor
sistemului, autorizează drepturile de acces pentru diferitele categorii de
utilizatori, ajută la definirea cerinţelor utilizatorilor, etc.

 Programatorul de aplicaţii (administratorul aplicaţiei) este cel care


dezvoltă aplicaţiile de baze de date folosind limbaje de programare de
nivel înalt, generatoare de aplicaţii şi biblioteci care permit încorporarea
operaţiilor de acces la baza de date; aplicaţiile care rezultă pot fi cu
execuţie independentă (batch-processing) sau pot fi aplicaţii interactive
(on-line) destinate utilizatorilor finali.

 Utilizatorii finali (nespecialişti) accesează baza de date prin intermediul


unui program de aplicaţie care le dă drepturi limitate de acces la date
pentru anumite operaţii de prelucrare; utilizatorii finali, în general,
efectuează un număr mare de operaţii tranzacţionale asupra bazei de
date utilizând interfeţe de comunicare cu baza de date apropiate de
limbajul natural, dar nu cunosc structura bazei de date şi nici modul
efectiv de lucru cu baza de date.

Arhitectura internă a unui sistem de baze de date (figura 1.1) - conţine trei nive
niveluri de abstractizare şi percepţie a datelor, introduse în anul 1975, prin raportul
ANSI/SPARC DBMS – Report of the Study Group on Data Base Management Systems
Baze de date relaţionale 12

(ANSI/SPARC înseamnă American National Standards Institute / Standards Planning


And Requirements Committee):

 Nivelul intern (Internal Schema) – specifică modul de stocare a datelor în


sistem. Vederea internă este o reprezentare de nivel inferior a întregii
baze de date şi este descrisă prin intermediul schemei interne, care
defineşte diversele tipuri de înregistrări stocate, specifică indexurile care
există, modul în care sunt reprezentate câmpurile stocate, în ce secvenţă
fizică se află înregistrările stocate, etc. Schema internă este scrisă
folosind un limbaj de definire a datelor - limbajul DDL intern.
Administratorul bazei de date este responsabil cu crearea schemei
interne, adică proiectarea fizică a bazei de date.
 Nivelul extern (External Schema, User’ View) – este nivelul logic al
utilizatorului individual, care este cel mai apropiat de utilizator. Acesta
poate fi un programator de aplicaţii (administratorul aplicaţiei) sau un
utilizator final. Fiecare utilizator are la dispoziţie un limbaj:
- pentru programatorul de aplicaţii (administratorul aplicaţiei)
limbajul poate fi Java, C++, PL/I, etc.
- pentru utilizatorul final limbajul va fi ori unul de interogare (SQL),
ori unul specializat adaptat cerinţelor utilizatorului.

Un sistem de baze de date acceptă mai multe limbaje gazdă. Un


sublimbaj de date (DSL – Data SubLanguage) este un subset al limbajului
complet, care se referă în mod specific la obiectele şi operaţiile bazei de
date. Sublimbajul de date este înglobat în limbajul gazdă corespunzător.
Unul dintre sublimbajele de date acceptat de către majoritatea
sistemelor curente este SQL. Limbajul SQL, care va fi prezentat în
Capitolul 4, poate fi folosit interactiv, ca limbaj de interogare autonom,
cât şi înglobat în alte limbaje, cum ar fi Java, C++, PL/I, etc.
De exemplu, sistemul de baze de date Oracle are 6 precompilatoare (C,
Pascal, Ada, Cobol, Pl/1, Fortran) care permit includerea de instrucţiuni
SQL sau blocuri PL/SQL în programele scrise în limbajele gazdă.
Orice sublimbaj de date conţine două limbaje subordonate:
- un limbaj de definire a datelor (DDL –Description Data Language)
pentru definirea obiectelor bazei de date;
- un limbaj de manipulare a datelor (DML – Data Manipulation
Language) care realizează prelucrarea acestor obiecte.

Observăm că graniţele dintre: a) limbajul gazdă şi sublimbajul de date şi


b) limbajele DDL şi DML sunt de natură conceptuală. Important este ca
aceste limbaje să fie transparente pentru utilizator.
Baze de date relaţionale 13

Utilizator A1 Utilizator A2 Utilizator B1

Limbaj Limbaj Limbaj


gazdă + gazdă + gazdă +
DSL DSL DSL

Schema Schema
externă A - Vedere externă externă B - Vedere externă
interfaţa cu interfaţa cu
utilizatorul A utilizatorul B

Corespondenţa
extern/conceptual pentru
Corespondenţa B
extern/conceptual pentru
A

Schema Vedere
conceptual conceptuală
ă

Sistemul de
Corespondenţa
gestiune a
conceptual bazelor de date
/intern
(SGBD)

Definiţia
structurii de Baza de date stocată

stocare
(Vedere internă)
(schema
internă)
Baze de date relaţionale 14

Fig.1.1. Arhitectura unui sistem de baze de date [DAT05]


 Nivelul conceptual (Conceptual Schema) – corespunde unei reprezentări
abstracte a întregului conţinut informaţional al bazei de date. Schema
conceptuală este scrisă folosind un limbaj DDL conceptual şi conţine
definiţii ale conţinutului informaţional, care includ caracteristici
suplimentare, cum ar fi constrângerile de securitate şi de integritate.
Proiectarea logică sau conceptuală a bazei de date reprezintă
responsabilitatea administratorului de date (DA – Data Administrator).
Administratorul de date (numit şi administratorul întreprinderii) este
persoana care “înţelege” datele şi necesităţile întreprinderii referitoare la
ele. Are ca sarcină de a decide ce date trebuie stocate în baza de date şi
de a stabili regulile de întreţinere şi de tratare a acestor date, după ce
sunt stocate.

1.3. SISTEMUL DE GESTIUNE AL BAZEI DE DATE (SGBD)

Sistemul de gestiune al bazei de date (DBMS - Database Management System) este


un ansamblu de programe (produs software) care permite definirea, actualizarea şi
consultarea datelor din baza de date.

Sistemul de gestiune al bazei de date tratează accesul la baza de date după


următorul algoritm:

Pasul 1. Utilizatorul lansează o cerere de acces, folosind un sublimbaj de date (de


regulă SQL)
Pasul 2. Sistemul SGBD acceptă cererea şi o analizează
Pasul 3. SGBD-ul analizează pe rând schema externă, corespondenţa extern-
conceptual, schema conceptuală, corespondenţa conceptual-intern şi
definiţia structurii de stocare
Pasul 4. SGBD-ul execută operaţiile necesare în baza de date stocată.

Obiectivele unui SGBD:

 Independenţa fizică. SGBD-ul are ca obiectiv central asigurarea


independenţei dintre structurile de stocare a datelor şi structurile de
date din lumea reală, adică dintre schema internă şi schema conceptuală.
Baze de date relaţionale 15

Cele două scheme descriu aceleaşi date, dar la nivele diferite.


Independenţa fizică dă posibilitatea modificării schemei interne fără a
modifica schema conceptuală, ţinând cont doar de criterii de
performanţă şi flexibilitate a accesului.

 Independenţa logică – este un obiectiv important şi reprezintă


posibilitatea de a modifica schema externă fără a modifica schema
conceptuală. Asigură deasemenea independenţa între utilizatori, fiecare
având o anumită viziune asupra bazei de date. Avantajele independenţei
logice sunt următoarele:
- permite fiecărui grup de utilizatori să vadă datele aşa cum şi le
doresc;
- permite evoluţia schemei externe a unui grup de utilizatori fără a
modifica schema conceptuală;
- permite evoluţia unei scheme externe, fără a afecta celelalte
scheme externe.
În rezumat este posibil de a adăuga / şterge atribute, de a adăuga / şterge
asociaţii, de a adăuga / şterge entităţi, în schemele externe, dar şi în
schema conceptuală, fără a modifica cea mai mare parte a aplicaţiilor.

 Partajabilitatea datelor – obiectivul este de a permite ca aplicaţiile să


partajeze datele din baza de date în timp şi simultan. O aplicaţie poate
folosi date ca şi cum ar fi singura care le utilizează, fără a şti că o altă
aplicaţie, concurent, le poate modifica.

 Integritatea şi coerenţa datelor – obiectivul este ca informaţiile să


respecte restricţiile de integritate definite. Conceptul de integritate a
datelor este relativ la calitatea informaţiei înregistrate. Constrângerile de
integritate sunt specificate în definirea schemei bazei de date. Acestea
sunt reguli care precizează valorile permise pentru anumite date,
eventual în funcţie de alte date, apartenenţa la un anumit domeniu, la un
anumit tip de date, sau pot fi constrângeri referenţiale, etc. Se asigură în
acest mod coerenţa bazei de date

 Manipularea datelor de utilizatorii finali – are ca obiectiv utilizarea de


către nespecialişti a unor limbaje cât mai apropiate de limbajul natural
(limbaje neprocedurale) care să permită exploatarea cu uşurinţă a bazei
de date şi efectuarea interogărilor fără a apreciza algoritmul de acces.

Funcţiile unui SGBD:


Baze de date relaţionale 16

 Definirea datelor – SGBD-ul acceptă definiţiile datelor (schemele externe,


schema conceptuală, schema internă şi toate corespondenţele asociate)
în format sursă şi le transformă în format obiect. Pentru aceasta există o
componentă procesor sau compilator DDL (Data Definition Language)
pentru fiecare dintre limbajele de definire a datelor.
Dicţionarul de date (Data Dictionnary) – este o adevărată bază de date
pentru sistem şi conţine date despre date (numite şi metadate).
Metabaza de date sau dicţionarul de date este organizat sub formă de
bază de date şi conţine definiţii ale obiectelor din sistem, diverse scheme
şi corespondenţe (externe, conceptuale) precum şi restricţiile de
securitate şi integritate.

 Optimizarea şi execuţia – cererile DML vor fi prelucrate de optimizator


pentru a realiza o implementare eficientă a cererii. Cererile optimizate
sunt executate apoi sub controlul unui program numit manager de
execuţie.

 Gestiunea tranzacţiilor – tranzacţia este o funcţie care realizează trecerea


unei baze de date dintr-o stare S1 într-o stare S2. Un sistem de gestiune a
bazelor de date trebuie să asigure trei proprietăţi pentru această funcţie:
- atomicitatea tranzacţiei (Transaction Atomicity) este proprietatea
ca o tranzacţie să fie executată în totalitate sau deloc;
- corectitudinea tranzacţiilor (Transaction Correctness) este
proprietatea de respectare a coerenţei bazei de date la sfârşitul
execuţiei tranzacţiei;
- izolarea tranzacţiilor (Transaction Isolation) este proprietatea
tranzacţiei de a nu lăsa vizibile modificările produse înainte de
sfârşitul tranzacţiei.

 Securitatea şi confidenţialitatea datelor – presupune existenţa unor


proceduri de identificare şi autorizare a utilizatorilor pentru a proteja
datele de un acces neautorizat sau rău intenţionat. Acestea constituie
limbajul de control al datelor (DCL – Data Control Language). Cererile
utilizatorilor sunt monitorizate pentru a depista şi respinge orice
încercare de încălcare a constrângerilor de securitate.
Baze de date relaţionale 17

Scheme şi Cereri DML Cereri DML


corespondenţe- planificate neplanificate (ad-hoc)
sursă

Procesoare DDL Procesoare Procesorul


DML limbajului de
interogare

Cereri
compilate

Impunerea
Scheme şi
Optimizator constrângerilor de
corespondenţe
securitate şi
sursă şi obiect
integritate

Cereri
optimizate

Manager de Metadate
execuţie

Baza de date

Date

Metadate (dicţionar de date)


Baze de date relaţionale 18

Fig.1.2. SGBD - Funcţiile şi componentele principale [DAT05]

 Manipularea datelor - presupune instrumente şi mecanisme ce permit


comunicarea: bază de date - utilizatori. SGBD-ul are o componentă
procesor sau compilator DML (DML – Data Manipulation Language) care
permite specificarea operaţiilor de introducere, actualizare, ştergere şi
interogare a datelor din baza de date. Cererile DML pot fi planificate
(interogări prevăzute anterior) şi neplanificate (interogări ad-hoc).
Interfeţele sunt alte forme de comunicare care permit SGBD-ului să
transmită date către alte limbaje de programare (Pascal, Java, C++, Cobol
etc.). Aceste interfeţe permit accesul şi manipularea datelor dintr-o bază
de date plecând de la un program scris într-un limbaj de programare
clasic (procedural).

 Refacerea datelor şi concurenţa – presupune existenţa în sistem a unor


componente software care să permită controlul refacerii bazei de date
după incidente, precum şi controlul accesului concurent la date. Aceste
mecanisme sunt bazate pe înregistrarea operaţiunilor realizate asupra
bazei de date şi reexecutarea lor automată în caz de incident. Cererile de
acces simultane sunt înregistrate într-un fir de aşteptare şi sunt deservite
într-o anumită ordine.

 Transformarea datelor (Data mapping) – este o funcţie care permite


trecerea datelor din formatul corespunzător unui nivel în formatul altui
nivel. Deoarece există trei niveluri (extern, conceptual şi intern) vor exista
două niveluri de transformare:
- transformarea conceptual – intern permite trecerea datelor din
formatul conceptual în formatul intern şi reciproc;
- transformarea extern - conceptual permite trecerea datelor din
formatul conceptual în formatul extern şi reciproc;

În sinteză, scopul general al Sistemului de gestiune a bazelor de date este de a


furniza interfaţa cu utilizatorul pentru sistemul de baze de date. Interfaţa cu
utilizatorul se află la nivel extern şi poate fi definită ca o graniţă a sistemului,
dincolo de care totul este invizibil pentru utilizator.

1.4. ARHITECTURA FUNCŢIONALĂ A SISTEMULUI DE


GESTIUNE AL BAZEI DE DATE
Baze de date relaţionale 19

Arhitectura funcţională clasică a sistemelor de gestiune a bazelor de date


integrează cele trei niveluri:

 nivelul intern (baza de date fizică)


 nivelul conceptual (schema conceptuală)
 nivelul extern (vizualizarea).

Arhitectura este articulată pe dicţionarul datelor şi cuprinde două părţi:

 un ansamblu de module (numite procesoare) care permite descrierea


datelor şi deci constituirea dicţionarului datelor
 o parte care asigură manipularea datelor, adică interogarea şi
actualizarea bazei de date.

În fiecare din părţi se regăsesc cele trei niveluri intern, conceptual şi extern.

Georges Gardarin propune în *GAR03+ o arhitectură funcţională de referinţă


apropiată de arhitectura sistemelor de gestiune a bazelor de date actuale, bazată
pe două niveluri: schema şi vizualizările. Schema corespunde integrării schemelor
internă şi conceptuală, iar vizualizarea este o schemă externă.

Din punct de vedere al descrierii datelor, un SGBD gestionează un dicţionar de date,


numit şi metabaza de date, care este organizat ca o bază de date care descrie alte
baze. Dicţionarul de date este alimentat prin comenzi de definire a schemei
(CREATE ENTITY, CREATE RELATIONSHIP, CREATE INDEX) şi prin comenzi de definire
a vizualizărilor (DEFINE VIEW). Aceste comenzi sunt analizate şi tratate de un
procesor numit analizor, mai exact de partea procesorului ce tratează limbajul de
descriere a datelor.

Din punct de vedere al manipulării datelor, cererile (de exemplu: APPEND, MODIFY,
DELETE ) sunt tratate de analizorul de cereri, care realizează analiza sintactică
(conform gramaticii) şi analiza semantică (conform vizualizării referite sau schemei)
şi le traduce în format intern. O cerere în format intern care se referă la o
vizualizare este tradusă în una sau mai multe cereri care fac referinţă la obiecte ce
există în baza de date. Această funcţie este realizată de către un procesor-
translator numit controlor de cereri, care modifică cererile şi în plus asigură
controlul drepturilor de acces (autorizează
citirea / scrierea unui obiect) şi controlul integrităţii în cazul actualizărilor. Controlul
integrităţii constă în verificarea că baza de date nu a fost “poluată” în timpul
actualizării, adică regulile de coerenţă a datelor se verifică şi după actualizare.
Baze de date relaţionale 20

Analiza sintactică
Analizor
Analiza semnatică

Gestiunea schemelor
Modificarea cererilor
Controlor
Controlul integrităţii

Controlul automatizării
Dicţionarul Optimizare
datelor Optimizor
(metabaza) Elaborarea planului

Execuţia planului
Executor
Metode de acces

Controlul concurenţei

BD Atomicitatea tranzacţiilor

Fig.1.3. Arhitectura unui SGBD [GAR03]

Optimizatorul de cereri este un procesor cheie al sistemului de gestiune al bazei de


date. Are ca rol esenţial elaborarea unui plan de acces optimizat pentru tratarea
cererilor. Acest procesor descompune cererea în operaţii de acces elementare (de
exemplu: selectare de index, citire articol,...) şi stabileşte o ordine de execuţie
optimă sau aproape de optim pentru aceste operaţii. Procesorul alege şi metodele
de acces care vor fi utilizate. Pentru a efectua cea mai bună alegere, optimizatorul
se bazează pe modele de cost care permit evaluarea costului unui plan de acces
înainte de execuţia sa. Rezultatul optimizării (planul de acces optimizat) poate fi
salvat în memorie pentru execuţii multiple ulterioare sau executat direct şi apoi
distrus.

Executorul este un procesor care are rolul de a executa planul de acces ales şi
elaborat de optimizator. El se bazează pe metodele de acces care permit accesul la
fişiere prin intermediul indecşilor şi / sau legăturilor. La acest nivel este gestionat
controlul accesului concurent şi atomicitatea tranzacţiilor.
Baze de date relaţionale 21

1.5. ARHITECTURA CLIENT - SERVER

Scopul general al unui sistem de gestiune de baze de date este de a asigura


dezvoltarea şi execuţia aplicaţiilor pentru baze de date. După apariţia sistemelor
distribuite (Distributed Database System), arhitecturile operaţionale care s-au
impus au fost arhitecturile client – server.

Arhitectura client – server a fost proiectată de o echipă din cadrul ANSI/X3/SPARC,


numită DAFTG (Datbase Arhitecture Framework Task Group). Această arhitectură,
utilizată la sfârşitul anilor 80 de mai mulţi constructori de sisteme de gestiune de
baze de date, poate fi privită ca având două părţi: un server (numit şi back-end) şi
un set de clienţi (numiţi şi front-end) [DAT05].

Arhitectura client – server (Fig.1.4.) include nucleul unui sistem de gestiune de baze
de date numit DMCS (Description Manipulation snd Control Sub-system), care
funcţionează în mod server [GAR03]. Limbajul DL (Data Language) este limbajul
standard de acces la SGBD.

Utilizatori finali

Clienţi
Aplicaţii

Server
SGBD

Baza de date

Fig.1.4. Arhitectura client - server

Serverul – este sistemul de gestiune al bazei de date, care asigură funcţiile


prezentate în paragraful 1.3. În acest context noţiunea de server reprezintă doar o
altă denumire a sistemului de gestiune al bazei de date.
Baze de date relaţionale 22

Clienţii – sunt diverse programe de aplicaţii, furnizate de realizatorul SGBD-ului sau


dezvoltate de utilizatori. Din punct de vedere al serverului, nu există nicio diferenţă
între aplicaţiile scrise de utilizator şi cele încorporate – toate folosesc aceeaşi
interfaţă cu serverul (interfaţa la nivel extern).

Aplicaţie Aplicaţie Aplicaţie


client client client

Reţea de comunicaţii

Server
SGBD

BD

Fig.1.5. Un calculator server şi mai multe calculatoare client


Sistem de baze de date centralizat multiutilizator
(Centralized Database System - Multiuser)
Baze de date relaţionale 23

Aplicaţiile client pot fi executate pe staţii diferite, conectate printr-o reţea de


comunicaţie cu staţia pe care rulează serverul (Fig.1.5.). Această arhitectură
permite o prelucrare distribuită a datelor şi astfel, o configurare a sistemului
adaptată cerinţelor de calcul particulare. Serverul bazei de date poate fi un sistem
puternic, iar fiecare client este o staţie personală cu o putere de calcul adecvată
aplicaţiei executate *ION04+.

Un sistem de baze de date distribuit (Distributed Database System) poate avea atât
datele cât şi sistemul de gestiune al bazei de date, distribuite pe mai multe staţii
interconectate printr-o reţea de comunicaţie. Un astfel de sistem poate fi
reprezentat asemănător prin prisma structurării client-server (Fig.1.6.).

Aplicaţie Aplicaţie Aplicaţie

client client client

Reţea de comunicaţii

Server Server
SGBD SGBD

BD BD

Fig.1.6. Sistem de baze de date distribuit [ION04]


Baze de date relaţionale 24

Sistemul software care gestionează o astfel de bază de date se numeşte sistem de


gestiune al bazei de date distribuite – SGBDD (Distributed Database Management
System – DDBMS). Aplicaţiile client rulează pe alte staţii din reţea şi solicită servicii
de la sistemul de gestiune distribuit.

Dintre avantajele sistemelor de baze de date distribuite amintim.


 creşterea capacităţii de stocare şi prelucrare a datelor
 creşterea disponibilităţii şi a partajării datelor.

Sistemele de baze de date distribuite sunt sisteme cu o complexitate crescută, care


trebuie să asigure o cerinţă importantă - administrarea transparentă a datelor.
Transparenţa se referă la capacitatea unui sistem distribuit de a ascunde detaliile
de implementare, astfel încât utilizatorii să poată accesa datele fără a cunoaşte
exact modul de amplasare, replicare sau comunicare a datelor [ION04].

1.6. MODELE DE BAZE DE DATE

Un model de date reprezintă o colecţie integrată de concepte, utilizate în


descrierea datelor, relaţiilor dintre date şi constrângerilor asupra datelor.

Tipologia SGBD-urilor este în general funcţie de tipurile de structuri ale datelor pe


care le suportă. Dintre modelele cele mai des întâlnite amintim *ION04+:

 modelul ierarhic
 modelul reţea
 modelul relaţional
 modelul orientat-obiect
 modelul obiect relaţional

Modelul ierarhic (Hierarchical Model) – a fost primul model folosit pentru


dezvoltarea bazelor de date. Cea mai cunoscută realizare de SGBD ierarhic este
sistemul IMS (Information Management System) dezvoltat de firma IBM în anii 60,
în cadrul programului Apollo. Modelul permite reprezentarea claselor sau
ansamblelor de obiecte printr-o structură ierarhică de înregistrări. Relaţiile de tip
"tată-fiu" între clase sunt de tip 1:N. Ansamblul claselor se constituie într-un arbore
direcţionat în care nodurile sunt tipurile de înregistrări, iar arcele sunt tipurile de
legături.

Modelul reţea (Network Model) – utilizează o structură de graf pentru definirea


schemei conceptuale a bazei de date. A apărut după modelul ierarhic şi a fost
standardizat în 1971 de o comisie DBTG (Database Task Group). Nodurile grafului
Baze de date relaţionale 25

sunt tipurile de entităţi, iar muchiile reprezintă legăturile dintre tipurile de entităţi.
Relaţiile sunt de tipul M:N şi se reprezintă fără duplicarea înregistrărilor, fiecare
înregistrare putând fi referită de mai multe înregistrări. Acest model este în prezent
rar folosit pentru baze de date generale care implică operaţii de interogare.
Aplicarea modelului reţea se întâlneşte în bazele de date grafice utilizate în
modelarea realităţii virtuale.

Modelul relaţional (Relational Model) – premite vizualizarea unei baze de date ca


un ansamblu de tabele bidimensionale. Modelul se bazează pe noţiunea de relaţie
din matematică, care corespunde unei mulţimi de entităţi de acelaşi tip. Limbajele
relaţionale de manipulare a datelor sunt limbaje neprocedurale – utilizatorul, de
exemplu, formulează interogarea fără să indice procedura (algoritmul) de
rezolvare. SGBD-urile relaţionale oferă un limbaj de programare unanim recunoscut
şi acceptat, limbajul SQL, bazat pe algebra relaţională. Pentru limbajul SQL au fost
emise mai multe standarde de către International Standardization Office (ISO).

Modelul orientat-obiect (Object Model) – este un concept unificator în informatică,


fiind aplicabil în programare, în proiectare hardware-ului, a bazelor de date, etc.
Sistemele de baze de date orientate obiect se bazează pe limbajele de programare
orientate obiect. Au o utilizare limitată, mult mai redusă decât cea a sistemelor de
baze de date relaţionale. Pentru bazele de date orientate obiect există un limbaj
standard standard de interogare OQL (Object Query Language) propus de ODMG
(Object Database Management Group).

Modelul obiect-relaţional (Object-Relational Model) – este considerat următorul


mare val în dezvoltarea şi întreţinerea bazelor de date. Construcţia se poate realiza
dezvoltând sistemul relaţional prin adăugarea caracteristicilor obiectuale necesare
sau pornind de la un sistem orientat obiect şi adăugând caracteristicile relaţionale.
În general, dezvoltarea sistemelor de gestiune a bazelor de date obiect-relaţionale
(SGBDOR) se realizează prin extinderea sistemelor relaţionale, gradat, prin
adăugare de caracteristici ale modelului obiect. Aceasta asigură continuarea
aplicaţiilor relaţionale existente în noile versiuni de sisteme SGBDOR, ceea ce
permite producătorilor să-şi păstreze clienţii şi domeniile de utilizare. Mari
producători de sisteme de gestiune (Oracle, Informix, IBM) au extins în acest mod
sistemele lor relaţionale pentru a deveni sisteme obiect-relaţionale. Standardele în
domeniul sistemelor de gestiune a bazelor de date obiect-relaţionale sunt extensii
ale standardului SQL. Versiunea din anul 1999, denumită SQL3, conţine extensii de
orientare spre obiecte a limbajului SQL.
Baze de date relaţionale 26

1.7. MODELUL ENTITATE – ASOCIERE (E-A)

În literatura de specialitate se întâlneşte şi denumirea “entitate-relaţie”, dar


datorită confuziilor ce pot apare cu conceptul de relaţie vom folosi denumirea
entitate – asociere.
Modelul Entitate – Asociere (Entity-Relationship Model), introdus în 1976 de Peter
Chen, este un model conceptual care defineşte mulţimile de entităţi şi asocierile
(legăturile) dintre ele.

Entitatea este “ceva ce poate fi identificat ca distinct”. O entitate se referă la un


aspect al realităţii obiective şi poate reprezenta un obiect fizic, o activitate, un
concept, etc.

Atribut - o proprietate care descrie un anumit aspect al unei entităţi. O entitate se


diferenţiază de alte entităţi printr-un ansamblu de atribute care permit descrierea
precisă a acesteia. Atributele prin care este descrisă o entitate se aleg astfel încât
să fie relevante relativ la domeniul de interes pentru care se defineşte modelul
respectiv.

Tip de entitate - toate entităţile similare, care pot fi descrise prin aceleaşi atribute,
aparţin unui tip de entitate.

Mulţime de entităţi – colecţia tuturor entităţilor de acelaşi tip

În proiectarea bazelor de date există două tipuri de entităţi: entităţi tari (puternice,
normale) şi entităţi slabe (dependente). Entitatea tare are o existenţă proprie în
cadrul modelului, în timp ce entitatea slabă nu poate exista decât dacă există o
entitate tare cu care să fie asociată.

Asocierea este o corespondenţă (corelaţie, legătură) între entităţi din două sau mai
multe mulţimi de entităţi.

Gradul unei asocieri este dat de numărul de mulţimi de entităţi asociate. Vom
presupune în continuare, pentru simplitate, că asocierile au gradul 2.
Considerăm două mulţimi de entităţi E1 şi E2. Asocierile de gradul 2 pot fi de trei
categorii:
 asociere 1:1 (one-to-one) – unei entităţi din E1 îi corespunde o singură
entitate din E2 şi reciproc (relaţie de tip soţ – soţie, mai exact căsătoria
monogamă)
 asociere 1:N (one-to-many) – unei entităţi din E1 îi corespund una sau mai
multe entităţi din E2, dar fiecărei entităţi din E2 îi corespunde o singură
entitate din E1 (relaţie de tip tată – fiu)
Baze de date relaţionale 27

 asociere M:N (many-to-many) – unei entităţi din E1 îi corespund una sau


mai multe entităţi din E2 şi reciproc (relaţie de tip client – produs, adică
un client poate cumpăra mai multe produse şi un produs poate fi
cumpărat de mai mulţi clienţi)

Diagrama entitate-asociere prezintă modelul entitate-asociere prin mulţimile de


entităţi şi asocierile dintre acestea. În literatura de specialitate se propun mai multe
variante de notaţii pentru diagrama entitate-asociere (Chen, Ross, LBMS, etc.). Una
dintre cele mai folosite este redată în Fig.1.7.

entitate tare

entitate slabă

atribut

asociere 1:N
E1 1 A N E2
între 2 tipuri
de entităţi

Fig.1.7. Reprezentarea diagramei entitate-asociere

Exemplificăm construcţia diagramei entitate-asociere pentru modelarea activităţii


didactice şi de cercetare pe bază de proiecte dintr-o facultate (Fig.1.8.). Este un
model simplificat în care se consideră patru tipuri de entităţi: Facultate, Cadru
didactic, Proiect, Curs.
Baze de date relaţionale 28

Asocierea Facultate-Cadru didactic este de tipul 1:N, deoarece într-o facultate sunt
mai multe cadre didactice, iar un cadru didactic aparţine unei singure facultăţi.
Asocierea Cadru didactic-Proiect este de tipul M:N, deoarece la un proiect de
cercetare pe bază de contract lucrează mai multe cadre didactice şi fiecare cadru
didactic poate lucra la mai multe proiecte.
Asocierea Cadru didactic-Curs este de tipul 1:N, deoarece un cadru didactic are în
norma didactică mai multe cursuri şi fiecare curs are un singur cadru didactic
titular.
În modelul prezentat asocierile sunt reprezentate prin verbele: cuprinde, predă,
lucrează:
- facultatea cuprinde mai multe cadre didactice
- un cadru didactic predă mai multe cursuri
- un cadru didactic lucrează la mai multe proiecte de cercetare

nume buget nume salariu

cuprinde
1 N
Facultate Cadru didactic
M
1
predă lucrează

N N
Curs Proiect

denumir program nume buget


e studiu

Fig.1.8. Exemplu de diagramă E-A

1.8. BAZĂ DE DATE – BANCĂ DE DATE

Există în literatura de specialitate mai multe abordări ale celor două concepte.
Modul lor de tratare este departe de a fi unitar. În unele lucrări se consideră că
banca de date este formată din:
 Baza de date
Baze de date relaţionale 29

 Sistemul de gestiune al bazei de date (SGBD)

Alţi autori extind noţiunea de bancă de date şi consideră banca de date formată
din :
 Baza de date
 Sistemul de gestiune al bazei de date (SGBD)
 Hardware – ul necesar funcţionării sistemului
 Programele de aplicaţii
 Utilizatorii

În cartea L’art des bases de données, autorii S.M. Miranda, J.M. Busta fac o
distincţie clară între cele două concepte *MIR88+:

Baza de date conţine date primare care sunt exploatate cu ajutorul unui SGBD. În
cazul unei interogări, sistemul de gestiune al bazei de date furnizează direct
răspunsul.

Banca de date date conţine date referenţiale şi accesul este asigurat cu ajutorul
unui sistem documentar (SD). Sistemul documentar permite o direcţionare către un
text (carte, articol, referinţă web,...) şi după consultare se obţine răspunsul la
interogarea formulată.

Exemplul prezentat în lucrarea mai sus citată clarifică cele două abordări:
Considerăm o colecţie de date care conţine informaţii despre preşedinţii statelor
lumii. Printre atributele care caracterizează tipul de entitate preşedinte avem
atributul “stare de sănătate” , care poate lua mai multe valori, printre care {....,
nebun, ...}.

Dacă formulăm interogarea:

“Care a fost starea de sănătate a preşedintelui Wilson (SUA)


între 1914-1918 ?”

Răspunsul dat de banca de date va fi de genul: Istoria contemporană a SUA, pag.


152, ed. 1980, iar răspunsul efectiv se obţine în urma consultării lucrării indicate.
În cazul unei baze de date răspunsul va fi obţinut direct pe baza unei interogări
(formulată într-un limbaj neprocedural) care va da valoarea atributului “stare de
sănătate” = nebun.
Baze de date relaţionale 30

1.9. SCURTĂ ISTORIE A BAZELOR DE DATE

1961 - apariţia sistemului IDS (Integrated Data Storage) al firmei General Electric.
Terminologia utilizată (tipul record şi tipul set) va sta la baza modelului reţea
dezvoltat la "Conference On DAta SYstems and Languages Data Base Task Group"
(CODASYL DBTG).

1965-1970 - dezvoltarea sistemelor de gestiune a fişierelor generalizate. IBM


dezvoltă modelul ierarhic şi sistemul IMS (Information Management System). În
acceasşi perioadă apare IMS DB/DC (DataBase/DataCom) care suportă modelul
reţea.
În anii 70, domeniul bazelor de date şi sistemelor de gestiune a bazelor de date se
dezvoltă foarte mult, ajungând să fie disciplină universitară şi de cercetare. Apar
numeroase produse comerciale care implementează propunerile raportului
CODASYL DBTG: ISD II (HoneyWell), DMS1100 (UNIVAC), DMS II (Burroughs), etc.

1970 - apare modelul relaţional de date, anunţat de E.F.Codd în articolul A


Relational Model of Data for Large Shared Databanks, publict în CACM, vol. 13,
no.6, 1970.

1972 – prima conferinţă internaţională organizată de ACM SIGMOD (Association of


Computing Machinery, Special Interest Group on Management Of Data).

1975 - prima conferinţă internaţională VLDB (Very Large Data Base); publicarea
raportului ANSI-SPARC.

1976 - publicarea modelului Entitate – Asociere de P.P.Chen în articolul The Entity-


Relationship Data Model: Toward a Unified View of Data, apărut în ACM-TODS,
vol.1, no.1, 1976.

1975 - 1980 - dezvoltarea sistemelor relaţionale experimentale: SYSTEM-R (IBM) şi


INGRES (Berkeley, University of California).

1980 - .... apariţia şi comercializarea a numeroase SGBD-uri relaţionale ce au


înlocuit SGBD-urile ierarhice şi reţea. SGBD-urile pot fi utilizate pe
microcalculatoare şi se realizează sisteme din generaţia a patra cu instrumente şi
interfeţe multiple.

1990 - .... se dezvoltă numeroase produse a căror complexitate creşte, la un preţ


tot mai scăzut: PowerBuilder (SYSBASE), Oracle Developer, VB (Microsoft), etc. Se
dezvoltă modelul client-server, ce se foloseşte în tot mai multe aplicaţii economice.
Se dezvoltă şi produse sotftware ca Exce/, Access (Microsoft) pentru scop personal
de o complexitate mai scăzută.
Baze de date relaţionale 31

1990-1995 - apar baze de date pentru Internet. Sunt utilizate conceptele client-
server şi astfel complexitatea Internet-ului creşte exponenţial.

2000 - pentru aplicaţiile pe Internet apar o serie de instrumente cum ar fi Active


Server Pages, Java Servlets, JDBC, Enterprise Java Beans, ColdFusion, Dream
Weaver, Oracle Developer 2000, Apache, MySQL. Se dezvoltă procesarea
tranzacţiilor online (OLTP) precum şi procesarea analitică de tip OLAP.

După 2000 - se dezvoltă aplicaţii pe arhitectura client-server pentru PDA-uri,


tranzacţii cu POS-uri, telefoane mobile. Companiile cele mai reprezentative din
domeniu rămân: IBM, Microsoft şi Oracle.

Să ne reamintim...
DATA - înregistrarea unei observaţii, obiect, fenomen, imagine,
sunet sau text, într-o formă convenabilă unei prelucrări, interpretări
sau transmiteri prin mijloacele informaticii. Datele reprezintă aspecte
elementare nesupuse unei prelucrări şi neevaluate din punct de
vedere al utilităţii.

INFORMAŢIA - semnificaţia ce poate fi ataşată sau poate fi dedusă


dintr-un ansamblu de date pe baza corelaţiilor dintre acestea, având
un scop bine determinat, de satisfacere a cerinţelor utilizatorilor.

BAZA DE DATE (Database) – un ansamblu structurat de colecţii de date


operaţionale înregistrate pe suport adresabil, aflate în
interdependenţă logică, împreună cu descrierea datelor şi a relaţiilor
dintre ele şi care sunt prelucrate în aplicaţiile informatice ale unei
organizaţii. Baza de date permite operaţii de introducere, ştergere,
actualizare şi interogare a datelor.

BAZA DE DATE este un ansamblu de date:


 structurate;
 coerente, adică există legături (interdependenţe) logice între
diferitele colecţii ce alcătuiesc baza de date;
 persistente, adică datele rămân memorate pe suport
magentic, independent de execuţia programelor de aplicaţii,
fiind păstrate pentru o anumită perioadă de timp;
 neredundante - condiţia de neredundanţă este în general
înlocuită de o condiţie mai slabă: redundanţă minimă şi
controlată în scopul de a mări viteza de acces la date;
 independente de programul de aplicaţie;
Baze de date relaţionale 32

 direct accesibile după mai multe criterii;


 simultan accesibile de către mai mulţi utilizatori.

Rezumat
Procesul de organizare şi prelucrare a datelor a parcurs mai multe
etape, până s-a ajuns la soluţia dominantă în prezent, care constă în
organizarea datelor în baze de date.
ARHITECTURA UNUI SISTEM DE BAZE DE DATE (Database System)
cuprinde:

 baza de date propriu-zisă în care se memorează datele


 software-ul format din Sistemul de Gestiune al Bazei de Date
(SGBD) şi aplicaţiile de baze de date (Database Application)
 metabaza de date - dicţionarul datelor (DD), conţine
informaţii despre date, structura acestora, documentaţie
 hardware-ul utilizat
 utilizatorii bazei de date: administratorul bazei de date,
programatorul de aplicaţii (administratorul aplicaţiei) şi
utilizatorii finali (nespecialişti)
 reglementările legislative ce permit buna funcţionare a
sistemului.

Cerinţele minimale care se impun unei baze de date sunt:

 furnizarea în timp util a informaţiilor solicitate, se referă la


timpul de răspuns la o interogare efectuată;
 costuri minime de prelucrare şi întreţinere a informaţiei;
 capacitatea de a satisface, cu aceleaşi date necesităţile
informaţionale ale unui număr mare de utilizatori;
 flexibilitatea - posibilitatea de adaptare la cerinţe noi, de a da
răspunsuri la interogări neprevăzute iniţial;
 integrarea – baza de date poate fi considerată o unificare a
mai multor fişiere – altfel diferite – redundanţa acestor
fişiere fiind parţial sau total eliminată;
 asigurarea unei redundanţe minime şi controlate a datelor –
rezultă din cerinţa de integrare; menţinerea a mai multor
copii ale aceloraşi date poate fi impusă de motive de ordin
tehnic, însă această redundanţă minimă trebuie controlată
cu atenţie, ceea ce presupune ca sistemul de gestiune al
bazei de date să o cunoască şi să-şi asume responsabilitatea
de a propaga actualizările;
Baze de date relaţionale 33

 partajarea şi sincronizarea – posibilitatea de partajare şi


exploatare simultană a datelor de către mai mulţi utilizatori;
se realizează astfel posibilitatea de acces concurent la date;
 confidenţialitatea – asigurarea securităţii datelor prin
mecanisme de protecţie împotriva accesului neautorizat;
 integritatea – presupune existenţa unor proceduri de
validare şi recuperare a datelor după accidente; problema
integrităţii este de garanta (atât cât este posibil) că datele din
baza de date sunt corecte;
 compatibilitatea şi expandabilitatea – posibilitatea de
valorificare a eforturilor anterioare şi anticiparea nevoilor de
dezvoltare;
 permisivitatea – posibilitatea de ierarhizare a datelor după
criteriul frecvenţei acceselor, sau reorganizarea datelor în
scopul creşterii performanţelor bazei de date.

Sistemul de gestiune al bazei de date (DBMS - Database Management


System) este un ansamblu de programe (produs software) care
permite definirea, actualizarea şi consultarea datelor din baza de date.

Arhitectura este articulată pe dicţionarul datelor şi cuprinde două


părţi:

 un ansamblu de module (numite procesoare) care permite


descrierea datelor şi deci constituirea dicţionarului datelor
 o parte care asigură manipularea datelor, adică interogarea
şi actualizarea bazei de date.

Scopul general al unui sistem de gestiune de baze de date este de a


asigura dezvoltarea şi execuţia aplicaţiilor pentru baze de date. După
apariţia sistemelor distribuite (Distributed Database System),
arhitecturile operaţionale care s-au impus au fost arhitecturile client –
server.

Un sistem de baze de date distribuit (Distributed Database System)


poate avea atât datele cât şi sistemul de gestiune al bazei de date,
distribuite pe mai multe staţii interconectate printr-o reţea de
comunicaţie. Un astfel de sistem poate fi reprezentat asemănător prin
prisma structurării client-server.
Baze de date relaţionale 34

Modelul relaţional (Relational Model) – premite vizualizarea unei baze


de date ca un ansamblu de tabele bidimensionale. Modelul se bazează
pe noţiunea de relaţie din matematică, care corespunde unei mulţimi
de entităţi de acelaşi tip. Limbajele relaţionale de manipulare a datelor
sunt limbaje neprocedurale – utilizatorul, de exemplu, formulează
interogarea fără să indice procedura (algoritmul) de rezolvare.

Modelul Entitate – Asociere (Entity-Relationship Model), introdus în


1976 de Peter Chen, este un model conceptual care defineşte
mulţimile de entităţi şi asocierile (legăturile) dintre ele.

Test de evaluare a cunoştinţelor


Ce reprezintă o baze de date?
Ce reprezintă informația?
Care sunt principalele trasături ale bazelor de date?

You might also like