Documente Academic
Documente Profesional
Documente Cultură
SGBDR este un sistem software complet care implementeză modelul de date relaţional,
precum şi cel puţin un limbaj relaţional.
Teoria relaţională este un ansamblu de concepte ,metode şi instrumente care a dat o
fundamentare riguroasă realizării de SGBDR performante.
Paralela între conceptele utilizate în evoluţia organizării datelor în memoria externă până
la sistemele relaţionale.
E.F. Codd (cercetător la IBM) a formulat 13 reguli care exprimă cerinţele maximale
pentru ca un SGBD să fie relaţional.
Regulile sunt utile pentru evoluarea performanţelor unui SGBDR.
R0. Gestionarea datelor la nivel de relaţie: limbajele utilizate trebuie să opereze cu
relaţii (unitatea de informaţie).
R1. Reprezentarea logică a datelor: toate informaţiile din BD trebuie stocate şi
prelucrate ca tabele.
-1-
R2. Garantarea accesului la date: LMD trebuie să permită accesul la fiecare
valoare atomică din BD (tabelă, coloană, cheie).
R3. Valoarea NULL: trebuie să se permită declararea şi prelucrarea valorii NULL
ca date lipsă sau inaplicabile.
R4. Metadatele: informaţiile despre descrierea BD se stochează în dicţionar şi
tratează ca tabele ,la fel ca datele propiu-zise.
R5. Limbajele utilizate: SGBD trebuie să permită utilizarea mai multor limbaje,
dintre care cel puţin unul să permită definirea tabelelor (de bază şi virtuale), definirea
restricţiilor de integritate, manipularea datelor, autorizarea accesului, tratarea
tranzacţiilor.
R6. Actualizarea tabelelor virtuale: trebuie să se permită ca tabelele virtuale să fie
şi efectiv actualizabile, nu numai teoretic actualizabile (exemplu atributul “valoare” dintr-
o tabelă virtuală nu poate fi actualizat).
R7. Actualizările în baza de date: manipularea unei tabele trebuie să se facă prin
operaţii de regăsire dar şi de actulizare.
R8. Independenţa fizică a datelor: schimbarea stucturii fizice a datelor (modul de
reprezentare (organizare) şi modul de acces) nu afectează programele.
R9. Independenţa logică a datelor: schimbarea structurii de date (logice) a
tabelelor nu afectează programele.
R10. Restricţiile de integritate: acestea, trebuie să fie definite prin LDD şi stocate
în dicţionarul (catalogul) BD.
R11. Distribuirea geografică a datelor: LMD trebuie să permită ca programele de
aplicaţie să fie aceleaşi atât pentru date distribuite cât şi petru date centralizate (alocarea
şi localizarea datelor vor fi în sarcina SGBD-ului).
R12. Prelucrarea datelor la nivel de bază (scăzut): dacă SGBD posedă un limbaj de nivel scăzut
(prelucrarea datelor se face la nivel de înregistrare), acesta nu trebuie utilizat pentru a evita restricţiile de
integritate.
Sistemele relaţionale îndeplinesc funcţiile unui SGBD cu o serie de aspecte specifice care
rezultă din definirea unui SGBDR.
Caracterizarea SGBDR (FIG. 9.1) se poate face pe două niveluri :
1) Global, unde sistemele relaţionale sunt privite ca o categorie distinctă de
SGBD.
2) Particular, unde fiecare SGBDR are aspecte individuale comparativ cu altele
similare.
Câteva dintre mecanismele şi instrumentele care, după modul cum sunt implementate,
ajută la caracterizarea globală a SGBDR-urilor sunt:
a) Limbajele relaţionale
b) Protecţia datelor
c) Optimizarea cererilor de regăsire
-2-
d) Utilitarele specializate
a) Limbajele relaţionale
SGBDR oferă seturi de comenzi pentru descrierea şi manipularea datelor. Acestea pot fi
incluse într-un singur limbaj relaţional (cazul cel mai întâlnit) sau separate în LDD şi
LMD. În ambele situaţii, comenzile pentru definirea datelor sunt distincte de cele pentru
manipularea datelor.
Exemple de limbaje relaţionale: SQL (Structured Querry Language-standarde începând
cu 1985), QUEL, QBE, SQUARE, ALPHA, ISBL.
-3-
REVOKE CONNECT – deconectarea unui utilizator de la BD
La nivel fizic
• Crearea indecşilor: CREATE INDEX
Indexarea se foloseşte în BD pentru accesul la date ordonate şi pentru accesul
direct după cheie. În unele sisteme (exemplu Oracle), dacă la creare s-a declarat
cheie primară atunci sistemul creează automat index.
• Ştergerea indecşilor: DROP INDEX
• Controlul alocării spaţiului fizic al BD:
CREATE PARTITION –crearea unei partiţii
ALTER PARTITION –actualizare a unei partiţii cu fişiere.
CREATE SPACE –creează un model de alocare a spaţiului fizic
pentru o BD (bun pentru optimizări)
ALTER SPACE –actualizarea modelului de alocare
DROP S PACE –şterge un model de alocare
• Regruparea fizică a datelor dintr-o BD (clustere pentru acces rapid la date):
CREATE CLUSTER – creează un cluster dintr-o BD
ALTER CLUSTER– actualizează un cluster
DROP CLUSTER – şterge un cluster
-4-
• algebra relaţională (ISBL)
• transformarea (mapping) (SQL, SQUARE)
Notă. Limbajele bazate pe calculul relaţional sunt neprocedurale, cele bazate pe algebra
relaţională sunt procedurale, celelalte sunt combinaţii.
3. Realizatorii limbajelor relaţionale s-au orientat pe domenii precise din teoria
relaţională. Astfel, au rezultat: limbaje relaţionale standardizate internaţional (exemplu
SQL - ANSI), limbaje cu standard de utilizare impus de constructor (exemplu QUEL),
limbaje nestandardizate (celelalte limbaje relaţionale).
4. Utilizatorii limbajelor relaţionale sunt mult diversificaţi. SGBDR oferă atât
elemente procedurale (pentru specialişti) cât şi neprocedurale (pentru nespecialilşti).
-5-
3. Eficacitatea utilizării este determinată de posibilitatea optimizării cererilor
de regăsire.
¾ LMD bazate pe calculul relaţional lasă compilatorul să aleagă ordinea
de execuţie a operaţiilor, deci rezultă o eficienţa mare.
¾ LMD bazate pe algebra relaţională au o ordine impusă pentru
execuţia operaţiilor, deci rezultă o eficienţă mica.
b) Protecţia datelor
Aspectele privind protecţie a datelor (vezi capitolul 2) sunt foarte importante
pentru un sistem de bază de date şi ele trebuie asigurate (implementate) de către
SGBD. Protecţia bazei de date se referă la integritatea datelor (integritatea
semantică, concurenţa la date, salvarea/restaurarea) şi securitatea datelor
(autorizarea accesului, viziunile, procedurile speciale, criptarea). Dintre toate
aceste aspecte, ne vom ocupa aici, pe scurt, doar de integritatea semantică şi de
concurenţa la date.
Integritatea semantică
¾ Definirea restricţiilor de integritate se face, conform cerinţelor modelului
relaţional, în LDD (exemplu CREATE TABLE, ALTER TABLE).
¾ Utilizarea restricţiilor de integritate se face cu ajutorul unor mecanisme
care controlează validitatea regulilor pentru fiecare nouă stare a BD. Aceste
mecanisme sunt:
• metode de detectare a inconsistenţei datelor (se verifică restrciţiile de
integritate) la sfârşitul tranzacţiilor, care se realizează automat de
SGBDR;
• puncte de verificare a integrităţii fixate de utilizator, acolo unde
doreşte el în program.
Concurenţa la date (coerenţa)
¾ Unitatea de lucru pentru asigurarea coerenţei datelor este tranzacţia.
Aceasta este un ansamblu de comenzi tratate unitar. Tranzacţia se execută în
totalitate sau deloc.
¾ Coerenţa poate fi afectată la actualizarea concurentă sau la incidente.
¾ Mecanismele utilizate de SGBDR pentru asigurarea coerenţei datelor
(controlul accesului concurent) sunt (vezi protecţia BD în cap.2):
• blocarea la diferite niveluri: bază de date, tabelă, tuplu, atribut;
• definirea unor puncte de salvare în interiorul tranzacţiilor (exemplu
comanda SAVEPOINT);
• tranzacţii explicite (exemplu, Begin şi End Tranzaction ) şi implicite
(exemplu, comenzile de actualizare);
• fişiere jurnal.
c) Optimizarea regăsirii
-6-
• Exprimarea cererilor de regăsire sub forma unor expresii algebrice
relaţionale, care are la bază echivalenţa dintre calculul şi algebra
relaţională .
• Aplicarea unor transformări algebrice relaţionale asupra expresiilor
construite în pasul anterior, pentru a se obţine expresii relaţionale
echivalente şi eficiente.
¾ Transformarea se poate realiza prin doua strategii de optimizare: generale,
specifice.
- Generale, care sunt independente de modul de memorare a
datelor. Ele se bazează pe propietăţile operaţiilor din algebra relaţională
(comutativitatea, asociativitatea, compunerea ). Astfel de strategii sunt:
Selecţia înaintea joncţiunii
Proiecţia înaintea joncţiunii
Selecţia înaintea proiecţiei
Combinarea selecţiei multiple
- Specifice, care ţin cont de modul de memorare a datelor şi ele
sunt caracteristice unui SGBDR. Elementele care influenţează executarea
operaţiilor ce intervin la o cerere de regăsire sunt: accesul direct, reguli de
ordonare a expresiilor algebrice specifice unui SGBDR.
e) Utilitarele specializate
Pentru a putea caracteriza un anumit SGBDR particular, vom lua în considerare o serie de
criterii de comparaţie. Aceste criterii se vor urmări, grupate pe anumite categorii, pentru
câteva SGBDR-uri care ne intersează. După această analiză vom avea un argument serios
pentru a putea alege un SGBDR în scopul dezvoltării unei aplicaţii cu baze de date .
Gruparea caracteristicilor particulare de comparaţie a SGBDR-urilor o vom face funcţie
de:
- Facilităţile de descriere a datelor ;
- Facilităţile de manipulare a datelor ;
- Facilităţile de utilizare şi administrare a datelor.
Notă. Se obeservă că gruparea caracteristicilor s-a facut după funcţiile oricărui SGBD
a) Caracteristici funcţie de facilităţile de descriere:
• modul de implementare a modelului relaţional ;
• conceptul de bază de date utilizat în schema;
• definirea metadatelor;
• definirea relaţiilor virtuale;
• actualizarea schemei relaţiei;
• restricţii de integritate ce pot fi declarate.
-7-
b) Caracteristici funcţie de facilităţile de manipulare:
• LMD relaţional implementat ;
• calcul aritmetic şi funcţii agregate ;
• moduri de acces la date;
• programare orientată pe obiecte/vizuală;
• tratarea valorii null;
• optimizarea cererilor de regăsire ;
• actualizarea relaţiilor de bază şi virtuale.
c) Caracteristici funcţie de facilităţile de utilizare şi administrare:
• dezvoltatoare (generatoare) de diferite tipuri (ecrane, rapoarte,
aplicaţii etc.);
• elemente de CASE (proiectare);
• analize statistice;
• acces de la distanţă ;
• utilitare de întreţinere;
• mecanisme pentru autorizarea accesului la date.
-8-
2.4 Avantajele şi limitele sistemelor relaţionale
Avantaje
1. Simplitatea conceptelor şi a schemei .
2. Teoria relaţională oferă un solid suport teoretic şi o bază pentru cercetări
ulterioare.
3. Un grad mare de independenţă a datelor faţă de programe.
4. Limbajele relaţionale declarative (de nivel înalt) cu o mare putere de
regăsire.
5. Ameliorarea semnificativă a protecţiei datelor, sub toate aspectele.
6. Optimizarea semnificativă a accesului la date, precum şi a alocării datelor.
7. Manipularea de ansambluri de date prin operatorii din calculul sau algebra
relaţională, cu implicaţii importante pentru regăsirea datelor.
Limite
1. Prea marea simplitate a modelulu relaţional, care pentru tipurile noi de
apllicaţii (Internet, sisteme deschise etc.) conduce la:
• Pierderea unor informaţii semantice utile (prin multiplicarea tabelelor
la normalizare );
• Operaţiile relaţionale, chiar optimizate, sunt costisitoare (noile
aplicaţii generează multe operaţii relaţionale) din punct de vedere al
resurselor de calcul.
2. LMD relaţionale sunt prea limitate, ceea ce generează disfuncţionalităţi :
• Programatorul trebuie să cunoască două tipuri de limbaje (declarativ -
relaţional şi procedural - universal). De aici rezultă necesitatea
conversiilor, o fiabilitate scăzută, necesitatea comunicării,
productivitatea scăzută.
• Mecanismele de optimizare privesc doar LMD relaţional, deci ceea
ce este scris în limbaj procedural trebuie optimizat de către
programator.
-9-