Tendinte actuale privind SBD
A) Contextul informatic actual
B) SBD orientate obiect
A) Contextul informatic actual
Dezvoltarea SBD actuale se realizeaza in conditii specifice date de urmatoarele aspecte: contextul informatic, noi tipuri de aplicatii informatice, noi limbaje de programare, noi arhitecturi pentru mediile de lucru.
Sistemele de calcul au preturi si gabarite tot mai mici, in timp ce performantele sunt tot mai mari. Pretul produselor software (incluzandu-se si SGBD) depaseste 50% din costul cheltuielilor de informatizare.
Lucrul in retea de calculatoare se generalizeaza, statiile grafice sunt conectate in retele locale si apoi la Internet. Acest lucru favorizeaza lucrul cu sisteme de baze de date distribuite.
Sistemele de operare evolueaza spre functionalitati care tind sa preia o parte dintre sarcinile SGBD.
Interfata om-masina este tot mai performanta, reprezentand peste 50% din codul sursa aferent unei aplicatii informatice.
Noi tehnologii informatice apar in mod continuu si influenteaza tehnologia bazelor de date: tehnologia orientata obiect, tehnologia Web, tehnologia Java, tehnologia Grid Computing etc. Tendinta este de integrare a mai multor tehnologii informatice atat in SGBD cat si, implicit, in aplicatiile cu baze de date.
Aplicatiile de proiectare asistata de calculator au urmatoarele caracteristici:
datele din baza de date reprezinta direct realul;
datele sunt de multe ori ierarhizate;
proiectarea se face in mod interactiv;
mai multi proiectanti pot lucra simultan;
proiectantul urmeaza o metodologie si eventual niste standarde.
Nota. In SGBD exista produse tip CASE (Computer Aided Software Engeenering) de asistare a proiectantului de baze de date, de exemplu Oracle Designer.
Aplicatiile multimedia au urmatoarele caracteristici:
o administreaza datele intr-un mod netraditional (de exemplu tranzactiile sunt lungi si se trateaza specific);
o tipurile de date sunt diferite de cele clasice (text si grafice): imagine, video, animatie, sunet;
o volumul de date este foarte mare;
o este nevoie de integrarea tehnologiilor clasice cu cele noi pentru stocarea si prelucrarea datelor.
Sistemele deschise sunt produse care permit in orice moment dezvoltarea cu un efor minim. Caracteristicile sistemelor deschise sunt:
v supletea (flexibilitatea) permite utilizarea fara efort a diferitelor platforme, instrumente, interfete, interconectari;
v standardele (normele) de diferite tipuri (internationale, de producator, de piata) sunt intens utilizate;
v evaluarea nivelului de deschidere al unui sistem se face dupa diferite criterii: limbajul de programare utilizat, tipul interfetelor folosite, natura aplicatiilor pentru care se foloseste sistemul;
v normele de deschidere ale unui sistem sunt relative datorita evolutiei rapide a tehnologiilor informatice. Totusi, acest norme se intocmesc tinand cont de ce se utilizeaza in acel sistem: hardware-ul, sistemul de operare, limbajele de programare, SGBD.
Realizarea aplicatiilor cu baze de date presupune obligatoriu, si ca punct final, o activitate de programare.
Toate metodologiile de realizare a bazelor de date presupun activitatile: analiza, proiectare, elaborare programe, punere in functiune si dezvoltare.
Din acest punct de vedere, tendinta actuala in realizarea sistemelor de baze de date este urmatoarea:
se combina programarea structurata (imperativa) cu cea declarativa (descriptiva);
interogarea (regasirea) bazelor de date se face prin limbaje de regasire de o putere cel putin egala cu cea a limbajelor relationale;
legaturile intre date trebuie sa se poata realiza flexibil si complex.
Tendinta actuala este ca noile versiuni de SGBD sa fie reproiectate arhitectural astfel incat sa se incadreze trecerii de la arhitectura de lucru client/server (pe 2 niveluri) la cea NC - Network Computing (mai mult de 2 niveluri).
Evolutia arhitecturilor de lucru pentru gestionarea datelor in retele de calculatoare
datele erau stocate toate pe o masina puternica (calculatorul central);
cererile de regasire erau formulate de la terminale si erau rezolvate prin acces la datele de pe calculatorul central;
in retea sunt doua tipuri de calculatoare (niveluri): server si client;
pe calculatorul numit server sunt stocate datele;
rolul serverului este de realiza accesul la date, precum si prelucrarea datelor gasite;
pe calculatoarele numite client se stocheaza date si software;
rolul clientilor este de a formula cererile de regasire a datelor si de a realiza interfata om-masina.
in retea sunt mai mult de doua tipuri de calculatoare (niveluri) si reteaua este conectata la Internet;
calculatorul NC (poate fi si PC) de unde se formuleaza cererile de regasire;
server de date pe care sunt stocate datele;
server de aplicatii pe care sunt stocate aplicatiile;
alte servere (de Mail etc.);
arhitectura se caracterizeaza prin: deschidere, flexibilitate, interoperabilitate, extensibilitate, standarde, pret redus, gabarit redus.
Note.
1. Incepand cu versiunea 9i, dar mai ales in 10g si 11g, sistemul Oracle poate functiona atat in arhitectura client-server, cat si in arhitectura NC.
2. O idee mai veche este reluata ca solutie de viitor pentru cresterea spectaculoasa a eficientei BD. Este vorba despre masini baze de date, ca arhitectura dedicata BD atat hardware cat si software, in care optimizarea este dusa la maxim. Exemplu: in 2009 s-a lansat HP Oracle Database Machine, configuratie in care HP a realizat hardware dedicat, iar Oracle software dedicat. Solutia este valabila atat pentru statie individuala de lucru (desktop) cat si ca server.
CONCLUZIE. Tendinta de dezvoltare actuala a SBD presupune:
folosirea in mod intens a integrarii tehnologiilor informatice;
- obtinerea unor aplicatii deschise cu tot ceea ce rezulta de aici;
- SGBD si aplicatiile produse prezinta interoperabilitate (functioneaza si comunica cu alte sisteme);
- performantele globale ale SBD sunt de mare importanta, un loc important in acest sens fiind ocupat de aspectele de optimizare - inclusiv masini baze de date;
- SGBD devin mai mult decat atat, devin platforme/infrastructuri pentru baze de date.
B) SBD orientate obiect
a) Definirea obiectelor se face cu ajutorul conceptului de clasa de obiecte care este definita din entitatea regasita in lumea reala. Se pune accentul atat pe date cat si pe comportamentul acestora, ambele incapsulate in obiect.
Conceptele utilizate sunt:
CLASELE (TIPURILE) DE OBIECTE sunt un tip abstract de date prin care se defineste structura obiectelor (proprietatile) si comportamentul (metodele) acestora.
OBIECTELE reprezinta o colectie de proprietati care se refera la aceeasi entitate.
Obiectul are:
un nume prin care este referit ;
un identificator unic atribuit de sistem;
o implementare care este privata;
o interfata care este publica.
METODA reprezinta operatiile permise asupra obiectului, deci comportamentul (functionalitatea) acestuia.
MESAJUL reprezinta cereri adresate obiectelor pentru a returna o valoare sau o stare.
CARACTERISTICI (principii) fundamentale (de baza) ale obiectelor:
incapsularea : descrierea obiectelor se face astfel incat nu se poate avea acces din afara obiectului la datele sale;
polimorfismul : diferite obiecte pot raspunde diferit la aceleasi mesaje;
mostenirea : capacitatea unui obiect de a-si deriva datele si functionalitatea din alt obiect.
INSTANTA unei clase reprezinta realizarea unei clase, data de valorile variabilelor aferente.
b) Definirea legaturilor intre obiecte se realizeaza implicit prin modul de construire (definire) al obiectelor.
Tipurile de legaturi in modelul OO sunt:
ierarhice, caracterizate prin:
clasa de obiecte este structura de baza a modelului;
fiecare obiect are un identificator unic;
toate obiectele sunt membri ai unei clase;
clasele sunt structurate in ierarhii avand caracteristica de mostenire;
prin obiecte se pot defini orice tip de date (text, grafic, imagine, sunet, video etc.);
ansamblul claselor de obiecte structurate in ierarhii alcatuiesc schema BD.
de referinta caracterizate prin:
se realizeaza pe baza identificatorului unic de obiect;
pot fi de urmatoarele feluri:
simple de asociere : referirea unui obiect de catre alt obiect;
de compunere (tip parte-intreg) : obiectele care reprezinta componente ale unui intreg sunt asociate cu obiectul ce reprezinta intregul;
de agregare : obiectele independente sunt agregate succesiv pentru a forma un intreg.
permit definirea si manipularea de obiecte compuse din alte obiecte. Obiectele compuse rezultate au o structura ierarhica dar nu au caracteristica de mostenire.
La baza operatiilor din model stau mesajele ca unic mod de a comunica obiectele intre ele.
Actualizarea metodelor : adaugare, modificare, stergere de metode.
Actualizarea proprietatilor : adaugare, modificare, stergere de date.
Actualizarea claselor : adaugare, modificare, stergere de clase.
Realizarea legaturilor intre clase : compunere, partitionare etc..
Actualizarea instantelor : prin metode care schimba starea interna a obiectului.
Orice obiect trebuie sa respecte restrictiile impuse la definirea clasei din care face parte (protocol de obiect).
Identificatorul obiectului asigura integritatea referirii la el (se atribuie si se sterge automat o data cu obiectul).
Accesul la obiecte este limitat la folosirea protocolului de mesaje definit pentru clasa din care face parte obiectul.
Caracterizarea generala a modelului OO.
nu exista un model OO unanim acceptat de specialisti. Exista totusi organisme internationale de standardizare - exemplu OMG (Object Management Group) - precum si modele OO standardizate - exemplu ODMG (Object Data Management Group);
imaturitatea si naturaletea dezarmanta a tehnologiei OO;
elemente inca insuficient testate pentru SBDOO: controlul integritatii, volume foarte mari, regasirea etc.
Definirea SGBDOO
Limitele sistemelor relationale au determinat cercetari pentru o noua generatie (a treia) de SGBD si anume cele orientate obiect.
Incapacitatea relationalului de a face fata noilor tipuri de aplicatii informatice (multimedia, deschise, Internet etc.) s-a manifestat in:
adaptarea greoaie pentru tratarea noilor tipuri de date (video, sunet etc.);
tratarea volumelor foarte mari de date;
- tratarea datelor deosebit de complexe;
- producerea unor aplicatii cat mai deschise.
Abordarea notiunilor de obiect si SGBDOO s-a facut din mai multe puncte de vedere, pentru ca mai multe domenii ale informaticii (limbajele de programare, bazele de date, sistemele informatice, inteligenta artificiala) au contribuit la dezvoltarea conceptelor din tehnologia orientata obiect.
Directii de cercetare pentru SGBDOO:
accentul pe limbajele de programare (functionale - LISP; imperative - Pascal, C; orientate obiect - Smalltalk, C++, Java);
accentul pe date (modelul orientat obiect).
Note. 1) Printr-un compromis al celor doua directii de cercetare s-a ajuns la SGBDOO: un sistem software complet care indeplineste functiile si obiectivele unui SGBD, implementeaza modelul de date orientat obiect si are cel putin un limbaj de programare orientat obiect.
2) In tehnologia orientata obiect, datorita directiilor de cercetare diferite, exista mai multe nuante de exprimare privind sistemele dezvoltate:
sisteme orientate pe clase/tipuri, folosesc drept notiune fundamentala "clasa/tipul de obiecte";
sisteme orientate pe obiecte, folosesc drept notiune fundamentala "obiectul" ;
sisteme orientate mixt, folosesc drept notiuni fundamentale atat "clasa de obiecte" cat si "obiectul" ;
sisteme bazate pe obiecte, folosesc notiunea de "obiect" pentru care nu se implementeaza trei caracteristici (mostenirea, incapsularea, abstractizarea) (exemplu limbajele tip "scenarii - script");
sisteme obiectuale, folosesc alte notiuni fundamentale dar trateaza si obiecte/clase de obiecte (exemplu, sistemele relational - obiectuale, cum ar fi Visual Foxpro, Oracle etc).
Din cele de mai sus, rezulta ca mai corect ar fi sa spunem, atunci cand ne referim in mod generic, sistem orientat obiect , care ar fi acoperitor pentru variantele de mai sus.
Principiile avute in vedere la definirea minimala a unui SGBDOO sunt:
implementarea unor caracteristici fundamentale ale obiectelor (incapsularea, mostenirea, polimorfismul etc.);
preluarea facilitatilor din generatiile de SGBD anterioare ;
deschiderea catre alte sisteme.
Caracteristici ale SGBDOO
1. Manipularea obiectelor complexe
Tehnologia orientata obiect detine metode si tehnici pentru stapanirea eficienta a complexitatii (abstractizarea, incapsularea etc.).
Noile tipuri de aplicatii informatice genereaza obiecte complexe. Acestea sunt obtinute prin aplicarea unor constructori (setul, lista, inregistrarea etc) asupra unor obiecte simple.
2. Identitatea obiectelor
Limbajele de programare orientate obiect implementeaza caracteristica de identitate a obiectelor.
Identitatea este proprietatea unui obiect de a se distinge de altul si este modalitatea prin care SGBDOO identifica in mod unic un obiect (exemplu, Oracle atribuie identitate unica tuturor obiectelor sale). Identificatorul de obiecte poate fi logic sau fizic.
3. Incapsularea obiectelor
Incapsularea semnifica faptul ca descrierea obiectelor se face astfel incat nu se poate avea acces din afara obiectului la datele sale, decat autorizat.
Necesitatea incapsularii obiectelor rezulta din :
posibilitatea de a diferentia specificarea unei operatii (apelul) de implementarea acesteia (definirea);
posibilitatea de a utiliza modularizarea ca tehnica de stapanire a complexitatii.
4. Ierarhiile de clase/tipuri
Construirea ierarhiilor de clase confera obiectelor caracteristica de mostenire (capacitatea unui obiect de a-si deriva datele si functionalitatea din alt obiect).
Mostenirea contribuie la cresterea productivitatii activitatii de programare si la invingerea complexitatii.
5. Suprapunerea
Caracteristica ce se refera la posibilitatea redefinirii aceleasi operatii in mai multe moduri se numeste suprapunere.
6. Extensibilitaea
Tehnologia sistemelor deschise permite dezvoltarea unor aplicatii informatice capabile sa se adapteze usor la noile cerinte care pot aparea .
In SGBDOO trebuie sa se permita utilizatorului definirea unor noi clase ,pe langa cele predefinite, necesare unor noi tipuri de aplicatii (date).
7. Completitudinea
Limbajul de manipulare din SGBDOO trebuie sa permita exprimarea tuturor situatiilor posibile privind lucrul pe BD.
Trebuie sa se imbine puterea de regasire a limbajelor neprocedurale cu puterea de exprimare a limbajelor procedurale .
8.Persistenta
Persistenta este proprietatea obiectelor de a avea o existenta mai indelungata fata de procesul care le-a creat.
SGBDOO asigura persistenta obiectelor prin stocarea lor in BD, in memoria externa (eventual, obiectele pot fi si denumite).
9. Gestiunea memoriei
Obiectele pot fi stocate in memoria externa, dar si in cea interna .
SGBDOO trebuie sa detina mecanisme pentru alocarea si eliberarea spatiilor necesare stocarii obiectelor, dar si a spatiilor auxiliare.
SGBDOO trebuie sa detina mecanisme pentru diferite moduri de adresare a obiectelor din memoria interna si externa (experienta relationala este foarte buna).
10. Concurenta in exploatare
SGBDOO trebuie sa permita ca mai multi utilizatori sa manipuleze, in acelasi timp, aceleasi date.
Lucrul intr-un mediu distribuit trebuie sa se extinda de la date si la proceduri. Acest lucru este facilitat de tendinta de a se separa functiile de prelucrare de cele de stocare.
11. Tranzactiile lungi
In sistemele relationale unitatea de prelucrare este tranzactia (de dimensiuni mici).
Noile tipuri de aplicatii, dezvoltare cu SGBDOO, genereaza tranzactii lungi. Acestea, nu pot fi tratate cu mecanismele relationale si de aceea se folosesc noi metode.
12. Gestiunea versurilor .
SGBDOO trebuie sa considere ca important faptul ca starile succesive ale obiectelor pot fi reutilizate in diferite aplicatii .
13. Modele diferite .
Tendinta este ca un SGBDOO sa trateze separat stocarea datelor (definirea ) de prelucrarea datelor (manipularea ).
Pentru stocare se utilizeaza modelul de date orientat obiect.
Pentru prelucrare se pot utiliza mai multe modele: imperativ, functional, logic etc. Acest lucru rezulta din tipul de limbaj de programare orientat obiect utilizat in SGBD.
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |