Documente Academic
Documente Profesional
Documente Cultură
BAZE DE DATE
Autori: Prof.univ.dr. LUNGU Ion
Asist.univ.drd. BOTHA Iuliana
CUPRINS
Unitatea de nvare 1: ORGANIZAREA DATELOR N MEMORIA EXTERN
Unitatea de nvare 2: BAZE DE DATE NOIUNI FUNDAMENTALE
Unitatea de nvare 3: BAZE DE DATE RELAIONALE (BDR)
Unitatea de nvare 4: METODOLOGIA DE REALIZARE A BAZELOR DE DATE
Unitatea de nvare 5: BAZE DE DATE ORIENTATE OBIECT ( BDOO)
Introducere
Cursul de Baze de date se adreseaz studenilor nscrii la programul de studiu
ID, organizat de facultatea de Cibernetic, Statistic i Informatic Economic i
face parte din planul de nvmnt aferent seciei de Informatic Economic,
anul 2, semestrul 1.
OBIECTIVUL GENERAL al cursului de Baze de date vizeaz pregtirea
studenilor n domeniul proiectrii bazelor de date i al utilizrii acestora n
diferite domenii economico-sociale.
OBIECTIVELE SPECIFICE PRINCIPALE ale acestui curs, concretizate n
competenele dobndite dup parcurgerea i asimilarea lui sunt urmtoarele:
familiarizarea cu posibilitile de utilizare ale bazelor de date indiferent
de tipul acestora;
dobndirea abilitii de a proiecta baze de date relaionale;
familiarizarea cu principalele caracteristici ale bazelor de date orientate
obiect.
1
Unitatea de nvare 1:
ORGANIZAREA DATELOR N MEMORIA EXTERN
Cuprins
1.1. Obiective
1.2. Evoluia organizrii datelor
1.3. Organizarea datelor n fiiere
1.4. Modele de structurare a datelor n baze de date
1.5. Protecia bazelor de date
1.6. Rezumat
1.7. Teste de autoevaluare
1.8. Rspunsuri i comentarii la testele de autoevaluare
1.9. Bibliografia unitii de nvare 1
1.1. Obiective
Dup studiul acestei uniti de nvare vei avea cunotine despre:
Mod de
prelucrare
(4)
Redundan
Software utilizat
Etape(1)
Mod de
organizare
a datelor (2)
(5)
1. nainte de
1965
Fiiere
secveniale
Logic
coincide cu
fizic
Pe loturi
(batch)
Mare,
necontrolat
(6)
Operaii simple
de I/E (limaje
asamblare i
universal)
2. Anii 60
Fiiere
secveniale,
indexate,
directe
Logic i
fizic
Loturi, online
Mare,
necontrolat
3. Anii 70
Baze de date
arborescente,
reea
Logic,
fizic,
conceptual
Loturi,
conversaional
Scade,
controlat
4. Sfritul
anilor 70
pn acum
Baze de date
relaionale
Logic,
fizic,
conceptual
Conversaional,
interactiv
Mic,
controlat
5. Sfritul
anilor 80
pn acum
Baze de date
orientate
obiect
Logic,
fizic,
conceptual
Interactiv
Minim,
controlat
Aspecte
Chei simple de
acces (limbaje
universale)
Chei multiple de
acces, legturi
ntre date,
protecia
(SGBD)
Limbaje de
regsire,
protecie,
concuren
(SGBD)
Limbaje din
programarea OO
(SGBD)
Not. Necesitatea organizrii datelor n memoria extern rezult analiznd cteva criterii de
comparaie dintre memoria intern i cea extern:
CRITERIU
Cost
Vitez
Capacitate(volum date)
Persisten
Organizare date
MEM. INTERN
Mare
Mare
Mic
Nu
Variabile, constante,
masive, pointeri etc.
MEM. EXTERN
Mic
Mic
Mare
Da
Fiiere, baze de date
informaia
are ca proprietate
entitatea
are ca msur
atributul
valoarea
STRUCTURA DE DATE
(formalism de descriere)
DATELE
(ansamblul de manipulat)
Fig. 1.1. Modelul de date
TIP_NREG 0
nivel 1
TIP_NREG 11
nivel 2
...
TIP_NREG 21
TIP_NREG 12
TIP_NREG 13
TIP_NREG 22
TIP_NREG 23
Realizarea (instana) unui tip de nregistrare este dat de ansamblul valorilor pentru cmpurile
acestuia (nregistrarea).
b) Definirea legturilor dintre entiti se face fizic i conduce la o structur de tip reea,
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 reea
12
STUDENT
ANSTUDIU : D2
2
2
3
NUME: D1
POPA A.
PETRE M.
ILIE C.
ANNATERE: D3
1982
1982
1981
CODB DENB
1:M
CODB
CODP
LOCB
CANTL
CTBC
PRETL
TERMENL
1:M
CODP DENP UMP
Fig. 1.4. Schema BD
14
clasele (tipurile) de obiecte sunt un tip abstract de date prin care se defineste structura
obiectelor (proprietatile) si comportamentul (metodele) acestora.
mesajul reprezint cereri adresate obiectelor pentru a returna o valoare sau o stare.
instana unei clase reprezint realizarea unei clase, dat de valorile variabilelor aferente.
b) Definirea legturilor ntre obiecte se realizeaz implicit prin modul de construire
(definire) al obiectelor.
Tipurile de legturi 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 avnd caracteristica de motenire;
prin obiecte se pot defini orice tip de date (text, grafic, imagine, sunet, video etc.);
ansamblul claselor de obiecte structurate n ierarhii alctuiesc schema BD.
de referin caracterizate prin:
se realizeaz pe baza identificatorului unic de obiect;
pot fi de urmtoarele feluri:
simple de asociere : referirea unui obiect de ctre 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 motenire.
2. Operatorii modelului OO:
La baza operaiilor din model stau mesajele ca unic mod de a comunica obiectele
ntre ele.
15
16
1.5. Protecia BD
o Activitatea de protecie a bazelor de date este deosebit de important
att pentru modul de lucru pe calculatoare independente ct i pentru
modul de lucru n reea de calculatoare.
o Asigurarea proteciei pentru o baz de date revine att n sarcina
SGBD, prin funcia de administrare (tot mai mult), ct i n
sarcina administratorului bazei de date.
o Protecia bazei de date este un ansamblu de msuri necesare
asigurrii securitii i integritii datelor.
n cele ce urmeaz, vom prezenta o sintez a pricipalelor aspectelor care apar pentru a se
asigura protecia bazelor de date. Lucruri suplimentare vor fi prezentate n capitolele aferente
SGBD-ului Oracle, iar exemplificarea se poate gsi, pe larg, n referina bibliografic
[VELU02].
Securitatea datelor semnific interzicerea accesului la date pentru utilizatorii neautorizai.
Integritatea datelor nseamn corectitudinea datelor ncrcate, precum i manipularea lor
astfel nct s se respecte restriciile de integritate ale modelului de date implementat.
n continuare, vom prezenta, pe scurt, cele dou aspecte care compun activitatea de protecie a
unei baze de date. La fiecare aspect vom sintetiza activitile aferente.
INTEGRITATEA datelor.
1. Integritatea semantic const n prevenirea introducerii unor date incorecte n BD i n
prevenirea realizrii unor prelucrri eronate. Acest lucru se asigur prin respectarea
restriciilor de integritate. Acestea pot fi implicite (asigurate automat de SGBD) i
explicite (asigurate prin proceduri incluse n programele de aplicaie).
2. Controlul concurenei la date const n garantarea coerenei (corectitudinii) i
simultaneitii datelor n cazul prelucrrii tranzaciilor (unitatea logic de prelucrare)
prin tehnici specifice (blocarea, interblocarea etc.).
3. Salvarea i restaurarea. Salvarea este operaia de stocare a datelor n copii de siguran
prin tehnici specifice (copiere, jurnalizare etc.). Ea se poate face automat de ctre
SGBD(cel mai des) sau manual de ctre administratorul BD. Restaurarea este operaia
de refacere a consistenei BD, pornind de la datele salvate, minimiznd prelucrrile
pierdute. Restaurarea se poate face automat de ctre SGBD (cel mai des) sau manual de
ctre administratorul BD.
SECURITATEA datelor.
1. Autorizarea i controlul accesului la date const n identificarea utilizatorilor i
restricionarea accesului acestora, pentru diferite operaii de prelucrare.
2. Viziunile (views) sunt partiii logice ale BD definite pentru diferii utilizatori.
3. Procedurile speciale sunt rutine, oferite de SGBD, care efectueaz anumite operaii
asupra datelor i care sunt accesibile anumitori utilizatori.
4. Criptarea este operaia de codificare a datelor n vederea stocrii sau transmiterii
datelor. n acest sena, se folosesc o mulime de tehnici specifice: parole, algoritmi de
criptare/decriptare, rutine speciale etc.
17
1.6. Rezumat
Dup ce s-a definit noiunea de organizare a datelor, s-a prezentat evoluia acesteia,
pornind de la fiiere (primul mod de organizare a datelor n memoria extern) i
ajungndu-se la ultimele tipuri de baze de date, cele orientate obiect. In aceast
evoluie, s-au urmrit cteva aspecte (caracteristici) comparative: structura de date,
modul de prelucrare a datelor, redundana datelor, software-ul utilizat.
Pentru a se fundamenta necesitatea organizrii datelor n memoria extern,
comparativ cu memoria intern, s-a prezentat un tabel n care se gsesc cinci criterii:
cost, vitez, capacitate, persisten, organizare.
n continuare, se definete noiunea de fiier i, acesteia, i se prezint cteva dintre
cele mai importante aspecte de organizare a datelor: operaii, structura, modul de
organizare, modul de acces.
O parte consistent din capitol este destinat organizrii datelor n baze de date
conform unor modele de date.
Mai nti sunt prezentate principalel noiuni necesare: informaia, modelul de
structur, modelul de date, tipuri de modele de date, schema conceptual, elementele
componente ale unui model logic de date (definirea structurii, operatorii, regulile de
integritate).
Dup aceea sunt prezentate cele patru modele logice de date fundamentale (de baz),
ntlnite la organizarea datelor n baze de date: ierarhic, reea, relaional, orientat
obiect. Fiecare model este prezentat n acelai mod: elementele componente,
caracterizare general. n acest fel se pot urmri, comparativ, cum se regsesc
noiunile prezentate la nceputul capitolului, n fiecare model n parte.
Capitolul se ncheie cu o sintez privind protecia bazelor de date. Sunt luate n
considerare cele dou aspecte ale proteciei: securitatea, integritatea. Fiecare dintre
acestea este descompus n principalele subactiviti care trebuie s fie asigurate ntrun sistem de baz de date, de ctre SGBD i administratorul bazei de date.
18
19
1. d; 2. -; 3. b, e; 4. c, d, e; 5. a, b, c; 6. a, b, c, e.
20
Unitatea de nvare 2:
BAZE DE DATE NOIUNI 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. Rspunsuri i comentarii la testele de autoevaluare
2.7. Bibliografia unitii de nvare 2
2.1. Obiective
Dup studiul acestei uniti de nvare vei avea cunotinte despre:
21
Evoluie
ntr-un calculator datele sunt stocate att n memoria intern (temporar) ct i n memoria
extern (persistent).
n memoria extern, evoluia modului de memorare a datelor a fost determinat de urmtoarele
aspecte:
accesul ct mai rapid i uor la date;
stocarea unui volum ct mai mare de date;
creterea compexitii datelor;
perfecionarea echipamentelor de culegere, stocare, transmitere i prelucrare a datelor.
Bazele de date, ca mod de organizare a datelor n memoria extern, au evoluat din fiiere printrun proces de integrare a lor (fiierele i legturile dintre ele) i innd cont de cerinele
aplicaiilor informatice.
Sunt numeroase aspecte care privete trecerea de la fiiere 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 noiuni.
De la apariia lor i pn astzi, bazele de date au parcurs urmtoarele generaii (determinate n
principal de modelul de date implementat):
generaia I: BD arborescente i reea (pn la sfritul anilor 70);
generaia a-II-a: BD relaionale (sfritul anilor 70 i pn acum);
generaia a-III-a: BD orientate obiect (sfritul anilor 80 i pn acum).
Elementele componente ale unei baze de date
Am artat faptul c bazele de date au evoluat din fiiere (vezi i capitolul 2). Acest lucru se
regsete i n noiunile utilizate n cele dou moduri de organizare a datelor n memoria
extern, aa cum reiese din tabelul urmtor. De remarcat faptul c att fiierele ct i bazele de
date se construiesc pornind de la lumea real nconjurtoare.
Citirea tabelului se va face de la stnga la dreapta, iar noiunile corespunztoare de pe cele dou
rnduri pot fi considerate similare.
Astfel vom spune: o baz de date este format din mai multe colecii de date. Fiecare dintre
acestea are ataat o familie de caracteristici, care este format din mai multe caracteristici, care
iau valori dintr-un domeniu de valori.
n mod similar se citete rndul de jos: un sistem de fiiere este format din mai multe fiiere.
Fiecare dintre acestea are ataat o nregistrare, care este format din mai multe cmpuri, care
iau valori.
Baza de date
Colecii de date
Sistem de fiiere
Fiiere
Familie
caracteristici
nregistrare
de
Caracteristici
Cmpuri
Domenii
valori
Valori
de
Domeniul de valori este dat de mulimea valorilor posibile pentru o caracteristic (exemplu:
culorile posibile pentru un automobil).
Caracteristica semnific definirea i descrierea unui anumit aspect (proprieti) dintr-o entitate
a lumii reale (exemplu: marca auto)
Familia de caracteristici este ansamblul caracteristicilor care se refer la aceeai entitate din
lumea real
(exemplu: mulimea caracteristicilor prin care se poate descrie un automobil
{NUMR, MARCA, CAPACITATE_CILINDRIC, CULOARE}).
Colecia de date(entitatea) este o familie de caracteristici asupra creia se aplic un predicat
(care conduce la o relaie de ordine ntre caracteristici i la obinerea informaiilor cu un anumit
scop) cruia i se afecteaz anumite legturi.
Conceptul de baz de date
Definirea noiunii de baz de date o putem face din mai multe puncte de vedere. Astfel vom
avea, mai nti, n vedere componentele sale i apoi vom ine cont de organizarea datelor n
memoria extern.
Baza de date este un ansamblu de colecii de date aflate n interdependen, mpreun cu
descrierea datelor i a legturilor dintre ele.
Baza de date este un ansamblu de date n memoria extern cu urmtoarele caracteristici: organizat, pe trei niveluri (conceptual, logic, fizic);
structurat, conform unui model de date;
coerent, prin restriciile de integritate i protecia 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.
24
2.4. Rezumat
Cunoaterea concepteleor ntr-un domeniu de activitate este de mare importan pentru
profesioniti. Acest lucru este valabil i pentru cei care doresc s lucreze cu baze de
date. Conceptele aferente acestui domeniu au fost create de cercettori, n mare parte,
nc de la apariia primei generaii de baze de date, inndu-se cont de evoluia din
fiiere, ca mod de organizare a datelor n memoria extern.
Principalele concepte prezentate sunt: generaii de baze de date, domeniul de valori,
caracteristica, familia de caracteristici, colecia de date, baza de date.
Baza de date este un ansamblu de date n memoria extern cu urmtoarele
caracteristici: - organizat, pe trei niveluri (conceptual, logic, fizic);
- structurat, conform unui model de date;
- coerent, prin restriciile de integritate i protecia 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, punctndu-se:
ce este un administrator, care sunt nivelurile de administartori, care sunt sarcinile
administratorului BD, precum i instrumentele necesare a fi la dispoziia sa pentru a
ndeplini aceste sarcini.
25
1. a, c; 2. b; 3. b, c, e;
26
Unitatea de nvare 3:
BAZE DE DATE RELAIONALE (BDR)
Cuprins
3.1. Obiective
3.2. Conceptul de BDR
3.3. Optimizarea BDR prin tehnica normalizrii
3.4. Algebra relaional i calculul relaional
3.5. Rezumat
3.6. Teste de autoevaluare
3.7. Rspunsuri i comentarii la testele de autoevaluare
3.8. Bibliografia unitii de nvare 3
3.1. Obiective
Dup studiul acestei uniti de nvare vei avea cunotine despre:
27
BDR
logic i fizic
conceptual, logic i fizic
mare
simplificat prin model
FIIERE
fizic
logic i fizic
mic
complicat
n dicionarul BD
n programe.
28
Rezultatul acestei activiti este obinerea elementelor necesare pentru organizarea informaiei
din domeniul respectiv. Acest lucru se realizeaz [RICC01] cu ajutorul unor concepte i
instrumente adecvate:
- Schemele BD:
Schema conceptual specific structura organizaional i coninutul informaional
al sistemului i reprezint un mod de comunicare ntre proiectanii i utilizatorii
BD;
Schema logic definete informaia ntr-o manier care poate fi folosit pentru
crearea BD.
Schema extern organizeaz informaia ntr-o ordine care permite accesul
utilizatorilor la BD (construcia viziunilor).
Not.Cele dou scheme pot fi separate sau integrate ntr-una singur deoarece
ambele se materializeaz prin instruciuni (nivelul logic) dintr-un limbaj din
SGBD, destinate unor utilizatori (extern).
Schema fizic specific reprezentarea informaiei n calculator n termeni fizici
(cum este stocat informaia n memoria extern, pe suportul tehnic de
informaie).
- Obiectele din lumea real se reprezint prin entiti care au caracteristici (atribute).
- Obiectele din lumea real au asocieri (legturi) de diferite tipuri cu alte obiecte, fiecare
avnd un anumit rol n aceste legturi.
b) Noiuni privind normalizarea
Aspectul dinamic al structurii de date este avut n vedere i rezolvat de BDR. Acest lucru
nseamn c modelul de date relaional permite schimbarea n timp a structurii de date fr
schimbarea programelor de aplicaie (independena 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 situaii nedorite care pot fi generate de anumite tabele n
procesul proiectrii lor:
anomalia de tergere semnific faptul c stergnd un tuplu dintr-o tabel, pe lng
informaiile care trebuie terse, se pierd i informaiile utile existente n tuplul
respectiv;
anomaliile de adugare semnific faptul c nu pot fi incluse noi informaii
necesare ntr-o tabel, deoarece nu se cunosc i alte informaii utile (de exemplu
valorile pentru cheie);
anomalia de modificare semnific faptul c este dificil de modificat o valoare a
unui atribut atunci cnd ea apare n mai multe tupluri.
Not. Anomaliile de actualizare sunt rezolvate de ctre teoria relaional, lucru care nu se
ntmpl la alte tipuri de BD.
Normalizarea este o teorie construit n jurul conceptului de forme normale (FN), care
amelioreaz structura BD prin nlturarea treptat a unor neajunsuri i prin imprimarea unor
faciliti sporite privind manipularea datelor.
Not. Teoria normalizrii a fost conceput iniial de ctre E.F.Codd, ulterior aducndu-i
contribuia i ali cercettori.
Normalizarea utilizeaz ca metod descompunerea (top-down) unei tabele n dou sau mai
multe tabele, pstrnd informaii (atribute) de legtur.
c) Formele normale
O tabel (relaie) este ntr-o form normal (FN) dac satisface anumite restricii, care arat c
FN(i+1) este preferat fa de FN(i), i=1,4.
29
Sunt cinci forme normale (FN1 la FN5) i una suplimentar (BCNF) care revizuiete FN3.
O baz de date este n FNi , i=1,5 dac toate tabelele sale sunt n FNi.
BD iniial va fi format dintr-o singur colecie de date, care apoi se descompune n mai
multe tabele, parcurgnd formele normale.
FN1
O tabel este n FN1 dac toate atributele ei conin valori elementare (nedecompozabile), adic
fiecare tuplu nu trebuie s aib date la nivel de grup sau repetitiv.
Structurile de tip arborescent i reea se transform n tabele cu atribute elemntare.
O tabel n FN1 prezint nc o serie de anomalii de actualizare datorit eventualelor
dependene funcionale incomplete.
Fiecare structur repetitiv genereaz (prin descompunere) o nou tabel, iar atributele la nivel
de grup se nltur, rmnnd doar cele elemntare.
FN2
O tabel este n FN2 dac i numai dac este n FN1 i fiecare atribut noncheie al tabelei este
dependent funcional complet de cheie.
Un atribut B al unei tabele depinde funcional de atributul A al aceleiai tabele, dac fiecrei
valori a lui A i corespunde o singur valoare a lui B, care i este asociat n tabel.
Un atribut B este dependent funcional complet de un ansamblu de atribute A n cadrul aceleiai
tabele, dac B este dependent funcional 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
dependene tranzitive.
Eliminarea dependenelor incomplete se face prin descompunerea tabelei iniiale n dou
tabele, ambele coninnd 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 dependenelor tranzitive se face prin descompunerea tabelei iniiale n dou tabele,
ambele coninnd atributul intermediar (B).
O tabel n FN3 prezint nc o serie de anomalii de actualizare, datorate eventualelor
dependene multivaloare.
Not. O definiie 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 funcional.
FN4
O tabel este n FN4 dac i numai dac este n FN3 i nu conine dou sau mai multe
dependene multivaloare.
ntr-o tabel T, fie A,B,C trei atribute. n tabela T se menine dependena multivaloare A dac
i numai dac mulimea 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
30
O tabel este n FN5 dac i numai dac este n FN4 i fiecare dependen jonciune este
generat printr-un candidat cheie al tabelei.
n tabela T (A,B,C) se menine dependena jonciune (AB, AC) dac i numai dac T menine
dependena multivaloare A
B sau C.
Not. Dependena multivaloare este caz particular al dependenei jonciune. Dependena
funcional este caz particular al dependenei multivaloare.
3.5. Rezumat
Se definete noiunea de baz de date relaional (BDR) innd cont de modelul de date
relaional. Se face o comparaie a noiunilor utilizate n BDR cu cele utlizate la lucrul cu
fiiere.
Realizarea unei aplicaii cu BDR este o activitate complex, care presupune obligatoriu
proiectarea bazei de date. n acest sens se folosesc diferite tehnici, dintre care cea mai
utilizatimplementare.
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, ajungndu-se la o schem conceptual. Sunt exemplificate doar primele trei
forme normale, deoarece acestea sunt cele mai utilizate n aplicaiile practice.
n finalul capitolului se prezint o sintez a dou domenii importante din teoria relaional:
calculul relaional i algebra relaional. Fiecare dintre cele dou domenii este definit pe
scurt, iar apoi sunt prezentai cei mai importani operatori afereni. Sunt citate exemple de
limbaje relaionale clasificate dup tehnica folosit la implementare.
33
1. a; 2. a, e; 3. c, e;
34
Unitatea de nvare 4:
METODOLOGIA DE REALIZARE A BAZELOR DE DATE
Cuprins
4.1. Obiective
4.2. Organizarea unei baze de date
4.3. Obiectivele urmrite 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 relaionale o extensie UML
4.7. Eficiena bazelor de date
4.8. Rezumat
4.9. Teste de autoevaluare
4.10. Rspunsuri i comentarii la testele de autoevaluare
4.11. Bibliografia unitii de nvare 4
4.1. Obiective
Dup studiul acestei uniti de nvare vei avea cunotine despre:
37
entitate din model ntr-o colecie de date (fiier), iar pentru fiecare asociere se
definesc cheile aferente. Dac rezult colecii izolate, acestea se vor lega de alte
colecii prin chei rezultnd asocieri (1:1, 1:M, M:N).
2. Ameliorarea progresiv a schemei conceptuale prin eliminarea unor anomalii
(exemplu: cele cinci forme normale pentru BD relaionale).
3. Stabilirea schemei conceptuale finale trebuie s asigure un echilibru ntre
cerinele de actualizare i performanele de exploatare (exemplu: o form
normal superioar asigur performane de actualizare, dar timpul de rspuns va
fi mai mare).
Proiectare schemei externe are rolul de a specifica viziunea fiecrui utilizator asupra BD.
Pentru acest lucru, din schema conceptual se identific datele necesare fiecrei viziuni.
Datele obinute se structureaz logic n subscheme innd cont de facilitile de utilizare i de
cerinele utilizator. Schema extern devine operaional prin construirea unor viziuni (view)
cu SGBD-ul i acordarea drepturilor de acces. Datele ntr-o viziune pot proveni din una sau
mai multe colecii i nu ocup spaiul fizic.
Proiectarea schemei interne presupune stabilirea structurilor de memorare fizic a datelor i
definirea cilor de acces la date. Acestea sunt specifice fie SGBD-ului (scheme de alocare), fie
sistemului de operare. Proiectarea schemei interne nseamn realizarea operaiilor:
1. estimarea spaiului fizic pentru BD i definirea unui model fizic de alocare (a se vedea
dac SGBD-ul permite explicit acest lucru);
2. definirea unor indeci pentru accesul direct, dup cheie, la date;
Un ghid privind activitatea de indexare [RAGE00] pentru baze de date, poate include
paii:
- necesitatea indexrii: se indexeaz dac se reduce timpul de cutare sau dac
este necesar ordonarea datelor;
- alegerea cheii de indexare: atributele din clauzele WHERE / FOR sunt
candidate pentru chei;
- cheile construite din atribute multiple: 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 jonciune) etc.;
- costul ntreinerii indecilor este dat de dou aspecte: indecii se terg dac
operaiile care-i implic sunt rare (se reduce astfel spaiul) i indecii se
pstreaz dac operaiile 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 anumii utilizatori. Datele pot proveni din una sau mai
multe colecii. Clusterele genereaz avantaj la regsire i dezavantaj la actualizare, n ceea
ce privete timpul de rspuns.
Proiectarea modulelor funcionale ine cont de concepia general a BD, precum i de
schemele proiectate anterior. n acest sens, se proiecteaz:
fluxul informaional;
modulele de ncrcare i manipulare a datelor;
interfeele specializate;
integrarea elementelor proiectate cu organizarea i funcionarea BD.
3. Realizarea componentelor logice
Componentele logice ale unei BD sunt programele de aplicaie dezvoltate, n cea mai mare
parte, n SGBD-ul ales.
Programele se realizeaz conform modulelor funcionale proiectate n etapa anterioar.
Componentele logice in cont de ieiri, intrri, prelucrri i coleciile de date.
40
Odat ntocmit aceast diagram se poate trece la proiectarea bazei de date relaionale
conform tehnicii normalizrii.
3.
costul de exploatare;
costul de ntreinere i dezvoltare.
Calcule de rentabilitate
utilizarea unor metode specifice (exemplu: Analiza Cost Beneficiu)
utilizarea unor instrumente hardware i software specializate pentru BD (cresc
performana, scad portabilitatea).
4.8. Rezumat
Activitatea de realizare a unei 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 activiti
(intrrile, memorarea datelor, protecia datelor, legturile datelor) astfel nct s se
poat decide dac merit sau nu demararea aciunii respective.
Dup luarea deciziei c baza de date este posibil a fi realizat, se fixeaz cteva dintre
obiectivele importante ale acestei activiti: partiionarea, deschiderea, eficiena,
reutilizarea, regsirea, accesul, modularizarea, protecia, redundana, independena.
n continuare, pentru realizarea bazei de date, se poate urma o metodologie anume sau
se pot parcurge etapele (activitile) prezentate: analiza de sistem, proiectarea noului
sistem, realizarea componentelor logice, punerea n funciune, dezvoltarea.
Att pe parcursul realizrii unei baze de date ct i dup aceea, trebuie avut n vedere
eficiena acestei activiti. Acest lucru este important pentru c investiia pentru
realizarea unei baze de date este mare i ea se recupereaz n timp. Eficena bazei de
date va avea n vedere aspecte: studiul costurilor iniiale, evaluarea costurilor de
funcionare, calcule de rentabilitate etc.
44
1. c; 2. b, c; 3. a; 4. d;
45
46
Unitatea de nvare 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. Rspunsuri i comentarii la testele de autoevaluare
5.8. Bibliografia unitii de nvare 5
5.1. Obiective
Dup studiul acestei uniti de nvare vei avea cunotine despre:
47
Obiectele conin
Proprieti
Domeniu
(variabile
de valori i stri
de instan)
nume
identificator
metode
mesaje
implementare (privat)
interfa (public)
caracteristici fundamentale
Clas de
Obiect
48
Variabil de
Identificator
obiect
Sistem
relaional
clase
Schema BD
obiecte
Tabel
Tuplu
instan
Atribut
Cheie
a)Analiza
Rolul activitii de analiz este de a preciza universul de discurs (se identific entitile fizice
i operaiile necesare).
Paii parcuri 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 proprieti i comportament obtinandu-se clasele de
obiecte;
o se identific secvenele de mesaje ctre obiecte (legturile dintre obiecte si clase de
obiecte);
o se determin secvenele de activiti i ciclu de via al obiectelor (modelarea).
Parcurgerea pailor de mai sus se face prin reluari succesive a unor pai precedeni.
Rezultatul analizei este un ansamblu de specificaii scrise n comportamentul cerut.
Note.Referitor la modelele utilizate pentru analiza BDOO pot fi formulate urmtoarele
afirmaii [RICC01]:
1. Modelul entitate-asociere (utilizat la BDR) a fost dezvoltat cu ierarhii de
clase de entiti. Acesta este un suport natural pentru conceptele orientate
obiect.
2. Modelele OO pentru analiz descriu coninutul informaiei 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 colecie de definiii de interfee (se poate mapa n C++, Java).
Caracteristici ale schemei ODL:
- Reprezentarea claselor se face prin:
Definirea clasei: nume, set de proprieti;
Definirea proprietilor: atribut, metod sau legtur.
- Specificarea tipurilor de legturi:
Legtura binar se reprezint prin dou proprieti (cte una n fiecare clas);
49
51
5.5. Rezumat
Se definete noiunea de baze de date orientate obiect (BDOO) n contextul trecerii de la
sistemele relaionale la a treia generaie de baze de date.
Sunt prezentate cteva caracteristici 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 nite
pai care trebuie parcuri. Sinteza acestori pai ne conduce spre o serie de activiti care
se regsesc n procesul de realizare a unei BDOO: analiza, proiectarea, elaborarea
programelor, implementarea i exploatarea. Fiecare dintre aceste activiti este
prezentat pe scurt, precizndu-se rolul ei, o descriere, precum i eventualele metode
utilizate.
n finalul capitolului sunt prezentate cteva dintre tehnicile utilizate pentru
implementarea ntr-o BDOO, a principalelor elemente care dau facilitile acestor
sisteme.
1. d, e; 2. a, b; 3. b, c.
52
53