Documente Academic
Documente Profesional
Documente Cultură
stabilirea legturilor ( relaiilor ) ntre date, ntre elementele unei colecii de date i ntre
colecii de date;
Organizarea datelor se realizeaz pentru a permite regsirea lor automat dup anumite criterii i
forme.
Obiectivele urmrite la organizarea datelor sunt:
-
spaiul de memorie intern i extern ocupat s fie ct mai mic (economie de memorie);
Conceptele de baz utilizate n activitatea de organizare a datelor sunt: entitate, atribut, valoare.
Entitatea reprezint un obiect concret sau abstract, caracterizat de proprietile sale.
O proprietate a unui obiect poate fi exprimat printr-o pereche (ATRIBUT, VALOARE). Spre
exemplu: studentul X este n anul de studii II, unde anul de studii reprezint atributul, iar II
reprezint valoarea. Deoarece o entitate este caracterizat de proprietile sale nseamn c ea se
poate reprezenta prin mai multe perechi (ATRIBUT, VALOARE).
De exemplu, o persoan X poate fi reprezentat prin mulimea de perechi: (NUME, IONESCU),
(VRSTA, 25), (SEX, MASCULIN), (PROFESIE, INGINER). Se observ ns c mulimea
atributelor NUME, VRSTA, SEX, PROFESIE poate fi asociat cu mai multe persoane care se
individualizeaz prin valorile acestor atribute. Rezult c un atribut nu caracterizeaz doar o entitate,
ci poate caracteriza o clas de entiti numit entitate grup.
Atributele mai sunt cunoscute i sub numele de cmpuri sau caracteristici.
Un atribut este caracterizat de mulimea valorilor pe care le poate lua. Aceste valori pot fi
numerice, alfanumerice (iruri de caractere) etc. n general atributele au valori elementare, dar pot
exista i situaii de atribute compuse (formate prin nlnuirea mai multor atribute elementare).
Atributele care identific n mod unic o anumit entitate se numesc atribute cheie, celelalte atribute
numindu-se atribute non-cheie.
o a doua categorie constituit de legturile dintre entitile de acelai tip sau de tipuri diferite.
Exemplu:
Fie A mulimea datelor despre salariaii unei societi comerciale. ntre datele acestei mulimi se
pot stabili relaii de tipul:
- x are aceeai profesie cu y;
- x este eful lui y;
- x este mai n vrst dect y;
6
x, y A A
/ x, y A si " x
y"
Definiie. Fie A o colecie oarecare de date, nevid. Se numete relaie binar pe A o submulime
R a produsului cartezian A x A care ndeplinete o proprietate (o legtur).
Numim elemente asociate prin relaia R acele elemente x, y pentru care x, y R .
Dac x, y R spunem c x este asociat lui y prin relaia R sau c x este n relaia R cu y, fapt
care se mai simbolizeaz prin x R y.
Proprietile relaiei binare dintre date sunt:
1. Reflexivitate. Spunem c o relaie R, definit pe o mulime de date A, este reflexiv dac pentru
x R , avem x R x.
Exemplu: x x, x R .
2. Simetrie. O relaie R definit pe mulimea de date A spunem c este simetric dac pentru
x, y A, xRy
implica yRx .
x, y A ,
actualizarea datelor (schimbarea strii structurii prin adugarea, tergerea unor elemente
fuzionarea (formarea unei noi structuri din dou sau mai multe structuri);
copierea;
interclasarea etc.
Structurile de date care au aceeai organizare i sunt supuse acelorai operaii formeaz un tip de
structur de date.
Un tip de structur de date este o mulime ordonat de date ntre care s-au stabilit anumite relaii i
pentru realizarea operaiilor se folosete un grup de operatori de baz cu o anumit semantic.
Clasificarea structurilor de date
Clasificarea structurilor de date se poate realiza dup mai multe criterii. Dup tipul componentelor,
structurile de date se clasific n:
Dac o structur se poate descompune n structuri de acelai tip atunci avem o structur recursiv.
Dup posibilitatea de modificare a structurii, avem:
structuri statice, care pe tot parcursul existenei lor au acelai numr de componente n aceeai
ordine;
structuri dinamice, care permit modificarea numrului de componente sau a poziiei acestora
n structur, prin aplicarea operatorilor specifici strucutrii. Aceste structuri pot avea, teoretic,
un numr nelimitat de componente i de aceea se mai numesc structuri cu cardinalitate
infinit.
structura logic, care se refer la modul de ordonare al datelor i la operatorii folosii pentru
tratarea datelor;
de memorie;
Principalele tipuri de structuri logice de date sunt:
structura punctual;
structura liniar;
structura arborescent;
structura reea;
structura relaional.
Structura punctual este reprezentat de o entitate grup izolat, care nu are legturi (relaii) cu alte
entiti.
Structura liniar (lista) este o structur care definete o relaie de ordine total ntre elementele
unei colecii de date. Dup cum am vzut mai nainte, o relaie de ordine total este o relaie care
9
exist ntre oricare dou elemente ale unei colecii de date. Structura liniar presupune c fiecare
element al structurii conine, pe lng informaiile care trebuiesc manevrate, informaiile necesare
pentru a realiza o legtur (relaie) cu alt element al aceleiai structuri.
orice element care nu este iniial i nici terminal are un singur succesor imediat;
dac exist o relaie ntre ultimul i primul element atunci structura este inelar sau circular;
O structur este arborescent sau ierarhic (descendent) dac ntre elementele sale exist o
relaie de ordine. Aceasta nseamn c fiecare element (cu o singur excepie) provine din alt element
aflat pe un nivel ierarhic superior.
10
Se numete drum de lungime n-1 de la nodul ai1 la nodul ain succesiunea de noduri (ai1, ai2, ..., ain)
n care pentru a i , k , k n, a i , k 1 este un succesor imediat al lui aik. Drumul de lungime maxim
constituie nlimea arborelui.
Un arbore n care fiecare nod are strict numai doi succesori se numete arbore binar.
Structura de tip reea este o structur n care ntre elementele componente exist o relaie de
preordine. n acest caz elementele sunt legate unele de altele prin legturi multiple.
Caracteristicile acestui tip de structur de date sunt:
-
o reea este un graf n care, ntre dou noduri, exist legturi bidirecionale;
un nod are mai muli predecesori i el nsui poate fi predecesor pentru propriul su predecesor,
caz n care apar cicluri n reea. Un ciclu este un drum n care nodul iniial este acelai cu nodul
final.
O reea n care exist doar legturi univoce ntre elemente se numete reea simpl. n caz
contrar reeaua spunem c este o reea complex. ntr-o reea simpl nu exist cicluri. Exemple de
reele simpl i complex sunt date n figura urmtoare.
11
FACULTATESPECIALIZARENR.
MATRICOLPopescuIon1245IonescuAmalia1452VasilescuSergiu1
385
Prelucrarea datelor cu ajutorul calculatorului presupune folosirea unor modele de date, care
modeleaz diferite obiecte i/sau procese reale sau abstracte.
Pentru a putea defini un model de date trebuiesc precizate urmtoarele elemente:
-
structura modelului;
restriciile care se impun pentru meninerea corectitudinii datelor, restricii numite i reguli de
integritate.
cmpul; este cel mai mic element al structurii care poate fi accesat pentru prelucrare;
grupul simplu sau compus; este un set format din mai multe cmpuri i/sau grupuri;
Stabilirea relaiilor ntre obiecte se face prin stabilirea relaiilor care exist ntre nregistrrile
structurilor folosite la definirea modelului de date respectiv.
Structura unui model de date fr valori reprezint un obiect generic. O colecie de date cu valori
bine precizate i care respect un model definit reprezint o realizare sau o instan a tipului de
obiect precizat.
Legturile dintre obiecte (entiti) poart denumirea de asociere. Legturile dintre dou entiti pot
fi de trei tipuri:
-
legturi unu la unu . Aceasta nseamn c fiecare obiect are o legtur cu un alt obiect i
numai cu unul. De exemplu, relaia dintre locurile existente ntr-un cmin studenesc i
studeni. Un loc poate fi ocupat de un singur student, iar un student are dreptul la un singur loc
n cmin.
legturi unu la muli. n acest caz un obiect poate avea legturi (relaii) cu mai multe
obiecte. De exemplu, un student poate face parte dintr-o singur grup dar o grup poate avea
mai muli studeni.
legturi de tipul muli la muli. Acest tip de legtur presupune c fiecare obiect poate avea
multiple legturi (relaii) cu alte obiecte. Spre exemplu, un produs este cumprat de mai muli
clieni i un client poate achiziiona mai multe produse.
Operatorii care acioneaz asupra structurilor de date constituie cel de-al doilea element al unui
model de date. Aceti operatori pot fi de citire, memorare, modificare, jonciune etc.
Regulile de integritate sunt restricii menite s asigure meninerea corectitudinii datelor. Ca
exemple de astfel de restricii putem meniona:
13
s nu se permit tergerea valorilor atributelor unui client dac acesta nu a achitat integral
factura pentru cumprarea unui produs anume;
Modelele de date se mpart, n funcie de modul n care se definesc elementele amintite mai sus, n:
modele ierarhice sau arborescente, modele reea, modele relaionale, modele orientate obiect etc.
Modelul ierarhic
Folosete tipuri de nregistrri care grupeaz toate atributele unei entiti. Pentru a realiza
asocierile dintre tipuri de nregistrri acest model folosete o structur de date arborescent (o
ierarhie).
structura bazei de date trebuie astfel conceput nct s asigure informaiile necesare i
suficiente pentru a satisface cerinele informaionale i de decizie ale utilizatorului;
un dicionar al bazei de date (metabaza de date)), ce conine informaii despre date, structura
acestora, elemente de descriere a semanticii, statistici, documentaie etc.
Bazele de date sunt extrem de variate n funcie de criteriile de apreciere considerate. n continuare
sunt prezentate cteva criterii de clasificare:
-
dup limbajele utilizate: autonome (cu limbaje proprii), cu limbaj gazd, mixte.
Componentele bazei de date pot fi structurate pe trei nivele, n funcie de clasa utilizatorilor
implicai:
-
nivelul logic. Este dat de viziunea programatorului de aplicaii, care realizeaz programele
de aplicaii pentru manipularea datelor i structura logic (subschema) corespunzroare
descrierii datelor aplicaiei;
nivelul conceptual (global). Este dat de viziunea administratorului bazei de date, care
realizeaz structura conceptual (schema) corespunztoare descrierii bazei de date i
administreaz componentele bazei de date pentru manipularea datelor;
nivelul fizic. Este date de viziunea inginerului de sistem care realizeaz structura fizic
corespunzroare descrierii datelor pe suportul fizic.
O baz de date poate fi privit ca o colecie de date stocate pe supori de memorie extern,
adresabile de ctre mai muli utilizatori i care satisface cerinele de informare ale acestora.
Sistemul de gestiune al bazei de date reprezint ansamblul de programe (software) care permite
ndeplinirea scopului pentru care a fost creat baza de date.
El trebuie s asigure realizarea urmtoarelor activiti:
-
ntreinerea bazei de date (colectarea i refolosirea spaiilor goale, refacerea bazei de date n
cazul unui incident);
protejarea datelor.
ntr-un alt sens, sistemul de gestiune al bazei de date se constituie ntr-o interfa ntre utilizator i
baza de date, reprezentnd mecanismul prin intermediul cruia acesta are acces la date.
Pentru a-i putea ndeplini funciunile prevzute, unui sistem de gestiune al bazei de date modern i
revin o serie de obiective de ndeplinit, cum sunt:
1. Asigurarea independenei datelor. Aceasta presupune c modificarea strategiei de memorare a
datelor sau a strategiei de acces la date nu trebuie s afecteze aplicaia care prelucreaz aceste date.
Independena datelor fa de aplicaie este necesar deoarece: diferite aplicaii au nevoie de viziuni
diferite ale acelorai date; administratorul bazei de date trebuie s aib libertatea de a schimba
structura de memorare sau strategia de acces, ca rspuns la cerine (schimbri de standarde,
prioritile aplicaiilor, schimbarea unitilor fizice de memorare etc.), fr a modifica aplicaiile
existente; baza de date existent, precum i programele de exploatare a ei reprezint o investiie
important la care nu trebuie s se renune prea uor.
Independena datelor trebuie privit din dou puncte de vedere: independena fizic i
independena logic a datelor.
Independena fizic a datelor implic modificarea tehnicilor fizice de memorare a datelor fr a
necesita rescrierea programelor de aplicaie.
Independena logic a datelor se refer la posibilitatea adugrii de noi articole de date sau
extinderea structurii conceptuale (globale), fr ca aceasta s impun rescrierea programelor
existente.
2. Asigurarea unei redundane minime i controlate a datelor din baza de date. Redundana se
refer la numrul de apariii n baza de date a unei date. }n general, stocarea datelor n baze de date ar
trebui s se fac astfel nct fiecare dat s apar o singur dat. Totui, exist cazuri n care, pentru a
reduce timpul de cutare al unei date i implicit timpul de rspuns la solicitrile utilizatorilor, se
17
accept o anumit redundan a datelor. Aceast redundan trebuie controlat automat, prin program,
pentru a se asigura coerena datelor din baz.
3. Asigurarea unor faciliti sporite de utilizare a datelor. Aceasta presupune:
-
existena unor limbaje performante de regsire a datelor, care permit exprimarea sub forma
unei conversaii, a unor criterii de selecie a datelor i indicarea unor reguli ct mai generale
pentru editarea informaiilor solicitate;
utilizarea unui limbaj ct mai apropiat de limbajul natural, cu posibilitatea exploatrii bazei de
date n regim conversaional, lucru care ar oferi posibilitatea exploatrii bazei de date
i de
1. Funcia de descriere a datelor, care permite definirea structurii bazei de date cu ajutorul unui
limbaj de definire. Definirea datelor poate fi realizat la nivel logic, conceptual i fizic. La nivelul
acestei funcii se descriu multitudinea atributelor (cmpurilor) din cadrul structurii bazei de date,
legturile dintre entitile bazei de date sau dintre atributele aceleiai entiti, se definesc eventualele
criterii de validare a datelor, metodele de acces la date, aspectele referitoare la asigurarea integritii
i confidenialitii datelor etc.
2. Funcia de manipulare a datelor este cea mai complex funcie i realizeaz urmtoarele
activiti:
- crearea bazei de date;
- ncrcarea bazei de date;
- adugarea de noi nregistrri (tupluri);
- tergerea unor nregistrri;
- modificarea valorilor corespunztoare unor cmpuri;
- cutarea, sortarea i editarea parial sau total a unei nregistrri virtuale etc.
3. Funcia de utilizare asigur mulimea interfeelor necesare pentru comunicarea tuturor
utilizatorilor cu baza de date. n cadrul realizrii acestei funcii apar mai multe categorii de utilizatori:
-
administratorul bazei de date, care este un utilizator special avnd un rol hotrtor n ceea ce
privete funcionarea optim a ntregului ansamblu.
Coninutul acestor etape, respectiv activitile implicate i modul lor de desfurare depind, n
general, de tipul bazei de date precum i de domeniul de activitate pentru care se construiete baza de
date. Exist ns o serie de aspecte cu caracter general care nu sunt influenate de specificul unui
20
anumit domeniu de activitate sau de caracteristicile unui anumit tip de baze de date. n continuare vor
fi prezentate aceste aspecte generale, aspectele specifice urmnd a fi tratate atunci cnd vor fi tratate
diferite tipuri de baze de date.
Realizarea unei baze de date presupune i folosirea unor metode i tehnici de analiz (tehnica
normalizrii relaiilor, a diagramelor de dependen riguroas etc.), de programare precum i a unor
instrumente de lucru (limbaje de descriere a datelor - LDD, limbaje de manipulare a datelor - LMD
etc.) specifice.
analiza strilor sistemului i a tranziiilor posibile ntre aceste stri, n raport de anumite
evenimente. Aceasta este aa numita analiz temporal (comportamental), prin care se obine
modelul dinamic (sau temporal) al sistemului;
(CADRE_DIDACTICE);
- studeni
(STUDENI);
(PERS.DID.AUX.);
- personal administrativ
(PERS.ADMIN.);
- serviciul administrativ
(SERV.ADMIN.);
- serviciul personal
(SERV.PERS.);
- serviciul contabilitate
(SERV.CONTAB.);
- serviciul social
(SERV.SOCIAL).
Fiecare entitate poate prezenta n cadrul sistemului mai multe instane (realizri). n urma acestei
etape se elaboreaz o prim form a diagramei entitate-asociere, form prezentat n figura
urmtoare.
Componentele unui sistem nu sunt dect arareori izolate, ntre acestea stabilindu-se legturi
(asocieri). Spre exemplu, ntre entitile STUDENI i SERV.SOCIAL exist o asociere, n sensul c
serviciul social pune la dispoziia studenilor locuri de cazare n cmin.
Legturile dintre entiti sunt reprezentate prin arce neorientate, care fac legtura ntre nodurile ce
reprezint entitile participante la asociere.
Semnificaia legturii se exprim printr-un nume acordat legturii i se reprezint cu ajutorul unui
nod etichet n form de romb, plasat ca nod intermediar ntre entiti.
Tipul (forma) legturii se exprim cu ajutorul cardinalitii.
Cardinalitatea unei legturi reprezint numrul minim i numrul maxim de realizri (instane) de
entitate care pot fi asociate cu o realizare a partenerului de asociere. Cardinalitatea se exprim prin
perechi de numere, cte o pereche pentru fiecare entitate din cadrul legturii.
Fig. 2.2. Reprezentarea unei legturi (asocieri) ntre dou entiti cu menionarea semnificaiei i
a cardinalitii
n figura de mai sus este prezentat modul de reprezentare al unei legturi cu menionarea
semnificaiei legturii i a cardinalitii acesteia. Cardinalitatea legturii de mai sus se poate interpreta
astfel:
-
Serviciul social este obligat s asigure, n limita locurilor disponibile n cmine, locuri de
cazare pentru toi studenii care solicit acest lucru chiar dac este vorba doar de un singur
student;
asocieri de tipul unu la unu. Aceasta nseamn c cel puin o realizare a fiecrei entiti
trebuie s participe la asociere.
23
asocieri de tipul unu la muli. n acest caz o realizare a unei entiti are legturi cu mai
multe realizri ale celeilalte entiti care particip la asociere.
asocieri de tipul muli la muli, caz n care mai multe realizri ale unei entiti participante
la legtur se asociez cu mai multe realizri ale celeilalte entiti.
asocieri pariale; la care entitile nu sunt obligate s participe (deci pot avea valoarea minim
a cardinalitii zero);
asocieri totale sau complete; cnd cel puin o realizare a fiecrei entiti trebuie s participe la
sociere.
asocieri complexe; asocieri realizate ntre mai mult de dou entiti distincte.
3. Dup semnificaia lor asocierile se pot clasifica ntr-o multitudine de categorii datorit
semnificaiilor extrem de variate n cadrul unui anumit sistem informatic. n cadrul analizei
structurale este necesar s fie identificate i analizate asocierile dintre entitile aflate pe nivele de
abstractizare diferite, mai precis asocierile de tipul este un i este coninut n.
Asocierile de tipul este un
Entitile puse n eviden n cadrul primei etape de analiz structural pot prezenta diferite grade
de abstractizare, deci se pot plasa pe diferite nivele n cadrul schemei de clasificare a entitilor. n
acest sens exist entiti generice (clase), obinute printr-un proces de generalizare a entitilor cu
anumite caracteristici comune, numite subclase.
De exemplu, membrii unei universiti reprezint o entitate clas, care genereaz entitile
STUDENI i ANGAJAI, ultima genernd, la rndul ei, entitile CADRE DIDACTICE,
PERS.DID.AUXILIAR i PERS.ADMINISTRATIV.
Asocierea de tip este un se prezint ntotdeauna ca o asociere parial de tip unu la unu.
Asocierile de tipul este coninut n
Asocierile de tipul este coninut n exprim un proces de agregare, de grupare a mai multor
entiti ntr-o entitate de nivel superior. Spre deosebire de tipul este un, asocierea este coninut n
este calificat, dup cardinalitate drept asociere de tip unu la muli sau muli la muli, total sau
parial.
24
Atribut compus (bloc). Acesta este un atribut format din cel puin dou alte atribute.
Valoarea sa este reprezentat de valorile atributelor componente. Ex.:
2. Atribut calculat (dedus). Acesta reprezint un atribut a crui valoare nu este cunoscut
direct, ci se calculeaz pe baza valorilor altor atribute (de exemplu, atributul VALOARE,
calculat ca produs ntre CANTITATE i PRE).
3. Atribut simplu; atribut care nu este nici compus i nici calculat. Valorile sale sunt valori
atomice, adic nu mai pot fi descompuse n elemente componente.
4. Atribut repetitiv multivaloare. Acesta este un atribut format din mai multe valori care se
repet de mai multe ori pentru aceeai entitate. De exemplu : entitatea STUDENT poate fi
caracterizat de atributele simple NUME i GRUP precum i de atributul repetitiv
DISCIPLIN, NOT care este identic pentru toate disciplinele audiate de un student.
5. Atribut de identificare (cheie). Reprezint un atribut care se caracterizeaz prin unicitatea
valorii sale pentru fiecare instan a entitii creia i aparine.
Atributele de identificare au un rol aparte n organizarea i manipularea informaiilor din baza de
date. Stabilirea atributelor de identificare pentru entitile din cadrul sistemului informatic analizat
25
necesit examinarea mai nti a capacitii fiecrui atribut de a se constitui drept atribut de
identificare (cheie).
Un atribut poate fi atribut de identificare dac ndeplinete o serie de cerine i anume:
-
este scurt.
Pentru o aceeai entitate pot exista mai multe atribute care pot servi drept atribute de identificare,
adic pot exista mai multe chei candidate.
Selectarea unuia dintre candidaii cheie drept atribut de identificare a entitii (cheie) se realizeaz
astfel:
1. Se determin atributele care potenial pot constitui atribute de identificare a entitii, deci care
respect cerinele menionate anterior i care poart numele de candidai cheie. Dac nu exist
astfel de atribute se introduce un nou atribut (sau grup de atribute) drept candidat cheie.
2. Dac exist un singur candidat cheie, se va selecta acesta drept atribut de identificare a
entitii.
3. Dac exist mai muli candidai cheie, se selecteaz unul, cu ajutorul unor euristici, precum:
- se prefer atributele ale cror valori sunt mai puin volatile;
- se prefer atributele ale cror valori sunt mai scurte.
informatic
Analiza dinamic are drept scop explicarea comportamentului elementelor componente ale
sistemului informatic analizat. n urma acestei analize se obine modelul dinamic al sistemului
analizat.
Construirea modelului dinamic presupune urmtoarele etape:
-
identificarea evenimentelor care determin trecerea unei componente dintr-o stare n alta;
26
Fig. 2.3. Strile unei resurse de producie (utilaj, secie etc.) i tranziiile ntre aceste stri
n figura de mai sus sunt prezentate strile posibile ale unei resurse de producie generice.
Particularizarea acestui model pentru un depozit de materii prime este prezentat n figura urmtoare.
Fig. 2.4. Modelul dinamic al unui depozit de materii prime privit ca resurs de producie
2.2.3. Analiza cerinelor informaionale (analiza funcional a
sistemului)
Analiza cerinelor informaionale are drept scop determinarea transformrilor de date care se
produc n cadrul sistemului informatic analizat, n scopul satisfacerii cerinelor informaionale
aferente acestuia. Transformrile de date (tranzaciile) se vor reprezenta sub forme unei diagrame de
flux a prelucrrilor (modelul funcional), n care nodurile reflect procesele de prelucrare
informaional, iar arcele reflect fluxurile informaionale.
27
identificarea restriciilor;
Perspectiva diferit din care este realizat analiza explic de ce rezultatele obinute pot s difere
fiind necesar o coordonare, deci o integrare a lor.
n cadrul etapei de integrare a modelelor sistemului se stabilete n ce msur modelul structural i
cel dinamic satisfac necesitile diferitelor aplicaii, verificndu-se completitudinea (existena
elementelor informaionale solicitate) i consistena lor (n ce msur componentele modelelor sunt
necesare i suficiente n raport cu procesele de prelucrare). Se verific dac relaiile dintre
componentele sistemului sunt stabilite n mod corespunztor, pentru a face posibil regsirea
informaiilor din mai multe entiti. Se determin, de asemenea, dac legturile dintre entiti asigur
coerena informaiilor, posibilitatea efecturii de actualizri concomitente asupra datelor redundante.
Se urmrete ca toate elementele informaionale participante la diferitele tranzacii s fie asignate,
ca atribute ale diferitelor entiti.
Pe baza acestei analize integrate se efectueaz adugrile i/sau corelrile necesare ntre modelele
sistemului.
n final se ajunge ca modelul structural i cel dinamic s nu mai fie complet independente de
aplicaii, iar modelul funcional s nu mai fie orientat exclusiv pe aplicaii.
ca
punct
de
plecare
facilitile
unui
SGBD,
utilizatorul
proiectarea structurii bazei de date s reprezinte transpunerea modelelor conceptuale n termenii unui
model al datelor suportat de un anumit tip de SGBD (model ierarhic, reea, relaional, orientat obiect
etc.).
Etapa de proiectare a structurii bazei de date const n urmtoarele activiti:
alegerea SGBD-ului care va fi utilizat pentru implementarea i exploatarea
bazei de date;
proiectarea schemei conceptuale a bazei de date;
proiectarea schemei externe (subschemei) a bazei de date;
proiectarea schemei interne (de memorare) a bazei de date.
Deoarece aceste activiti sunt puternic influenate de tipul bazei de date care se proiecteaz, n
continuare sunt prezentate aspectele generale, valabile indiferent de tipul bazei de date proiectate.
Aspectele particulare urmeaz a fi prezentate atunci cnd vor fi prezentate diferite tipuri de baze de
date.
31
eventual o serie de atribute pentru exprimarea legturilor cu celelalte componente ale sistemului real,
atribute cunoscute sub numele de chei externe.
Deoarece nu ntotdeauna exist o coresponden strict ntre entitile din modele semantice i
coleciile de date din schema conceptual a bazei de date i din considerente de ameliorare a lucrului
pe aceste colecii de date se poate decide <spargerea> unei entiti n dou sau mai multe colecii de
date. Acest lucru duce la o cretere a flexibilitii de operare cu coleciile de date respective.
Spargerea unei entiti n dou sau mai multe colecii de date se realizeaz innd seama de
cerinele informaionale ale sistemului i de durata de existen a datelor n cadrul sistemului. Astfel,
datele care sunt solicitate mai des de ctre utilizatori, cele care se modific la intervale reduse de timp
sau cele care, dei nu se modific prea des, sunt solicitate frecvent de ctre programe pentru a genera
alte date (prin calcul sau n alt mod), pot constitui colecii separate de date pentru a reduce timpul
necesar regsirii informaiilor cutate. De exemplu, s considerm entitatea UTILAJE aparinnd
unui model al unei uniti de producie. Un utilaj este caracterizat de urmtoarele: denumire, tip,
numr de inventar, valoare de achiziionare, data achiziiei, durata normat de funcionare, totalul
orelor de funcionare, datele reparaiilor curente planificate etc. Dar nu toate aceste informaii
prezint importan pentru utilizatori la un moment dat. Acetia pot fi interesai, de exemplu, de
caracteristicile generale ale utilajului sau de caracteristicile legate de funcionarea sau ntreinerea
utilajului. Din acest motiv, n cadrul schemei conceptuale a bazei de date pot apare dou sau mai
multe colecii de date referitoare la utilajele de producie i anume: un nomenclator de utilaje, o
colecie de date referitoare la funcionarea utilajelor, o colecie privind reparaiile efectuate sau
planificate.
Un alt motiv pentru care apare necesar descompunerea unei colecii de date n dou sau mai
multe colecii deriv din legturile care apar ntre atributele unei entiti. Aceste legturi conduc la
dependene ntre date datorit crora, la momentul exploatrii bazei de date pot apare o serie de
disfuncionaliti, aa numitele anomalii de actualizare. Se impune deci reducerea la minimum a
dependenelor (condiionrilor) dintre atributele unei colecii de date, lucru realizat, de obicei prin
descompunerea coleciei n dou sau mai multe colecii de date cu un numr mai mic de atribute. Cu
toate acestea, mbuntirea performanelor n manipularea entitilor nu presupune obligatoriu
mrirea numrului coleciilor de date folosite n cadrul schemei conceptuale. Aceasta deoarece nu se
poate admite o cretere nelimitat a numrului de colecii de date, lucru care determin creterea
dificultilor de localizare i accesare a datelor. Legturile ntre un numr mare de colecii de date
impune i creterea redundanei datelor n cadrul bazei de date i deci o utilizare ineficient a
suportului de memorare.
Rezultatele obinute prin prelucrri costisitoare efectuate asupra datelor din baza de date pot fi
memorate folosind colecii de date special introduse, astfel nct aceste rezultate s nu fie recalculate
ori de cte ori sunt solicitate de utilizatori. Este vorba, bineneles de informaii solicitate frecvent de
32
ctre utilizatori. Prin memorarea acestor rezultate crete redundana datelor, dar se evit efectuarea
repetat a unor calcule complicate.
Pentru scurtarea cilor de acces la date se mai admite un tip de redundan, i anume cea care
apare datorit includerii unor atribute, simultan n mai multe colecii ale bazei de date.
n continuare este prezentat un exemplu referitor la drepturile profesorilor care lucreaz ntr-un
liceu. Se pot forma dou colecii de date, una cu informaiile privind:
numele angajatului;
salariul de baz;
vechimea;
numrul de ore suplimentare;
numrul de ore de dirigenie etc.
informaii care au un grad ridicat de stabilitate, i alta cu informaii privind:
numele angajatului;
salariul de baz;
sporul de vechime;
numrul de zile lucrate;
numrul zilelor de concediu medical i de odihn;
numrul de ore suplinite;
suma pentru orele suplinite;
restane de plat;
suma dedus pentru pensie suplimentar i omaj;
impozitul pe salariu;
chirii;
alte reineri;
avans;
restul de plat la lichidare;
informaii care trebuiesc adugate n baza de date lunar, fie din exterior, fie prin
calculul acestora prin program.
Determinarea legturilor dintre coleciile de date i a modului de reprezentare a acestora
Aceasta se realizeaz, n principiu, pe baza legturilor dintre entitile identificate n cadrul etapei
de analiz a sistemului i a cerinelor informaionale. Este necesar s se determine, de asemenea i
33
legturile dintre coleciile care nu au un corespondent direct n entitile care compun sistemul, dar
care la rndul lor se afl n asociere, unele cu altele.
Modul de reprezentare a legturilor dintre coleciile de date depinde de modelul datelor suportatde
SGBD. Astfel, modelul ierarhic i cel reea utilizeaz pointeri (adrese de legtur) pentru nlnuirea
datelor n cadrul diferitelor colecii.
Modelul relaional reprezint legturile dintre coleciile de date (relaii) cu ajutorul cheilor externe
sau cu ajutorul unor coleci de date distincte. Aceast reprezentare uniform a datelor i a asocierilor
ntre date prin intermediul relaiilor constituie o caracteristic a modelului relaional, care confer
acestuia o mare simplitate i flexibilitate.
n baza de
date
Descrierea schemei conceptuale a bazei de date se realizeaz n limbajul de descriere a datelor
de care dispune SGBD-ul folosit. Rezultatul acestei descrieri l constituie proiectul bazei de date sau
schema bazei de date.
Compilatorul limbajului de descriere a datelor permite aducerea schemei bazei de date n forma la
care aceasta s poat fi memorat n baza de date.
2.3.3. Proiectarea schemei externe
34
Schema extern a bazei de date reprezint forma sub care apare schema conceptual pentru
utilizatori. Ea este format din multitudinea viziunilor (vederilor) utilizator. O vedere utilizator
reprezint acea parte din schema conceptual pe care o poate vedea un anumit utilizator.
Programele de aplicaie opereaz asupra schemei conceptuale prin intermediul schemei externe,
avnd acces doar la acele elemente care sunt incluse n schema extern.
Folosirea vederilor reprezint mecanismul prin care sunt satisfcute cererile de informaii ale
utilizatorilor (deoarece un utilizator nu este interesat de toate informaiile stocate n baza de date)
asigurnd totodat i protecia datelor contra accesului neautorizat la date (folosind vederile se
limiteaz accesul fiecrui utilizator doar la acele date care i sunt necesare).
2.3.4. Proiectarea schemei interne
Schema intern reprezint modul n care sunt memorate datele pe suport fizic. Schema conceptual
folosete diferite structuri de date: liniar, arborescent, reea, relaional n timp ce memorarea
datelor pe suport fizic se poate face numai sub forma unei structuri linare. Din aceast cauz, la
proiectarea schemei interne a bazei de date se pune problema modului n care s fie liniarizat
schema conceptual.
Metoda de liniarizare a schemei conceptuale depinde de SGBD-ul folosit. Exist astfel SGBD-uri
care fac apel la metodele de memorare ale datelor pe suportul fizic de memorare pe care le folosesc i
sistemele de operare gazd i SGBD-uri care utilizeaz metode proprii de stocare a datelor pe
suportul fizic. Aceste SGBD-uri depind mai puin de sistemul de operare gazd, ceea ce le ofer o
portabilitate sporit, comparativ cu SGBD-urile din prima categorie.
35
ntreinerea bazei de date este o activitate complex care are ca scop actualizarea datelor din baza
de date, recuperarea datelor pierdute accidental, reproiectarea structurii bazei de date i orice alte
activiti necesare meninerii funcionalitii bazei de date. ntreinerea bazei de date este realizat n
principal de ctre administratorul acesteia.
37
datelor,
cu
bun
fundamentare
teoretic.
39
Pentru a defini structura relaional a datelor trebuie s definim noiunile de: domeniu, relaie,
atribut i schem a unei relaii.
3.2.1. Domeniu
Domeniul reprezint un ansamblu de valori, caracterizat printr-un nume. Un
domeniu se poate defini explicit, prin enumerarea tuturor valorilor aparinnd
acestuia sau implicit, prin precizarea proprietilor pe care le au valorile
domeniului respectiv.
Spre exemplu s consider urmtoarele domenii D1, D2, D3, definite astfel:
D1 : {F,M}
D2 : { x | x N , x 0,100 }
D3 : {s | s = ir de caractere }
Domeniul D1 este definit explicit n timp ce domeniile D2 i D3 sunt definite
implicit.
Pentru un ansamblu de domenii D1, D2, ..., Dn produsul cartezian al acestora
reprezint ansamblul tuplurilor <v1, v2, ..., vn>, unde vi este o valoare
aparinnd domeniului Di. De exemplu, tuplurile <Maria, F, 45>, <Vasile,
M, 24> aparin produsului cartezian: D3xD1xD2.
3.2.2. Relaie
Relaia reprezint un subansamblu al produsului cartezian al mai multor domenii, subansamblu
caracterizat printr-un nume i care conine doar tupluri cu semnificaie. Considernd, de exemplu c
pentru produsul cartezian definit mai sus se cunosc doar dou persoane, definim relaia R prin
tuplurile care descriu aceste persoane:
R : {<Maria, F, 20>, <Vasile, M, 22>}
ntr-o relaie, tuplurile trebuie s fie distincte ( nu se admit duplicri ale tuplurilor ).
O reprezentare comod a relaiei este tabelul bidimensional (tabela de date), n care liniile
reprezint tuplurile, iar coloanele corespund domeniilor (vezi figura).
40
R:
D3
Maria
Vasile
D1
F
M
D2
20
22
n prezentarea conceptului de relaie se poate recurge la analogii cu alte concepte, extrem de bine
cunoscute n domeniul prelucrrii automate a datelor, precum este conceptul de fiier. Relaia poate
avea semnificaia unui fiier, tuplul poate fi considerat drept o nregistrare, iar valorile din cadrul
tuplului pot fi interpretate drept valori ale cmpurilor nregistrrii.
n cadrul modelului relaional nu intereseaz dect relaiile finite, chiar dac la construirea
relaiilor se admit domenii infinite. Numrul tuplurilor dintr-o relaie reprezint cardinalul relaiei, n
timp ce numrul valorilor dintr-un tuplu definete gradul relaiei.
3.2.3. Atribut
Atributul reprezint coloana unei tabele de date, caracterizat printr-un nume. Numele coloanei
(atributului) exprim de obicei semnificaia valorilor din cadrul coloanei respective.
Atributele se folosesc pentru a conferi flexibilitate datelor. Pentru a nelege aceast problem vom
considera urmtorul exemplu. S presupunem c pentru o persoan dispunem de urmtoarele date:
nume, sex, vrst i numele soului/soiei.
O posibilitate de organizare a acestor date este reprezentat de relaia din figura urmtoare.
PERS:
D3
Maria
Vasile
D1
F
M
D2
30
32
D3
Vasile
Maria
41
Pentru a diferenia coloanele care conin valori ale aceluiai domeniu i a elimina astfel
dependena de poziie n cadrul tabelei se asociaz fiecrei coloane un nume distinct, lucru care a dus
la apariia noiunii de atribut.
Prin folosirea atributelor, relaia PERS poate fi prezentat ntr-unul din modurile menionate mai
jos.
PERS:
Nume
(D3)
Sex
(D1)
Vrsta
(D2)
Sot(D3)
PERS:
Nume(D3)
Sot(D3)
Sex
(D1)
Vrsta
(D2)
Mari
30
Vas
Maria
Vasil
30
a
Vasil
32
ile
Ma
Vasile
e
Mari
32
ria
A2:D2
An:Dm
..
n continuare sunt prezentate principalele operaii ale algebrei relaionale, precum i modul lor de
utilizare.
1. Reuniunea. Reprezint o operaie a algebrei relaionale definit pe dou relaii: R1 i R2,
ambele cu aceeai schem, operaie care const din construirea unei noi relaii R3, cu o schem
identic cu R1 i R2 i avnd drept extensie tuplurile din R1 i R2, luate mpreun o singur dat.
Reuniunea se noteaz uzual cu:
OR (R1,R2)
APPEND (R1,R2)
UNION (R1,R2)
n figura urmtoare este prezentat un exemplu de reuniune a dou relaii ORAE i MUNICIPII,
formnd astfel o a treia relaie, LOCALITI.
44
3. Produs cartezian. Reprezint o operaie a algebrei relaionale definit pe dou relaii: R1 i R2,
operaie care const din construirea unei noi relaii R3, a crei schem se obine prin concatenarea
schemelor relaiilor R1 i R2 i a crei extensie cuprinde toate combinaiile tuplurilor din R1 cu cele
din R3.
Notaiile uzuale pentru desemnarea operaiei sunt:
R1 x R2
PRODUCT (R1,R2)
TIMES (R1,R2)
n continuare este prezentat un exemplu de produs cartezian a dou relaii.
45
n figura de mai sus este prezentat proiecia relaiei ORAE pe atributul JUDE.
5. Selecia reprezint o operaie din algebra relaional definit asupra unei relaii R, operaie care
const din construirea unei relaii S, a crei schem este identic cu cea a relaiei R i a crei extensie
este constituit din acele tupluri din R care satisfac o condiie menionat explicit n cadrul operaiei.
ntruct cel mai adesea, nu toate tuplurile din R satisfac aceast condiie, selecia nseamn efectuarea
unor tieturi orizontale asupra relaiei R, adic eliminarea de tupluri.
Condiia precizat n cadrul operaiei de selecie este n general de forma:
atribut
operator de comparaie
valoare
46
unde: <operator de comparaie> poate fi: <, <=, >=, > sau #.
Notaiile folosite pentru desemnarea operaiei de selecie sunt urmtoarele:
conditie (R )
R [condiie]
RESTRICT(R, condiie).
6. Jonciunea (Joinul) reprezint o operaie din algebra relaional definit pe dou relaii: R1 i
R2, operaie care const din construirea unei noi relaii R3, prin concatenarea unor tupluri din R1 cu
tupluri din R2. Se concateneaz acele tupluri din R1 i R2 care satisfac o anumit condiie, specificat
explicit n cadrul operaiei. Extensia relaiei R3 va conine deci combinaiile acelor tupluri care
satisfac condiia de concatenare.
Notaiile uzuale pentru desemnarea operaiei de jonciune sunt:
R1
R2
condiie
JOIN (R1, R2, condiie)
7. Intersecia reprezint o operaie din AR definit pe dou relaii: R1 i R2, ambele cu aceeai
schem, operaie care const din construirea unei noi relaii R3, cu schema identic cu a relaiilor R1
i R2 i cu extensia format din tuplurile comune lui R1 i R2.
Notaiile uzuale pentru operaia de intersecie sunt:
R1 R 2
Rr
DIVISION(R,r).
totalitatea atributelor din schema relaiei respective. Cnd cheia este constituit
dintr-un singur atribut poart numele de cheie simpl, iar atunci cnd este
format din mai multe atribute este denumit cheie compus.
ntr-o relaie pot exista mai multe combinaii de atribute cu proprietatea de
identificare unic a tuplurilor. Se spune n acest caz c relaia posed mai muli
candidai cheie (sau mai multe chei candidate). n aceast situaie,
administratorul bazei de date va alege dintre cheile candidate una care s
serveasc n mod efectiv la identificarea tuplurilor i care va primi numele de
cheie primar. Restul cheilor candidate vor purta numele de chei alternate.
Cheia unei relaii trebuie s fie minimal, adic nici o parte a sa nu trebuie s fie
la rndul ei cheie. Un grup de atribute din cadrul unei relaii care conine o cheie
a relaiei poart numele de supercheie.
Modelarea asocierilor dintre entiti impune recurgerea la conceptul de cheie
extern. O cheie extern reprezint un atribut/grup de atribute dintr-o relaie R1
ale crui/cror valori sunt definite pe acelai/aceleai domeniu/domenii ca i
cheia primar a unei relaii, R2 i care are rolul de a modela asocierea ntre
entitile reprezentate prin relaiile R1 i R2. n acest context, R1 este denumit
relaie care refer, n timp ce R2 poart numele de relaie referit.
Restricia de unicitate a cheii reprezint restricia de integritate care impune ca ntr-o relaie, R
care are cheia K, oricare ar fi tuplurile t 1 i t2 s fie satisfcut inegalitatea: t1 (K) # t2 (K). Aceast
inegalitate semnific faptul c ntr-o relaie nu pot exista dou tupluri cu aceeai valoare pentru
atributele cheie.
Restricia referenial (integritatea referirii) reprezint restricia de integritate care impune ca
ntr-o relaie R1 care refer o relaie R2, valorile cheii externe s figureze printre valorile cheii
primare din relaia R2 sau s fie valori nedefinite (null). R1 i R2 nu trebuie s fie neaprat
distincte. Semnificaia restriciei de integritate a referirii este urmtoarea : o asociere nu poate exista
dect ntre entiti deja definite. Atunci cnd, ntr-o anumit situaie, asocierea nu este aplicabil, unul
din parteneri va fi desemnat prin valoarea null, cu semnificaia de partener inexistent.
Restricia entitii (integritatea entitii) reprezint restricia de integritate care impune ca ntr-o
relaie atributele cheii primare s fie nenule. Unicitatea cheii impune ca la ncrcarea unui tuplu,
valoarea cheii s fie cunoscut, pentru a se putea verifica faptul c aceast valoare nu exist deja
ncrcat (tuplul nu figureaz deja n baza de date). Cu valori <null>, cheia i pierde rolul de
identificator de tuplu. Restricia de integritate a entitii nu se aplic cheilor externe dintr-o relaie,
dac acestea nu aparin cheii primare.
Restriciile referitoare la dependena datelor semnific modul n care datele depind unele de altele.
Aceast dependen ntre date poate fi de mai multe tipuri i anume:
49
dependen funcional; reprezint dependena ntre date prin care se poate identifica un
atribut/grup de atribute prin intermediul altui atribut/grup de atribute. Fiind dat o relaie
R, un atribut Y din R este dependent funcional de un alt atribut X din R, dac i numai
dac fiecare valoare a lui X are asociat o valoare precis a lui Y.
dependen jociune; aceast restricie exprim o dependen ntre date mai general dect
dependena funcional sau dependena multivaloare. Considernd o relaie R, cu schema
R(X:Dx,Y:Dy,Z:Dz) pentru care nu se manifest dependene funcionale sau dependene
multivaloare, adic relaia R se poate asimila unei chei compuse. Asupra acestei relaii se
formuleaz urmtoarea restricie: dac n relaia R figureaz tuplurile, i atunci n R
trebuie s figureze i tuplul .
O relaie R este n forma normal doi, FN2, dac este n FN1 i oricare dintre
atributele noncheie este dependent funcional complet de cheia primar a
relaiei.
O relaie R este n forma normal trei, FN3, dac este n FN2 i atributele
noncheie nu sunt dependente tranzitiv de cheia primar a relaiei.
Relaia R este n forma normal patru, FN4, dac este n FN3 i n cadrul ei nu
se manifest mai mult de o dependen multivaloare.
Spunem c relaia R este n forma normal cinci, FN5, dac fiecare
dependen jonciune este implicat printr-un candidat cheie al lui R.
Etapele procesului de proiectare a schemei conceptuale
Proiectare schemei conceptuale a unei baze de date relaionale presupune parcurgerea urmtoarelor
etape:
1. Determinarea formei normale n care trebuie s se afle relaiile din baza de
date (a nivelului de perfeciune impus schemei conceptuale). Relaiile
aflate n forme normale superioare determin apariia unui numr redus de
anomali n lucrul cu baza de date, comparativ cu relaiile nenormalizate
sau aflate n primele forme normale, dar conduc todat la creterea
timpului de acces la date. Aceasta deoarece relaiile aflate n forme
normale superioare conin, de regul, un numr mai mic de atribute, lucru
care impune creterea numrului de relaii din baza de date, deci
interogarea simultan a mai multor relaii pentru a gsi anumite informaii.
limbaj
relaional
pentru
manipularea
datelor
(interogare
actualizare);
mecanisme pentru controlul integritii semantice a datelor;
mecanisme pentru asigurarea coerenei datelor n condiiile accesului
concurent la date i apariiei unor avarii;
mecanisme pentru optimizarea cererilor de date;
utilitare pentru prezentarea rezultatelor, de tipul generatoarelor de
rapoarte, utilitare pentru generarea de aplicaii, pentru generarea de
statistici despre starea i activitatea bazei de date.
Dintre SGBD-urile relaionale mai cunoscute putem meniona: INGRES, ORACLE, DB2,
FOCUS, SQL\DS .a. care lucreaz sub sistemele de operare VMS i UNIX. Pentru calculatoarele
compatibile IBM-PC avem dBase IV, FoxPro, Paradox .a.
fiecrui nod al arborelui i corespunde un tip de nregistrare, format din unul sau mai multe cmpuri,
reprezentnd atribute ce descriu entiti. Descrierea unei structuri ierarhice se poate face utiliznd
diagrame de structur.
Fie un (sub)arbore T cu rdcina R i subarborii S 1, S2, ..., Sn n aceast ordine. Fie t o realizare a
lui T, cu rdcina r (o realizare a lui R) i subarborii s 1, s2, ..., sn, realizri ale S1, S2, ..., Sn. Se
definete recursiv secvena ierarhic (ordonarea) pentru t, ca fiind secvena obinut alturnd
nregistrrii r, toate nregistrrile lui s1, s2, ..., sn, luate n ierarhia lor.
Fiecare arbore individual din baza de date poate fi privit ca un subarbore al unei nregistrri
rdcin iniiale. Deci baza de date poate fi considerat ca un singur arbore. Noiunea de secven
ierarhic definete o ordonare total pe mulimea tuturor nregistrrilor din baza de date.
58
Se observ c ntr-o realizare un nod copil poate apare de 0, 1 sau n ori, n timp ce n diagrama de
structur, tipul de nregistrare corespunztor apare o singur dat.
Totodat, dac n COMENZI nu exist realizri care s se refere la un produs T, nu vor exista
informaii despre acest produs n PRODUSE. Deci informaiile despre produse vor putea fi stocate n
baza de date a firmei, numai dac exist comenzi pentru acele produse.
Exist mai multe sisteme de gestiune a bazelor de date ierarhice, cel mai rspndit fiind IMS/VS
(Information Management System/Virtual Storage) i este implementat pe calculatoarele IBM, sub
sistemul de operare MVS. SGBD-urile ierarhice sunt realizate pentru calculatoare de mare capacitate
neexistnd un asemenea SGBD comercial pentru calculatoare compatibile IBM-PC.
Modelul reea impune restricia conform creia o nregistrare nu poate fi membr a dou realizri
ale aceluiai tip set. Totui, o nregistrare poate s aparin mai multor tipuri set.
n modelul reea, toate seturile sunt implementate prin pointeri. Uzual, se creaz o list nlnuit
unde realizarea proprietar este capul listei. Proprietarul are legtur cu primul membru, care se leag
de al doilea i aa mai departe pn la ultimul membru. Ultimul membru face legtur cu proprietarul,
formnd un lan. O nregistrare membru a unui set poate avea trei pointeri:
- spre nregistrarea urmroare (next);
- spre nregistrarea anterioar (prior);
- spre proprietar (owner).
Modelul reea prezint o serie de dezavantaje cum ar fi:
modelul reea este complicat;
structura reea tinde s fragmenteze informaiile;
cea mai mare parte a optimizrii sistemului se face mai mult manual dect aplicnd
programe de optimizare;
conceptul de indicator de poziie este o surs de complexitate i de erori.
Cu toate acestea, n practic, SGBD-urile reea continu s fie folosite datorit performanelor
bune obinute n prelucrarea explicit la nivel de nregistrri. SGBD-urile reea folosesc limbaje de
descriere a datelor (LDD) pentru a defini baza de date i limbaje de manipulare a datelor (LMD)
pentru a satisface cererile de date.
acestea fiind necesar stocarea i a altor informaii privind materialele folosite, maini i utilaje
disponibile, rezultate ale verificrilor efectuate asupra proiectului etc.
Un alt domeniu al informaticii care necesit structuri de date complexe este multimedia. Acest
domeniu, spre care exist o orientare tot mai puternic, presupune integrarea imaginilor reale sau
sintetizate cu sunet i muzic, integrare ce nu mai permite folosirea datelor numerice sau de tip ir de
caractere.
O modalitate de rezolvare a acestor probleme este dat i de tehnologia aplicaiilor orientate pe
obiecte.
Bazele de date orientate pe obiecte permit crearea de obiecte complexe din componente mai
simple, fiecare avnd propriile atribute i propriul comportament. Domeniile care se preteaz n mod
deosebit la o tratare orientat pe obiecte sunt:
proiectare (CAD), fabricare (CAM) i inginerie (CAE) asistate de calculator;
simulare i modelare;
sisteme informaionale spaiale (GIS);
administrarea documentelor i automatizarea muncii de birou;
multimedia;
ingineria cunoaterii: baze de cunotine, sisteme expert;
controlul proceselor n timp real, pe baz de evenimente.
Obiectivele principale ale sistemelor de gestiune orientate pe obiecte sunt:
Puterea de modelare superioar a datelor.
Posibiliti de deducie superioar (ierarhie de clase, motenire);
Ameliorarea interfeei cu utilizatorul;
Luarea
considerare
aspectelor
dinamice,
integrarea
descrierii
structurale
comportamentale a obiectelor.
63
64
Persistena
Aceasta este o proprietate a datelor sau a obiectelor care implic existena mai ndelungat a
acestora fa de procesul care le-a creat. Este proprietatea prin care starea bazei de date asigur
pstrarea unui proces pentru a fi refolosit ulterior n alt proces.
Codul aferent metodelor, fiind parte integrant din obiect, este stocat, ca i starea obiectului, n
baza de date. Aceasta nseamn c, odat ce a fost descris, o metod devine permanent,
decongestionnd astfel aplicaia i asigurndu-i independena fa de date. O modificare adus unei
metode devine imediat operant i persist pn la o nou modificare.
Tipuri i clase
Obiectele care au acelai fel de atribute i acelai comportament pot fi categorisite ca fcnd parte
din acelai tip sau din aceeai clas.
ntr-un sistem orientat pe obiecte, tipul sintetizeaz elementele comune ale
unui set de obiecte cu aceleai caracteristici. Corespunde noiunii de tip abstract
de date i are dou componente:
interfaa;
implementarea.
Noiunea de clas, dei are aceeai specificaie cu cea de tip, este diferit de
acesta, fiind mai mult asociat cu faza de execuie i presupune dou aspecte:
generarea de obiecte;
stocarea setului de obiecte care reprezint instanele clasei.
O clas are o descriere ce const dintr-un set de structuri de date comune,
cunoscute ca variabile de instan, un protocol comun ce const dintr-un set de
mesaje, la care instanele clasei vor rspunde i un set de metode pentru
implementarea de operaii comune.
Clasele sunt referite uneori ca tip de date abstracte. Descrierea clasei servete ca ablon dup care
vor fi create noile obiecte. O clas este deci un tip abstract de date care definete att structura
obiectelor din clasa respectiv, ct i mulimea metodelor existente pentru aceste obiecte. Ca urmare,
obiectele din aceeai clas au aceleai atribute i aceleai metode i rspund la aceleai mesaje.
Clasele sunt organizate ierarhic fiecare clas nou creat trebuind s fie
obinut din alt clas deja existent. Dac nu exist nici o clas potrivit pentru
65
(metaclas).
Orice
subclas
motenete
structurile
metodele
superclasei din care face parte. O clas poate crea noi instane ale obiectelor.
Motenire
ntr-o baz de date orientate pe obiecte, clasele sunt aranjate ntr-o ierarhie n care fiecare clas
motenete toate atributele i metodele superclasei din care face parte. Motenirea este un concept
puternic, care conduce la posibilitatea de reutilizare a codului.
Prin motenire, o clas preia toate atributele i metodele clasei din care deriv adugnd la ele
atributele i metodele proprii. Este de asemenea posibil ca o clas s aib mai mult dect o superclas.
Acest lucru este cunoscut ca motenire multipl.
Polimorfism
Polimorfismul se refer la faptul c, la primirea unui mesaj, stabilirea metodei care se aplic se
face n mod dinamic, n funcie de clasa obiectului n cauz. Astfel, instane ale unor clase diferite pot
fi adresate uniform (primesc aceleai mesaje), dar manifest comportamente diferite. Acest fapt
asigur manipularea simpl i coerent a seturilor eterogene de obiecte.
Un alt tip de comportament polimorfic este asociat cu motenirea. Rspunsul unui obiect la un
mesaj poate fi determinat de metodele motenite de la superclas. Motenirea multipl permite
definirea unor forme complexe de comportament polimorfic care pot antrena uneori combinarea
metodelor de la dou sau mai multe superclase.
Identitatea
Identitatea este un mijloc de a distinge un obiect de altul. Prin identitate se asigur i persistena
datelor.
Oricare din obiectele unei baze de date orientate pe obiecte are identitate care este independent de
valorile atributelor sale. Spre deosebire de modelul relaional, care utilizeaz unicitatea cheii primare
pentru a identifica obiectul, tehnologia orientat pe obiecte permite modificarea valorilor oricrui
atribut fr a-i afecta identitatea. Mai mult chiar, obiectele au contiina de sine, adic se pot referi
pe ele nsele prin intermediul pointerului SELF.
Fiecare instan sau realizare a obiectului are un identificator de obiect intern,
repartizat lui i cunoscut ca ID obiect sau pointer. Acesta este independent de
66
67
69
Redundana datelor reduce efortul de regsire a datelor dar crete efortul de actualizare. Evaluarea
unui grad optim al redundanei trebuie s in seama de raportul ntre accesele de regsire i accesele
de actualizare a datelor.
-
71
Creterea adaptabilitii sistemului. n orice moment baza de date poate fi extins prin
adugarea de noi structuri de baze de date, cu un impact minim asupra structurii bazei de
date distribuite i fr a afecta aplicaiile existente. n cazul sistemelor centralizate,
dimensiunile iniiale ale sistemului trebuie s prevad viitoarele expansiuni, lucru greu de
realizat i costisitor de implementat.
Sporirea performanelor sistemului deoarece partajarea i replicarea datelor ca i
existena mai multor procesoare au ca rezultat creterea gradului de paralelism n
executarea aplicaiilor.
Creterea siguranei sistemului. Sistemul distribuit este proiectat astfel nct cderea unei
staii nu afecteaz ntregul sistem.
Disponibilitatea sporit a datelor asigurat de replicarea lor. Chiar dac o staie cade,
datele sunt nc disponibile prin copiile memorate pe alte staii.
74
(ROLLBACK)
care
presupune
anularea
derularea
nainte
tranzaciilor
completate
dar
nereflectate
baza
de
date
76
78
n cadrul acestor proceduri vor fi specificate explicit operaiile ce trebuie efectuate asupra datelor.
Utilizatorului i se va acorda dreptul de execuie a acestor proceduri i i se va interzice accesul direct
la obiectele bazei de date gestionate de procedur.
4. Criptarea datelor este operaia de codifcare a datelor n timpul stocrii
sau al transportului, astfel nct descifrarea lor s poat fi fcut numai de
posesorii de cod.
La nivelul SGBD aceast facilitate poate mbrca dou forme:
existena unor rutine speciale care realizeaz criptarea datelor la cerere sau automat;
existena unor instrumente de criptare care permit utilizatorului s-i realizeze propriile
rutine de criptare.
Procesul efectiv de criptare presupune folosirea unui sistem de cifrare, ale crui componente sunt:
1. Algoritmul de criptare - realizeaz transformarea datelor din forma
iniial n forma criptat (cifrat).
2. Cheia de criptare - valoare ce constituie o intrare a algoritmului de
criptare, aleas dintr-o mulime de chei posibile.
3. Algoritmul de decriptare - realizeaz transformarea datelor din forma
criptat n forma iniial.
4. Cheia de decriptare - valoare ce constituie o intrare n algoritmul de
decriptare, dependent de cheia de criptare.
79