CATEGORII DOCUMENTE |
O propunere de inceput pentru o terminologie standard si o arhitectura generala a sistemelor de baze de date a fost realizata de grupul DBTG (Data Base Task Group), constituit la Conferinta despre Limbajele Sistemelor de Date (CODASYL, 1971). Grupul DBTG a recunoscut necesitatea unei abordari pe doua niveluri: din punct de vedere a sistemului - numita schema -si din punct de vedere al utilizatorului - numita subschema. O terminologie si o arhitectura similare au fost realizate in anul 1975 de catre Institutul National American pentru Standarde (ANSI) si de catre Comitetul de Planificare si Cerinte privind Standardele (SPARC). Comitetul ANSI-SPARC a recunoscut necesitatea unei abordari pe trei niveluri, cu un catalog de sistem. Aceste propuneri se concentreaza pe necesitatea unei zone independente de implementare, care sa izoleze programele de consideratiile de reprezentare de baza. Cu toate ca modelul ANSI-SPARC nu a devenit un standard, el constituie inca o baza pentru intelegerea catorva functionalitati ale sistemelor de gestiune a bazelor de date.
Acest model consta in identificarea a trei niveluri de abstractizare - adica a trei niveluri distincte la care pot fi descrise datele. Acestea formeaza o arhitectura cu trei niveluri, cuprinzand un nivel extern, unul conceptual si unul intern, asa cum se arata in Figura 2. Obiectivul arhitecturii cu trei niveluri este separarea vederii fiecarui utilizator asupra bazei de date de modul in care este ea reprezentata fizic. Exista diverse motive pentru care aceasta separare este de dorit:
Fiecare utilizator trebuie sa aiba posibilitatea de a accesa aceleasi date, dar cu vedere personalizata a acestora. Fiecare utilizator trebuie sa aiba posibilitatea de a modifica modul in care vizualizeaza datele, iar aceasta schimbare nu trebuie sa-i afecteze pe ceilalti utilizatori;
Utilizatorii nu trebuie sa aiba de-a face in mod direct cu detaliile privind stocarea fizica din baza de date, cum ar fi indexarea si functiile hash. Cu alte cuvinte, o interactiune a utilizatorului cu baza de date trebuie sa fie independenta de consideratiile privind stocarea;
Administratorul bazei de date trebuie sa aiba posibilitatea de a schimba structurile de stocare ale acesteia, fara a afecta vederile utilizatorului;
Structura interna a bazei de date nu trebuie sa fie afectata de catre modificarile aspectelor fizice privind stocarea, cum ar fi trecerea la un nou dispozitiv de stocare;
Administratorul bazei de date trebuie sa aiba posibilitatea de a schimba structura conceptuala si globala a bazei de date, fara a afecta toti utilizatorii.
Modul in care utilizatorii percep datele este numit nivel extern. Modul in care un SGBD si sistemul de operare percep datele constituie nivelul intern. Nivelul intern se plaseaza acolo unde sunt stocate in realitate datele, utilizand structurile de date si organizarile fisierelor. Nivelul conceptual realizeaza transpunerea, cat si independenta dorita dintre nivelul extern si cel intern.
Figura Arhitectura ANSI-SPARC cu trei niveluri
Nivelul extern
Nivelul extern reprezinta vederea utilizatorului asupra bazei de date. Acest nivel descrie acea parte a bazei de date care este relevanta pentru fiecare utilizator.
Nivelul extern este format dintr-un numar de vederi externe diferite ale bazei de date. Fiecare utilizator are o vedere asupra "lumii reale", reprezentata intr-o forma familiara acestuia. Vederea externa include numai acele entitati, atribute sau relatii din "lumea reala", de care este interesat utilizatorul. Alte entitati, atribute sau relatii care nu sunt de interes, pot fi reprezentate in baza de date, dar utilizatorul nu-si da seama de prezenta acestora.
In plus, diferite vederi pot avea reprezentari diferite ale acelorsi date. De exemplu, un utilizator poate vedea datele calendaristice in formatul (an,luna,zi), in timp ce altul le poate vedea ca (zi,luna,an). Cateva vederi pot include date derivate sau calculate, date ce nu sunt de fapt stocate ca atare in baza de date, dar sunt create cand este necesar. Vederile pot include chiar date combinate sau derivate din entitati diferite.
Nivelul conceptual
Nivelul conceptual reprezinta vederea generala a bazei de date si descrie ce date sunt stocate in baza de date si relatiile dintre acestea.
Nivelul conceptual contine structura logica a intregii baze de date, asa cum este vazuta de administratorul bazei de date. El reprezinta o imagine completa a cerintelor organizatiei privind datele, care este independenta de orice consideratii privind stocarea. Nivelul conceptual reprezinta:
toate entitatile, atributele si relatiile dintre ele;
constrangerile asupra datelor;
informatiile semantice despre date;
informatiile privind securitatea si integritatea.datelor.
Nivelul conceptual accepta fiecare vedere externa, prin aceea ca orice date disponibile unui utilizator trebuie sa fie continute de acesta sau sa poata fi derivate din acesta. Totusi, acest nivel nu trebuie sa contina vreun detaliu dependent de stocare. De exemplu, descrierea unei entitati trebuie sa contina numai tipurile de date pentru atribute (de exemplu: integer, real, character) si lungimea lor (cum ar fi: numarul maxim de cifre sau caractere), dar nici o informatie privind stocarea, cum ar fi numarul de octeti ocupat.
Nivelul intern
Nivelul intern constituie implementarea fizica a bazei de date, pentru a obtine performantele optime la executie si pentru utilizarea optima a spatiului de stocare. Acest nivel descrie cum sunt stocate datele in baza de date.
Nivelul intern cuprinde structurile de date si organizarile fisierelor, utilizate pentru stocarea datelor pe dispozitive de stocare. El interactioneaza cu metodele de acces ale sistemului de operare (tehnici de administrare a fisierelor pentru stocarea si regasirea inregistrarilor de date), pentru a plasa datele pe dispozitivele de stocare, a realiza indexurile, a regasi datele si asa mai departe. Nivelul intern trateaza probleme cum ar fi:
alocarea spatiului de stocare pentru date si indexuri;
descrierea inregistrarilor pentru stocare (cu dimensiunile de stocare ale articolelor de date);
plasarea inregistrarilor;
tehnicile de comprimare a lor si de codificare a acestora.
Sub nivelul intern se gaseste nivelul fizic, care poate fi administrat de catre sistemul de operare, aflat sub comanda SGBD-ului. Totusi, la nivel fizic nu exista o delimitare clara intre functiile SGBD-ului si cele ale sistemului de operare, ele putand varia de la un sistem la altul. Unele sisteme de gestiune a bazelor de date au avantajul ca folosesc multe metode de acces ale sistemului de operare, in timp ce altele le utilizeaza numai pe cele de baza si isi creeaza propriile organizari ale fisierelor. Nivelul fizic, aflat sub SGBD, consta in articole cunoscute numai de catre sistemul de operare - cum ar fi modul exact de implementare a secventierii si daca pe disc sunt stocate campurile inregistrarilor interne, intr-o secventa de octeti alaturati.
Independenta de date
Un obiectiv al arhitecturii cu trei niveluri il reprezinta asigurarea independentei de date, prin care se intelege ca nivelurile superioare nu sunt afectate de modificarile facute la cele inferioare. Exista doua tipuri de independente de date: logica si fizica.
Independenta logica de date se refera la imunitatea schemelor externe fata de modificarile efectuate in schema conceptuala. Modificarile din schema conceptuala, cum ar fi adaugarea sau eliminarea de noi entitati, atribute sau relatii, trebuie sa fie posibile fara a fi necesara schimbarea schemei externe existente sau rescrierea programelor aplicatie. Desigur ca utilizatorii pentru care s-au facut modificarile trebuie sa fie instiintati asupra lor, dar important este faptul ca nu este necesar sa fie informati ceilalti utilizatori.
Independenta fizica de date se refera la imunitatea schemei conceptuale fata de modificarile efectuate in schema interna. Modificarile efectuate in schema interna, cum ar fi utilizarea unor organizari ale fisierelor sau structuri de stocare diferite, a unor dispozitive diferite de stocare, modificarea de indexuri sau de algoritmi hash, trebuie sa fie posibile fara a fi necesara schimbarea schemelor conceptuale sau externe. Din punctul de vedere al utilizatorului, modificarea performatelor este singurul efect care poate fi observat. De fapt, alterarea performantei este motivul cel mai des intalnit pentru efectuarea modificarilor in schema interna. In Figura 3 se arata unde apare fiecare tip de independenta de date in arhitectura pe trei niveluri.
Figura Independenta de date si arhitectura ANSI-SPARC cu trei niveluri
Transpunerea in doua trepte din arhitectura ANSI-SPARC poate fi mai putin eficienta, dar asigura o mai mare independenta de date. Totusi, pentru ca aceasta sa fie mai eficienta, modelul ANSI-SPARC permite transpunerea directa a schemelor externe in cele interne,ocolind astfel schema conceptuala. Desigur ca aceasta diminueaza independenta de date, astfel incat, de fiecare data cand este modificata schema interna, s-ar putea sa fie necesara si schimbarea celei externe si a oricarui program aplicatie dependent.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 4088
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved