Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Sisteme de Gestiune a Bazelor de Date (SGBD)

Baze de date


Sisteme de Gestiune a Bazelor de Date (SGBD)

1.1. Istoric; comentarii

Evolutia metodelor si tehnicilor de organizare a datelor a fost determinata de necesitatea de a avea un acces cât mai rapid si mai usor la un volum din ce în ce mai mare de informatii precum si de perfectionarea echipamentelor de culegere, memorare, transmitere si prelucrare a datelor.



Exista afirmatii conform carora sistemul de baze de date îsi are radacinile în anii '60, în proiectul de aselenizare Apollo. Deoarece pe atunci nu exista un astfel de sistem, North American Aviation (actualmente Rockwell International) a dezvoltat, în calitate de principal colaborator la proiect, un pachet de programe cunoscut sub numele GUAM (Generalized Update Access Method), care se baza pe date organizate în mod ierarhic. Modelul de date ierarhic îsi are originea în acest proiect.

La mijlocul anilor '60, un pas înapoi s-a facut prin elaborarea sitemului IMS (Information Management System), de catre IBM în colaborare cu NAA, pornind de la sistemul GUAM. Pasul înapoi se datoreaza faptului ca manipularea ierarhiilor de date a fost restrânsa la organizarea secventiala a datelor (o cerinta dictata de piata la acel moment).

In aceeasi perioada General Electric a dezvoltat sistemul IDS (Integrated Data Store). Conducator de proiect: Charles Bachmann. Proiectul a condus la modelul de date retea (numele se datoreaza ca si în modelul precedent, modului de organizare a datelor).

În acea perioada se cauta eficientizarea manipularii datelor si se încerca stabilirea unor standarde. În 1965 CODASYL (the Conference On DAta SYstems Languages) care reunise reprezentanti ai guvernului USA si reprezentanti ai lumii afacerilor si comertului, a reusit sa stabileasca un grup de lucru (care a avut initial numele List Processing Task Force) cunoscut din 1967 sub numele Data Base Task Group (DBTG). Sarcina acestui grup era sa stabileasca specificatii cu rol de standarde pentru un mediu care ar permite crearea de baze de date si manipularea datelor.

Conceptul de baza de date s-a definit în 1969 cu ocazia prezentarii primului proiect de raport CODASYL (Raportul final s-a prezentat în 1971). Ideea principala în organizarea datelor se baza pe existenta a trei componente de baza:

schema de retea - care reprezenta organizarea logica a întregii baze de date

subschema - care reprezenta o parte a bazei de date asa cum e vazuta de utilizator sau de programele de aplicatie

un limbaj de gestionare a datelor - care definea caracteristicile datelor, structura lor si care manipula datele

Pentru standardizare, s-au propus trei limbaje:

un limbaj de definire a datelor (LDD) la nivel de schema

un limbaj ator la nivel de subschema

un limbaj de manipulare a datelor (LMD)

Cu toate ca nu a fost adoptata formal de ANSI (American National Standard Institute) propunerea DBTG a fost aplicata într-o serie de sisteme dezvoltate ulterior si ea sta la baza conceptului modern de baza de date.

Proiectul ierarhic si cel prezentat de CODASYL reprezinta prima generatie de Sisteme de Gestiune a Bazelor de Date (SGBD).

În 1978 E.F.Codd de la IBM Research Laboratory a elaborat o lucrare care a avut o influenta covârsitoare în dezvoltarea bazelor de date. Lucrarea trata despre modelul de date relational.

De aici încolo s-au proiectat multe sisteme dintre care mentionam System R dezvoltat la IBM's San Jose Research Laboratory din California, la sfârsitul anilor '70. Acest proiect a dus la:

dezvoltarea unui limbaj structurat de interogare (numit SQL) care de atunci a devenit un standard pentru sistemele relationale;

producerea în anii '80 de sisteme comerciale arhicunoscute dintre care mentionam: DB2 si SQL/DS de la IBM si ORACLE de la ORACLE Corporation.

Alte exemple de sisteme re 929b15j lationale: INGRES de la Relational Technology Inc., Informix de la Informix Sofware Inc., Sybase de la Sybase Inc.. Dintre sitemele relationale pentru microcalculatoare enumeram aici: Paradox si dBase IV de la Borland, Access de la Microsoft, FoxPro si R:base de la Microrim. Toate acestea constituie generatia a doua de SGBD.

Definirea sistemelor de gestiune a bazelor de date relationale

Într-o prima încercare de definire, se poate considera un sistem de gestiune a bazelor de date relationale (SGBDR) ca reprezentând un SGBD care utilizeaza drept conceptie de organizare a datelor modelul relational. Astfel spus, un SGDBR reprezinta un sistem care suporta modelul relational.

Definitia de mai sus este prea generala pentru a putea fi operationala, deoareca modul de implemantare a modelului relational difera, de regula atât între diferitele SGBDR, cât si în raport cu modelul “ teoretic”, cel definit în cadrul teoriei relationale, datorita eforturilor producatorilor de a realiza sisteme cât mai perfomante care sa satisfaca cerintele si exagerarile utilizatorilor. Cât de aproape (sau de departe) de modelul relational teoretic trebuie sa fie modelul datelor efectiv utilizat de SGBD pentru a putea afirma ca SGBD-ul respectiv utilizeaza sau nu modelul relational, deci este sau nu SGBDR?

Diversitatea modelelor relationale operationale au determinat, în mod natural existanta unei mari diversitatii de SGBDR, pentru a caror prezentare a fost necesara nuantarea terminologiei. Au aparut o serie de sintagme precum: sisteme cu interfata relationala, sisteme pseudorelationale, sisteme complet relationale.

Conceptele specifice organizariidatelor în fisiere, SGBDR si teoriei relationale între care se pot stabili analogii

Organizarea datelor în fisiere

SGBDR

Teoria relationala

Fisier

Tabela

Relatie

Record(înregistrare)

Linie

Tuplu

Câmp

Coloana

Atribut

În general, conceptele utilizate la prezentarea SGBDR si a modelelor relationale operationale difera de cele din cadrul teoriei relationale. Figura de mai sus prezinta comparativ conceptele organizarii datelor în fisiere, concepte SGBDR si ale teoriei relationale.

Faptul ca se pot stabili analogii între conceptele organizarii datelor în fisiere si conceptele relationale, i-au determinat pe unii producatori sa prezinte sisteme fara nici o legatura cu modelul relational drept SGBDR, în scopul asigurarii succesului comercial al acestor sisteme.

Regulile lui Codd

Definirea unui SGBDR impune o detaliere a caracteristicilor pe care trebuie sa le prezinte un SGBD pentru a putea fi considerat relational.În acest sens, Codd a formulat 13 reguli care exprima cerintele pe care trebuie sa le prezinte un SGBD ca sa fie relational. Desi reguli au stârnit o serie de controverse, eu le voi prezenta în continuare, ele fiind deosebit de utile în evaluarea unui SGBDR.

R0: Regula privind gestionarea datelor la nivel de relatie

Sistemul trebuie sa gestioneze baza de date numai prin mecanisme relationale.

Acest lucru înseamna ca sistemul trebuie sa-si îndeplineasca toate functiile prin manipulari în care unitatea de informatie sa fie multimea (relatia), adica sa utilizeze limbaje, precum SQL, care sa opereze la un moment dat pe o întreaga relatie.Deci SGBD nu trebuie sa accepte operatii non-relationale care sa îndeplineasca operatiile de definire si manipulare a datelor.

Unele sisteme utilizeaza mecanisme reletionale numai pentru o parte din functii, în special pentru interogare. Aceste sisteme se numesc sisteme cu interfata relationala ti nu SGBDR.

R1: Regula privind reprezenterea logica a datelor

Toate datele din daza de date relationala trebuie sa fie reprezentate explicit la nivel logic, într-un singur mod, si anume ca valori în tabele de date.

Aceste lucru înseamna ca toate datele trebuie sa fie memorate si prelucrate în acelasi mod. Informatiile privind numele de tabele,coloane, domenii, definitiile tabelelor virtuale, restrictii de integritate trebuie sa fie memotare tot în tabele de date (cataloage).

Referinta la 'nivelul logic' înseamna ca constructia fizica nu este reprezentata si nu necesita explicatie.

R2: Regula privind garantarea accesului la date.

Orice data din baza de date relationala trebuie sa poata fi accesata prin specificarea numelui da tabela, valorii cheii primare si numelui de coloana.

Aceasta regula exprima cerinta ca linbajul de cereri al SGBDR sa permita accesul la fiecare valoare atomica din baza de date.

R3: Regula privind valorile null

Sistemele trebuie sa permita declararea sa manipularea sistematica a valorilor null, cu semnificatia unor date lipsa sau inaplicabile. Valorile null, care difera de sirurile de caractere ' spatiu' sau de sirurile vide da caractere sunt deosebit de importante în implementarea restrictiilor de integritate (integritatea entitatii si integritatea refereantiala).

R4: Regula privind metedatele

Descrierea bazei de date trebuie sa se prezinte la nivel logic în acalasi mod cu descrierea datelor propiu-zise, astfel încât utilizatorii autorizati sa poata descrierii bazei de date aceleasi operatii ca si asupra datelor obijnuite.

Acesta regula specifica ca trebuie sa existe un unic limbaj de manipulare a metedatelor si a datelor propui-zise, mai mult, exista o unica structura logica folosita pentru a depozita informatiile de sistem.

Sisteme nu trebuie sa faca diferentieri în definirea si tratarea datelor sia metadatelor, utilizând o singura structura, si anume cea relationala.

R5: Regula privind facilitatile limbajelor utilizate

Un sistem relational trebuie sa faca posibila utilizarea mai multor limbaje, în mai multe moduri. Trebuie sa existe însa cel putin un limbaj de nivel înalt ale carui instructiuni sa poata exprima oricare din urmatoarele operatii: definirea tabelelor de date, definirea tabelelor virtuale, manipularea datelor (interactiv dau prin program), definirea restrictiilor de integritate, autorizarea accesului, precizarea limitelor tranzactiilor.

A se nota aici ca noul standard O/I pentru SQL furnizeaza toate aceste functii, deci orice limbaj care accepta acest standard va satisface automat aceasta regula.

R6: Regula privind actualizarea tabelelor virtuale

Toate tabelele virtuale care teoretic sunt posibil de actualizat trebuie sa poata fi efectiv actualizabile.

Nu toate atributele din cadrul unei tabele virtuale, deci nu toate tabele virtuale sunt toeretic actualizabile.

R7: Regula privind inserarile, modificarile si stergerile în baza de date

Sistemul trebuie sa ofere posibilitatea manipularii unei tabele (da baza sau virtuala) nunumai în cadrul operatiilor de regasire, ci si în actiuni de inserare, modificare si stergere a datelor.

Aceasta regula exprima cerinta ca prin operatiile în care se schimba bazei da date sa se lucreze la un moment dat pe o întreaga relatie.

R8: Regula privind independenta fizica a datelor

Programele de aplicatie nu trebuie sa fie afectate de schimbarile efectuate în modul de reprezentare a datelor sau în metodele de acces. O schimbare a structurii fizice a datelor nu trebuie sa blocheze functionarea programelor de alpicatie.

R9: Regula privind independenta logica a datelor

Programele de aplicatie nu trebuie sa fie afectate de schimbarile efectuate asupra relatiilor bazei de date, schimbari care conserva datele si care toeretic garanteaza valabilitatea programelor de apicatie existente.

R10: Regula privind restrictiile de integritate

Restrictiile de integritate trebuie sa fie definite în limbajul utilizat de sistem pentru definirea datelor ti sa fie memorate în cadrul bazei de date si nu în cadrul programului de aplicatie.

R11: Regula privind distribuirea geografica a datelor

Limbajul de manipulare a datelor utilizat de sistem trebuie sa permita ca, în situatia în care datele sunt distribuite, programele de aplicatie sa fie logic aceleasi cu cele utilizate în cazul în care datele sunt fizic centralizate.

