|
SISTEME DE GESTIUNE A BAZELOR DE DATE – Evolutia sistemelor de gestiune a bazelor de date
Istoria SGBD cuprinde trei genera?ii:
? modele ierarhice ?i re?ea;
? modele rela?ionale;
? sisteme avansate: SGBD orientate obiect, SGBD deductive, SGBD distribuite.
Pentru modele ierarhice ?i re?ea, datele sunt reprezentate la nivel de articol prin leg?turi ierarhice (arbore) sau de tip graf. Slaba independen?? fizic? a datelor complic? administrarea ?i manipularea acestora. Limbajul de manipulare a datelor impune programatorului s? specifice drumurile de acces la date.
Modelul ierarhic este modelul cel mai natural, iar rezultatul studiului dup? modelul ierarhic îl reprezint? structurile:
- liniare
- arborescente
Nodurile reprezint? entit??i, iar arcele reprezint? asocieri între entit??i. Într-o structur? ierarhic? ramificat?, entit??ii aflate la un nivel ierarhic superior (p?rinte) îi corespund mai multe entit??i aflate la un nivel ierarhic inferior (copil), dar fiecare entitate aflat? la un nivel ierarhic inferior corespunde unei singure entit??i aflat? la un nivel ierarhic superior.
Modelul re?ea este un model performant, dar complicat. O baz? de date de tip re?ea reprezint? o colec?ie de noduri ?i leg?turi ce permite realizarea urm?toarelor tipuri de structuri:
- liniare
- ierarhice
- re?ea
Leg?turile dintre entit??i trebuie stabilite luând în calcul toate interog?rile posibile ?i ac?iunile viitoare probabile.
Modelul rela?ional trateaz? entit??ile ca ni?te rela?ii. Pia?a actual? de baze de date este acoperit? în majoritate de sisteme rela?ionale. Acestea, ca ?i modelele de prima genera?ie, au fost concepute pentru aplica?ii clasice: contabilitate, gestiunea stocurilor etc.
Bazele de date rela?ionale sunt caracterizate de:
? structuri de date simple, intuitive;
? inexisten?a pointer-ilor vizibili pentru utilizatori;
? constrângeri de integritate;
? mul?ime de operatori aplica?i rela?iilor care permit efectuarea opera?iilor asupra datelor.
Bazele de date rela?ionale ofer? avantaje precum:
? independen?a complet? în descrierea logic? a datelor (în termen de rela?ii) ?i în descrierea fizic? a datelor (în termen de fi?iere);
? un ansamblu integrat de utilitare bazat pe un limbaj de genera?ia a 4-a, ?i anume generatoare de meniuri, generatoare de aplica?ii, generatoare de forme, generatoare de etichete etc.;
? existen?a unor limbaje speciale de definire ?i manipulare a datelor.
Dintre sistemele de gestiune rela?ionale reprezentative, amintim: DB2, SQL/DS, INGRES, SABRINA, ORACLE, INFORMIX, UNIFY, TS, RAPPORT.
Bazele de date rela?ionale nu folosesc îns? obiecte complexe ?i dinamice, nu realizeaz? gestiunea datelor distribuite ?i nici gestiunea cuno?tin?elor. O alt? genera?ie de SGBD ce cuprinde sistemele avansate încearc? s? dep??easc? aceste limite ale sistemului rela?ional.
a) Gestiunea obiectelor complexe (baze de date orientate obiect)
Suportul obiectelor complexe ?i dinamice ?i manipularea lor este dificil? pentru sistemele rela?ionale, deoarece tipul datelor este limitat la câteva domenii alfanumerice, iar structura datelor este simpl?. Sistemele rela?ionale nu modeleaz? obiecte complexe ca grafuri, liste etc.
Un obiect complex poate s? fie descompus în rela?ii, de?i apar dificult??i la descompunerea ?i la refacerea lui prin compunere (join). De asemenea, limbajele modelului rela?ional permit manipularea cu dificultate a obiectelor complexe.
O aplica?ie are un aspect static (reprezentat prin date) ?i un aspect dinamic (reprezentat prin tratamentul acestor date). Obiectele manipulate de sistemele rela?ionale sunt, în general, statice, iar comportamentul lor (dinamica lor) este dat separat prin programele aplica?ie. Un sistem rela?ional nu suport? obiecte dinamice care încorporeaz? atât partea de date (informa?ii) efective, cât ?i o parte relativ? la tratamentul lor.
În programarea orientat? pe obiect, efortul const? în definirea obiectelor. Obiectele de acela?i tip formeaz? o clas? care este generalizarea no?iunii de tip de date definit de utilizator. Clasa include, pe lâng? date, ?i metodele de acces. Datele sunt vizibile doar metodelor asociate clasei respective. Acesta este a?a-numitul principiu al încapsul?rii datelor. Prin func?ii numite constructori ?i destructori, programatorul de?ine controlul asupra opera?iilor necesare la crearea, respectiv dispari?ia unui anumit obiect. Un alt concept fundamental este cel al deriv?rii, adic? putem defini o clas? care s? “mo?teneasc?” propriet??ile (care constau din date ?i func?ii) uneia sau mai multor clase “p?rinte”.
Îmbinarea tehnicii limbajelor orientate obiect cu a bazelor de date a permis realizarea bazelor de date orientate obiect. Aceste baze permit organizarea coerent? a obiectelor partajate între utilizatori concuren?i.
Sistemele de gestiune orientate obiect prezint? urm?toarele avantaje:
? realizeaz? o modelare superioar?;
? furnizeaz? posibilit??i superioare de deduc?ie (ierarhie de clase, mo?tenire);
? permit luarea în considerare a aspectelor dinamice ?i integrarea descrierii structurale ?i comportamentale;
? îmbun?t??esc interfa?a cu utilizatorul.
b) Gestiunea cuno?tin?elor (baze de date deductive)
O rela?ie este o colec?ie de tupluri ce reprezint? fapte. Cuno?tin?ele sunt aser?iuni generale ?i abstracte asupra faptelor. De exemplu, “Costic? este medic” este un fapt, iar “To?i medicii sunt boga?i” este o cuno?tin??. Cuno?tine?ele permit s? ra?ionezi, ceea ce permite deducerea de noi fapte, plecând de la fapte cunoscute (“Costic? este bogat”) ?i ob?inerea de r?spunsuri inteligente (putem r?spunde la întrebarea “Cine sunt boga?i?” prin forma “To?i medicii”).
Un SGBD rela?ional suport? o form? limitat? de cuno?tin?e, ?i anume constrângerile de integritate, restul cuno?tin?elor trebuie integrate în programele aplica?ie. Aceasta genereaz? probleme, fie c? trebuie codificate cuno?tin?ele în programe, fie c? apare imposibilitatea de a partaja cuno?tin?e între utilizatori. Totul se complic? dac? exist? un volum mare de fapte.
Bazele de date deductive, utilizând programarea logic?, gestioneaz? cuno?tin?e relativ la baze de date care, în general, sunt rela?ionale. Bazele de date deductive permit deducerea de noi informa?ii, plecând de la informa?iile stocate în baz?.
Un SGBD deductiv posed?:
Un limbaj de definire a datelor, care permite definirea structurii predicatelor sub form? de rela?ii ?i constrângeri de integritate asociate.
Un limbaj de manipulare a datelor, care permite efectuarea reactualiz?rilor asupra datelor ?i formularea unor cereri.
Un limbaj de reguli de deduc?ie, care permite ca, plecând cu predicatele definite anterior, s? se specifice cum pot fi construite predicate derivate necesare filtr?rilor cerute de utilizator. Un exemplu de limbaj de reguli care permite specificarea rela?iilor deduse cu ajutorul clauzelor HORN f?r? simboluri tip func?ie este limbajul DATALOG.
c) Gestiunea datelor distribuite (baze de date distribuite)
Un sistem distribuit este un ansamblu de ma?ini interconectate printr-o re?ea de comunica?ie ?i utilizate într-un scop global. Administrarea ?i manipularea datelor distribuite, situate pe diferite calculatoare ?i exploatate de sisteme eterogene este obiectivul fundamental al bazelor de date distribuite.
Baza de date distribuit? este un sistem de baze de date logic integrat, dar fizic dispersat pe mai multe echipamente de calcul interconectate.
Propriet??ile bazei de date distribuite (BDD):
- respect? defini?ia ?i toate caracteristicile bazei de date;
- din unghiul de vedere al mul?imii user-ilor, o singur? baz? de date:
o singur? schem? conceptual?;
userii interac?ioneaz? cu ea în acea?i manier? în care o f?ceau cu o baz? de date centralizat?;
- este fragmentat?, iar fragmentele ob?inute sunt plasate în mijlocul realit??ii imediate ?i-n mijlocul user-ilor frac?iunilor respective;
- permite accesul la loca?ii diferite.
Baza de date distribuit? (BDD) este o reuniune a bazelor de date locate (BDL), acestea rezultând prin fragmentarea uni tabel unitar.
Sunt utilizate trei modalit??i de fragmentare:
- împ?r?irea mul?imii de tabele în submul?imi de tabele;
- fragmentarea orizontal? a tabelelor; fragmentele rezultate au aceea?i structur? cu tabelul original;
- fragmentarea vertical? a tabelelor.
Replicarea datelor reprezint? opera?ia de realizare de copii multiple ale unor tabele sau fragmente de tabele care sunt actualizate dup? dou? metode:
- actualizarea simultan? a BDD este o opera?ie consistent?, dar încarc? re?eaua pe care se lucreaz?;
- actualizarea întârziat? a BDD; asupra copiei principale se efectueaz? toate opera?iile de actualizare, celelalte copii sunt aduse la zi atunci când re?eaua este mai pu?in solicitat? (noaptea, weekend). Este proprie aplica?iilor pentru care inconsisten?a de o zi sau o s?pt?mân? nu conteaz?.
Modalit??i de construire a BDD
1. Construirea de la zero - se urmeaz? procedura de creare a bazei de date, care cuprinde:
? studiul realilt??ii;
? modelul logic al datelor;
? modelul fizic; la modelul fizic al datelor se mai adaug? dou? opera?ii:
1) fragmentarea datelor (apropierea de realitatea reflectat? ?i de userii lor);
2)replicarea datelor (se decide dac? se va lucra cu date replicate: ce fragmente vor fi în copie multipl?; care va fi tipul de actualizare (simultan/întârziat); dac? este actualizare întârziat?, se va decide care este copia principal? ?i când se actualizeaz? copiile secundare.
2. Integrarea de baze de date ?i fi?iere existente într-o baz? de date distribuit? – se pune problema eterogenit??ii bazelor de date existente pe calculatoare diferite (gestiunea bazelor de date existente se face cu SGBDD diferite; sau modelele ce stau la baza BDD de tipuri diferite (ierarhice, re?ea, fi?iere), sau BDD con?ine structuri care pot fi considerate fragmente ale unei tabele globale, dar cu structuri diferite.
Sistemul de BDD, ca ?i sistemul de baze de date SBDD, este alc?tuit din 4 elemente: date, hardware, software ?i useri.
Datele sunt acelea?i cu cazul în care aceste date ar fi numerotate pe acela?i calculator, cu deosebirea c? sunt memorate în locuri diferite.
Hard este mai complex? decât în cazul unui singur calculator, intervin modemurile ?i liniile de comunica?ii.
Soft – în locul SGBD, apare SGBDD, iar userii sunt aceia?i ca în cazul bazei de date centralizate (finali, informaticieni, administratorul).
Structurarea datelor:
- în cazul unei baze de date locale, structura este urm?toarea:
Schem? extern? SE1 SE2 ..... SEn
Schem? conceptual? SC
BDLi
Schem? intern? Si
BDLi
Structura extern? reprezint? viziunea user-ilor asupra datelor din baza de date.
Schema conceptual? reprezint? viziunea mul?imii tuturor user-ilor din baza de date (viziunea întreprinderii asupra datelor sale opera?ionale).
Schema intern? reprezint? structura de memorare ?i strategia de acces la date.
|