Curs Bd Lungu,botha [611045]
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
1
BAZE DE DATE
Autori : Prof.univ.dr. LUNGU Ion
Asist.univ.drd. BOTHA Iuliana
CUPRINS
Unitatea de înv ățare 1: ORGANIZAREA DATELOR ÎN MEMORIA EXTERN Ă
Unitatea de înv ățare 2: BAZE DE DATE – NO ȚIUNI FUNDAMENTALE
Unitatea de înv ățare 3: BAZE DE DATE RELA ȚIONALE (BDR)
Unitatea de înv ățare 4: METODOLOGIA DE REALIZARE A BAZELOR DE DATE
Unitatea de înv ățare 5: BAZE DE DATE ORIENTATE OBIECT ( BDOO)
Introducere
Cursul de Baze de date se adreseaz ă studenților înscri și la programul de studiu
ID, organizat de facultatea de Cibernetic ă, Statistică și Informatic ă Economic ă și
face parte din planul de înv ățământ aferent sec ției de Informatic ă Economic ă,
anul 2, semestrul 1.
OBIECTIVUL GENERAL al cursului de Baze de date vizează pregătirea
studenților în domeniul proiect ării bazelor de date și al utiliz ării acestora în
diferite domenii economico-sociale.
OBIECTIVELE SPECIFICE PRINCIPALE ale acestui curs, concretizate în
competen țele dobândite dup ă parcurgerea și asimilarea lui sunt urm ătoarele:
familiarizarea cu posibilit ățile de utilizare ale bazelor de date indiferent
de tipul acestora;
dobândirea abilit ății de a proiecta baze de date rela ționale;
familiarizarea cu principalele caracteristici ale bazelor de date orientate
obiect.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
2Pentru o bun ă înțelegere a no țiunilor teoretice și practice prezentate în acest
curs, este necesar ă parcurgerea anterioar ă a disciplinelor Structuri de date,
Programarea calculatoarelor, Sisteme de operare .
Cursul de Baze de date este structurat în 5 unități de învățare (capitole), fiecare
dintre acestea cuprinzând câte o lucrare de verificare, care va fi transmis ă
tutorelui alocat, precum și într-un num ăr de 14 laboratoare (activit ăți asistate) la
care prezen ța va fi obligatorie.
Pentru ca procesul de instruire s ă se desfășoare într-un mod riguros, dar și
atractiv, se poate utiliza un set de resurse suplimentare în format multimedia.
EVALUAREA CUNO ȘTINȚELOR , respectiv stabilirea notei finale, se va
realiza în felul urm ător:
• evaluarea final ă – 50%
• evaluarea continu ă – testele de la sfâr șitul fiecărei unități de învățare,
precum și un proiect la seminar – 50%
Notă. Structura obligatorie pentru proiect va fi:
– 1 pagina care s ă conțină: Tema, Descrierea problemei, Schema
conceptual ă a BD;
– comenzi SQL, care s ă acopere întreaga materie parcurs ă.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
3Unitatea de înv ățare 1:
ORGANIZAREA DATELOR ÎN MEMORIA EXTERN Ă
Cuprins
1.1. Obiective
1.2. Evolu ția organiz ării datelor
1.3. Organizarea datelor în fi șiere
1.4. Modele de structurare a datelor în baze de date 1.5. Protec ția bazelor de date
1.6. Rezumat
1.7. Teste de autoevaluare
1.8. Răspunsuri și comentarii la testele de autoevaluare
1.9. Bibliografia unit ății de învățare 1
1.1. Obiective
După studiul acestei unit ăți de învățare vei avea cuno ștințe despre:
Durata medie a unei unit ăți de studiu individual – 4 ore
¾ necesitatea organiz ării datelor în memoria extern ă, comparativ cu memoria
internă;
¾ evoluția organiz ării datelor pornind de la fi șiere (primul mod de organizare
a datelor în memoria extern ă) și ajungându-se la ultimele tipuri de baze de
date, cele orientate obiect;
¾ noțiunea de fi șier și cele mai importante aspecte de organizare a datelor:
operații, structura, modul de organizare, modul de acces;
¾ organizarea datelor în baze de date conform modelelor logice de date
fundamentale: ierarhic, re țea, relațional, orientat obiect;
¾ protecția bazelor de date, tratat ă prin cele dou ă aspecte ale sale:
securitatea, integritatea.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
41.2. Evolu ția organiz ării datelor
o Organizarea datelor înseamnă definirea și structurarea datelor în
memoria intern ă sau în memoria extern ă (în colecții) și stabilirea
legăturilor între date, conform unui model de date.
o Sintetizând, evoluția organizării datelor în memoria extern ă a avut în
vedere câteva aspecte
Aspecte
Etape(1) Mod de
organizare
a datelor (2) Structura de
date
(3) Mod de
prelucrare
(4) Redundan ță
(5) Software utilizat
(6)
1. Înainte de
1965 Fișiere
secvențiale Logică
coincide cu
fizică Pe loturi
(batch) Mare,
necontrolat Operații simple
de I/E (limaje
asamblare și
universal)
2. Anii ‘60 Fișiere
secvențiale,
indexate,
directe Logică și
fizică Loturi, on-
line Mare,
necontrolat Chei simple de
acces (limbaje
universale)
3. Anii ‘70 Baze de date
arborescente,
rețea Logică,
fizică,
conceptual ă Loturi,
conversați-
onal Scade,
controlat Chei multiple de
acces, leg ături
între date,
protecția
(SGBD)
4. Sfărșitul
anilor ’70
până acum Baze de date
relaționale Logică,
fizică,
conceptual ă Conversa ți-
onal,
interactiv Mică,
controlat Limbaje de
regăsire,
protecție,
concurență
(SGBD)
5. Sfârșitul
anilor ’80
până acum Baze de date
orientate
obiect Logică,
fizică,
conceptual ă Interactiv Minimă,
controlat Limbaje din
programarea OO
(SGBD)
Notă. Necesitatea organizării datelor în memoria extern ă rezultă analizând câteva criterii de
comparație dintre memoria intern ă și cea extern ă:
CRITERIU MEM. INTERN Ă MEM. EXTERN Ă
Cost Mare Mic
Viteză Mare Mic ă
Capacitate(volum date) Mic ă Mare
Persistență Nu Da
Organizare date Variabile, constante,
masive, pointeri etc. Fișiere, baze de date
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
51.3. Organizarea datelor în fi șiere
o Fisierul este o colec ție organizat ă de date unite dup ă criterii
comune calitative, de prelucrare și scop.
o Toate limbajele de programare universale lucreaz ă cu aceast ă
noțiune, pentru organizarea datelor în memoria extern ă. Sistemele
de bază de date lucreaz ă cu aceast ă noțiune și în plus o dezvolt ă în
noțiunea de baz ă de date.
Prezentăm, în continuare, câteva no țiuni fumdamentale utilizate în organizarea datelor în
fișiere. De aceste no țiuni se ține seama și la baze de date.
1. Caracteristici ale unui fi șier:
− actualizarea se referă la trei opera ții : adaugarea, modificarea, ștergerea de înregistr ări;
− natura datelor din fi șier trebuie s ă fie omogen ă (să se refere la aceea și entitate din
lumea real ă);
− prelucrarea datelor din fi șier se refer ă la tipul și frecvența operațiilor efectuate pe
înregistrări;
− volumul de date din fi șier (se măsoară în număr de octeți).
2. Structura unui fișier:
− partea de identificare este dată de etichetele plasate la începutul și sfârșitul fișierului;
− partea de date este colec ția omogen ă de date ce apar țin aceleași entități din lumea
reală structurat ă astfel:
fișier înregistr ări câmpuri valori.
3. Modul de organizare
reprezint ă modul de dispunere a înregistr ărilor pe suportul fizic și
presupune reguli de memorare a datelor.
Categorii de moduri de organizare a fi șierelor:
a) Standard
− Este cea mai veche și există pe toate tipurile de calculatoare.
− Înregistrarea este format ă dintr-un șir de caractere dispus pe o linie acceptat ă de
periferic.
− Toate limbajele recunosc fi șiere standard de intrare și ieșire.
b) Clasică (elementar ă)
− Organizarea se face pe medii magnetice sau optice.
− Tipuri:
¾ SECVEN ȚIALĂ
Înregistrările sunt dispuse în fi șier una dup ă alta fără nici o ordine
prestabilit ă.
Localizarea unei înregistr ări se face prin parcurgerea tuturor
înregistrărilor anterioare ei (secven țial).
Toate sistemele de operare și limbajele de programare accept ă
organizarea secven țială.
¾ RELATIV Ă
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
6 Înregistrările sunt dispuse în fi șier una dup ă alta și numerotate (de
către sistem) de la 0 sau 1 la câte sunt (num ăr de realizare).
Localizarea unei înregistr ări se poate face secven țial sau direct prin
numărul de realizare.
¾ INDEXAT-SECVEN ȚIALĂ
Înregistrările sunt dispuse în fi șier în ordine strict cresc ătoare dup ă
o cheie (face parte din înregistrare).
Cheia este unul sau mai multe câmpuri care identific ă în mod unic o
înregistrare.
Fișierului îi este ata șat o tabelă de indecși care face leg ătura între
valoarea cheii și adresa fizic ă a înregistr ării.
Localizarea unei înregistr ări se poate face secven țial dar și direct
prin cheie:
− se compar ă cheia înregistr ării căutate cu indec șii din tabela de
index și se localizeaz ă direct partea fizic ă a fișierului în care
se află înregistrarea c ăutată;
− în partea fizic ă localizată se face o c ăutare secven țială a
înregistrării dorite.
c) Specială (complex ă)
− Se bazeaz ă pe modurile de organizare clasice.
− Sunt utilizate în baze de date și în sisteme de fi șiere.
− Tipuri (câteva):
¾ PARTIȚIONAREA
Înregistrările din fișier sunt grupate în parti ții sub un nume.
În cadrul unei parti ții înregistr ările sunt organizate secven țial.
Se utilizeaz ă pentru bibliotecile de programe
¾ MULTIINDEXAREA
Este o extindere a index ării prin utilizarea mai multor chei alese de
programator.
Spațiul ocupat este mai mare.
Se utilizeaz ă pentru fișiere care necesit ă regăsiri intense
multicriteriale.
¾ INVERSĂ
Presupune existen ța a două fișiere: de baz ă și invers.
Fișierul de baz ă conține datele propriu-zise și are organizare
secvențială. El este fi șierul în care se caut ă.
Fișierul invers este construit din cel de baz ă (printr-o tehnic ă de
inversare) și are organizare relativ ă. El este fi șierul prin intermediul
căruia se caut ă.
Spațiul ocupat necesar este cam de 3,5 ori mai mare fa ță de cât
ocupă fișierul de baz ă.
4) Modul de acces reprezint ă modul în care se determin ă locul ocupat de o înregistrare într-un
fișier și depinde de modul de organizare.
Tipuri de moduri de acces pentru fi șiere:
¾ SECVEN ȚIAL presupune c ă localizarea unei înregistr ări se face prin parcurgerea
tuturor înregistr ărilor care o preced.
Este permis accesul secven țial pentru toate tipurile de fi șiere.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
7 Se recomand ă pentru fișierele din care sunt necesare, la o prelucrare, peste
50% din num ărul total de înregistr ări.
Pentru optimizare se recomand ă ordonarea fi șierului.
¾ DIRECT presupune c ă localizarea unei înregistr ări se face cu ajutorul unei chei
definite de programator.
¾ DINAMIC presupune c ă la o singur ă deschidere de fi șier se pot localiza, alternativ și
repetat, înregistr ări în acces secven țial și direct.
1.4. Modele de structurare a datelor în BD
o Informația, care se reprezint ă în calculator în memoria intern ă sau
externă, se poate defini structural dup ă schema:
are ca obiect are ca proprietate are ca m ăsură
informația entitatea atributul valoarea
o Modelul de structur ă se referă la descrierea tuturor atributelor unei
entități în interdependen ță.
o Valorile atributelor se materializeaz ă prin date, care dau o reprezentare simbolic ă a
informațiilor.
o Modelul de date este ansamblul de concepte și instrumente necesar pentru a realiza
structura colec țiilor de date (schema) (fig. 2.1.).
Modelul de date este compus din:
¾ concepte;
¾ un formalism pentru a descrie datele (structura de date);
¾ un ansamblu de operatori pentru a le manipula (datele).
CONCEPTE STRUCTURA DE DATE (formalism de descriere)
DATELE (ansamblul de manipulat)
Fig. 1.1. Modelul de date
În literatura de specialitate [RICC01], [RAGE00] sunt prezentate trei tipuri de modele
de date pentru baze de date. Prezent ăm, pe scurt, aceste tipuri, împreun ă cu câteva
caracteristici pentru fiecare:
modelul conceptual (la analiz ă)
– descrie sistemul în termeni pe în țelesul utilizatorului;
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
8- se folosește pentru specifica ția inițială a datelor și pentru comunicarea cu
utilizatorii;
– este un mod de stabilire a unei leg ături între dezvoltatori și utilizatori.
modelul logic (la proiectare)
– specifică structura bazei de date (colec țiile de date și legăturile dintre ele);
– se scrie într-o form ă care să poată fi folosită pentru crearea bazei de date;
– se folosește pentru definirea și întreținerea bazei de date de c ătre SGBD și
pentru formularea cerin țelor de reg ăsire de către utilizatori.
modelul fizic (sarcina SGBD)
– descrie modul în care modelu l logic al datelor va fi reprezentat la stocare, în
memoria extern ă (fișiere, indec și, discuri etc.);
– de obicei, este generat automat, de c ătre SGBD, pornind de la modelul logic.
Schema [conceptual ă] reprezint ă descrierea fenomenelor din realitatea înconjur ătoare
prin entit ăți și atribute (tipurile de date), împreun ă cu toate corela țiile (legăturile) dintre ele
(constrângerile).
Definirea schemei este o activitate de modelare pentru că traduce în termeni abstrac ți
entitățile lumii reale.
Schema BD se reprezint ă cu ajutorul unui model de date implementat prin intermediul
unui SGBD adecvat.
Trebuie s ă se facă distincție clară între structura bazei de date (schema , de exemplu:
stud(cod:N,4; nume:C,15) ) și conținutul ei (instan ța, de exemplu: 22 Nedelcu Anda ). Schema
și instanțele sunt stocate în baza de date, și anume prima în dic ționar, iar cea de-a doua în
datele propriu-zise.
În cele ce urmeaz ă ne vom ocupa, în cea mai mare parte, de modelul logic de date
pentru baze de date.
Elementele (componentele) oric ărui model de date pentru baze de date sunt:
1. Definirea structurii modelului (partea structural ă):
– definirea entit ăților și a atributelor asociate;
– definirea leg ăturilor (asociarea) dintre entit ăți.
Asocierea poate fi de tipul :
– unu la unu (1:1)
– unu la mul ți (1:M)
– mulți la mulți (M:N)
– neprecizat explicit
Definirea structurii de date se face cu un LDD (Limbaj de Descriere a Datelor) dintr-un
SGBD.
2. Operatorii modelului
(partea de manipulare) care ac ționează asupra structurilor de date,
dar și asupra datelor, pentru opera ții de prelucrare (compunere, actualizare etc.).
Operatorii se implementeaz ă cu ajutorul unui LMD (Limbaj de Manipulare a Datelor) dintr-un
SGBD.
3. Regulile de integritate (partea de coeren ță) sunt restric ții stabilite la descrierea datelor,
care le asigur ă acestora men ținerea corectitudinii și dau logica modelului.
Restricțiile se implementeaz ă cu un LDD din SGBD.
Tipuri de modele logice de date pentru BD:
¾ fundamentale : ierarhice, re țea, relaționale, orientate obiect;
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
9¾ derivate (extinse din cele fundamentale): distribuite, multimedia etc.
Prezentăm, în continuare, principalele caracteristi ci pentru modelele de date fundamentare
(de bază) pentru baze de date.
I. Modelul ierarhic
1. Definirea structurii modelului ierarhic.
a) Definirea entit ăților se face prin no țiune de tip de înregistrare (clasă de entități), care
este format ă din caracteristici (câmpuri).
Realizarea (instanța) unui tip de înregistrare este dat ă de ansamblul valorilor pentru
câmpurile acesteia (înregistrarea).
b) Definirea leg ăturilor dintre entit ăți se face fizic și conduce la structura de tip ierarhic
(arborescent) reprezenat ă sub forma unei diagrame (fig. 2.2.).
nivel 0 TIP_ÎNREG 0
nivel 1 TIP_ÎNREG 11 TIP_ÎNREG 12 TIP_ÎNREG 13
nivel 2 TIP_ÎNREG 21 TIP_ÎNREG 22 TIP_ÎNREG 23
. . .
Fig. 1.2. Diagrama de structur ă ierarhică
Caracteristici ale structurii ierarhice (arborescente):
Fiecare nod corespunde unui tip de înregistrare și fiecare drum corespunde unei
legături (asocieri).
Orice acces la un nod se face prin vârful ierarhiei, numit rădăcină, pe o singur ă cale.
Un nod subordonat (copil) nu poate avea decât un singur superior (p ărinte).
Un superior poate avea unul sau mai mul ți subordona ți.
Legătura copil-p ărinte este doar de tip 1:1 (la o realizare copil corespunde o singur ă
realizare p ărinte).
Legătura părinte-copil poate fi de tip 1:1 sau 1:M.
În structur ă există un singur nod r ădăcină și unul sau mai multe noduri dependente
situate pe unul sau mai multe niveluri.
– ierarhie de tipuri de înregistr ări se nume ște tip arbore .
– realizare a unui tip arbore este format ă dintr-o singur ă realizare a tipului de
înregistrare r ădăcină împreună cu o mul țime ordonat ă formată din una sau
mai multe realiz ări ale fiec ărui tip de înregistrare de pe nivelurile inferioare.
Ordonarea realiz ărilor dintr-un arbore conduce la o secvență ierarhică.
2. Operatorii modelului ierarhic
Localizarea unui arbore în BD: se localizeaz ă o realizare a tipului de înregistrare
rădăcină.
Trecerea de la un arbore la altul în BD: se trece de la o realizare a tipului înregistrare
rădăcină (secvență ierarhică) la o altă realizare a aceluia și tip înregistrare r ădăcină.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
10 Trecerea de la o realizare (înregistrare) la alta într-un arbore (secven ță ierarhică) : se
poate face trecerea pe acela și nivel sau pe niveluri diferite între tipuri de înregistr ări
legate între ele.
Actualizarea într-un arbore : adăugarea, modificarea sau ștergerea unei înregistr ări.
Operația este greoaie și consumatoare de resurse calculator (spa țiu și timp) pentru c ă
antreneaz ă automat toate înregistr ările din arbore care se înl ănțuie cu înregistrarea
actualizat ă.
Notă. Operatorii de mai sus sunt la nivel de înregistrare; ac ționează pe o înregistrare și produc
tot o înregistrare.
Există și operatori la nivel de mul țime de înregistr ări care se implementeaz ă în LMD mult mai
greu.
3. Restricțiile de integritate ale modelului ierarhic.
Realizarea subordonat este totdeauna asociat ă unei singure realiz ări superior.
Dacă un tip de înregistrare nu are realiz ări atunci nici tipurile înregistr ări descendente
nu au realiz ări.
Notă. Efectele restric țiilor de integritate sunt:
– complicarea opera ției de actualizare;
– dacă o realizare a unui nod subordonat trebuie s ă fie asociat ă cu mai multe realiz ări
ale nodului p ărinte atunci ea trebuie multiplicat ă (crește redundan ța);
– dau logica și corența modelului arborescent.
Caracterizarea general ă a modelului ierarhic.
1. Modelul a fost propus de către IBM și a fost primul utilizat pentru BD.
2. Structura modelului este simpl ă (graf orientat) familiar ă specialiștilor în informatic ă.
3. Implementarea modelului se face fizic și condiționează performan țele BD:
– prin pointeri, utilizând diferi te metode (liste simplu înl ănțuite, vectori de pointeri,
chei primare etc.);
– secvențial, fiecare realizare a unui arbore corespunde unei înregistr ări (logice)
dintr-un fi șier secven țial.
4. Aplicabilitatea modelului se reg ăsește cu succes în tehnologia construc țiilor de ma șini, dar
și în alte domenii.
5. Limitele modelului ierarhic:
– numărul de ierarhii posibile cre ște combinatoric cu num ărul înregistr ărilor, în
legătura părinte-copil;
– actualizarea datelor este groaie și consumatoare de resurse calculator;
– nivelul logic nu este separat clar de cel fizic (exemplu: indec șii pot fi structuri
logice dar și fizice);
– nu se poate realiza leg ătura de tip M:N
6. Exemplu de SGBD ierarhic este IMS (Information Management System) realizat de c ătre
IBM. 7. Baza de date ierarhic ă este o mul țime ordonat ă de realizări ale unui tip arbore.
II. Modelul re țea
1. Definirea structurii modelului re țea.
a) Definirea entit ăților se face prin no țiunea de tip de înregistrare , care este format ă din
caracteristici (câmpuri).
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
11Realizarea (instanța) unui tip de înregistrare este dat ă de ansamblul valorilor pentru câmpurile
acestuia (înregistrarea).
b) Definirea leg ăturilor dintre entit ăți se face fizic și conduce la o structur ă de tip rețea,
reprezentat ă sub forma unei diagrame (fig. 2.3.) numit ă și schema (conceptual ă).
TIP_ÎNREG 1 TIP_ÎNREG 2
TIP_ÎNREG 3 TIP_ÎNREG 4
TIP_ÎNREG 5 TIP_ÎNREG 6
. . .
Fig. 1.3. Diagrama de structur ă rețea
Caracteristici ale structurii re țea :
– Un nod poate avea oricâ ți superiori și oricâți subordona ți.
– Pot exista mai multe tip de înregistrare r ădăcină.
– La un subordonat se poate ajunge pe mai multe c ăi.
– Este o extensie a structurii arborescente în care graful nu mai este limitat.
– Legăturile în model pot fi 1:1, 1:M, M:N, ciclice.
– Pentru exprimarea leg ăturilor se folose ște conceptul de tip set . Un tip set este
format dintr-un singur tip de nod proprietar și unul sau mai multe tipuri de noduri
membre dependente de cel proprietar.
– Realizarea tipului set este o colec ție de înregistr ări care are o realizare proprietar și
un număr de realiz ări membre asociate.
2. Operatorii modelului re țea.
– Localizarea unui tip set : se identific ă o realizare a unui nod proprietar.
– Trecerea de la o înregistrare la alta în cadrul unui set: proprietar-membru,
membru-proprietar, membru-membru.
– Actualizarea într-un set : adăugarea, modificarea, ștergerea unor membri.
– Actualizarea într-o re țea: adăugarea, modificarea, ștergerea unor seturi.
Notă. Operațiile de actualizare sunt greoaie și mari consumatoa re de resurse
calculator. Aceasta, deoarece sunt antrenate întotdeauna înregistr ările dintr-unul
sau mai multe seturi.
– Localizarea unei înregistr ări pe baza valorii unui câmp (cheie).
3. Restricțiile de integritate ale modelului re țea.
– O înregistrare nu poate fi membr ă a două realizări ale aceluia și tip set. Înregistrarea
se va multiplica.
– O înregistrare poate s ă aparțină mai multor tipuri set prin multiplicare.
– Un tip de înregistrare poate fi nod proprietar într-un set și nod membru în alt set.
– Un set poate avea un singur nod proprietar.
Notă. Efectele restric țiilor de integritate sunt:
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
12- dau logica și coerența modelului re țea;
– complică operația de actualizare;
– introduce o redundan ță controlat ă.
Caracterizarea general ă a modelului re țea.
1. A fost propus de CODASYL ca solu ție pentru a se elimina limitele modelului ierarhic.
2. Se poate utiliza pentru domenii variate din lumea real ă, deoarece permite reprezentarea
unor structuri complexe .
3. Implementarea modelului se face fizic și condiționează performan țele BD:
– prin pointeri structura ți în liste înl ănțuite, de diferite tipuri (owner, prior, next);
– prin hartă de biți (matrice cu înregistr ări, iar la intersec ție sunt leg ăturile: 1-da, 0-
nu).
4. Limitele modelului re țea:
– complexitatea modelului îl face dificil de implementat;
– legăturile din model nu sunt întotdeauna foarte clare;
– prelucrarea înregistr ărilor se face secven țial;
– actualizarea este greoaie și consumatoare de resurse calculator;
– reproiectarea este dificil ă datorită complexit ății ridicate.
5. Exemple de SGBD re țea : IDMS (Integrated Database Management System), Socrate.
6. Baza de date re țea este o mul țime oarecare de tipuri de înregistr ări structurate pe tipuri set.
III. Modelul rela țional
1. Definirea structurii modelului rela țional.
a) Definirea entit ăților se face sub forma unor tablouri bidimensionale numite tabele sau
relații de date.
Conceptele utilizate sunt:
− domeniu este un ansamblu de valori caracterizat printr-un nume.el poate fi explicit (se
enumera valorile posibile, de exemplu D1:{m, f}) sau implicit (se precizeaza
proprietatile valorilor, de exemplu D1:{a/a ∈N}).
− tabela /relația este un subansamblu al produsului cartezian al mai multor domenii,
caracterizat printr-un nume.
− atributul este coloana unei tabele, caracterizata printr-un nume.
− tuplul este linia dintr-o tabel ă și nu are nume.
Notă. ordinea liniilor (tupluri) și coloanelor (atribute) dintr-o tabel ă nu trebuie s ă prezinte
nici-o importan ță.
− schema tabelei este numele tabelei, urmat intre paranteze rotunde de lista atributelor,
iar pentru fiecare atribut se precizeaza domeniul asociat.
− cheia este un atribut sau un ansamblu de atribute care au rolul de a identifica un tuplu
dintr-o tabela. tipuri de chei: primare/alternate, simple/comune, externe.
− schema relațională este schema tabelei + cheile + restrictiile de integritate.
Exemplu . Fie tabela STUDENT cu atributele: NUME din domeniul D1 (numele de persoane),
ANSTUDIU din domeniul D2(anii de studiu dintr-o facultate), ANNA ȘTERE din domeniul
D3(anii calendaristici).
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
13 STUDENT
Schema tabelei : STUDENT(NUME: D1, ANSTUDIU: D2, ANNA ȘTERE: D3).
Notă. Numărul de domenii este mai mic sau egal cu num ărul de atribute pentru o
tabelă (mai multe atribute pot lua valori din acela și domeniu).
b) Definirea leg ăturilor dintre entit ăți se face logic construind asocieri între tabele cu
ajutorul unor atribute de leg ătură.
Legăturile se pot reprezenta sub forma unei diagrame de structur ă (fig. 2.4.) numit ă și schema
BD.
Exemplu . Fie o BD privind desfacerea în care am identificat tabelele: BENI, CONTR,
PROD. Leg ăturile dintre tabele sunt:
− un beneficiar poate încheia mai multe contracte (1:M);
− un produs se poate livra prin mai multe contracte (1:M);
− un beneficiar poate cump ăra mai multe produse și un produs se poate livra c ătre mai
mulți beneficiari (M:N).
BENI CODB DENB LOCB CTBC
1:M
CONTR CODB
CODP CANTL PRETL TERMENL
1:M
PROD CODP DENP UMP
Fig. 1.4. Schema BD
Notă. Legătura M:N nu apare direct în schem ă.
Atributele subliniate sunt chei.
Caracteristici ale structurii rela ționale:
− Atributele implicate în realizarea leg ăturilor se g ăsesc fie în tabelele asociate, fie în tabele
distincte construite special pentru leg ături.
− Atributul din tabela ini țială se nume ște cheie extern ă iar cel din tabela final ă este cheie
primară.
− Legăturile posibile sunt 1:1, 1:M, M:N.
− Potențial, orice tabel ă se poate lega cu orice tabel ă, după orice atribute.
− Legăturile se stabilesc la momentul descrierii datelor (prin LDD) cu ajutorul restric țiilor
de integritate.
Practic, se stabilesc și legături dinamice la momentul execu ției.
1. Operatorii modelului rela țional.
a) Operatori din algebra rela țională:
standard: selec ția proiec ția, joncțiunea, reuniunea, diferen ța, produsul cartezian,
intersecția, diviziunea; NUME: D1 ANSTUDIU : D2 ANNA ȘTERE: D3
POPA A. 2 1982
PETRE M. 2 1982
ILIE C. 3 1981
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
14 extensii : complementarea, descompunerea (splitarea) etc.
Notă. Operatorii algebrei rela ționale ac ționează la nivel de tabel ă în expresii rela ționale.
Operanzii sunt tabele iar rezultatul este întotdeauna o tabel ă.
b) Operatorii din calculul rela țional :
orientați pe tuplu: conectivele (conjunc ția ∧, disjuncția ∨, negația ⎤ ), cuantificatorii
(existențial ∃, universal ∀);
orientați pe domeniu: idem ca mai sus.
Notă. Pentru operatorii calcului rela țional operandul poate fi tuplu sau domeniu.
2. Restricțiile de integritate ale modelului rela țional.
a) Structurale sunt cele care se definesc prin compararea unor valori din tabele:
cheie unic ă: într-o tabel ă nu trebuie s ă existe mai multe tupluri cu aceea și valoare
pentru ansamblul cheie;
referențială: într-o tabel ă T1 care refer ă o tabelă T2, valorile cheii externe trebuie s ă
figureze printre valorile cheii primare din T2 sau s ă ia valoarea NULL (neprecizat);
entității: într-o tabel ă, atributele din cheia primar ă nu trebuie s ă ia valoarea NULL.
Notă. Cele trei restric ții de mai sus sunt minimale .
Pe lângă acestea, exist ă o serie de alte restric ții structurale care se refer ă la dependen țele dintre
date: func ționale, multivaloare, jonc țiune etc. (sunt luate în considerare la tehnicile de
proiectare BD rela ționale).
b) Semantice sunt cele care se definesc prin comportamentul datelor și țin cont de valorile
din BD:
restricția de domeniu : domeniul corespunz ător unui atribut dintr-o tabel ă trebuie s ă
se încadreze între anumite valori;
restricții temporare : valorile anumitor atribute se compar ă cu niște valori temporare
(rezultate din calcule etc.).
Notă. Restricțiile semantice fiind foarte generale se gestioneaz ă fie la momentul descrierii
datelor (de exemplu prin clauza CHECK), fie în afara modelului la momentul execu ției (de
exemplu prin instruc țiunea IF) .
Caracterizarea general ă a modelului rela țional.
1. A fost propus de către IBM și a revolu ționat reprezentarea datelor în BD f ăcând trecerea la
o nouă generație (a doua).
2. Modelul este simplu , are o solid ă fundamentare teoretic ă fiind bazat pe teoria seturilor
(ansamblurilor) și pe logica matematic ă.
3. Pot fi reprezentate toate tipurile de structuri de date de mare complexitate, din diferite
domenii de activitate.
4. Implementarea modelului se face logic prin atribute având rol de chei.
5. Limitele modelului rela țional:
− prea marea simplitate a modelului îl face dificil de aplicat pentru noile tipuri de
aplicații (multimedia, internet etc.);
− nu asigură o independen ță logică totală a datelor de aplica ție;
− pentru aplica ții de volum și complexitate foarte mari nu mai face fa ță;
− poate introduce o redundan ță prea mare (la proiectare pr in tehnica de normalizare).
6. Baza de date rela țională este un ansamblu de tabele prin care se reprezint ă atât datele cât
și legăturile dintre ele.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
15IV. Modelul orientat obiect
1. Definirea structurii modelului orientat obiect (OO).
a) Definirea obiectelor se face cu ajutorul conceptului de clasă de obiecte care este definit ă
din entitatea reg ăsită în lumea real ă. Se pune accentul atât pe date cât și pe comportamentul
acestora, ambele încapsulate în 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;
implementare care este privat ă;
interfață care este public ă.
metoda reprezint ă operațiile permise asupra obiectului, deci comportamentul
(funcționalitatea) acestuia.
mesajul reprezint ă cereri adresate obiectelor pentru a returna o valoare sau o stare.
caracteristici (principii) fundamentale (de baza) ale obiectelor:
incapsurarea : descrierea obiectelor se face astfel incat nu se poate avea acces
din afara obiectului la datele sale;
polimorfismul : diferite obiecte pot r ăspunde diferit la acelea și mesaje;
moștenirea : capacitatea unui obiect de a- și deriva datele și funcționalitatea din
alt obiect.
instanța unei clase reprezint ă realizarea unei clase, dat ă de valorile variabilelor aferente.
b) Definirea leg ăturilor între obiecte se realizeaz ă implicit prin modul de construire
(definire) al obiectelor.
Tipurile de legături în modelul OO sunt:
− ierarhice , caracterizate prin:
• clasa de obiecte este structura de baz ă a modelului;
• fiecare obiect are un identificator unic;
• toate obiectele sunt membri ai unei clase;
• clasele sunt structurate în ierarhii având caracteristica de mo ștenire;
• prin obiecte se pot defini orice tip de date (text, grafic, imagine, sunet, video etc.);
• ansamblul claselor de obiecte structurate în ierarhii alc ătuiesc schema BD.
− de referin ță caracterizate prin:
• se realizeaz ă pe baza identificatorului unic de obiect;
• pot fi de urm ătoarele feluri :
simple de asociere : referirea unui obiect de c ătre alt obiect;
de compunere (tip parte-întreg) : obiectele care reprezint ă componente ale unui
întreg sunt asociate cu obiectul ce reprezint ă întregul;
de agregare : obiectele independente sunt agregate succesiv pentru a forma un
întreg.
• permit definirea și manipularea de obiecte compuse din alte obiecte. Obiectele
compuse rezultate au o structur ă ierarhică dar nu au caracteristic ă de moștenire.
2. Operatorii modelului OO:
− La baza opera țiilor din model stau mesajele ca unic mod de a comunica obiectele
între ele.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
16− Actualizarea metodelor : adaugare, modificare, ștergere de metode.
− Actualizarea propriet ăților : adaugare, modificare, ștergere de date.
− Actualizarea claselor : adaugare, modificare, ștergere de clase.
− Realizarea legăturilor între clase : compunere, parti ționare etc..
− Actualizarea instan țelor : prin metode care schimb ă starea intern ă a obiectului.
3. Restricțiile de integritate ale modelului OO:
− Orice obiect trebuie s ă respecte restric țiile impuse la definirea clasei din care face
parte (protocol de obiect).
− Identificatorul obiectului asigur ă integritatea referirii la el (se atribuie și se șterge
automat o dat ă cu obiectul).
− Accesul la obiecte este limitat la folosirea pr otocolului de mesaje definit pentru clasa
din care face parte obiectul.
Caracterizarea general ă a modelului OO.
1. Modelul OO marcheaz ă trecerea la o a treia genera ție de BD. El aduce bazelor de date
un plus de deschidere, independen ța logică a datelor de aplica ții, reutilizarea obiectelor etc.
2. Modelul OO d ă bune rezultate pentru probleme foarte mari și complexe (principiile
complexit ății sunt incluse în model).
3. În structur ă sunt acceptate toate tipurile de date cunoscute, deci se poate aplica pentru
toate domeniile de activitate.
4. Limitele modelului OO:
− nu există un model OO unanim acceptat de speciali ști. Există totuși organisme
internaționale de standardizare – exemplu OMG (Object Management Group) –
precum și modele OO standardizate – exemplu ODMG (Object Data
Management Group);
− imaturitatea și naturalețea dezarmant ă a tehnologiei OO;
− elemente înc ă insuficient testate pentru SBDOO: controlul integrit ății, volume
foarte mari, reg ăsirea etc.
5. Exemple de SGBDOO: O2 (Fran ța), Jasmine (SUA) etc.
6. Baza de date orientat ă obiect este o mul țime de clase de obiecte persistente (în memoria
externă), organizat ă coerent și ordonată în ierarhii, partajat ă pentru utilizatorii concuren ți.
Note
1) O comparație între modelul rela țional și orientat obiect vezi în Anexa 1.
2) După prezentarea de pân ă acum a primelor dou ă capitole, putem da o definiție
completă și explicativ ă a noțiunii de bază de date , ca fiind un ansamblu de colec ții de
date:
• organizat , pe niveluri de organizare a datelor (conceptual, logic, fizic), a șa cum
reiese din arhitectura unui SBD pe niveluri;
• coerent , conform restric țiilor de integritate și a legăturilor dintre date, care rezult ă
din modelul logic de date aferent;
• structurat , conform unui model de date pentru baze de date (unul fundamental sau
derivat);
• cu o redundan ță minimă și controlat ă , care este asigurat ă prin modelul de date
implementat și prin tehnicile de proiectare ale BD;
• accesibil mai multor utilizatori în timp util , adică mai mul ți utilizatori,
concomitent, pot ob ține informa țiile dorite atunci când are nevoie de ele.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
171.5. Protec ția BD
o Activitatea de protec ție a bazelor de date este deosebit de important ă
atât pentru modul de lucru pe calculatoare independente cât și pentru
modul de lucru în re țea de calculatoare.
o Asigurarea protec ției pentru o baz ă de date revine atât în sarcina
SGBD, prin func ția de administrare (tot mai mult), cât și în
sarcina administratorului bazei de date.
o Protecția bazei de date este un ansamblu de m ăsuri necesare
asigurării securit ății și integrității datelor.
În cele ce urmeaz ă, vom prezenta o sintez ă a pricipalelor aspectelor care apar pentru a se
asigura protec ția bazelor de date. Lucruri suplimentare vor fi prezentate în capitolele aferente
SGBD-ului Oracle, iar exemplificarea se poate g ăsi, pe larg, în referin ța bibliografic ă
[VELU02].
Securitatea datelor semnifică interzicerea accesului la date pentru utilizatorii neautoriza ți.
Integritatea datelor înseamnă corectitudinea datelor înc ărcate, precum și manipularea lor
astfel încât s ă se respecte restric țiile de integritate ale modelului de date implementat.
În continuare, vom prezenta, pe scurt, cele dou ă aspecte care compun activitatea de protec ție a
unei baze de date. La fiecare aspect vom sintetiza activit ățile aferente.
INTEGRITATEA datelor.
1. Integritatea semantic ă constă în prevenirea introducerii unor date incorecte în BD și în
prevenirea realiz ării unor prelucr ări eronate. Acest lucru se asigur ă prin respectarea
restricțiilor de integritate. Acestea pot fi implicite (asigurate automat de SGBD) și
explicite (asigurate prin proceduri incluse în programele de aplica ție).
2. Controlul concuren ței la date constă în garantarea coeren ței (corectitudinii) și
simultaneit ății datelor în cazul prelucr ării tranzacțiilor (unitatea logic ă de prelucrare)
prin tehnici specifice (blocarea, interblocarea etc.).
3. Salvarea și restaurarea . Salvarea este opera ția de stocare a datelor în copii de siguran ță
prin tehnici specifice (copiere, jurnalizare etc.). Ea se poate face automat de c ătre
SGBD(cel mai des) sau manual de c ătre administratorul BD. Restaurarea este opera ția
de refacere a consisten ței BD, pornind de la datele salvate, minimizând prelucr ările
pierdute. Restaurarea se poate face automat de c ătre SGBD (cel mai des) sau manual de
către administratorul BD.
SECURITATEA datelor.
1. Autorizarea și controlul accesului la date const ă în identificarea utilizatorilor și
restricționarea accesului acestora , pentru diferite opera ții de prelucrare.
2. Viziunile (views) sunt parti ții logice ale BD definite pentru diferi ți utilizatori.
3. Procedurile speciale sunt rutine, oferite de SGBD, care efectueaz ă anumite opera ții
asupra datelor și care sunt accesibile anumitori utilizatori.
4. Criptarea este opera ția de codificare a datelor în vederea stoc ării sau transmiterii
datelor. În acest sena, se folosesc o mul țime de tehnici specifice: parole, algoritmi de
criptare/decriptare, rutine speciale etc.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
181.6. Rezumat
După ce s-a definit no țiunea de organizare a datelor , s-a prezentat evoluția acesteia,
pornind de la fi șiere (primul mod de organizare a datelor în memoria extern ă) și
ajungându-se la ultimele tipuri de baze de date, cele orientate obiect. In aceast ă
evoluție, s-au urm ărit câteva aspecte (caracteristici) comparative: structura de date,
modul de prelucrare a datelor, redundan ța datelor, software-ul utilizat.
Pentru a se fundamenta necesitatea organizării datelor în memoria extern ă,
comparativ cu memoria intern ă, s-a prezentat un tabel în care se g ăsesc cinci criterii:
cost, vitez ă, capacitate, persisten ță, organizare.
În continuare, se define ște noțiunea de fișier și, acesteia, i se prezint ă câteva dintre
cele mai importante aspecte de organizare a datelor: opera ții, structura, modul de
organizare, modul de acces.
O parte consistent ă din capitol este destinat ă organizării datelor în baze de date
conform unor modele de date .
Mai întâi sunt prezentate principalel noțiuni necesare: informa ția, modelul de
structură, modelul de date, tipuri de mode le de date, schema conceptual ă, elementele
componente ale unui model logic de date (def inirea structurii, operatorii, regulile de
integritate).
După aceea sunt prezentate cele patru modele logice de date fundamentale (de baz ă),
întâlnite la organizarea datelo r în baze de date: ierarhic, re țea, relațional, orientat
obiect. Fiecare model este prezentat în acela și mod: elementele componente,
caracterizare general ă. În acest fel se pot urm ări, comparativ, cum se reg ăsesc
noțiunile prezentate la începutul capit olului, în fiecare model în parte.
Capitolul se încheie cu o sintez ă privind protecția bazelor de date. Sunt luate în
considerare cele dou ă aspecte ale protec ției: securitatea, integr itatea. Fiecare dintre
acestea este descompus ă în principalele subactivit ăți care trebuie s ă fie asigurate într-
un sistem de baz ăde date, de c ătre SGBD și administratorul bazei de date.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
191.7. Teste de autoevaluare
1. În modelul rela țional pentru baze de date:
a) există noțiunea de tip înregistrare
b) atributele care au rol în realizarea leg ăturilor între tabele se numesc chei
compuse
c) legăturile între tabele se descriu în LMD
d) există noțiunea de schema tabelei
e) proiecția, negația și existența sunt operatori din algebra rela țională
2. După modelul de date implementat, bazele de date sunt:
a) ierarhice, locale
b) distribuite, generalizate
c) relaționale, de conducere
d) orientate obiect, specializate
e) rețea, de documentare
3. La organizarea datelor în memoria extern ă , noțiuni corespunz ătoare sunt:
a) câmp – valoare
b) caracteristic ă – câmp
c) caracteristic ă – înregistrare
d) câmp – înregistrare
e) colecția de date – fi șier
4. În modelul ierarhic pentru baze de date:
a) definirea obiectelor se face prin clase de obiecte
b) se admit leg ături 1:1, 1:M, M:N
c) există secvențe ierarhice de realiz ări
d) există operatorul de actualizare într-un arbore
e) o realizare copil este întotdeauna asociat ă unei singure realiz ări părinte
5. În modelul orientat obiect pentru baze de date:
a) obiectul are identificator, propriet ăți
b) obiectul are interfa ță, implementare
c) există caracteristicile fundamentale ale obiectelor: succesiunea și
încapsularea
d) există restricția de integritate: orice clas ă respectă regulile impuse
obiectului din care face parte
e) la baza opera țiilor (operatorilor) stau metodele
6. La evoluția organiz ării datelor în memoria extern ă se au în vedere aspectele:
a) modul de organizare a datelor
b) nivelurile de structurare a datelor
c) modul de prelucrare a datelor
d) redundanța programelor
e) aplicațiile software aferente
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
201.8. Răspunsuri și comentarii la testele de autoevaluare
1.9. Bibliografia unit ății de învățare 1
[RAGE00] R.Ramakrishnan, J.Gehrke – “Database Management Systems”,
ed.Mc Graw Hill, 2000
[RICC01] G.Riccardo – “Principles of Database Systems – with Internet
and Java Applications”, ed.Addison Wesley, 2001
[VELU00] M.Velicanu, I.Lungu ș.a. – “Sisteme de gestiune a bazelor de
date”, ed.Petrion, 2000
[VELU02] M.Velicanu, I.Lungu, M.Muntean, M.Iorga, S.Ionescu –
“Oracle – platform ă pentru baze de date”, ed. Petrion, 2002
[LUBO95] I. Lungu, C. Bodea ș. a. – “Baze de date – organizare,
proiectare și implementare “, ed. ALL, 1995
[CONN00] T.Connolly – “Database Systems”, ed.Mc Graw Hill, 2000
1. d; 2. -; 3. b, e; 4. c, d, e; 5. a, b, c; 6. a, b, c, e.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
21Unitatea de înv ățare 2:
BAZE DE DATE – NO ȚIUNI FUNDAMENTALE
Cuprins
2.1. Obiective
2.2. Baza de date – concepte
2.3. Administrarea bazelor de date
2.4. Rezumat 2.5. Teste de autoevaluare
2.6. Răspunsuri și comentarii la testele de autoevaluare
2.7. Bibliografia unit ății de învățare 2
2.1. Obiective
După studiul acestei unit ăți de învățare vei avea cuno știnte despre:
Durata medie a unei unit ăți de studiu individual – 2 ore
¾ generații de baze de date;
¾ noțiuni de baz ă: domeniul de valori, caracteristica, familia de
caracteristici, colec ția de date, baza de date;
¾ definiția bazei de date, v ăzută ca un ansamblu de date în memoria extern ă
cu următoarele caracteristici: organizat, pe trei niveluri (conceptual, logic,
fizic); structurat, conform unui model de date; coerent, prin restric țiile de
integritate și protecția datelor; cu o redundan ță minimă și controlat ă, prin
implementarea unui model de date și prin aplicarea unei tehnici de
proiectare; accesibil mai multor utilizatori în timp util;
¾ activitatea de administrare a unei baze de date, punctându-se sarcinile
administratorului BD, precum și instrumentele necesare pentru a fi la
dispoziția acestuia pentru a îndeplini aceste sarcini.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
222.2. Baza de date – concepte
1. Evoluție
2. Elementele componente ale unei baze de date
3. Conceptul de baz ă de date
Evoluție
Într-un calculator datele sunt stocate atât în memoria intern ă (temporar) cât și în memoria
externă (persistent).
În memoria extern ă, evoluția modului de memorare a datelor a fost determinat ă de următoarele
aspecte :
accesul cât mai rapid și ușor la date;
stocarea unui volum cât mai mare de date;
creșterea compexit ății datelor;
perfecționarea echipamentelor de culegere, stocare, transmitere și prelucrare a datelor.
Bazele de date, ca mod de organizare a datelor în memoria extern ă, au evoluat din fișiere printr-
un proces de integrare a lor (fi șierele și legăturile dintre ele) și ținând cont de cerin țele
aplicațiilor informatice.
Sunt numeroase aspecte care prive ște trecerea de la fi șiere la baze de date (vezi Anexa A2) dar
cel mai important este modelul de structurare a datelor în memoria extern ă (vezi capitolul 2)
care difer ă pentru cele dou ă noțiuni.
De la apari ția lor și până astăzi, bazele de date au parcurs urm ătoarele generații (determinate în
principal de modelul de date implementat):
generația I: BD arborescente și rețea (până la sfârșitul anilor ’70);
generația a-II-a: BD rela ționale (sfâr șitul anilor ’70 și până acum);
generația a-III-a: BD orientate obiect (sfâr șitul anilor ’80 și până acum).
Elementele componente ale unei baze de date
Am arătat faptul c ă bazele de date au evoluat din fi șiere (vezi și capitolul 2). Acest lucru se
regăsește și în noțiunile utilizate în cele dou ă moduri de organizare a datelor în memoria
externă, așa cum reiese din tabelul urm ător. De remarcat faptul c ă atât fișierele cât și bazele de
date se construiesc pornind de la lumea real ă înconjurătoare.
Citirea tabelului se va face de la stânga la dreapta, iar no țiunile corespunz ătoare de pe cele dou ă
rânduri pot fi considerate similare.
Astfel vom spune: o baz ă de date este format ă din mai multe colec ții de date. Fiecare dintre
acestea are ata șată o familie de caracteristici, care este format ă din mai multe caracteristici, care
iau valori dintr-un domeniu de valori.
În mod similar se cite ște rândul de jos: un sistem de fi șiere este format din mai multe fi șiere.
Fiecare dintre acestea are ata șată o înregistrare, care este format ă din mai multe câmpuri, care
iau valori.
Baza de date Colec ții de date Familie de
caracteristici Caracteristici Domenii de
valori
Sistem de fi șiere Fișiere Înregistrare Câmpuri Valori
Ne vom ocupa, în continuare, de no țiunile aferente bazelor de date, urmând ca de fi șiere să ne
ocupăm în capitolul urm ător.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
23Domeniul de valori este dat de mul țimea valorilor posibile pentru o caracteristic ă (exemplu:
culorile posibile pentru un automobil).
Caracteristica semnifică definirea și descrierea unui anumit aspect (propriet ăți) dintr-o entitate
a lumii reale (exemplu: marca auto)
Familia de caracteristici este ansamblul caracteristicilor care se refer ă la aceeași entitate din
lumea real ă (exemplu: mul țimea caracteristicilor prin care se poate descrie un automobil
{NUMĂR, MARCA, CAPACITATE_CILINDRIC Ă, CULOARE}).
Colecția de date (entitatea) este o familie de caracteristici asupra c ăreia se aplic ă un predicat
(care conduce la o rela ție de ordine între caracteristici și la obținerea informa țiilor cu un anumit
scop) căruia i se afecteaz ă anumite leg ături.
Conceptul de baz ă de date
Definirea no țiunii de baz ă de date o putem face din mai multe puncte de vedere. Astfel vom
avea, mai întâi, în vedere componentele sale și apoi vom ține cont de organizarea datelor în
memoria extern ă.
Baza de date este un ansamblu de colec ții de date aflate în interdependen ță, împreun ă cu
descrierea datelor și a legăturilor dintre ele.
Baza de date este un ansamblu de date în memoria extern ă cu urm ătoarele caracteristici: –
organizat, pe trei niveluri (conceptual, logic, fizic);
structurat, conform unui model de date;
coerent, prin restric țiile de integritate și protecția datelor;
cu o redundan ță minimă și controlat ă, prin implementarea unui model de date și prin
aplicarea unei tehnici de proiectare;
accesibil mai multor utilizatori în timp util.
2.3. Administrarea bazelor de date
o Administratorul BD este format din una sau mai multe persoane
cu experien ță în analiză și proiectare, care se ocup ă de organizarea
și întreținerea BD.
Nivelurile de administratori de baze de date, dup ă activitățile desfășurate, sunt:
• administrator global realizeaz ă:
− schema (conceptual ă) a BD, pornind de la cerin țele aplcației;
− organizarea datelor la nivel logic (colaboreaz ă).
• administrator de aplica ție realizeaz ă:
− schema extern ă (logică) pentru o aplica ție, pornind de la cerin țele de prelucrare ale
plicației;
− organizarea datelor la ni vel fizic (colaborare).
• administratorul bazei de date realizeaz ă:
− schema intern ă (fizică) a datelor;
− reorganizarea bazei de date;
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
24− gestioneaz ă funcționarea BD.
Sarcinile administratorului BD sunt structurate dup ă activitățile de realizare a unei BD:
• la analiza și proiectarea BD:
− definește obiectivele BD;
− colaboreaz ă la formularea cerin țelor aplica ției;
− definește dicționarul BD(schema, restric țiile de integritate etc.);
− colaboreaz ă la schema extern ă și la cea intern ă;
− concepe protec ția datelor.
• la implementarea BD:
− elaboreaz ă documenta ție;
− definește regulile de implementare și dare în folosin ță a BD;
− asigură încărcarea BD din diferite surse de date.
• la exploatarea BD:
− monitorizeaz ă accesul la date;
− asigură protecția datelor;
− între
ține funcționarea BD la parametrii proiecta ți.
Instrumente la dispozi ția administratorului BD pentru a- și îndeplini sarcinile:
• instrumentele oferite de SGBD pentru: reorganizarea BD, refacerea BD, analize statistice,
gestionarea dic ționarului de date, protec ția datelor.
• instrumente specifice create de administratori și programatori.
Notă. Un exemplu de administrare a unei baze de date rela ționale se g ăsește în [VELU02], cu
exemplificare pe sistemul Oracle. Ca o concluzie, se poate spune c ă în acest moment,
activitatea de administrare a unei baze de date a fost mult automatizat ă. Acest lucru înseamn ă
că multe dintre sarcinile de administrare au fost preluate de SGBD, degrevându-l pe
administrator.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
252.4. Rezumat
2.5. Teste de autoevaluare
7. Baza de date este un ansamblu de date:
a) organizat, structurat
b) cu o redundan ță minimă și necontrolat ă
c) accesibil mai multor utilizatori în timp util
d) coerent, modular
e) distribuit uniform
8. Pentru o baz ă de date:
a) structura conceptual ă se deduce din cea logic ă
b) structura extern ă se deduce din cea conceptual ă
c) structura global ă se deduce din cea conceptual ă
d) structura global ă se deduce din cea fizic ă
e) structura intern ă se deduce din cea fizic ă
9. Concepte specifice unei baze de date sunt:
a) colecția de propriet ăți
b) colecția de date
c) familia de caracteristici
d) familia de înregistr ări
e) caracteristica Cunoașterea concepteleor într-un domeniu de activitate este de mare importan ță pentru
profesioni ști. Acest lucru este valabil și pentru cei care doresc s ă lucreze cu baze de
date. Conceptele aferente acestui domeniu au fost create de cercet ători, în mare parte,
încă de la apari ția primei genera ții de baze de date, ținându-se cont de evolu ția din
fișiere, ca mod de organizare a datelor în memoria extern ă.
Principalele concepte prezentate sunt: genera ții de baze de date, domeniul de valori,
caracteristica, familia de caracteristici, colec ția de date, baza de date.
Baza de date este un ansamblu de date în memoria extern ă cu următoarele
caracteristici: – organizat, pe trei niveluri (conceptual, logic, fizic);
– structurat, conform unui model de date;
– coerent, prin restric țiile de integritate și protecția datelor;
– cu o redundan ță minimă și controlat ă, prin implementarea unui model de date și
prin aplicarea unei tehnici de proiectare;
– accesibil mai multor utilizatori în timp util.
Pe scurt, este prezentat ă activitatea de administrare a unei baze de date, punctându-se:
ce este un administrator, care sunt nivelurile de administartori, care sunt sarcinile
administratorului BD, precum și instrumentele necesare a fi la dispozi ția sa pentru a
îndeplini aceste sarcini.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
262.6. Răspunsuri și comentarii la testele de autoevaluare
2.7. Bibliografia unit ății de învățare 2
[LUBO95] I. Lungu, C. Bodea ș. a. – “Baze de date – organizare, proiectare
și implementare “, ed. ALL, 1995
[VELU02] M.Velicanu, I.Lungu, M.Muntean, M.Iorga, S.Ionescu –
“Oracle – platform ă pentru baze de date”, ed. Petrion, 2002
1. a, c; 2. b; 3. b, c, e;
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
27Unitatea de înv ățare 3:
BAZE DE DATE RELA ȚIONALE (BDR)
Cuprins
3.1. Obiective
3.2. Conceptul de BDR
3.3. Optimizarea BDR prin tehnica normaliz ării
3.4. Algebra rela țională și calculul rela țional
3.5. Rezumat 3.6. Teste de autoevaluare
3.7. Răspunsuri și comentarii la testele de autoevaluare
3.8. Bibliografia unit ății de învățare 3
3.1. Obiective
După studiul acestei unit ăți de învățare vei avea cuno ștințe despre:
Durata medie a unei unit ăți de studiu individual – 8 ore
¾ bazele de date rela ționale (BDR);
¾ realizarea unei aplica ții cu BDR, ceea ce presupune obligatoriu proiectarea
bazei de date;
¾ diferite tehnici de proiectare a BDR, dintre care cea mai utilizat ă este
normalizarea;
¾ cele cinci forme normale (FN1 la FN5) care se construiesc în procesul de
proiectare a unei BDR;
¾ două domenii importante din teoria rela țională: calculul rela țional și
algebra rela țională, împreun ă cu cei mai importan ți operatori aferen ți
acestora.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
283.2. Conceptul de baze de date rela ționale (BDR)
o Bazele de date rela ționale (BDR) utilizeaz ă modelul de date rela țional
și noțiunile aferente.
o BDR au o solid ă fundamentare teoretic ă, în special prin cercet ările de
la IBM conduse de E.F.Codd.
o BDR este un ansamblu organizat de tabele (relații) împreun ă cu
legăturile dintre ele.
Câteva dintre avantajele BDR față de fișiere:
CRITERIU BDR FI ȘIERE
Independen ța datelor logic ă și fizică fizic ă
Niveluri de structurare conceptual, logic și fizic logic și fizic
Deschidere și portabilitate mare mic ă
reprezentarea și utilizarea
datelor simplificat prin model complicat
structura de date se p ăstrează în dic ționarul BD în programe.
Concepte utilizate la organizarea datelor în memoria extern ă în BDR și respectiv fi șiere:
fi șiere fi șier înregistrare câmp valori
Organizare date în
BDR tabel ă tuplu atribut domeniu valori
(rela ție) (linie) (coloan ă)
Condiții minimale pentru ca un SGBD s ă fie relațional:
− să implementeze modelul de date rela ționale prin LDD și LMD;
− să implementeze cel pu țin un limbaj rela țional.
Notă. Condițiile complete ca un SGBD s ă fie relațional sunt date de cele 13 reguli ale lui
CODD.
3.3. Proiectarea BDR prin tehnica normaliz ării
o Aspecte generale privind proiectarea BD
o Noțiuni privind normalizarea
o Formele normale
a) Aspecte generale privind proiectarea BD
Proiectarea unei BD este un proces în care se utilizeaz ă diferite modele, tehnici și instrumente
pentru a transpune un domeniu din lumea real ă înconjurătoare, în termenii organiz ării datelor
aferente, pe calculator.
Pornind de la lumea real ă se identifică și specifică cerințele aplica ției (domeniul de interes)
prin: documentare, interviu, terminologie, comunicare etc.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
29Rezultatul acestei activit ăți este obținerea elementelor necesare pentru organizarea informa ției
din domeniul respectiv. Acest lucru se realizeaz ă [RICC01] cu ajutorul unor concepte și
instrumente adecvate:
– Schemele BD:
Schema conceptual ă specifică structura organiza țională și conținutul informa țional
al sistemului și reprezint ă un mod de comunicare între proiectan ții și utilizatorii
BD;
Schema logic ă definește informa ția într-o manier ă care poate fi folosit ă pentru
crearea BD.
Schema extern ă organizeaz ă informația într-o ordine care permite accesul
utilizatorilor la BD (construc ția viziunilor).
Notă.Cele două scheme pot fi separate sau integrate într-una singur ă deoarece
ambele se materializeaz ă prin instruc țiuni (nivelul logic) dintr-un limbaj din
SGBD, destinate unor ut ilizatori (extern).
Schema fizic ă specifică reprezentarea informa ției în calculator în termeni fizici
(cum este stocat ă informația în memoria extern ă, pe suportul tehnic de
informație).
– Obiectele din lumea real ă se reprezint ă prin entități care au caracteristici (atribute).
– Obiectele din lumea real ă au asocieri (legături) de diferite tipuri cu alte obiecte, fiecare
având un anumit rol în aceste leg ături.
b) Noțiuni privind normalizarea
Aspectul dinamic al structurii de date este avut în vedere și rezolvat de BDR. Acest lucru
înseamnă că modelul de date rela țional permite schimbarea în timp a structurii de date f ără
schimbarea programelor de aplica ție (independen ța logică).
Tehnica de normalizare este utilizat ă în activitatea de proiectare a structurii BDR și constă în
eliminarea unor anomalii (neajunsuri) de actualizare din structur ă.
Anomaliile de actualizare sunt situa ții nedorite care pot fi generate de anumite tabele în
procesul proiect ării lor:
anomalia de ștergere semnifică faptul că stergând un tuplu dintr-o tabel ă, pe lângă
informațiile care trebuie șterse, se pierd și informațiile utile existente în tuplul
respectiv;
anomaliile de ad ăugare semnifică faptul că nu pot fi incluse noi informa ții
necesare într-o tabel ă, deoarece nu se cunosc și alte informa ții utile (de exemplu
valorile pentru cheie);
anomalia de modificare semnifică faptul că este dificil de modificat o valoare a
unui atribut atunci când ea apare în mai multe tupluri.
Notă. Anomaliile de actualizare sunt rezolvate de c ătre teoria rela țională, lucru care nu se
întâmplă la alte tipuri de BD.
Normalizarea este o teorie construit ă în jurul conceptului de forme normale (FN), care
amelioreaz ă structura BD prin înl ăturarea treptat ă a unor neajunsuri și prin imprimarea unor
facilități sporite privind manipularea datelor.
Notă. Teoria normaliz ării a fost conceput ă inițial de către E.F.Codd, ulterior aducându- și
contribuția și alți cercetători.
Normalizarea utilizeaz ă ca metod ă descompunerea (top-down) unei tabele în dou ă sau mai
multe tabele, p ăstrând informa ții (atribute) de leg ătură.
c) Formele normale
O tabelă (relație) este într-o formă normală (FN) dac ă satisface anumite restric ții, care arat ă că
FN(i+1) este preferat ă față de FN(i), i=1,4.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
30Sunt cinci forme normale (FN1 la FN5) și una suplimentar ă (BCNF) care revizuie ște FN3.
O bază de date este în FNi , i=1,5 dac ă toate tabelele sale sunt în FNi.
BD inițială va fi format ă dintr-o singur ă colecție de date, care apoi se descompune în mai
multe tabele, parcurgând formele normale.
FN1
O tabelă este în FN1 dacă toate atributele ei con țin valori elementare (nedecompozabile), adic ă
fiecare tuplu nu trebuie s ă aibă date la nivel de grup sau repetitiv .
Structurile de tip arborescent și rețea se transform ă în tabele cu atribute elemntare.
O tabelă în FN1 prezint ă încă o serie de anomalii de actualizare datorit ă eventualelor
dependen țe funcționale incomplete.
Fiecare structură repetitivă genereaz ă (prin descompunere) o nou ă tabelă, iar atributele la nivel
de grup se înl ătură, rămânând doar cele elemntare.
FN2
O tabelă este în FN2 dacă
și numai dac ă este în FN1 și fiecare atribut noncheie al tabelei este
dependent func țional complet de cheie.
Un atribut B al unei tabele depinde func țional de atributul A al aceleia și tabele, dac ă fiecărei
valori a lui A îi corespunde o singur ă valoare a lui B, care îi este asociat ă în tabelă.
Un atribut B este dependent func țional complet de un ansamblu de atribute A în cadrul aceleia și
tabele, dac ă B este dependent func țional de întreg ansamblul A (nu numai de un atribut din
ansamblu).
O tabelă în FN2 prezint ă încă o serie de anomalii de actualizare, datorit ă eventualelor
dependen țe tranzitive.
Eliminarea dependen țelor incomplete se face prin descompunerea tabelei ini țiale în dou ă
tabele, ambele con ținând atributul intermediar (B).
FN3
O tabelă este în FN3 dacă și numai dac ă este în FN2 și fiecare atribut noncheie depinde în mod
netranzitiv de cheia tabelei.
Într-o tabel ă T, fie A,B,C trei atribute cu A cheie. Dac ă B depinde de A (A B) și C
depinde de B (B C) atunci C depinde de A în mod tranzitiv .
Eliminarea dependen țelor tranzitive se face prin descompunerea tabelei ini țiale în dou ă tabele,
ambele con ținând atributul intermediar (B).
O tabelă în FN3 prezint ă încă o serie de anomalii de actualizare, datorate eventualelor
dependen țe multivaloare.
Notă. O definiție mai riguruas ă pentru FN3 a fost dat ă prin forma intermediar ă BCNF (Boyce
Codd Normal Form): o tabel ă este în BCNF dac ă fiecare determinant este un candidat
cheie.Determinantul este un atribut elementar sau compus fa ță de care alte atribute sunt
complet dependente func țional.
FN4
O tabelă este în FN4 dacă și numai dac ă este în FN3 și nu conține două sau mai multe
dependen țe multivaloare .
Într-o tabel ă T, fie A,B,C trei atribute. În tabela T se men ține dependen ța multivaloare A dac ă
și numai dac ă mulțimea valorilor lui B ce corespunde unei perechi de date (A,C), depinde
numai de o valoare a lui A și este independent ă de valorile lui C.
FN5
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
31O tabelă este în FN5 dacă și numai dac ă este în FN4 și fiecare dependen ță joncțiune este
generată printr-un candidat cheie al tabelei.
În tabela T (A,B,C) se men ține dependen ța joncțiune (AB, AC) dac ă și numai dac ă T menține
dependen ța multivaloare A B sau C.
Notă. Dependen ța multivaloare este caz particular al dependen ței joncțiune. Dependen ța
funcțională este caz particular al dependen ței multivaloare.
3.4. Algebra rela țională și calculul rela țional
o Pentru manipularea datelor conform modelului rela țional se
folosesc operatorii din algebra și calculul rela țional [RICC01].
o Pentru implementarea acestor operatori exist ă comenzi specifice în
LMD din SGBDR. Aceste comenzi sunt utilizate în opera ții de
regăsire (interogare).
După tehnica folosit ă la manipulare, LMD sunt bazate pe:
− calculul rela țional (QUEL în Ingres, ALPHA propus de Codd);
− algebra rela țională (ISBL, RDMS);
− transformarea (SQL, SQUARE);
− grafică (QBE, QBF).
Calculul rela țional
Calculul rela țional se bazeaz ă pe calculul predicatelor de ordinul întâi (domeniu al logicii) și a
fost propus de E.F.Codd.
Predicatul este o rela ție care se stabile ște între anumite elemente și care poate fi confirmat ă sau
nu. Predicatul de ordinul 1 este o rela ție care are drept argumente variabile care nu sunt predicate.
Variabila poate fi de tip tuplu (valorile sunt dintr-un tuplu al unei tabele) sau domeniu (valorile
sunt dintr-un domeniu al unei tabele).
Cuantificatorii (operatorii) utiliza ți în calculul rela țional sunt: universal ( ∀) și existențial (∃).
Construcț
ia de bază în calculul rela țional este expresia rela țională de calcul tuplu sau domeniu
(funcție de tipul variabilei utilizate).
Expresia rela țională de calcul este format ă din:
− operația de efectuat;
− variabile (tuplu respectiv domeniu);
− condiții (de compara ție, de existen ță);
− formule bine definite (operanzi-constante, variabile, func ții, predicate;
operatori);
− cuantificatori.
Notă. Exemplu de implementare a calculului rela țional în limbajul QUEL vezi în cartea
[VELU00].
Algebra rela țională
Algebra rela țională este o colec ție de opera ții formale aplicate asupra tabelelor (rela țiilor), și ea
a fost conceput ă de E.F.Codd.
Operațiile sunt aplicate în expresiile algebrice rela ționale care sunt cereri de reg ăsire.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
32Acestea sunt compuse din operatorii rela ționali și operanzi.
Operanzii sunt întotdeauna tabele (una sau mai multe).
Rezultatul evaluării unei expresii rela ționale este format dintr-o singur ă tabelă.
Algebra rela țională are cel pu țin puterea de reg ăsire a calcului rela țional. O expresie din
calculul rela țional se poate transforma într-una echivalent ă din algebra rela țională și invers.
Operatorii din algebra rela țională pot fi grupa ți în două categorii (R1, R2, R3 sunt rela ții
(tabele)):
1. Operatori pe mul țimi
REUNIUNEA: R3 = R1 ∪ R2, unde R3 va con ține tupluri din R1 sau R2 luate o singur ă dată.
DIFEREN ȚA: R3 = R1 \ R2, unde R3 va con ține tupluri din R1 care nu se reg ăsesc în R2
PRODUSUL CARTEZIAN: R3 = R1 × R2, unde R3 va con ține tupluri construite din perechi
(x1x2), cu x1 ∈R1 și x2∈R2.
INTERSEC ȚIA:R3 = R1 ∩ R2, unde R3 va con ține tupluri care se g ăsesc în R1 și R2 în acela și
timp.
2. Operatori rela ționali speciali
SELECȚIA: din R1 se ob ține o subtabel ă R2, care va con ține o submul țime din tuplurile
inițiale din R1 ce satisfac un predicat (o condi ție).
Numărul de atribute din R2 = num ărul de atribute din R1
Numărul de tupluri din R2 < num ărul de tupluri din R1.
PROIECȚIA: din R1 se ob ține o subtabel ă R2, care va con ține o submul țime din atributele
inițiale din R1 și fără tupluri duplicate
Numărul de atribute din R2 < num ărul de atribute din R1
Numărul de tupluri din R2 ≤ numărul de tupluri din R1.
JONCȚIUNEA: deriva ție a produsului cartezian, ce presupune utilizarea unui calificator care s ă
permită compararea valorilor unor atribute din R1 și R2, iar rezultatul în R3.
R1 și R2 trebuie s ă aibă unul sau mai multe atribute comune care au valori comune.
Note .
1) Codd a introdus șase operatori de bază (reuniunea, diferen ța, produsul
cartezian, selec ția, proiec ția , jonc țiunea) și doi operatori derivați
(intersecția și diviziunea).
2) Ulterior au fost introdu și și alți operatori deriva ți (speciali ).
3) Algebra rela țională este prin defini ție neprocedural ă (descriptiv ă), iar
calculul rela țional permite o manier ă de c ăutare mixtă
(procedural ă/neprocedural ă).
Transformarea
Oferă o putere de reg ăsire echivalent ă cu cea din calculul și algebra rela țională.
Se bazeaz ă pe transformarea (mapping) unui atribut sau grup de atribute într-un atribut dorit
prin intermediul unor rela ții.
Rezultatul este o rela ție (tabelă) care se poate utiliza într-o alt ă transformare.
Grafica
Oferă interactivitate mare pentru constrirea cererilor de reg ăsire.
Utilizatorul specific ă cerea alegând sau completând un ecran structurat grafic.
Poate fi folosit de către toate categoriile de utilizatori în informatic ă.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
333.5. Rezumat
implementare.
3.6. Teste de autoevaluare
Se define ște noțiunea de bază de date rela țională (BDR) ținând cont de modelul de date
relațional. Se face o comparație a noțiunilor utilizate în BDR cu cele utlizate la lucrul cu
fișiere.
Realizarea unei aplica ții cu BDR este o activitate complex ă, care presupune obligatoriu
proiectarea bazei de date. În acest sens se folosesc diferite tehnici, dintre care cea mai
utilizată este normalizarea. Scopul tehnicii de normalizare este de a elimina, în procesul de
proiectare, anomaliile de actualizare.
Sunt prezentate cele cinci forme normale (FN1 la FN5) care se construiesc în procesul de
proiectare a unei BDR.
În continuare, se prezint ă un exemplu practic de proiectare a unei BDR prin tehnica de
normalizare, ajungându-se la o schem ă conceptual ă. Sunt exemplificate doar primele trei
forme normale, deoarece acestea sunt cele mai utilizate în aplica țiile practice.
În finalul capitolului se prezint ă o sinteză a două domenii importante din teoria rela țională:
calculul rela țional și algebra rela țională. Fiecare dintre cele dou ă domenii este definit pe
scurt, iar apoi sunt prezenta ți cei mai importan ți operatori aferenți. Sunt citate exemple de
limbaje rela ționale clasificate dup ătehnica folosit ăla implementare.
1. O tabelă este în FN3 dac ă:
a) este în FN2 și fiecare atribut noncheie depinde în mod netranzitiv de cheia
tabelei
b) este în FN1 și fiecare atribut cheie depinde tranzitiv de atributele noncheie
c) este în FN2 și are dependen țe complete
d) este în FN1 și are dependen țe funcționale incomplete
e) este în FN2 și are cel pu țin o dependen ță funcțională completă între
atributele noncheie și cheia tabelei
2. Calculul rela țional:
a) are drept construc ție de bază expresia de calcul tuplu sau expresia de calcul
domeniu
b) este implementat în limbajul ISBL
c) conține operatorul de jonc țiune
d) stă la baza limbajelor procedurale universale
e) folosește noțiunea de formul ă bine definit ă
3. O tabelă este în FN1 dac ă:
a) există atribute la nivel de grup
b) există atribute repetitive
c) nu există atribute la nivel de grup
d) există atribute decompozabile
e) nu există atribute re petitive
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
343.7. Răspunsuri și comentarii la testele de autoevaluare
3.8. Bibliografia unit ății de învățare 3
[CONN00] T.Connolly – “Database Systems”, ed.Mc Graw Hill, 2000 [DATE94] J.Date – “ An introduction to Database Systems”, ed. Addison
Wesley, 1994
[RICC01] G.Riccardo – “Principles of Database Systems – with Internet
and Java Applications”, ed.Addison Wesley, 2001
[VELU00] M.Velicanu, I.Lungu ș.a. – “Sisteme de gestiune a bazelor de
date”, ed.Petrion, 2000
[VELU01] M.Velicanu, I.Lungu, M.Muntean – “Dezvoltarea aplica țiilor cu
baze de date în Visual Foxpro”, ed. ALL, 2001
1. a; 2. a, e; 3. c, e;
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
35Unitatea de înv ățare 4:
METODOLOGIA DE REALIZAR E A BAZELOR DE DATE
Cuprins
4.1. Obiective
4.2. Organizarea unei baze de date
4.3. Obiectivele urm ărite în realizarea unei baze de date
4.4. Etape în realizarea unei baze de date
4.5. Utilizarea metodologiei UML în proiectarea bazelor de date
4.6. Proiectarea bazelor de date rela ționale – o extensie UML
4.7. Eficien ța bazelor de date
4.8. Rezumat
4.9. Teste de autoevaluare
4.10. Răspunsuri și comentarii la testele de autoevaluare
4.11. Bibliografia unit ății de învățare 4
4.1. Obiective
După studiul acestei unit ăți de învățare vei avea cuno ștințe despre:
Durata medie a unei unit ăți de studiu individual – 12 ore
¾ activitatea de realizare a unei baze de date;
¾ organizarea activit ății de realizare a unei baze de date (intr ările, memorarea
datelor, protec ția datelor, leg ăturile datelor) astfel încât s ă se poată decide
dacă merită sau nu demararea ac țiunii respective;
¾ metodologiile de realizare a bazelor de date;
¾ etapele (activit ățile) care trebuie parcurse în vederea realiz ării unei baze de
date: analiza de sistem, proiectarea noului sistem, realizarea componentelor logice, punerea în func țiune, dezvoltarea;
¾ eficiența activității de realizare a bazelor de date, important ă pentru
evaluarea investi ției efectuate.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
36
4.2. Organizarea unei baze de date
o Activitatea de realizare a unei baze de date trebuie s ă înceapă cu
organizarea acesteia, adic ă pregătirea acțiunii. În cadrul acestei
pregătiri, ținând cont de obiectivele urm ărite pentru realizarea bazei de
date, se va face un fel de inventar a ceea ce este un minim necesar
pentru a se putea realiza baza de date. Se poate astfel, din start, hotarî
dacă activitatea va demara imediat sau dac ă mai sunt necesare alte
acțiuni pregătitoare.
o Prezentăm, în continuare, câteva aspecte mai importante urm ărite la
organizarea unei baze de date:
1. Organizarea intr ărilor de date, se refer ă la:
− sursa datelor (documente primite, fi șiere etc.);
− actualizarea datelor (moduri, momente, reorganiz ări etc.);
− controlul intr ărilor de date (natur ă, conținut, format, peri odicitate etc.).
2. Organizarea memor ării datelor, se refer ă la:
− principii de memorare (memoria intern ă/externă, forma de stocare, leg ături între
date, tehnici utilizate etc.);
− optimizarea memor ării (redundan ță, spațiu, alocare, codificare, reorganizare etc.).
3. Organizarea protec ției datelor sub cele dou ă aspecte (securitatea și integritatea), se refer ă
la:
− instrumente oferite de c ătre SGBD (autorizare acces, fi șiere jurnal, arhiv ări etc.);
− metode proprii (parole, rutine speciale, antivirus etc.).
4. Organizarea leg ăturilor bazei de date cu alte aplica ții, se refer ă la: conversii, standarde,
compatibilit ății, interfețe etc.
4.3. Obiectivele urm ărite la realizarea unei BD
o Atunci când dorim s ă realizăm o bază de dată trebuie să știm clar
ce avem de f ăcut, adică să stabilim obiectivele activit ății nostre. În
acest sens, câteva dintre cele mai importante obiective , le
prezentăm în continuare. Acestea, ar trebui s ă constituie un set
minim de obiective, de care s ă se țină cont la realizarea unei baze
de date:
1. Partiționarea semnifică faptul că aceleași date trebuie s ă poată fi folosite în moduri
diferite de c ătre diferiți utilizatori.
2. Deschiderea se referă la faptul c ă datele trebuie s ă fie ușor adaptabile la schimb ările care
pot apărea (actualizarea structurii, tipuri noi de date etc.).
3. Eficiența are în vedere stocarea și prelucrarea datelor, care trebuie s ă se facă la costuri cât
mai scăzute, costuri care s ă fie inferioare beneficiilor ob ținute.
4. Reutilizarea înseamnă faptul că fondul de date existent trebuie s ă poată fi reutilizat în
diferite aplica ții informatice.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
375. Regăsirea este o actvitate frecvent ă pe bazele de date și de aceea cererile de reg ăsire
trebuie să poată fi adresate u șor de către toate categoriile de utilizatori, dup ă diferite
criterii.
6. Accesul înseamnă modul de localizare a datelor și acest lucru trebuie s ă poată fi realizat
prin diferite moduri de acces, rapid și ușor.
7. Modularizarea presupune faptul c ă realizarea BD trebuie s ă se poată face modular pentru
generalitate și posibilitatea lucrului în echip ă.
8. Protecția bazei de date trebuie asigurat ă sub ambele aspecte: securitatea și integritatea
datelor.
9. Redundan ța se asigur ă în limite acceptabile prin implementarea unui model de date pentru
baze de date și prin utilizarea unei tehnici de proiectare a BD. Se asigur ă astfel, o
redundanță minimă și controlat ă.
10. Independen ța datelor fa ță de programe trebuie asigurat ă atât la nivel logic cât și și fizic.
4.4. Etape în realizarea unei BD
o Activitățile (etapele) parcurse pentru realizarea unei BD sunt:
analiza de sistem, proiectarea noului sistem, realizarea
componentelor logice, punerea în func țiune, dezvoltarea.
1. Analiza de sistem .
Scopul acestei activit ăți este de a eviden ția cerințele aplica ției și resursele utilizate (studiul),
precum și de a evalua aceste cerin țe prin modelare (analiza).
STUDIUL situa ției existente se realizeaz ă prin:
− definirea caracteristicilor generale ale unit ății;
− identificarea activit ăților desfășurate;
− identificarea resurselor existente (informa ționale, umane, energetice,
echipamente, financiare etc.);
− identificarea necesit ăților de prelucrare.
ANALIZA sistemului existent urmeaz ă investigării (studiului) și utilizeaz ă informațiile
obținute de aceasta.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
38
Fig. 4.1. Activit ățile parcurse pentru realizarea unei baze de date
Analiza este o activitate de modelare (conceptual ă) [RICC01] și se realizeaz ă sub trei
aspecte : structural, dinamic și funcțional.
a) Analiza structural ă evidențiază, la nivel conceptual, modul de structurare a datelor și a
legăturilor dintre ele. Cea mai utilizat ă tehnică este entitate-asociere . Aceasta con ține:
1) Identificarea entit ăților: fenomene, procese, obiecte concrete sau abstracte
(substantivele din prezentarea activit ății descrise) (exemple de entit ăți: Persoane,
Produse, Beneficiari).
2) Identificarea asocierilor dintre entit ăți ca fiind leg ăturile semnificative de un
anumit tip (verbele din prezentarea activit ății descrise).
3) Identificarea atributelor ce caracterizeaz ă fiecare entitate în parte (exemple de
atribute: Marca, Nume, Adres ă).
4) Stabilirea atributelor de identificare unic ă a realizărilor entit ății, drept chei.
Rezultatul analizei structurale: modelul static (structural) numit și diagrama entitate-asociere.
Notă. Diagrama entitate-asociere (Entit y-Relationship) poate fi generat ă cu produse software
tip CASE (Computer Aided Software Engineering), ca de exemplu Oracle Designer. Pornind de la o astfel de diagram ă, se pot construi, în actvitatea de proiectare, schemele rela țiilor
(tabelelor). Pentru aceast ă translatare exist ă un set de 14 reguli [vezi RICC01] care pot fi
aplicate.
b) Analiza dinamic ă
evidențiază comportamentul elementelor sistemului la anumite
evenimente. Una din tehnicile utilizate este diagrama stare-tranzi ție. Aceasta presupune:
1) Identificarea st ărilor în care se pot afla componentele sistemului.
2) Identificarea evenimentelor care determin ă trecerea unei componente dintr-o
stare în alta.
3) Stabilirea tranzi țiilor admise între st ări.
4) Construirea diagramei stare-tranzi ție.
Rezultatul analizei dinamice: modelul dinamic
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
39c) Analiza func țională evidențiază modul de asigurare a cerin țelor informa ționale (fluxul
prelucrărilor) din cadrul sistemului, prin care intr ările sunt transformate în ie șiri. Cea mai
utilizată tehnică este diagrama de flux al datelor. Conform acestei tehnici se delimiteaz ă:
1) Aria de cuprindere a sistemului.
2) Se identific ă sursele de date.
3) Se identific ă modul de circula ție și prelucrare a datelor.
4) Se identific ă apoi rezultatele ob ținute.
Rezultatul analizei func ționale: modelul func țional.
Notă. Exemplu privind activitatea de analiz ă, sub toate cele trei aspecte prezentate mai sus,
vezi în cartea [LUVE00].
2. Proiectarea structurii bazei de date
Pornind de la modelele realizate prin activitatea de analiz ă, se poate proiecta structura BD,
parcurgând dou ă subactivit ăți: alegerea SGBD-ului, proiectarea func țiilor BD.
a) Alegerea SBGD -ului se face ținând cont de dou ă aspecte: cerin țele aplica ției
(utilizatorului) și performan țele tehnice ale SGBD-ului.
Cerinț
ele aplica ției se referă la:
− volumul de date estimat a fi memorat și prelucrat în BD;
− complexitatea problemei de rezolvat;
− ponderea și frecvența operațiilor de intrare/ie șire;
− condiții privind protec ția datelor;
− operații necesare pe baza de date (înc ărcare/validare, actualizare, reg ăsire etc.);
− particularit ăți ale activit ății pentru care se realizeaz ă baza de date.
Performan țele tehnice ale SGBD-ului se refer ă la:
− modelul de date pe care-l implementeaz ă;
− ponderea utiliz ării SGBD-ului pe pia ță și tendința;
− configura ția de calcul minim ă cerută;
− limbajele de programare din SGBD;
− facilități de utilizare oferite pentru diferite categorii de utilizatori;
− limitele SGBD-ului;
− optimizări realizate de SGBD;
− facilități tehnice:
• lucrul cu mediul distribuit și concuren ța de date;
• elemente de multimedia;
• elemente de CASE;
• interfețe de comunicare;
• autodocumentarea;
• instrumente specifice oferite.
b) Proiectarea func țiilor BD (vezi și [RAGE00]) se realizeaz ă prin: proiectarea schemelor
BD, proiectarea modulelor func ționale specializate.
Proiectarea schemelor BD se realizeaz ă pornind de la rezultatele model ării conceptuale
(analiza de sistem) și ținând cont de modelul de date implementat de SGBD-ul ales. Se vor
proiecta schemele: conceptual ă, externă, internă.
Proiectarea schemei conceptuale pornește de la identificarea setului de date necesar
sistemului. Aceste date sunt apoi integrate și structurate într-o schem ă (exemplu: pentru BD
relaționale cea mai utilizat ă tehnică este normalizarea ). Pentru acest lucru se parcurg pașii:
1. Stabilirea schemei conceptuale ini țiale care se deduce din modelul entitate-
asociere (vezi analiza structural ă). Pentru acest lucru, se transform ă fiecare
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
40entitate din model într-o colec ție de date (fi șier), iar pentru fiecare asociere se
definesc cheile aferente. Dac ă rezultă colecții izolate, acestea se vor lega de alte
colecții prin chei rezultând asocieri (1:1, 1:M, M:N).
2. Ameliorarea progresiv ă a schemei conceptuale prin eliminarea unor anomalii
(exemplu: cele cinci form e normale pentru BD rela ționale).
3. Stabilirea schemei conceptuale finale trebuie s ă asigure un echilibru între
cerințele de actualizare și performan țele de exploatare (exemplu: o form ă
normală superioar ă asigură performan țe de actualizare, dar timpul de r ăspuns va
fi mai mare).
Proiectare schemei externe are rolul de a specifica viziunea fiec ărui utilizator asupra BD.
Pentru acest lucru, din schema conceptual ă se identific ă datele necesare fiec ărei viziuni.
Datele ob ținute se structureaz ă logic în subscheme ținând cont de facilit ățile de utilizare și de
cerințele utilizator. Schema extern ă devine opera țională prin construirea unor viziuni (view)
cu SGBD-ul și acordarea drepturilor de acces. Datele într-o viziune pot proveni din una sau
mai multe colec ții și nu ocupă spațiul fizic.
Proiectarea schemei interne presupune stabilirea structurilor de memorare fizic ă a datelor și
definirea c ăilor de acces la date. Acestea sunt specifice fie SGBD-ului (scheme de alocare), fie
sistemului de operare. Proiectarea schemei interne înseamn ă realizarea operațiilor:
1. estimarea spațiului fizic pentru BD și definirea unui model fizic de alocare (a se vedea
dacă SGBD-ul permite explicit acest lucru);
2. definirea unor indecși pentru accesul direct, dup ă cheie, la date;
Un ghid privind activitatea de indexare [RAG E00] pentru baze de date, poate include
pașii:
– necesitatea index ării: se indexeaz ă dacă se reduce timpul de c ăutare sau dac ă
este necesar ă ordonarea datelor;
– alegerea cheii de indexare: atributele din clauzele WHERE / FOR sunt
candidate pentru chei;
– cheile construite din atribute multipl e: mai multe atribute separate (cheie
multiplă) sau concatenate (cheie compus ă), într-o anumit ă ordine;
– tipul de indexare: arbori (pentru cereri cu egalitate), hash-cod (pentru cereri
cu joncțiune) etc.;
– costul între ținerii indec șilor este dat de dou ă aspecte: indec șii se șterg dacă
operațiile care-i implic ă sunt rare (se reduce astfel spa țiul) și indecșii se
păstrează dacă operațiile care-i implic ă sunt dese (se reduce astfel timpul).
3. construirea unor clustere , care înseamn ă regruparea fizic ă a datelor din BD, pentru a
permite un acces mai rapid pentru anumi ți utilizatori. Datele pot proveni din una sau mai
multe colec ții. Clusterele genereaz ă avantaj la reg ăsire și dezavantaj la actualizare, în ceea
ce privește timpul de r ăspuns.
Proiectarea modulelor func ționale ține cont de concep ția general ă a BD, precum și de
schemele proiectate anterior. În acest sens, se proiecteaz ă:
− fluxul informa țional;
− modulele de înc ărcare și manipulare a datelor;
− interfețele specializate;
− integrarea elementelor proiectate cu organizarea și funcționarea BD.
3. Realizarea componentelor logice
Componentele logice ale unei BD sunt programele de aplica ție dezvoltate, în cea mai mare
parte, în SGBD-ul ales. Programele se realizeaz ă conform modulelor func ționale proiectate în etapa anterioar ă.
Componentele logice țin cont de ie șiri, intrări, prelucr ări și colecțiile de date.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
41În paralel cu dezvoltarea programelor de aplica ții se întocmesc și documenta țiile diferite
(tehnică, de exploatare, de prezentare).
4. Punerea în func țiune și exploatarea
Se testeaz ă funcțiile BD mai întâi cu date de test, apoi cu date reale.
Se încarcă datele în BD și se efectueaz ă procedurile de manipulare, de c ătre beneficiar cu
asistența proiectantului.
Se definitiveaz ă documenta țiile aplica ției.
Se intră în exploatare curent ă de către beneficiar conform documenta țiiei.
5. Dezvoltarea sistemului
Imediat dup ă darea în exploatare a BD, în mod continuu, pot exista factori perturbatori care
generează schimbări în BD.
Schimbările necesare trebuie preluate de BD u șor și “din mers”.
Factorii pot fi: organizatorici, datora ți progresului tehnic, rezulta ți din cerin țele noi ale
beneficiarului, din schimb area metodologiilor etc.
4.5. Utilitatea metodologiei UM L în proiectarea bazelor de date
o Complexitatea deosebita a sistemelor actuale a determinat
abordarea pe scara larga a principiilor orientarii obiectuale nu
doar în ceea ce priveste programarea ci si în proiectarea lor, lucru
care a avut consecinte si asupra proiectarii bazelor de date. În general modelarea orientata obiect (gen UML) este privita ca
apanajul doar al proiectarii (sau dezvoltarii) aplicatiilor orientate
obiect.
Aceasta abordare se dovedeste însa limitata având în vedere doua aspecte :
1. Pe de o parte proiectarea apl icatiilor (orientate obiect) cu baze de date separata de
proiectarea bazei de date va produce un nivel suplimentar de mapare a entitatilor care
figureaza în cele doua arii la nivel conceptual . Proiectarea unui sistem integrat din care sa
rezulte concertat ce obiecte vor fi stocate persistent în baza de date, ce obiecte vor face parte
din package -urile sau modulele aplicatiilor rezidente sub forma componentelor si modul cum
vor interactiona între ele se poate dovedi o al ternativa mai buna. Singurul substrat suplimentar
(care poate fi modelat si el prin stereotipuri UML) ar fi cel al maparii entitatilor conceptuale în
structurile oferite de modelul logic al bazei de date pentru stocare si regasire.
2. Pe de alta parte modelele logice ale bazelor de date relationale comerciale propun astazi o
serie de concepte noi cum sunt procedurile st ocate si declansatoarele care nu fac parte din
modele relationale traditionale si de obicei nu sunt luate în considerare în faza proiectarii
bazei de date . Valorificarea direct în proiectarea conceptuala a acestora se poate face folosind
concepte orientate obiect si mecanismele de ex tensibilitate ale unui limbaj de modelare cum
este UML.
Motivatiile pentru care metodologia UML ar fi potri vita si pentru specificarea modelelor
implicate în proiectarea bazelor de date (fata met odele traditionale) ar putea fi rezumate astfel:
modelul structural al UML încorporeaza toate conceptele modelului entitate –relatie
(cel mai popular model pentru proiectarea conceptuala a bazelor de date) plus conceptele specifice modelelor semantice (generalizare, agregare) si abordarii
orientate obiect (mostenire, polimorfism, supraîncarcare). Limbajul UML poseda
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
42mecanismele de extensibilitate (restrictii, stereotipuri, note, etichete) care fac posibila
specializarea modelului în functie de aspect ele particulare ale sistemelor cu baze de
date (flexibilitate sporita în modelare);
conceptele limbajului UML propun un vocabular comun între modelele rezultate din
proiectarea sistemului ca ansamblu si cele din proiectarea specifica bazei de date;
metodologia UML (procesul unificat) favorizeaza munca în echipa: scopul folosirii
UML pentru modelarea proceselor afacerii, dezvoltarii aplicatiilor si modelarii bazei
de date este integrarea echipelor de dez voltare pentru a împiedica construirea unei
arhitecturi fara implicarea corespunzatoare în acest proces a tuturor echipelor care concura la realizarea sistemului în ansamblu;
integrarea instrumentelor de dezvoltare din diferitele arii de interes din care rezulta
arhitectura sistemului pe baza unei pl atforme conceptuale comune. Instrumentele
CASE bazate pe metodologii obiectuale ofereau initial suport pentru proiectarea
generala a sistemului si mai putin pentru proiectarea de detaliu. Cu alte cuvinte
arhitectura sistemului era sprijinita prin instrumente upper CASE destul de slab
integrate cu cele lower CASE .
Adoptarea UML ca limbaj de modelare a produs în acest sens doua mutatii:
aparitia de noi instrumente CASE care ofer a suport pentru întreg ciclu de dezvoltare
pâna la obtinerea unei versiuni complete a sistemului (gen Rational Rose);
integrarea de noi facilitati dedicate modelarii în mediile de dezvoltare integrate
comerciale (gen suitele de dezvoltare de la Borland, Microsoft sau Oracle) cu
posibilitati de proiectare vizuala din care sa rezulte componentele continând codul
sursa sau scripturile pentru generarea schemelor bazelor de date.
Implicarea metodologiei UML în proiectarea bazelor de dat e nu constituie un pas artificial ci
o integrare naturala cu procesul mai larg al construirii sistemelor informationale pe principii
obiectuale.
4.6. Proiectarea ba zelor de date rela ționale – o extensie UML
o Diagrama claselor prezint ă un mecanism neutru de implementare
pentru modelarea aspectelor ce țin de stocarea datelor sistemului.
Clasele persistente, atributele acestora și relațiile dintre ele pot fi
implementate direct într-o baz ă de date orientat ă obiect . Cu toate
acestea, în prezent, bazele de date rela ționale rămân modalitatea
de stocare a datelor cea mai uzual ă.
Diagrama claselor din UML permite m odelarea unor aspecte specifice proiect ării bazelor de
date relaționale, dar nu acoper ă în întregime aceast ă problematic ă, de notat faptul c ă nu
prevede no țiunea de atribute cheie care sunt mecanismul principal de rela ționare a tabelelor.
Pentru a surprinde mai bine aceste aspecte este bine s ă se apeleze la diagrama entitate asociere
(ER), în completarea setului de diagrame propus de UML. Diagrama claselor poate fi utilizat ă
pentru a modela logic baza de date, independent de faptul c ă se alege o implementare
relațională sau orientat ă obiect, prin clase reprezentându-se tabelele, iar prin atribute coloanele
acestora. Dac ă se alege pentru implementare un mediu rela țional, atunci diagrama claselor
poate fi u șor translatat ă într-o diagram ă logică entitate asociere. Claselor persistente și
atributelor acestora le corespund entit ățile logice și atributele lor, iar rela țiilor dintre clase le
corespund rela ții între entit ăți.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
43
Fig. 4.2. Proiectarea BDR cu ajutorul diagramei entitate asociere
Odată întocmit ă această diagram ă se poate trece la proiectarea bazei de date rela ționale
conform tehnicii normaliz ării.
4.7. Eficien ța bazelor de date
o Efectele directe și indirecte ale bazelor de date conduc spre
eficiență, mai ales pentru aplica țiile mari și complexe, acolo unde
alte produse informatice nu fac fa ță.
Efectele utiliz ării BD conduc spre avantajele oferite de acestea:
− elimină redundan țele necontrolate;
− crește productivitatea activit ății informatice;
− oferă suport informa țional optim pentru conducere și execuție;
− permite interogarea datelor de c ătre toate categoriile de utilizatori;
− conduce spre aplica ții deschise.
Efortul depus pentru realizarea și întreținerea unei BD este considerabil și de aceea investi ția
necesară trebuie fundamentat ă pentru a putea fi recuperat ă.
Fundamentarea investiției pentru o aplica ție cu BD se face prin studiul de fezabilitate
(analiza preliminar ă) care va con ține un studiu al costurilor și o evaluare a efortului de
realizare și întreținere.
Etape care trebuie parcurse pentru stabilirea eficien ței BD:
1. Studiul costurilor ini țiale (de realizare)
costul software-ului necesar;
costul hardware-ului necesar;
costul impus de trecerea de la sistemul existent la SBD;
costul resurselor necesare (umane, materiale, informa ționale etc.);
costul consultan ței tehnice.
2. Evaluarea costurilor de funcționare a BD
costul de punere în func țiune;
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
44 costul de exploatare;
costul de între ținere și dezvoltare.
3. Calcule de rentabilitate
utilizarea unor metode specifice (exemplu: Analiza Cost Beneficiu)
utilizarea unor instrumente hardware și software specializat e pentru BD (cresc
performan ța, scad portabilitatea).
4.8. Rezumat
Activitatea de realizare a une i baze de date este complex ă și cere un efort considerabil.
De aceea, ea trebuie realizat ă sistematic, dup ă o metodologie adecvat ă.
Înainte de a se realiza o baz ă de date, se are în vedere organizarea acestei activit ăți
(intrările, memorarea datelor, protec ția datelor, leg ăturile datelor) astfel încât s ă se
poată decide dac ă merită sau nu demararea ac țiunii respective.
După luarea deciziei c ă baza de date este posibil a fi realizat ă, se fixeaz ă câteva dintre
obiectivele importante ale acestei activit ăți: partiționarea, deschiderea, eficien ța,
reutilizarea, reg ăsirea, accesul, modularizarea, protec ția, redundan ța, independen ța.
În continuare, pentru realizarea bazei de date, se poate urma o metodologie anume sau
se pot parcurge etapele (activit ățile) prezentate: analiza de sistem, proiectarea noului
sistem, realizarea componentelor logice, punerea în func țiune, dezvoltarea.
Atât pe parcursul realiz ării unei baze de date cât și după aceea, trebuie avut ă în vedere
eficiența acestei activit ăți. Acest lucru este important pentru c ă investiția pentru
realizarea unei baze de date este mare și ea se recupereaz ă în timp. Eficen ța bazei de
date va avea în vedere aspecte: studiul costurilor ini țiale, evaluarea costurilor de
funcționare, calcule de rentabilitate etc.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
454.9. Teste de autoevaluare
4.10. Răspunsuri și comentarii la testele de autoevaluare
1. În metodologia de realizare a BD diagrama entitate-asociere rezult ă în
urma:
a) analizei func ționale
b) proiectării dinamice
c) analizei structurale
d) analizei dinamice
e) proiectării logice
2. Eficiența unei baze de date poate fi evaluat ă prin:
a) studiul organigramei întreprinderii
b) studiul costurilor ini țiale
c) calcule de rentabilitate
d) calcule rela ționale
e) algebra rela țională
3. În metodologia de realizare a BD, construirea unei viziuni (view) se face
prin:
a) proiectarea schemei externe
b) proiectarea schemei conceptuale
c) proiectarea schemei interne
d) analiza logic ă
e) analiza global ă
4. Obiective urm ărite în realizarea unei BD sunt:
a) aceleași date nu pot fi utilizate în moduri diferite
b) creșterea prețului de cost pentru memorarea datelor
c) cererile de reg ăsire trebuie s ă fie doar prestabilite
d) aplicațiile cu baze de date trebuie s ă poată reutiliza un fond de date
existent deja
e) redundanța minimă dar necontrolat ă
1. c; 2. b, c; 3. a; 4. d;
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
464.11. Bibliografia unit ății de învățare 4
[SIKO97] A.Silbershartz, H.Korth ș.a. – “Database system concepts”,
ed.McGraw-Hill, 1997
[DATE94] J.Date – “ An introduction to Database Systems”, ed. Addison
Wesley, 1994
[MACI01] L.Maciaszek – “Requirements analysis and system design –
developing Information systems with UML”, ed.Addison
Wesley, 2001
[DIAZ00] O.Diaz – “Advanced database technology and design”,
ed.Piattini, 2000
[RAGE00] R.Ramakrishnan, J.Gehrke – “Database Management Systems”,
ed.Mc Graw Hill, 2000
[RICC01] G.Riccardo – “Principles of Database Systems – with Internet
and Java Applications”, ed.Addison Wesley, 2001
[VELU00] M.Velicanu, I.Lungu ș.a. – “Sisteme de gestiune a bazelor de
date”, ed.Petrion, 2000
[VELU01] M.Velicanu, I.Lungu, M.Muntean – “Dezvoltarea aplica țiilor cu
baze de date în Visual Foxpro”, ed. ALL, 2001
[VELU02] M.Velicanu, I.Lungu, M.Muntean, M.Iorga, S.Ionescu –
“Oracle – platform ă pentru baze de date”, ed. Petrion, 2002
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
47Unitatea de înv ățare 5:
BAZE DE DATE ORIENTATE OBIECT ( BDOO)
Cuprins
5.1. Obiective
5.2. Conceptul de baze de date orientate obiect
5.3. Elemente de proiectare a BDOO
5.4. Tehnici de implementare utilizate în BDOO
5.5. Rezumat 5.6. Teste de autoevaluare
5.7. Răspunsuri și comentarii la testele de autoevaluare
5.8. Bibliografia unit ății de învățare 5
5.1. Obiective
După studiul acestei unit ăți de învățare vei avea cuno ștințe despre:
Durata medie a unei unit ăți de studiu individual – 3 ore
5.2. Conceptul de baze de date orientate obiect
o Limitele sistemelor rela ționale, în special cele referitoare la volume
mari de date și complexitatea ridicat ă a datelor, au determinat evoluția
spre sistemele orientate obiect.
¾ bazele de date orientate obiect (BDOO) în contextul trecerii de la sistemele
relaționale la a treia genera ție de baze de date;
¾ cele mai importante caracteristici specifice unei BDOO și principalele
concepte utilizate la realizarea unei astfel de baze de date;
¾ proiectarea unei BDOO, conform unei an umite metodologii, care precizeaz ă
niște pași care trebuie parcur și;
¾ o serie de tehnici utilizate pentru impl ementarea într-o BDOO a principalelor
elemente care dau facilit ățile acestor sisteme.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
48o Dezvoltarea BDOO (genera ția a treia de BD) a fost favorizat ă (începand cu
anii `90) de urm ătoarele aspecte : noul context informatic, noile tipuri de
baze de date, evolu ția limbajelor de programare.
o Tehnologia orientată obiect const ă în totalitatea conceptelor, metodelor,
proceselor și instrumentelor utilizate pentru construc ția sistemelor cu
obiecte.
o Aplicarea tehnologiei orientat ă obiect la SBD a însemnat avantaje privind
îmbunătățirea structurii de date (modelul orientat obiect) și a celorlalte
componente ale sistemului.
a) Caracteristici ale BDOO
1. Sunt tratate în mod unitar (ca obiecte): datele, programele, comunica ția, de unde rezult ă
independen ța totală între ele.
2. Comunica ția și distribuirea sunt asigurate atât între date, cât și între programe.
3. Structura de date este simplificat ă foarte mult, de unde rezult ă ușurința în utilizare și
portabilitatea ridicat ă a sistemelor rezultate.
4. Lucrul cu obiecte ne apropie firesc de lumea real ă, în care se gasesc obiecte, care au
proprietați, asupra c ărora acționăm noi.
5. Pot fi abordate foarte multe domenii din lumea real ă în care se reg ăsesc cele mai diferite tipuri
de date .
6.Se asigur ă: accesul neprocedural, comunica ția, portabilitatea, deschiderea aplica țiilor cu baze
de date.
b) Notiuni utilizate
Ramân valabile toate noțiunile prezentate la definirea structurii modelului OO: clase (tipuri) de
obiecte, obiecte, metode, mesaje, instan țe, caracteristici (principii) fundamentale ale obiectelor.
Programul este o secven ță liniara de definiri și apeluri de obiecte și clase de obiecte.
BDOO este o mul țime de clase de obiecte persistente (în memoria extern ă), organizat ă coerent și
ordonată în ierarhii, partajat ă pentru utilizatorii concuren ți.
SGBDOO este suportul software complet care asigur ă descrierea (structura obiectului),
manipularea și protecția datelor organizate dupa modelul OO.
Sinteza conceptelor din BDOO:
Lumea real ă se reprezint ă Clase de au drept Obiectele con țin Propriet ăți Domeniu
(entități fizice) prin obiecte instan țe (variabile de valori și stări
de in stanță)
Un obiect se identific ă prin:
nume
identificator
metode
mesaje
implementare (privat ă)
interfață (publică)
caracteristici fundamentale
Paralelă între noțiunile utilizate în sistemele rela ționale și orientate obiect:
Sistem orientat Ierarhia de Clas ă de Obiect Variabil ă de Identificator
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
49obiect clase obiecte instan ță
Sistem
relațional Schema BD Tabel ă Tuplu Atribut Cheie
5.3. Elemente de proiectare a BDOO
o Dezvoltarea tehnologiei OO include și o serie de metodologii
utilizate pentru realizarea aplica țiilor cu BDOO (exemplu: RUP).
o Diferitele metodologii precizeaz ă etape (pași) necesare a fi
parcurse pentru realizarea unei BDOO.
Sintetizand, etapele din diferitele metodologii conduc la urmatoarele activități: analiza,
proiectarea, elaborarea programelor, implementarea și exploatarea .
a)Analiza
Rolul activității de analiz ă este de a preciza universul de discurs (se identific ă entitățile fizice
și operațiile necesare).
Pașii parcurși la analiz ă sunt:
o se delimiteaz ă universul de discurs pornind de la lumea inconjuratoare;
o se identific ă obiectele pornind de la universul de discurs;
o se clasific ă obiectele dupa propriet ăți și comportament obtinandu-se clasele de
obiecte;
o se identific ă secvențele de mesaje c ătre obiecte (leg ăturile dintre obiecte si clase de
obiecte);
o se determin ă secvențele de activit ăți și ciclu de via ță al obiectelor (modelarea).
Parcurgerea pașilor de mai sus se face prin reluari succesive a unor pa și preceden ți.
Rezultatul analizei este un ansamblu de specifica ții scrise în comportamentul cerut.
Note. Referitor la modelele utilizate pentru analiza BDOO pot fi formulate urm ătoarele
afirmații [RICC01]:
1. Modelul entitate-asociere (utilizat la BDR) a fost dezvoltat cu ierarhii de
clase de entit ăți. Acesta este un suport natural pentru conceptele orientate
obiect.
2. Modelele OO pentru analiz ă descriu conținutul informa ției dar și
comportamentul ei (metodele care se folosesc pentru manipularea obiectelor)
Un model standard este ODL (Object Definition Language – produs de
ODMG).
Schema ODL este o colec ție de defini ții de interfe țe (se poate mapa în C++, Java).
Caracteristici ale schemei ODL:
– Reprezentarea claselor se face prin:
• Definirea clasei: nume, set de propriet ăți;
• Definirea propriet ăților: atribut, metod ă sau legătură.
– Specificarea tipurilor de leg ături:
• Legătura binar ă se reprezint ă prin două proprietăți (câte una în fiecare clas ă);
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
50• Legătura de un grad ridicat nu se poate reprezenta direct ci prin cele binare;
• Legătura se bazeaz ă pe identificatorul unic de obiect (OID) care este
independent de valorile obiectului;
• Legăturile nu pot fi denumite (în BDR da).
– Se admit structuri ierarhice de clase, cu proprietatea de mo ștenire.
b)Proiectarea
Rolul activității de proiectare este de a furniza metode pentru reprezentarea obiectelor
identificate la analiz ă.
Metode pentru proiectarea BDOO: diagrama obiectelor, specifica țiile obiectelor.
1. Diagrama obiectelor: numele propriet ăților obiectelor se scriu într-un dreptunghi, iar sub
acesta se scrie cu litere mari numele obiectului.
Numele propriet ăților se scriu cu litere mici, iar dac ă o proprietate este la randul ei obiect
atunci se scrie cu litere mari.
Orice proprietate, care nu este obiect, poate lua o mul țime de valori ( domeniul de valori ) și
se descrie prin: tip, lungime, restric ții.
Daca proprietatea este un obiect atunci domeniul este reprezentat de o mul țime de instan țe
de obiecte (obiecte particulare).
Viziunea (view) reprezinta ansamblul propriet ăților văzute de un utilizator din totalul celor
existente într-un obiect.
Metoda diagramei d ă o imagine grafic ă a structurii obiectelor și a legaturilor dintre ele.
2. Specifica țiile obiectelor: liste de propozi ții explicative care con țin informa ții despre structura
obiectelor și a legăturilor dintre ele.
Listele, ordonate dup ă diferite criterii, pot fi de forma :
-defini ții ale obiectelor ;
-enumerarea obiectelor și a propriet ăților acestora ;
-enumerarea domeniilor și definiții ale acestora;
-descrieri semantice ale obiectelor;
-restric
ții asupra obiectelor.
Notă:
În procesul de proiectare a BDOO obiectele pot fi grupate :
– simple sunt cele care au propriet ăți cu o singura valoare (domeniu cu o valoare) și au
proprietăți care nu sunt obiecte
– compozite sunt cele care au cel pu țin o proprietate cu valori multiple și au propriet ăți care nu
sunt obiecte
– compuse sunt cele care au cel pu țin o proprietate care este obiect;
– asociate sunt obiectele independente care au rolul de a stabili o legatura între alte obiecte
(apar ca propriet ăți ale obiectelor care le leag ă);
– agregate sunt obiectele care reprezint ă grupuri de entit ăți și conțin propriet ăți de grup ce se
transmit tuturor instan țelor subclaselor (mo ștenirea).
c)Elaborarea programelor
Programele pentru definirea și manipularea obiectelor se scriu într-un SGBDOO (exemplu O2,
Jasmine etc.) , care con țin limbaje de programare orientate obiect.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
51Elaborarea programelor se desf ășoară pe baza specifica țiilor obtinute prin activitatea de
proiectare a BDOO.
Programele sunt secven țe liniare de descrieri de obiecte și de apeluri de obiecte
(mesaje).
În SBDOO se folose ște intens reutilizarea programelor.
d) Implementarea și exploatarea
Implementarea și exploatarea sunt activit ăți care au rolul de a pune în func țiune o BDOO la
parametrii proiecta ți.
În cazul unor disfunc ționalități se revine la o activitate precedent ă și se produce o nou ă
versiune a BDOO.
5.4. Tehnici de implemen tare utilizate în BDOO
o La realizarea unei BDOO se va ține cont de mai multe elemente,
care trebuie implementate prin diferite tehnici. Câteva dintre
aceste tehnici sunt prezentate în continuare. Vom specifica
denumirea tehnicii și apoi o scurt ă explicație la fiecare.
1. Gestiunea mediului limbajului de programare: trebuie asigurat ă tratarea
conceptelor modelului orientat obiect prin limbaje de programare
corespunzatoare.
2. Reprezentarea obiectelor : modelul utilizat poate fi simplu (obiecte mici și puține) sau
complex (obiecte mari și multe — structurate).
3. Gestiunea persisten ței : se descriu și manipuleaza date permanente (persistente), în acela și
mod cu cele temporare. Persisten ța se asigura prin :
– tipaj, adic ă numai anumite tipuri (clase) de obiecte pot deveni persistente;
– conectivitate, adic ă numai obiectele care rezult ă (direct sau indirect) din alte obiecte
persistente vor deveni persistente;
– stocaj, adic ă toate obiectele plasate într-un spa țiu explicit declarat, devin persistente.
4. Gestiunea memoriei : obiectele pot fi memorate atât în memoria intern ă cât și în cea extern ă.
Identificatorul (logic sau fizic) de obiect joac ă un rol important privind localizarea obiectului în
memorie.
5. Extensibilitatea : trebuie s ă se permit ă noi structuri de date în BDOO creat ă deja.
6. Distribuirea : trebuie s ă se permita lucrul distribuit în re țea și să se separe prelucrarea
(consumă memorie interna ) de stocarea (consum ă memorie externa) obiectelor.
7. Gestiunea versiunilor : trebuie p ăstrate stările succesive ale obiectelor și evoluția lor în timp.
8. Gestiunea obiectivelor traditionale ale unei BD.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
525.5. Rezumat
5.6. Teste de autoevaluare
5.7. Răspunsuri și comentarii la testele de autoevaluare
5. Caracteristici ale BDOO sunt:
a) permite abordarea unui domeniu limitat de tipuri de date
b) structura de date este mult complicat ă
c) independen ța datelor fa ță de programe este par țială
d) se trateaz ă în mod unitar datele, programele și comunica ția
e) asigură comunica ția atât între date cât și între programe
6. La proiectarea unei BDOO se pot utiliza metodele:
a) diagrama obiectelor
b) specificațiile obiectelor
c) normalizarea
d) diagramele de dependen ță
e) distribuirea obiectelor
7. Tehnici de implementare a BDOO sunt:
a) portabilitatea, parti ționarea
b) gestiunea mediului, re prezentarea obiectelor
c) gestiunea persisten ței, gestiunea memoriei
d) extensibilitatea, distribuirea major ă
e) flexibilitatea, portabilitatea
1. d, e; 2. a, b; 3. b, c. Se define ște noțiunea de baze de date orientate obiect (BDOO) în contextul trecerii de la
sistemele rela ționale la a treia genera ție de baze de date.
Sunt prezentate câteva cara cteristici specifice unei BDOO și principalele concepte
utilizate la realizarea unei astfel de baze de date.
Proiectarea unei BDOO se face conform unei anumite metodologii, care precizeaz ă niște
pași care trebuie parcur și. Sinteza acestori pa și ne conduce spre o serie de activit ăți care
se regăsesc în procesul de realizare a unei BDOO: analiza, proiectarea, elaborarea
programelor, implementarea și exploatarea. Fiecare dintre aceste activit ăți este
prezentată pe scurt, precizându-se rolul ei, o descriere, precum și eventualele metode
utilizate. În finalul capitolului sunt prezentate câ teva dintre tehnicile utilizate pentru
implementarea într-o BDOO, a principalelor elemente care dau facilit ățile acestor
sisteme.
ACADEMIA DE STUDII ECONOMICE BUCURE ȘTI
FACULTATEA DE CIBERNETIC Ă, STATISTIC Ă ȘI INFORMATIC Ă ECONOMIC Ă
CATEDRA DE INFORMATIC Ă ECONOMIC Ă
53
5.8. Bibliografia unit ății de învățare 5
[EMBL98] D.Embley – “Object database development”, ed.Addison Wesley, 1998
[DATE94] J.Date – “ An introduction to Database Systems”, ed. Addison Wesley,
1994
[MACI01] L.Maciaszek – “Requirements an alysis and system design – developing
Information systems with UML”, ed.Addison Wesley, 2001
[RICC01] G.Riccardo – “Principles of Data base Systems – with Internet and Java
Applications”, ed.Addison Wesley, 2001
[DIAZ00] O.Diaz – “Advanced database technology and design”, ed.Piattini,
2000
[VELU02] M.Velicanu, I.Lungu, M.Muntea n, M.Iorga, S.Ionescu – “Oracle –
platformă pentru baze de date”, ed. Petrion, 2002
[VELU01] M.Velicanu, I.Lungu, M.Muntean – “Dezvoltarea aplica țiilor cu baze
de date în Visual Foxpro”, ed. ALL, 2001
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Curs Bd Lungu,botha [611045] (ID: 611045)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