Utilizatorul trebuie sa perceapa datele ca fiind centralizate. Sarcina de localizare a datelor, atunci când acestea sunt distribuite geografic precum si sarcina recompunerii datelor trebuie sa revina sistemului si nu utilizatorului.

R12: Regula privind prelucrarea datelor la nivelul de baza

Daca sistemul poseda un limbaj de baza (de nivel scazut) orientat pe prelucrare de recorduri (tupuri) si nu pe prelucrarea multimiilor (relatiilor), acest limbaj nu trebuie sa fie utilizat pentru a se evitarestrictiile de integritate sau restrictiile introduse prin utilizarea limbajelor de nivel înalt, adica accesul la toate dazele va fi controlat de SGBDR, altfel integritate bazelor de date nu poate fi compromisa fara cunoasterea utilizatorului sau a administratorului bazei de date.

Pe parcursul anilor regulile lui Codd au generat o seama de controverse. Câteva argumente sunt ca aceste reguli nu sunt mai mult decât niste exercitii academice.

Unele revendicari ale produselor existente sunt ca ele pot indeplini cea mai mare parte din reguli, dar nu toate. Aceasta discutie a generat într-o disputa între utilizatori si teoreticienii prietatilor esentiale ale unui SGBDR.

Pentru a accentua implicatia regulilor lui Codd în analiza unum SGBDR, aceste reguli au fost reorganizate în cinci categorii, si anume:

Reguli fundamentale,

Reguli structurale,

Reguli privind integritatea datelor,

Reguli privind manipularea datelor,

Reguli privind independenta datelor.

1.4. Criterii minimale de definire a unui SGBDR

Nici unul dintre SGBDR disponibile astazi nu respecta întrutotul cerintele exprimate de Codd, în cadrul celor 13 reguli. De aceea pentru caracterizarea unui SGBD nu sunt utilizate regulile lui Codd, fiind formulate în schimb o serie de cerinte minimale pa care trebuie sa la satisfaca un sistem de gestiune a bazelor de date pentru a putea fi considerat reletional.

Un SGBD este minimal relational daca satisface urmatoarela conditii:

Toate datele din cadrul relatiei sunt reprezentate prin valori în tabele,

Nu exista pointeri observabili de catre utilizatori în tabele, în sensul ca operatiile cu reletii nu fac apel la pointeri, indecsi, fisiere inverse, etc.

Sistemul suporta operatori relationali de proiectie, selectie si joing natural, fara limitari împuse de considerente interne (cum ar fi de exemplu, necesitetea indexarii atributelor). Unitatea de informatie ciu care se lucreaza în cadrul acestor operatii trebuie sa fie relatia.

Un SGBD este complet relational daca este minimal ralational si satisface în plus urmatoarele conditii:

Sistemul suporta toate operatiile de baza ale algebrei relationale, fara limitari înpuse de considerente interne.

Sistemul suporta doua dintre restrictiile de integritate de baza al modelului relational si anume unicitatea cheii unei relatiisi restrictia referentiala.

Un SGBD este pseudorelational daca satisface numai conditiile 1. si 3.

Un SGBD cu interfatarelationala este un SGBD are satisface conditiile 1. si 3., cu observatia ca cerinta 3. Este îndeplinita numai în raport cu functia de interogare

În ultimii ani, ca raspuns la necesitatea de a creste complexitatea aplicatiilor cu baze de date (încurajata si de progresele aparute în programare odata cu programarea orientata obiect) au aparut modelul de date orientat obiect (Object-Oriented Data Model - OODM) si modelul de date relational extins (Extended Relational Data Model - ERDM). Cu toate ca modelul de date ce sta la baza noilor modele nu este atat de clar ca în cazul modelului relational, se poate considera ca aceste din urma dezvoltari reprezinta generatia a treia de SGBD.

In esenta, conceptul de baza de date poate fi definit ca fiind o colectie partajata de date aflate în interdependenta logica (impreuna cu o descriere a acestor date si a relatiilor dintre ele), colectie desemnata pentru a rezolva nevoia de informatizare a unei intreprinderi (sau organizatii).

Baza de date trebuie sa în deplineasca urmatoarele conditii:

-sa asigure o independenta sporita a datelor fata de programe si invers;

-structura bazei de date trebuie astfel conceputa în cat sa asigure informatiile necesare si suficiente pentru cerintele de informare si decizie;

- sa asigure o redundanta minima si controlata a datelor;

- sa permita accesul rapid la informatiile stocate în baza.

Bazele de date sunt extrem de variate în functie de criteriile luate în considerare. Prezentam cateva criterii de clasificare:

- dupa orientare: generalizate, specializate;

- dupa modelul de date: ierarhice, retele, relationale, orientate obiect;

- dupa amploarea geografica: locale, distribuite;

Numim SGBD (Sistem de Gestiune al Bazelor de Date) un sistem software care permite, pe de o parte, definirea, crearea si în tretinerea bazei de date si pe de alta parte, permite accesul controlat la informatiile din baza de date în cauza.

SGBD este format din programe de software care interactioneaza cu programele de aplicatie ale utilizatorilor si cu baza de date. Sistemul de gestiune al bazei de date asigura realizarea urmatoarelor activitati:

- definirea structurii bazei de date;

- în carcarea datelor în baza de date;

- accesul la date (interogare, actualizare);

- în tretinerea bazei de date (colectarea si reutilizarea spatiilor goale, refacerea bazei de date în cazul unui incident);

- reorganizarea bazei de date (restructurarea si modificarea strategiei de acces);

- integritatea datelor;

- securitatea datelor.

Asadar, sistemul de gestiune al bazei de date apare ca un sistem complex de programe care asigura interfata în tre o baza de date si utilizatorii acestuia.

Clasificarea SGBD se poate realiza din mai multe puncte de vedere.

1. Din punctul de vedere al sistemelor de calcul pe care se implementeaza. SGBD pot fi: sisteme de gestiune pentru calculatoarele mari; sisteme de gestiune pentru minicalculatoare; sisteme de gestiune pentru microcalculatoare.

In prezent se manifesta tendinta ca marea majoritate a sistemelor de gestiune a bazelor de date sa fie compatibile pe platforme cat mai largi de sisteme de calcul.

2. Din punctul de vedere al limbajului pe care il utilizeaza, sunt: sisteme cu limbaj gazda; sisteme cu limbaj autonom.

Sistemele cu limbaj gazda realizeaza activitatile de creare, actualizare si interogare a bazei de date, utilizand limbajele de nivel în alt sau extensii ale acestora, proprii sistemului de calcul pe care se implementeaza baza de date. Avantajul acestor sisteme consta în posibilitatile sporite ce le ofera limbajele de nivel în alt la elaborarea unor proceduri complexe. Sistemele cu limbaj gazda prezinta dezavantajul ca formularea cerintelor nu este atit de simplificata ca în cazul sistemelor cu limbaj autonom.

3. Din punctul de vedere al conceptiei de organizare a datelor pe care le gestioneaza, SGBD se clasifica în : sisteme de gestiune a bazelor de date cu structuri ierarhice si retea; sisteme de gestiune a bazelor de date relationale; sisteme de gestiune a bazelor de date orientate obiect.

4. Din punctul de vedere al modului de localizare a bazelor de date avem: sisteme de gestiune a bazelor de date centralizate; sisteme de gestiune a bazelor de date distribuite.

Marea majoritate a sistemelor de gestiune aparute în ultima perioada dispun si de o componenta de gestiune distribuita a datelor.

1.5. Abstractizarea datelor

Un scop important al unui sistem de gestiune a bazelor de date este sa poata asigura o viziune abstracta asupra realitatii. Este necesar sa se retina din multimea vasta de informatii doar acele informatii care sunt necesare unei anumite aplicatii.

Se poate face referire spre exemplu la în cercarea de modelare a unei aplicatii într-o intreprindere. Trebuie modelate 'obiectele' si relatiile dintre ele. Nu realitatea complexa în totalitatea ei intra în discutie ci doar o mica parte a ei, constituita din anumite 'obiecte' si pentru acele obiecte se iau în considerare doar o parte din caracteristici (acele caracteristici care sunt importante pentru aplicatia în cauza). Astfel în cazul modelarii 'obiectului' (sau entitatii) angajat, trebuie alese doar acele proprietati (sau atribute) care intereseaza. Acestea ar putea fi, de exemplu: numele, adresa, salariul. O multime impresionanta de informatii, care contribuie la descrierea unei persoane anume, nu sunt luate în seama, deoarece nu prezinta interes pentru intreprindere. De exemplu, nu intereseaza daca persoana are ochii albastri, daca este blonda sau bruneta, daca asculta cu placere muzica sau daca este o fire sentimentala.

Mai mult decat faptul ca realitatea este reprezentata codificat si foarte simplificat, deoarece baza de date este o resursa partajata, este foarte probabil ca fiecare utilizator sa doreasca doar o parte din informatiile stocate, functie de aplicatia pe care o dezvolta.

Pentru a se rezolva aceste cerinte, se apeleaza la reprezentarea pe nivele a organizarii informatiilor într-o baza de date. In general este acceptata arhitectura pe trei nivele ANSI-SPARC.

DBTG a propus în 1971 reprezentarea pe doua nivele a organizarii datelor (s-au utilizat .termenii de schema si subschema). O arhitectura si o terminologie asemanatoare au fost propuse de ANSI prin SPARC (Standards Planning And Requirements Committee) în 1975. S-au propus atunci trei nivele de abstractizare si un dictionar de date.

Componentele bazei de date pot fi structurate pe trei nivele, în functie de clasa utilizatorilor implicati si de viziunea asupra structurarii informatiei, dupa cum urmeaza:

- nivelul logic de vizualizare (view) sau nivelul extern. Este dat de viziunea programatorului de aplicatii, care realizeaza programele de aplicatii pentru manipularea datelor la nivel de structura logica (subschema) corespunzatoare descrierii datelor aplicatiei;

-nivelul conceptual (global). Este dat de viziunea administratorului bazei de date, care realizeaza structura conceptuala (schema) corespunzatoare descrierii întregii baze de date si administreaza componentele bazei de date. Acest nivel descrie ce date sunt memorate în baza de date si ce relatii sunt stabilite între date. Nivelul conceptual reprezinta:

-toate entitatile, atributele lor si relatiile dintre ele;

-restrictiile impuse datelor

-informatiile semantice despre date

-informatiile privitoare la securitatea si integritatea datelor.

-nivelul fizic. Este dat de viziunea inginerului de sistem care realizeaza structura fizica corespunzatoare descrierii datelor pe suportul fizic (periferic). Acest nivel descrie cum sunt memorate datele în baza de date. Nivelul intern se ocupa de:

-alocarea spatiului de memorie pentru date si indexi;

-descrierea înregistrarilor pentru memorare;

-plasarea înregistrarilor pe suport;

-tehnicile de compresie si de criptare a datelor.

 

Utilizator n

 

Utilizator 1

 


Figura 1.1. Arhitectura ANSI-SPARC pe trei nivele

1.6. Scheme, corespondente si instante

Descrierea generala a unei baze de date se numeste schema bazei de date. Conform nivelelor de abstractizare a datelor exista trei tipuri de scheme pentru fiecare baza de date. La nivelul cel mai înalt exista (in general) mai multe scheme externe (numite si subscheme) care descriu diferitele view-uri ale bazei de date. La nivelul conceptual exista schema conceptuala iar la nivelul cel mai de jos de abstractizare exista schema interna.

Pentru fiecare baza de date o singura schema conceptuala descrie datele si relatiile între ele, precum si restictiile de integritate. Schemei conceptuale ii corespunde o schema interna care descrie organizarea fizica a datelor.

SGBD realizeaza corespondenta între cele trei nivele de abstractizare, realizand corespondenta între cele trei tipuri de scheme. Astfel corespondenta conceptual / intern leaga schema conceptuala de schema interna. Datorita acestei corespondente se identifica înregistrarea sau combinatia de înregistrari la nivel fizic, care constituie înregistrarea logica în schema conceptuala, impreuna cu restrictiile de integritate corespunzatoare. Analog, fiecare schema externa este legata de schema conceptuala prin corespondenta extern / conceptual. Aceasta corespondenta permite SGBD sa faca legatura între numele din view-urile utilizator si partea corespunzatoare relevanta din schema conceptuala.

Este de retinut ca trebuie sa facem distinctie între descrierea bazei de date (schema bazei de date) si baza de date propriu-zisa.

Numim instanta (cazul) unei baze de date datele aflate în baza de date la un anumit moment dat. Altfel spus, mai multe instante pot sa corespunda aceleiasi scheme conceptuale pentru o baza de date.

Independenta datelor

Un obiectiv major al arhitecturii pe trei nivele de abstractizare este realizarea independentei datelor. O aplicatie, în general, este dependenta de date în sensul ca modificarea structurii de memorare a datelor sau a strategiei de acces la date afecteaza si aplicatia. Independenta datelor fata de aplicatie este totusi necesara cel putin din urmatoarele considerente:

-diferite aplicatii au nevoie de viziuni diferite asupra acelorasi date;

-administratorul bazei de date trebuie sa aiba libertatea de a schimba structura de memorare sau strategia de acces, ca raspuns la cerinte (schimbari de standarde, prioritatile aplicatiilor, unitatile de memorare etc.), fara a modifica aplicatiile existente, baza de date existenta, precum si programele de exploatare a ei, care au fost folosite o perioada de timp si care reprezinta o investitie majora la care nu trebuie sa se renunte prea usor.

De aceea, se impune ca atunci cand apar noi cerinte în cadrul sistemului informational, sistemele informatice sa poata functiona cu programele si procedurile existente, iar datele existente sa poata fi convertite.

Independenta datelor trebuie privita din doua puncte de vedere: independenta fizica si independenta logica a datelor.

Independenta fizica a datelor face ca memorarea datelor si tehnicile fizice de memorarea sa poata fi modificate fara a determina rescrierea programelor de aplicatie. Asadar independenta fizica a datelor reprezinta gradul de imunitate a schemei conceptuale la schimbarile suferite de schema interna.

Independenta logica a datelor se refera la posibilitatea adaugarii de noi în înregistari sau la extinderea structurii conceptuale (globale), fara ca acest lucru sa impuna rescrierea programelor existente. Cu alte cuvinte independenta logica a datelor reprezinta gradul de imunitate a schemelor externe la schimbarile suferite de schema conceptuala.

1.8. Principalele componente ale unui SGBD

Tinand seama de faptul ca exista diferite tipuri de sisteme de gestiune, care se diferentiaza:

-prin limbajele utilizate,

-prin anumite componente ce imprima diferite facilitati de exploatare a bazei de date,

-si prin faptul ca unele ofera posibilitatea lucrului în regim de teleprelucrare, altele numai în regim local, iar altele atat în regim local cat si în regim de teleprelucrare,

ajungem la concluzia ca nu poate fi stabilita o arhitectura unica, valabila pentru toate sistemele, ci apar particularitati de la un sistem la altul.

Arhitectura unui SGBD evidentiaza componentele acestuia si urmeaza standarde internationale. O astfel de arhitectura generala cuprinde urmatoarele componente:

- baza de date propriu-zisa în care se memoreaza colectia de date;

- sistemul de gestiune al bazei de date, care este un asamblu de programe (soft) care realizeaza gestiunea si prelucrarea complexa a datelor;

- un set de proceduri manuale si automate, precum si reglementarile administrative, destinate bunei functionari a întregului sistem;

- un dictionar al bazei de date (metabaza de date), ce contine informatii despre date, structura acestora, elemente de descriere a semanticii, statistici, documentatie etc.

- mijloacele hard utilizate (comune, specializate etc.);

- personalul implicat: (categorii de utilizatori: finali - (neinformaticieni); de specialitate (administrator), analisti - programatori, gestionari, operatori).

Arhitectura bazei de date da o imagine despre modul general de organizare si functionare a ei.

Sa detaliem cateva din componentele prezentate mai sus.

Limbajele untilizate într-un SGBD sunt de doua tipuri: Limbajul de definire a datelor (Data Definition Language - DDL) si Limbajul de manipulare a datelor (Data Manipulation Language - DML). Aceste limbaje mai sunt cunoscute ca sublimbaje de date deoarece ele nu includ constructii adecvate oricaror necesitati de calcul, asemanatoare cu structurile puse la dispozitie de limbajele de nivel înalt.

Multe SGBD au facilitatea de a incorpora sublimbajul într-un limbaj de nivel înalt (numit limbaj gazda) cum ar fi COBOL, Fortran, Pascal, Ada, C. Pentru compilare, comenzile sublimbajului sunt înlocuite în limbajul gazda cu apeluri de functii. Fisierul preprocesat este compilat, plasat într-un modul obiect, link-editat cu o biblioteca în care se afla functiile înlocuite, furnizate odata cu SGBD, si este executat cand este necesar.

Limbajul de Definire a Datelor (LDD) este un limbaj descriptiv care permite administratorului bazei de date sau utilizatorilor sa descrie si sa denumeasca entitatile si relatiile care se pot stabili între acestea.

Schema bazei de date este definita cu ajutorul LDD. Rezultatul compilarii declaratiilor în acest limbaj este constituit dintr-o serie de tabele memorate într-un fisier special numit dictionar de date (se mai utilizeaza si termenii de catalog de date sau director de date). Datele memorate în acest dictionar sunt date despre date si de aceea se mai numesc si metadate. Definitiile din dictionarul de date se refera la înregistrari, la datele din înregistrari si la alte obiecte ce compun baza de date. SGBD consulta dictionarul de date înaintea oricarui acces la informatii.

Teoretic, se poate identifica cate un LDD pentru fiecare nivel de abstractizare al datelor, în realitate exista un singur limbaj care trateaza toate aspectele definirii datelor.

Limbajul de manipulare a datelor (LMD) furnizeaza un set operatii care suporta operatiile de manipulare de baza asupra datelor din baza de date. Operatii de baza sunt inserarea, stergerea, modificarea si regasirea datelor în baza de date. Manipularea datelor se aplica la nivel conceptual si extern.

Se cunosc doua tipuri de LMD: procedural si non-procedural. Un LMD procedural trateaza înregistrarile individual si specifica cum trebuie obtinut rezultatul unei interogari. Cu alte cuvinte trebuie sa se specifice un algoritm de prelucrare a înregistrarilor cu ajutorul operatiilor puse la dispozitie de limbaj.

In contrast, un LMD non-procedural specifica doar ce fel de rezultat trebuie obtinut. SGBD translateaza cererea din limbaj non-procedural transformand-o într-o procedura sau într-o serie de proceduri care manipuleaza datele conform cererii utilizatorului. Limbajele non-procedurale sunt mai usor de utilizat deoarece scutesc utilizatorii de la a cunoaste implementarea interna a structurilor de date si de la a stabili algoritmi de obtinere a informatiilor.

Partea componenta a unui LMD care se refera la regasirea datelor se numeste limbaj de interogare. Intelegem prin interogare orice cerere de acces la datele din baza de date, formulata într-un limbaj de interogare.

4GL

4GL înseamna Fourth-Generation Language (Limbaj de Generatia a Patra). Nu exista înca un consens asupra semnificatiei acestei denumiri. In general 4GL desemneaza un limbaj de programare de mare rapiditate pentru programator. Ceea ce se programeaza în sute de linii de program într-un limbaj de generatia a treia, poate sa constituie cateva zeci de linii de program într-un limbaj de generatia a patra. Limbajele 4GL sunt non-procedurale si se bazeaza pe tools-uri performante. Utilizatorul trebuie sa defineasca parametri pentru aceste tools-uri iar acestea genereaza programe de aplicatie pe baza parametrilor respectivi. Un avantaj important al utilizarii limbajelor 4GL este o productivitate deosebita în programare.

Un 4GL cuprinde:

-limbaje de interogare;

-generatoare de ecrane;

-generatoare de rapoarte;

-limbaje specializate cum ar fi spreadsheet-urile si limbajele specifice bazelor de date;

-generatoare de aplicatii, etc.

Exemple de limbaje de interogare 4GL sunt SQL si QBE, limbaje comerciale asupra carora vom reveni ulterior.

Generatoare de ecrane

Un generator de ecrane este un tool cu ajutorul caruia se pot crea usor si rapid ecrane pentru culegerea (introducerea) informatiilor necesare programelor sau chiar pentru introducerea si modificarea datelor din baza de date.

Generatoare de rapoarte

Un generator de rapoarte ajuta la crearea de rapoarte (liste) pornind de la datele memorate în baza de date. Se cunosc doua tipuri de generatoare de rapoarte: orientat pe limbaj si orientat visual. In primul caz se utilizeaza comenzile unui sublimbaj pentru a defini datele ce se vor include în raport, în al doilea caz, acelasi lucru se realizeaza cu ajutorul unei facilitati grafice similare cu generatorul de ecrane.

Generatoare de grafice

Un astfel de generator este o facilitate care regaseste date din baza de date si afiseaza aceste date sub forma unor grafice.

Generatoare de aplicatii

Utilizarea unui generator de aplicatii poate reduce timpul necesar realizarii unei aplicatii unitare. Generatoarele de aplicatii constau în module predefinite care cuprind majoritatea functiilor de baza ce sunt prezente în majoritatea programelor. Aceste module constituie o biblioteca de functii la dispozitia utilizatorilor.

1.9. Obiectivele unui SGBD

Dupa cum este cunoscut, obiectivul informaticii il constituie culegerea, verificarea, transmitarea, stocarea si prelucrarea automata a datelor cu ajutorul mijloacelor electronice de calcul, în scopul satisfacerii diferitelor nivele de conducere cu informatii necesare luarii deciziilor, în conditii de eficienta economica sporita.

In aceste conditii, necesitatea acuta de informare trebuie satisfacuta tinand seama de o serie de cerinte prin care sa se asigure:

-minimizarea costului procesului de prelucrare a datelor; cresterea vitezei de raspuns la întrebarile solicitate de utilizatori;

-adaptarea facila a sistemului informatic la evolutia in timp a sistemului informational din care face parte;

-posibilitatea raspunsului la anumite intrebari neanticipate de catre proiectantii de sistem;

-posibilitatea folosirii sistemului de informare dispunand de un minim de cunostinte despre modul lui de organizare in general si despre informatica in special;

-integritatea si securitatea datelor etc.

In acest context, sistemului de gestiune al bazei de date ii revin o serie de obiective, cum sunt:

Asigurarea independentei datelor.

Asa cum am aratat mai devreme, acest obiectiv consta in linii mari din indeplinirea urmatoarei cerinte: modificarile care se fac la un anumit nivel de structura de date nu trebuie sa fie 'vizibile' la nivelul de organizare imediat superior.

Asigurarea unei redundante minime si controlate a datelor din baza de date.

Spre deosebire de sistemele clasice de prelucrare automata a datelor, stocarea datelor in cazul bazelor de date se face astfel incat, pe cat posibil, fiecare informatie sa apara o singura data. Totusi, nu sunt excluse nici cazurile in care, pentru a realiza performante sporite (mai ales in ce priveste timpul de acces la date si implicit, timpul de raspuns la solicitarile utilizatorilor) sa se accepte o anumita redundanta a datelor. In acest caz se va institui insa un control automat al redundantei in vederea asigurarii coerentei datelor din baza.

3. Asigurarea unor facilitati sporite de utilizare a datelor. Aceasta presupune:

- folosirea datelor de catre mai multi utilizatori in diferite scopuri (aplicatii);

- accesul cat mai simplu al utilizatorilor la date, fara ca acestia sa fie nevoiti sa cunoasca structura intregii baze de date, acest lucru ramanand in sarcina administratorului bazei de date;

- existenta unor limbaje performante de regasire a datelor, care permit exprimarea cu usurinta a criteriilor de selectie a datelor si indicarea unor reguli cat mai generale pentru editarea informatiilor solicitate;

- spre deosebire de sistemul traditional bazat pe fisiere, unde exista un singur criteriu de adresare (cel care a stat la baza organizarii fisierului) in cazul bazelor de date, sistemul de gestiune trebuie sa ofere posibilitatea unui acces multicriterial, fara sortari suplimentare. Modificarea criteriului la fisierele clasice implica in majoritatea cazurilor reorganizarea lor;

- utilizarea unui limbaj cat mai apropiat de limbajul natural, cu posibilitatea exploatarii bazei de date in regim conversational. Aceasta ar oferi posibilitatea exploatarii in mod facil a bazei de date si de catre utilizatorii neinformaticieni.

4. Sporirea gradului de securitate a datelor impotriva accesului neautorizat la ele. Administratorul bazei de date poate prevedea ca accesul la baza de date sa se faca numai prin canale corespunzatoare, si poate, totodata, defini verificari de autorizare care sa se realizeze oricand se incearca accesul la anumite date.

5. Asigurarea integritatii datelor impotriva unor stergeri intentionate sau neintentionate, prin intermediul unor proceduri de validare, a unor protocoale de control concurent si a unor proceduri de refacere a bazei de date dupa incidente.

6. Asigurarea partajabilitatii datelor. Partajabilitatea datelor trebuie inteleasa nu numai sub aspectul asigurarii accesului mai multor utilizatori la aceleasi date, ci si acela al posibilitatii dezvoltarii unor aplicatii fara a se modifica structura bazei de date.

1.10. Functiile unui SGBD

Sistemele de gestiune a bazelor de date dispun de o serie de componente ce permit efectuarea numeroaselor operatii necesare functionarii optime a sistemului. In functie de natura lor si de scopul urmarit, operatiile pot fi grupate pe activitati. Activitatile accepta si ele o grupare pe functii (una sau mai multe activitati, relativ omogene, realizeaza o anumita functie).

Tinand seama de complexitatea sistemului de gestiune, de facilitatile oferite de acesta, de limbajele utilizate si de tipul bazei de date ce urmeaza a fi gestionata de SGBD, gruparea activitatilor pe functii are un oarecare caracter relativ. In situatia sistemelor de gestiune ce utilizeaza limbaje gazda de nivel inalt, identificarea si delimitarea functiilor nu este atat de evidenta.

Totusi, in ciuda acestor particularitati, se pot prezenta cateva functii cu caracter de generalitate pentru toate sistemele de gestiune a bazelor de date si anume:

1. Functia de descriere a datelor permite definirea structurii bazei de date cu ajutorul limbajului de definire. Definirea datelor poate fi realizata la nivel logic, conceptual si fizic.

Aceasta functie asigura:

-descrierea atributelor (campurilor) din cadrul structurii bazei de date,

-descrierea legaturilor dintre entitatile bazei de date sau dintre atributele aceleiasi entitati,

-definirea eventualelor criterii de validare a datelor,

-definirea metodelor de acces la date,

-definirea aspectelor referitoare la asigurarea integritatii si confidentialitatii datelor, etc.

Toate acestea se concretizeaza in schema bazei de date, memorate in cod intern.

2. Functia de manipulare a datelor este cea mai complexa functie si realizeaza urmatoarele activitati:

- crearea (incarcarea) bazei de date;

- adaugarea de noi inregistrari;

- stergerea unor inregistrari;

- modificarea valorilor unor campuri;

- cautarea, sortarea si editarea partiala sau totala a unei inregistrari virtuale etc.

Functia de manipulare a datelor se realizeaza prin intermediul limbajului de manipulare a datelor.

3. Functia de utilizare asigura multimea interfetelor necesare pentru comunicarea tuturor utlizatorilor cu baza de date. Sunt recunoscute mai multe categorii de utilizatori:

- utilizatori "liberi" sau conversationali. Aceastia reprezinta categoria beneficiarilor de informatii (utilizatori finali) care utilizeaza limbajele de interogare a bazei de date intr-o forma simplista. Ei apar ca utilizatori neinformaticieni;

- utilizatori programatori, care utilizeaza limbajele de manipulare, realizand proceduri complexe de exploatare a bazei de date;

- administratorul bazei de date apare ca un utilizator special si are rolul hotarator in ceea ce priveste functionarea optima a intregului ansamblu.

4. Functia de administrare a bazei de date apare ca o functie complexa si este de competenta administratorului bazei de date.

Întrebari recapitulative.

Enumerati momentele importante ale nasterii bazelor de data.

Dati definitia bazei de date.

Dati definitia SGBD-ului.

Ce înseamna arhitectura ANSI-SPARC pe trei nivele?

Ce esste independenta fizica a datelor?

Ce esste independenta logica a datelor?

Care sunt componentele unui SGBD?

Care sunt obiectivele unui SGBD?

Care sunt functiunile unui SGBD?

Raspunsuri la întrebari.

1) Exista afirmatii conform carora sistemul de baze de date isi are radacinile in anii '60, in proiectul de aselenizare Apollo. North American Aviation a dezvoltat un pachet de programe cunoscut sub numele GUAM, care se baza pe date organizate in mod ierarhic. In aceeasi perioada General Electric a dezvoltat sistemul IDS (Integrated Data Store). Proiectul a condus la modelul de date retea. Conceptul de baza de date s-a definit in 1969 cu ocazia prezentarii primului proiect de raport CODASYL. Ideea principala in organizarea datelor se baza pe existenta a trei componente de baza:

schema de retea - care reprezenta organizarea logica a intregii baze de date

subschema - care reprezenta o parte a bazei de date asa cum e vazuta de utilizator sau de programele de aplicatei

un limbaj de gestionare a datelor - care definea caracteristicile datelor, structura lor si care manipula datele.

In 1978 E.F.Codd de la IBM Research Laboratory a elaborat o lucrare care a avut o influenta covarsitoare in dezvoltarea bazelor de date. Lucrarea trata despre modelul de date relational.

În anul 1970 a început dezvoltarea unui limbaj structurat de interogare (numit SQL) care de atunci a devenit un standard pentru sistemele relationale.

Baza de date poate fi definita ca fiind o colectie partajata de date aflate în interdependenta logica colectie desemnata pentru a rezolva nevoia de informatizare a unei intreprinderi (sau organizatii).

3) Numim SGBD (Sistem de Gestiune al Bazelor de Date) un sistem software care permite, pe de o parte, definirea, crearea si intretinerea bazei de date si pe de alta parte, permite accesul controlat la informatiile din baza de date în cauza.

4) Componentele bazei de date pot fi structurate pe trei nivele, in functie de clasa utilizatorilor implicati si de viziunea asupra structurarii informatiei, dupa cum urmeaza:

- nivelul logic de vizualizare (view) sau nivelul extern. Este dat de viziunea programatorului de aplicatii, care realizeaza programele de aplicatii pentru manipularea datelor la nivel de structura logica (subschema) corespunzatoare descrierii datelor aplicatiei;

-nivelul conceptual (global). Este dat de viziunea administratorului bazei de date, care realizeaza structura conceptuala (schema) corespunzatoare descrierii intregii baze de date si administreaza componentele bazei de date. Acest nivel descrie ce date sunt memorate în baza de date si ce relatii sunt stabilite intre date. Nivelul conceptual reprezinta:

-toate entitatile, atributele lor i relatiile dintre ele;

-restrictiile impuse datelor

-informatiile semantice despre date

-informatiile privitoare la securitatea si integritatea datelor.

-nivelul fizic. Este dat de viziunea inginerului de sistem care realizeaza structura fizica corespunzatoare descrierii datelor pe suportul fizic (periferic). Acest nivel descrie cum sunt memorate datele în baza de date.

Independenta fizica a datelor face ca memorarea datelor si tehnicile fizice de memorarea sa poata fi modificate fara a determina rescrierea programelor de aplicatie. Asadar independenta fizica a datelor reprezinta gradul de imunitate a schemei conceptuale la schimbarile suferite de schema interna.

Independenta logica a datelor se refera la posibilitatea adaugarii de noi înregistari sau la extinderea structurii conceptuale (globale), fara ca acest lucru sa impuna rescrierea programelor existente. Cu alte cuvinte independenta logica a datelor reprezinta gradul de imunitate a schemelor externe la schimbarile suferite de schema conceptuala.

Arhitectura unui SGBD evidentiaza componentele acestuia si urmeaza standarde internationale. O astfel de arhitectura generala cuprinde urmatoarele componente:

- baza de date propriu-zisa în care se memoreaza colectia de date;

- sistemul de gestiune al bazei de date, care este un asamblu de programe (soft) care realizeaza gestiunea si prelucrarea complexa a datelor;

- un set de proceduri manuale si automate, precum si reglementarile administrative, destinate bunei functionari a întregului sistem;

- un dictionar al bazei de date (metabaza de date), ce contine informatii despre date, structura acestora, elemente de descriere a semanticii, statistici, documentatie etc.

- mijloacele hard utilizate (comune, specializate etc.);

- personalul implicat: (categorii de utilizatori: finali - (neinformaticieni); de specialitate (administrator), analisti - programatori, gestionari, operatori).

8) Bazei de date îi revin o serie de obiective, cum sunt:

-Asigurarea independentei datelor.

-Asigurarea unei redundante minime si controlate a datelor din baza de date.

- Asigurarea unor facilitati sporite de utilizare a datelor

- Sporirea gradului de securitate a datelor împotriva accesului neautorizat la date.

-Asigurarea integritatii datelor împotriva unor stergeri intentionate sau neintentionate, prin intermediul unor proceduri de validare, a unor protocoale de control concurent si a unor proceduri de refacere a bazei de date dupa incidente.

-Asigurarea partajabilitatii datelor. Partajabilitatea datelor trebuie inteleasa nu numai sub aspectul asigurarii accesului mai multor utilizatori la aceleasi date, ci si acela al posibiliattii dezvoltarii unor aplicatii fara a se modifica structura bazei de date.

9) Functiile unui SGBD

1. Functia de descriere a datelor permite definirea structurii bazei de date cu ajutorul limbajului de definire. Definirea datelor poate fi realizata la nivel logic, conceptual si fizic.

Aceasta functie asigura:

-descrierea atributelor (câmpurilor) din cadrul structurii bazei de date,

-descrierea legaturilor dintre entitatile bazei de date sau dintre atributele aceleiasi entitati,

-definirea eventualelor criterii de validare a datelor,

-definirea metodelor de acces la date,

-definirea aspectelor referitoare la asigurarea integritatii si confidentialitatii datelor, etc.

2. Functia de manipulare a datelor este cea mai complexa functie si realizeaza urmatoarele activitati:

- crearea (incarcarea) bazei de date;

- adaugarea de noi inregistrari;

- stergerea unor inregistari;

- modificarea valorilor unor câmpuri;

- cautarea, sortarea si editarea partiala sau totala a unei inregistrari virtuale etc.

3. Functia de utilizare asigura multimea interfetelor necesare pentru comunicarea tuturor utlizatorilor cu baza de date. Sunt recunoscute mai multe categorii de utilizatori:

- utilizatori "liberi" sau conversationali. Aceastia reprezinta categoria beneficiarilor de informatii (utilizatori finali) care utilizeaza limbajele de interogare a bazei de date intr-o forma simplista. Ei apar ca utilizatori neinformaticieni;

- utilizatori programatori, care utilizeaza limbajele de manipulare, realizând proceduri complexe de exploatare a bazei de date;

- administratorul bazei de date apare ca un utilizator special si are rolul hotarâtor în ceea ce priveste functionarea optima a întregului ansamblu.

Functia de administrare a bazei de date apare ca o functie complexa si este de competenta administratorului bazei de date.


Document Info


Accesari: 11326
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )