baze de date Şi sisteme de gestiune a bazelor de date · pdf filearhitectura client-server,...

30
1 CAPITOLUL 1 BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE 1.1. COLECŢII DE DATE Dicţionarul explicativ al limbii române precizează că noţiunea aferentă termenului de dată poate avea atât semnificaţie temporală, cât şi semnificaţie referitoare la „fiecare din numerele, mărimile, relaţiile etc. care servesc pntru rezolvarea unei probleme sau care sunt obţinute în urma unei cercetări şi urmează să fie supuse unei prelucrări”. Un ansamblu de date înrudite pot configura o informaţie complexă. Datele de acelaşi tip sau aceeaşi structură informaţională pot fi clasificate în fişe şi/sau tabele şi pot fi prelucrate ulterior. De-a lungul timpurilor, evidenţele datelor au găsit felurite suporturi de stocare, de la memorarea mintală, răbojul de lemn, suporturi de piele sau papirus, registre de hârtie, suportul magnetic al dischetei etc. Data poate fi asimilată în bună măsură cu cuanta de informaţie. Ea poate fi concomitent obiect de prelucrare, sursă de fundamentare a modelelor şi proceselor, mijloc de tezaurizare informaţională. Pe de-o parte, datele pot fi generatoare de informaţii, pe de altă parte, au proprietăţi care permit procesarea, rafinarea acestora ca sursă de noi informaţii. Indiferent de domeniul vieţii sociale abordate, datele concură la luarea deciziilor. 1.2. SISTEME DE FIŞIERE - SISTEME DE GESTIUNE A BAZELOR DE DATE Anii ’60 şi lupta pentru supremaţia spaţială a impus introducerea unor standarde de evidenţe a datelor a căror destinaţie iniţială au fost misiunile Apolo. Volumul enorm de date trebuia actualizat aproape continuu şi astfel s-au conturat concepte aferente sistemelor de gestiune a bazelor de date, prescurtat SGBD. Sistemele bazate pe fişiere presupun că fiecărui fişier i se alocă un nume specific, în care se introduc date de acelaşi tip, cum ar fi de exemplu: situaţia facturilor furnizor (un singur furnizor sau diferiţi), situaţia stocurilor din magaziile specializate sau din magazia centrală, situaţia clienţilor etc. Fiecare fişier este stocat şi poate fi modificat de unul sau mai mulţi utilizatori (mai mult sau mai puţin autorizaţi) putând apărea dublări de fişiere rezultate după fiecare nouă prelucrare, dublări de date etc. Dacă, însă, reţeaua centrală la care sunt cuplate terminalele a fost dezvoltată pe parcurs există şi cazul în care unele aplicaţii software să nu fie compatibile între ele şi, deja, problema se complică în sensul că prin incompatibilitate prelucrarea unor informaţii poate fi complet suprimată. Fără îndoială că sistemele bazate pe fişiere prezintă avantaje de lucru atunci când sunt monitorizate de un număr limitat de utilizatori: - nu este necesară prelucrarea a două sau mai multe fişiere de date aferente unor activităţi diferite, dar înrudite în unele limite (ex:intrări de marfă/ieşiri de marfă); - nu este necesară conlucrarea în reţea sau lucrul în simultan pe acelaşi fişier în locaţii diferite ale reţelei etc.

Upload: buidien

Post on 07-Feb-2018

243 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

1

CAPITOLUL 1

BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE

1.1. COLECŢII DE DATE Dicţionarul explicativ al limbii române precizează că noţiunea aferentă termenului de dată poate avea atât semnificaţie temporală, cât şi semnificaţie referitoare la „fiecare din numerele, mărimile, relaţiile etc. care servesc pntru rezolvarea unei probleme sau care sunt obţinute în urma unei cercetări şi urmează să fie supuse unei prelucrări”. Un ansamblu de date înrudite pot configura o informaţie complexă. Datele de acelaşi tip sau aceeaşi structură informaţională pot fi clasificate în fişe şi/sau tabele şi pot fi prelucrate ulterior. De-a lungul timpurilor, evidenţele datelor au găsit felurite suporturi de stocare, de la memorarea mintală, răbojul de lemn, suporturi de piele sau papirus, registre de hârtie, suportul magnetic al dischetei etc. Data poate fi asimilată în bună măsură cu cuanta de informaţie. Ea poate fi concomitent obiect de prelucrare, sursă de fundamentare a modelelor şi proceselor, mijloc de tezaurizare informaţională. Pe de-o parte, datele pot fi generatoare de informaţii, pe de altă parte, au proprietăţi care permit procesarea, rafinarea acestora ca sursă de noi informaţii. Indiferent de domeniul vieţii sociale abordate, datele concură la luarea deciziilor. 1.2. SISTEME DE FIŞIERE - SISTEME DE GESTIUNE A BAZELOR DE DATE Anii ’60 şi lupta pentru supremaţia spaţială a impus introducerea unor standarde de evidenţe a datelor a căror destinaţie iniţială au fost misiunile Apolo. Volumul enorm de date trebuia actualizat aproape continuu şi astfel s-au conturat concepte aferente sistemelor de gestiune a bazelor de date, prescurtat SGBD. Sistemele bazate pe fişiere presupun că fiecărui fişier i se alocă un nume specific, în care se introduc date de acelaşi tip, cum ar fi de exemplu: situaţia facturilor furnizor (un singur furnizor sau diferiţi), situaţia stocurilor din magaziile specializate sau din magazia centrală, situaţia clienţilor etc. Fiecare fişier este stocat şi poate fi modificat de unul sau mai mulţi utilizatori (mai mult sau mai puţin autorizaţi) putând apărea dublări de fişiere rezultate după fiecare nouă prelucrare, dublări de date etc. Dacă, însă, reţeaua centrală la care sunt cuplate terminalele a fost dezvoltată pe parcurs există şi cazul în care unele aplicaţii software să nu fie compatibile între ele şi, deja, problema se complică în sensul că prin incompatibilitate prelucrarea unor informaţii poate fi complet suprimată. Fără îndoială că sistemele bazate pe fişiere prezintă avantaje de lucru atunci când sunt monitorizate de un număr limitat de utilizatori: - nu este necesară prelucrarea a două sau mai multe fişiere de date aferente unor activităţi diferite, dar înrudite în unele limite (ex:intrări de marfă/ieşiri de marfă);

- nu este necesară conlucrarea în reţea sau lucrul în simultan pe acelaşi fişier în locaţii diferite ale reţelei etc.

Page 2: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

2

Definiţia generală a bazelor de date este dată de Thomas Connolly [1]: Bazele de date sunt o colecţia partajată de date, între care există relaţii logice (şi o descriere a acestor date), proiectată pentru a satisface nacasităţile informaţionale ale unei organizaţii sau ale unui grup. Există însă o diferenţă între date şi informaţii, bine sesizată de Robert Dollinger [8] astfel: „Datele sunt fapte culese din lumea reală pe bază de observaţii şi măsurători. Informaţia este rezultatul interpretării datelor de către un anumit subiect şi conferă acestuia capacitatea de a lua decizii”. În funcţie de gradul de detaliere, datele pot fi: - date elementare; - date compuse.

Astfel, datele elementare sunt entităţi indivizibile, cuante de informaţie, atât la nivel informaţional, cât şi la nivel de prelucrare. Datele compuse sunt mulţimi de date elementare, care ajută la caracterizarea entităţilor (ansamblelor) informaţionale şi care pot fi descompuse în date elementare. Prelucrarea datelor se poate realiza atât la nivelul datelor elementare, cât şi la nivelul datelor compuse. Colecţiile de date sunt mulţimi de date ce privesc, deci, un domeniu, un proces, o activitate sau un obiect. Sub aspect informatizat ele sunt organizate şi dispuse sistematizat pe un suport de memorie externă. Sub aspectul evoluţiei categoriilor de receptare şi memorare informatizată a datelor, Robert Dollinger [8] identifică patru etape distincte de abordare a acestora. Prima etapă este aferentă trecerii de la sistemele de prelucrare manuală la computer. Principalul tip de organizare a datelor este fişierul. Sistemul bazat pe fişiere (Figura 1.1.) reprezintă o colecţie de programe-aplicaţie, care efectuează servicii pentru utilizatorii finali, cum ar fi producerea de rapoarte. Fiecare program defineşte şi gestionează propriile date. Un fişier este un set de înregistrări care conţin date între care există relaţii logice. Dacă informaţia este stocată în diverse locaţii spre prelucrare, datele pot fi dublate, triplate, iar multiplicarea datelor va fi existentă în fişiere, care, cel mai probabil nu vor fi actualizate periodic. Accesul la o înregistrare dintr-un fişier se face pe principiul accesului secvenţial sau prin acces direct, pe baza unei chei de identificare şi de localizare rapidă a înregistrării, pe baza indexării fişierelor. Acest tip de organizare a datelor este caracteristic aplicaţiilor realizate cu limbaje de programare (Fortran, Pascal, Basic etc.). Dezavantajele rezultate din organizarea datelor în fişiere sunt următoarele: - Redundanţă ridicată (stocarea aceloraşi date în mai multe fişiere); - Dificultăţi de acces la date, întrucât aceleaşi date sunt exploatate de mai mulţi utilizatori simultan şi în paralel, ceea ce necesită ulterior operaţii suplimentare de sortare, fuziune, ventilare, conciliere etc.;

- Izolarea datelor, întrucât nu pot fi scrise aplicaţii executabile care să acceseze datele într-o manieră globală;

- Actualizarea datelor prin adăugare, modificare, ştergere, care creează conflicte când mai mulţi utilizatori doresc să modifice simultan aceleaşi date;

Page 3: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

3

- Dependenţa programelor faţă de date; - Greutatea de a obţine răspunsuri rapide (on-line) la probleme neprevăzute; - Fiecare dată este descrisă independent în toate fişierele în care apare. Dacă, însă, într-un fişier se modifică formatul şi valoarea unei date, modificarea nu se transmite automat ulterior în toate fişierele, astfel că pentru aceeaşi dată pot s apară valori diferite în fişiere diferite, ceea ce este cunoscut sub denumirea de inconsistenţă a datelor. Dacă fişierul este realizat în limbaje diferite, există riscul incompatibilităţii

datelor, respectiv nu este posibilă menţinerea integrităţii datelor. Deci, toate limitările tratării bazate pe fişiere se bazează pe următorii factori: a) definiţia datelor este incorporată în programele aplicaţie, în loc să fie stocată separat şi independent;

b) nu există un control al accesului şi manipulării datelor, dincolo de cel impus de către programele aplicaţie.

A doua etapă se caracterizează prin separarea dintre structura logică de date şi structura fizică. Dacă în prima etapă datele memorate pe benzi magnetice, iar structura datelor servea, de regulă, o singură aplicaţie, în această nouă etapă apar noi forme de stocare a datelor (discul magnetic, banda magnetică etc.), ceea ce a creat probleme de compatibilizare, atât hardware, cât şi software, cu alte cuvinte exista riscul alterării datelor şi structurilor de date atât fizic, cât şi logic. Etapa a treia este definită de apariţia fişierelor integrate, prin care datele sunt legate logic între ele, chiar dacă datele fizice sunt rezidente pe diverse sisteme. Această etapă constituie un prim pas spre compatibilizarea accesului la date atât logic, cât şi fizic, ceea ce a constituit nucleul de bază în definirea datelor şi a legăturilor dintre ele, ca sistem paralel de aplicaţiile sub care rulează acestea. Etapa a patra este etapa bazelor de date propriu-zise şi a dezvoltării sistemelor de gestiune a bazelor de date. Această etapă va fi de fapt subiectul acestei lucrări. Thomas Connolly [1] defineşte baza de date ca fiind „colecţie partajată de date, între care există relaţii logice (şi o descriere a acestor date), proiectată pentru a satisface necesităţile informaţionale ale unei organizaţii”. Noi credem că bazele de date constituie o colecţie de date structurată logic care serveşte ca sursă informaţională unei comunităţi ce poate fi închisă sau deschisă. Prin această definiţie răspundem atât domeniilor organizaţionale pentru care INTERNET-ul răspunde noţiunii de colectivitate închisă, însă circuitul informaţional de acest tip poate fi extins şi către sfera ştiinţifică, atunci când se pune problema dezvoltării de baze de date achiziţionate din felurite experimente puse în comun pentru o comunitate mai restrânsă sau mai largă de specialişti, cum ar fi spre exemplu cei din domeniul fizicii nucleare. Comunităţile deschise sunt o categorie tipică utilizatorilor constanţi ai INTERNET-ului. Pentru aceştia, poate, este mai puţin importantă decizia cât mai curând nevoia de informare pe un domeniu sau altul. Decizia adeseori se rezumă la simpla alegere a unui site pe care este găzduită o bază de date.

Page 4: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

4

1.3. ARHITECTURA SISTEMELOR DE GESTIUNE A BAZELOR DE DATE Principala operaţie dintr-o aplicaţie de baze de date este cea de regăsire a datelor, deci de a răspunde la interogări. Într-o bază de date, de asemenea sunt frecvente operaţiile următoare: - memorare; - ştergere; - actualizare.

Evoluţia conceptuală a deceniului ultim a evoluat spre generalizare către arhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor de date şi sistemele de aplicaţii. Independenţa datelor reprezintă un concept fundamental în filosofia bazelor de date şi în administrarea lor. Ea este legată de modul de memorare şi de organizare a datelor şi în ce măsură este transparent şi inteligibil pentru utilizator. Două aspecte sunt principal importante în caracterizarea independenţei datelor, şi anume: 1. Independenţa fizică a datelor, care presupune posibilitatea modificării schemei fizice a datelor fără ca aceasta să implice modificarea schemei conceptuale, a schemei logice şi a aplicaţiilor executabile. Astfel, o modificare a structurii fizice nu va afecta aplicaţia şi reciproc, o modificare a aplicaţiei va lăsa nemodificată structura fizică a datelor;

2. Independenţa logică a datelor, presupune că pot fi realizate modificări conceptuale ale datelor, fără ca prin aceasta să fie modificată schema logică sau a programelor de aplicaţie.

Cerinţele minimale impuse unei baze de date [10], sunt: - furnizarea în timp util a informaţiilor solicitate; - asigurarea unor costuri minime în prelucrarea şi întreţinerea informaţiei; - capacitatea de a satisface, cu aceleaşi date, necesităţi informaţionale ale unui număr mare de utilizatori;

- flexibilitate, în sensul de adaptare la interogări noi, neprevăzute iniţial; - minimizarea redundanţei datelor; - posibilitatea exploatării datelor de mai mulţi utilizatori; - asigurarea securităţii datelor prin măsuri de protecţie pe diverse nivele a accesului neautorizat, denumit şi confidenţialitatea accesului;

- capacitatea recuperării datelor ca urmare a unor manipulări eronate sau deteriorări accidentale (integritatea datelor);

- posibilitatea utilizării eforturilor anterioare şi anticiparea nevoilor viitoare (compatibilitate şi expandabilitate). Avantajele datelor centralizate în baze de date sunt în principal următoarele:

A. Reducerea redundanţei datelor; B. Evitarea inconsistenţei datelor prin actualizarea centralizată a întregii baze de date; C. Posibilitatea partajării datelor; D. Încurajarea introducerii standardelor de compatibilizare a bazelor de date cu aplicaţii executabile;

Page 5: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

5

E. Posibilitatea aplicării restricţiilor de securitate pe mai multe nivele; F. Menţinerea integrităţii datelor.

Arhitectura bazelor de date este, principial, alcătuită din următoarele componente: - baza de date propriu-zisă; - sistemul de gestiune al bazei de date; - un dicţionar al bazei de date, care conţine informaţii despre:

- date; - structura datelor; - statistici; - documentaţie;

- componente hardware (comune sau specializate); - reglementări administrative destinate bunei funcţionări a sistemului; - factorul uman autorizat în diverse limite (utilizatori, administrator, programatori, operatori). Sistemele de gestionare a bazelor de date (SGBD) reprezintă în viziunea lui

Thomas Connolly [1] un sistem de programe care permit utilizatorului definirea, creerea şi întreţinerea bazei de date şi accesul controlat la aceasta.

După alţi autori [10], un sistem de gestiune a bazelor de date reprezintă un produs software capabil de a asigura interacţiunea cu o bază de date, care să permită definirea, consultarea şi actualizarea datelor din baza de date. 1.4. CARACTERISTICILE ŞI OBIECTIVELE SGBD-URILOR Caracteristicile principale ale Sistemelor de gestiune a datelor sunt următoarele componente: - limbajul de definire a datelor pe baza căruia pot fi specificate tipurile de date şi structurile dintre acestea;

- limbajul de manipulare a datelor cu ajutorul căruia utilizatorii autorizaţi pot să insereze, să actualizeze, să şteargă şi să extragă date din baza de date. Limbajul de manipulare a datelor poate realiza toate acţiunile de mai sus pe baza interogărilor, fiind deseori denumit şi limbaj de interogare. Limbajele de manipulare a datelor pot fi procedurale sau neprocedurale. Limbajele procedurale tratează bazele de date înregistrare-cu-înregistrare, în schimb limbajele neprocedurale operează asupra unor seturi de înregistrări;

- limbaj pentru controlul şi securitatea datelor pe baza căruia se poate asigura menţinerea confidenţialităţii şi integrităţii datelor faţă de utilizatori neautorizaţi. De asemenea, acest tip de limbaj poate, până în anumite limite, să salveze informaţii în cazul unor defecţiuni etc. Obiectivele principale ale unui sistem de gestiune a bazelor de date sunt:

- Independenţa fizică legată de suporturile de memorare a datelor şi interacţia cu sistemul/sistemele de gestiune a bazelor de date, fără ca datele să fie alterate;

Page 6: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

6

- Independenţa logică care permite ca un utilizator sau un grup de utilizatori autorizaţi să-şi construiască noi entităţi şi relaţii conversaţionale, fără ca prin aceasta ceilalţi utilizatori să fie afectaţi şi fără ca structura logică a datelor să fie alterată;

- Manipularea datelor de către neinformaticieni prin punerea la dispoziţie a unui limbaj neprocedural şi a unei interfeţe vizuale apropiată de limbajul natural;

- Administrarea centralizată a datelor pentru a permite o organizare coerentă şi eficace a informaţiei;

- Neredundanţa datelor. Organizarea nejudicioasă a datelor poate conduce la un grad mai mic sau mai mare de redundanţă a unor date. De asemenea, fiecare aplicaţie care accesează baza de date poate conduce la redundare. Cu alte cuvinte, se acceptă un anumit grad de redundare şi este considerat normal. Peste acest grad, baza de date este neeficient exploatată şi incorect structurată.

- Coerenţa datelor, concept prin care informaţia trebuie să satisfacă simultan constrângeri statice, dinamice, locale sau generale.

- Partajabilitatea datelor, prin care este posibil ca aplicaţiile să utilizeze datele din baza de date în timp şi simultan, fără a afecta aplicaţiile altor utilizatori, timp în care date din baza de date pot fi adăugate sau modificate.

- Securitatea şi confidenţialitatea datelor, prin care datele trebuie protejate de acces neautorizat sau rău intenţionat. SGBD-ul trebuie să asigure securitatea fizică şi logică a informaţiei şi să permită doar utilizatorilor autorizaţi să efectueze operaţii asupra bazei de date. De regulă, un SGBD trebuie să includă minimal cinci clase de module:

- programe de gestiune a bazei de date; - module pentru tratarea limbajului de definire a datelor; - module pentru tratarea limbajului de manipulare a datelor; - module utilitare; - module de control. Participanţii la alcătuirea, configurarea şi utilizarea bazelor de date sunt:

a) administratorii de date – sunt responsabili de gestionarea resurselor de date, de planificarea, dezvoltarea şi întreţinerea standardelor, a politicilor şi a procedurilor bazei de date, precum şi de proiectarea logică a bazei de date. Rolul administratorului de date este de a consilia întreg sistemul uman participant la mediul de date astfel încât informaţia să asigure coerenţă şi suficientă complexitate în luarea deciziilor sau sub aspectul informării.

b) Administratorii de baze de date – sunt responsabili cu realizarea fizică a bazei de date, respectiv proiectarea şi implementarea acesteia, securitatea şi controlul integrităţii, întreţinere şi atingere de performanţe optime pentru aplicaţii şi utilizatori. Dacă rolul administratorului de baze de date este de natură tehnică, rolul administratorului de date este de natură logică, de coerenţă a informaţiei. Adeseori între cei doi administratori nu sunt diferenţe vădit stabilite, fiind una şi aceeaşi persoană sau grup de implementare a mediului bazei de date.

c) Proiectanţii de baze de date – care pot fi la rândul lor de alte două categorii: c1) proiectanţi de baze de date logice – acesta trebuie să cunoască foarte bine

necesităţile bazei de date, să fie capabil să identifice datele sub aspectul constrângerilor şi

Page 7: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

7

relaţiilor dintre acestea. Acesta trebuie să aibe temeinice cunoştinţe asupra sursei datelor şi tipurilor principale de utilizare ale acestora, inclusiv a fluxurilor decizionale (acolo unde ele sunt specificate). Practic, proiectantul de baze de date logice va avea două obiective majore: - proiectarea conceptuală a bazei de date pentru a fi cât mai puţin sensibilă la sistemul de gestiune a bazei de date avut la dispoziţie, programele-aplicaţie, limbajele de programare etc.;

- orientarea spre un anume model de date (relaţional, reţea, ierarhic, orientat spre obiecte). c2) proiectanţii de baze de date fizice – au rolul de a prelua modelul logic şi de a-

l transpune fizic prin: - configurarea setului de tabele şi constrângeri sub aspectul integrităţii datelor; - tipurile de suporturi de stocare şi metodele de acces la date; - măsurile aferente asigurării securităţii datelor.

d) programatorii de aplicaţii – preiau de la analiştii de sistem documentaţia necesară şi proiectează implementarea programelor de aplicaţii ţinând seama de limitele sistemului de operare şi al resurselor acestuia, astfel încât, utilizatorii finali să aibă acces rapid la informaţie. De regulă programele de aplicaţii sunt redactate într-un limbaj de programare [6].

e) Utilizatorii finali – pot fi: - utilizatori conversaţionali (nespecialişti), care interacţionează cu baza de date într-un mod apropiat cu conversaţia curentă. Se caracterizează prin aceea că nu cunosc structura bazei de date şi nici modul efectiv de lucru cu baza de date şi de regulă nici nu îi interesează decât aspectul pur informativ pe care îl poate oferi baza de date şi posibilitatea prelucrării acestora fie pentru luarea unor decizii, fie pentru studii;

- utilizatori iniţiaţi (specialişti), care cunosc structura bazei de date, au cunoştinţe de programare, cunosc problemele sistemului de operare, astfel încât resursele consumate să fie minime.

1.5. EVOLUŢIA SISTEMELOR DE GESTIONARE A BAZELOR DE DATE

După unii autori [1] se presupune că momentul despărţirii limbajelor de programare în două ramuri de evoluţia, adică în: - limbaje de programare şi - sisteme de gestiune a bazelor de date

Să nu uităm, însă, că eram în anii ’60, în plin război rece, într-o concerenţă covârşitoare cu URSS, care deja făcuse primele ieşiri în spaţiul cosmic. Cum însă datele au rămas secrete, până în momentul redactării acestei cărţi nu avem informaţii despre evoluţia sistemelor de gestiune a bazelor de date ruseşti, dar avem convingerea că, atâta vreme cât au existat computere şi în zona URSS, au dezvoltate sisteme de gestiune a bazelor de date la fel de competitive. Diferenţa rezidă în aceea că sistemul american a dezvoltat standarde de compatibilizare şi uniformizare, astfel că, după apariţia GUAM (Generalized Update

Page 8: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

8

Access Method) în anii ’60, la scurt timp s-au elaborat proceduri de utilizare. Astfel, în 1965, cu ocazia Conferinţei pentru Limbajele Sistemelor de Date (CODASYL) s-au pus bazele a ceea ce în 1967 a devenit Grupul Operativ pentru Baze de Date (DBTG), care a avut ca principale preocupări elaborarea standardelor de creare şi manipulare a datelor. DBTG a identificat trei elemente de bază ale SGBD-urilor: - schema de reţea – care reprezintă organizarea logică a bazei de date în care se includ definirea denumirii bazei de date, a tipului fiecărei înregistrări şi a componentelor fiecărui tip de înregistrare şi reprezintă viziunea administratorului bazei de date;

- subschema – partea sau porţiunea din baza de date aşa cum este percepută de către programul-aplicaţie sau de către utilizatorul final (mai mult sau mai puţin instruit);

- un limbaj de gestionare a bazelor de date – care să definească caracteristicile şi structura datelor şi care să le manipuleze. Putem spune fără a greşi că prima generaţie de SGBD-uri a fost inaugurată odată

cu apariţia GUAM-ului şi în perioada 60-70, denumită şi perioada CODASYL. S-au distins câteva dezavantaje, şi anume [1]: - trebuiau scrise programe complexe pentru a răspunde chiar şi la interogări simple; - existau independenţe minime a datelor; - nu exista o bază teoretică unanim acceptată. Odată cu apariţia legilor lui E.F.Codd în 1970, se poate spune că s-a făcut trecerea

la o a doua generaţie, a SGBD-urilor relaţionale. Astfel, s-au conturat următoarele: - dezvoltarea limbajului de interogare structurat, SQL, care a devenit limbajul standard pentru SGBD-uri relaţionale;

- producerea de SGBD-uri relaţionale la scară comercială. Cea de-a treia generaţie, conturată la începutul anilor ’90, se remarcă prin două

direcţii de dezvoltare a conceptelor SGBD, şi anume: - SGBD orientate spre obiecte (Object-Oriented DBMS); - SGBD de obiecte relaţionale (Object-Relational DBMS). Aceste ultime două categorii de SGBD-uri mai sunt denumite şi sisteme avansate

şi răspund mai bine conceptului de orientare spre obiecte, putând deservi baze de date distribuite, multimedia, seriilor de achiziţii rezultate din experimentele ştiinţifice etc..

Sintetizând, principalele modele de structurare a datelor sunt: - modele ierarhice; - modele reţea; - modele relaţionale; - modele relaţionale orientate spre obiecte; - modele de obiecte relaţionale.

Open Database Connectivity (ODBC) reprezintă o interfaţă standard care permite unei aplicaţii să acceseze date din surse diferite: Oracle, MS SQL Server, DB2, Informix, MS Access, dBase etc..

Sistemele de gestiune a bazelor de date au evoluat în denumire transformându-se într-un concept mai larg, servere de date. Aceasta şi datorită capabilităţii de a fi portabile pe Internet. Noua denumire a fost adoptată spre sfârşitul anilor ’90, ca fiind mai ilustrativă, mai puternică şi mai generală decât anterioara.

Interfaţa ODBC defineşte:

Page 9: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

9

- o bibliotecă de apeluri de funcţii care permit unei aplicaţii să se conecteze la o sursă de date, să execute fraze SQL şi să primească rezultatele acestora;

- o modalitate standard de conectare la o sursă (BD) de date externă; - o modalitate standard de reprezentare a tipurilor de date. Această interfaţă permite, de asemenea, recepţionarea prin mecanisme

standardizate, a erorilor generate de motoarele diferitelor servere de date care gestionează baza de date sursă [15].

Practic, în arhitectura client-server, SGBD-ul este doar o componentă alături de alte proprietăţi.

Arhitectura client-server este un model de lucru în care mai multe programe autonime comunică prin schimb de mesaje.

Sistemele client-server sunt sisteme informatice distribuite. Un client reprezintă un calculator, care prin intermediul unui mesaj formulează o

cerere de informaţii sau servicii, către un alt calculator denumit server, care are calitatea suplimentară de „trezorier” şi gestionar al informaţiilor deţinute. Acţiunea de comunicare client-server se derulează transparent pentru utilizator [16].

Caracteristicile clientului: - prezintă o interfaţă utilizator, de obicei grafică (GUI); - „formulează” interogări (cereri, consultări) sau comenzi către server; - transmite interogările sau comenzile serverului printr-o tehnologie de comunicaţie; - analizează datele din rezultatele interogărilor/comenzilor primite de la server. Caracteristicile serverului:

- furnizează un serviciu clientului; - răspunde la interogările/comenzile clientului; - ascunde detaliile sistemului client-server, făcând transparent dialogul între client şi server. Orice sistem distribuit este alcătuit din minimun trei componente principale:

- interfaţa cu utilizatorul (sistem de operare/mediu grafic); - aplicaţia (prelucrările sau procesele); - sistemul de gestiune al bazelor de date. Aceasta este o arhitectură pe două straturi. Arhitectura pe trei straturi, cea din zilele

noastre (Figura 1.4.), în afară de posturile client şi server de date, există şi serverele de aplicaţii, care constituie partea logică a aplicaţiei şi gestionează prelucrările [16]. 1.6. ASPECTE GENERALE PRIVIND MANAGEMENTUL CALITĂŢII ÎN PRODUCŢIA SOFTWARE [32] Unul dintre criteriile de valoare ale unui produs software este calitatea acestuia. Conceptul de calitate este complex şi face referire atât la funcţionalitatea produsului în timp, la rapiditatea şi corectitudinea prelucrărilor, dar şi la uşurinţa utilizatorului în înţelegerea principalelor funcţii ale acestuia. Produsul software supus monitorizării de calitate trebuie să răspundă câtorva criterii principale, şi anume: - calitatea concepţiei; - calitatea fabricaţiei (monitorizare pe tot parcursul fabricaţiei);

Page 10: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

10

- calitatea produsului (sau serviciului); - calitatea livrării; - fiabilitatea în exploatare şi gradul de satisfacţie al utilizatorilor.

În bună măsură, aspectele calitative software îmbinate cu cele hardware sunt de maximă importanţă în aplicaţiile destinate monitorizării vieţii sau în cele care pot fi, în caz de eroare, generatoare de situaţii ce pot pune viaţa sau mediul în pericol. De asemenea, aplicaţiile dedicate domeniului financiar, bursier sau bancar, dacă sunt afectate de erori pot afecta pieţe de milioane de conturi, cu implicaţii indirecte într-o multitudine de domenii economice. Cu alte cuvinte, minimizarea spre zero a apariţiei erorilor reprezintă ţelul oricărui producător de software. Neîndoielnic că, oricât de performant ar fi produsul software, eroarea umană introdusă de un utilizator poate fi la rândul ei, de asemenea, sursă de disfuncţionalităţi. Sistemele de gestiune a bazelor de date trebuie deci să aibă prevăzute nivele de securitate şi acces diferenţiate, precum şi soluţii de back-up (salvare) a celor mai recente acţiuni, precum şi a istoricului datelor pe cel puţin un suport de memorare. În funcţie de importanta aplicaţiei, se recomandă prevederea salvării automate, periodice a activităţii pe minim trei suporţi de memorare, în trei locaţii diferite, dar care să aibă prevăzută posibilitatea de actualizare automată la fiecare nouă salvare. Adeseori sistemele de memorare şi de salvare simultană sunt realizate sau bazate pe tehnologii diferite (magnetic, optic, electrostatic etc.) tocmai pentru a minimiza pierderile fizice. Prevederea de proceduri de elaborare şi uz la toate nivelurile, de la concepţie, fabricaţie, livrare, până la utilizare conduce la ridicarea costurilor produsului software, dar pierderile generate de disfuncţionalităţi sunt minimizate. Producătorul de software trebuie să aibă în vedere ca balanţa dintre costuri şi prejudiciile produse beneficiarului să nu conducă la anomalii. Astfel, un preţ ridicat, justificat de costuri de producţie şi testare ridicate, poate conduce la îngustarea segmentului de piaţă căruia îi este dedicat, alungarea clientelei tradiţionale, ba chiar şi ieşirea de pe piaţă. Şi aceasta, cu toate că produsul oferit poate fi garantat ca „sigur” ! Producătorul va ţine permanent seama de profilul clientului său din segmentul de piaţă ţintă, de puterea sa de cumpărare şi de performanţele aplicaţiilor similare realizate de concurenţă. Şi aceasta, fără a face rabat vreun moment de calitatea produsului său.

CAPITOLUL 2

MODELAREA CONCEPTUALĂ A SISTEMELOR DE GESTIUNE A BAZELOR DE DATE

2.1. NIVELURILE DE ABSTRACTIZARE A DATELOR

Sub aspectul nivelurilor de abstractizare şi de protecţie a datelor, se disting patru trepte, şi anume:

Page 11: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

11

Nivel real

1. Nivelul fizic (intern), este descris de schema fizică a datelor (bit, octet, adresă) şi reprezintă viziunea programatorilor de sistem asupra datelor. Datele există doar la nivel fizic, iar celelalte niveluri sunt niveluri de virtualizare în prezentarea datelor;

2. Nivelul conceptual – este alcătuit din schema conceptuală a

datelor (articol, înregistrare, zonă) şi reprezintă, de asemenea, viziunea programatorilor de sistem asupra datelor;

Nivele virtuale

3. Nivelul logic – este dat de una din schemele logice posibile ale datelor şi reprezintă viziunea programatorului de aplicaţie asupra datelor;

4. Nivelul virtual (extern) reprezintă viziunea utilizatorului final asupra datelor.

2.2. ORGANIZAREA DATELOR 2.2.1. ORGANIZAREA INTERNĂ A DATELOR

Datele sunt structurate în memoria calculatorului sub următoarele forme:

- masiv; - înregistrare.

Masivul defineşte o colecţie de date sub un nume comun, caracteristică vectorilor şi matricelor. Spaţiul de memorie alocabilă, necesar reprezentării şi prelucrării masivelor trebuie declarată iniţial de administratorul de date. Masivele pot primi date din bazele de date, sau de la aplicaţiile de interogare şi pot transmite date unor înregistrări, funcţii, baze de date.

Înregistrarea reprezintă unitatea clasică de organizare, reprezentare şi prelucrare internă a colecţiilor de date. Organizarea înregistrărilor se face pe două nivele: - organizare logică – specificând identificatorul de referinţă, mulţimea de valori pe care le pot lua datele pe parcursul prelucrării lor, tipul datelor, mărimea fiecăreia, modul de aliniere, cheile de acces etc.;

- organizarea fizică – prin trimiterea la codurile de reprezentare internă, adresarea pentru accesarea locaţiilor de memorie etc. Câmpul este un element al înregistrării şi reprezintă unitatea de structurare şi de

identificare a informaţiilor unei înregistrări. Orice câmp se defineşte prin: - nume atribut; - tipul datelor conţinute (numerice, alfanumerice, logice etc.); - lungimea datelor (exprimată în număr de caractere); - poziţia punctului zecimal; - rolul pe care îl are în procesul prelucrării (de identificare, de calcul, de indexare, de legătură).

2.2.2. ORGANIZAREA EXTERNĂ A DATELOR

Page 12: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

12

Principala formă de organizare externă a datelor o reprezintă fişierul*). Accesul la date poate fi diferit în funcţie de categoria datelor, şi anume: - date propriu-zise, privite ca simple înregistrări ce urmează a fi accesate, prelucrate şi realocate spre memorie;

- date complexe, care pot fi date propriu-zise, serii de date şi/sau fişiere de sine stătătoare (fişiere de fişiere). În acest paragraf vom face referire la această ultimă formă.

Fişierele componente ale bazei de date sunt definite de următoarele elemente: - conţinutul informaţional (fişier de date, fişier-program, fişier de comenzi, fişier-text, fişier multimedia etc.);

- modul de organizare al conţinutului; - modul de accesare a datelor; - partiţia de memorie externă pe care este depus (localizarea în memoria externă); - specificatorul de identificare atribuit; - atribute de tip read-only, hidden, archive, system; - data la care a fost creat. Din punctul de vedere al actorilor ce participă la mediul unei baze de date

(administratori, programatori, utilizatori), accesul la datele conţinute de un fişier se realizează prin înregistrări logice de acces.

Modul de accesare se realizează prin încărcarea în memoria internă a calculatorului a următoarelor elemente: - se încarcă programul-aplicaţie; - se aduc pe rând blocurile de înregistrări fizice în poziţie de aşteptare, la dispoziţia programului-aplicaţie;

- fiecare înregistrare fizică este descompusă în înregistrări logice; - înregistrările logice sunt prelucrate pe rând de programul-aplicaţie iar rezultatele sunt furnizate la ieşire.

2.3. MODELE DE DATE 2.3.1. NOŢIUNI GENERALE

Colecţiile de date se bazează pe conceptele asociate de: - entitate; - caracteristică; - membru; - atribut.

Entitatea reprezintă o componentă unitară ce poate fi individualizată, după aceleaşi descrieri, într-un domeniu. La nivelul fiecărei entităţi, se pot crea colecţii de date cu proprietăţi similare.

Exemple de entităţi:

*) A nu se face confuzia cu sisteme organizate pe fişiere, care reprezintă un cu totul alt concept şi face referire la formele precursoare ale SGBD-urilor.

Page 13: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

13

- Colecţia Experimente - Colecţia Contracte - Colecţia Furnizori - Colecţia Filme; - Colecţia Muzică; - Etc.

Caracteristica este un concept prin care se definesc proprietăţi specifice predominante, care ajută la descrierea colecţiilor de date ca entităţi. Entitatea este descrisă de lista de caracteristici. Mulţimea caracteristicilor care definesc un domeniu formează o familie de caracteristici.

Membrul reprezintă un element al unei colecţii de date. Atributele sunt caracteristicile (descrierile) unui membru şi serveşte pentru

caracterizarea însuşirilor comune unei categorii. Domeniul reprezintă totalitatea valorilor specifice unui atribut.

Tabel 2.1.

ENTITATE EXPERIMENTE CONTRACTE FILME MUZICA

MEMBRU FIZICĂ CERCETARE COMEDIE CLASICĂ

Atribute

ID_Seria

Data

Coordonator

Aparat

Cost

Nr_înregistrare

Finanţator

Data finalizării

Responsabil

Buget

ID

Regizor

Actor principal

An producere

Premiu

ID

Compozitor

Orchestra

Dirijor

An înregistrare

Valoare

ID_Seria [1,500]

Data [01.01.01-31.12.20]

Cost [50000;150000]

Nr_înregistrare [1,2000]

Data finalizării

[01.01.01-31.12.20]

Buget [25000;1000000]

ID [1,30]

An producere

[01.01.1930-

31.12.2000]

ID [1,740]

An înregistrare

[01.01.1900-31.12.2010]

În tabelul 2.1. sunt prezentate câteva exemple de dependenţă entitate → membru → atribut →valoare.

Modelarea datelor se bazează pe conceptul matematic de relaţie, care este o matrice cu n coloane şi m rânduri iar elementele matricei sunt dispuse şi între care există corespondenţe logice.

O altă definiţie importantă este cea a tuplului care este un rând într-o relaţie. Spre deosebire de tuplu, atributul este o coloană a unei relaţii, cu o anumită

denumire. Concluzionăm că fiecare entitate este identificată printr-un nume şi fiecare atribut

al entităţii, pe care o caracterizează, poartă un nume distinct.

Page 14: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

14

Relaţiile sau asocierile reprezintă comunicarea între două sau mai multe entităţi şi raportul (poziţia) care există între aceste entităţi. O valoare a unei relaţii este o comunicare între valorile entităţilor care le leagă. Cu alte cuvinte relaţia este un concept intim legat de apariţia a două sau mai multe entităţi.

Una din principalele modalităţi de structurare şi vizualizare a datelor (sau a pachetelor de date) este prin folosirea abstractizării , care neglijează aspectele nerelevante şi realizează concentrarea asupra proprietăţilor care sunt semnificative dintr-un anume punct de vedere.

Criteriul de relevanţă în abstractizare este condus de anumite obiective specifice bazei de date ce urmează a fi administrate.

O formă elementară de abstractizare este tipizarea prin care se defineşte un tip pornind de la o clasă de obiecte similare.

Tipul permite generalizarea în alcătuirea mulţimilor semnificative de obiecte, care au elemente comune, iar deosebirile sunt neglijate. Această categorie de generalizare se numeşte clasificare.

Figura 2.5. Ierarhii de generalizare Instanţierea este opusul procesului de clasificare. Specializarea este opusul generalizării. Prin aplicarea pe mai multe nivele a generalizării se obţin ierarhii de generalizare (Figura 2.5.). Agregarea este o formă de abstractizare prin care un obiect este alcătuit din părţile sale componente (Figura 2.6.).

EXPERIMENT

TIP LABORATOR BUGET COST

Fizica nucleară

Fizica solidului

Chimia

COORDONATOR APARAT

CP I CP II CP III A1 A2 … An

Page 15: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

15

Figura 2.6. Ierarhie de agregare

În figura 2.6. se observă că PERSOANA constituie un tip generalizat, căruia i s-au asociat tipurile NUME, TITLU ŞTIINŢIFIC, INSTITUT, VECHIME care sunt proprietăţi intensionale ale tipului PERSOANA. Să presupunem acum că este cazul unui consorţiu de cercetare cu mai multe institute de cercetare din diverse domenii ştiinţifice, că sunt diferite laboratoare experimentale şi ne interesează locaţia unde Traian Vlăduţoiu, cercetător ştiinţific debutant, cu o vechime de 5 ani la Laboratorul de Energii înalte, etajul 4 din Institutul Curie a făcut o descoperire importantă sau termenul proiectului se apropie de sfârşit. Numelui Traian Vlăduţoiu i se va asocia ETAJ, LABORATOR, NR care constituie proprietăţile extensionale ale instanţierii tipului PERSOANA care caracterizează respectivul cercetător. 2.3.2. MODELUL DE DATE IERARHIC

Modelul de date ierarhic constituie cronologic prima etapă în conturarea conceptelor SGBD.

Acest model foloseşte două forme de structurare a datelor: - tipurile de înregistrări, pentru reprezentarea tipurilor de entităţi; - legăturile explicite pentru reprezentarea relaţiilor între mulţimi de entităţi care au şi rolul de a preciza conexiunile între tipurile de entităţi.

Diagrama structurii de date este un arbore de definiţie ierarhic, adică un graf orientat de tip ierarhic (Figura 2.7.).

PERSOANA

NUME TITLU ŞTIINŢIFIC INSTITUT VECHIME

ETAJ LABORATOR NR.

Page 16: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

16

Figura 2.7. Arbore de definiţie ierarhic pentru baza de date a unui institut de cercetare

Schiţa unui arbore de definiţie reprezintă forma comprimată, logica de abordare a datelor în mod sugerat, simplificat. Plantarea cu date, care răspund arborelui de definiţie, reprezintă forma extinsă, explicită a bazei de date structurată în tipul ierarhic. Apariţia datelor este structurată în formă de tabele legate logic unele de altele. Descrierea unei baze de date de tip ierarhic utilizând un limbaj de definiţie a datelor presupune trei elemente esenţiale, şi anume: - arbore de definiţie ierarhic (prin specificarea nodului rădăcină şi a legăturilor tată-fiu);

- tipurile de înregistrări (nodurile arborelui); - câmpurile din cadrul înregistrărilor (tipul şi dimensiunea). În figura 2.8. este ilustrată forma detaliată a bazei de date ierarhice aferente

schemei din figura 2.7. .

INSTITUT

PERSONAL DEPARTAMENT LOCAŢIA

APARATE

Page 17: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

17

Figura 2.8. Extensia bazei de date ierarhice aferente unui consorţiu de institute de

cercetare

Aşa cum se poate observa din figura 2.8. apare fenomenul de redundanţă, întrucât „Laser He-Ne” este utilizat atât de „LASER”, cât şi de departamentul „RAZE X”. De asemenea, pentru aparat „Ultrasunete”, acesta este utilizat şi de departamentul „PIEZO” şi de departamentul „RAZE X”. La o eventuală interogare, de genul „În uzul cui se află aparatul de ultrasunete?” calculatorul va investiga toate modurile arborelui până va identifica toate variantele posibile, ceea ce presupune consum de resurse şi timpi de prelucrare mult măriţi decât în mod uzual. Problema se complică în cazul elaborării unei scheme ierarhice distribuite pe mai multe nivele ierarhice. Modelul ierarhic se caracterizează printr-o serie de anomalii legate de operaţiile de adăugare, ştergere şi actualizare a datelor. Avantajele modelului ierarhic: - capacitatea de a se implementa eficient pe orice tip de suport de memorare; - simplitatea modelului; - uşurinţa de a fi înţeles; - număr de operatori de manipulare de date redus.

Dezavantajele modelului ierarhic:

APARAT

LOCAŢIA DEPARTAMENT PERSONAL

INSTITUT

Cod Nume Adresa 01 FIZICA MATERIALELOR Măgurele 02 OPTOELECTRONICA Măgurele

Nume Funcţie Salariu Voinea CP I 1700 Nanu CP III 790 Micu Strungar 480 Niculescu laborant 340

Nume Contracte SEMICOND 5 PIEZO 14 LASER 25 RAZEX 7

Nr Adresa Laboratoare 3 Măgurele 38 7 Măgurele 114 104 Elisabeta 5

Denumire Tip Vechime Status Ultrasunete USIP 11 15 În funcţiune Ultrasunete USIP 11 15 În funcţiune Moară bile KX-43 3 În funcţiune Cuptor ZK-J-43 21 inactiv Raze X UJ-4 17 inactiv Laser He-Ne Autohton 5 În funcţiune Maşina scris Minolta 8 25 inactiv Laser He-Ne Autohton 5 În funcţiune

Page 18: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

18

- flexibilitate redusă în structurarea datelor, reducându-se la relaţii simple de tip una la mai multe (1→N);

- limitarea interogărilor; - risc de apariţie a redundanţei datelor.

2.3.3. MODELUL DE DATE ÎN REŢEA

Modelul de date în reţea funcţionează pe relaţii de tip una la mai multe, 1→N. Sub aspect cronologic, aceste sisteme au răspuns favorabil conceptelor CODASYL şi DBTG (Database Task Group). Pentru a permite accesul la informaţie utilizatorii sunt grupaţi în jurul programelor-aplicaţie pentru care sunt compatibili. Accesul la date se face prin acces iniţializat la baza de date (de regulă prin pointeri). O altă formă de acces a fişierelor o reprezintă descărcarea fişierului X din memoria externă în segmentele de alocare activă ale programului-aplicaţie în sectorul de date. Două prime dezavantaje se desprind de aici: - accesul la date se face prin cunoaşterea elementelor de alocare a memoriei în baza de date, oarecum mecanicist şi complicat pentru un utilizator obişnuit;

- încărcarea SGBD cu segmente de date separate compatibile cu programele de aplicaţie, ceea ce conduce la un consum mare de memorie.

Sintetizând (Tabelul 2.2.), putem desprinde o primă comparaţie între cele două tipuri de modele [1]:

Tabel 2.2. Modelul de date ierarhic Modelul de date în reţea

- Acceptă direct relaţiile de tip 1→1 şi 1→N la nivel aritmetic (binar sau de grad mai înalt); - Relaţiile M→N se acceptă numai prin descompunerea şi dublarea datelor în diverse ierarhii (ceea ce conduce la redundanţa datelor); - Relaţiile recursive se realizează numai prin descompunerea şi dublarea datelor; - Tipurile de înregistrări sunt legate prin structura ierarhică; - Integritatea referenţială este susţinută acolo unde un tip de înregistrare-fiu dependentă are o participare totală în relaţia cu tipul său de înregistrare-tată; - Structura este inflexibilă faţă de modificarea cerinţelor privind datele şi accesul; - Accesul la tipurile de înregistrări se

- Acceptă direct relaţiile de tip 1→1 şi 1→N la nivel aritmetic (binar sau de grad mai înalt); - Acceptă relaţii M→N prin descompunere, ceea ce poate declanşa redundanţa datelor; - Relaţiile recursive sunt acceptate prin descompunere; - Tipurile de înregistrări sunt legate prin construirea de tipuri de mulţimi; - Integritatea referenţială este susţinută prin construirea de tipuri de mulţimi; - Prezinta o flexibilitate limitată faţă de modificarea cerinţelor referitoare la date şi la acces;

Page 19: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

19

face prin parcurgerea întregii ierarhii de la nodul generator spre nivelele inferioare ale ierarhiei (denumită şi traversare prin preordonare).

- Accesul la tipurile de înregistrări se face pe baza parcurgerii structurii, pentru care există instrucţiuni specifice de accesare rapidă spre grupul de înregistrări-ţintă faţă de modul generator al structurii.

Avantaje: A1. Controlul redundanţei datelor; A2. Coerenţa datelor; A3. Mai multe informaţii de la aceiaşi cantitate de date; A4. Partajarea datelor; A5. Integritate crescută a datelor; A6. Securitate crescută; A7. Aplicarea standardelor; A8. Economia de scală; A9. Echilibrul între cerinţele aflate în conflict; A10. Îmbunătăţirea accesibilităţii datelor şi a capacităţii de răspuns; A11. Productivitate crescută; A12. Capacitatea de întreţinere crescută, prin independenţa de date; A13. Concurenţa îmbunătăţită; A14. Îmbunătăţirea serviciilor de salvare de siguranţă şi refacere.

Dezavantaje: D1. Complexitatea; D2. Dimensiunea; D3. Costul sistemelor SGBD; D4. Costurile adiţionale pentru elemente de hardware; D5. Costul conversiei; D6. Performanţa; D7. Impactul crescut al unei defecţiuni.

2.3.4. MODELUL RELAŢIONAL

Se consideră că naşterea bazelor de date relaţionale s-a petrecut în 1969, avându-l ca şi iniţiator pe Edgar F. Codd, matematician cercetător la IBM. În lucrarea „A Relational Model of Data for Large Shared Databanks”, (Communications of the ACM, iunie 1970, p.377-387), el a fundamentat matematic această nouă abordare pornind de la teoria mulţimilor şi logica predicatelor (generând şi noul termen de „relaţional” provenit din teoria mulţimilor). Principiile lui Codd (reguli ce stau la baza modelării relaţionale) sunt: a) orice relaţie trebuie să aibă un atribut de identificare şi, dacă nu există, el trebuie creat;

b) orice atribut (caracteristică) trebuie să fie atomic (nedecompozabil);

Page 20: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

20

c) orice tuplu al unei relaţii trebuie să conţină o singură valoare pentru un atribut; d) orice atribut trebuie să depindă direct şi în întregime de identificator; e) un atribut trebuie să apară o singură dată în cadrul unei relaţii.

Un alt tip de baze de date sunt cele operaţionale, care sunt destinate prelucrării on-line a tranzacţiilor (on-line transaction processing – OLTP), în care actualizarea modificărilor de date se face în fiecare moment. Dezvoltarea unor asemenea baze de date implică hardware foarte fiabil şi necesită prelucrări rapide, iar din punct de vedere al software-ului acesta este supravegheat prin departamente specializate întrucât actualizarea on-line este esenţială. Exemple de baze de date on-line se găsesc în tranzacţii de tip bursier, în clinici medicale, farmacii, reţele de magazine en-detail, secţii de producţie etc. . Cele enumerate se caracterizează printr-o permanentă dinamică a stării informaţiei. Bazele de date analitice sunt destinate în mod special pentru stocarea şi urmărirea seriilor cronologice, precum şi pentru construirea de scenarii şi prognoze. Aceste procese sunt cunoscute şi sub denumirea de prelucrare analitică on-line (on-line analytical processing – OLAP). Se caracterizează prin stocarea de date statistice, respectiv date ale căror valori se modifică rar (sau niciodată). Astfel de baze de date sunt utile laboratoarelor de cercetare ştiinţifică, companiilor de analiză, consultanţă sau marketing, departamentelor de studii statistice etc.. Michael J. Hernandez [11] face o sinteză a avantajelor bazelor de date relaţionale, astfel: - Integritate încorporată multi-nivel – prin care datele sunt structurate în tabele caracterizate unic prin tuplu (înregistrare în linie) şi prin câmp, astfel că înregistrarea este unic determinată;

- Interdependenţa logică şi fizică în raport cu aplicaţiile de baze de date în care datele nu pot fi alterate fizic sau logic de eventualele modificări ale structurii logice ale unui utilizator sau în cazul unui up-grade ale SGBD-ului structura va rămâne cea iniţială.

- Consecvenţă şi acurateţe garantate ale datelor – această caracteristică poate fi asigurată de impunerea unor nivele de acces şi securitate în ceea ce priveşte manipularea datelor;

- Regăsire facilă a datelor – asigurată de proprietăţile de căutare criterială şi a modalităţilor de vizualizare după cerinţele de interogare furnizate de utilizator.

2.3.5. MODELUL ORIENTAT OBIECT

Aplicaţiile recente, din diverse domenii au făcut ca bazele de date relaţionale să devină uneori improprii. Ca şi în limbajele de programare, s-a dezvoltat şi-n sfera bazelor de date conceptul de baze de date orientate obiect şi sisteme de gestiune a bazelor de date orientate obiect.

Enumerăm aplicaţii pentru care orientarea obiect este proprie, astfel: - proiectarea asistată de calculator (CAD); - fabricarea asistată de calculator (CAM); - ingineria programării asistată de calculator (CASE);

Page 21: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

21

- sisteme informaţionale de birou (OIS); - sisteme multimedia; - editarea digitală; - sisteme informaţionale cartografice (GIS); - aplicaţii cu obiecte complexe intercorelate şi cu date procedurale. Principalele elemente cu care se operează în manipularea bazelor de date orientate

obiect sunt: - obiectul; - starea; - comportamentul. Conceptul „orientat spre obiecte” leagă întrucâtva datele care descriu obiectul de

sistemul de gestiune a datelor, care trebuie să fie compatibil şi să admită că obiectul este o unitate de observare care încapsulează atât datele care-l descriu, precum şi instrucţiunile care operează asupra datelor.

Limbajele de programare, componente ale SGBD-urilor orientate spre obiecte respectă tehnicile de regrupare a datelor, a fişierelor şi a entităţilor de prelucrare (programe, subprograme) pe baza anumitor criterii.

Un obiect constituie un modul de program care descrie caracteristicile şi comportamentul conceptual şi fizic care intervine în etapele de implementare.

Obiectul este alcătuit din: - date, care descriu starea, caracteristicile entităţii; - metode, care descriu comportamentul. Un obiect emite şi primeşte mesaje care au următoarea topică: [<destinatar>].metoda[<argument>] Un SGBD orientat obiect trebuie să ofere mecanisme pentru următoarele operaţii: a) încapsularea; b) moştenirea; c) polimorfismul metodelor. Identificatorul unui obiect poate fi independent de valoarea asociată lui. El nu

trebuie să fie gestionat direct de programator şi nu trebuie confundat cu diferitele nume pe care utilizatorul le poate folosi pentru a numi obiectul respectiv.

Identitatea unui obiect este în general implantată printr-un identificator intern unic care este independent de valoarea sau de adresa în memorie a obiectului.

Identitatea obiectului reprezintă o cheie internă, un obiect putând fi accesat după următoarea topică:

Q = (id, v) unde Q – obiectul; id – identificator; v – valoarea. Concluzionăm că un obiect este o entitate unic identificabilă. Obiectele pot conţine alte obiecte. Într-un SGBD orientat obiect, fiecare obiect are un identificator unic pentru întregul sistem, care este independent de valorile atributelor sale şi invizibil pentru utilizatori.

Page 22: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

22

Încapsularea reprezintă faptul că un obiect este caracterizat printr-o structură de date şi o interfaţă, respectiv setul de operaţii care pot fi utilizate pentru manipularea sa. Structura este identificată printr-un identificator unic şi de o stare care permite regruparea atributelor ce conţin datele. Aceste atribute pot conţine: - valori atomice; - obiecte (accesate prin identificatorii acestora). Interfaţa unui obiect este compusă din selectorii metodelor şi reprezintă partea

vizibilă a obiectului. Structura este recunoscută doar de obiectul însuşi (nefiind accesibilă din exterior),

deci un obiect nu poate fi manipulat decât prin metodele asociate lui. Conceptul de ascundere a informaţiilor semnifică aceea că aspectele externe ale

unui obiect sunt separate de detaliile sale interne, care sunt ascunse de lumea exterioară. Principiul încapsulării nu permite ca structura obiectului şi metodele sale să poată

fi accesate sau modificate direct din exterior. Limbajele de programare orientate obiect promovează o arhitectură modulară în

care obiectele nu cunosc implementarea altor obiecte, ci doar interfeţele lor. Cu alte cuvinte, încapsularea reprezintă înmănuncherea metodelor şi variabilelor

de instanţă într-o clasă sau obiect astfel încât accesul la variabilele de instanţă să fie permis doar prin intermediul metodelor obiectului. Metodele definesc comportamentul obiectului. Mesajele sunt mijloace prin care comunică obiectele. Un mesaj reperezintă o cerere a unui obiect emitent către alt obiect receptor, prin care receptorul este solicitat să execute una dintre metodele sale. Emitentul şi receptorul pot reprezenta unul şi acelaşi obiect. Obiectele care au aceleaşi atribute şi răspund la aceleaşi mesaje pot fi grupate împreună, alcătuind o clasă. O clasă este un obiect care are atribute şi metode proprii definite o singură dată pentru toate obiectele conţinute de acesta. Clasa se caracterizează prin atributele clasei şi, respectiv metodele clasei. Operaţia prin care este creat un obiect, după schema precizată de o clasă, se numeşte instanţiere, iar obiectul creat după planul oferit de o clasă este o instanţă a acelei clase. Modelul teoretic al unei clase a unui ansamblu de obiecte este ilustrat mai jos: Class Proprietate Attributes ID_proprietate Adresa Proprietar Vizitator Methods Descriere Return (imobil.tip) Contractare Return (imobil.tranzacţie)

Page 23: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

23

......................................................................

Class induce numele clasei. Attributes dă o listă de atribute sau variabile de instanţă. Methods dă lista selectorilor şi metoda asociată fiecăruia. Cuplul selector-metodă mai este denumit şi dicţionarul metodelor.

Când se generează un obiect nou, acesta posedă valorile corespunzătoare atributelor sale, iar lista atributelor sale şi dicţionarul metodelor sunt furnizate de către clasă.

Ansamblul instanţelor unei clase alcătuieşte o colecţie care poartă, în general, acelaşi nume cu al clasei şi poartă denumirea de extensia clasei.

Clasele şi obiectele grupate şi stocate într-o formă fizică alcătuiesc module. Modulele formează arhitectura fizică a sistemului de gestiune a bazei de date (Figura 2.10.). Conceptul de modularizare reprezintă posibilitatea divizării ansamblului de date şi gestiune a datelor într-un număr de subansamble (module) care pot fi compilate separat, dar care sunt cuplate între ele.

Modularizarea respectă câteva reguli generale, şi anume: 1. structura fiecărui modul trebuie să fie suficient de simplă pentru a putea fi complet înţeleasă;

2. implementarea unui modul trebuie să depindă doar de interfeţele altor module; 3. detaliile sistemului, care se presupune că vor suferi modificări independente, vor fi plasate în module diferite;

4. singurele legături între module vor fi acelea a căror modificare este improbabilă; 5. orice structură de date este încapsulată într-un modul; ea poate fi accesată direct din interiorul modulului, dar nu poate fi accesată din afara modulului decât prin intermediul obiectelor şi claselor conţinute în acel modul.

Moştenirea permite ca o clasă să fie definită ca un caz special al unei clase mult mai generale. Clasele derivate sunt subclase, iar clasele generatoare, cu caracteristicimai generale sunt superclase.

Procesul de formare a unei superclase este numit generalizare, în timp ce formarea unei subclase este numită specializare.

Page 24: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

24

Figura 2.10. Exemplu de ierarhie între clasele unei baze de date [14]

În figura 2.11. este prezentată o ilustrare a ierarhizării notării studenţilor unui an de studiu, care în afară de disciplinele comune pot opta în a audia şi a fi examinaţi şi la alte două cursuri, la alegere, cursul de electronică şi respectiv de electrotehnică. Notele obţinute vor participa la calculul mediei generale din obiectul general „STUDENT”.

IMOBILIZĂRI

CLASA-CONT

CORPORALE NECORPORALE FINANCIARE

VALOARE_LEGALĂ TIP_LEGAL_FOLOS GRUPA_CONT

CATEGORII

COD_CATEGORIE NUME_CATEGORIE

MIJLOACE FIXE

NR_INVENTAR LOC_FOLOSINŢĂ DENUMIRE_MF DATA PIF DURATA_NORMATĂ VAL_INVENTAR VAL_AMORTIZATĂ

Page 25: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

25

Figura 2.11. Exemplu de ierarhie a studenţilor

Persistenţa reprezintă permanenţa unui obiect. Acest concept menţine o distincţie între obiectele create doar pe durata execuţiei şi cele destinate pentru memoria permanentă. Popa şi colaboratorii [14] identifică următoarele corespondenţe cu conceptele folosite în modelul relaţional:

Model orientat obiect Model relaţional Identificator de obiect Cheie primară Variabilă de instanţă (atribut) Atribut (câmp) Instanţă de clasă = obiect Tuplu (înregistrare) Definirea de clasă Schema tabelului Ierarhia de clasă Schema bazei de date

Connolly [1] face o clasificare a avantajelor şi dezavantajelor sistemelor de

gestiune a bazelor de date orientate obiect: Avantaje SGBDOO Dezavantaje SGBDOO

STUDENT

Nume Data_naşterii Grupa Note media

Înscriere Examinare Calcul_media absolvire

STUDENT_ELECTRONICĂ

Calificativ_electronică

Proba_electronică Afişare_calificativ

STUDENT_ELECTROTEHNICĂ

Calificativ_electrotehnică

Proba_electrotehnică Afişare_calificativ

Page 26: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

26

Capacităţi de modelare îmbunătăţite Extensibilitate Înlăturarea nepotrivirii de impedanţă Limbaj de interogare mai expresiv Suport pentru evoluţia schemei Suport pentru tranzacţii de lungă durată Aplicabilitate pentru aplicaţii de baze de date avansate Performanţe îmbunătăţite

Lipsa unui model de date universal Lipsa de experienţă Lipsa de standarde Optimizarea interogării compromite încapsularea Zăvorârea la nivelul obiectului poate influenţa performanţele Complexitatea Lipsa de suport pentru vederi Lipsa de suport pentru securitate

Cu toate că aparent dezvoltarea de baze de date orientate obiect pare a fi anevoioasă şi de durată mai mare decât aplicaţiile tradiţionale, în realitate atât durata, cât şi costurile destinate dezvoltării orientate obiect sunt mult mai reduse. Preluările bazate pe proprietăţile de moştenire, încapsulare şi polimorfism iau în consideraţie structuri de proiectare anterior realizate, astfel că raţionamentele de proiectare se alipesc ca într-un puzzle, obiecte vechi şi noi alcătuind noi ansambluri de date. Sub aspectul arhitecturii bazelor de date orientate obiect trebuie îndeplinite câteva condiţii de bază: - nivele de abstractizare bine definite; - clase cu interfeţe bine definite şi a căror modificare aduce schimbări minime asupra celorlalte clase;

- modificarea modului de implementare a unei clase nu creează repercursiuni majore asupra interfeţei sau implementării celorlalte clase;

- arhitectură cât mai simplă, bazată pe abstracţii şi mecanisme uzuale. Etapele dezvoltării unei baze de date orientate obiect trebuie să parcurgă

următorii paşi: A. Analiza, care cuprinde:

a) Identificarea obiectelor; b) Identificarea acţiunilor efectuate de fiecare obiect; c) Identificarea interacţiunilor dintre aceste obiecte.

B. Abstractizarea: a) Stabilirea claselor a căror instanţiere (definire) sunt acele obiecte; b) Elaborarea ierarhiei de clase. C. Implementarea: a) Împărţirea pe module (clase, familii de clase) a ierarhiei de clase; b) Elaborarea claselor de bază; c) Elaborarea claselor derivate; testarea pe module; d) Asamblarea modulelor care alcătuiesc noua bază. D. Testarea de sistem a funcţionalităţii bazei E. Scrierea de documentaţie Sub aspectul avantajelor aduse de structurarea orientată obiect a datelor se pot menţiona şi alte avantaje, cum ar fi: - uşurinţa proiectării şi reutilizării codului; astfel odată testatăcorectitudinea funcţionării unor obiecte într-o aplicaţie, acestea pot fi utilizate şi în alte aplicaţii.

Page 27: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

27

Acest avantaj poate fi valorificat prin construirea de biblioteci de obiecte şi apelarea lor la alcătuirea de noi aplicaţii;

- grad înalt de abstractizare; astfel proiectantul şi utilizatorii pot obţine o imagine de ansamblu, urmărind comportarea obiectelor şi interacţiunile dintre ele, fără a cunoaşte detaliile care au concurat la construcţia obiectului;

- siguranţa datelor; dat fiind faptul că obiectele au un comportament de „cutii negre” fără a se putea accesa decât prin metodele lor, se asigură confidenţialitatea aspectelor constructive şi se diminuează frecvenţa apariţiei erorilor legate de manipularea greşită a tipurilor de date etc..

CAPITOLUL 3

SISTEME DE GESTIUNE A BAZELOR DE DATE RELAŢIONALE

3.1. PROIECTAREA BAZELOR DE DATE RELAŢIONALE

Modelele tradiţionale de proiectare a bazelor de date incorporează următoarele faze: a) analiza cerinţelor; b) modelarea datelor; c) normalizarea.

Proiectarea bazei de date relaţionale presupune şapte faze (Figura 3.1.), şi anume: Faza I: Definirea următoarelor: a) declaraţia de intenţie (mission statement) a bazei de date; b) obiectivele misiunii (mission objectives) ale bazei de date.

Declaraţia de intenţie stabileşte scopul şi finalitatea bazei de date şi destinaţia bazei de date. Obiectivele misiunii statuează sarcinile generale pe care utilizatorii le pot îndeplini folosind datele din baza de date. Faza a II-a: Analiza bazei de date curente (dacă există), respectiv analiza bazei de date moştenite (legacy database) sau analiza bazei de date pe suport de hârtie (paper-based database). În primul caz, datele sunt preluate şi reimplementate într-un nou format adaptat necesităţilor actuale ale solicitantului. În cel de-al doilea caz este vorba de trecerea de la baza de date ţinută pe fişe în format electronic. Faza a III-a: Crearea structurilor de date în care se definesc tabelele şi câmpurile, se stabilesc cheile şi se definesc specificaţiile pentru fiecare câmp. Se elimină informaţiile nerelevante sau câmpurile multiplicate. Faza a IV-a:

Page 28: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

28

Stabilirea relaţiilor între tabele. Faza a V-a: Determinarea şi definirea regulilor de desfăşurare a activităţii, stabilirea constrângerilor asupra datelor. Cu această ocazie se stabilesc tabelele de validare în vederea stabilirii unor reguli de coerenţă (ex: Data comenzii va fi anterioară datei facturării sau a datei livrării unui produs). Faza a VI-a: Determinarea şi definirea vederilor, a modalităţilor de apariţie a datelor aşa cum vor fi acestea percepute de utilizatorii finali. Faza a VII-a: Trecerea în revistă a structurii finale a bazei de date, pentru verificarea integrităţii datelor. Testele de relevanţă a structurilor conţin patru sub-etape: - examinarea fiecărui tabel pentru a verifica dacă îndeplineşte criteriile de proiectare adecvate;

- examinarea şi verificarea tuturor specificaţiilor de câmp; - testarea validităţii fiecărei relaţii; - examinarea şi confirmarea regulilor de desfăşurare a activităţii.

3.2. CARACTERISTICILE MODELULUI RELAŢIONAL Tabele Chei Chei candidate Cheie primară Cheie externă Câmp Vederi Relaţii

3.3. TIPURI DE RELAŢII

Tipuri de relaţii: a) 1→1; b) 1→N; c) M→N; d) Relaţii cu autoreferire de tip:

1→1; 1→N; M→N.

Page 29: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

29

3.4. NORMALIZAREA TABELELOR

Normalizarea este un proces de descompunere reversibilă a unui tabel iniţial în tabele simplificate fără ca informaţia în ansamblul său să sufere alterări.

CAPITOLUL 4

BAZE DE DATE MICROSOFT ACCESS

4.1. CONSIDERAŢII GENERALE În contextul general al sistemelor de gestiune a bazelor de date, Access este un sistem de gestiune a bazelor de date relaţionale pentru Microsoft Office sub Windows.

Privit din punct de vedere conceptual, Access poate fi considerat ca făcând parte din cadrul sistemelor de gestiune a bazelor de date de nivel mediu. Explicaţia ierarhizării pe acest nivel constă în faptul că sistemul Access combină atât caracteristicile sistemelor de gestiune a bazelor de date simple, care nu utilizează modelul relaţional de organizare a bazelor de date, fiind axate numai pe operaţii de stocare şi căutare a datelor, cât şi caracteristicile sistemelor de gestiune a bazelor de date complexe, care stochează, prelucrează şi transmit un volum mare de date [22].

Access implică utilizarea atât a modulelor relaţionale, cât şi a celor orientate obiect, permiţând modelarea relaţională a datelor şi orientarea spre obiecte cărora li se asociază evenimente şi proprietăţi [22].

Realizând o diferenţiere clară între noţiunea de bază de date şi cea de tabel (tabelul este componentă a bazei de date), Access asigură redundanţă minimă şi controlată tabelelor componente, cu protejarea integrităţii şi accesibilităţii datelor [23]. De asemenea, se oferă posibilitatea de a defini, consulta, actualiza şi partaja datele între diferiţi utilizatori.

Toate componentele bazei de date sunt stocate într-un fişier cu extensia .mdb. Se menţin astfel avantajele sistemelor de gestiune a bazelor de date, asigurându-se interfaţa între baza de date şi utilizator [23].

Sistemul Access are la bază un sistem relaţional definit ca „un ansamblu format din structura relaţională a datelor şi mulţimea operatorilor relaţionali” [23].

Schema generală a bazei de date Access este alcătuită din colecţii de tabele care pot fi manipulate prin intermediul interogărilor. În acest sens pot fi utilizate trei tipuri de limbaje de exploatare a bazei de date [24]:

1. SQL – care reprezintă baza logică a interogărilor; 2. QBE – reprezintă baza grafică a interogărilor; 3. VBA (Visual Basic for Applications) – reprezintă baza aplicaţiilor complexe utilizate pentru conceperea procedurilor utilizator.

Toate aceste trei limbaje permit scrierea de aplicaţii complexe menite să asigure comunicarea cu sistemul de gestiune a bazelor de date prin scrierea de comenzi într-unul din limbajele de manipulare a datelor.

Page 30: BAZE DE DATE ŞI SISTEME DE GESTIUNE A BAZELOR DE DATE · PDF filearhitectura client-server, arhitectură care înglobează baza de date, sistemul sau sistemele de gestiune a bazelor

30

Sistemul Access permite exportul de date şi de structuri de tabele, definirea de interogări, crearea de formulare, rapoarte şi module, definirea şi utilizarea de macrouri etc.

De asemenea, Access oferă asistenţă utilizatorului prin intermediul meniului Help şi a ferestrelor de dialog contextuale. Sistemul cuprinde o serie de componente Wizard destinate dezvoltării de aplicaţii şi definirii pas cu pas a obiectelor tip.

Microsoft Access permite scrierea direct în baza de date FoxPro, dBase, Paradox etc. [23]. În situaţia în care un program nu poate citi direct acest format, transferul de date se poate realiza prin exploatarea acestora în fişiere format text [25].

Datele externe pot fi manipulate prin import direct sau prin crearea de legături cu baza de date externă, datele rămânând în fişierele lor originale.

Importul de date se poate realiza şi pentru datele de tip text, dacă acestea au fost formatate în mod corespunzător. Fiecare rând dintr-un fişier text este tratat drept înregistrare, caracterele trebuind să fie în mod obligatoriu delimitate prin virgulă sau tabulatori.

Access implementează principalele funcţii ale sistemelor de gestiune a bazelor de date, respectiv descrierea, manipularea şi confidenţialitatea datelor, lucrul în regim utilizator, import-export de date şi integritatea datelor [22]. Descrierea datelor presupune detalierea structurii tabelelor şi a relaţiilor existente între acestea. Detalierea structurii tabelelor implică stabilirea atributelor (nume de câmpuri), a tipului de date folosite (pot fi diferite de la un câmp la altul), precum şi a caracteristicilor (proprietăţilor) fiecărui câmp. Se conferă fiecărei caracteristici a câmpurilor anumiţi parametri, în funcţie de tipul de dată folosit. Aici intervine limbajul de descriere a datelor. Utilizarea (manipularea) datelor presupune efectuarea de operaţii care au drept scop adăugarea, modificarea, ştergerea sau interogarea datelor. Pentru realizarea unor astfel de operaţii în mod facil se poate utiliza limbajul de manipulare a datelor VBA (Visual Basic for Applications), limbaj care va fi prezentat într-unul din paragrafele următoare. Confidenţialitatea datelor şi lucrul în regim utilizator se referă la facilitatea pe care o oferă Access în sensul de atribuire de parole şi drepturi de acces. Importul şi exportul de date este posibil de realizat atât între baze de date Access, cât şi între baze de date Access şi alte aplicaţii. Integritatea datelor presupune definirea de restricţii relative la valorile admisibile a datelor care urmează a fi stocate în baza de date, astfel încât se permite menţinerea integrităţii bazei de date, căutare şi localizare rapidă şi facilă a datelor, validări de mare complexitate etc. BIBLIOGRAFIE:

ANCA GHEORGHIU, CORINA MARIA BICHIS – BAZE DE DATE, ED.VICTOR,

BUCUREŞTI, 2004