Sunteți pe pagina 1din 88

UNIVERSITATEA TEFAN CEL MARE SUCEAVA

FACULTATEA DE TIINE ECONOMICE I ADMINISTRAIE PUBLIC


TEHNICI AVANSATE
DE ORGANIZARE
I EXPLORARE A DATELOR
Curs Mas!r Semestrul II 2012 - 2013
Pr"#ra$ %! su%&u MAAFAD
1
C"'() u'&*) %r) N&+",a! M"rar&u
Curs -
-)-) Or#a'&.ar!a /& #!s&"'ar!a %a!,"r 0' $!$"r&a !1!r'2
Datele rezult din observaii i msurtori efectuate asupra lumii reale i au un
grad redus de abstractizare. Prin interpretarea datelor de ctre un anumit subiect se
obin informaii care pot fi utilizate de ctre acesta n luarea deciziilor. Aceleai date
pot fi interpretate n mod diferit de ctre subieci diferii i deci pot genera informaii
diferite. Dup unii autori, datele reprezint ceea ce este efectiv stocat pe suporturile
de memorare, iar informaia reprezint semnificaia acestor date pentru un anumit
utilizator [DAT!"#. $n acest conte%t se poate meniona c sistemele de calcul
prelucreaz date i nu informaii.
&unotinele cuprind at't fapte ce reprezint lucruri adevrate despre lumea
real, c't i proceduri de raionament care permit urmrirea raionamentului ntre
fapte. Diferena e%istent( ntre cunotine i date este ilustrat de . )eigenbaum, un
nume de referin( n inteligena artificial(, prin urm(torul e%emplu [)*A+!,#-
un medic care trateaz( un pacient folosete cunotine i date. Datele sunt
reprezentate de fia pacientului- simptome, boli anterioare, tratament prescris,
reacie la tratament, etc. &unotinele utilizate n tratarea pacientului reprezint( tot
ceea ce medicul a nv(at n facultate i n decursul ntregii lui cariere prin practic(,
studiu, e%perien(, n leg(tur( cu modul de vindecare a bolii. Aceste cunotine se
refer( la fapte, teorii, tratament i, cel mai important, la cunotine euristice. Astfel,
cunotinele necesit( i includ utilizarea datelor dar sunt mai mult dec't acestea.
Pentru luarea deciziilor corecte omul modern utilizeaz cunoaterea
acumulat n timp i informaiile rezultate din interpretarea datelor. $n vederea
obinerii informaiilor necesare lurii de decizii corecte omul din societatea modern
se confrunt cu necesitatea prelucrrii unui volum imens de date care trebuiesc
culese, organizate i stocate pe suporturi e%terne de memorare, apoi actualizate n
permanen, regsite i prelucrate n timp util. .tilizarea sistemelor de calcul n
vederea realizrii dezideratelor mai sus menionate presupune un anumit mod de
organizare a datelor. Principalele metode de organizare a datelor pe suporturile
e%terne de memorare sunt fiierul i baza de date.
-)-)-) C"'+!3! (u'%a$!'a,! 0' "r#a'&.ar!a %a!,"r
/e definesc urmtoarele concepte-
0. Data elementar, cmp elementar 1 este o dat care nu mai poate fi descompus2
%emplu- nume 3nume persoan din descrierea unui grup de persoane4
,. Data grupat, cmp grupat 5 este o grupare logic de date2
%emplu- 1 adresa-
1 localitate
1 strada
1 numr2
6. nregistrarea logic sau articolul 5 o colecie de date ce descriu un acelai obiect2
". nregistrarea fizic sau pagina 1 unitatea de transfer ntre memoria e%tern i
memoria intern i poate conine una sau mai multe nregistrri logice, nefiind
ns e%clus nici situaia n care o nregistrare logic mare se poate ntinde pe
mai multe pagini.
7. Fiierul 5 un ansamblu de nregistrri logice
2
Fiierul 5 este o organizare a datelor preluat din sistemul manual i adaptat
la cerinele impuse de utilizarea sistemelor de calcul. .n fiier poate fi privit din dou
puncte de vedere i anume-
- la nivel logic, fiierul este un ansamblu de nregistrri logice sau articole ce
reprezint o clas de obiecte definit printr1un set de proprieti2
- la nivel fizic, av'nd n vedere modul n care sunt nregistrate datele pe
suportul e%tern, fiierul este un ansamblu de nregistrri fizice 3pagini4.
+oduri de organizare a fiierelor-
4 fiiere secveniale 5 datele sunt nregistrate secvenial pe suportul de memorare i
pot fi consultate secvenial 3pentru a regsi o nregistrare se parcurge fiierul de la
nceput p'n la nregistrarea n cauz42
4 fiiere secvenial indexate 1 nregistrrile sunt ordonate dup valorile unui c'mp
numit c8eie de inde%are 3unu sau mai multe c'mpuri ale nregistrrii4. $nregistrrile
pot fi accesate fie secvenial fie direct pe o nregistrare de c8eie dat. $n afara datelor
propriu1zise fiierul mai conine tabele de inde% care memoreaz corespondena
ntre c8eile nregistrrilor i adresele fizice pe suportul de memorare 3disc42
4 fiiere n acces direct 1 nregistrrile sunt stocate n pagini a cror adres este
calculat cu a9utorul unei funcii numit funcie hash pe baza unuia sau mai multor
c'mpuri din nregistrare.
:rganizarea datelor n fiiere prezint urmtoarele deficiene-
- datele sunt izolate n fiiere separate, programele de aplicaie trebuie s realizeze
sincronizarea prelucrrii a dou sau mai multor fiiere2
- dependena de date 1 fiecare program de aplicaie trebuie s descrie datele pe
care le utilizeaz i prin urmare, modificri n structura datelor necesit modificri
n programe2
- formate de fiiere incompatibile 1 structura fiierelor fiind ncorporat n programul
de aplicaie, este dependent de limba9ul n care este scris aplicaia2
- nu este asigurat accesul concurent la date2
- aceleai date pot apare n fiiere diferite 3redundana datelor42
- nu este asigurat protecia i securitatea datelor.
Aceste deficiene se datoreaz urmtoarelor cauze-
04 5 definiia datelor este ncorporat n programele de aplicaie n
loc s fie stocat separat i independent2
,4 5 nu e%ist un control privind accesul i manipularea datelor n
afara celuia impus de aplicaie.
: alt etap o constituie trecerea de la organizarea datelor n fiiere specifice
fiecrei aplicaii la definirea i utilizarea fiierelor integrate care reprezint un
ansamblu de fiiere definite plec'nd de la legturile logice e%istente ntre date i care
sunt utilizate n comun de ctre mai multe aplicaii. Principalul obiectiv urmrit la
definirea fiierelor integrate este eliminarea redundanei datelor.
.n salt calitativ net superior are loc odat cu trecerea la un nou mod de
organizare a datelor prin definirea conceptului de baz de date av'nd n vedere
eliminarea tuturor deficienelor semnalate n organizarea datelor n fiiere.
aza de date este o colecie parta9at de date, care conine datele propriu1
zise, relaiile logice dintre acestea, precum i descrierea datelor 3structura datelor4.
: baz de date poate fi privit [&:;/!0# ca un depozit de date unic, definit o singur
dat pentru a satisface necesitile informaionale ale unei organizaii i care poate fi
utilizat simultan de ctre mai multe departamente i utilizatori. : definiie mai precis,
3
av'nd n vedere noiunea de persisten, este dat de &. <. Date [DAT!"# astfel-
baza de date este o colecie de date persistente, care sunt folosite de ctre sistemele
de aplicaii ale unei organizaii.
Pe l'ng datele operaionale propriuzise, baza de date conine i descrierea
datelor i a legturilor dintre acestea 3structura datelor inclusiv constr'ngerile de
integritate4 cunoscut sub denumirea de catalog sau dicionar de date sau meta1date
3datele despre date4. Dicionarul de date mai poate conine [:=A>,# i alte informaii
cum ar fi cele privind utilizatorii i drepturile de acces, definiiile unor interogri
3vederile4, inde%uri i structuri de stocare utilizate, etc. +emorarea dicionarului de
date n baza de date asigur independena programelor de datele pe care le
prelucreaz. $n aplicaiile de baze de date se urmrete stocarea unor volume mari
de date pe suporturi e%terne de memorare adresabile, care s poat fi regsite i
prelucrate n timp util de ctre utilizatori concureni cu vederi diferite asupra datelor,
accentul fiind pus pe operaiile de regsire i mai puin pe operaii comple%e de
prelucrare. De aceea, baza de date este dup [D:=:>?# o form de organizare
centralizat a datelor asemntoare organizrii bibliotecilor tradiionale. $n cele ce
urmeaz sunt prezentate o serie de concepte definite n domeniul bazelor de date.
-)-)6) Ar7&!+ura u'!& 8a.! %! %a!
:rganizarea datelor n baze de date impune adoptarea unei ar8itecturi n care
pot fi identificate urmtoarele 6 nivele de abstractizare [D:=:>?# 36 nivele distincte
la care pot fi descrise datele4 i anume- nivelul e%tern 3subsc8ema, vedere4, nivelul
conceptual 3sc8ema conceptual4, nivelul intern. /c8ema general a unei baze de
date n conte%tul unei ar8itecturi A@/A1/PA=& pe cele 6 nivele este reprezentat n
figura 0.0.
!ivelul extern reprezint vederea utilizatorului asupra bazei de date
3subsc8ema, sc8ema e%tern4. )iecare utilizator are o vedere asupra bazei de date,
care include numai entitile, atributele i relaiile din lumea real de care este
interesat utilizatorul respectiv. .tilizatori diferii pot avea vederi diferite asupra
4
)ig.0.0 /c8ema general a unei baze de date
@ivel
e%tern
.tilizator 0 .tilizator , BBB .tilizator n
@ivel
conceptual
@ivel
intern

/ubsc8ema 0
3Cedere 04
/ubsc8ema ,
3Cedere ,4
/ubsc8ema n
3Cedere n4

Baza de date
fizic
Sistemul de
Gestiune a
Bazelor de Date
(SGBD)
/c8ema
&onceptual
Sistemul de Operare
9SO:
acelorai date 3e%emplu data calendaristic poate fi vzut de un utilizator sub forma
an"lun"zi, iar de un alt utilizator sub forma zi"lun"an4. $n vederi pot fi incluse i date
derivate sau calculate din datele stocate n baza de date 3e%. vrsta, plec'nd de la
data naterii i data curent4.
!ivelul conceptual 5 vederea general a bazei de date. *a acest nivel este
reprezentat structura logic a ntregii baze de date aa cum este vzut de
administratorul bazei de date 3spre e%emplu sunt definite concepte de tipul -
#nga$ai, %ervicii, &roduse, eneficiari, Furnizori, precum i relaiile e%istente ntre
aceste concepte, constr'ngeri de integritate, etc.4.
!ivelul intern 5 corespunde reprezentrii fizice a datelor n baza de date. *a
acest nivel, baza de date este o colecie de fiiere conin'nd datele i legturile
dintre acestea, la care se adaug diverse structuri au%iliare 3indeci, pointeri, tabele
de dispersie etc.4 pentru asigurarea accesului operativ la date. Transformarea de la
nivelul conceptual la nivelul intern i invers se realizeaz prin comunicarea dintre
/D;D i sistemul de operare.
:rice comunicare ntre nivele se realizeaz sub controlul /D;D. Adoptarea
ar8itecturii pe cele 6 nivele asigur independena logic i fizic a datelor.
'ndependena logic a datelor asigur independena sc8emelor e%terne
3vederilor utilizatorilor4 fa de modificri efectuate n sc8ema conceptual.
Adugarea sau eliminarea de noi entiti, atribute sau relaii trebuie s fie posibil
fr a afecta sc8emele e%terne e%istente.
'ndependena fizic a datelor asigur independena sc8emei conceptuale fa
de modificrile efectuate n structura intern de memorare a datelor. +odificri
efectuate n sc8ema intern cum ar fi utilizarea unor organizri de fiiere diferite, a
unor dispozitive diferite de stocare, modificarea de indeci sau de algoritmi 8as8,
trebuie s fie posibil fr a fi necesar sc8imbarea sc8emei conceptuale sau a
sc8emelor e%terne i reciproc.
1.1.3. Sistemul de gestiune a bazelor de date (SGBD)
/istemul de gestiune a bazelor de date referit prescurtat /D;D sau D;+/
3Data ;ase +anagement /Estem4 este un sistem de programe care permite
definirea, crearea i ntreinerea bazei de date, precum i accesul controlat la baza
de date. .n /D;D ofer urmtoarele faciliti pentru crearea i e%ploatarea bazelor
de date-
- faciliti de descriere a datelor, prin intermediul unui limba9 de descriere a datelor
DD* 3Data Description *anguage4 care permite utilizatorului s descrie structurile
de date ce vor fi memorate n baza de date2
- faciliti de manipulare a datelor, prin intermediul unui limba9 de manipulare a
datelor D+* 3Data +anipulation *anguage4 care permite utilizatorului s insereze,
actualizeze, tearg, s prelucreze i s e%trag date din baza de date2
- controlul accesului la baza de date prin intermediul unui limba9 de control D&*
3Data &ontrol *anguage4 care asigur-
1 sistem de securitate, previne accesarea bazei de date de ctre utilizatori
neautorizai2
1 sistem de integritate, menine concordana datelor stocate n baza de date2
1 sistem de control al concurenei, permite accesul parta9at la baza de date2
1 sistem de control al refacerii, permite recuperarea
bazei de date n urma unor defeciuni 8ard sau soft2
1 mecanism de vizualizare, prin care un utilizator poate
vedea acea parte a bazei de date care l intereseaz.
5
$n ma9oritatea produselor comerciale de baze de date , cele trei limba9e se regsesc
reunite n cadrul unui singur limba9 3spre e%emplu limba9ul /F*4.
-)-);) A%$&'&sra"ru, 8a.!& %! %a!
Administratorul bazei de date referit prescurtat D;A 3Data ;ase
Administrator4, este o persoan sau un grup de persoane care coordoneaz i
rspunde de ansamblul activitilor privind baza de date, ncep'nd din faza de
proiectare i continu'nd cu celelalte etape pe ntreaga perioad de via a bazei de
date. Astfel, n faza de proiectare a bazei de date, administratorul stabilete /D;D1ul
ce va fi utilizat, ec8ipamentele necesare, structurile de date plec'nd de la necesitile
de informaie ale tuturor utilizatorilor bazei de date, drepturile de acces la date ale
fiecrui utilizator. =ezultatul fazei de proiectare este concretizat prin elaborarea
modelului conceptual 3sc8ema general a bazei de date4, modelului e%tern
3subsc8ema proprie fiecrui utilizator4 i stabilirea modalitilor de reprezentare a
structurilor de date la nivel fizic pe suporturile de memorare e%terne utilizate.
Drepturile de acces la baza de date pot fi definite [:=A>,# fie pentru fiecare utilizator
n parte, fie pentru grupuri de utilizatori 3denumite =ole4, fiecare utilizator fiind apoi
asignat unui grup. Dup proiectarea bazei de date, administratorul va menine
permanent legtura cu utilizatorii acesteia pentru rezolvarea cerinelor utilizatorilor i
impunerea unei discipline n vederea alinierii la standardele e%istente. Administratorul
va realiza, ori de c'te ori se impune, reorganizarea structurii fizice a datelor n
vederea optimizrii parametrilor de funcionare a ntregului sistem i va stabili
proceduri de ar8ivare a datelor i proceduri de recuperare a bazei de date la avarii i
defecte. Pentru a preveni accesul neautorizat la date, n cadrul sistemului de
securitate pot fi prevzute [DAT!"# i alte mecanisme i anume- evidena de
auditare, criptarea datelor.
videna de auditare const dintr1un fiier n care sistemul nregistreaz
automat toate operaiile efectuate asupra datelor, fiier ce va putea fi consultat de
ctre persoane autorizate pentru a verifica efectuarea unor operaii neautorizate. :
nregistrare din evidena de auditare va conine urmtoarele informaii- te%tul surs al
operaiei neautorizate, terminalul de la care a fost lansat operaia, utilizatorul care a
lansat operaia, data i ora operrii, obiectele bazei de date afectate, imaginile
datelor afectate nainte de efectuarea operaiei, imaginile datelor afectate dup
efectuarea operaiei.
Pentru a preveni accesul unor intrui la baza de date, care ncearc s
ocoleasc sistemul, se utilizeaz criptarea datelor, mecanism ce const n stocarea
i transmiterea datelor pe cile de comunicaie sub form cifrat. &riptarea se
realizeaz cu a9utorul unor algoritmi de criptare printre care cel mai recent este
standardul american de criptare avansat A/ 3Advanced ncrEption /tandard4.
-)-)<) G!s&u'!a ra'.a+=&&,"r /& +"'r",u, +"'+ur!'=!&
Tranzacia este unitatea logic de prelucrare const'nd dintr1o secven de
operaii efectuate asupra bazei de date de ctre un singur utilizator astfel nc't s fie
asigurat consistena i sigurana bazei de date. &onsistena const n respectarea
tuturor constr'ngerilor de integritate definite asupra datelor, iar sigurana const n
rezistena la defecte i capacitatea de recuperare din avarii. : baz de date trebuie
s fie consistent at't naintea c't i dup e%ecuia unei tranzacii, ns n timpul
e%ecuiei tranzaciei pot apare situaii n care baza se afl temporar ntr1o stare
inconsistent. : tranzacie poate consta din e%ecuia uneia sau mai multor comenzi
3instruciuni ale unui limba9 de programare4 asupra bazei de date. Pentru a defini

3delimita4 e%plicit o tranzacie, unele limba9e pentru baze de date 3spre e%emplu /F*4
conin instruciunile ;DA@ T=A@/A&TA:@ i @D T=A@/A&TA:@, iar pentru
acceptarea 3validarea4 respectiv anularea 3abortarea4 tranzaciei, instruciunile
&:++AT respectiv =:**;A&G. =aportat la conceptul de tranzacie, e%ecuia unui
program sau aplicaii poate reprezenta e%ecuia uneia sau mai multor tranzacii. /e
subliniaz faptul c toate aciunile efectuate asupra bazei de date n cadrul unei
tranzacii vor fi operate efectiv n baza de date numai dup validarea tranzaciei
3e%ecuia instruciunii &:++AT4, ceea ce nseamn c operaiile unei tranzacii sau
sunt e%ecutate n totalitate , sau ntreaga tranzacie este anulat 3abortat4, deci
e%ecuia unei tranzacii se bazeaz pe principiul Hori totul, ori nimicI. Dac n cadrul
unui program, tranzaciile nu sunt delimitate, ntregul program este considerat o
tranzacie i /D;D1ul e%ecut automat o instruciune &:++AT dac programul s1a
terminat normal, sau o instruciune =:**;A&G dac programul s1a terminat
anormal.
: tranzacie trebuie 3Jaerder i =euter, 0>?64 s satisfac urmtoarele
proprieti cunoscute n literatura de specialitate [D:=:>?#, [&:;/!0#, [DAT!"#
sub acronimul #('D-
- #tomicitatea 5 tranzacia este indivizibil 3ori este efectuat n totalitate, ori nu
este efectuat deloc42
- (onsistena )(oerena* 5 tranzacia trebuie s transforme baza de date dintr1o
stare consistent n alt stare consistent2
- 'zolarea 5 modificrile efectuate de o tranzacie sunt inaccesibile altei tranzacii
concurente p'n n momentul validrii acesteia2
- Durabilitatea 5 dup validarea unei tranzacii, rezultatele acesteia devin
permanente i vor fi operate n baza de date c8iar dac n timpul scrierii n baza
de date apare un incident care mpiedic nregistrarea rezultatelor tranzaciei,
acestea vor fi operate n baza de date dup reluarea activitii.
Pentru bazele de date accesate simultan de ctre mai muli utilizatori, se pune
problema rezolvrii situaiilor de conflict care pot apare datorit accesului concurent
la aceleai date. Dac baza de date este accesat doar n citire de ctre utilizatorii
concureni, atunci rezolvarea problemei privind accesul concurent se realizeaz prin
secvenializarea accesului utilizatorilor de ctre sistemul de operare care stabilete
ordinea de satisfacere a cererilor de acces av'nd n vedere minimizarea timpului
total de satisfacere a cererilor. /istemele de operare care conin mecanisme ce pot
trata independent operaiile de intrareKieire concomitent cu efectuarea altor operaii
de ctre unitatea central de prelucrare, permit e%ecutarea simultan a dou sau mai
multor tranzacii. $ns dac doi sau mai muli utilizatori concureni acceseaz
simultan baza de date, iar unul dintre ei actualizeaz date care ar putea fi accesate
de ali utilizatori, pot apare interferene ce pot conduce la incoerene. Dou tranzacii
T0, T, pot conduce la interferene dac rezultatul e%ecuiei lor secveniale difer de
rezultatul e%ecuiei lor concurente. Astfel de tranzacii concurente i care pot
conduce la interferen sunt numite conflictuale. Pentru evitarea situaiilor de conflict,
n cadrul sistemelor /D;D se utilizeaz urmtoarele dou metode-
- controlul concurenei prin blocare2
- controlul concurenei prin mrci de timp.
Pentru controlul concurenei prin blocare, sistemele /D;D dispun de dou
funcii primitive i anume *:&G34 i .@*:&G34, sau de un mecanism de zvor're,
care utilizate pentru o tranzacie T prin intermediul componentei loc+ manager
realizeaz blocarea respectiv deblocarea accesului altor tranzacii la elemente
3uniti de acces4 din baza de date utilizate de tranzacia T. .nitile de acces sunt
!
elemente ale bazei de date care pot constitui obiectul unei operaii de blocare n
timpul e%ecuiei tranzaciei.
: problem sensibil care poate apare prin mecanismul de blocare este
interblocarea sau impasul, care apare n situaia n care o tranzacie T0 este blocat
de o alt tranzacie T, care la r'ndul su este blocat de tranzacia T0, astfel nc't
nici una din tranzacii nu i poate continua e%ecuia. : astfel de situaie nu poate fi
rezolvat dec't fie printr1o intervenie din e%terior, fie printr1un modul softLare special
realizat n acest sens. : atenie deosebit n sistemele concurente trebuie acordat
prevenirii interblocrilor, care poate fi realizat prin impunerea unor condiii pe care
trebuie s le satisfac tranzaciile, caz n care se introduc restricii la resurse fapt ce
poate conduce la scderea nivelului de concuren al sistemului. Astfel, n locul
metodelor de prevenire a interblocrii se pune problema utilizrii unor metode de
evitare a interblocrii prin utilizarea mrcilor de timp asociate tranzaciilor prin care se
stabilete o ordine de prioritate pentru lansarea tranzaciilor n e%ecuie i evitarea
interblocrilor prin abortarea tranzaciilor dup ordinea lor de prioritate, problem ce
trebuie tratat cu atenie deosebit n cazul bazelor de date n timp real [A0!0#,
[A!,#. Pentru evitarea interblocrii se utilizeaz algoritmii cunoscui n literatura
de specialitate [D:=:>?# sub denumirile de MAAT1DA i M:.@D1MAAT, care pot fi
descrii prin urmtoarele reguli-
MAAT1DA- if m3Ti4 N m3T94 then Ti ateapt else aborteaz Ti
M:.@D1MAAT- if m3Ti4 N m3T94 then aborteaz T9 else Ti ateapt
unde cu m3T4 s1a notat marca de timp a unei tranzacii T.
Av'nd n vedere problemele prezentate n cadrul acestui paragraf, rezult c
prin e%ecuia concurent a unui set de tranzacii se pot obine rezultate diferite fa
de cazul n care tranzaciile respective ar fi e%ecutate independent. Pentru precizarea
condiiilor de e%ecuie corect a unui set de tranzacii concurente se definesc
noiunile de serializabilitate i planificare. %ecuia independent a tranzaciilor se
numete e%ecuie serial. %ecuia concurent a unui set de tranzacii se consider
corect numai atunci c'nd rezultatul acesteia este acelai cu rezultatul e%ecuiei
seriale. /e numete planificare a unui set de tranzacii concurente, o secven de
operaii care reprezint ordinea de e%ecuie a pailor elementari ai tranzaciilor
setului. %ecuia fiecrei tranzacii const din e%ecuia unui numr de operaii
3parcurgerea unor pai elementari4. $n e%ecuia concurent a unui set de tranzacii
paii elementari ai unor tranzacii diferite pot interfera, ns ordinea pailor unei
tranzacii trebuie respectat. : planificare se numete serial dac paii fiecrei
tranzacii apar n poziii consecutive ale planificrii 3fr interferene ale tranzaciilor4.
: planificare serial a unui set de tranzacii, determin o e%ecuie serial a
tranzaciilor. : planificare a unui set de tranzacii concurente se numete serializabil
dac i numai dac rezultatul e%ecuiei sale este acelai cu rezultatul e%ecuiei
seriale a tranzaciilor.
-)-)>) R!.&s!'=a ,a %!(!+! /& r!+u3!rar!a %&' a*ar&&
$n timpul e%ploatrii curente a unei baze de date centralizate sau distribuite
pot apare diverse incidente 3defecte, avarii, pene4, fie n funcionarea ec8ipamentelor
, fie softLare. /e pune astfel problema utilizrii unor instrumente i te8nici pentru a
elimina sau mcar pentru a reduce la minimum efectele apariiei unui defect.
&omportarea unui sistem n condiiile apariiei unor astfel de incidente 8ardLare sau
softLare sau altfel spus tolerana fa de defecte i capacitatea sistemului de
recuperare din avarii este cunoscut n literatura de specialitate sub denumirea de
rezisten la defecte.
"
At't pentru bazele de date centralizate c't mai ales pentru bazele de date distribuite
se pune problema realizrii unor sisteme fiabile care s funcioneze corect ntr1un
interval de timp dat. %ist situaii c'nd astfel de sisteme trebuie s funcioneze
corect fr ntreruperi, O zile pe sptm'n, ," ore pe zi 3aanumitele sisteme cu
grad ridicat de disponibilitate cum ar fi spre e%emplu sistemele pentru programele
spaiale sau sistemele pentru centralele nucleare4. $n cadrul unui sistem cu baze de
date, principalele elemente utilizate sunt- memoria principal 3buffer4, memoria
secundar 3suportul e%tern de memorare4, ec8ipamentele i liniile de comunicaie,
softLare de sistem i softLare de aplicaie. Astfel, principalele tipuri de defecte ce
pot apare n funcionarea sistemului sunt-
- defecte 8ardLare 3cderi ale memoriei principale, memoriei secundare sau a altor
componente 8ardLare ale sistemului de calcul42
- defecte softLare care se datoreaz funcionrii defectuoase ale unor componente
ale sistemului de operare, sistemului /D;D, sau a unor programe de aplicaie2
- defecte ale sistemului de comunicaii, datorate unor cderi de linii de comunicaie
sau funcionrii defectuoase a unor ec8ipamente de comunicaie.
$n vederea asigurrii funcionrii corecte n condiiile apariiei unor incidente, sistemul
/D;D dispune de o component numit modulul de recuperare care permite
recuperarea din avarii 3refacerea bazei de date n urma apariiei unor incidente4 prin
cooperare cu componenta numit buffer manager. Principalele funciuni realizate de
modulul de recuperare sunt- commit, rollbacP, bacPup1recoverE.
Pentru a putea realiza recuperarea bazei de date, sistemul /D;D faciliteaz
utilizarea unor mecanisme de asisten a refacerii i anume-
- realizarea de copii de siguran periodice ale bazei de date2
- crearea fiierului 9urnal 3log4 care este un fiier secvenial ce conine o istorie a
tuturor actualizrilor, la nivel de tranzacie, efectuate asupra bazei de date2
- crearea de puncte de control 3puncte de reluare4 prin care se salveaz starea
sistemului n memoria secundar la diverse momente de timp i pentru fiecare
punct de reluare se scrie n 9urnal o nregistrare corespunztoare. Punctele de
reluare pot fi create fie la diverse momente de timp, fie dup memorarea unui
numr de nregistrri n fiierul 9urnal. Dac este necesar recuperarea bazei de
date vor fi utilizate cel mult ultimele dou puncte de reluare. : metod mai
convenabil prin care s nu fie perturbat funcionarea sistemului, este crearea
de puncte de reluare fuzzE prin care salvarea strii sistemului n memoria
secundar are loc n paralel cu operarea normal a tranzaciilor n baza de date.
ste posibil ca starea salvat n memoria secundar s nu ndeplineasc condiia
de consisten, ns aceasta poate fi transformat ntr1o stare consistent prin
operarea asupra sa a tuturor modificrilor nscrise n 9urnal pe durata crerii
punctului de reluare.
- .tilizarea mecanismului .@D:K=D: care permite recuperarea bazei de date
dup o cdere a sistemului at't pentru tranzaciile nc8eiate n memoria
principal dar netransferate n totalitate n memoria secundar, c't i pentru
tranzaciile neterminate n momentul cderii sistemului. Pentru primul caz,
pentru operarea tranzaciilor n memoria secundar se parcurge fiierul 9urnal
nainte de la ultimul punct de reluare p'n la sf'rit i se opereaz n baza de
date 3operaie de tip =D:4, iar n cel de1al doilea caz pentru tranzaciile
nevalidate n momentul cderii sistemului, acestea vor trebui abortate, ceea ce se
realizeaz prin parcurgerea fiierului 9urnal de la sf'rit spre nceput i anularea
tuturor operaiilor efectuate de tranzaciile nevalidate 3operaie de tip .@D:4.
#
-)-)?) Ba.! %! %a! %&sr&8u&!
/pre deosebire de o baz de date centralizat, care este stocat pe un singur
calculator 3server4 i aflat sub controlul unui singur sistem /D;D, o baz de date
distribuit este o colecie de date distribuit fizic pe mai multe baze de date
gestionate de diverse sisteme /D;D pe mai multe maini sub diverse sisteme de
operare n cadrul unei reele de calculatoare. .n sistem /D;D distribuit 3/D;DD4
este un sistem pentru gestiunea bazelor de date distribuite astfel nc't distribuirea s
fie transparent pentru utilizatori. Din punct de vedere utilizator, baza de date
distribuit este format dintr1o singur baz de date logic constituit dintr1un numr
de fragmente, fiecare fragment fiind stocat pe unul sau mai multe calculatoare 3site,
nod4 interconectate n reea, put'nd fi reprodus i fiind controlat de un /D;D.
Tratarea distribuit este motivat din urmtoarele considerente-
- reelele de calculatoare au aprut i s1au dezvoltat din necesitatea
descentralizrii2
- n mod natural o organizaie este constituit din uniti funcionale distribuite local
sau la distan2
- fiecare unitate funcional din cadrul unei organizaii i ntreine propriile date
operaionale2
- datele trebuie stocate i ntreinute c't mai aproape de sursele care le genereaz.
.n sistem de baze de date distribuite poate fi omogen, caz n care n toate nodurile
sistemului se utilizeaz acelai /D;D, sau poate fi eterogen, caz n care n noduri
diferite pot fi utilizate sisteme /D;D diferite eventual de tipuri diferite 3ierar8ice,
reea, relaionale, orientate obiect4. /istemele eterogene necesit realizarea
comunicrii ntre diverse tipuri de sisteme /D;D, care trebuie s fie transparent
pentru utilizator astfel nc't acesta s poat formula cereri n limba9ul sistemului
/D;D local. &omunicarea ntre diverse /D;D1uri n cadrul unui sistem distribuit
eterogen se realizeaz de regul prin utilizarea unor pori care translateaz
interogrile dintr1un limba9 n alt limba9 fr a realiza controlul unor procese cum ar fi
de e%emplu administrarera tranzaciilor, controlul concurenei, etc. : modalitate
privind accesul i interoperabilitatea bazelor de date desc8ise n vederea comunicrii
ntre sisteme /D;D diferite o constituie utilizarea driver1elor :D;& 3:pen Data ;ase
&onnectivitE4.
$n cadrul ar8itecturii de referin a unui sistem de baze de date distribuite, pot fi puse
n eviden urmtoarele sc8eme [&:;/!0#- un set de sc8eme globale e%terne, o
sc8em conceptual global, o sc8em de fragmentare, o sc8em de alocare, un set
de sc8eme pentru fiecare /D;D local dup ar8itectura A@/A1/PA=& pe trei nivele.
/c8ema conceptual global conine descrierea la nivel logic a ntregii baze de date.
/c8emele e%terne globale corespund vederilor utilizatorilor asupra bazei de date
distribuite.
/c8ema de fragmentare definete fragmentele de date la nivel logic.
/c8ema de alocare descrie locul unde vor fi stocate datele i reproducerile acestora.
)iecrui nod al reelei n care sunt stocate date n cadrul sistemului /D;DD i
corespunde o sc8em local conform ar8itecturii A@/A1/PA=& pe 6 nivele, altfel
spus fiecrui /D;D local i corespunde o ar8itectur A@/A1/PA=& pe 6 nivele
3nivelul e%tern, nivelul conceptual, nivelul intern4, n cadrul nivelului e%tern fiind
realizat corespondena dintre fragmentele din sc8ema de alocare i obiectele
e%terne din baza de date local. Aplicaiile locale 3care nu necesit date din alte
1$
noduri ale reelei4 pot fi tratate autonom n cadrul /D;D1ului local. $n cadrul
sistemului pot e%ista noduri care s nu aib propria lor baz de date local. Aceste
aspecte privind bazele de date distribuite sunt ilustrate n figura 0.,.
$n cele ce urmeaz vor fi prezentate o serie de strategii utilizate n proiectarea
bazelor de date distribuite n cadrul modelului relaional, privind fragmentarea bazei
de date, alocarea fragmentelor2 reproducerea fragmentelor, precum i o serie de
aspecte privind- transparena n sistemele de baze de date distribuite, implicaii ale
distribuirii datelor n administrarea tranzaciilor, controlul concurenei i rezistena la
defecte n sistemele de baze de date distribuite. $n cadrul unui sistem multiutilizator,
fiecare utilizator are acces, prin intermediul aplicaiilor, la o anumit parte a datelor
din baza de date, aspect care n sistemele /D;D relaionale este tratat cu a9utorul
vederilor. Av'nd n vedere faptul c n cadrul modelului relaional at't baza de date
c't i interogrile bazei de date sunt reprezentate prin relaii, o aplicaie va prelucra
subseturi de relaii, iar pentru unele relaii doar anumite tuple sau valori pentru
anumite atribute ale relaiei. Astfel apare necesitatea gruprii relaiilor n subseturi i
mpririi unor relaii n subrelaii, operaie care n cadrul sistemelor distribuite este
numit fragmentare i prin care, baza de date este mprit n fragmente ca uniti
de distribuire a datelor av'nd n vedere creterea performanelor n ntreinerea i
e%ploatarea datelor prin reducerea traficului n reea astfel nc't ma9oritatea
operaiilor s fie efectuate local.
Prin fragmentare fiecare relaie poate fi mprit ntr1un numr de subrelaii
numite fragmente. +ulimea tuplelor unei relaii poate fi mprit n submulimi de
11
S1 S2 Sn
/c8em e%tern

global

/c8em e%tern

global

/c8ema e%tern

global

S1 S2 Sn
/c8ema conceptual

global

/c8ema de
fragmentare

/c8ema de
alocare

/c8em local

)ig.0.,. Ar8itectura de referin a unui sistem /D;DD 3adaptare dup [&:;/!0#4
/c8em local

/c8em local

!ivel extern
!ivel conceptual
!ivel intern
;D
!ivel extern
!ivel conceptual
!ivel intern
;D
!ivel extern
!ivel conceptual
!ivel intern
;D
nregistrri, sau n submulimi de valori ale unor anumite atribute ale relaiei i
corespunztor se va obine o fragmentare orizontal respectiv o fragmentare
vertical. )ragmentarea orizontal reprezint o operaie de selecie, iar fragmentarea
vertical o operaie de proiecie. Poate fi avut n vedere i fragmentarea mi%t care
poate fi realizat printr1o operaie de selecie aplicat asupra rezultatului unei operaii
de proiecie aplicate asupra unei relaii. Pentru definirea fragmentelor trebuie avute n
vedere urmtoarele aspecte- modul de utilizare a datelor n cadrul aplicaiilor,
stocarea datelor c't mai aproape de locul unde sunt utilizate, evitarea redundanei
datelor, asigurarea consistenei i integritii bazei de date, creterea gradului de
concuren. )ragmentarea va trebui realizat astfel nc't s se asigure posibilitatea
obinerii relaiei iniiale din fragmentele corespunztoare cu pstrarea dependenelor
funcionale i fr pierdere de informaie.
Alocarea fragmentelor este operaia prin care se efectueaz amplasarea
datelor pe serverele de date ale reelei de calculatoare realiz'nd astfel distribuirea
datelor. Pentru aceasta pot fi utilizate [&:;/!0# urmtoarele patru strategii de
alocare- centralizat, partiionat, reproducere complet, reproducere selectiv.
$n strategia centralizat denumit i prelucrare distribuit, se creaz o singur
baz de date amplasat pe un singur server central sub controlul unui singur /D;D
cu utilizatori distribuii n cadrul reelei.
$n strategia partiionat sau fragmentat, baza de date este partiionat n
fragmente dis9uncte, fiecare fragment fiind alocat unui server de date av'nd n
vedere precizrile de mai sus privind fragmentarea.
$n strategia de reproducere complet se pstreaz o copie complet 3replic4
a bazei de date n fiecare nod al reelei. Pentru a reduce costurile de stocare i de
comunicaie, uneori se utilizeaz instantanee, un instantaneu fiind o copie a datelor
la un anumit moment de timp, datele urm'nd a fi actualizate periodic, fiind astfel
posibil ca datele s nu fie ntotdeauna la zi.
$n strategia de reproducere selectiv sunt combinate faciliti ale celorlalte
tipuri de strategii de alocare, astfel c unele articole de date sunt fragmentate, alte
articole utilizate n mai multe noduri ale reelei i care nu sunt frecvent actualizate
sunt reproduse n nodurile respective, iar celelalte articole de date sunt centralizate.
Transparena unui sistem distribuit are n vedere ascunderea aspectelor
privind distribuirea fa de utilizator, astfel nc't utilizarea unei baze de date
distribuite este realizat n acelai mod ca utilizarea unei baze de date centralizate.
$n acest sens, un utilizator nu trebuie s tie cum a fost realizat fragmentarea, unde
sunt amplasate datele, cum sunt reproduse datele, ce sisteme /D;D sunt utilizate n
celelalte noduri ale reelei, etc.
=eferitor la controlul concurenei n bazele de date distribuite, cea mai mare
parte dintre conceptele i algoritmii definii pentru bazele de date centralizate este
utilizat cu eventuale e%tinderi pentru sistemele distribuite. Astfel pentru conceptul de
planificare se definete c'te o planificare local pentru fiecare nod prin care se
precizeaz ordinea de e%ecuie a tranzaciilor n nodul respectiv i conceptul de
planificare global ca reuniune a planificrilor locale. Pentru o baz de date
nereplicat, dac toate planificrile locale sunt serializabile, atunci i planificarea
global este serializabil cu condiia ca ordinea de serializare pentru tranzaciile
comune n planificrile locale s fie aceeai. Pentru bazele de date replicate este
necesar ca actualizrile s se efectueze asupra tuturor copiilor, ceea ce se
realizeaz prin protocoale de control al replicilor. Pentru controlul concurenei n
bazele de date distribuite se utilizeaz, ca i n cazul bazelor de date centralizate,
mecanismul de blocare i mrcile de timp, cu o serie de e%tensii i protocoale
12
specifice impuse de problemele suplimentare care apar n sistemele distribuite. /pre
e%emplu, referitor la crearea i utilizarea mrcilor de timp, pentru fiecare nod local
e%ist un contor local care genereaz mrci de timp unice pentru nodul local, iar la
nivel global mrcile de timp sunt perec8i de forma-
Nmarc de timp local , identificator nodQ
identificatorul nodului fiind plasat pe poziia a doua 3mai puin semnificativ4 pentru a
asigura c evenimentele sunt ordonate dup apariia lor i nu dup locul n care au
fost declanate.
=ezistena la defecte a unei baze de date are n vedere validarea tranzaciilor
i recuperarea bazei de date la apariia unui defect. $n cazul bazelor de date
distribuite pentru realizarea acestor operaii trebuie avut n vedere n plus fa de
cazul bazelor de date centralizate, coordonarea aciunilor din nodurile n care se
e%ecut tranzaciile. )uncionarea unui sistem distribuit depinde de capacitatea de
comunicare n siguran a tuturor nodurilor din reea. =ecuperarea unui nod din reea
necesit consultarea altor noduri n care se afl tranzacii n e%ecuie ntruc't
operaia de recuperare trebuie s asigure atomicitatea i durabilitatea at't pentru
subtranzaciile locale c't i pentru tranzaciile globale, sau altfel spus pentru
tranzaciile distribuite 3tranzaciile care se e%ecut n mai multe noduri4. *a apariia
unui defect ntr1un nod al reelei, sistemul /D;DD trebuie s realizeze urmtoarele
operaii-
- abortarea tuturor tranzaciilor n e%ecuie afectate de defectul detectat2
- marcarea nodului n cauz ca inaccesibil pentru celelalte noduri din reea pe
durata recuperrii sale2
- refacerea la repornire, a bazei de date locale din nodul defect i a copiilor sale.
$n acest sens, pentru validarea tranzaciilor distribuite se utilizeaz protocolul de
validare n dou faze ,P& 3tLo1p8ase commit4 care este implementat n ma9oritatea
sistemelor /D;DD. Acest protocol presupune e%istena unui nod coordonator care
de regul este nodul n care a fost iniiat tranzacia, iar celelalte noduri se numesc
participani. Protocolul se e%ecut n dou faze i anume-
- faza de consultare sau votare, n care toi participanii sunt ntrebai de
coordonator dac sunt gata pentru a valida tranzacia2
- faza de decizie, n care, n baza votului participanilor, coordonatorul decide
validarea tranzaciei.
Pe parcursul derulrii protocolului, este posibil blocarea unor noduri participante la
efectuarea tranzaciei, caz n care acest mod de lucru eueaz i pentru astfel de
situaii a fost propus un protocol fr blocare numit protocolul n trei faze 6P& n
care, ntre faza de votare i faza de decizie, se introduce o a treia faz numit de
pre1efectuare prin care, dup primirea tuturor voturilor, coordonatorul trimite tuturor
participanilor un mesa9 P=1&:++AT i acetia confirm coordonatorului primirea
mesa9ului. Dup primirea tuturor confirmrilor de la participani, coordonatorul va
decide validarea global a tranzaciei.
Pentru recuperarea unui nod scos temporar din funciune n urma apariiei
unui defect, se va utiliza 9urnalul propriu nodului respectiv, care trebuie s conin
toate informaiile necesare recuperrii, informaii ce sunt nregistrate n 9urnal prin
protocoalele de validare a tranzaciilor.
Av'nd n vedere dificultatea soluionrii problemelor ridicate de utilizarea
bazelor de date distribuite, la ora actual sistemele /D;D distribuite nu sunt larg
acceptate, fiind preferabil o tratare simplificat a distribuirii datelor prin
reproducerea datelor n servere de reproducere. =eproducerea const n crearea i
ntreinerea mai multor copii ale datelor n unul sau mai multe noduri ale reelei,
13
oferind astfel o serie de faciliti sporite privind disponibilitatea datelor, refacerea n
urma unor incidente i funcionalitatea sistemului. :peraia de reproducere a datelor
poate fi realizat n dou moduri i anume-
- reproducerea sincron, caz n care datele reproduse sunt actualizate imediat ce
sunt actualizate datele surs 3e%emplu protocolul ,P&42
- reproducerea asincron, caz n care reproducerile datelor 3instantanee4 pot fi
actualizate dup o nt'rziere fa de momentul actualizrii datelor surs,
nt'rzierea put'nd fi de ordinul secundelor, orelor sau c8iar zilelor acolo unde se
pot utiliza reproduceri care nu trebuie s fie neaprat sincronizate sau ntreinute
la zi.
=eactualizarea unor seturi de date reproduse poate fi realizat, fie de ctre un
singur nod numit master sau primar care pune la dispoziie aceste date pentru citire
altor noduri numite slave 3modelul masterKslave4, fie n cadrul unui flu% de activiti
prin care datele reproduse actualizate sunt mutate de la un nod la altul la diverse
momente de timp ns la un moment dat un singur nod poate reactualiza acel set de
date, fie n mai multe noduri ale reelei 3metoda reactualizare oriunde sau
reproducere simetric4 caz n care mai multe noduri au drepturi egale de a
reactualiza datele reproduse. : alt modalitate de tratare a reproducerilor o
constituie crearea de ctre utilizatori a unor aplicaii proprii de reproducere numite
declanatoare de baze de date, care conin cod ce va fi e%ecutat la declanarea
anumitor evenimente cum ar fi spre e%emplu inserarea unei nregistrri, modificarea
unei nregistrri e%istente, etc.
-)-)@) Ba.! %! %a! $u,&$!%&a
&onceptul multimedia reprezint capacitatea de ac8iziionare, stocare,
manipulare i redare informaii obinute de la diverse surse ce conin te%t, grafic,
sunet, imagine static sau dinamic, grupate n documente electronice. :rganizarea
informaiei sub form de documente electronice i accesarea acestora a devenit
posibil odat cu apariia Meb1ului. &rearea documentelor electronice pe Meb se
realizeaz cu a9utorul limba9ului JT+* 3JEperTe%t +arPup *anguage4 bazat pe
8iperlegturi 3legturi ctre date stocate ierar8ic4, iar accesarea acestora se face cu
a9utorul unor programe numite navigatoare 3Anternet %plorer, @etscape4. Pentru
realizarea de pagini Meb dinamice se utilizeaz limba9e specializate cum ar fi
<ava/cript, care permit ncorporarea unor programe simple n documentul JT+* i
care vor fi e%ecutate de ctre programul navigator.
:rganizarea i gestionarea eficient a informaiei multimedia se realizeaz n
cadrul sistemelor de gestiune a bazelor de date multimedia 3/D;D ++4. $n cadrul
unor sisteme /D;D comerciale, informaia multimedia poate fi stocat direct n baza
de date n tipuri de c'mpuri speciale, sau baza de date poate conine locaiile 3cile
de acces4 la fiierele e%terne ce conin informaia multimedia. : baz de date
multimedia trebuie s permit stocarea i regsirea informaiei multimedia n condiii
optime privind necesarul de suport i timpul de rspuns. Dei e%ist la ora actual o
serie de modele teoretice de obiecte multimedia, acestea sunt specifice anumitor
aplicaii, sunt limitate ca funcionalitate i nu au fost nc implementate n produse
/D;D comerciale. Aceste produse au faciliti de stocare, ns multe din operaiile
de prelucrare a unor tipuri de date multimedia trebuie realizate n cadrul aplicaiei
multimedia prin intermediul unui limba9 gazd.
14
-)-)A) Ar7&!+ur& +,&!'4s!r*!r 3!'ru s&s!$!,! SGBD
/istemele client1server au aprut ca urmare a descentralizrii activitii din
diverse domenii, ceea ce presupune o repartizare a realizrii sarcinilor pe cele dou
nivele- client, server. De obicei clienii reprezint utilizatorii finali care vor comunica
cu serverul bazei de date n cadrul unei reele de calculatoare.
Dup rolul pe care l are fiecare din componentele client, server, se pot
distinge [&:;/!0# trei ar8itecturi de baz pentru un sistem client1server 3*oomis
0>>,4 i anume-
- ar8itectura de tip server de obiecte 5 n care se distribuie prelucrarea ntre
cele dou componente 3server, client4. /erverul este responsabil de
administrarea memoriei i zvoarelor, efectuarea operaiilor n memoria
secundar, securitatea, integritatea i recuperarea bazei de date, e%ecutarea
procedurilor stocate i optimizarea interogrilor. &lientul este responsabil de
administrarea tranzaciilor i realizarea interfeei cu limba9ul de programare2
- ar8itectura de tip server de pagini 5 cea mai mare parte a prelucrrilor este
realizat de ctre client. /erverul este responsabil de memoria secundar i
furnizeaz paginile corespunztor cererilor formulate de client2
- ar8itectura de tip server de baz de date 5 cea mai mare parte din
prelucrrile bazei de date este efectuat de ctre server. &lientul transmite
cererea serverului, primete rezultatele i le transmite aplicaiei. ste modul
utilizat frecvent de ctre sistemele relaionale.
$n fiecare dintre cele trei cazuri serverul se gsete pe aceeai main ca i
baza de date fizic. &lientul se poate afla pe aceeai main sau pe una diferit. $n
cazul bazelor de date distribuite pe mai multe maini, clientul va comunica cu c'te un
server de pe fiecare main. De asemenea mai muli clieni pot comunica
concomitent cu acelai server 3accesul concurent4.
Ar8itectura tradiional a sistemelor client1server este o ar8itectur pe dou
nivele 3eta9e4, n care la primul nivel 3clientul4 se realizeaz interfaa cu utilizatorul i
logica principal a aplicaiei, iar la al doilea nivel 3serverul4 se realizeaz validarea
datelor i accesul la baza de date. @ecesitatea rezolvrii unor probleme comple%e
care presupun accesul la baza de date a unui numr mare de utilizatori, utilizarea
unor platforme 8ard1soft diferite, precum i integrarea bazelor de date n mediul Meb,
au impus definirea unei noi ar8itecturi client1server n care sunt definite trei nivele i
anume-
- nivelul client, la care se realizeaz interfaa cu utilizatorul aplicaiei2
- nivelul server de aplicaie, la care se realizeaz logica aplicaiei i prelucrrii
datelor2
- nivelul server de baze de date, la care se realizeaz validarea datelor i accesul
la baza de date.
.n server de aplicaie poate servi mai muli clieni, fiind conectat fizic at't la nivelul
client c't i la nivelul server de baze de date. /pre e%emplu n mediul Meb, clientul
poate fi un broLser Meb, iar serverul de aplicaie poate fi un server Meb.
15
-)6) E*",u=&a s&s!$!,"r %! 8a.! %! %a!
M"%!,ar!a %a!,"r
Prin modelarea datelor se urmrete organizarea unei colecii de date astfel
nc't pe de o parte s reprezinte c't mai fidel situaia din lumea real, iar pe de alt
parte s faciliteze reprezentarea i prelucrarea datelor pe calculator. : etap
important n definirea modelului conceptual al unei baze de date o constituie
identificarea categoriilor de obiecte 3tipuri de entiti4, a proprietilor 3atributelor4
caracteristice fiecrei categorii i a legturilor 3relaiilor4 dintre tipurile de entiti.
Deneralizarea i formalizarea proprietilor caracteristice ale datelor, conduc la
definirea conceptului de model de date.
.n model de date este [D:=:>?# un instrument teoretic care permite
identificarea semnificaiei sau coninutului de informaie pentru o colecie de date,
vzut n ansamblul ei, prin contrast cu valorile individuale ale datelor. Din punct de
vedere te8nic un model de date este un formalism av'nd dou componente-
- un set de reguli pentru organizarea i structurarea datelor2
- un set de reguli 3operaii4 pentru manipularea datelor.
+odelele de date se pot clasifica [D:=:>?# n-
- modele de date strict tipizate 1 sunt acele modele n care fiecare dat trebuie s
aparin unei categorii. Datele care nu se ncadreaz n mod natural ntr1o
categorie vor trebui forate n una din categoriile modelului2
- modele de date slab tipizate 1 sunt modele n care datele individuale pot e%ista
prin ele nsele i pot fi legate de alte date. &ategoriile sunt permise numai n
msura n care sunt utile.
+odelele strict tipizate impun anumite restricii asupra categoriilor de obiecte i
asupra legturilor dintre acestea, ceea ce le face mai puin e%presive n modelarea
situaiilor din lumea real fa de modelele slab tipizate. Prin ncadrarea obiectelor n
categorii omogene, modelele strict tipizate faciliteaz transpunerea pe calculator n
scopul prelucrrii unor volume mari de date i din acest motiv modelele de date care
stau la baza proiectrii /D;D1urilor sunt p'n la ora actual modele strict tipizate.
.n model conceptual sau sc8em cuprinde numele categoriilor 3tipurilor de
entiti4, proprietile caracteristice ale acestora 3atribute4 i legturile dintre categorii.
$n cadrul unui model, un tip de entitate corespunde unei categorii de obiecte din
lumea real. .n obiect al unei categorii sau o entitate reprezint o realitate obiectiv
care e%ist prin ea nsi. :rice entitate aparine unui tip de entitate i este definit
prin valorile atributelor ce definesc tipul de entitate corespunztor. Dup identificarea
tipurilor de entiti i a legturilor dintre acestea se identific atributele ce definesc
fiecare tip de entitate. Prima form de structurare a datelor realizeaz asocierea
atributelor pentru a descrie tipul de entitate. Toate modelele de date utilizate p'n n
prezent realizeaz definirea entitilor prin structuri de tip nregistrare care se obin
prin concatenarea valorilor atributelor ce definesc tipul de entitate respectiv. .n tip de
entitate poate fi descris convenabil prin intermediul unui tabel astfel-
- capul de tabel descrie tipul de entitate2
- liniile tabelului definesc fiecare entitate n parte.
A doua form de structurare a datelor n cadrul modelului conceptual al unei
baze de date are n vedere reprezentarea legturilor ntre mulimile de entiti ale
bazei de date. +odelele de date utilizate p'n n prezent difer ntre ele n principal
prin modul de realizare a legturilor dintre tipurile de entiti. $ntre dou tipuri de
entiti 0, , pot e%ista urmtoarele tipuri de legturi-
1
1 relaie 0 - 0 5 unei entiti din 0 i corespunde o singur entitate n , i
reciproc 3relaie de tip so 5 soie , fig. 0.64.
&orespondena ntre elementele mulimilor 0, , este dat mai 9os.
e00 1Q e,0 e0, 1Q e,, e06 1Q e,6
1 relaie 0 - n 5 unei entiti din 0 i corespund una sau mai multe entiti din
,, dar fiecrei entiti din , i corespunde o singur entitate din 0 3relaie de tip
tat 5 fiu, fig. 0."4.
&orespondena ntre elementele mulimilor 0, , este dat mai 9os.
e00 1Q e,0, e,", e,7 e0, 1Q e,, e06 1Q e,6, e,R
1 relaie m - n 5 unei entiti din 0 i corespunde una sau mai multe entiti din
, i reciproc 3relaie de tip prieten5prieten, fig. 0.74.
1!
)ig. 0.6. =eprezentare relaie 0-0
e11
e12
e13
e21
e22
e23
%1 %2
e11
e12
e13
e21
e22
e23
e24
e25
e2
%1 %2
)ig. 0.". =eprezentare relaie 0-n
e11
e12
e13
e14
e21
e22
e23
e24
e25
e2
%1 %2
)ig. 0.7. =eprezentare relaie m-n
&orespondena ntre elementele mulimilor 0, , este dat mai 9os.
e11 &' e21 ( e24 e12 &' e22 e13 &' e23 ( e25 e14 &' e21 ( e23
:rice relaie de tip m1n poate fi descompus n dou relaii de tip 01n definind o
legtur 3relaie4 au%iliar * 301Q, este descompus n 01Q* , ,1Q* , fig. 0.R4.
-)6)-) M"%!,! %! %a! u&,&.a! 0' 3r"&!+ar!a SGBD4ur&,"r
)uncie de modul n care sunt reprezentate relaiile 3legturile4 ntre tipurile de
entiti au fost definite n ordine cronologic urmtoarele tipuri de modele de date
[D:=:>?#- modelul ierar8ic, modelul reea, modelul relaional.
M"%!,u, %! %a! &!rar7&+
ste primul model de date care a stat la baza realizrii unor /D;D1uri. &el
mai reprezentativ /D;D realizat dup acest model este sistemul A+/ 3Anformation
+anagement /Estem4 al firmei A;+ dezvoltat n cadrul programului de cercetri
spaiale AP:**:. /tructurile de date sunt reprezentate prin intermediul diagramei
structurii de date care este un graf orientat reprezent'nd tipurile de entiti i legturi
funcionale ntre acestea. @odurile grafului reprezint tipurile de entiti iar arcele
grafului, legturile ntre tipurile de entiti de la e%tremitile arcului respectiv. .n arc
de la tipul de entitate origine ctre tipul de entitate e%tremitate reprezint o legtur 0
- n 4. $n cadrul modelului e%ist un tip de entitate numit rdcin care nu este
subordonat nici unui alt tip de entitate. )iecare tip de entitate poate avea unul sau
mai multe tipuri de entitate subordonate cu e%cepia nodurilor finale 3de la care nu
mai pleac arce4. Deci nodurile sunt organizate pe nivele sub forma unui arbore
ordonat. )iecare nod cu e%cepia nodului rdcin are o singur legtur ctre
nivelul imediat superior 3nodul tat 4 i un numr de legturi ctre noduri de pe nivelul
imediat inferior 3noduri fiu4. : astfel de reprezentare poart numele de arbore de
definiie ierar8ic.
$n figura 0.O. este reprezentat un e%emplu de arbore de definiie 3diagrama structurii
datelor4 pentru o structur de date pe trei nivele.
1"
e11
e12
e13
e14
e21
e22
e23
e24
e25
e2
%1 %2
l1
l2
l3
l4
l5
l
l!
l"
)
e11
e12
e13
e14
e21
e22
e23
e24
e25
e2
%1 %2
l1
l2
l3
l4
l5
l
l!
l"
)
)ig. 0.R. Descompunere relaie m-n n dou relaii 0-n



Descrierea simplificat a structurii de date reprezentat n figura 0.O. n cadrul
sistemului ierar8ic A+/ este redat n continuare.
TREE S3
RECORD E0 ROOT
<Descriere atribute ce definesc tipul de entitate E0>
RECORD E1 PARENT = E0
<Descriere atribute ce definesc tipul de entitate E1>
RECORD E PARENT = E0
<Descriere atribute ce definesc tipul de entitate E>
***
RECORD En PARENT = E0
<Descriere atribute ce definesc tipul de entitate En>
RECORD E1 PARENT = E
<Descriere atribute ce definesc tipul de entitate E1>
*
RECORD E! PARENT = E
<Descriere atribute ce definesc tipul de entitate E!>
: relaie de tip 0- n ntre dou tipuri de entiti este reprezentat printr1o colecie de
arbori av'nd n rdcin o instaniere a entitii printe i ca descendeni un numr
de instanieri a entitii fiu. =eprezentarea relaiilor de tip m-n introduce o mare
redundan de date 3nregistrarea corespunztoare apare n baza de date de mai
multe ori4. Av'nd n vedere c interogrile se realizeaz prin parcurgerea arborilor,
anumite interogri pot fi dificil de realizat. +odelul ierar8ic este indicat pentru structuri
natural1ierar8ice 3relaii de tip 0 - n4. Pot fi folosite pentru memorarea datelor i
suporturi cu acces strict secvenial.
M"%!,u, %! %a! r!=!a
/tandardul pentru bazele de date de tip reea este definit n documentele
emise de comisia D;TD 3Data ;ase TasP Droup4 nfiinat cu ocazia conferinei
&:DA/S* din anul 0>O0. =eprezentarea structurii datelor n modelul reea este
realizat prin diagrama structurii datelor care este un graf oarecare n care nodurile
reprezint tipurile de entiti iar arcele sunt etic8etate i reprezint legturile ntre
tipurile de entiti. An sistemul D;TD aceste arce se numesc tip de set i reprezint o
legtur ntre dou tipuri de nregistrri i anume- tipul de nregistrare proprietar, tipul
de nregistrare membru. )iecare nregistrare de tip proprietar poate fi legat de zero,
una sau mai multe nregistrri de tip membru, iar colecia de arce corespunztoare
este numit set sau fan1set. Pot fi reprezentate doar legturile de tip 0-0 i 0- n.
/pre deosebire de modelul ierar8ic, n modelul reea un tip de entitate poate fi legat
1#
%$ (rdcin)
%1 %2 %n
%2+ %21

,i-* 1*!* Dia-rama structurii datelor .n modelul ierar/ic


la unul sau mai multe tipuri de entitate printe sau c8iar prin mai multe arce la acelai
tip de entitate printe 3din acest motiv arcele sunt etic8etate4. Pot e%ista i tipuri de
entitate fr legturi. .n e%emplu de structur de tip reea este reprezentat n figura
0.?.





$n ma9oritatea sistemelor de tip reea implementarea seturilor se realizeaz
prin lanuri de pointeri av'nd drept cap de lan o nregistrare de tip proprietar i se
prezint sub forma unei liste circulare capTlan, nregistrare membru,B, capTlan.
Pot fi utilizate urmtoarele tipuri de pointeri-
1 @UT 5 realizeaz nlnuirea nainte a nregistrrilor 3este obligatoriu42
1 P=A:= 5 realizeaz nlnuirea napoi a nregistrrilor 3este opional42
1 :M@= 5 leag o nregistrare de tip membru de nregistrarea proprietar
corespunztoare 3este opional4.
=ezult c pot fi definite- structuri cu pointeri @UT, structuri cu pointeri @UT i
P=A:=, structuri cu pointeri @UT i :M@=, structuri cu pointeri @UT, P=A:=,
:M@=
: reprezentare a celor trei tipuri de pointeri este ilustrat n figura 0.>.
.tilizarea diferitelor tipuri de pointeri trebuie fcut 9ustificat, deoarece afecteaz
performanele de timp i spaiu de stocare.
Descrierea n limba9ul *DD a unei structuri de tip reea conform standardului
D;TD va conine descrierea fiecrui tip de entitate i descrierea fiecrei legturi ntre
dou tipuri de entiti. Astfel, pentru fiecare tip de entitate, se va realiza o descriere
,-(.,D !#/- '% 0nume tip entitate1 0descriere atribute1
i pentru fiecare legtur ntre dou tipuri de entiti, o descriere
%-2 !#/- '% 0nume legtur1
2$
0
11 12 1n

2%34
056O5
O72%5
,i-* 1*#* 4ipuri de pointeri utiliza8i .n modelul re8ea
"E1E
E1
E E3 E# E$
E% E&
E' E(
"E1E3 "E1E# "E1E$
"E3E(
"E&E(
"1E3E'
"E%E'
"E(E'
"E$E$
E10
,i-* 1*"* Dia-rama structurii datelor .n modelul re8ea
"E3E'
.3!-, '% 0nume tip entitate proprietar1
/-/-, '% 0nume tip entitate membru1 0 tipuri de pointeri1
$n cadrul modelului, o relaie de tip m-n poate fi transformat n dou relaii de tip 0-n
cu a9utorul unei entiti de legtur care poate conine atribute sau poate fi vid
3conine doar pointerii de nlnuire4. Definirea unei relaii de tip m-n poate fi realizat
i prin multiplicarea nregistrrilor.
Dezavanta9ele modelului reea sunt datorate urmtoarelor aspecte-
1 gestionarea pointerilor de nlnuire cade n sarcina utilizatorului2
1 cu c't numrul de entiti crete cu at't structura devine mai complicat i dificil de
utilizat2
1 posibilitile de interogare sunt determinate de legturile definite ntre tipurile de
entiti.
/D;D1urile realizate la sf'ritul anilor R! i nceputul anilor O! au la baz
modelul ierar8ic i modelul reea, constituind prima generaie de sisteme %4D.
Principalele dezavanta9e ale acestor dou modele sunt-
- necesitatea scrierii unor programe comple%e pentru realizarea interogrilor,
bazate pe acces navigaional orientat pe nregistrri2
- ine%istena unui fundament teoretic2
- independena de date este minimal.
&ercetrile efectuate pentru eliminarea acestor nea9unsuri au condus la definirea
unui model de date care a revoluionat domeniul bazelor de date.
M"%!,u, %! %a! r!,a=&"'a,
*a nceputul anilor O! .). &odd a pus bazele modelului relaional
fundamentat pe algebra relaiilor i calculul relaional. /D;D1urile realizate dup
acest model constituie a doua generaie de sisteme %4D cu o larg rsp'ndire
3e%ist astzi peste 0!! de sisteme /D;D= at't pentru calculatoare mainframe c't
i pentru calculatoare P&4.
$ntruc't modelul relaional este fundamentat pe teoria matematic a relaiilor,
n cele ce urmeaz se va defini conceptul de relaie i o serie de noiuni utilizate n
cadrul acestui model.
/e consider mulimile D0, D,, B Dn nu neaprat distincte.
/e definete = ca fiind o relaie pe aceste mulimi dac este o mulime de tuple
ordonate 3d0, d,, B., dn4 astfel nc't d0 D0, d, D,, B., dn Dn.
D0, D,, B., Dn se numesc domeniile relaiei =, iar n este gradul relaiei =. : relaie
= pe mulimile D0, D,, B., Dn, este o submulime a produsului cartezian
D0%D,%B.%Dn.
.n domeniu a unei relaii =, este ansamblul valorilor admisibile pentru o component
a relaiei. .n domeniu cu numele su reprezint un atribut.
: relaie fiind o mulime de tuple rezult c asupra acestora se pot aplica
proprietile din teoria mulimilor. .rmtoarele dou proprieti au o importan
ma9or n teoria relaiilor-
0. : mulime fiind o colecie de elemente fr repetiie rezult c ntr1o relaie nu pot
e%ista dou tuple identice.
, :rdinea elementelor ntr1o mulime fiind nerelevant rezult c prin sc8imbarea
ordinii tuplelor unei relaii, relaia rm'ne nesc8imbat.
Din proprietatea 0 rezult c fiecare tupl poate fi identificat n mod unic prin valorile
atributelor sale, cu meniunea c poate e%ista un subset de atribute ale relaiei prin
21
care s se realizeze identificarea unic a fiecrei tuple. Aceast observaie conduce
la definirea noiunii de c8eie a unei relaii.
: c8eie a unei relaii = este un subset G de atribute ale relaiei, care satisface
proprietile-
04 5 identific unic tuplele relaiei2
,4 5 subsetul G este minimal 3eliminarea oricrui atribut din G duce la pierderea
proprietii
de identificare unic4.
:rice atribut ce face parte dintr1o c8eie se numete atribut prim. &elelalte atribute ale
relaiei care nu fac parte din nici o c8eie se numesc atribute neprime. Din precizrile
de mai sus rezult c pentru o relaie pot fi definite mai multe c8ei. .na dintre c8ei se
desemneaz ca fiind primar 3celelalte numindu1se candidate4 i va fi folosit de
/D;D pentru identificarea unic a tuplelor. &8eia primar este comunicat /D;D1
ului prin limba9ul *DD i pentru atributele ce compun aceast c8eie se impun
restriciile-
- nu sunt admise valori nedefinite pentru atributele ce compun c8eia primar2
- nici o valoare a unui atribut ce compune o c8eie primar nu poate fi modificat
n cadrul operaiilor de actualizare.
: c8eie a unei relaii utilizat n alte relaii poart numele de c8eie strin 3foreign
PeE4 n aceste relaii i este utilizat pentru definire legturi ntre tuplele relaiilor.
=eprezentarea structurii datelor n cadrul modelului relaional se realizeaz
prin schema relaional care const din una sau mai multe sc8eme de relaie. :
sc8em de relaie este definit de numele relaiei i atributele sale.
)ie sc8emele de relaie =03A0,;0,&04, =,3A,,;,4 care reprezint descrierea
a dou tipuri de entiti 0 respectiv ,. Pentru reprezentarea legturilor ntre tipurile
de entiti pot fi utilizate urmtoarele dou te8nici-
04 propagarea cheilor 3pentru relaiile 0-0, 0-n4 5 spre e%emplu, atributul A0 propriu
tipului de entitate 0 este preluat n sc8ema de relaie =,3A,,;,4 care devine
=,3A0,A,,;,4 pentru a reprezenta legturile de tip 0-n. Dac A0 este c8eie
primar n sc8ema de relaie =03A0,;0,&04, atunci A0 va fi c8eie strin n
sc8ema de relaie =,3A0,A,,;,4
,4 crearea unei scheme de relaie separate 3pentru reprezentarea legturilor m - n4
care va conine c8eile celor dou tipuri de entiti i eventual i alte atribute 5
spre e%emplu =0,3A0,A,4, dac se consider c atributul A0 este c8eie pentru
tipul de entitate 0 iar atributul A, este c8eie pentru tipul de entitate , .
)iecare sc8em de relaie se poate reprezenta printr1un tabel n care
coloanele sunt domeniile 3atributele4 relaiei iar liniile 3r'ndurile tabelului4 sunt
nregistrrile corespunztoare tipului de entitate descris de relaia respectiv.
: posibil descriere a sc8emei relaionale de mai sus n limba9ul /F* este redat
mai 9os.
(,-#2- 2#5- ,6)#6 '!2-4-, )7* !.2 !855, 6 (9#, )6:*, (6 (9#, );<**
(,-#2- 2#5- ,;)#; '!2-4-, ):* !.2 !855, ; (9#, )=* !.2 !855*
$n cele ce urmeaz sunt enumerate principalele caracteristici definitorii pentru
modelul relaional-
- n modelul relaional at't tipurile de entiti c't i legturile dintre ele sunt
reprezentate prin relaii2
- orice interogare a bazei de date este definit tot printr1o relaie2
- fiecare relaie conine o mulime de tuple care pot fi reprezentate convenabil
printr1un tabel n care fiecare tupl este un r'nd al tabelului i poate fi interpretat
ca o propoziie adevrat2
22
- fiecare relaie are [DAT!"# un titlu sau antet 3un set de perec8i nume>coloan,
tip>dat4 i un cuprins 3o mulime de r'nduri care se conformeaz titlului4. Titlul
poate fi privit ca un predicat n care argumentele sunt numele coloanelor, iar
fiecare r'nd al cuprinsului poate fi interpretat ca fiind o propoziie adevrat
obinut prin nlocuirea argumentelor predicatului cu valorile corespunztoare2
- modelul dispune de operatori care permit procesul de inferen a unor propoziii
adevrate noi din propoziiile e%istente la un moment dat. $n acest sens, sunt
deosebit de importani operatorii de restricie 3e%tragerea anumitor r'nduri din
tabel4, proiecie 3e%tragerea anumitor coloane din tabel4 i uniune 3combinarea
a dou tabele ntr1una singur pe baza valorilor comune din cadrul unor coloane
comune4, care utilizai pentru consultarea datelor, permit derivarea de tabele noi
din tabele e%istente. Av'nd n vedere faptul c rezultatele aplicrii operatorilor
sunt tot tabele, deci intrrile i ieirile sunt de acelai tip 3proprietate a sistemelor
relaionale numit de nchidere4, se pot construi e%presii relaionale imbricate
3e%presii relaionale n care operanzii pot fi ei nii e%presii relaionale42
- o baz de date relaional este o colecie de relaii de diverse grade 3gradul unei
relaii este dat de numrul de atribute ce definesc relaia respectiv4.
Av'nd n vedere faptul c prin operaia de actualizare la momente diferite de timp
coninutul bazei de date se modific, Date definete n [DAT!"# variabila de relaie
ca fiind variabila care la un moment dat conine valoarea relaiei respective i astfel o
baz de date relaional este definit de o colecie de variabile de relaie. =aportat la
reprezentarea structurii datelor n modelul relaional, variabilei de relaie i
corespunde sc8ema de relaie. Cariabilele de relaie iniiale se numesc variabile de
relaie de baz, iar cele definite prin intermediul unor e%presii relaionale utiliz'nd
variabile de relaie de baz sunt numite variabile de relaie derivate. : categorie
important de variabile de relaie derivate n modelul relaional o constituie vederile,
care sunt relaii 3tabele4 virtuale pentru care n baza de date se va memora doar
e%presia relaional de definire a vederii i care vor putea fi utilizate ca i tabelele
reale. $n mod analog cu vederile se definesc instantaneele prin care se realizeaz
copii ale anumitor date din baza de date i care pe l'ng definiia interogrii conin i
datele rezultate din interogare numai pentru citire, put'nd fi remprosptate periodic
prin reluarea interogrii corespunztoare.
/D;D1urile realizate dup modelul relaional constituie a doua generaie de sisteme
%4D.
+a9oritatea sistemelor /D;D comerciale din prima i a doua generaie, aflate
n e%ploatare au fost proiectate pentru a satisface cerinele aplicaiilor din domeniul
afacerilor i anume- probleme de gestiune a ntreprinderilor 3personal, salarii,
magazii, producie4, sisteme de rezervare a locurilor 3transporturi, staiuni, 8oteluri,
etc.4, sisteme de gestiune biblioteci, sisteme financiar1bancare, aplicaii care se
caracterizeaz prin efectuarea unor operaii relativ simple asupra unor volume mari
de date. *imba9ele de manipulare utilizate n cadrul acestor sisteme rezolv
problema accesului operativ la volume mari de date, ns au o putere de e%presie
limitat considerabil mai redus fa de cea a limba9elor de programare
convenionale cum ar fi- PA/&A*, &:;:*, ):=T=A@ etc. /pre e%emplu, limba9ele
*+D utilizate n cadrul /D;D1urilor relaionale, nu permit e%primarea operaiilor cu
caracter recursiv. *imitarea limba9elor *+D la posibilitatea e%primrii doar a unor
operaii simple s1a impus din urmtoarele dou motive-
1 optimizarea timpului de rspuns prin utilizarea optimizatoarelor2
1 simplitatea utilizrii acestor limba9e le face accesibile unor categorii largi de
utilizatori.
23
B'r!82r&
0. Principalele modaliti de organizare a datelor pe suporturi e%terne de memorare
sunt-
a4 )iierul2 b4 Tabela2 c4$nregistrarea2 d4 Dosarul2 e4 ;aza de date.
,. : baz de date este-
a4 o colecie de date organizat i gestionat sub un softLare numit /D;D2
b4 un ansamblu de date n memoria intern a calculatorului2
c4 o aplicaie care gestioneaz un volum mare de date.

6. /istemul de Destiune a ;azei de Date 3/D;D4 este-
a4 .n pac8et de programe pentru realizarea asistat de calculator a sistemelor
informatice2
b4 .n sistem de programe care permite definirea, crearea ntreinerea i
interogarea bazei de date precum i accesul controlat la baza de date2
c4 .n sistem de programe pentru interogarea bazei de date.
". Prezentai cele 6 nivele ale ar8itecturii A@/A1/PA=& pe 6 nivele ale unei baze de
date i definii independena logic i independena fizic de date.
7. Prezentai tipurile de legturi care se pot defini ntre dou mulimi de entiti.
R. numerai tipurile de aplicaii din domeniul afacerilor.
O. Definii baza de date distribuit.
?. Definii conceptul multimedia n domeniul bazelor de date.
>. Definii ar8itectura client1server pentru o baz de date.
0!. +odelele de date utilizate n proiectarea /D;D1urilor sunt-
a4 +odelul conceptual2 b4 +odelul fizic2 c4 +odelul logic2
d4 +odelul relaional2 e4 +odelul semantic2 f4 +odelul ierar8ic2
g4 +odelul relaional cu obiecte2 84 +odelul orientat obiect2 i4 +odelul reea.
00. $n modelul relaional reprezentarea structurii datelor se realizeaz prin-
a4 relaii2 b4 diagrama structurii datelor2 c4 sc8ema relaional2 d4 entiti.

0,. $n modelul relaional legturile dintre tipurile de inregistrri pot fi realizate prin-
a4 +ultiplicarea nregistrrilor2 b4 Pointeri2 c4 Propagarea c8eilor2
d4 &rearea unor sc8eme de relaie separate.
06. : c8eie a unei relaii poate fi-
a4 .nul sau mai multe atribute oarecare, care identific n mod unic tuplele relaiei2
b4 :rice atribut din cadrul relaiei2
c4 .n subset G de atribute din cadrul relaiei care identific unic tuplele relaiei,
subsetul G fiind minimal 3eliminarea oricrui atribut din G duce la pierderea
proprietii de identificare unic4.
24
Curs 6
Tehnologii / Modele / Sisteme pentru aplia!ii a"ansate de baze de date
/D;D1urile realizate la sf'ritul anilor R! i nceputul anilor O! au la baz
modelul ierar8ic i modelul reea, constituind 3r&$a #!'!ra=&! %! s&s!$! SGBD.
Principalele dezavanta9e ale acestor dou modele sunt- necesitatea scrierii
unor programe comple%e pentru realizarea interogrilor, bazate pe acces
navigaional orientat pe nregistrri, ine%istena unui fundament teoretic,
independena de date minimal.
*a nceputul anilor O! .). &odd a pus bazele modelului relaional
fundamentat pe algebra relaiilor i calculul relaional. /D;D1urile realizate dup
acest model constituie a %"ua #!'!ra=&! %! SGBD4ur& cu o larg rsp'ndire 3e%ist
astzi peste 0!! de sisteme /D;D= at't pentru sisteme mainframe c't i pentru
sisteme P&4.
+a9oritatea sistemelor /D;D comerciale aflate n e%ploatare au fost proiectate
pentru a satisface cerinele aplicaiilor din domeniul afacerilor i anume -
- probleme de gestiune a ntreprinderilor 3personal, salarii, magazii, producie, etc.42
- sisteme de rezervare a locurilor 3transporturi, staiuni, 8oteluri, etc.42
- sisteme de gestiune biblioteci2
- sisteme financiar1bancare, etc.
care se caracterizeaz prin efectuarea unor operaii relativ simple asupra unor
volume mari de date.
*imba9ele de manipulare utilizate n cadrul acestor sisteme, rezolv problema
accesului operativ la volume mari de date, ns au o putere de e%presie limitat,
considerabil mai redus fa de cea a limba9elor de programare convenionale cum
ar fi- PA/&A*, &:;:*, ):=T=A@ etc. /pre e%emplu, limba9ele *+D utilizate n
cadrul /D;D1urilor relaionale, nu permit e%primarea operaiilor cu caracter recursiv.
=educerea limba9elor *+D la posibilitatea e%primrii doar a unor operaii simple s1a
impus din urmtoarele dou motive-
1 optimizarea timpului de rspuns mai ales n cazul c'nd se opereaz asupra
unor volume mari de date 1 prin utilizarea optimizatoarelor care pot e%ploata
informaii privind structurile fizice au%iliare 3indeci, tabele de dispersie, etc.4 de care
utilizatorul nu trebuie s aib cunotin. Prin optimizare, se poate obine o reducere
considerabil a timpului de rspuns la interogri 3e%.0!!.!!! ori 42
1 simplitatea 3uurina4 utilizrii acestor limba9e le face accesibile unor categorii
largi de utilizatori.
.na din deficienele modelelor de date utilizate n proiectarea /D;D1urilor din
prima i a doua generaie, o constituie posibilitile limitate de modelare. Astfel a fost
definit conceptul de model semantic sau model e%tins nc din 0>OR, c'nd &8en a
prezentat modelul ntitate1=elatie 3K=4, care constituie astzi o te8nic larg
acceptat pentru proiectarea bazelor de date.
+odelul K= permite proiectantului bazei de date s elaboreze un model
conceptual, fr a ine seama de anumite constr'ngeri impuse de cele trei modele
care stau la baza proiectrii /D;D1urilor, ceea ce permite o reprezentare mai fidel a
realitii avute n vedere. +odelul conceptual astfel realizat const dintr1o diagram
K=, care ulterior poate fi transpus n cadrul unuia din modelele - ierar8ic, reea,
relaional. Deci modelul K= constituie o etap intermediar n proiectarea unei baze
de date, fiind din acest punct de vedere asemntor pseudocodului utilizat n
activitatea de programare.
25
@ecesitatea rezolvrii unor probleme comple%e care nu se ncadreaz n clasa
de probleme din domeniul afacerilor pentru care au fost proiectate /D;D1urile din
prima i a doua generaie, impune elaborarea de limba9e de manipulare cu putere de
e%presie mult mai apropiat de cea a limba9elor de programare convenionale.
Aceste aplicaii sunt cunoscute [&:;/!0# sub denumirea de aplicaii avansate
de baze de date, sau [DAT!"# aplicaii Icomple%eI i includ -
- Proiectarea asistat de calculator &AD 3&omputer Aided Design42
- )abricarea asistat de calculator &A+ 3&omputer Aided +anufacturing42
- Angineria programrii asistat de calculator &A/ 3&omputer Aided /oftLare
ngineering42
- /istemele informaionale de birou :A/ 3:ffice Anformation /Estems4 i sistemele
multimedia2
- ditarea digital 3stocarea electronic a crilor, revistelor, ziarelor, articolelor i
furnizarea lor la consumatori prin reele foarte rapide42
- /istemele informaionale geografice DA/ 3Deograp8ical Anformation /Estems42
- Aplicaii tiinifice i medicale 3e%. date comple%e pentru modelele moleculare ale
compuilor c8imici sintetici, date comple%e privind materialul genetic, etc.42
- /isteme e%pert 3cunotine i baze de reguli pentru aplicaii de inteligen
artificial4.
Aplicaiile avansate de baze de date de tipul celora enumerate mai sus necesit
accesarea i manipularea unor volume mari de date ca i n cazul /D;D1urilor
clasice, precum i efectuarea unor operaii mai comple%e dec't cele posibile n
cadrul /D;D1urilor clasice. Pentru soluionarea acestor probleme cercetrile sunt
ndreptate n dou direcii [D:=:>?# i anume-
- utilizarea te8nologiei orientate obiect2
- utilizarea limba9elor de programare logic.
.tilizarea te8nologiei orientate obiect are n vedere realizarea unor sisteme de
gestiune a bazelor de date prin care structurile de date sunt definite i manipulate ca
obiecte comple%e av'nd fiecare o identitate proprie i put'nd fi grupate n clase
ierar8izate pe nivele cu motenirea proprietilor dinspre nivelele superioare ctre
nivelele inferioare ale ierar8iei i cu posibilitatea de a defini proceduri specifice
pentru accesarea i manipularea obiectelor de un anumit tip astfel nc't o parte din
comple%itatea prelucrrilor este memorat n cadrul structurii de date.
Abordarea logic are n vedere dezvoltarea de sisteme denumite /D;&
3/isteme de Destiune a ;azelor de &unotine4 [D:=:>?#, sau /isteme de ;aze de
Date Anteligente [AD;/!,#, sau /D;D deductive [PA=&!,#, [/PA/!,#, [DAT!"#,
care s rspund pe de o parte cerinelor oferite de un /D;D i pe de alt parte s
posede un limba9 declarativ cu o putere de e%presie apropiat de cea a limba9elor
convenionale. &ercetrile desfurate n aceast direcie au n vedere adaptarea
limba9elor logice de tip P=:*:D la cerinele impuse de manipularea unor volume
mari de date nt'lnite n cadrul /D;D1urilor. $n acest sens sunt avute n vedere
limba9ele din familia DATA*:D, care sunt considerate a fi intermediare ntre
limba9ele relaionale i limba9ul P=:*:D. Aceste limba9e sunt privite din dou puncte
de vedere opuse i anume-
- un limba9 DATA*:D este o e%tensie recursiv a unui limba9 relaional2
- un limba9 de tip DATA*:D este un limba9 P=:*:D liber de funcii, rezultat prin
eliminarea argumentelor de tip funcie ale predicatelor n programele P=:*:D.
2
6)-) U&,&.ar!a !7'","#&!& "r&!'a! "8&!+
Te8nologia orientat spre obiecte reprezint o disciplin important n
domeniul ingineriei softLare i are n vedere faptul c utilizatorii trebuie s poat
manipula obiecte i operaii cu acestea c't mai apropiate de ec8ivalentele lor din
lumea real. Pentru a reprezenta n memoria calculatorului obiectele fizice sau
noiunile din lumea real trebuie s avem n vedere at't proprietile caracteristice
acestora c't i operaiile care pot fi efectuate, deci trebuie s avem n vedere datele
ce descriu proprietile precum i operaiile care pot fi aplicate datelor. $n cadrul
te8nologiei orientate obiect informaiile specifice obiectelor din lumea real trebuie s
fie pstrate la un loc 3ntr1o zon compact4 i s poat fi prelucrate ca un tot unitar.
De asemenea trebuie s avem n vedere modul cum reacioneaz obiectul atunci
c'nd este supus la aciuni e%terioare. =eprezentarea datelor se va realiza prin
intermediul tipurilor de date, iar a operaiilor ce acioneaz asupra datelor, prin
intermediul funciilor. /pre sf'ritul anilor ?! s1a pus problema utilizrii acestei
te8nologii i n domeniul bazelor de date.
#.1.1. $onepte utilizate %n tehnologia orientat& obiet
.n obiect este o entitate unic identificabil, definit de un set de proprieti
3atribute4 i de aciunile 3operaiile4 asociate acestuia. Adentificarea aspectelor
eseniale ale unei entiti i ignorarea proprietilor nesemnificative se realizeaz prin
operaia de abstractizare care presupune at't ncapsularea c't i ascunderea
informaiilor. Pentru a prote9a proprietile unui obiect la accesul din e%terior n
vederea meninerii coerenei valorilor memorate n interiorul obiectului este preferabil
ca acele proprieti s poat fi modificate doar de operaii definite n cadrul
obiectului, operaii ce vor verifica noile valori nainte de a face modificarea 3se
consider n acest caz c proprietile obiectului sunt ncapsulate n interiorul
acestuia [=:.>R#4. Altfel spus [&:;/!0#, ncapsularea presupune c un obiect
conine at't structura de date c't i operaiile care pot fi utilizate pentru a1l manipula,
iar ascunderea informaiilor presupune separarea aspectelor e%terne ale unui obiect
de detaliile sale interne care sunt ascunse fa de lumea e%terioar, astfel nc't
detaliile interne s poat fi sc8imbate fr a afecta aplicaiile care l utilizeaz, cu
condiia ca detaliile e%terne s rm'n aceleai. De asemenea obiectul ncapsuleaz
i modul de funcionare a operaiilor lui specifice, din e%terior put'ndu1se observa
doar modul de apelare a acestor operaii i rezultatele apelurilor. Prote9area i
ncapsularea proprietilor i operaiilor unui obiect face ca utilizatorul obiectului
respectiv s fie independent de detaliile constructive ale obiectului, structura intern
a obiectului put'nd fi sc8imbat i perfecionat fr ca funcionalitatea de baz s
fie afectat. Pentru fiecare proprietate i operaie a unui obiect se va specifica care
sunt utilizatorii care au acces i cei care nu au acces.
$n unele limba9e de programare orientate obiect, ncapsularea este realizat
cu a9utorul unor tipuri de date abstracte ADT 3Abstract Data TEpe4, caz n care un
obiect are [&:;/!0# -
- o parte de interfa 5 care asigur specificarea operaiilor care pot fi
e%ecutate asupra obiectului2
- o parte de implementare 5 care const n structura de date pentru tipurile
ADT i funciile care realizeaz interfaa.
@umai partea de interfa este vizibil pentru alte obiecte sau utilizator. $n cazul
bazelor de date, acesta este modul corect de ncapsulare prin care se asigur
2!
accesul doar la partea de interfa, put'nd astfel s sc8imbm implementarea
intern a unui ADT fr a modifica aplicaiile care l utilizeaz.
/tarea unui obiect este descris de unul sau mai multe atribute numite i
variabile de instan, starea curent a obiectului fiind dat de valorile pe care le iau
atributele respective la un moment dat. Atributele pot fi-
- simple 5 tipuri simple de date 3e%. ntreg, ir, real, etc.4 care pot lua valori de
tip literal2
- comple%e 1 pot conine colecii 3descriu colecii de obiecte4 iKsau referine
3atribute de referin, descriu relaii dintre obiecte, pot conine o valoare sau
o colecie de valori ce identific obiecte4.
.n obiect care conine unul sau mai multe atribute comple%e se numete obiect
comple%. Pentru reprezentarea atributelor se utilizeaz notaia HpunctI astfel-
#nga$at?!ume 3precizeaz atributul !ume al obiectului #nga$at4.
Aciunile asociate obiectului, numite i metode, sunt operaii 3funcii4 ce se vor
aplica asupra valorilor atributelor. /etul de operaii specifice unui obiect mpreun cu
modul cum acesta reacioneaz la stimuli e%terni definete comportamentul
obiectului. +etodele pot fi utilizate pentru sc8imbarea strii obiectelor, sau pentru
interogarea valorilor atributelor sale. /pre e%emplu, putem avea metode pentru a
aduga o persoan n baza de date, pentru reactualizarea salariului unei persoane
e%istente n baza de date, sau pentru tiprirea la imprimant a datelor referitoare la o
persoan din baza de date.
+i9loacele prin care comunic obiectele sunt mesa9ele.
%emplu. Pentru a e%ecuta metoda (reste@salariu asupra unui obiect #nga$at de tip
&ersonal i a transmite metodei o valoare de cretere de ,7!!!! se va scrie
#nga$at?(reste@salariu);:<<<<*,
iar ntr1un limba9 de programare un mesa9 poate fi scris ca o apelare de funcie astfel
(reste@salariu)#nga$at,;:<<<<*
$n timp ce un obiect modeleaz at't starea c't i comportamentul, o entitate
modeleaz doar starea.
$n sistemele orientate pe obiecte, la crearea fiecrui obiect se genereaz
automat un identificator de obiect .'D care satisface condiiile- este generat de
sistem, este unic pentru acel obiect, nu poate fi modificat i nici utilizat pentru
identificarea altui obiect c8iar dac obiectul iniial a fost ters, este independent de
valorile atributelor sale, este invizibil pentru utilizatori. /pre deosebire de modelul
relaional unde unicitatea este impus la nivel de relaie prin c8eia primar format
din valori ale unor atribute, identificatorul de obiect :AD asigur unicitatea la nivelul
ntregului sistem. Dou obiecte sunt identice 3se noteaz HVI4 dac i numai dac ele
reprezint acelai obiect 3adic identificatorii lor :AD sunt aceiai4. Dou obiecte sunt
egale 3se noteaz HV VI4 dac strile lor sunt aceleai 3au aceleai valori ale
atributelor4. %ist dou tipuri de identificatori :AD i anume-
- identificatori :AD logici 5 care sunt independeni de localizarea fizic a obiectelor
pe disc2
- identificatori :AD fizici 5 care codific localizarea obiectelor pe disc.
.n sistem orientat pe obiecte trebuie s poat converti identificatorii :AD n pointeri
de memorie i invers 3operaie numit Hmi%are de pointeriI sau Hob9ect faultingI4 n
cadrul operaiilor de transfer al paginilor din memoria secundar n memoria
principal i invers.
%ist situaii n care un obiect comple% din lumea real este format din
subobiecte 3obiecte coninute4 legate printr1un set de relaii de tip A1PA=T1:) 3AP:
V o parte din4. *a r'ndul lor subobiectele pot fi ele nsele obiecte comple%e, ceea ce
2"
permite construirea unei ierar8ii de tip ATPA=TT:). .n subobiect poate fi manipulat
n dou moduri-
- poate fi ncapsulat n obiectul comple% form'nd o parte a acestuia i n acest caz
poate fi accesat numai cu metodele obiectului comple%2
- poate fi considerat ca av'nd o e%isten independent de cea a obiectului
comple% 5 caz n care n obiectul comple% este stocat doar identificatorul :AD al
obiectului coninut care are structura i metodele lui proprii i poate fi deinut de
diverse obiecte printe.
Astfel de tipuri de obiecte sunt denumite obiecte comple%e structurate, spre
deosebire de obiectele comple%e nestructurate cunoscute n domeniul bazelor de
date sub denumirea de obiecte binare mari 3;*:; 5 ;inarE *arge :;9ect4 a cror
structur poate fi interpretat doar de programe aplicaie.
$n lumea real se pot identifica clase 3familii4 de obiecte similare, definite de
aceleai proprieti. Atributele i metodele asociate sunt definite o singur dat
pentru clas i nu separat pentru fiecare obiect al clasei. Deci atributele sunt aceleai
pentru ntreaga familie de obiecte, dar valorile atributelor pot diferi de la un obiect la
altul. De asemenea operaiile sunt ntotdeauna aceleai ns rezultatul aplicrii lor
poate s difere n funcie de valorile atributelor obiectului asupra crora sunt aplicate.
=ezultatul aplicrii operaiilor nu depinde numai de valorile atributelor obiectului
respectiv, ci i de unele valori e%terioare acestuia. : clas poate fi privit ea nsi
ca un obiect av'nd propriile atribute i metode ce descriu caracteristicile generale ale
clasei 3e%. totaluri, medii, etc.4. :biectele unei clase se numesc instane ale clasei.
%ist metode speciale ale clasei pentru crearea de noi instane i distrugerea celor
inutile. De obicei metodele pentru crearea de noi instane sunt numite constructori,
iar cele de distrugere a instanelor sunt denumite destructori. .nele obiecte pot avea
atribute i metode comune, deci se poate pune problema parta9rii acestora n
vederea definirii unei clase mai generale. &azurile speciale sunt numite subclase, iar
cazurile mult mai generale superclase. Procesul de formare a unei superclase se
numete generalizare, iar procesul de formare a unei subclase se numete
specializare. $n sistemele orientate pe obiecte, motenirea permite ca o clas s fie
definit ca un caz special al unei clase mult mai generale. : subclas motenete
implicit toate proprietile 3atributele i metodele4 superclasei sale i n plus definete
proprieti specifice. Toate instanele subclasei sunt i instane ale superclasei.
=elaia dintre subclas i superclas este numit A1GA@D1:) 3AG:4 n traducere Hun
fel deI, iar relaia dintre o instan i clasa ei este denumit A/1A 3este un, o4.
Prin operaia de definire a unei noi clase de obiecte pe baza uneia de9a
e%istente, operaie numit i derivare 3sau e%tindere4 [=:.>R#, rezult o ierar8izare
a claselor de obiecte. ste foarte dificil de definit o ierar8ie de clase de obiecte
complet 3care s reprezinte realitatea ncon9urtoare n totalitatea ei4, ns pentru o
problem dat se vor defini doar acele concepte implicate n rezolvarea problemei
respective. Aerar8izarea se poate e%tinde pe mai multe nivele sub form
arborescent. $n cadrul ierar8iei se pot nt'lni urmtoarele tipuri de motenire
[&:;/!0#-
- motenire simpl 5 subclasele motenesc o singur superclas2
- motenire multipl 5 o subclas poate moteni mai multe superclase. @u toate
limba9ele i sistemele de gestiune a bazelor de date accept motenirea multipl,
deoarece aceasta introduce un nivel de comple%itate greu de administrat 3e%.
rezolvarea conflictelor care apar atunci c'nd superclasele conin aceleai atribute
sau metode42
2#
- motenire repetitiv 5 caz special de motenire multipl n care superclasele
motenesc o superclas comun2
- motenire selectiv 5 o subclas motenete doar anumite atribute i metode ale
superclasei.
.nele dintre atributele i operaiile definite n superclas pot fi redefinite n
subclasele de obiecte derivate cu meniunea c vec8ile atribute i operaii sunt
disponibile n continuare, ns pentru a le putea accesa va trebui specificat e%plicit
superclasa care deine copia redefinit. Aceast redefinire a unor atribute sau
operaii se numete rescriere sau supracopiere, ceea ce confer fle%ibilitate n
definirea unei ierar8ii, deoarece nici un atribut sau operaie definite ntr1un punct al
ierar8iei nu sunt impuse definitiv pentru conceptele derivate, permi'nd manipularea
cu uurin a cazurilor speciale cu un impact minim asupra restului sistemului. .n
caz mult mai general dec't supracopierea, este suprancrcarea, care permite ca
numele de metode s fie reutilizate n definirea unei clase sau pe parcursul definirii
claselor, ceea ce nseamn c un singur mesa9 poate avea diferite funcii, depinz'nd
de tipul obiectului ce primete mesa9ul i de parametrii transmii metodei. /pre
e%emplu pentru diverse clase se poate defini o metod de tiprire a datelor relevante
ale unui obiect. Astfel este posibil ca acelai nume s fie utilizat pentru aceeai
operaie, independent de tipul clasei asupra creia acioneaz. /e definete un
concept mult mai general denumit polimorfism care poate fi de unul din urmtoarele
trei tipuri [&:;/!0#-
- polimorfism de incluziune 5 cazul unei metode definite ntr1o superclas i
motenit n subclasele ei2
- polimorfism operaional 5 suprancrcarea2
- polimorfism parametric, sau generic 5 utilizeaz tipurile ca parametri n
declaraiile generice ale tipului sau clasei, descrierea generic acion'nd ca
un ablon pentru crearea ulterioar a uneia sau mai multor metode de tipuri
diferite 3e%. template4.
/elecia metodei corespunztoare pe baza tipului de obiect se numete legare. Dac
determinarea tipului de obiect poate fi fcut n momentul e%ecuiei 3n loc de
momentul compilrii4, atunci selecia este denumit legare dinamic 3nt'rziat4.
: categorie aparte a claselor de obiecte este constituit din acele clase ce
reprezint concepte care nu se pot instania direct ntruc't nu avem suficiente
informaii pentru a construi instane. Astfel de clase neinstaniabile sunt clase
abstracte i servesc pentru definirea unor proprieti sau operaii comune mai multor
clase i pentru generalizarea operaiilor referitoare la aceste clase. Dac o clas de
obiecte are cel puin o metod abstract, aceast clas va fi n ntregime o clas
abstract i nu va putea fi instaniat. &lasele de pe orice nivel pot avea instane
proprii cu condiia s nu fie clase abstracte.
6)-)6) M"%!,! %! %a! 8a.a! 3! !7'","#&a "r&!'a2 s3r! "8&!+!
Te8nologia orientat obiect st la baza elaborrii a dou noi modele de date
pentru rezolvarea problemelor puse de realizarea aplicaiilor avansate de baze de
date i anume-
- +odelul de date orientat spre obiecte ::D+ 3:b9ect :riented Data +odel42
- +odelul de date relaional cu obiecte :=D+ 3:b9ect =elational Data +odel4.
/D;D1urile realizate dup aceste modele reprezint a treia generaie de sisteme
%4D constituit din-
- /isteme de Destiune a ;azelor de Date :rientate :biect 3/D;D:: sau
::D;+/ 1 :b9ect :riented Data ;ase +anagement /Estem42
3$
- /isteme de Destiune a ;azelor de Date :biect =elaionale 3/D;D:= sau
:=D;+/ 1 :b9ect =elational Data ;ase +anagement /Estem4.
M"%!,u, %! %a! "r&!'a s3r! "8&!+! ODMG
.n model de date orientat spre obiecte ::D+ 3:b9ect :riented Data +odel*
este un model logic de date care conine semantica obiectelor, acceptat n
programarea orientat spre obiecte 3Gim 0>>04. P'n la aceast dat, nu e%ist un
model de date orientat spre obiecte, fundamentat teoretic, universal recunoscut,
ec8ivalent modelului de date care st la baza sistemelor relaionale. $n vederea
elaborrii de standarde pentru sistemele /D;D::, productori importani printre
care- Dem/tone /Estems, :b9ect Design, :, Tec8nologE, Cersant :b9ect
Tec8nologE, .ni/F*, P:T /oftLare, :b9ectivitE, *ocP8eed +artin i A;U
&omputing, au format grupul de administrare a bazelor de date de obiecte :D+D. $n
0>>6 grupul :D+D a realizat versiunea iniial a standardului :D+D, iar n 0>>O
versiunea :D+D ,.!, av'nd n vedere specificaiile documentului H:b9ect
+anagement Arc8itecture 3:+A4 DuideI, publicat n 0>>! de grupul principalilor
productori de 8ardLare i softLare :+D 3:b9ect +anagement Droup4, document
ce conine specificaii privind te8nologia orientat spre obiecte i n cadrul cruia este
definit modelul de obiecte :+ 3:b9ect +odel4 care constituie un model abstract de
proiectare pentru comunicarea cu sistemele orientate spre obiecte. $n concepia
:+D, ar8itectura unui sistem /D;D:: va conine-
1 modelul de obiecte :+ 3:b9ect +odel42
1 limba9ul de definire a obiectelor :D* 3:b9ect Data *anguage42
1 limba9ul de interogare a obiectelor :F* 3:b9ect FuerE *anguage42
1 interfee cu limba9ele &WW, /malltalP, <ava.
+odelul de obiecte :+ conine urmtoarele specificaii pentru modelare-
- Primitivele de baz pentru modelare sunt obiectul i literalul. )iecare obiect are
un identificator unic care nu poate fi modificat sau reutilizat pentru alte obiecte2
- *iteralul i obiectele pot fi clasificate n tipuri. Toate obiectele de un tip dat sunt
caracterizate de un comportament i o stare comun. .n tip de obiect este el
nsui un obiect. Tipurile de obiecte pot fi ierar8izate ntr1o reea supertip1subtip
n care proprietile i operaiile unui supertip sunt motenite de subtipurile sale2
- &omportamentul unui obiect este definit de un set de operaii care pot fi efectuate
asupra obiectului sau de ctre obiect2
- /tarea unui obiect este definit de valorile pe care le au proprietile obiectului la
un moment dat, o proprietate put'nd fi, fie un atribut al obiectului, fie o relaie
dintre acel obiect i unul sau mai multe alte obiecte2
- aza de date este definit prin schem care este creat cu a9utorul limba9ului de
definire a obiectelor 3:D*4 i stoc8eaz instane ale obiectelor definite de sc8ema
sa ce pot fi parta9ate ntre utilizatori i aplicaii multiple. Pentru crearea instanelor
se utilizeaz metoda neA)*.
Tipurile de obiecte sunt descompuse n tipuri atomice, colecii i tipuri
structurate. : colecie poate conine un numr de elemente omogene de orice tip,
fiecare put'nd fi o instan a unui tip atomic, o alt colecie sau un tip literal. %ist
colecii ordonate i colecii neordonate. &oleciile ordonate trebuie parcurse de la
primul element p'n la ultimul element sau viceversa n procesul de iteraie. $n cadrul
modelului sunt specificate 7 subtipuri de colecii i anume-
- /et 1 colecii neordonate care nu permit duplicate2
- ;ag 1 colecii neordonate care permit duplicate2
- *ist 1 colecii ordonate care permit duplicate2
31
- ArraE 1 ir unidimensional a crui lungime variaz dinamic2
- DictionarE 1 secven neordonat a perec8ilor de valori c8eie.
)iecare subtip are operaii pentru a crea o instan a tipului i a introduce elemente
n colecie.
Tipurile literale pot fi atomice, colecii, structurate sau null. Tipurile literale nu au
identificatori proprii i singure nu pot constitui obiecte2 fiind ns nglobate n obiecte.
Tipurile literale structurate conin un numr fi% de elemente eterogene, fiecare
element fiind o perec8e Nnume, valoare Q, unde valoare poate fi orice tip literal.
+odelul definete dou tipuri de proprieti i anume- atribute i relaii. .n
atribut este definit pentru un singur tip de obiect, iar relaiile sunt definite ntre tipuri,
modelul :+ oferind suport doar pentru relaiile binare 0-0, 0-n, m-n. $n cadrul
modelului sunt definite metadatele 3date despre date4. De asemenea este acceptat
conceptul de tranzacie 5 ca unitate logic de lucru ce transform baza de date dintr1
o stare coerent n alta. +odelul :+ este [&:;/!0# Hun model abstract de
proiectare portabil pentru comunicarea cu sistemele orientate spre obiecteI conform
specificaiilor :+D dup sc8ema din figura ,.0.
;roPerul :=; 3:b9ect =eXuest ;roPer4 este o magistral softLare distribuit care
permite obiectelor 3solicitanilor, aplicaiilor4 s emit cereri i s recepioneze
rspunsuri de la furnizor. /olicitantul trimite o cerere la broPerul :=;, care ine
evidena tuturor obiectelor din sistem i a tipurilor de servicii pe care le poate asigura.
;roPerul e%pediaz mesa9ul ctre furnizor care acioneaz asupra mesa9ului i
transmite napoi un rspuns la solicitant prin intermediul broPerului.
*imba9ul :D* permite definirea tipurilor de obiecte i a relaiilor dintre acestea,
fiind ec8ivalent cu limba9ul de definire a datelor DD* al sistemelor /D;D tradiionale.
*imba9ul :F* permite interogarea bazei de date de obiecte utiliz'nd o sinta%
asemntoare limba9ului /F*. @u conine operatori de reactualizare a bazei, ntruc't
aceast sarcin va fi e%ecutat de operaiile definite pentru tipurile de obiecte. Poate
fi utilizat at't ca limba9 autonom c't i ca limba9 nglobat ntr1un alt limba9 3&WW,
/malltalP, <ava4.
6)-)C) S&s!$! %! #!s&u'! a 8a.!,"r %! %a! "r&!'a! s3r! "8&!+! 9SGBDOO:
Av'nd n vedere specificaiile prezentate mai sus i din analiza unor sisteme
/D;D:: comerciale printre care- Dem/tone, :b9ect/tore, Atasca, :ntos, :,, Poet,
Cersant, se poate constata c n cadrul modelelor de date orientate spre obiecte sunt
preluate o serie de concepte din diverse domenii astfel-
- /isteme de baze de date tradiionale- persistena, tranzacii, controlul
concurenei, controlul refacerii, securitate, integritate, interogareB
- +odele de date semantice- generalizare, agregareB
32
1esa9
:erere
B5O;%5 D%
:%5%5%
D% OB6%:4%
(O5B)
Solicitant
)urni*+ri
,i-* 2*1* 1odelul de o<iecte O1G (sursa =:OBS$1>)
- Programarea orientat spre obiecte- identitatea obiectelor, ncapsulare,
motenire, tipuri i clase, metode, obiecte complexe, polimorfism?
Pr"8,!$! s3!+&(&+! s&s!$!,"r SGBDOO
Probleme specifice sistemelor /D;D:: sunt- modele de tranzacii avansate,
administrarea versiunilor obiectelor, evoluia sc8emei bazei de date.
Tranzaciile care opereaz cu obiecte comple%e, nt'lnite n aplicaii avansate
de baze de date, pot dura ore, zile sau mai mult, fiind numite i tranzacii de lung
durat, ceea ce necesit protocoale de control al concurenei diferite de cele utilizate
pentru tranzaciile de scurt durat nt'lnite n aplicaiile obinuite de baze de date.
$n acest sens, se utilizeaz protocoale bazate pe supraveg8ere prin care este evitat
apariia conflictelor, controlul concurenei mpiedic'nd interferarea accesrilor. Av'nd
n vedere faptul c n sistemele /D;D:: unitatea de control a concurenei i
refacerii este obiectul, pentru a evita anularea tranzaciilor datorit conflictelor de
zvor're se utilizeaz dou noi mecanisme i anume- modele de tranzacii avansate,
administrarea versiunilor obiectelor.
/e definesc urmtoarele modele de tranzacii avansate- tranzacii imbricate,
saga, tranzacii cu niveluri multiple.
$n modelul de tranzacii imbricate 3introdus de +oss n 0>?04, o tranzacie este
descompus ntr1o ierar8ie 3arbore4 de subtranzacii care se e%ecut de 9os n sus i
n care subtranzaciile unei tranzacii printe se e%ecut ca i cum ar fi tranzacii
separate.
/aga este o tranzacie cu un singur nivel de imbricare n care pentru fiecare
subtranzacie e%ist o tranzacie compensatoare. *a e%ecuia unei saga poate avea
loc una din urmtoarele dou situaii-
0. toate subtranzaciile se e%ecut cu succes2
,. o subtranzacie eueaz, este abortat i se ruleaz subtranzacii compensatoare
pentru recuperare.
Astfel de tranzacii pot fi utilizate dac subtranzaciile sunt independente i se pot
defini subtranzacii compensatoare.
$n modelul de tranzacii cu niveluri multiple arborele subtranzaciilor este
ec8ilibrat 3MeiPum i /c8eP 0>>04, ceea ce presupune c dou operaii aflate la un
anumit nivel pot s nu fie n conflict c8iar dac implementrile lor de la nivelul imediat
inferior sunt n conflict. &unosc'nd informaiile despre conflicte pe niveluri, utilizarea
tranzaciilor cu niveluri multiple permite un grad mai mare de concuren fa de
utilizarea altor tipuri de tranzacii.
%ist situaii care necesit accesul la versiuni anterioare ale unui obiect 3spre
e%emplu n dezvoltarea unui proiect este necesar s se stoc8eze evoluia obiectelor
proiectate i a modificrilor efectuate n proiect pe parcursul realizrii acestuia4.
+etoda utilizat n astfel de situaii este pstrarea evoluiei obiectelor, proces
cunoscut sub denumirea de administrarea versiunilor. : versiune a unui obiect este
o stare identificabil a acestuia, iar istoricul versiunilor reprezint evoluia obiectului.
Cersiunile unui obiect pot fi ordonate prin utilizarea mrcilor de timp i utilizatori
diferii pot lucra n acelai timp cu versiuni diferite ale aceluiai obiect, ceea ce
reprezint o alternativ n locul utilizrii tranzaciilor avansate pentru creterea
gradului de concuren. Produse comerciale printre care- :ntos, Cersant,
:b9ect/tore, :b9ectivitEKD;, Atasca, sunt prevzute cu faciliti de administrare a
versiunilor.
Av'nd n vedere faptul c proiectarea este un proces care evolueaz n timp,
este necesar posibilatea definirii i modificrii dinamice a sc8emei bazei de date. $n
33
acest sens n cursul procesului de proiectare pot surveni urmtoarele tipuri de
modificri-
- modificri n definiia claselor 3modificare atributelor, modificare metode42
- modificri n structura de motenire 3crearea unei superclase, eliminarea unei
superclase, modificarea ordinii superclaselor unei clase42
- modificri n setul de clase 3crearea unei noi clase, tergerea unei clase,
modificarea numelui unei clase4.
Aceste sc8imbri trebuie s poat fi realizate fr oprirea sistemului sau fr
implicaii ma9ore asupra sistemului. Pentru ndeplinirea acestor deziderate, unele
produse comerciale printre care Atasca i Dem/tone definesc o serie de reguli care
trebuie respectate la efectuarea modificrilor sc8emei.
R!#u,& %! 8a.2 3!'ru s&s!$!,! SGBDOO
$n 0>?> AtPinson .a. au propus 06 reguli pe care trebuie s le ndeplineasc
un sistem /D;D::, av'nd n vedere pe de o parte faptul c un astfel de sistem
trebuie s fie orientat spre obiecte i pe de alt parte faptul c trebuie s
ndeplineasc cerinele unui /D;D. Primele ? reguli se refer la partea privind
orientarea spre obiecte, iar urmtoarele 7 reguli se refer la caracteristicile /D;D ale
sistemului. &ele 06 reguli sunt enumerate n cele ce urmeaz-
0. &rearea obiectelor comple%e prin aplicarea constructorilor /T, T.P*, *A/T sau
A==AS la obiectele de baz2
,. Asigurarea identitii obiectelor, independent de valorile atributelor lor2
6. =ealizarea ncapsulrii2
". Posibilitatea crerii de tipuri sau clase2
7. Tipurile sau clasele trebuie s poat moteni atributele i metodele de la
supertipurile sau superclasele lor2
R. Trebuie oferit suport pentru legarea dinamic2
O. *imba9ul de manipulare D+* trebuie s posede completitudine de calcul2
?. +ulimea tipurilor de date trebuie s poat fi e%tins cu noi tipuri pe baza tipurilor
predefinite de sistem fr deosebire de tratare ntre tipurile predefinite i tipurile
definite de utilizator2
>. Asigurarea persistenei datelor 3adic datele trebuie s rm'n i dup finalizarea
aplicaiei care le1a creat, fr intervenia utilizatorului42
0!. Posibilitatea administrrii unor volume foarte mari de date2
00. Asigurarea accesului concurent la date i controlul concurenei2
0,. Asigurarea refacerii bazei de date n urma unor incidente 8ardLare i softLare2
06. Asigurarea unor modaliti simple de interogare a datelor, independent de
aplicaii.
:pional se propune- motenire multipl, distribuia printr1o reea, tranzacii i
administrarea versiunilor. @u sunt fcute precizri privind- securitatea, integritatea,
vederile.
Av'nd n vedere aspectele prezentate mai sus privind sistemele /D;D::, n
cele ce urmeaz sunt puse n eviden avanta9e i dezavanta9e ale acestora.
Avanta9e-
- faciliti sporite de modelare 3modelarea prin obiecte permite o reprezentare mult
mai fidel a obiectelor din lumea real i a legturilor dintre acestea42
- e%tensibilitate 3prin definirea de tipuri de date abstracte i motenire proprieti i
metode se pot e%tinde nelimitat elementele predefinite de sistem42
- putere de e%presie sporit pentru limba9ele de interogare a bazei de date 3prin
utilizare de limba9e de tip navigaional42
34
- suport pentru evoluia sc8emei 3faciliti de modificare dinamic a sc8emei bazei
de date pe parcursul procesului de proiectare42
- suport pentru tranzacii de lung durat 3prin utilizarea unor modele de tranzacii
avansate iKsau a versiunilor obiectelor42
- faciliti sporite pentru proiectarea i e%ploatarea aplicaiilor avansate de baze de
date.
Dezavanta9e-
- lipsa unui model de date fundamentat teoretic i unanim acceptat2
- lipsa de e%perien, inaccesibilitate pentru utilizatorii nceptori i limitarea
utilizrii la o pia restr'ns2
- lipsa de standarde pentru modele de date, limba9e de interogare2
- optimizarea interogrii bazei de date contravine ncapsulrii i ascunderii
informaiilor2
- performane sczute n accesul concurent mai ales n cazul ierar8iilor de
obiecte 3unitatea de acces i control al concurenei fiind obiectul, se impune
zvor'rea la nivel de obiect42
- comple%itatea ridicat conduce la creterea preului i dificulti n utilizarea
sistemului2
- lipsa de suport pentru securitate, integritate i vederi.
M!"%! u&,&.a! 3!'ru r!a,&.ar!a u'u& SGBDOO
Analiz'nd produsele /D;D:: e%istente se constat 3G8osafian i Abnous,
0>>!4 utilizarea uneia din urmtoarele metode pentru elaborarea unui /D;D::-
- e%tinderea unui limba9 de programare orientat spre obiecte cu faciliti ale bazelor
de date 3Dem/tone e%tinde limba9ele /malltalP, &WW, <ava42
- realizarea de biblioteci /D;D e%tensibile orientate spre obiecte, ce conin clase
care susin persistena, gruparea, tipuri de date, tranzacii, securitatea etc. i care
vor putea fi apelate n cadrul unui limba9 de programare orientat spre obiecte. $n
acest mod sunt realizate produsele :ntos, Cersant, :b9ect /tore2
- ncapsularea construciilor limba9ului de baze de date orientat spre obiecte ntr1
un limba9 gazd convenional 3spre e%emplu :, furnizeaz e%tensii ncapsulate
pentru limba9ul de programare &42
- e%tinderea unui limba9 de baze de date cu faciliti de orientare spre obiecte 3e%.
/F*64. Aceast strategie este utilizat i n cadrul sistemelor relaionale cu
obiecte. /tandardul :D+D definete un standard pentru limba9ul :b9ect /F*.
Produsele :ntos, Cersant i :, dispun de o versiune a limba9ului :b9ect /F*2
- elaborarea unui nou modelKlimba9 original pentru bazele de date. $n acest mod
este realizat sistemul /A+ 3/emantic Anformation +anager4 care se bazeaz pe
modelul de date semantic i are un limba9 D+*KDD* original.
6)-);) S&s!$! %! #!s&u'! a 8a.!,"r %! %a! r!,a=&"'a,! +u "8&!+! 9SGBDOR:
Av'nd n vedere rsp'ndirea larg i popularitatea de care se bucur
sistemele relaionale, productorii de sisteme relaionale consider c modalitatea
cea mai eficient de a remedia insuficienele modelului relaional pentru rezolvarea
aplicaiilor avansate de baze de date, este de a1l e%tinde cu noi caracteristici de
orientare spre obiecte i anume- posibilitatea definirii de noi tipuri de date de ctre
utilizator 3.DT4, ncapsularea, motenirea, polimorfismul, legarea dinamic a
metodelor, obiecte comple%e, identitatea obiectelor, stocarea de metode sau
proceduri n baza de date n mod asemntor datelor. /e obine astfel un 8ibrid
35
dintre sistemul /D;D= i sistemul /D;D:: denumit /D;D:=, care pstreaz
cunotinele i e%periena obinute cu sistemele relaionale i n plus nglobeaz o
serie de caracteristici ale sistemelor orientate spre obiecte. :rientarea spre obiecte
necesit suport adecvat pentru tipurile de date i motenirea tipurilor, suport care
e%ist de9a n modelul relaional, fiind reprezentat de domenii 3tipuri4 i n acest
conte%t Date afirm n [DAT!"# c Inu trebuie s facem nimic n modelul relaional
pentru a obine funcionalitatea obiectelor n sistemele relaionale...n afar de a le
implementa n totalitate i adecvatI. $n acest sens nc din 0>>0 s1a trecut la
e%tinderea standardului /F*, cu faciliti de orientare spre obiecte n vederea
definirii standardului /F*6 finalizat la sf'ritul anului 0>>>, iar la sf'ritul anilor >!,
productori importani de sisteme relaionale au lansat produse /D;D obiect1
relaionale ntitulate servere universale printre care- .niversal Database a produsului
D;,, .niversal Data :ption for Anformi% DEnamic /erver, :racle .niversal /erver.
SDLC) E1!'s&& a,! ,&$8aEu,u& SDL6 +u (a+&,&2=& %! "r&!'ar! s3r! "8&!+! 9SDLC:
$n cele ce urmeaz vor fi prezentate succint principalele e%tensii ale
standardului /F*, cu faciliti de orientare spre obiecte i anume- tipuri de r'nduri
3=:M4, tipuri definite de utilizator 3.DT4, rutine definite de utilizator 3.D=4, subtipuri
i supertipuri, identitatea obiectelor, tipuri de referine, tipuri de colecii, module
stocate persistente, obiecte mari.
2ipuri de rnduri ),.3*
.n tip de r'nd este un tip de dat compus, definit printr1o secven de
perec8i denumire cmp " tip de date, care va putea fi utilizat la fel ca i o dat
elementar, astfel nc't grupri de date sau r'nduri complete vor putea fi- memorate
n variabile, transmise ca argumente rutinelor, returnate ca valori din apelul funciilor,
folosite ca valori ale unei coloane dintr1un tabel.
2ipuri definite de utilizator )8D2*
.tilizatorul poate defini tipuri abstracte de date 3ADT4 numite tipuri definite de
utilizatori 3.DT4, care pot fi folosite n acelai mod ca i tipurile predefinite 3A@T,
&JA=, CA=&JA=, )*:AT etc.4. Tipurile definite de utilizator pot fi-
1 tipuri distincte ca de e%emplu-
(,-#2- 2C&- tip@(odf #% D#,(9#,)7* F'!#5B
1 tipuri structurate const'nd din una sau mai multe definiii de atribute i declaraii de
rutine .
$n afara definiiei tipului sunt vizibile numai definiiile atributelor i rutinelor nu i
implementarea acestora. Prote9area atributelor i rutinelor poate fi realizat cu
a9utorul specificaiilor public, private, protected astfel-
1 public 5 vizibile pentru toi utilizatorii autorizai ai tipului .DT2
1 private 5 vizibile numai n cadrul definiiei .DT care le conine2
1 protected 5 vizibile n tipul .DT care le conine c't i n subtipurile acelui tip .DT.
:piunea implicit n absena altei specificri este public i este luat n considerare
ultima specificaie.
Pentru fiecare atribut sunt definite automat o funcie observator 3get4 5 care
returneaz valoarea curent a atributului i o funcie mutator 3set4 5 care stabilete
valoarea atributului la o valoare specificat ca parametru. De asemenea este definit
automat o funcie 3public4 constructor pentru a crea noi instane ale tipului .DT ,
funcie ce are aceeai denumire i tip ca i .DT. &ele 6 funcii pot fi redefinite de
ctre utilizator n definiia tipului .DT.
3
Pot fi utilizate dou tipuri de atribute i anume-
1 atribute stocate 5 corespund datelor stocate i sunt descrise prin denumire atribut
urmat de tip de date 3orice tip de date cunoscut sau alte tipuri .DT42
1 atribute virtuale 5 nu corespund unor date stocate, ci unor date derivate din datele
stocate
3e%. vec8ime este derivat cu a9utorul funciei getTvec8ime i atribuit cu a9utorul
funciei setTvec8ime4.
Caloarea unui atribut poate fi specificat folosind o notaie cu punct 3HQQI sau H.I4.
Prin specificarea !.2 F'!#5 se precizeaz faptul c pentru tipul respectiv pot fi
definite subtipuri.
,utine definite de utilizator )8D, E8ser Defined ,outine*
=utinele definite de utilizator definesc metodele de manipulare a datelor, pot fi
definite ca parte a unui tip .DT, sau separat ca parte a unei sc8eme, pot fi proceduri,
funcii sau rutine iterative, pot fi definite complet n limba9ul /F*, sau pot fi furnizate
e%tern ntr1un limba9 de programare ca de e%emplu &WW)
: procedur poate fi apelat cu instruciunea /F* &A** i poate avea zero,
unul sau mai muli parametri- de intrare 3A@4, de ieire 3:.T4, de intrare1ieire
3A@:.T4.
Pentru rutinele e%terne se utilizeaz instruciunea &=AT ).@&TA:@ cu
clauza UT=@A* prin care se precizeaz fiierul obiect ce conine codul obiect al
funciei compilate, iar clauza @: /F* arat c aceast funcie nu conine instruciuni
/F*.
%ubtipuri i supertipuri
Tipurile .DT pot fi organizate ntr1o ierar8ie subtipKsupertip utiliz'nd clauza
.@D=.
ste acceptat motenirea multipl 3un tip poate avea mai multe supertipuri i mai
multe subtipuri4. .n subtip motenete toate atributele i comportamentele
supertipurilor sale, poate defini atribute i funcii suplimentare i poate anula funcii
motenite. : instan a unui subtip este considerat instan a tuturor supertipurilor
sale. Pentru a crea un subtip este necesar ca utilizatorul s aib privilegiul .@D=
pentru fiecare tip definit de utilizator i specificat ca supertip n definiia subtipului.
(rearea tabelelor
Anstanele obiectelor 3tipuri .DT4 create n /F*6 devin persistente numai dac
sunt stocate n tabele. Pentru crearea unui tabel se va utiliza instruciunea &=AT
TA;*. ste posibil ca n /F*6 s nu poat fi aplicat o interogare /F* tuturor
instanelor unui tip .DT dat, deoarece limba9ul /F*6 nu dispune de un mecanism
de stocare a tuturor instanelor unui tip .DT, n afar de cazul c'nd utilizatorul
creeaz e%plicit un singur tabel n care sunt stocate toate instanele. $n astfel de
situaii problema poate fi rezolvat utiliz'nd mecanismul de motenire a tabelelor,
care permite crearea unui tabel care motenete toate atributele din unul sau mai
multe tabele e%istente, cu a9utorul clauzei .@D=, facilitatea de subtabelKsupertabel
fiind independent de facilitatea de motenire a tipurilor .DT. .n tabel va moteni
toate coloanele din supertabelele sale, put'nd defini n plus i alte coloane proprii.
&a i n cazul subtipurilor pentru a putea crea un subtabel, utilizatorul trebuie s aib
privilegiul .@D= pentru fiecare supertabel referit.
Pentru interogarea i reactualizarea tabelelor n /F*6 se utilizeaz instruciuni
similare ca i n /F*, cu o serie de e%tensii pentru manipularea obiectelor.
3!
/pre e%emplu n interogarea-
%-5-(2 p?nume,p?get@vechime F,./ profesori p 39-,- p?este@decan
este utilizat funcia virtual get@vechime motenit, iar n clauza MJ= este
utilizat funcia este@decan definit de utilizator.
2ipuri de referine i identitatea obiectelor
/pre deosebire de /F*, n care definirea relaiilor dintre tabele se realizeaz
prin mecanismul c8eie primarKc8eie strin, n /F*6 pot fi utilizate tipurile de
referine pentru a defini relaiile dintre tipurile de r'nduri i a identifica n mod unic un
r'nd din cadrul ntregii baze de date. Caloarea tipului de referin poate fi stocat
ntr1un tabel i utilizat ca o referin direct la un anumit r'nd din alt tabel. Tipul de
referin are o funcionalitate similar identificatorului :AD din sistemele /D;D::
3spre e%emplu n A@):=+AU un :AD este un identificator unic de R" bii din care ,"
bii identific tabelul, iar "! bii identific r'ndul din tabel4. .n tip de referin este
specificat prin cuv'ntul c8eie =), iar n tabelele de baz se precizeaz CA*./
A= /S/T+ D@=ATD. Pentru a limita referinele la un anumit tabel se va
utiliza clauza /&:P la crearea tabelului astfel-
(,-#2- 2#5- 0nume tabel 61 .F 0tip dat1 )
&,'/#,C F-C 0nume atribut1,
%(.&- F., ,0nume referin1 '% 0nume tabel ;1*B?
2ipuri de colecii
&oleciile pot fi utilizate pentru a crea tabele imbricate astfel nc't o coloan
dintr1un tabel va conine un alt tabel. /F*6 definete un tip de colecie imbricat
A==AS, care reprezint un ir unidimensional cu un numr ma%im de elemente i n
plus sunt avute n vedere tipurile de colecii parametrizate-
- *A/T 5 colecie ordonat care permite dubluri2
- /T 5 colecie neordonat care nu permite dubluri2
- +.*TA/T 5 colecie neordonat care permite dubluri.
Parametrul poate fi un tip predefinit, un tip .DT, un tip de r'nd sau o alt colecie,
ns nu poate fi un tip de referin sau un tip .DT care conine un tip de referin.
$ntr1o colecie toate elementele trebuie s fie de acelai tip sau din aceeai ierar8ie
de tipuri.
/odule stocate n baza de date
Pentru a conferi limba9ului /F* completitudine de calcul, n standardul /F*6
au fost adugate instruciuni noi astfel nc't comportamentul obiectelor s poat fi
stocat n baza de date sub form de instruciuni /F* care pot fi grupate n proceduri
3module4 care ulterior pot fi apelate i e%ecutate din cadrul bazei de date. Dintre
instruciunile noi adugate menionm-
1 instruciunea de atribuire D&*A=
1 instruciunea de prelucrare condiionat A)BTJ@B*/B@D A)2
1 instruciunea de selecie a unei alternative &A/BMJ@...TJ@...@D &A/2
1 instruciuni pentru iteraii ):=B@D ):=, MJA*B@D MJA*,
=PATB@D =PAT2
1 instruciunea &A** pentru apelul procedurilor.
Declanatoare )trigger>e*
.n declanator 3trigger4 este o instruciune /F* compus care este e%ecutat
ori de c'te ori apare evenimentul declanator. Declanatoarele pot fi utilizate pentru
3"
validarea datelor de intrare, ntreinerea informaiilor de audit 3nregistrarea
modificrilor efectuate asupra bazei de date i de ctre cine4, susinerea avertizrilor
3e%. utilizarea potei electronice4 n care este necesar ntreprinderea unei aciuni
atunci c'nd un tabel este reactualizat ntr1un mod oarecare, realizarea reproducerii
datelor 3copierea i ntreinerea datelor pe servere multiple, metod preferat n locul
distribuirii datelor4. .n declanator poate fi lansat nainte 3;):=4 sau dup
3A)T=4 apariia evenimentului asociat lui, pentru fiecare r'nd 3):= A&J =:M4
afectat de eveniment, sau implicit o singur dat pentru ntregul eveniment 3):=
A&J /TAT+@T4. venimente declanatoare pot fi de e%emplu operaiile
A@/=T, .PDAT, D*T etc. Pentru a crea un declanator, utilizatorul trebuie s
aib privilegiul T=ADD= pentru tabelul specificat, precum i alte privilegii necesare
pentru a e%ecuta instruciunile /F* din cadrul declanatorului.
.biecte mari
.n obiect mare este un c'mp dintr1un tabel n care poate fi memorat o
cantitate mare de date reprezent'nd fie un fiier te%t mare, fie un fiier grafic. $n
/F*6 sunt definite urmtoarele tipuri de obiecte mari-
- obiecte binare mari ;*:; 3;inarE *arge :b9ect4 reprezent'nd iruri binare2
- obiecte mari de tip caracter &*:;, @&*:; 3&8aracter *arge :b9ect, @ational
&8aracter *arge :b9ect4 reprezent'nd iruri de caractere.
Aceste tipuri de obiecte difer de vec8ile obiecte ;*:; din sistemele de baze de
date tradiionale n care c'mpurile ;*:; sunt iruri de octei neinterpretabile, ceea
ce necesit ca ntregul obiect ;*:; s fie transferat prin reea de la serverul /D;D
la client, fr nici o prelucrare c8iar dac astfel de c'mpuri reprezint tipuri de date
structurate cum ar fi - imagini, imagini video, documente de prelucrare de te%te Mord
sau pagini Meb.
/pre deosebire de sistemele tradiionale, n /F*6, asupra obiectelor mari se
pot efectua unele operaii pe serverul /D;D. Astfel operatorii standard de tip ir,
care opereaz asupra irurilor de caractere opereaz i asupra obiectelor mari de tip
caracter &*:;, @&*:;. Aceti operatori sunt-
- operatorul de concatenare ir0 YY ir, 5 concateneaz cele dou iruri2
- funcia /.;/T=A@D3ir )=:+ poziie ):= lungime4 5 returneaz subirul e%tras
din HirI de la poziia HpoziieI pe lungimea HlungimeI2
- funcia de suprapunere a caracterelor :C=*AS3ir0 P*A&A@D ir, )=:+
poziie ):= lungime4 5 nlocuiete un subir din Hir0I ncep'nd din poziia
HpoziieI pe lungimea HlungimeI cu Hir,I2
- funciile de pliere .PP=3ir4 i *:M=3ir4 5 transform toate caracterele litere
din HirI n mari respectiv mici2
- funcia de aran9are T=A+3*ADA@D F T=AA*A@D F ;:TJ ir0 )=:+ ir,4 5
returneaz Hir,I cu Hir0I premergtor iKsau posterior eliminat. Dac nu este
specificat clauza )=:+, atunci toate spaiile premergtoare i posterioare sunt
eliminate din Hir,I2
- funcia &JA=T*@DTJ3ir4 5 returneaz lungimea irului HirI2
- funcia P:/ATA:@3ir0 A@ ir,4 5 returneaz poziia de nceput a irului Hir0I n
cadrul irului Hir,I.
Astfel de coloane &*:; nu pot fi utilizate n clauzele D=:.P ;S, :=D= ;S, n
definiiile de constr'ngeri, sau n operaiile cu mulimi 3.@A:@, A@T=/&T,
U&PT4.
:biectele binare mari ;*:; sunt iruri de octei asupra crora pot fi efectuate
urmtoarele operaii similare celora definite pentru obiectele mari de tip ir-
3#
- operatorul de concatenare pentru obiecte ;*:;2
- funcia subir pentru obiecte ;*:;2
- funcia de suprapunere pentru obiecte ;*:;2
- funcia de aran9are pentru obiecte ;*:;2
- funcia ;*:;T*@DTJ2
- funcia P:/ATA:@ pentru obiecte ;*:;.
M"%a,&2=& %! u&,&.ar! a ,&$8aEu,u& SDL
$n ma9oritatea sistemelor /D;D, limba9ul /F* poate fi utilizat at't direct ca
limba9 de sine stttor 3interactiv de la un terminal4, c't i nglobat n cadrul unui alt
limba9 de programare 38ost language4 caz n care programul n limba9 gazd va apela
instruciuni /F*. $n cazul utilizrii n cadrul unui limba9 gazd, instruciunile /F* pot
fi, fie interpretate i compilate n momentul rulrii aplicaiei, fie compilate n prealabil
nainte de momentul rulrii aplicaiei 3/F* nglobat dinamic4 cu a9utorul instruciunilor
P=PA= i U&.T sau U&.T A++DAAT.
.tilizarea limba9ului /F* nglobat necesit respectarea urmtoarelor cerine-
- toate variabilele din limba9ul gazd utilizate n instruciuni /F* trebuie declarate n
cadrul unei seciuni de declarare delimitat prin ;DA@ D&*A= /&TA:@ i
@D D&*A= /&TA:@2
- fiecare instruciune /F* va fi precedat de cuvintele c8eie U& /F*2
- variabilele din limba9ul gazd referite n instruciuni /F* trebuie precedate de
caracterul I-I2
- n seciunea de declarare se va defini o variabil /F*/TA= care, dup e%ecuia
fiecrei instruciuni /F*, va conine un cod de stare 3!!!!! instruciunea a fost
e%ecutat cu succes, !,!!! nu au fost gsite date , etc.4 care va trebui testat n
program2
- instruciunea /F* /*&T singular 3care returneaz un singur r'nd4 va conine
clauza A@T: pentru specificarea variabilelor n care se va depune rezultatul
interogrii2
- pentru interogrile din care rezult mai multe r'nduri se vor defini cursoare pentru
accesarea r'ndurilor unul c'te unul cu a9utorul instruciunilor D&*A=
&.=/:=, :P@, )T&J, &*:/.
Av'nd n vedere aceste cerine, n continuare este prezentat structura general a
unui program de utilizare /F* nglobat.
-G-( %H5 -4'! D-(5#,- %-(2'.! B "I declarare variabile &5"' I"
D(5 %H5%2#,- (9#,):* B
D(5 %8,%#%H5 (9#, D#,C'!4 )=:<<<* B
JJJJJJJJJJJJ
-G-( %H5 -!D D-(5#,- %-(2'.! B
-G-( %H5 D-(5#,- 0nume cursor1 (8,%., F., "I declarare cursor I"
0instruciune %-5-(21 B
JJJJJJJJJJJJJJJJJJJJJJ?
-G-( %H5 %-5-(2 0lista cmpuri1 "I instruciune %-5-(2 singular I"
'!2. 0lista variabile1 F,./ 0lista tabele1 39-,- 0condiie1 B
4$
"I utilizare cursor I"
-G-( %H5 .&-! 0nume cursor1 B
39'5- 0condiie1 B
-G-( %H5 F-2(9 0nume cursor1 '!2. 0lista variabile1 B
??????????????????????????????????????????????????????????????????????????????????????????????????
-!D 39'5- B
-G-( %H5 (5.%- 0nume cursor1 B
"I exemplu de utilizare a limba$ului %H5 nglobat dinamic I"
%8,%#%H5 KLD-5-2- F,./ cadre 39-,- data@anga$arii 0 M<6"<6"6NO<ML B
-G-( %H5 &,-&#,- (./&'5#2%H5 F,./ P%8,%#%H5 B
-G-( %H5 -G-(82- (./&'5#2%H5 B
: alt modalitate de utilizare a limba9ului /F* nglobat mai eficient dec't utilizarea
/F* nglobat dinamic o reprezint interfeele /F*K&*A 3/F* &all1*evel Anterface4 i
:D;& 3:pen Data;ase &onnectivitE4 +icrosoft, care permit accesul la baza de date
dintr1un program scris ntr1un limba9 gazd 3ca de e%emplu &WW4, prin apelarea unor
rutine furnizate de productor, rutine care vor utiliza /F* dinamic pentru efectuarea
operaiilor cerute n baza de date. Aceste interfee asigur independena de sistemul
/D;D utilizat, ceea ce nu se nt'mpl n cazul utilizrii /F* nglobat dinamic
deoarece necesit compilator /F* specific /D;D1ului.
C"'+,u.&& 3r&*&'% s&s!$!,! SGBDOR
$n /F*6 obiectele devin persistente doar atunci c'nd sunt stocate n tabele i
ntruc't identitatea obiectelor poate fi funcie de poziia n tabel rezult c identitatea
obiectelor poate fi modificat. De asemenea interogrile n /F*6 se aplic numai
tabelelor, ceea ce nseamn c utilizatorii trebuie s realizeze trecerea de la
instanele obiectelor la tabele, s interog8eze tabelele i apoi s realizeze
transformarea invers. : alt deficien a limba9ului /F*6 o constituie utilizarea
indecilor de tip arbori ;W care constituie o metod de acces unidimensional pentru
date alfanumerice i neadecvat pentru accesul multidimensional nt'lnit n sistemele
DA/, telemetrie i sisteme de creare a imaginilor. $n vederea eliminrii acestei
deficiene, unele sisteme /D;D:= ncep s accepte tipuri suplimentare de inde%uri
cum ar fi-
- arbori ;W generici care permit construirea de arbori ;W pe orice tip de date i nu
numai pe cele alfanumerice2
- arbori = pentru accesul la datele bidimensionale i tridimensionale 3Dutman
0>?"4.
/istemele /D;D:= au avanta9e i dezavanta9e, enumerate n cele ce
urmeaz.
Avanta9e-
- pstreaz cunotinele i e%periena acumulate cu sistemele /D;D=2
- costul trecerii la orientarea spre obiecte este redus2
- standardul /F*6 este astfel proiectat nc't s fie compatibil cu standardul
/F*,.
Dezavanta9e-
- se pierde simplitatea i puritatea modelului relaional2
41
- nu sunt tratate modele de obiecte ci sunt e%tinse relaiile din modelul relaional
3obiectele persist doar stocate n tabele i interogrile se aplic numai tabelelor42
- suport limitat pentru metode de acces multidimensional la date.
Av'nd n vedere e%periena i rezultatele obinute cu sistemele /D;D=
precum i nea9unsurile acestor tipuri de sisteme pentru rezolvarea unor aplicaii
avansate de baze de date, trei dintre productorii importani de sisteme /D;D= i
anume :racle, A;+ i Anformi% i1au e%tins sistemele /D;D= pentru a deveni
sisteme /D;D:=.
$n vederea definirii caracteristicilor sistemelor de baze de date din generaia a
treia, au fost publicate o serie de manifeste [&:;/!0# n care recomandrile privind
orientarea spre obiecte ocup un loc important, ns din anumite puncte de vedere
e%ist poziii diametral opuse. Astfel n H+anifestul sistemelor de baze de date din a
treia generaieI publicat de &omitetul pentru funcii avansate ale sistemelor /D;D
3&AD)4, referitor la limba9ul /F* se face meniunea - HBla bine i la ru limba9ul /F*
constituie limba9ul de date intergalactic, iar n H&el de1al treilea manifestI realizat de
DarLen i Date 30>>7,0>>?4 se menioneaz c Hmodelul relaional nu are nevoie de
nici o e%tindere, corecie, ipotez suplimentar i, mai presus de toate, de nici o
transformareI, totui limba9ul /F* este respins fr ec8ivoc ca o transformare a
modelului i n sc8imb este propus un nou limba9 denumit D din care s poat fi
utilizat limba9ul /F* pentru utilizatorii e%isteni ai acestuia.
6)6) Pr"&!+ar!a +"'+!3ua,2 a 8a.!,"r %! %a!
D!3!'%!'=! 0' 8a.!,! %! %a!G '"r$a,&.ar!a r!,a=&&,"rG ("r$! '"r$a,!
$ntre atributele unei relaii sau ntre atribute din relaii diferite pot e%ista
anumite legturi logice 3dependene4, care influeneaz proprietile sc8emelor de
relaie n raport cu operaiile curente care intervin n timpul e%ploatrii bazei de date-
adugare, tergere, actualizare. Aceste legturi logice, cunoscute n literatura de
specialitate sub denumirile de dependenele funcionale, dependenele multivalorice
i dependene de cuplare, au implicaii ma9ore asupra criteriilor de proiectare a
sc8emelor relaionale. Alegerea unui model conceptual convenabil pentru o baz de
date relaional poate necesita realizarea unor descompuneri pentru anumite
sc8eme de relaie date, descompuneri care s izoleze dependenele e%istente i prin
aceasta s elimine anomaliile care se datoreaz acestor dependene.
6)6)-) D!3!'%!'=! (u'+=&"'a,!
Penru definirea acestui tip de dependene se consider sc8ema de relaie
&restari@%ervicii )(od, !ume@client, #dresa, %erviciu@prestat, Daloare*
definit pentru urmrirea serviciilor prestate de o firm pentru diveri clieni.
Atributul #dresa este dependent de atributul !ume@client 3presupun'nd c fiecare
client are o singur adres, rezult c fiecare valoare a atributului !ume@client
determin n mod unic valoarea corespunztoare a atributului #dresa*? Analiz'nd
sc8ema de relaie de mai sus, se constat o redundan relativ la atributul #dresa a
crei valoare este repetat pentru un client pentru fiecare serviciu prestat pentru acest
client, ceea ce conduce la apariia urmtoarelor anomalii-
1 Anomalia la adugare-
adresa unui client poate fi preluat numai dup ce pentru acesta se presteaz cel puin
un serviciu.
1 Anomalia la tergere-
dac se terg toate serviciile prestate pentru un anumit client, se pierde adresa acestui
client.
42
1 Anomalia la actualizare-
datorit redundanei relativ la atributul Adresa, dac se sc8imb adresa unui client este
necesar parcurgerea ntregii relaii pentru a identifica i actualiza toate apariiile
acestui client, n caz contrar baza de date devine inconsistent 3acelai client poate
apare la adrese diferite4.
Aceste anomalii pot fi eliminate, dac sc8ema de relaie &restari@%ervicii se
nlocuiete prin urmtoarele dou sc8eme de relaie-
&lienti3&od, @umeTclient, Adresa4
/ervicii3&od, /erviciuTprestat, valoare4
=elaia (lienti conine codul, numele i adresa fiecrui client, fr nici un fel de
redundan, iar relaia %ervicii conine serviciile prestate pentru fiecare client i
valorile acestor servicii. .n dezavanta9 al descompunerii relaiei iniiale n cele dou
relaii este acela c pentru a determina adresa clientului pentru care s1a prestat un
anumit serviciu este necesar efectuarea unei operaii de cuplare a relaiilor (lienti i
%ervicii.
/e consider o sc8em de relaie = i A,; dou atribute simple sau compuse
ale sc8emei de relaie =. Atributul A determin funcional atributul ; sau ; depinde
funcional de A, dac i numai dac oricrei valori a atributului A i corespunde o
singur valoare a atributului ; 3se noteaz A1Q;4.
Dependena funcional A1Q; este total dac nu e%ist nici un subset & al
atributului A 3&cA4 astfel nc't &1Q; i este parial n caz contrar.
$n relaia &restari@%ervicii, una din dependenele funcionale care poate fi pus
n eviden este !ume@client>1#dresa?
Deoarece ntr1o relaie orice c8eie identific n mod unic fiecare tupl a
relaiei, deci determin n mod univoc valorile atributelor tuplei, rezult c n orice
relaie atributele sunt dependente funcional fa de c8eile acesteia.
/e pot face, p'n n acest moment, urmtoarele precizri-
liminarea dependenelor funcionale din sc8emele de relaie i a consecinelor
negative 3redundana datelor2 anomaliile de adugare, tergere, actualizare4 se
realizeaz prin descompunerea sc8emei date ntr1o colecie de sc8eme mai simple n
care sunt evitate nea9unsurile mai sus menionate. =econstituirea relaiei iniiale se
poate face prin operaia de cuplare 3uniune4. Pentru ca descompunerea sc8emei de
relaie s fie ec8ivalent cu relaia iniial, trebuie s fie ndeplinite condiiile-
- cuplare fr pierdere de informaie2
- conservarea dependenelor 3dependenele funcionale din relaia iniial
trebuie s se regseasc n relaiile rezultate prin descompunere4?
)ormele normale sunt sc8eme de relaie ec8ivalente obinute prin
descompunerea unor sc8eme de relaie n vederea eliminrii redundanei datelor i
anomaliilor la adugare, actualizare, tergere nregistrri n baza de date.
Descompunerile sc8emelor de relaii n sc8eme de relaii ec8ivalente av'nd n
vedere dependenele funcionale conduc la definirea primelor " nivele de forme
normale i anume- prima form normal 3)@04, a doua form normal 3)@,4, a
treia form normal 3)@64 i forma normal ;oEce1&odd 3)@;&4.
A patra form normal 3)@"4 este definit av'nd n vedere dependenele
multivalorice, iar a cincea form normal 3)@74 este definit av'nd n vedere
dependenele de cuplare. $ncep'nd de la prima form normal i p'n la forma
normal )@7 se impun condiii din ce n ce mai restrictive asupra relaiilor. Astfel o
relaie aflat pe un anumit nivel de normalizare 3)@74 satisface toate restriciile cerute
de nivele inferioare de normalizare 3)@0, )@,, )@6, )@;&, )@"4. $n cele ce urmeaz
sunt date definiiile formelor normale av'nd n vedere dependenele funcionale.
43
: relaie = este n prima form normal 3)@04 dac i numai dac toate atributele
sale iau numai valori atomice 3nu pot fi descompuse4. /pre e%emplu, atributul Adresa ar
putea fi considerat un atribut neatomic dac n cadrul adresei ne1ar interesa localitatea,
strada etc., caz n care trebuie descompus n atribute atomice.
: relaie = este n a doua form normal 3)@,4 dac este n )@0 i orice atribut
neprim este total dependent fa de orice c8eie a relaiei 3atributele prime sunt atribute
care fac parte dintr1o c8eie a relaiei i cele neprime sunt atributele care nu aparin nici
unei c8ei a relaiei4.
: relaie = este n a treia form normal 3)@64 dac este n )@, i nici un
atribut neprim nu este funcional dependent fa de un alt atribut neprim al relaiei.
: relaie = se afl n forma normal ;oEce1&odd 3)@;&4 dac singurele
dependene funcionale admise sunt cele n care o c8eie determin un alt atribut 3nici
un atribut prim sau neprim nu poate fi dependent funcional fa de un alt atribut dac
acesta nu este sau nu conine o c8eie4.
6)6)6) D!3!'%!'=! $u,&*a,"r&+!
Pentru ilustrarea acestui tip de dependene se ia n considerare urmtoarea
sc8em de relaie-
(lase)(lasa, Discipline, -levi*
ce conine clasele dintr1o instituie de nvm'nt, iar pentru fiecare clas sunt
nregistrate disciplinele ce se predau i elevii nmatriculai n clasa respectiv. /e
poate constata c relaia (lase poate rezulta prin operaia de cuplare dup atributul
(lasa a urmtoarelor dou relaii-
(D)(lasa, Discipline*
(-)(lasa, -levi*
$n relaia (lase, presupun'nd c pentru o clas dat, fiecare elev frecventeaz toate
disciplinele nregistrate pentru acea clas, e%ist dependenele multivalorice-
(lasa >11 Discipline
(lasa >11 -levi.
&a i n cazul dependenelor funcionale, e%istena dependenelor multivalorice
prezint aceleai nea9unsuri privind redundana datelor i anomalii la efectuarea
operaiilor de adugare, actualizare i tergere nregistrri n baza de date.
: relaie = este n a patra form normal dac singurele dependene
multivalorice admise sunt cele determinate de un alt atribut care este o c8eie sau care
conine o c8eie a relaiei.
$ntruc't orice dependen funcional este un caz particular de dependen
multivaloric, rezult c orice relaie care se afl n forma normal )@", se afl i n
forma normal )@;&. Transformarea unei relaii ntr1o colecie de relaii care s se
afle n )@" este similar cu trecerea n )@;&, ns trebuie avut n vedere at't
eliminarea dependenelor funcionale c't i a dependenelor multivalorice.
$n concluzie, putem afirma c n cazul formelor normale de la )@0 la )@",
trecerea de la o form normal la alta s1a fcut prin descompunerea unei relaii n
altele dou, urmrindu1se eliminarea dependenelor funcionale i multivalorice. :
relaie aflat n forma normal )@" nu mai poate fi descompus n continuare pe baza
acestei metode. %ist situaii c'nd relaii aflate n )@" conin redundane i prezint
anomalii la operaiile de adugare, tergere i actualizare. Aceste anomalii sunt
cauzate de e%istena dependenelor de cuplare i pot fi eliminate prin descompunerea
relaiei n 6 sau mai multe relaii a cror cuplare are ca rezultat relaia iniial.
6)6)C) D!3!'%!'=! %! +u3,ar!
/e consider sc8ema de relaie-
44
%D% )%pecializari, Discipline, %tudenti*
care conine disciplinele care se predau la diverse specializri i studenii care le
frecventeaz, cu precizarea c pot e%ista discipline opionale care nu sunt frecventate
de toi studenii de la specializarea respectiv. $n aceste condiii n cadrul sc8emei
de relaie /D/ nu au loc dependenele multivalorice-
%pecializari >11 Discipline
%pecializari>11 %tudenti
ceea ce nseamn c relaia /D/ este n )@". Dei este n )@", relaia /D/ conine
mai multe redundane care pot conduce la anomalii de actualizare. Pe de alt parte,
relaia /D/ nu poate fi descompus n dou componente din a cror cuplare s
rezulte relaia iniial cu conservarea informaiei. /e constat ns c relaia /D/
poate fi descompus n urmtoarele 6 relaii-
%D)%pecializari, Discipline*
%%)%pecializari, %tudenti*
D%)Discipline, %tudenti*
i relaia /D/ este rezultatul cuplrii relaiilor- /D, // i D/ fr pierdere de informaie.
/D/ V /DZ[//Z[D/.
$n acest caz spunem c n relaia /D/ e%ist o dependen de cuplare.
Dependenele multivalorice sunt cazuri particulare de dependene de cuplare.
A cincea form normal este o generalizare a formei normale patru, trecerea
unei relaii n )@7 presupun'nd eliminarea dependenelor de cuplare e%istente n
cadrul relaiei, mpreun cu anomaliile pe care acestea le creeaz. $n cadrul unei
relaii pot e%ista dependene de cuplare care nu conduc la redundan n memorarea
datelor i nu produc anomalii la operaiile efectuate asupra nregistrrilor bazei de date
3acestea sunt dependenele de cuplare implicate de o c8eie a relaiei4.
: relaie este n forma normal cinci 3)@74 dac i numai dac toate
dependenele de cuplare e%istente n relaie sunt implicate de o c8eie a acesteia.
=elaia /D/ se poate descompune, cu conservarea coninutului de informaie, n cele
6 componente ale sale- /D, // i D/ care sunt n )@7.
Av'nd n vedere similaritatea ce e%ist ntre definiiile pentru )@;&, )@" i
)@7, acestea pot fi unificate n urmtoarea definiie [D:=:>?#-
: relaie = este n )@;&G )@", )@7 dac i numai dac singurele
dependene funcionale, multivalorice, de cuplare e%istente sunt cele implicate de o
c8eie a relaiei =.
$n concluzie, prin procesul de normalizare se realizeaz eliminarea din
sc8emele de relaie a dependenelor 3funcionale, multivalorice i de cuplare4 cu
scopul de a obine o sc8em relaional mai bun din punctul de vedere al
redundanei datelor i al anomaliilor ce pot apare la operaiile de adugare, tergere
i actualizare nregistrri n baza de date. @ormalizarea unei sc8eme de relaie =
nseamn nlocuirea acesteia cu o mulime de proiecii =0,...,=n astfel nc't = s fie
ec8ivalent cu uniunea proieciilor =0,...,=n. Dei normalizarea este o operaie util n
proiectarea bazelor de date, aceasta nu ofer ntotdeauna reete pentru obinerea celor
mai bune modele i de aceea este la latitudinea proiectantului decizia de a aplica sau
nu o anumit etap de normalizare dup o analiz temeinic a avanta9elor i
dezavanta9elor modelului obinut. $n unele cazuri normalizarea complet, p'n la
)@7, s1ar putea s fie dezavanta9oas. Av'nd n vedere constatrile de mai sus se
poate afirma c dei normalizarea nu reprezint o soluie general valabil n orice
situaie, totui dac pentru proiectarea bazei de date se aplic corect o
metodologie de proiectare descendent, modelul rezultat va fi de la sine normalizat.
&ercetrile n acest domeniu continu, fiind definite i alte forme normale printre care
45
)@R pentru baze de date temporale. : baz de date temporal, pe l'ng datele
curente, conine i date istorice, iar factorul 3atributul4 timp are un rol esenial 3e%emple
concludente de astfel de baze de date sunt depozitele de date4. Astfel, n proiectarea
unei baze de date temporale trebuie avute n vedere i alte operaii de descompunere a
sc8emelor de relaie i anume-
- descompunerea orizontal 5 pentru separarea datelor curente de datele istorice2
- descompunerea vertical 5 pentru separarea atributelor aceleiai entiti av'nd n
vedere valorile lor raportate la atributul temporal.
$n proiectarea unei baze de date nu este e%clus nici operaia invers
normalizrii numit denormalizare [DAT!"#, prin care se urmrete nlocuirea unei
colecii de sc8eme de relaie cu o sc8em de relaie ec8ivalent n vederea eliminrii
necesitii efecturii unor operaii de cuplare care pot fi costisitoare. Dac n cazul
normalizrii tendina este de a a9unge la nivele c't mai nalte 3)@74, pentru
denormalizare nu e%ist criterii clare put'nd fi avute n vedere doar aspecte legate
de performanele anumitor aplicaii.
.n alt principiu care se urmrete n proiectarea unei baze de date este
principiul proiectrii ortogonale conform cruia n cadrul unei baze de date dou
sc8eme de relaie reale 3variabile de relaie de baz4 nu trebuie s aib semnificaii
suprapuse. $n timp ce prin normalizare se urmrete reducerea redundanei din
cadrul unei sc8eme de relaie, prin proiectarea ortogonal se urmrete reducerea
redundanei dintre sc8emele de relaie.
6)C) I'!#rar!a 8a.!,"r %! %a! 0' $!%&u, H!8
voluia te8nologiei informaiei i comunicaiilor face ca bazele de date s nu
mai fie izolate pe sisteme desPtop, ci s poat fi disponibile oricui are acces fie la o
reea local 3Antranet4 sau global 3Anternet4. Pentru aceasta cea mai potrivit
interfa este Meb1ul, care este independent de 8ardLare sau de sistemul de
operare folosit i astfel baza de date este accesibil cu a9utorul unui broLser Meb. $n
prezent reeaua Meb a devenit cel mai popular i puternic sistem informaional n
reea. $n reeaua Meb, informaiile sunt stocate n documente utiliz'nd limba9ul JT+*
3JEperTe%t +arPup *anguage4, put'nd fi afiate de ctre un broLser Meb care
sc8imb informaii cu un server Meb utiliz'nd protocolul JTTP 3JEperTe%t Transfer
Protocol4. Av'nd n vedere faptul c la ora actual multe situri Meb sunt bazate pe
fiiere, fiecare document fiind stocat ntr1un fiier separat, pot apare dificulti privind
administrarea unui numr foarte mare de astfel de fiiere create i ntreinute de
autori diferii. De asemenea multe situri Meb conin informaii care se modific n
timp i prin urmare ntreinerea acestora at't n baza de date c't i n pagini JT+*
separate poate constitui o sarcin dificil de realizat. De aceea se pune astzi cu
acuitate problema stocrii informaiilor Meb n baze de date i realizarea de pagini
Meb dinamice, deci se pune problema integrrii Meb1/D;D.
$n mediul Meb, modelul client1server pe dou eta9e 301clientul, ,1serverul de
baze de date4 a fost nlocuit cu un model pe trei eta9e astfel-
- eta9ul 0 1 interfaa cu utilizatorul, care poate fi realizat de un broLser Meb2
- eta9ul , 1 logica afacerii i prelucrarea datelor, care poate fi realizat pentru a
deservi mai muli clieni prin intermediul unui server de aplicaie care poate fi spre
e%emplu un server Meb2
- eta9ul 6 1 serverul de baze de date 3sistem /D;D distribuit pe calculatoare
diferite4.
Pentru crearea de pagini Meb dinamice se poate utiliza fie te8nologia A/P
3Active /erver Page4, fie te8nologia </P 3<ava /erver Page4. Principala diferen
4
ntre cele dou metode de dezvoltare de pagini Meb este faptul c A/P, n general,
interacioneaz cu medii construite cu te8nologii +icrosoft, pe c'nd </P este
funcional n medii dezvoltate n <ava.
Te8nologia A/P faciliteaz crearea de pagini Meb dinamice, ns
funcioneaz doar cu servere Meb ale +icrosoft 3Anternet Anformation /erver sau
Personal Meb /erver4. Date statistice recente relev c circa ,,\ din server1ele
Meb sunt bazate pe MindoLs @T. Anternet Anformation /erver, mpreun cu driverul
:D;&, face legtura ntre baza de date propriu1zis i cererea formulat de un
broLser. Driverul de tip :D;& asigur independena de tipul de server /F*.
Te8nologia A/P permite folosirea mai multor limba9e scriptice 3C;/cript,
<script, <ava/cript etc.4 i cone%iunea la multiple tipuri de baze de date prin drivere
specifice sau prin intermediul :D;&. : baz de date 3e%istent c8iar pe un alt
calculator4 poate fi interogat conform sc8emei din figura ,.,.
*imba9ul de interogare a bazei de date este /F*. Andiferent de tipul bazei de date,
formatul coninut n script1urile aferente interogrii este acelai, iar prin numele sursei
de date se specific baza de date utilizat care poate fi :=A&*, +E/F*, /F*
/erver +./., +icrosoft Access, etc.
Accesul la bazele de date este facilitat de folosirea te8nologiei ActiveU Data :b9ects
3AD:4, care face ca accesul prin Anternet la o baz de date s nu fie mai lent dec't
citirea unei pagini de Meb obinuite. AD: este prima te8nologie +icrosoft dezvoltat
pe baza APA1ului :* D; 3:b9ect *inPing and mbedding aplicat bazelor de date4 i
permite scrierea de aplicaii client care s acceseze i s manipuleze datele unei
baze de date aflate pe server, prin intermediul driver1elor :D;& care reprezint un
set de standarde, bazate pe /F*, destinat bazelor de date relaionale, care leag
dialecte /F* distincte ale diverselor /D;D1uri.
Te8nologia </P este o te8nologie multiplatform care mbin performanele
te8nologiei <ava la nivelul serverului, cu limba9ul JT+*KU+* pentru crearea paginilor
Meb, paginile </P put'nd fi create i ntreinute cu a9utorul uneltelor pentru generat
pagini JT+*KU+* uzuale.
: pagin </P este format din-
- componente JT+*KU+* statice2
- taguri </P2
- opional, poriuni de cod <ava, numite ]scripturiH.
Pentru accesarea bazei de date </P folosete <D;& n timp ce A/P folosete AD:.
</P poate folosi taguri definite de programator n timp ce A/P nu este e%tensibil.
Av'nd n vedere faptul c limba9ul de programare standard pentru Meb este
limba9ul <ava, n vederea integrrii Meb1/D;D au fost realizate limba9ele <D;&,
</F*, <=;, ca mecanisme de conectare a limba9ului <ava la un sistem /D;D
compatibil :D;& [<=;>R#, [</F*>O#. Dintre acestea 3conform aprecierii date de
4!
Miroso't (nternet (n'ormation Ser"er )((S*
+ti"e Ser"er ,ages )+S,*
Baza de date
(-T./-.
T/
(-T/+-.
T
7eo?se
r
7e<Bro
?ser
7e<
,i-* 2*2* @ccesarea unei <aze de date prin re8eaua 624%52%4
Jamilton i &attell 0>>R4 <D;& reprezint cea mai puternic tratare n accesarea
sistemelor /D;D relaionale din limba9ul <ava., care se bazeaz pe /F* dinamic,
ceea ce permite ca un program apelant s compun instruciuni /F* n momentul
e%ecuiei. *imba9ul </F* propus de consoriul :racle, A;+ i Tandem n 0>>O,
const n e%tinderea limba9ului <ava cu limba9ul /F* static nglobat.
Alegerea tipului de /D;D pentru realizarea unei aplicaii cu baze de date este o
decizie e%trem de important i trebuie s rezulte n urma analizei tuturor aspectelor
care trebuie avute n vedere pentru rezolvarea problemei formulate. Dac avem n
vedere sistemele mari distribuite n reea 3Antranet sau %tranet4 organizate ierar8ic
pe nivele 3servere de baze de date, aplicaii client4 ce vor trebui s fac fa unui
numr mare de utilizatori simultan, numrul /D;D1urilor care pot rspunde unor
astfel de cerine este considerabil redus. Analiz'nd evoluia din ultimii ani a
produselor soft pentru crearea i administrarea bazelor de date se constat, privitor
la noile faciliti oferite de cele mai recente versiuni, tendina includerii de
caracteristici orientate1obiect. Astfel, cele mai reprezentative sisteme n domeniul
bazelor de date i anume- :racle, /Ebase, Anformi%, care p'n nu demult erau n
e%clusivitate sisteme relaionale, au ncorporat, n ultimele versiuni realizate,
te8nologie orientat1obiect care variaz de la implementarea doar a unor servicii
p'n la reproiectarea pe baze noi n sisteme 8ibride obiect1relaionale. Trei dintre
principalii productori de sisteme relaionale convenionale i anume- :racle,
Anformi%, A;+ i1au e%tins propriile /D;D1uri cu ]servere universaleH obiect1
relaionale denumite astfel-
A Data &artridges A productor :racle
]&artuulKncrcturaH :racle 5 componenta c8eie a ar8itecturii :racle @&A
3@etLorP &omputer Arc8itecture4 5 este un obiect branabil care ofer o interfa prin
care el poate fi gestionat. /tructura sa este definit cu /F*6, iar interfaa prin care
poate fi accesat poate fi identificat de alte obiecte prin intermediul AD* 3Anterface
Definition *anguage4. &artridge1urile snt de trei tipuri- localizate pe serverul de baze
de date 3aa numitele servicii e%tensibile4, localizate n serverul de aplicaii i
cartridge1uri client care ruleaz pe calculatorul client i au acces la serviciile standard
din interfaa utilizator.
A Data ;lades A productor Anformi%
Data ;lade1urile sau ]lameleH de date Anformi% snt asemntoare cu pac8ete
orientate1obiect, cu biblioteci de clase &WW i ncapsuleaz definiiile claselor de
obiecte. le permit, pe l'ng adugarea de noi tipuri avansate de date, specificarea
de metode de acces optimizate i a unor opiuni de procesare pentru aceste tipuri de
date.
A =elational %tenders A productor A;+ 3D;,4.
%tensiile relaionale n D;, snt definite n /F*6 i pot include tipuri i funcii
definite de utilizator, obiecte de dimensiuni mari 3*:;s4, triggere, proceduri stocate i
variate constr'ngeri i verificri asociate tipurilor de date.
&ompania :racle are n vedere, n versiunile serverului de date :racle,
includerea mainii virtuale <ava n nucleu permi'nd e%ecutarea applet1urilor <ava
direct n baza de date 3nivelul client reprezentat de broLser1ele Meb include de9a o
main virtual <ava4. Pn la realizarea acestui deziderat, :racle ofer
programatorilor <ava dou drivere <D;& 3<ava Data;ase &onnectivitE4, care permit
accesul la bazele de date :racle direct din aplicaiile <ava. &ele dou drivere <D;&
sunt-
0. <D;&K:&A 3<D;&K:racle &all Anterface4 1 driver destinat dezvoltatorilor de aplicaii
<ava clientKserver sau de aplicaii pentru serverul de aplicaii 3cartridge1uri4 n
4"
<ava. Acest driver convertete apelurile <D;& n apeluri :&A care sunt transmise
prin @et? sau /F*^@et 3protocoale de reea :racle4 ctre serverul de date :racle2
,. T8in <D;& 1 driver destinat dezvoltatorilor de applet1uri sau aplicaii <ava 3care
rezid pe un server n reea i trebuie descrcate la e%ecuie de client4. Acest
driver este scris complet n <ava i respect n totalitate standardul <D;&. )iind
foarte mic, acest driver poate fi descrcat pe client o dat cu applet1ul <ava la
momentul e%ecuiei.
*a integrarea Meb1/D;D apar urmtoarele dou nea9unsuri-
- funcionalitatea limitat a limba9ului JT+*2
- securitatea sczut.
.tilizarea limba9elor de scriptare cum ar fi <ava/cript i C;/cript, permite
crearea de funcii nglobate n limba9ul JT+* pentru a e%tinde at't broLserul c't i
serverul.
$ntr1un mediu Meb securitatea este asigurat prin servere reprezentant
3pro%E4, servere Gerberos 3servere de nume de utilizatori i parole securizate4,
parafocuri 3previn accesul neautorizat la i de la o reea privat4, semnturi digitale
3iruri de bii determinate din datele HsemnateI i c8eia privat a persoanei sau
organizaiei4, certificate digitale 3date de identificare criptate ale unei persoane sau
organizaii4, straturi i protocoale de securizare.
$n concluzie, se poate afirma c integrarea Meb 1 /D;D se impune din
urmtoarele considerente-
- dificulti de administrare 1 numr mare de documente stocate n fiiere separate
create i ntreinute de autori diferii2
- dificulti de ntreinere date1informaii de natur dinamic 3produse, preuri, etc.4
ntreinute at't n baze de date c't i n pagini JT+*2
- interconectivitate global 1 Anternet, AntranetK%tranet W baze de date.
6);) Ba.! %! %a! %!%u+&*!
.na din direciile de cercetare desfurate n vederea rezolvrii unor
probleme comple%e de baze de date este [D:=:>?# abordarea logic prin care se
urmrete dezvoltarea de /isteme de Destiune a ;azelor de &unotine 3/D;&4
care s rspund pe de o parte cerinelor oferite de un /D;D obinuit 3acces eficient
la volume mari de date, gestiunea tranzaciilor, etc.4 i pe de alt parte s posede un
limba9 declarativ cu putere de e%presie apropiat de cea a limba9elor convenionale.
&ercetrile desfurate n aceast direcie au n vedere adaptarea limba9elor logice
de tip P=:*:D la cerinele impuse de manipularea unor volume mari de date
nt'lnite n cadrul /D;D1urilor. $n acest sens sunt avute n vedere limba9ele din
familia DATA*:D, care sunt considerate a fi intermediare ntre limba9ele relaionale
i limba9ul P=:*:D. =ezultatele obinute n cadrul cercetrilor n aceast direcie au
condus la definirea unei noi discipline denumit aze de date deductive [.**+>!#,
[_A@A>!#, [+A*!,#, [PA=&!,#, [/PA/!,#, [ADAT!6#, sau aze de date bazate pe
logic [DAT!"#.
;azele de date deductive sunt [ADAT!6# sisteme de programe logice destinate
pentru aplicaii cu volume mari de date i constituie o e%tensie a bazelor de date
relaionale prin e%ploatarea puterii de e%presie a regulilor logice , suportului pentru
recursivitate i structurilor de date non1atomice, simplific'nd programarea aplicaiilor
care tradiional erau realizate n /F* inclus ntr1un limba9 gazd cum ar fi limba9ul &.
Datele sau faptele sunt reprezentate prin e%presii atomice care nu conin nici o
variabil 3ground atoms4.
4#
.n predicat este memorat e%tensional prin memorarea ntr1o relaie a bazei de
date a tuturor tuplelor adevrate pentru acest predicat. Partea e%tensional
reprezint componenta relaional a bazei de date.
.n predicat este memorat intensional prin memorarea secvenei de reguli care
l definesc. =egulile sunt scrise n notaie P=:*:D astfel-
p- 1 X0,X,,B,Xn
Partea intensional reprezint componenta deductiv a bazei de date.
)ormal o baz de date deductiv se compune [+A*!,# din dou pri-
1 o baz de date e%tensional D; 3e%tensional database4 1 este o mulime de
fapte de baz care descriu o parte a lumii reale avut n vedere2
1 o baz de date intensional AD; 3intensional database4 5 este o mulime de reguli,
scrise ntr1un limba9 logic reprezent'nd propoziii care permit deducerea de noi fapte
din vec8ile fapte.
6);)-) E1!'s&& a,! $"%!,u,u& r!,a=&"'a,
Av'nd n vedere bazele de date relaionale, fiecare fapt r3c
0
,c
,
,B,c
P
4 din baza
de fapte D; poate fi pus n coresponden cu o tupl Nc
0
,c
,
,B,c
P
Q a unei relaii =.
Pe de alt parte, o regul care definete un predicat r poate fi g'ndit ca o definiie
implicit a unei relaii = i corespunde conceptului relaional de vedere.
: interogare a bazei de date este e%presia unei formule logice particulare de
demonstrat, rspunsul calculat pentru aceast demonstrare constituind rezultatul
interogrii. $n acest sens, tuplurile relaiilor sunt interpretate ca a%iome de baz,
cererile sunt interpretate ca teoreme, iar rspunsurile la cereri reprezint demonstraii
de teoreme. Av'nd n vedere rezultatele obinute n calculul propoziiilor i calculul
predicatelor se definesc reguli de inferen 3a%iome deductive4 care se aplic asupra
faptelor din baza de date pentru deducerea de noi fapte. $n acest mod de lucru,
datele din baza de date, constr'ngerile de integritate, a%iomele deductive i cererile
de interogare vor fi reprezentate n acelai fel.
Pentru definirea bazelor de date deductive plec'nd de la modelul relaional de
baze de date s1au realizat urmtoarele e%tensii [+A*!,#-
- e%tensia modelului de baze de date cu reguli active )triggere* caracterizate de o
condiie i o aciune de e%ecutat, ceea ce permite descrierea de procesri
reactive care se verific automat la efectuarea operaiilor de manipulare a datelor,
bazele de date astfel realizate fiind numite baze de date active.
- e%tensia modelului de baze de date cu reguli deductive 3de tip P=:*:D4
caracterizate de o condiie i de o consecin logic, ceea ce permite e%primarea
n mod declarativ a deducerii de noi relaii i date plec'nd de la relaii introduse
e%plicit, bazele de date astfel definite fiind numite baze de date deductive.
Amportana regulilor active i a regulilor deductive const n posibilitatea e%primrii
multor operaii care altfel erau codificate n aplicaii. Aceste e%tensii, pe l'ng
independena fizic i logic 3independen realizat de sistemele tradiionale de
baze de date4, pot fi considerate ca un ulterior nivel de independen de aplicaii
denumit independena de cunotine 3+noAledge independence4. Avanta9ul
independenei de cunotine este faptul c regulile sunt automat utilizate pentru toate
aplicaiile ceea ce conduce la simplificarea scrierii codului aplicaiilor. =egulile sunt
definite de administratorul bazei de date i fac parte din sc8ema bazei de date.
*imba9e declarative cum ar fi /F*, permit e%primarea n mod declarativ a
derivrii de noi relaii prin intermediul vederilor logice, ns nu permit e%primarea
interogrilor comple%e ce presupun recursivitatea. $n acest sens, noul standard /F*6
introduce o serie de e%tensii ale algebrei relaionale i anume-
5$
- nc8iderea tranzitiv a unei relaii 5 se obine prin adugarea de tuple, deductibile
prin tranzitivitate, la relaia de plecare 3e%emplu- dac se consider tuplele
t0V3a,b4 i t,V3b,c4, prin tranzitivitate din cele dou tuple se obine tupla t6V3a,c44.
- recursivitatea 1 se realizeaz cu comanda MATJ astfel-
)ie o relaie =3A0,A,4. : interogare recursiv pe relaia = are forma
3'29 ,-(8,%'D- ,,)#6,#;* #% )%-5-(2 #6, #; F,./ ,*
8!'.!
)%-5-(2 ,6?#6, ,;?#; F,./ ,, #% ,6, , #% ,;39-,- ,6?#; K ,;?#6*
%-5-(2 I F,./ ,,?
6);)6) L&$8aEu, DATALOG
DATA*:D este limba9ul logic utilizat n cadrul bazelor de date deductive, at't
pentru definirea componentei e%tensionale D;, c't i pentru definirea componentei
intensionale AD;. $n formalismul DATA*:D datele i regulile sunt reprezentate prin
clauze Jorn care au forma general
*
!
-1 *
0
,B,*
n
3,.04

*
!
se numete capul clauzei, iar 1 *0,B,*n se numete corpul clauzei. )iecare dintre
*
i
este numit literal i are forma p
i
3t
0
,B,t
P
4, p
i
fiind un simbol numit predicat iar t
i
se
numesc termeni, fiecare t
i
put'nd fi o constant sau o variabil. =egulile fr
variabile sunt numite de baz )ground*. &orpul unei clauze poate fi vid i n acest caz
clauza este un fapt. )aptele de baz sunt memorate n D;. =egulile sunt clauze cu
corpul nevid i sunt memorate n AD;.
.n program DATA*:D P trebuie s satisfac urmtoarele condiii de
securitate 3safetE conditions4-
- orice fapt din P este de baz
- fiecare variabil care apare n capul unei reguli trebuie de asemenea s
apar n corpul aceleiai reguli
Aceste condiii garanteaz c mulimea tuturor faptelor care pot fi derivate de un
program DATA*:D este finit.
/emantica logic a limba9ului DATA*:D poate fi interpretat [+A*!,# astfel-
- fiecare fapt DATA*:D ) poate fi identificat cu o formul atomic )^ din logica
de ordinul 02
- fiecare regul DATA*:D = de forma ,.0
reprezint o formul de forma
U
0
,B, U
n
3*
0
B*
n
*
!
4 3,.,4
unde U
0
,B,U
n
sunt toate variabilele care apar n regul2
- o mulime / de clauze DATA*:D corespunde mulimii /^ a tuturor formulelor
&^ astfel nc't & aparine lui /2
- baza lui Jerbrand J; este mulimea tuturor faptelor care se pot e%prima n
limba9ul DATA*:D, adic mulimea tuturor literalelor de forma p3c
0
,B,c
n
4 cu c
i
constante2
- ;J este partea e%tensional a lui J; 3mulimea predicatelor e%tensionale42
- A;J este partea intensional a lui J; 3mulimea predicatelor intensionale42
- / fiind mulimea clauzelor DATA*:D, cons3/4 este mulimea tuturor faptelor
care sunt consecine logice ale lui /2
- /emantica unui program DATA*:D P poate fi descris ca o aplicaie

P
- ;JA;J 3,.64
care asociaz fiecrei baze de date e%tensionale ;J mulimea

P
34 V cons3P4A;J 3,."4
51
6);)C) DATALOG /& a,#!8ra r!,a=&"'a,2
Av'nd n vedere faptul c limba9ul DATA*:D poate fi privit ca o e%tensie
recursiv a unui limba9 relaional, este util de a pune n relaie limba9ul DATA*:D cu
algebra relaional astfel nc't s se poat utiliza n baze de date deductive concepte
dezvoltate pentru baze de date relaionale.
)iecare clauz a unui program DATA*:D poate fi transformat ntr1o relaie
de incluziune a algebrei relaionale. +ulimea relaiilor de incluziune care provin din
reguli care definesc acelai predicat va forma deci o ecuaie a algebrei relaionale.
Astfel, unui program DATA*:D i va corespunde un sistem de ecuaii ale algebrei
relaionale. )iecrui predicat D; al programului DATA*:D i corespunde o relaie
constant. )iecrui predicat AD; al programului DATA*:D i corespunde o relaie
variabil. Determinarea soluiei sistemului corespunde determinrii valorii relaiilor
variabile care satisface sistemul.
$n cele ce urmeaz este prezentat e%plicit cazul predicatelor AD;. /e
consider clauza-
&- p3a
0
,B,a
n
4 -1 X
0
3b
0
,B,b
P
4,B,X
m
3b
0
,Bb
8
4 3,.74
&lauzei & i corespunde n algebra relaional o relaie de incluziune de forma-
%pr3F
0
,B,F
m
4P 3,.R4
ntre relaiile P,F
0
,B,F
m
care corespund predicatelor p,X
0
,B,X
m
cu convenia c
atributele fiecrei relaii = sunt indicate cu numrul argumentului corespunztor al
predicatului r.
Pentru fiecare predicat p, se consider toate relaiile de incluziune de tipul
%pr3F
0
,B,F
m
4P 3,.O4
i se genereaz o ecuaie algebric de forma
PV %pr
0
3F
0
,B,F
m
4 %pr
,
3F
0
,B,F
m
4 B%pr
mp
3F
0
,B,F
m
4 3,.?4
Transformarea unei mulimi de subecuaii ntr1o singur ecuaie semnific condiia de
minimalitate a modelului Jerbrand, care e%prim faptul c suntem interesai numai
de acele fapte de baz care pot fi deduse de program.
ste posibil traducerea unui scop 3goal4 n interogri algebrice utiliz'nd
selecii i proiecii asupra unora din variabilele sistemului pentru afiarea rezultatului
evalurii e%presiei din partea dreapt dup nlocuirea valorilor curente ale
variabilelor, astfel-
`1 p3U4 este ec8ivalent cu interogarea algebric HPI2
`1 X3a,U4 este ec8ivalent cu interogarea algebric H
0Va
3F4I.
%emplu de traducere din limba9 DATA*:D n ecuaii ale algebrei relaionale.
0ro-ram D@4@)OG %cua8ii al-e<rice traduse .n al-e<ra rela8ional
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
p
1
(3(B) C& c
1
(3(B)
p
1
(3(B) C& p
1
(3(D)( p
3
(D(B) 5
1
E:
1

1(4
(5
1

2E1
5
3
) 5
2
p
1
(3(D) C& p
2
(3(B)
p
2
(3(B) C& p
1
(3(D)( p
3
(D(B) 5
2
E
1(4
(5
1

2E1
5
3
) :
3
p
2
(3(B) C& c
3
(3(B)
p
3
(3(B) C& p
3
(3(D)( c
2
(D(B) 5
3
E
1(4
(5
3

2E1
:
2
) :
4
p
3
(3(B) C& c
4
(3(B)
F& p
1
(a(3)
1Ea
(5
1
)
52
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
6););) SGBD %!%u+&*!
/istemele deductive referite [PA=&!,#, [/PA/!,# sub denumirea de /D;D
deductive, sau /isteme de gestiune a bazelor de cunotine G;+/, reprezint o
form avansat a sistemelor D;+/ relaionale, inspirat din limba9ul P=:*:D i n
care limba9ul de cereri i structura de memorare sunt proiectate pe baza unui model
logic al datelor. $n cadrul unui /D;D deductiv pot fi puse n eviden urmtoarele
componente-
- partea e%tensional a bazei de date D; 3componenta relaional42
- partea intensional a bazei de date AD; 3componenta deductiv42
- limba9ul de programare logic 3DATA*:D4 ce va fi utilizat pentru reprezentare
D; i AD;.
/pre deosebire de sistemele tradiionale de baze de date, sistemele deductive
asigur independena de cunotine, deoarece sc8ema bazei de date, pe l'ng
datele propriuzise, va conine i regulile ce se vor aplica asupra datelor, reguli ce vor
fi automat utilizate pentru toate aplicaiile, ceea ce simplific activitatea de scriere a
codului pentru aplicaii.
.n sistem deductiv de baze de date este [;a/&>O# Hun /D;D care permite
construirea vederilor cu demonstrare teoreticI, fiind capabil s deduc noi fapte
aplic'nd reguli de inferen faptelor e%istente n baza de date.
.tilizarea limba9ului DATA*:D ca limba9 de programare logic i privit ca o
e%tensie recursiv a unui limba9 relaional, permite uniformizarea reprezentrii tuturor
componentelor bazei de date i utilizarea, n baze de date deductive, a unor
concepte dezvoltate pentru baze de date relaionale.
6)<) M"%!,u, Tra'sR!,a=&"'a,
: descoperire de importan ma9or, poate cea mai semnificativ descoperire
n domeniu dup inventarea cu peste 67 de ani n urm a modelului relaional de
ctre . ). &odd care a constituit o adevrat revoluie n domeniul bazelor de date,
o reprezint metoda de transformare Tarin inventat de /teve Tarin n cadrul
companiei =eXuired Tec8nologies Anc. 34 i patentat /.A la sf'ritul anului 0>>> ca
te8nologie de implementare pentru diverse sisteme de stocare i regsire date
printre care- sisteme /F*, sisteme pentru depozite de date, motoare de cutare pe
Meb, sisteme U+* native, etc [DAT!"#. +odelul Trans=elaional referit sub
denumirea prescurtat modelul T= reprezint aplicarea metodei de transformare
Tarin n implementarea sistemelor relaionale av'nd n vedere realizarea
independenei fizice de date prin intermediul unei transformri care va defini
corespondena dintre nivelul logic i nivelul fizic al sistemului i invers. @ecesitatea
utilizrii modelului T= este 9ustificat plec'nd de la constatarea c ma9oritatea
sistemelor /D;D actuale 3sisteme cu imagine direct4 nu realizeaz cu adevrat o
independen fizic de date, fiind realizat doar corespondena dintre variabilele de
relaie de baz i fiierele stocate i dintre tuplurile din aceste variabile i
nregistrrile memorate n aceste fiiere, iar pentru accesarea datelor n diverse
secvene n condiii de performan acceptabile sunt necesare inde%uri i alte
structuri au%iliare ceea ce complic procesele de optimizare a accesrilor i
administrarea bazei de date. Aceste nea9unsuri sunt eliminate prin implementarea
sistemelor relaionale utiliz'nd modelul T=.
$n cadrul unui sistem relaional implementat cu a9utorul modelului T= pot fi
evideniate [DAT!"# urmtoarele trei nivele de abstractizare-
53
- nivelul relaional 3R!,a=&& 5 baza de date vzut de utilizator V relaii definite de
atribute i conin'nd tupluri42
- nivelul fiierelor 3F&/&!r! 5 definite de c'mpuri ce corespund atributelor i
conin'nd nregistrri ce corespund tuplurilor, dar fr nici o legtur cu fiierele
stocate fizic42
- nivelul T= 3Ta8!,! 5 baza de date vzut de modelul T= V structuri T= interne
numite tabele formate din r'nduri i coloane fr nici o coresponden direct cu
relaiile, tuplurile sau atributele de la nivelul relaional.
Amplementarea unui sistem relaional cu modelul T= este ilustrat n e%emplul de mai 9os.
Rela,ia Cadre
$od -ume (nadrare 0oalitate
C3
6onescu profesor SuceaGa
:4 @ntonescu conferentiar 6asi
:1 ,lorescu lector SuceaGa
:2 0opescu lector 6asi
: Geor-escu lector SuceaGa
:5 0etrescu profesor Bucuresti
SecGen8a
cHmpuri
1 2 3 4
$od -ume (nadrare 0oalitate
SecGen8a
.nre-istrri
1
C3
6onescu profesor SuceaGa
2 :4 @ntonescu conferentiar 6asi
3 :1 ,lorescu lector SuceaGa
4 :2 0opescu lector 6asi
5 : Geor-escu lector SuceaGa
:5 0etrescu profesor Bucuresti
SecGen8a
coloane
1 2 3 4
$od -ume (nadrare 0oalitate
SecGen8a
rHnduri
1 :1 @ntonescu conferentiar Bucuresti
2 :2 ,lorescu lector 6asi
3 :3 Geor-escu lector 6asi
4 :4 6onescu lector SuceaGa
5 :5 0etrescu profesor SuceaGa
: 0opescu profesor SuceaGa
T)6)6) Tabela de reonstru!ie a %nregistr&rilor
54
Atribute
Tupluri
-i"elul /ela!ional (/ela!ii)
-i"elul 1i2ierelor ('i2iere) 1i2ierul asoiat rela!iei $adre
-i"elul T/ (tabele) T#.1. Tabela "alorilor 3mpurilor
@ivelul fiierelor este un nivel coordonator ntre nivelul relaional i nivelul T= astfel
nc't relaiile de la nivelul relaional sunt asociate fiierelor de la nivelul fiiere care
apoi sunt asociate tabelelor de la nivelul T=, asocieri ce se realizeaz dup
algoritmul descris mai 9os.
0. Pentru fiecare variabil de relaie de pe nivelul relaional, realizarea
corespondenei ntre variabila de relaie i fiierul de pe nivelul fiierelor prin care
atributelor din variabila de relaie le corespund c'mpurile din fiierul ataat
numerotate de la st'nga la dreapta, iar tuplurilor din variabila de relaie le
corespund nregistrrile din fiierul ataat numerotate de sus n 9os. Pentru o
relaie definit de n atribute i care conine P tuple e%ist nb ^ Pb posibiliti
distincte 3versiuni4 de ordonare deci nb ^ Pb fiiere ec8ivalente 3conin aceleai
informaii4 care vor fi numite versiuni diferite ale aceluiai fiier 3constatare foarte
important pentru modelul T=4.
,. =ealizarea corespondenei ntre fiecare fiier de pe nivelul fiierelor i dou
tabele de pe nivelul T= 3tabela valorilor c'mpurilor i tabela de reconstrucie a
nregistrrilor4 astfel nc't fiecare fiier de pe nivelul fiierelor s poat fi
reconstruit din cele dou tabele corespunztoare. )iecare din cele dou tabele va
avea tot at'tea coloane i r'nduri c'te c'mpuri i nregistrri are fiierul
corespunztor, coloanele numerotate de la st'nga la dreapta i r'ndurile
numerotate de sus n 9os, iar elementul aflat la intersecia unui r'nd cu o coloan
se va numi celul i va fi adresat cu a9utorul unor indici sub forma [i,9# unde i
reprezint numrul r'ndului iar 9 numrul coloanei. )iecare coloan din tabela
valorilor c'mpurilor va conine valorile c'mpului corespunztor din fiierul
corespunztor ordonate cresctor, astfel c nu e%ist nici o coresponden din
punct de vedere al coninutului ntre nregistrrile din fiier i r'ndurile din tabel
i deci nici ntre r'ndurile din tabel i tuplurile relaiei corespunztoare de la
nivelul relaional. )iecare celul din tabela de reconstrucie a nregistrrilor
conine un numr de r'nd care reprezint un pointer spre un numr de r'nd din
tabela valorilor c'mpurilor sau din tabela de reconstrucie a nregistrrilor sau din
ambele tabele astfel nc't parcurg'nd un algoritm general valabil s poat fi
reconstruite nregistrrile fiierului corespunztor de la nivelul fiierelor.
1 2 3 4
$od -ume (nadrare 0oalitate
1 2 1 2 5
2 3 5 4
3 4 2 4 2
4 1 3 1
5 5 5 1
3 4 3
55
Crearea tabelei de reconstrucie a nregistrrilor
/e constat c coloana 0 din tabela valorilor c'mpurilor se obine din coloana
0 a fiierului asociat conform secvenei 6,",0,,,R,7. Analog, pentru coloana , rezult
secvena ,,6,7,0,R,", pentru coloana 6 rezult secvena ,,7,6,",R,0 i pentru coloana
" rezult secvena R,,,",6,7,0. Aceste secvene sunt numite permutri, rezult'nd
astfel tabela permutrilor T,.6.
Definind inversa unei permutri ca fiind acea permutare care produce secvena
ordonat 0,,,6,",7,R 3e%emplu pt. 6,",0,,,R,7 inversa este tot 6,",0,,,R,7 deoarece 0
din secvena 6,",0,,,R,7 este pe r'ndul 6 din tabela permutrilor, , din secven este
pe r'ndul " din tabela permutrilor, 6 din secven este pe r'ndul 0 din tabela
permutrilor, " din secven este pe r'ndul , din tabela permutrilor, 7 din secven
este pe r'ndul R din tabela permutrilor i R din secven este pe r'ndul 7 din tabela
permutrilor2 in acest caz se constat c nt'mpltor cele , secvene coincid4, din
tabela permutrilor se obine tabela permutrilor inverse T,.".
Plec'nd de la aceast tabel se construiete tabela de reconstrucie a nregistrrilor
astfel- pentru a construi coloana 0 din tabela de reconstrucie a nregistrrilor se
consider celula [i,0# din tabela permutrilor inverse i fie r coninutul acestei celule,
apoi se consider celula [i,,# i fie c coninutul acestei celule care se va depune n
celula [r,0# din tabela de reconstrucie a nregistrrilor, pentru iV0,B,R. Analog se va
proceda i pentru celelalte coloane cu meniunea c pentru ultima coloan se iau
valorile c corespunztoare din prima coloan.
Algoritmul de reconstrucie a nregistrrilor
Pentru reconstrucia unei nregistrri se parcurge tabela valorilor c'mpurilor i
tabela de reconstrucie a nregistrrilor dup algoritmul zigzag ilustrat n e%emplul de
mai 9os.
04. @e poziionm n tabela valorilor c'mpurilor pe o celul spre e%emplu [0,0#
obin'nd astfel valoarea primului c'mp al nregistrrii dorite i anume (6?
,4. @e poziionm n aceeai celul din tabela de reconstrucie a nregistrrilor 3[0,0#4
i prelum valoarea memorat n celul 3,4, care reprezint numrul r'ndului din
tabela valorilor c'mpurilor n care se va gsi valoarea celui de1al doilea c'mp al
nregistrrii n coloana ,, deci se preia valoarea din celula [,,,# din tabela valorilor
c'mpurilor i anume Florescu?
64. @e poziionm n celula [,,,# n tabela de reconstrucie a nregistrrilor din care
prelum coninutul, adic 6, cea ce nseamn c valoarea urmtorului c'mp
3Ancadrare4 a nregistrrii se afl pe r'ndul 6 n tabela valorilor c'mpurilor, coloana 6,
deci se preia valoarea din celula [6,6# i anume lector?
5
T#.4. Tabela permut&rilor in"erse
1234$od-ume(nadrare0oalitate134241
1231234424353255551
T#.3. Tabela permut&rilor
1234$od-ume(nadrare0oalitate1322243
523153442143555411
"4. @e poziionm n celula [6,6# din tabela de reconstrucie a nregistrrilor din care
prelum coninutul 3adic "4 care reprezint r'ndul din tabela valorilor c'mpurilor
care va conine valoarea urmtorului c'mp al nregistrrii n coloana ", deci se preia
valoarea din celula [","# i anume %uceava?
74. @e poziionm n celula [","# din tabela de reconstrucie a nregistrrilor i
prelum valoarea memorat 304 care reprezint r'ndul din tabela valorilor c'mpurilor
care conine valoarea primului c'mp al nregistrrii 3ar fi urmat al cincilea c'mp ns
nregistrarea are doar patru c'mpuri4, deci celula [0,0# care este punctul de plecare
n reconstrucia nregistrrii, deci ciclul se termin. /e constat c am obinut
nregistrarea (6, Florescu, lector, %uceava care este a treia nregistrare din fiierul
ataat relaiei (adre. &ele dou cicluri, numite zigzaguri , parcurse n cele dou
tabele sunt reprezentate n figura ,.6.
Parcurg'nd algoritmul i pentru celulele [,,0#,[6,0#,...,[R,0# se realizeaz reconstrucia
tuturor nregistrrilor din fiierul ataat relaiei &adre, cea ce realizeaz
implementarea comenzii /F*
%-5-(2 I F,./ (adre .,D-, C (od
1 2 3 4
$od -ume (nadrare 0oalitate
1 :1
2 ,lorescu
3 lector
4 SuceaGa
5

Tabela valorilor cmpurilor


1 2 3 4
$od -ume (nadrare 0oalitate
1 2
2 3
3 4
4 1
5

Tabela de reconstrucie a nregistrrilor


Analog se poate realiza parcurgerea de 9os n sus, sau plec'nd din oricare celul a
tabelei valorilor c'mpurilor, obin'nd astfel ordonarea nregistrrilor dup diverse
criterii fr a necesita sortare sau utilizarea vreunui inde%.
U&,&.ar! +","a'! +"'%!'sa! /& +","a'! 0$8&'a! 3!'ru !,&$&'ar!a
r!%u'%a'=!& %a!,"r
=edundana care se constat n tabela valorilor c'mpurilor poate fi eliminat
prin condensarea coloanelor cu specificarea domeniilor r'ndurilor dup cum este
ilustrat n tabelul T,.7.
T#.5. $ondensare oloane6 spei'iare domenii r3nduri
5!
,i-* 2*3* Di-za-uri pentru reconstruc8ia unei .nre-istrri
1 2 3 4
$od -ume (nadrare 0oalitate
:1 Ant+nescu conferentiar =1C1> -ucuresti
.1/10
:2 ,lorescu lector =2C4> 6asi =2C3>
:3 Geor-escu profesor =5C> 6asi =4C>
:4 6onescu
:5 0etrescu
: 0opescu
Prin domenii se precizeaz r'ndurile care n coloana respectiv au aceeai valoare
i lu'nd numrul de r'nduri per domeniu drept unitate de msur, fiecare coloan
poate fi reprezentat printr1o 8istogram, ca de e%emplu coloana 6 poate fi
reprezentat prin 8istograma din figura ,.".
Astfel, tabela valorilor c'mpurilor poate fi reprezentat printr1o mulime de
8istograme, iar dup cum am artat anterior, tabela de reconstrucie a nregistrrilor
reprezint o mulime de permutri. Prin urmare, prin modelul T= se realizeaz
reprezentarea unei colecii de date printr1o mulime de 8istograme i o mulime de
permutri.
.tilizarea coloanelor mbinate permite utilizarea unei coloane n tabela
valorilor c'mpurilor pentru dou coloane de acelai tip din acelai fiier sau din
fiiere diferite, caz n care acea coloan va conine i specificarea domeniilor pentru
frecare din cele dou coloane mbinate. .tilizarea coloanelor mbinate prezint o
serie de avanta9e ca spre e%emplu n efectuarea operaiilor de uniune 39oin4.
An concluzie se poate afirma c ideea fundamental care st la baza modelului
T= poate fi formulat astfel [DAT!"#- forma stocat a unei nregistrri din cadrul
unui fiier de la nivelul fiierelor presupune o mulime de valori ale c'mpurilor i o
mulime de informaii de legtur care coreleaz valorile c'mpurilor, iar pentru
stocarea fizic a fiecreia din cele dou mulimi pot fi utilizate diverse modaliti.
Astfel, spre deosebire de sistemele cu imagine direct, n care cele dou mulimi de
date sunt memorate mpreun 3informaiile de legtur sunt reprezentate prin
contiguitatea fizic4, n modelul T= cele dou mulimi de date sunt stocate separat i
anume- valorile c'mpurilor sunt memorate n tabela valorilor c'mpurilor, iar
informaiile de legtur sunt memorate n tabela de reconstrucie a nregistrrilor care
conine pointeri ctre datele propriuzise.
/intetizarea problemelor abordate privind evoluia sistemelor /D;D este
prezentat n
tabelul T,.R.
5"
conferentiar lect+r profesor
Nr1 r2nduri
6ncadrare
)i31 1#1 4ist+3ra5a c+respun*6t+are datel+r din c+l+ana 7ncadrare
5#
0. T#.7. .890:;(+ S(ST.M.09/ D. G.ST(:-. + B+<.09/ D. D+T.
Modele
de date
S!" Tipuri de aplia!ii Deza"anta=e
6erar/ic
5e8ea
0rima
-enera8ie
Aplica,ii din d+5eniul afaceril+r
- pro<leme de -estiune a
.ntreprinderilor (salarii( personal(
produc8ie)
- sisteme de rezerGare a locurilor
(transporturi( /oteluri ( etc*)
- sisteme de -estiune <i<lioteci
- sisteme financiar&<ancare
- putere de eIpresie limitat a
lim<a9elor de manipulare
utilizate
- posi<ilit8i de modelare
limitate
5ela8ional
@ doua
-enera8ie
1odele
semantice
1odelul %J5
0ermite ela<orarea unui model conceptual fr a 8ine seama de anumite constrHn-eri impuse
de modelul de date ierar/ic( re8ea( rela8ional A rezult o reprezentare mai fidel a realit8ii .n
cadrul unei etape intermediare .n proiectarea unei <aze de date
1odelul de
date orientat
spre o<iecte
OOD1
SGBDOO
@ treia
-enera8ie
SGBDO5
Aplica,ii a8ansate de ba*e de date
- proiectarea asistat de calculator
:@D
- fa<ricarea asistat de calculator
:@1
- in-ineria pro-ramrii asistat de
calculator :@S%
- sisteme informa8ionale de <irou
O6S Ki sisteme multimedia
- editarea di-ital
- sisteme informa8ionale -eo-rafice
G6S
- aplica8ii Ktiin8ifice Ki medicale (eI*
date compleIe pt* modele
moleculare( material -enetic etc*)
- sisteme eIpert (<aze de cunoKtin8e
pt* aplica8ii de inteli-en8
artificial)
- lipsa unui fundament teoretic
- lipsa de eIperien8
- lipsa de standarde
- produse compleIe dificil de
utilizat Ki cu costuri ridicate
- suport limitat pentru
securitate( inte-ritate Ki
Gederi
1odelul
de date
rela8ional
cu o<iecte
O5D1
1odelul 45
- se pierde simplitatea Ki
puritatea modelului rela8ional
- nu sunt tratate modele de
o<iecte( sunt eItinse rela8iile
din modelul rela8ional
(o<iectele persist doar
stocate .n ta<ele Ki
intero-rile se aplic numai
ta<elelor)
- suport limitat pentru metode
de acces multidimensional la
date
1odel lo-ic
al datelor
SGBD
deductiGe
(Sisteme de
Gestiune a
Bazelor de
:unoKtin8e
SGB:)
O form aGansat a sistemelor DB1S rela8ionale( inspirat din lim<a9ul
05O)OG Ki .n care lim<a9ul de cereri Ki structura de memorare sunt
proiectate pe <aza unui model lo-ic al datelor*
:omponenteC
& partea eItensional a <azei de date %DB (componenta rela8ional)L
& partea intensional a <azei de date 6DB (componenta deductiG)L
& lim<a9ul de pro-ramare lo-ic (D@4@)OG) ce Ga fi utilizat pentru
reprezentare %DB Ki 6DB*
Sc/ema <azei de date( pe lHn- datele propriuzise( Ga con8ine Ki re-ulile ce
se Gor aplica asupra datelor( re-uli ce Gor fi automat utilizate pentru toate
aplica8iile( ceea ce simplific actiGitatea de scriere a codului pentru aplica8ii
(asi-ur independen8a de cunoKtin8e)*
$
B'r!82r&
0. numerai tipurile de aplicaii avansate de baze de date.
,. numerai tipurile de modele de date i /D;D1uri corespunztoare definite
pentru rezolvarea aplicaiilor avansate de baze de date.
6. Prezentai sumar conceptele utilizate n te8nologia orientat spre obiecte n
domeniul bazelor de date.
". numerai principalele e%tensii ale limba9ului /F* n cadrul standardului /F*6.
7. numerai tipurile de dependene n bazele de date i formele normale
corespunztoare.
R. Definii baza de date temporal i tipurile de descompunere care se realizeaz n
bazele de date temporale.
O. Prezentai modelul de baze de date client1server pe 6 eta9e 3nivele4 n mediul
Meb.
?. Prezentai sumar conceptul de baz de date deductiv 3baz de date bazat pe
logic4.
>. Definii /D;D deductive.
0!. Definii modelul Trans=elaional.
1
Curs C
T!7'&+& a*a'sa! %! !13,"rar! a %a!,"r 9-:
/ocietatea modern este caracterizat de sc8imbri rapide i inovare
permanent n toate domeniile cunoaterii. Datorit facilitilor de comunicare dincolo
de granie, spaiu i timp oferite de reeaua Anternet, economia noului mileniu poate fi
privit [DA@A!,# ca o Hscen digitalI n care noile afaceri devin e>bussines
3afaceri electronice4, comerul devine e>commerce 3comer electronic4, apar noi
servicii electronice 3e>services4 i se nasc noi comuniti de tip virtual 3e>
communities4. $n noua scen cu calculatoare interconectate n reele Anternet,
Antranet i %tranet suntem Hinundai de informaie, dar flm'nzi dup cunotineI.
Pentru realizarea activitilor dintr1un domeniu ntr1o manier inteligent, n
cadrul procesului decizional, decidentul este pus permanent n situaia de a evalua i
alege ntre dou sau mai multe alternative n cadrul unor activiti inteligente. +ateria
prim de baz prelucrat n cadrul activitilor inteligente este cunoaterea, care
reprezint conceptul fundamental pentru dezvoltarea sistemelor inteligente. $n
vederea obinerii informaiilor necesare lurii de decizii corecte omul din societatea
modern se confrunt cu necesitatea prelucrrii unui volum imens de date
reprezent'nd fapte culese din lumea real pe baz de observaii i msurtori, care
trebuiesc organizate i stocate pe suporturi e%terne de memorare, apoi actualizate n
permanen, regsite i prelucrate n timp util. : ierar8izare a datelor, informaiei i
cunoaterii av'nd n vedere gradul de abstractizare este realizat de profesorul .
Turban astfel [A@D:!0#-
/etacunoatere >1 (unoatere >1 'nformaii >1 Date,
iar procesarea datelor i cunotinelor n informatic, poate fi e%primat prin
ecuaiile-
%tructuri de date Q #lgoritmi K &rogrameB
(unoatere Q 'nferene K %istem inteligent?
=eprezentarea i procesarea datelor i cunoaterii reprezint obiectul apariiei
i dezvoltrii a dou te8nologii de importan ma9or n informatic i anume-
- 2ehnologia bazelor de dateB
- 2ehnologia sistemelor inteligente?
$n timp ce te8nologia bazelor de date are n vedere memorarea, ntreinerea i
accesarea unor volume mari de date, te8nologia sistemelor inteligente este a%at
pe rezolvarea unor probleme comple%e n diverse domenii care necesit e%pertiz
uman, fiind ns restricionat de domenii bine delimitate i ineficient pentru
procesri numerice i gestiunea unor volume mari de date. &ele dou te8nologii la
ora actual distincte, tind s evolueze convergent n cadrul conceptului de sistem
informaional inteligent care presupune elaborarea unui model unificat date1
cunotine. $n acest sens, sistemele de baze de date au n vedere e%primarea
semanticii n sc8emele lor conceptuale i capacitatea de infereniere 3baze de date
deductive4, iar sistemele bazate pe cunotine tind s rezolve probleme care
reclam baze de cunotine 3fapte i reguli4 din ce n ce mai mari. Av'nd n vedere
cele dou resurse informaionale 3bazele de date i bazele de cunotine4, pentru
e%ploatarea ma%im a acestora nu este suficient doar cuplarea sistemelor de
gestiune a bazelor de date cu sistemele e%pert prin intermediul unor interfee n
cadrul aplicaiilor, fiind necesar proiectarea fiecreia din cele dou componente ca
o e%tensie natural a celeilalte astfel nc't mpreun s conduc la realizarea unui
sistem integrat. $n acest sens cercetrile pot fi ndreptate n urmtoarele direcii-
2
- dotarea /D;D cu instrumente suplimentare de structurare i manipulare av'nd
n vedere semantica datelor 3un pas important n aceast direcie l constituie
bazele de date deductive42
- dotarea sistemelor e%pert cu instrumente care s permit accesarea i
manipularea eficient a informaiei stocate n bazele de date.
3.1) I'!#rar!a !7'","#&!& 8a.!,"r %! %a! +u !7'","#&a s&s!$!,"r &'!,&#!'!
Te8nologia bazelor de date are n vedere procesarea tranzaciilor, ceea ce
presupune stocarea, ntreinerea i accesarea unor volume mari de date
reprezent'nd fapte organizate n structuri adecvate, prin intermediul unor produse
softLare specializate 3/D;D4. /istemele realizate pentru automatizarea proceselor
din cadrul unei organizaii prelucreaz datele operaionale aferente tratrii operaiilor
de zi cu zi. Aceste sisteme orientate spre prelucrarea tranzaciilor, cunoscute
[&:;/!0# sub denumirea de sisteme :*TP 3:n*ine Transaction Processing4
genereaz date operaionale care sunt orientate spre obiect. $n cursul anilor
organizaiile au acumulat astfel cantiti mari de date stocate n cadrul sistemelor lor
operaionale. $n ultimii ani, atenia este concentrat asupra modalitilor de utilizare a
datelor operaionale, stocate n baze de date i ar8ive , pentru a susine procesul
decizional n vederea c'tigrii unor avanta9e competitive. /e pune deci problema
transformrii ar8ivelor de date n surs de cunotine care s prezinte utilizatorului o
vedere unitar asupra datelor organizaiei. $n acest sens s1a definit magazia sau
depozitul de date cunoscute i sub denumirea de data Aarehouse, care se
alimenteaz cu date de la multiple surse de date operaionale i care ofer
posibilitatea realizrii unui sistem capabil s susin procesul decizional al
organizaiei, folosind te8nici avansate de e%plorare a datelor. /copul principal urmrit
la proiectarea magaziei de date este susinerea interogrilor prin realizarea unor
analize economice comple%e, care s foloseasc ntreaga valoare pe care o posed
datele colectate, n vederea furnizrii informaiilor necesare pentru luarea de decizii
strategice. /e disting dou modaliti prin care se poate valorifica informaia din
depozitul de date i anume-
- analiza multidimensional :*AP 3:n*ine AnalEtical Processing42
- HmineritulI n date D+ 3Data +ining4.
C)-)-) B'$a#a.&'ar!a %a!,"r
/pre sf'ritul anilor R! i nceputul anilor O! cercettori de la Jarvard i +AT
3+assac8usetts Anstitute of Tec8nologE4 au pus problema utilizrii calculatoarelor n
susinerea procesului decizional al unei organizaii. Acumul'nd n timp cantiti mari
de date, organizaiile i1au concentrat atenia asupra valorificrii datelor acumulate
pentru susinerea procesului decizional n vederea obinerii de avanta9e competitive.
Astfel au fost definite conceptele- nmagazinarea datelor, magazie de date, depozit
de date )Data 3arehouse*, pia de date. &onceptul iniial de magazie de date a fost
inventat la compania A;+ sub denumirea de ]magazie de informaiiI, primele
ncercri n acest domeniu fiind ns respinse datorit comple%itii i problemelor
aprute n implementarea unor astfel de soluii.
Printele noii te8nologii privind nmagazinarea datelor este considerat ;ill
Anmon care n 0>>6 definete magazia de date ca fiind ]O +",!+=&! %! %a! "r&!'a2
s3r! su8&!+G &'!#ra2G *ar&a8&,2 0' &$3 /& '!*",a&,2G +ar! sus=&'! 3r"+!su,
%!+&.&"'a, a, a%$&'&sr2r&&I [&:;/!0#.
Aceast definiie are n vedere urmtoarele aspecte 3caracteristici4-
3
- datele sunt orientate spre subiect 5 n magazia de date sunt memorate
principalele subiecte ale organizaiei 3clienii, produsele, v'nzrile, etc.4 adic
datele de susinere a deciziilor i nu datele orientate spre aplicaii 3stocurile,
facturile clienilor, etc.42
- colecia de date este integrat deoarece reunete date generale utilizate n
aplicaii, de la surse diferite astfel nc't s prezinte utiilizatorilor o vedere unificat
a datelor2
- datele sunt variabile n timp 1 datele din magazia de date reprezint o colecie de
instantanee fiind valabile la un anumit moment sau interval de timp2
- colecia de date este nevolatil 5 datele coleciei sunt re'mprosptate din
sistemele operaionale la anumite intervale de timp i nu sunt reactualizate n
timp real, iar datele noi sunt adugate n permanen coleciei.
/copul principal urmrit prin nmagazinarea datelor este integrarea datelor
generale din ntreaga organizaie ntr1un depozit unic 3data AarAhouse4 ce va putea
fi utilizat pentru interogri, elaborare rapoarte i analize pentru susinerea procesului
decizional al organizaiei. /e transform astfel datele din sistemele operaionale
:*TP 3:n*ine Transaction Processing4 n surs de informaii pentru procesul
decizional al organizaiei.
/ursele de date pentru constituirea unei magazii de date pot fi-
- datele operaionale de pe calculatoare mainframe memorate n baze de date de
prim generaie de tip ierar8ic i reea 3ocup o pondere nsemnat n volumul
total al datelor operaionale generale ale unei organizaii42
- datele departamentale stocate n sisteme speciale de fiiere i n baze de date
relaionale printre care A@):=+AU i :=A&*2
- datele cu caracter personal memorate pe staiile de lucru i serverele personale2
- sisteme e%terne organizaiei printre care Anternet, baze de date comerciale, baze
de date ale furnizorilor i clienilor organizaiei.
Plec'nd de la aceste surse de date n magazia de date se vor reprezenta-
- datele detaliate 1 sunt stocate la diverse intervale n magazia de date pentru a
suplimenta datele grupate2
- datele cu grad nalt i sczut de rezumare 5 reprezint datele predefinite grupate
generate de ctre administratorul magaziei de date pentru a crete performanele
interogrilor, aceste date fiind actualizate continuu pe msur ce se ncarc date
noi n magazia de date2
- datele ar8ivate i copii de siguran 5 stoc8eaz toate datele detaliate i
rezumate n ar8ive de date i copii de siguran pe suporturi adecvate de
memorare 3benzi magnetice, discuri optice42
- meta1datele 5 reprezint definiia datelor 3datele despre date4 din magazia de
date i aceast reprezentare este specific fiecrui proces care opereaz asupra
magaziei de date.
Tipuri de instrumente utilizate pentru construirea i utilizarea unei magazii de
date-
- instrumente de e%tragere, curare i incrcare date n magazia de date2
- instrumente de access ale utilizatorilor finali- instrumente de raportare i
interogare, instrumente de dezvoltare a aplicaiilor, instrumente pentru sistemul
informaional e%ecutiv A/, instrumente de prelucrare analitic on1line :*AP,
instrumente de e%plorare a datelor 3descoperirea de noi corelaii, tipare i tendine
folosind te8nici din statistic, matematic i inteligen artificial4.
:peraiile ce trebuie efectuate pentru realizarea magaziei de date sunt-
4
- preluare date de la sursele de date 3sistemele :*TP42
- curare date preluate de la sursele de date 3sursele de date pot conine date
incoerente, incomplete, dubluri, etc.42
- restructurarea datelor 3eliminare sau adugare de c'mpuri, denormalizare42
- rezumarea datelor 3sortare i grupare date dup diverse criterii42
- mpac8etarea datelor 3transformare date detaliate sau rezumate n diverse
formate cum ar fi-foi de calcul tabelar, documente te%t, diagrame, alte
reprezentri grafice42
- ar8ivarea datelor vec8i, realizarea copiilor de siguran, refacerea datelor din
magazia de date2
- elaborarea de instrumente de interogare pentru asigurarea accesului utilizatorilor
n vederea e%ploatrii magaziei de date.
/isteme /D;D pentru magazii de date
$n general sistemele /D;D relaionale comple%e rspund cerinelor impuse de
crearea magaziilor de date, singura problem care trebuie avut n vedere fiind cea
privind volumul datelor pentru magazia de date.
Principalele cerine pe care trebuie s le ndeplineasc un sistem /D;D=
pentru o magazie de date sunt-
- performane de ncrcare 3sute de milioane de r'nduri de gigaoctei de date pe
or42
- prelucrarea ncrcrii 3filtrarea, reformatarea, verificarea integritii, stocarea
fizic, inde%area, reactualizarea meta1datelor42
- administrarea calitii datelor 3coerena local, coerena global, integritatea
referenial, abilitate de a rspunde la interogrile utilizatorilor42
- performanele interogrilor raportat la factorul timp de rspuns 3utilizarea
sistemelor /D;D paralele care permite utilizarea eficient a multor resurse cum
ar fi- procesoarele, memoria, discurile, legturile n reea42
- gestionarea unui volum imens de date 3dimensiunea unei magazii de date poate
varia de la c'teva sute de gigaoctei la dimensiuni de ordinul teracteilor 0!
0,
octei, sau pentaocteilor 0!
07
octei42
- accesul concurent al unui numr mare de utilizatori 3dei n prezent accesul la
magazia de date este limitat la un numr relativ sczut de utilizatori manageriali
n viitor acest numr poate fi de ordinul miilor de utilizatori concureni42
- lucrul cu multiple magazii de date n reea2
- administrarea magaziei de date n condiii optime2
- analiz multidimensiona 3faciliti pentru creare de vederi multidimensionale cu
instrumente :*AP relaionale incluse n sistemul /D;D42
- posibilitatea realizrii interogrilor avansate 3sistemul /D;D= trebuie s dispun
de posibilitatea efecturii unui set complet de operaii analitice avansate mai mult
dec't poate oferi limba9ul /F*4.
Amplementarea unei astfel de soluii pentru o organizaie necesit timp 3p'n
la 6 ani4 i costuri care pot varia ntre 7!.!!! i 0!.!!!.!!! lire, dar i beneficiile pot
fi considerabile. Astfel, conform unui studiu al AD& 3Anternational Data &orporation4
realizat n anul 0>>R investiiile ntoarse dup 6 ani au a9uns n medie la "!0\, >!\
dintre companiile studiate a9ung'nd la peste "!\, 9umtate din ele la peste 0R!\, iar
un sfert la peste R!!\ 3sursa [&:;/!0#4.
Av'nd n vedere faptul c realizarea unei magazii de date poate nsemna un
proiect de lung durat 3p'n la 6 ani4, unele organizaii au preferat s1i
construiasc propriile piee de date care au n vedere numai cerinele unui singur
5
departament sau domeniu funcional i prin urmare pot fi realizate ntr1un timp mai
scurt i cu mai puine resurse.
C)-)6) A'a,&.a $u,&%&$!'s&"'a,2 9OLAP O'L&'! A'a,I&+a, Pr"+!ss&'#:
;azele teoretice ale te8nologiei :*AP au fost definite de cercettorul
.).&odd 3cprintelec bazelor de date relaionale4 nc din anul 0>>6.
:*AP reprezint [&:;/!0# sinteza, analiza i consolidarea dinamic a unor
volume vaste de date multidimensionale. Printre operaiile analitice obinuite care pot
fi efectuate asupra datelor multidimensionale sunt avute n vedere- consolidarea,
parcurgerea n 9os, tranarea i tierea.
&onsolidarea nseamn gruparea datelor fie dup simple criterii, fie prin
e%presii comple%e pentru date intercorelate.
Parcurgerea n 9os reprezint inversul consolidrii i presupune afiarea
datelor detaliate corespunztor datelor consolidate.
Tranarea i tierea 3pivotarea, vizualizarea unei trane din date4 reprezint
vizualizarea datelor dup diverse puncte de vedere.
Pentru analiza tendinelor i descoperirea tiparelor, adesea consolidarea i
tranarea sunt efectuate dup atributul timp 3de1a lungul a%ei temporale4.
&odd a realizat manifestul :*AP care includea un set de 0, reguli care
trebuiau avute n vedere, cu prioritate, n implementarea acestei noi te8nologii. Dintre
aceste reguli cele mai importante priveau- numrul nelimitat de dimensiuni i niveluri
de sintetizare a datelor, transparena operaiunilor de accesare a datelor, suportul
consistent pentru realizarea rapoartelor, modul intuitiv de e%ploatare a datelor,
suportul pentru realizarea interogrilor multidimensionale, ar8itectura clientKserver i
suportul multi1user. Aplicarea n practic a acestor elemente teoretice s1a realizat n
perioada 0>>? 1 0>>>. .n pas important a fost realizat la nceputul anului 0>>>, c'nd
A;+ i :racle au realizat standardizarea te8nologiei :*AP la institutul A@/A. Pe
parcursul anului 0>>> au fost realizate diverse versiuni ale sistemelor relaionale D;,
i :racle 3e%emplu- %press /erver de la :racle4 care ddeau posibilitatea
e%ploatrii acestor noi faciliti. )unciile :*AP au fost incluse treptat i n alte
sisteme relaionale.
Pentru a rspunde necesitilor de interogare n cadrul instrumentelor :*AP
limba9ul /F* a fost e%tins cu o serie de funcii specifice pentru prelucrarea i analiza
datelor din magazia de date. Astfel a fost adus amendamentul :*AP la standardul
/F*, noile funcii disponibile pentru susinerea te8nologiei :*AP oferind o mulime
de noi posibiliti de sintez a datelor i n acelai timp mbuntind n mod
substanial instrumentele oferite de limba9ul /F*. Principalele funcii oferite de noua
te8nologie sunt =:**.P i &.;. )uncia =:**.P adaug, la setul rezultat n
urma e%ecutrii unei operaiuni /elect standard, grade de totalizare pentru fiecare
nivel de grupare stabilit prin intermediul instruciunii D=:.P ;S. Dradele de
totalizare sunt prezentate ncep'nd cu nivelul cel mai de 9os al ierar8iei i continu'nd
apoi cu nivelurile superioare ale acesteia. Pentru realizarea unei analize
multidimensionale prin intermediul creia s rezulte toate posibilitile de combinaie
ntre diferite dimensiuni este necesar s se utilizeze instruciunea &.;.
:*AP presupune e%istena unui sistem de baze de date relaionale, capabil s
e%ecute interogri mai comple%e dec't cele din bazele de date obinuite realizate pe
baza opiunilor standard din instruciunea /*&T. Aceste operaiuni se realizeaz
prin structurarea multidimensional a datelor 3vizualizarea acestora se face dup mai
multe criterii4 prin utilizarea unor noi clauze n cadrul instruciunilor /F* 3cum ar fi
=:**.P sau &.;4.

*a compania =ed ;ricP /Estems s1a realizat limba9ul =ed ;ricP Antelligent /F*
3=A/F*4 care conine o serie de e%tensii ale limba9ului /F* cu operaii importante
pentru analiza datelor i susinerea procesului decizional.
$n cadrul te8nologiei :*AP sunt utilizate structuri multidimensionale pentru
stocarea datelor i relaiilor dintre acestea, structuri care sunt vizualizate sub forma
unor cuburi de date i a unor cuburi n cadrul cuburilor, fiecare fa a unui cub
reprezent'nd o dimensiune. Anformaiile incluse n bazele de date relaionale sunt
astfel reprezentate prin dou elemente eseniale i anume-
- dimensiuni 5 reprezint categoriile descriptive dup care se realizeaz
totalizarea i gruparea datelor2
- valori 1 reprezint datele asupra crora se realizeaz operaiunile de
nsumare, medie, minim, ma%im sau respectiv orice alt operaiune statistic
sau matematic permis de sistemul de gestiune a bazelor de date.
/e mai definete i termenul de ierarhie, care reprezint nivelurile de detaliere
pentru o dimensiune de date.
%emplul reprezentativ de analiz multidimensional l constituie o baz de
date a v'nzrilor. Astfel, n cadrul unei asemenea baze de date organizarea
informaiilor pentru realizarea interogrilor prin intermediul :*AP presupune
e%istena celor dou elemente-
- dimensiunile 1 reprezentate n funcie de necesitile de analiz pe structura
geografic 3regiune, 9ude, ora, client4 sau pe structura produselor v'ndute
3model, caracteristici model, data v'nzrii42
- valorile 1 reprezentate de v'nzrile cantitative sau valorice 3cifra de afaceri4
asupra crora se vor aplica funciile statistico1matematice de consolidare a
datelor 3sum, average, min, ma%, etc.4.
/pre e%emplu, datele privind valoarea v'nzrilor de locuine pe localiti pe trimestre
ale anului ,!0! ar putea fi reprezentate ntr1o baz de date relaional printr1un tabel
cu trei coloane astfel-
*:&A*ATAT T=A+/T=.
3,!0!4
CA*:A= Ca@_d=A
3mii lei4
/uceava T0 0,7R
/uceava T, 0!"?
/uceava T6 070,
/uceava T" 0,!!
=dui T0 ?0!
=dui T, O,7
=dui T6 ?,!
=dui T" ?O7
)lticeni T0 70"
)lticeni T, 77!
)lticeni T6 767
)lticeni T" 700
Dura Jumorului T0 R,6
Dura Jumorului T, O0,
Dura Jumorului T6 7>"
Dura Jumorului T" O6!
.......................... ............................ ...................................
!
Datele de mai sus pot fi reprezentate mai natural printr1o matrice bidimensional
dup cum este ilustrat n )ig. 6.0.
T0 T, T6 T"
/uceava 0,7R 0!"? 070, 0,!!
=dui ?0! O,7 ?,! ?O7
)lticeni 70" 77! 767 700
Dura Jumorului R,6 O0, 7>" O6!
............................ ............................ ............................ ............................ ............................
Datele privind valoarea v'nzrilor de locuine pe tipuri de locuine pe localiti pe
trimestre ale anului ,!0! ar putea fi reprezentate ntr1o baz de date relaional
printr1un tabel cu patru coloane astfel-
TAP
*:&.A@ed
*:&A*ATAT T=A+/T=.
3,!0!4
CA*:A= Ca@_d=A
3mii lei4
Darsonier /uceava T0 ,7R
Darsonier /uceava T, 0"?
Darsonier /uceava T6 7,!
Darsonier /uceava T" "!!
Apart. , camere /uceava T0 60,
Apart. , camere /uceava T, ,07
Apart. , camere /uceava T6 0R!
Apart. , camere /uceava T" ,>!
Apart. 6 camere /uceava T0 ,R,
Apart. 6 camere /uceava T, ,"7
Apart. 6 camere /uceava T6 0>!
Apart. 6 camere /uceava T" ,O!
............................ .......................... ............................ ...................................
Darsonier =dui T0 ,0!
Darsonier =dui T, ,,7
Darsonier =dui T6 6,!
Darsonier =dui T" ,O7
............................ .......................... ............................ ...................................
Darsonier )lticeni T0 0,O
Darsonier )lticeni T, 07?
Darsonier )lticeni T6 ,07
Darsonier )lticeni T" 0>7
............................ .......................... ............................ ...................................
Datele de mai sus pot fi reprezentate mai natural printr1un cub tridimensional dup
cum este ilustrat n )ig. 6.,.
"
*:&A*ATAT
TRIMESTRU
)ig. 6.0. =eprezentare date relaionale printr1o matrice bidimensional
$n acest mod natural de reprezentare 3matrice, cub4 sunt puse n eviden
dimensiunile 3*:&A*ATAT, T=A+/T=., n )ig.6.0.4, respectiv 3*:&A*ATAT, TAP
*:&.A@ed, T=A+/T=., n )ig.6.,.4 i valorile corespunztoare realiz'nd astfel
structurarea datelor ntr1o baz de date multidimensional.
Alegerea modului de structurare a datelor este dictat de tipurile de interogri ce
urmeaz a fi formulate de utilizator.
Astfel, dac utilizatorul formuleaz interogri simple de forma
(are este valoarea vnzrilor de locuine din trimestrul ??? pentru localitatea ???
atunci nu este necesar structurarea datelor ntr1o baz de date multidimensional,
ns dac utilizatorul formuleaz interogri cum ar fi-
(are este valoarea anual total a vnzrilor de locuine pentru fiecare localitate
(are este valoarea anual medie a vnzrilor de locuine pentru fiecare localitate
atunci este necesar gruparea mai multor date i efectuarea unor operaii 3suma,
media, etc4, ceea ce pentru volume mari de date 3mii de localiti, nr. mare de ani4
necesit timp semnificativ de lucru n cazul datelor gestionate cu un /D;D relaional.
I'sru$!'! OLAP
%ist trei tipuri de instrumente :*AP i anume 3sursa [&:;/!0#4-
1 instrumente :*AP multidimensionale 3+:*AP42
1 instrumente :*AP relaionale 3=:*AP42
1 mediul de interogare +F.
#
<6J ;JJ
)ig. 6.,. =eprezentare date relaionale printr1un cub tridimensional
Anstrumentele MOLAP utilizeaz organizarea datelor n structuri
multidimensionale i au urmtoarea ar8itectur-
%emple de produse +:*AP-
& @nalisMs SerGer realizat de compania 0ilot Soft?areL
& %ss<ase realizat de compania @r<or Soft?areL
& %Ipress SerGer realizat de compania OracleL
& )i-/ts/ip SerGer realizat de compania 0ilot Soft?areL
& 41J1 realizat de compania SinperL
& Gentium realizat de compania 0lannin- SciencesL
& 1ulti?aM realizat de compania ;enan 4ec/nolo-M*
Anstrumentele ROLAP folosesc sistemele relaionale /D;D= utiliz'nd un strat
de meta1date, permi'nd crearea de vederi multidimensionale ale relaiilor
bidimensionale i au urmtoarea ar8itectur-
%emple de produse =:*AP-
1 A%sEs /erver realizat de compania Anformation Advantage2
1 D// AgentKD// /erver realizat de compania +icro/trategE2
1 ;eacon realizat de compania PlatinumKProdea /oftLare2
1 +etacube realizat de compania Anformi%K/tanford Tec8nologE Droup2
1 Jig8Date Pro9ect realizat de compania /Ebase.
+ediul de interogare MDE furnizeaz datele e%trase direct de la sistemele
/D;D= sau printr1un server +:*AP intermediar sub forma unui cub de date care
vor fi stocate analizate i actualizate local la utilizatorul final. Ar8itectura mediului
+F este reprezentat mai 9os.
!$
SerGer
<aze de date
SerGer
1O)@0
6nstrumente de
acces pentru
utilizatorii finali
Nncrcare
:erere de
intero-are
5ezultat
intero-are
SerGer
<aze de date
rela8ionale
SerGer
5O)@0
6nstrumente de
acces pentru
utilizatorii finali
)im<a9 SO)
:erere de
intero-are
5ezultat
intero-are
5ezultat
cerere SO)
SerGer
<aze de date
rela8ionale
6nstrumente de
acces pentru
utilizatorii finali
Nncrcare
5ezultat
cerere
SerGer
1O)@0
)im<a9ul SO)
5ezultat intero-are
:erere date
%emple de produse +F-
1 PoLerPlaE realizat de compania &ognos /oftLare2
1 Pablo realizat de compania AndEne /oftLare2
1 +ercurE Pro9ect realizat de compania ;usiness :b9ects2
1 &rossTarget realizat de compania Dimensional Ansig8t2
1 +edia realizat de compania /peedLare.
Aceast soluie este preferat de realizatorii de astfel de produse deoarece este
simplu de instalat i utilizat i necesit costuri reduse, ns ofer posibiliti de
analiz limitate i necesit o redundan sporit a datelor.
B'r!82r&
0. Prezentai sumar conceptul de sistem inteligent.
,. numerai principalele direcii de integrare a te8nologiei bazelor de date cu
te8nologia sistemelor inteligente.
6. numerai cele dou modaliti prin care se poate valorifica informaia din
depozitul de date.
". Definii conceptul :*TP 3:n*ine Transaction Processing4.
7. &are este scopul principal urmrit prin nmagazinarea datelor `
R. Prezentai definiia dat de ;ill Anmon pentru magazia de date.
O. Prezentai principalele caracteristici ale unei magazii de date.
?. numerai sursele de date pentru constituirea unei magazii de date.
>. numerai tipurile de date care sunt reprezentate n magazia de date plec'nd de
la sursele de date.
0!. numerai tipurile de instrumente utilizate pentru construirea i utilizarea unei
magazii de date.
00. numerai operaiile ce trebuie efectuate pentru realizarea magaziei de date.
0,. Prezentai principalele cerine pe care trebuie s le ndeplineasc un sistem
/D;D= pentru o magazie de date.
06. Definii conceptul de pia de date i motivai apariia sa.
0". Definii conceptul :*AP 3:n*ine AnalEtical Processing4 i principalele operaii
analitice care pot fi efectuate asupra datelor multidimensionale.
07. Prezentai elementele utilizate n cadrul te8nologiei :*AP pentru reprezentarea
structurilor de date multidimensionale 3dimensiuni, valori, ierar8ie4.
0R. numerai tipurile de instrumente :*AP.
0O. %emple de produse program +:*AP.
0?. %emple de produse program =:*AP.
0>. %emple de produse program +F.
!1
Curs ;
T!7'&+& a*a'sa! %! !13,"rar! a %a!,"r 96:
;)-) Daa M&'&'# 9DM:
Pentru e%tragerea cunotinelor din volume mari de date, a aprut o nou
disciplin referit n publicaiile din domeniu sub diverse denumiri i anume- Data
+ining 3D+4, GnoLledge DiscoverE 3GD4, GnoLledge DiscoverE in Databases
3GDD4, Anformation DiscoverE 3AD4, Anformation Arc8eologE 3AA4.
Data +ining este [@A/=>O# o te8nic care vizeaz descoperirea unor
cabloanec 3patterns4 semnificative n structura datelor, care s indice n general
tendine ale pieei, utiliz'ndu1se n acest sens te8nici comple%e din diverse domenii
3inteligen artificial, statistic, matematic, etc4. HD+ este e%tragerea informaiilor
predictive ascunse din bazele mari de dateI, sau Htorturarea datelor p'n c'nd
acestea se confeseazH.
/pre deosebire de alte dezvoltri ale informaticii, cum au fost Anternetul,
te8nologia orientat obiect, reelele neuronale, algoritmii genetici, etc., care au pornit
de la lumea academic, fiind ulterior preluate de cea a afacerilor, n cazul D+ s1a
nt'mplat invers, a pornit de la firmele puternice, cum sunt A;+, +icrosoft, DT, etc.,
3de la necesitile de afaceri, mai e%act, de la necesitatea e%tragerii cunotinelor din
imensitatea de date n mi9locul creia se afl omul modern4, lumea academic
sesiz'nd ulterior problema. )irme mari, cum sunt A;+, +icrosoft, DT etc., i1au
format grupuri proprii de cercetare sau au format grupuri de cercetare cu universiti
puternice ca +AT, /tanford, =utgers, /antafe etc. pe acest domeniu. &ele mai
apropiate domenii de D+ i GDD sunt :*AP 3:n *ine Analitic Processing4 i D//
3Decision /upport /Estems4.
%ist diverse prezentri [@A/=>O# privind :*AP i D// pe de o parte i D+
sau GDD pe de alt parte. &onform acestora, :*AP este un mod de utilizare a
depozitelor de date, utilizare care presupune pe de o parte un acces n timp real
3:*TP 1 :n *ine Transactional Processing4, iar pe de alt parte, o analiz
multidimensional 3vectorial4 a bazelor de date mari.
D// este un ansamblu format din baze i depozite de date, precum i alte
ansambluri de informaii utile, mpreun cu produse soft pentru ntocmirea
rapoartelor, analiza datelor, precum i implementarea unor algoritmi de optimizare n
vederea spri9inirii actului decizional n cadrul organizaiei.
$n ceea ce privete rspunsurile, diferena dintre :*AP i D//, pe de o parte,
i D+ i GDD, pe de alt parte, se poate asemna cu cea dintre rspunsurile date de
o baz de date i rspunsurile date de o baz de cunotine. =spunsurile din D+ i
GDD sunt mult mai fle%ibile, put'ndu1se obine modele nv'nd din e%periena
trecut? =aionarea n sistemele :*AP i D// este deductiv, n timp ce n D+ i
GDD este inductiv.
.nul dintre domeniile de utilizare a D+, de ctre productorii de D// i :*AP
este valorificarea Anternetului, av'nd n vedere marea diversitate a bazelor i
depozitelor de date ce pot fi accesate.
Alte domenii n care se acumuleaz volume imense de date sunt [+DA@00#-
1 sistemul de urmarire orbitala de la @A/A- "R +;Ksec, ".!!!.!!! +;Kzi2
1 biblioteca de imagini cu amprente a );A - ,!!.!!! D;2
1 imagistica medical- baze de date de ordinul 0!T;.
!2
Pr"8,!$!,! #!'!ra! %! !13,".&a %! %a!
&utarea n volume mari de date a tiparelor care prezint interes dintr1un
anumit punct de vedere, este o '!+!s&a! n condiiile n care n ultima perioad de
timp a avut loc o cretere e%ponenial a volumului de date stocate n baze de date,
depozite de date sau alte depozite de informaii, n paralel cu dezvoltarea
capacitilor i performanelor sistemelor de calcul. Apariia a noi tipuri comple%e
necesit te8nici speciale de manipulare. &alea pentru rezolvarea acestor probleme
este Data Mare8ousing si Data +ining.
%plorarea datelor 3Data +ining4 este procesul de analiz a datelor brute din
bazele de date i de sintetizare a informaiilor utile n procesul lurii deciziilor, astfel
nc't prin utilizarea informaiilor e%istente s fie obinute noi fapte i s fie
descoperite noi legturi anterior necunoscute c8iar i pentru e%perii complet familiari
cu datele respective.
%plorarea datelor pentru descoperirea cunotinelor din bazele de date
3GDD4 reprezint [+DA@00# 3r"+!su, '!r&*&a, %! &%!'&(&+ar! a &3ar!,"r %&' %a!G
&3ar! *a,&%!G '"&G 3"!'=&a, u&,! /& &'!,&#&8&,!)
1 datele 1 o mulime de evenimente
> tiparul 1o e%presie, ntr1un anumit limba9 care descrie un subset al datelor sau un
model aplicabil acestui subset.
1 proces 1 descoperirea cunotinelor din date este o succesiune de pai care implic
iteraii multiple pentru urmatoarele faze-
f pregatirea datelor2
f cautarea tiparelor2
f evaluarea cunotinelor i rafinarea.
Tiparele descoperite trebuie s fie-
f valide pe seturi de date noi, cu un anumit grad de certitudine2
f noi i poten ial folositoare n sensul ca trebuie s conduc la anumite
beneficii pentru utilizator2
f inteligibile, daca nu imediat, cel puin dup anumite operaii de
post1procesare.
@ecesitatea definirii unor msuri cantitative pentru evaluarea tiparelor e%trase-
f msuri pentru certitudine 3acurateea prediciei estimat pe date noi42
f msuri pentru utilitate 3c'tigul, evaluat ca profit obinut de pe urma prediciei
mai bune sau a creterii vitezei de rspuns a sistemului4.
@oiunile de noutate i inteligibilitate sunt mult mai subiective.
'nteresul 1 este o masur global a valorii unui tipar care combin validitatea,
noutatea, utilitatea i simplitatea.
)uncia de interes poate fi definit e%plicit sau se poate manifesta implicit prin
intermediul unei ierar8ii a tiparelor detectate sau a modelelor stabilit de sistemul de
descoperire a cunotinelor din date.
GDD presupune o abordare multidisciplinar-
1 te8nologia bazelor de date2
1 statistic2
1 matematic2
1 inteligen artificial 3recunoatere forme, sisteme e%pert, nvare automat4.
M"%!,! 3!'ru KDDL
1 +odelul academic 3)aEEad42
1 +odelul industrial 3&=A/P1D+4.
!3
+odelul industrial 3&=A/P1D+4 const dintr1o succesiune de pai, parcuri ntr1o
manier interactiv i iterativ-
0. analiza scopurilor declarate de utilizatorul final i primirea tuturor cunostinelor
anterioare necesare2
,. datele int sunt pregtite i curate de tot ceea ce nseamn zgomote sau valori
izolate2
6. se identific caracteristica util pentru reprezentarea datelor, funcie de obiectivul
sarcinii de descoperire2
". se alege i se aplic un anumit algoritm de e%plorare a datelor n scopul de a
prezice valorile viitoare ale variabilelor de interes sau de a gsi tiparele din date,
interpretabile de factorul uman2
7. tiparele sunt interpretate i evaluate cu a9utorul unor instrumente specializate, cum
ar fi cele de vizualizare.
Pr!#a&r!a %a!,"r 8ru! 3!'ru !13,"rar!
f Datele reale conin erori2
5 sunt incomplete- lipsesc valori ale unor atribute, lipsesc atribute care pot fi de
interes, pot conine doar valori agregate2
5 conin zgomote- conin erori sau date n afara domeniului2
5 inconsistente- contin discrepane n coduri sau n nume.
f Activiti importante n pregtirea datelor2
5 curare 1 completarea valorilor lips, identificarea sau eliminarea datelor care nu
sunt n gama admis, rezolvarea inconsistenelor2
5 integrare2
5 transformare 1 normalizare i agregare2
5 reducerea datelor 1 prin filtrare sau eantionare2
5 discretizarea datelor continui.
Pregtirea datelor pentru data mining consum cea mai important parte a
eforturilor depuse n procesul de GDD av'nd n vedere activitile- integrarea datelor
din mai multe surse, e%tragerea caracteristicilor i selecia, discretizarea datelor,
curarea datelor.
Sar+&'&,! !13,"rar&& %a!,"r
1 3r!*&.&u'!a M 3r!%&+&a 1 realizarea unui model din e%emplele analizate i utilizarea
modelului dezvoltat pentru a prezice valorile viitoare ale variabilei int2
1 +,as&(&+ar!a 5 gsirea funciilor care grupeaz nregistrrile ntr1una sau mai multe
clase discrete n vederea alocrii de nregistrri noi claselor e%istente2
1 a'a,&.a ,!#2ur&,"r 1 dezvoltarea regulilor de asociere ntre seturi de articole2
1 $"%!,ar!a !13,&+&2 1 gsirea formulelor e%plicite care descriu dependenele dintre
diferite variabile2
1 +,us!r&'#4u, 1 gruparea articolelor n subseturi similare din punct de vedere
statistic. .n cluster este definit ca un subset de date. /arcina procesului de
clustering este aceea de a diviza o baz de date n clustere de nregistrri similare.
1 %!!+ar!a %!*&a&&,"r 1 determinarea sc8imbrilor semnificative a valorilor
eseniale, obinute n urma masurtorilor, fa de valorile anterioare sau fa de cele
ateptate.
M!"%! /& !7'&+& #!'!ra,! %! !13,"rar! a %a!,"r
f C,as&(&+ar!a - gsirea unei funcii care include un articol de date ntr1una din mai
multe clase predefinite.
!4
f R!#r!s&a- este utilizat la prezicerea unei valori a unei variabile continue bazat pe
valorile altor variabile, presupun'nd un model de dependen liniar sau neliniar.
f Gru3ar!a 3clusering1ul4- identific o mulime finit de categorii sau clustere pentru a
descrie datele.
f R!.u$ar!aL gseste o descriere compact pentru o submulime de date.
f M"%!,ar!a %!3!'%!'=!,"rL gseste un model care descrie dependenele
semnificative dintre variabile.
f D!!+ar!a s+7&$82r&,"r /& a %!*&a=&!& L descoper cele mai semnificative
sc8imbri produse n date n intervalul dintre dou masurtori.
T&3ur& %! 3r"8,!$! +ar! s! r!.",*2 3r&' Daa M&'&'#
f 0. &e le place clienilor mei` 3C,us!r&'#:)
f ,. &e clieni trebuie s intesc ntr1o promoie` 3C,us!r&'#:)
f 6. &e produse ar trebui s folosesc n promoie` 3As"+&!r& sau &3ar! s!+*!'t&a,!:)
f ". &um ar trebui s mi plasez noile magazine` 3C,us!r&'# /& as"+&!r&:)
f 7. &um pot detecta potenialele fraude` 3C,us!r&'# 3,us as"+&!r&:)
A3,&+a&& 3!'ru Daa M&'&'#
f Destiunea relaiilor cu clienii 5 &ustomer =elationsip +anagement 3&=+4
5 pstrarea clienilor
f Analiza pieii
5 Dsirea pieelor int
5 /egmentarea pieei
5 C'nzri ncruciate
f Detecia fraudelor
5 Detecia fraudelor n domeniul sntii
5 Detecia fraudelor n cazul crilor de credit
5 Detecia fraudelor n telecomunicaii
f AlteleB
$n general instrumentele de Data +ining proceseaz datele organizate ca fiiere flat
n format tabelar cu linii i coloane unde
5 *iniile reprezint obiecte
5 &oloanele reprezint caracteristici
rezult un fiier 3te%t4 ce conine un masiv de date bidimensional.
Acest fiier este generat din date stocate n alte formate mai comple%e cum ar fi baze
de date sau foi de calcul tabelar.
ste indicat utilizarea unui depozit de date 3Data Mare8ouse4 deoarece-
f Datele sunt organizate pe subiecte de interes pentru utilizatori 3pacienti, tipuri de
teste, diagnosticB42
f Permite analize din perspectiv istoric2
5 .tilizeaz o structur multidimensional sub forma unui cub de date.
E1!$3,! %! s&s!$! SGBDR +ar! %&s3u' %! &'sru$!'! 3!'ru Daa M&'&'#L
4 ORACLEN
4 DB6 IBM)
!5
R!3r!.!'ar!a +u'"/&'=!,"r 0' 3r"+!su, KDD
$n procesul GDD termenul de cunotin este asociat cu tiparele descoperite n
pasul de Data +ining. %ist mai multe moduri de reprezentare a tiparelor
descoperite prin procesul de GDD i anume-
- Tabele de decizie2
- Arbori de decizie2
- =eguli de clasificare2
- =eguli de asociere2
- &lustere2
Pentru fiecare din aceste moduri de reprezentare e%ist algoritmi fundamentali de
Data +ining.
Tabela de decizie este cel mai simplu mod de reprezentare a unui proces de
nvare n care procesul este descris prin 6 elemente i anume-reguli, condiii,
aciuni.
Arborii de decizie constituie modalitatea natural de reprezentare a
cunotinelor, dac se face o abordare Hdivide et imperaI a unei probleme de nvare
dintr1un set de instane independente. Arborii de decizie sunt utilizati pentru
clasificarea e%emplelor necunoscute, prin testarea valorilor atributelor e%emplelor
prin arborele de decizie. Arborele de decizie se creaz printr1un proces inductiv.
+a9oritatea metodelor de generare a arborilor de decizie parcurg dou faze i
anume-
5 faza de construcie )cretere* a arboreluiB
5 faza de tiere )pruning*?
Fa.a %! +"'sru+=&! a arborelui de decizie este un proces iterativ care implic
divizarea progresiv a datelor n subseturi mai mici. Prima iteraie consider c nodul
rdcin conine toate datele. .rmtoarele iteraii lucreaz pe noduri derivate care
vor conine subseturi de date. *a fiecare divizare, variabilele sunt analizate i este
aleas cea mai bun divizare fr a se face o verificare dinainte n arbore s se vad
dac o alt decizie ar produce un rezultat final mai bun.
Fa.a %! &!r! identific i nltur ramurile care reflect zgomote sau e%cepii.
=egulile de clasificare constituie o alternativ la arborii de decizie care sunt
astfel nlocuii cu un set de reguli de forma
Af NcondiieQ T8en &lass V NclasaQ
=egulile de asociere reprezint forma de e%plorare a datelor care are n
vedere descoperirea de legturi interesante ntre atribute din datele coninute n baze
sau depozite de date. Definite n 0>>6 plec'nd de la analiza datelor referitoare la
coul de pia unde sunt generate reguli de forma R8n client care cumpr produsele
x6,x;,??xn va cumpra de asemenea i produsul S cu probabilitatea cTR, regulile de
asociere au devenit una din cele mai populare metode de analiz n procesul
descoperirii de cunotine din bazele de date.
&lustering sau analiza cluster este o metod de divizare a unui set de date
3observaii4 reprezent'nd descrierea unei mulimi de obiecte n subseturi de date
reprezent'nd grupuri de obiecte similare, fiecare grup fiind numit cluster. ste o
metod de nvare nesupervizat i o te8nic de analiz statistic a datelor utilizat
n diverse domenii printre care- nvare automat, data mining, recunoatere forme,
analiz imagini, bioinformatic, etc.
!
R!3r!.!'2r& a,! 8a.!& %! +u'"/&'=! 0' s&s!$!,! &'!,&#!'! 8a.a! 3! r!#u,&
$ntr1un sistem e%pert bazat pe reguli de producie, baza de cunotine este
compus dintr1o mulime de reguli care constituie baza de reguli i o mulime de
fapte care constituie baza de fapte.
Analiza unei baze de cunotine comple%e poate fi efectuat n cadrul unei
reprezentri grafice a acesteia i n acest sens pot fi utilizate urmtoarele dou
metode de reprezentare grafic-
1 reprezentarea prin arbori U'>%#8B
1 reprezentarea prin grafuri de dependene.
Pe de alt parte, unei baze de cunotine i corespunde o tabel de decizie care
poate fi utilizat fie ca instrument a9uttor n construirea bazei de cunotine, fie ca
mod de reprezentare a acesteia.
Arbori I-SAU
.n arbore U'>%#8 pentru reprezentarea unei baze de cunotine este
constituit din noduri i arce prin care se identific faptele i regulile ce compun baza
de cunotine. $ntr1un arbore U' E %#8 pot fi definite urmtoarele tipuri de noduri -
noduri %#8, noduri U' i noduri frunz.
.n nod %#8 reprezint posibilitatea determinrii valorii unui fapt prin aplicarea
unei reguli din mai multe posibile i este etic8etat cu identificatorul faptului ce se
gsete n partea aciune a regulilor respective.
.n nod U' reprezint forma con9unctiv a unei e%presii booleene prezente n
partea condiie2 iar arcul care va prsi nodul U', nod ce este nnegrit n figur, va
indica nodul ce reprezint partea aciune a regulii 3n general nodurile U' nu sunt
etic8etate4.
$ntr1un arbore U'>%#8 arcele care pleac dintr1un nod gA, sau cele care intr
ntr1un nod /A., pot fi etic8etate cu identificatorii regulii respective.
+odul de reprezentare a nodurilor /A., gA, este ilustrat n figura ".0.
Pentru e%emplificare se consider o baz de cunotine simplificat pentru
analiza impactului msurilor economice asupra unei zone.
;aza de fapte-
f0 1 numr ageni economici crete 5 variabil boolean 3adevrat, fals4
f, 1 investiii n forma privat 5 variabil alfanumeric 3da, nu4
f6 1 investiii n form mi%t 5 variabil alfanumeric 3da, nu4
f" 1 rata oma9ului 5 variabil alfanumeric 3scade, crete, constant4
f7 1 indice producie industrial 5 variabil alfanumeric 3scade, crete, constant4
fR 1 impactul msurilor economice 5 variabil numeric put'nd lua valorile-
0 pt. regres economic
, pt. /tagnare
6 pt. cretere economic
fO 1 produs intern brut pe locuitor 1 variabil alfanumeric 3scade, crete, constant4
!!
%tic/eta
2od SA9 2od :7
,i-* 4*1* 5eprezentarea nodurilor S@P( Q6 .ntr&un ar<ore :7;SA9
;aza de reguli-
3=04 %a+2 f0 au'+& f, V HdaI
3=,4 %a+2 f, V HdaI au'+& fR V 6
3=64 %a+2 f6 V HdaI /& f0 au'+& f" V HscadeI
3="4 %a+2 f" V HcresteI au'+& fR V 0
3=74 %a+2 f7 V HconstantI au'+& fR V ,
3=R4 %a+2 f" V HcresteI au'+& fO V HscadeI
3=O4 %a+2 fO V HscadeI au'+& f6 V HnuI
/e constat c n aceast baz de reguli faptele f0 i f7 sunt fapte de baz, faptele
f,, f6, f" i fO sunt fapte intermediare, iar faptul fR este un fapt concluziv, ce va fi
considerat obiectivul e%pertizei. =eprezentarea grafic a arborelui gA1/A. pentru
baza de cunotine de mai sus este dat n figura ".,.
Din reprezentarea de mai sus se observ c faptul f0 constituie etic8eta a dou
noduri frunz, corespunztor celor dou apariii ale sale n prile condiie ale
regulilor 3=04 i 3=64. De asemenea faptul f" apare n reprezentare de dou ori 3ca
nod frunz i ca element al unui nod /A.4. =eprezentarea sub form de arbore
impune, n acest caz, ca dou noduri s aib aceeai etic8et 3f04 i din cauza unor
astfel de situaii se prefer reprezentarea sub form de graf de dependene.
Grafuri de deendene
.n graf de dependene pentru reprezentarea unei baze de cunotine este un
graf orientat n care nodurile reprezint faptele din baza de fapte 3fiecare fapt din
baza de fapte reprezint un nod unic4 la care se adaug nodurile I corespunztoare
regulilor cu pri condiie construite cu operatorul logic !i, iar arcele sunt definite
astfel-
Dou noduri %
i
i %
9
sunt legate printr1un arc orientat, de la %
i
la %
9
, dac i numai dac-
1 fie e%ist o regul 3=%4 %a+2 %i au'+& %92
- fie %
i
este un fapt aparin'nd unei pri condiie scris n forma con9unctiv,
iar %
9
este un nod I)
Drafurile de dependene permit reprezentarea unei baze de cunotine cu un numr
minim de noduri precum i reprezentarea ciclurilor. Draful de dependene
corespunztor bazei de cunotine din e%emplul anterior este reprezentat n figura
".6.
!"
'7
'# '4 '5
'1 '3 '1
/# /5
/4
/1 /3
'>
/>
'4
/7
,i-*4*2* 5eprezentarea unui ar<ore :7;SA9
'1 '#
'7
'4
'5
'3
'>
51
52
55
54
53
5
5!
,i-* 4*3* 5eprezentarea unui -raf de dependen8e
Din reprezentarea de mai sus se constat e%istena ciclului
(; (? (C '"%u,O/& (;.
Prezena ciclurilor ntr1o baz de cunotine este o caracteristic negativ i de
aceea vor trebui eliminate prin nlturarea unor reguli din baza de reguli i eventual
adugarea de noi reguli. tic8etarea arcelor cu identificatorul regulii corespunztoare
nu este obligatorie, ns dac se face, permite identificarea cu uurin a coninutului
regulilor din baza de reguli.
"abele de deci#ie
&onstruirea bazei de reguli este o problem dificil c8iar i pentru e%perii n
domeniu i n acest sens pot fi utilizate, ca instrumente a9uttoare, o serie de te8nici
printre care cea mai cunoscut este tabela de decizie. ;azei de reguli din e%emplul
anterior i corespunde tabela de decizie din figura ".".
/eguli? 51 52 53 54 55 5 5!
$ondi!ii?
Dac
f1 D D
f2 D
f3 D
f4 D D
f5 D
f! D
+!iuni?
@tunci
f2 3
f3 3
f4 3
f 3 3 3
f! 3
Pentru sistemele e%pert de dimensiune mare, elaborarea manual a tabelei de
decizie este dificil, ns au fost elaborate programe 3e%emplu *ogic Dem4 care
genereaz, testeaz i elimin regulile contradictorii sau redundante.
!#
,i-*4*4* 5eprezentarea unei ta<ele de decizie
B'r!82r&
0. &e este Data +ining `
,. numerai domenii n care se acumuleaz volume imense de date.
6. Definii conceptul %plorarea datelor pentru GDD.
". GDD presupune o abordare multidisciplinar-
7. Definii modelul industrial 3&=A/P1D+4 pentru GDD.
R. Descriei n ce const pregtirea datelor pentru e%plorare.
O. Prezentai sarcinile e%plorrii datelor.
?. Prezentai metode i te8nici generale utilizate n e%plorarea datelor.
>. numerai Tipuri de probleme care se rezolv prin Data +ining.
0!. numerai Aplicatii pentru Data +ining.
00. Dai e%emple de sisteme /D;D:= care dispun de instrumente pentru Data
+ining.
0,. numerai principalele moduri de reprezentare a cunotinelor 3tiparelor4
descoperite prin procesul de GDD.
06. Definii tabela de decizie.
0". Definii arborii de decizie.
07. Definii regulile de clasificare.
0R. Definii regulile de asociere.
0O. Definii te8nica clustering.
0?. &e este o baz de cunotine ntr1un sistem inteligent bazat pe reguli de
producie `
"$
Bibliogra'ie?
-iolae Morariu( RTe+rie <i practic6 =n de*8+ltarea siste5el+r ba*ate pe cun+<tin,eR(
%ditura Didactic Ki 0eda-o-ic BucureKti( 6SB2 #!3&3$&1$42&1( 211p( 2$$5*
1* =:OBS$1>* 4/omas :onnollM( :arolMn Be--( @nne Strac/an A Data<ase SMstems A @
0ractical @pproac/ to Desi-n( 6mplementation and 1ana-ement Second
%dition (trad* %d* 4eoraC Baze de date 0roiectare * 6mplementare * Gestionare(
Buc* 2$$1)
2* =:S@$$> :onf*uniG*dr* Sir-il :/ic/ernea( Sistemul @::%SS( %d*SB)S6( Gol*6(
Buc*2$$$
3* =:S,$$>* :onf*uniG*dr* Sir-il :/ic/ernea( lector uniG*dr* :ezar Botezatu( Sistemul
,oI0ro(%d*SB)S6( Gol*66( Buc*2$$$
4* =D@4%$4>* :* T* Date( @n 6ntroduction to Data<ase SMstems( "t/ %dition( pu<lis/ed <M
0earson %ducation( 6nc* @dison 7esleM Ui-/er %ducation( 2$$4*
5* =DO5O#">* 5o<ert Dollin-er&Baze de date Ki -estiunea tranzac8iilor(:lu92apoca(1##"
* =,)@1$2>* Sistemele <azate pe cunoKtin8e( @dina 1a-da ,lorea
???*a-ora*roJopenJopen5Jia*/tml
!* =,0S#">* ,oI0ro 2* pentru 7indo?s* G/idul pro-ramatorului( 4raducere %d* 4eora(
1##"
"* =,PS$2>* Doina ,usaru( @r/itectura <azelor de date A 1ediul SO)( PniG*Spiru Uaret(
%d*,undatiei 5omHnia de mHine( Buc*2$$2
#* =U@5;$$> Ptilizare 1icrosoft @ccess 2$$$ J Susan Sales Uar+ins( ;en Uansen Ki 4om
Ger/art L trad* de 1arian Daniel 1erezeanu Ki @urelia 2icoleta 1erezeanu* &
BucureKti C 4eora( cop*2$$$* & 52! p*
1$* =TOTO#!>* Tones To/n VData Bases in t/eorM and practiceR %d* 4/ompson :omputer
0ress( P; 1##!
11* =1O)U$3> lector uniG* 2icolae 1orariu( lector uniG* Saleriu )upu( in-*ec* OGidiu
Uur9ui( Baze de date( 6SB2 #!3&"2#3&"3&#( %ditura PniGersit8ii VQtefan cel
1areR SuceaGa(11! p( SuceaGa( 2$$3*
12* =1O26$5> 2icolae 1orariu( R-a*e de date ; >ndru5ar de lab+rat+rR( 6SB2 #!3&&
15#&"( %ditura PniGersit8ii SuceaGa( "5 p( SuceaGa( 2$$5*
13* =O5@#2>* 6ntroduction to O5@:)% SO)( SO)W 0lus and 0)JSO) :ourse 2otes(
Glenn 1aslen( 0u<lis/ed <M Oracle :orporation P; )td* 1##2
14* =0@S:#4>* 4otul despre SO) 6ntero-area <azelor de date( :orina 0ascu( @drian
0ascu( %d* 4e/nic Buc* 1##4
15* =S@1#>* 1ircea SHr<u( @naliza multidimensional
/ttpC???*<Mte*roJ<Mte#&$3Jdata?ar4*/tml
1* =S%;U#4>* ;/os/afian Setra- VO<9ect Oriented Data<assesR( pu<* To/n 7/ileM
1##4( P;
1!* =4@1B#> @ccess & pentru pro-ramatori J )eon 4Hm<ulea* & :lu9&2apoca C 0romedia
0lus( cop*1##* & 2#! p*
1"* =PD56#"> @plica8ii de -estiune C @ccess Ki Sisual Basic J 1ioara Pdric* & BucureKti C
2a8ional( 1##"* & 1#! p*
1#* =S,0$$>* 1icrosoft Sisual ,oI0ro *$ G/idul pro-ramatorului %d*4eora 2$$$
2$* =1D@211>* 1irela Danu<ianu( 4e/nici de eIplorare a datelor (Data minin-)
"1
!ibliogra#ie e$tins
=@D64$3>* 4/e @diti DeductiGe Data<ase( @diti Group( Dept* of :omputer Science X
Soft?are %n-ineerin-( 4/e PniGersitM of 1el<ourn( 2$$3( ???*cs*mu*oz*auJresearc/Jaditi
=@)PT#5>* T*Gill @lu9a( @l* 0* 4acu( U* 2* 4eodorescu( ,uzzM SMstems and %Ipert
SMstems in Decision 1a+in-( 0u<lis/in- Uouse %Ipert( Buc/arest&5omania( 6SB2 #!3&
#!235&!&"( noG*1##5*
=@2DO#!>* @ndone 6*( Yu-ui @l*( Baze de date inteli-ente .n mana-ementul firmei(
%d( Dosoftei( 6aKi( 1##!*
=@2DO$1>* 6oan 6*@ndone( 5o<ert T*1oc+ler( Dorot/M G*Dolo-ite( @leIandru
@l*Yu-ui( DezGoltarea sistemelor inteli-ente .n economie* 1etodolo-ie Ki studii de caz*(
%ditura %conomic( BucureKti( 2$$1*
=@2DO$2>* 6oan @ndone( Sisteme inteli-ente /i<ride* 4eorie* Studii de caz pentru
aplica8ii economice* G/idul dezGoltatorului( %ditura %conomic( BucureKti( 2$$2*
=B@S%#> 4udorel Baicu( 4atiana %u-enia Qesan( ,itopatolo-ie @-ricol( %d*:eres(
BucureKti( 1##*
=BGSS#!>* VBanca de 5esurse Genetice Se-etaleR SuceaGa( editat la Banca de -ene
SuceaGa( 1##!*
=BGSS$4>* SuceaGa Gene<an+ A 5omania( Data<ases
/ttpCJJ???*sG-ene<an+*ro
=BZS:#!>* OctaGian BHsc(*Baze de date( %d* @))( [##!*
=:@0@$$>* 6on :apanu( :onstantin @n-/elac/e( 62D6:@4O56 %:O2O16:6
pentru mana-ementul micro Ki macroeconomic* :alcul* 0rezentare* @naliz*( %ditura
%conomic( BucureKti( 2$$$*
=:OBS$1>* 4/omas :onnollM( :arolMn Be--( @nne Strac/an A Data<ase SMstems A @
0ractical @pproac/ to Desi-n( 6mplementation and 1ana-ement Second %dition (trad* %d*
4eoraC Baze de date 0roiectare * 6mplementare * Gestionare( BucureKti 2$$1)*
=:56S"> 1* :ristea( 5asele de 0orum< din 5omHnia( BucureKti( 1#"*
=:4:B#1> 4* :rciun( 6* 4omozei( 2* :oleK( Galia Butnaru( G%2%46:\
S%G%4@)\ %d* Didactic Ki 0eda-o-ic( BucureKti( 1##1*
=D@2@$2>* 0rof*uniG*dr*Doina Danaiata( asist*uniG*drd* :amelia 1ar-ea( 5olul
a-entului .ntr&o lume di-ital* :ompeti8ia pe scena economiei di-itale* Scenarii( actori Ki
roluri( ???*feea*uaic*ro*
=D@4%$4>* :* T* Date( @n 6ntroduction to Data<ase SMstems( "t/ %dition( pu<lis/ed
<M 0earson %ducation( 6nc* @dison 7esleM Ui-/er %ducation( 2$$4*
=D%T0">* Dela/aMe( T*0* A SMstemes eIperteC or-anisation et pro-rammation des
<ases de connaissances en calcul propositionnel( )a<oratoire d]6nformati^ue
,ondamentale de )ille( PniGersit_ des Sciences et 4ec/nolo-ies de )ille( 1#"*
=DO5O#">* 5o<ert Dollin-er&Baze de date Ki -estiunea tranzac8iilor( :lu9 2apoca(
1##"*
=D2@%$4>* :omputer 1ade from D2@ and %nzMmes
/ttpCJJnational-eo-rap/ic*comJne?sJ2$$3J$2J$224`$3$224`D2@computer*/tml
=DP:O#>* D* Dumitrescu( Uariton :ostin A 6nteli-en8a @rtificial* 5e8ele neuronale
teorie Ki aplica8ii( %d* 4eora BucureKti( 1##*
=DP1@#!>* @driana DumitraK( 0roiectarea re8elelor neurale artificiale %d*OD%O2(
1##!*
=DP16##>* 6on Dumitrac/e( 2icolae :onstantin( 1onica Dr-oicea( 5%Y%)%
2%P5@)% 6dentificarea Ki :onducerea 0roceselor( 1@4563 5O1( BucureKti 1###*
"2
=%S@1##> %Galuation and :onserGation of BarleM Genetic 5esource to 6mproGe
4/eir @ccessi<ilitM to Breeders in %urope* %Galuation met/ods 1###( %P 0ro9ect G%25%S
:4#"&1$4( Gen<an+( 60;( Gatersle<en( GermanM( /ttpJJ<arleM*ip+&-atersle<en*de
=,;0%$$>* ,lorea( @dina 1a-da( ;aMser( Daniel( 0entiuc( St* G/* A )a repr_sentation
lo-i^ues des connaissances pour les a-ents intelli-ents( :ours interactif pour
laPniGersit_ Sirtuelle ,rancop/one( 2$$$*
=,)@1$2>* Sistemele <azate pe cunoKtin8e( @dina 1a-da ,lorea(
???*a-ora*roJopenJopen5Jia*/tml
=,)@1#">* @-en8i inteli-en8i 6nternet( @dina 1a-da(
???*<Mte*roJ<Mte#5&$4adi*/tml
=,PS$2>* Doina ,usaru( @r/itectura <azelor de date A 1ediul SO)( PniG*Spiru Uaret(
%d*,undatiei 5omHnia de mHine( Buc*2$$2*
=GBS$4>* P:S: Genome Bioinformatics* /ttpCJJ-enome*ucsc*edu
=GDB$4>* 4/e Genome Data<ase* @n international colla<oration in support of t/e
Uuman Genome 0ro9ect* ???*-d<*or-
=GO)6$2>* 5ule Based 2et?or+s( 0rof*5odneM 1* Goodman( Dr*To/n )indal*
???*micro*caltec/*eduJresearc/JitruleJrulenet*/tml
=G5B5#>*1cGra?(;*XUo<son&Bri--s( ;* V;no?led-e @c^uisition A 0rinciples
and GuidelinesR 0rentice Uall( %n-le?ood :lifs( 29( 1##*
=GP5P"!>* GP5P 4utor A On&line SMstem Documentation( 1icro Data Base
SMstems 6nc*( )afaMette 6ndiana( 1#"!*
=U@BD#3>* UerGe @<di( )es 5eseauI de 2eurones( PniGersite de Bour-o-ne(1##3*
=U%)P$2>*@rtificial 6nteli-ence* ???*cs*tcd*ieJ)ucM*UedermanJD60U6
=U6))$1>* 7* Daniel Uillis( 1aKina care -HndeKte* :um func8ioneaz calculatoarele*
(trad* 1i/ai :ipu( %d* Uumanitas( BucureKti( 2$$1)*
=UOS6#4>* Qtefan Uol<an( 5omul Sancea( ,lorin 6ancu ( 6nteli-en8a @rtificial*
6 A 0ro-ramare lo-ic( 66 A 4e/nici de 6nteli-en8 @rtificial( 1##4*
=6DBS$2>* 6nteli-ent Data<ase SMstems*
???*cms*dmu*ac*u+Jb9ennMcJ6ntell`d<`notes*/tm
=6%%%1$1>* 6%%% 4ransactions on :omputers( Gol*5$ nr*! 9ulM 2$$1* @<ort&Oriented
:oncurencM :ontrol for 5eal&4ime Data<ases pp* $&!3*
=6%%%2$1>* 6%%% 4ransactions on :omputers Gol*5$ nr*# sept*2$$1* 2eural 2et?or+s
& Sto/astic 2eural :omputation pp* "#1&#$5*
=6%%%$2>* 6%%% 4ransactions on :omputers A 5eal&4ime 0rocessin- in :lient&
SerGer Data<ases( Gol*51( n<*3( marc/* 2$$2( pp*2#&2""*
=TOTO#!>* Tones To/n VData Bases in t/eorM and practiceR %d* 4/ompson :omputer
0ress( P; 1##!*
=T5B$2>* O2 4ec/nolo-M* TaGa 5elational Bindin-C @ 7/ite 0aper*
/ttpC???*o2tec/*frJ9r<J?paper*/tml
=TSO)#!>* Oracle :orporation*(1##!)( TSO)C %m<edded SO) for TaGa* 0reliminarM
Specification( /ttpC???*oracle*comJncaJ9aGa`ncaJ9s^lJ/tmlJ9s^l&spec*/tml
=;O1)>* P1B: ;O1) 7e<* ;O1) 0apers and presentations*
/ttpC???*cs*um<c*eduJ+^mlJpapersJ
=)5PS$$> 6n-* )aurentiu&Sir-il 5PS@2( :onsideratii priGind structurile de date
specifice sistemelor informationale -eo-rafice*
???*reGistaie*ase*roJcontentJ13Jrusan*pdf
=)P1O$2>* Saleriu )upu( 2icolae 1orariu( V4/e computer assisted -eneration of t/e
pro-rammers for t/e numerical command e^uipmentas of t/e tools mac/ines for t/e
mill of compleI profilesR( 0roceedin-s 3
rd
6nternational :onference on
"3
1icroelectronics and :omputer Science A 4e/nical PniGersitM of 1oldoGa( septem<er 2&2"
2$$2( :/iKinu( Sol* 66( pa-*242&24!*
=1@)%$2>* 0rof*Donato 1aler<a( :ourse VBasi di Dati e Basi di :onoscenza A )e
Basi di Dati DeduttiGeR( PniGersita de-li Studi di BarM( 6talM( 2$$2*
???*di*uni<a*itJbmaler<aJcoursesJ
=1@0U#2>* 1at/ieu( 0/* A )a r_alisation d]un -_n_rateur de SMstemes eIpertes(
:ourse imprim_( )a<oratoire d]6nformati^ue ,ondamentale de )ille( PniGersit_ des Sciences
et 4ec/nolo-ies de )ille( 1##2*
=16;%>* /ttpCJJ???&lia*deis*uni<o*itJ:oursesJ@6J)ucidiJmi+e*pdf
=12OO#!>* 6on Sainiuc( :armen @ntonoGici( 5adu Pn-ureanu( 2icolae 1orariu( RG%O&G5@0U A
Sistem 6nformatic Geo-rafic utilizat .n realizarea cadastrului -eneral finan8at de Banca 1ondialR( @nalele
Ktiin8ifice ale PniGersit8ii R@leIandru 6oan :uzaR din 6aKi 4om 3)66&3)666( 1##&1##!( pa-* 51&54*
=12SS$3>* 2icolae 1orariu( Sorin Slad ( V:onsidera8ii priGind dezGoltarea
sistemelor inteli-ente .n economieR( %conomia romHneasc prezent Ki perspectiGe* Sesiunea
Ktiin8ific na8ional cu participare interna8ional( %d*PniG* SuceaGa( 6SB2 #!3&&$35&4(
2$$3( pa-*5&5!!*
=1OUS#3>* 2*1orariu( Qt*Uol<an( 5*Sancea( K*a* R@sistarea actiGit8ii de cercetare
.ntr&o <anc de -eneR( faza V5ealizare prototipR( tem de cercetare realizat .n cadrul
contractului nr*1$1J$5*$4*1##3 .ntre Societatea de SerGicii 6nformatice SuceaGa S*@* Ki
1inisterul :ercetrii Ki 4e/nolo-iei( 1##3&1##5*
=1O26#5>* 2* 1orariu K*a*( R6nte-rarea re-istrelor permanente* 5e-istrul permanent
al cadastrului -eneral 5:GR& tem de cercetare realizat .n cadrul contractului 5#J1##5 cu
6nstitutul de :ercetri .n 6nformatic( 1##5*
=1OUS#!>* 2*1orariu( Qt*Uol<an( 5*Sancea( Dan :iu<otaru( K*a* R0roiectarea Ki
optimizarea structurilor moleculare destinate realizrii medicamentelorR( tem de cercetare
realizat .n cadrul contractului 45#BJ1##5 .ntre Societatea de SerGicii 6nformatice SuceaGa
S*@* Ki 1inisterul :ercetrii Ki 4e/nolo-iei( 1##5&1##!*
=1O26#!>* 2*1orariu( K*a*( R5ealizarea de instrumente informatice priGind
preGenirea eGaziunii fiscale pentru de8inerea de terenuri Ki Galori imo<iliareR( tem de
cercetare realizat .n <aza contractului 125J1## cu 1inisterul :ercetrii Ki 4e/nolo-iei .n
cadrul pro-ramului na8ional de cercetare VO56DO24 2$$$R( 1##&1##!*
=1O26$$>* 2*1orariu( K*a*( R6nstrumente Ki ar/itecturi noi pentru determinarea
o<li-a8iilor fiscale ale de8intorilor de terenuri Ki Galori imo<iliare utilizHnd B*D*P*R( tem de
cercetare realizat .n <aza contractului 125J1##( act ad* 12J1*$2*1### cu 1inisterul
:ercetrii Ki 4e/nolo-iei .n cadrul pro-ramului na8ional de cercetare VO56DO24 2$$$R(
1##"&2$$$*
=1O26#">* 2*1orariu( K*a*( R:ercetri eIperimentale priGind reprezentarea di-ital la
niGelul 9ude8ului SuceaGa( a zonelor eIpuse calamit8ilor (inunda8ii) R A tem de cercetare
realizat .n <aza contractului 124J1##( act ad* 2"4J1##" cu 1inisterul :ercetrii Ki
4e/nolo-iei .n cadrul pro-ramului na8ional de cercetare VO56DO24 2$$$R( 1##& 1##"*
=1O26##>* 2*1orariu( K*a*( R:rearea unui sistem informatic -eo-raficR & tem de
cercetare realizat .n <aza contractului 125J1##( act adi8ional 12J1*$2*1###J6 cu
1inisterul :ercetrii Ki 4e/nolo-iei .n cadrul pro-ramului na8ional de cercetare VO56DO24
2$$$R( 1##&1###*
=1O26$1>* 2*1orariu( K*a*( V:ercetri priGind asistarea Ki eGaluarea actiGit8ilor de
preGenire( protec8ie Ki rea<ilitare a Donei inunda<ile a <azinului 0rut utilizHnd
te/nolo-ii informaticeR A tem de cercetare realizat .n cola<orare cu PniGersitatea
4e/nic a 1oldoGei( .n <aza contractului 5#5J2#*$"*2$$$( act adi8ional 1J1*$3*2$$1
"4
cu 1inisterul %duca8iei Ki :ercetrii .n cadrul pro-ramului na8ional de cercetare
VO56DO24 2$$$R( 2$$$&2$$1*
=1O2:$1> 2*1orariu( K*a*( V:ercetri priGind utilizarea te/nolo-iei G6S .n realizarea
cadastrului -eneral Ki a cadastrelor de specialitate .n 5omHnia Ki 5epu<lica 1oldoGaR tem de
cercetare realizat .n cola<orare cu PniGersitatea 4e/nic a 1oldoGei( .n cadrul contractului
1J#*1$*2$$$( act adi8ional 1J3*$"*2$$1 cu 1inisterul %duca8iei Ki :ercetrii( 2$$$&2$$1*
=1O)U$3> lector uniG* 2icolae 1orariu( lector uniG* Saleriu )upu( in-*ec* OGidiu
Uur9ui( Baze de date( 6SB2 #!3&"2#3&"3&#( %ditura PniGersit8ii VQtefan cel 1areR
SuceaGa(11! p( SuceaGa( 2$$3*
=1O)P$2>* 2icolae 1orariu(Saleriu )upu( R4/e computer assisted of t/e
manufacture times for mac/ine tools ?it/ numerical commandR( 0roceedin-s 3
rd
6nternational
:onference on 1icroelectronics and :omputer Science A 4e/nical PniGersitM of
1oldoGa( septem<er 2&2" 2$$2( :/iKinu( Sol* 66( pa-*##&1$4*
=1O26$2>* 2icolae 1orariu( VNnma-azinarea datelor* 4e/nolo-iile O)@0 Ki D1 .n
sus8inerea procesului decizional din cadrul unei or-aniza8iiR( Sesiunea Ktiin8ific na8ional cu
participare interna8ional V%conomia romHneasc prezent Ki perspectiGeR( PniG* VQtefan cel
1areR SuceaGa( iunie 2$$2( pa-*5"$&5"5*
=1OOS$3>* 2icolae 1orariu( Dumitru Ostafe( Sorin Slad ( V:onsidera8ii priGind
utilizarea unor instrumente ale inteli-en8ei artificiale .n cercetarea aplicatiGR( V%conomia
romHneasc prezent Ki perspectiGeR( Sesiunea Ktiin8ific na8ional cu participare
interna8ional( %d*PniG* SuceaGa( 6SB2 #!3&&$35&4( 2$$3( pa-*15&22*
=1O0%#>* 2*1orariu( Qt*G/*0entiuc( K*a*( VSistem de dia-nosticare automat a
proceselor prin te/nici de recunoaKterea formelorR( tem de cercetare realizat .n
cadrul contractului 12J21*$2*1## .ntre Societatea de SerGicii 6nformatice SuceaGa S*@* Ki
1inisterul :ercetrii Ki 4e/nolo-iei( .n cadrul pro-ramului na8ional de cercetare VO56DO24
2$$$R( 1##*
=1O0%$1>*Qt*G/*0entiuc( 2icolae 1orariu( K*a*( 6ntelli-ent SMstem for 0ro-nosis and
%stimation of %conomic Decisions at Districtual )eGel( @dGances in %lectrical and :omputer
%n-ineerin-( ,acultM of %lectrical %n-ineerin- VStefan cel 1areR PniGersitM of SuceaGa(
Gol*1(")( n<*1(15)( 2$$1( pp* 44&4!*
=1O0%$2> B*4anasiciuc( 2*1orariu( Qt*G/*0entiuc( K*a*( VSistem eIpert destinat
monitorizrii impactului msurilor economice asupra zonelor defaGorizate & referin8 Tude8ul
SuceaGaR( faza V5ealizarea Ki testarea unui sistem eIperimentalR( tem de cercetare realizat
.n cadrul contractului nr*15"J1### .ntre Societatea de SerGicii 6nformatice SuceaGa S*@* Ki
1inisterul %duca8iei Ki :ercetrii( 2$$2*
=1O0O#!>* mat*2icolae 1orariu( prof*dr*in-*2icolae 0opoGici( in-*5adu
Pn-ureanu( in-*6on Sainiuc( in-*4raian 4eodorescu( fiz*:tlin DamfirescuL RSistem
informa8ional -eo-rafic (S6G) pentru monitorizarea zonelor eIpuse inunda8iilorR( 0roduse
soft?are pentru reprezentarea di-ital Ki monitorizare( 5eGista Uidrote/nica Gol* 42 2r* 1$&12
1##!( pa-* 43&4*
=1O0O#">* 2* 1orariu( 2* 0opoGici( 5* Pn-ureanu( 4* 4eodorescu( 6* Sainiuc( :*
DamfirescuL RSistem de reprezentare di-ital a zonelor eIpuse inunda8iilorR( Simpozion
Ktiin8ific 9u<iliar V5 ani ai PniGersit8ii @-rare de Stat din 1oldoGaR( Gol* 2( !&# octom<rie
1##" :/iKinu( pa-* 1"&1""*
=1O0O##>* 2icolae 1orariu( 2icolae 0opoGici( 5adu Pn-ureanu( 6on Sainiuc(
4raian 4eodorescu( :tlin DamfirescuL V5eprezentarea di-ital la niGelul 9ude8ului SuceaGa a
zonelor eIpuse calamit8ilor (inunda8ii)( @nalele Ktiin8ifice ale PniGersit8ii R@leIandru 6oan
:uzaR 6aKi( 4om 3)6S&3)S( 1##"&1###( pa-* !3&"2*
=1O0S$2>* 2icolae 1orariu(Qt*G/*0entiuc(G/*Sandu(B*4anasiciuc K*a*( VSistem
eIpert destinat monitorizrii impactului msurilor economice asupra zonelor defaGorizate A
"5
referin8 Tude8ul SuceaGaR( Sesiunea Ktiin8ific na8ional cu participare interna8ional
V%conomia romHneasc prezent Ki perspectiGeR( PniG* VQtefan cel 1areR SuceaGa(
iunie 2$$2( pa-*5"&5#"*
=1O5@$1>* Pn-ureanu 5adu( 1orariu 2icolae( K*a*( V:ercetri priGind utilizarea
te/nolo-iei G6S .n realizarea cadastrului -eneral Ki a cadastrelor de specialitate .n 5omHnia Ki
5epu<lica 1oldoGaR( faza V:ercetri priGind ac/izi8ia prelucrarea Ki conGersia datelor
cadastrale o<8inute din msurtori .n terenR( tem de cercetare realizat .n cola<orare cu
PniGersitatea 4e/nic a 1oldoGei .n cadrul contractului nr*1J2$$$ .ntre Societatea de
SerGicii 6nformatice SuceaGa S*@* Ki 1inisterul %duca8iei Ki :ercetrii( 2$$1*
=1O51$3>* 2icolae 1orariu( V@specte priGind distri<uirea datelor .n cadrul unui
sistem informatic pentru inte-rarea re-istrelor permanenteR( 4e/nolo-ii informa8ionale(
%ditura PniGersit8ii SuceaGa( 6SB2 #!3&&$5#&1( 2$$3 ( pa-*$&#*
=1O52$3>* 2icolae 1orariu( V@specte priGind utilizarea de instrumente Ki ar/itecturi
noi pentru determinarea Ki urmrirea o<li-a8iilor fiscale ale de8intorilor de <unuri imo<ileR(
V%conomia romHneasc prezent Ki perspectiGeR( Sesiunea Ktiin8ific na8ional cu participare
interna8ional( %d*PniG* SuceaGa( 6SB2 #!3&&$35&4( 2$$3( pa-* 545&552*
=1O53$3>* 2icolae 1orariu( V6nte-rarea te/nolo-iei <azelor de date cu
te/nolo-ia sistemelor inteli-enteR( %conomia romHneasc prezent Ki
perspectiGe* Sesiunea Ktiin8ific na8ional cu participare
interna8ional( %d*PniGersit8ii SuceaGa( 6SB2 #!3&&$35&4( 2$$3( pa-*553&
55*
=1O54$3>* 2icolae 1orariu( VPtilizarea te/nicilor de clasificare Ki recunoaKterea
formelor pentru dia-nosticarea eGolu8iei unor indicatori sintetici la niGel re-ionalR( Sesiunea
Ktiin8ific na8ional R4eorie Ki practic .n dezGoltarea re-ionalR( Societatea 5omHn de
Statistic( SuceaGa( 2$$3*
=1O51$4>* 2icolae 1orariu( VPtilizarea unor instrumente ale inteli-en8ei artificiale
pentru dia-nosticare Ki predic8ie .n economieR( Simpozionul 6nterna8ional al 4inerilor
:ercettori %di8ia 66 & a( @cademia de Studii %conomice din 1oldoGa( 2# A 3$ aprilie
2$$4( Departamentul %ditorial&0oli-rafic al @*S*%*1* :/iKinu( 6SB2 ##!5&!5&23#&I( Sol*6
pa-*14&1*
=1O52$4>* 2icolae 1orariu( V5%,O51% A @ soft?are product for pattern
clasification and reco-nition <M 9oint use of pattern reco-nition tec/ni^ues and multi&laMer
perceptronR( V4/e 0roceedin-s of t/e :entral and %ast %uropean :onference in Business
6nformation SMstemsR( :lu9&2apoca( maM 2$$4( %d* 5isoprint( 6SB2 #!3&5&4"&3(
pa-*1$$&1$5*
=1O53$4>* 2icolae 1orariu( V@rtificial 6nteli-ence 4ec/ni^ues in an %Galuation and
Decision SMstem for %conomic @ctiGitMR( S@:6 2$$4( Budapest 0olMtec/nic
2epszin/az( Budapest( Uun-arM( 4imiKoara( 2$$4*
=1O54$4>* 2icolae 1orariu( Sorin Slad( ROnline documentation and assisted researc/
+no?led-e <ased sMstem for Ge-etal -enetics resourcesR( 0roceedin-s of t/e ,ort/
6nternational :onference R6nternet %ducation Science 6%S&2$$4R( Ba+u State PniGersitM
@zer<ai9an(SinnMtsia 2ational 4ec/nical PniGersitM P+raine( St* :Mril and St* 1et/odius
PniGersitM of Seli+o 4urnoGo Bul-aria( oct* 2$$4 SinnMtsia P+raine( 6SB2 #&41&1$4&$(
4om 2( pa-* 513&51*
=1O46$1>* mat*drd*2icolae 1orariu( dr*in-*Doru %u-en 4iliu8e( asist*uniG*Sorin
Slad( V1odel de definire a unei structuri eGolutiGe de date de tip uniGersalR( @ 66&a :onferin8
interna8ional Ktiin8ifico&practic de informatic Ki economie 62,%:O2( :ole-iul ,inanciar&
Bancar V@* Diordi8R :/iKinu( octom<rie 2$$1( pa-* 45&51*
"
=1OSS$3>* lector uniG*drd*2icolae 1orariu( asist*uniG* Sorin Slad( lector uniG*drd*
5omulus Sancea( VSistem <azat pe cunoKtin8e .n -enetica Ge-etalR( V%conomia
romHneasc prezent Ki perspectiGeR( Sesiunea Ktiin8ific na8ional cu participare
interna8ional %d*PniG* SuceaGa( 6SB2 #!3&&$35&4( 2$$3( pa-*$4&12*
=26S5#!>* Data minin-( o nouc erc .n informaticc Qtefan 6*2itc/i Ki 5odica @Gram&
2itc/i( /ttpC???*<Mte*roJ<Mte#!&$2J1"tend*/tml*
=O)@0$1>* 4/e O)@0 5eport sept*2$$1( 7/at is O)@0 F
/ttp*???*olapreport*comJfasmi*/tm
=O5@#2>* 6ntroduction to O5@:)% SO)( SO)W 0lus and 0)JSO) :ourse 2otes(
Glenn 1aslen( 0u<lis/ed <M Oracle :orporation P; )td* 1##2*
=O5@##>* Oracle :orporation & @nalMtic ,unctions for Oracle"i( 7/ite 0aper(
Oct*1###*
=0@S:#4>* 4otul despre SO) 6ntero-area <azelor de date( :orina 0ascu( @drian
0ascu( %d* 4e/nic Buc* 1##4*
=0@5:$2>* :/ristine 0arent( SGBD deductifs( %cole 0olMtec/ni^ue ,ederale de
)ausanne( /ttpJJl<d???*epfl*c/JfJteac/in-JcoursesJ
=06GB#$>* 0i-ford D* S*( Baur G*( %Ipert SMstems for Business* :oncepts and
@pplications* ,eaturin- S0&%Ipert( BoMd X ,raser 0u<( Boston( 1##$*
=0%DP#5>* %lemente de teoria Ki proiectarea <azelor de date* 2ote de curs( Stefan
G/* 0entiuc( Tean 1ic/el Dut/illeul( PniG* VQtefan cel 1areR SuceaGa 1##5*
=0%24#4>* 0entiuc( Qt* G/* A @n @l-orit/m for t/e Generation of SMm<olic
:lassifiers for 0attern 5eco-nition SMstems* @nalele PniGersit8ii dQtefan cel 1ared SuceaGa(
nr*1( 1##4*
=0%24#!>* Qtefan&G/eor-/e 0entiuc( @plica8ii ale recunoaKterii formelor .n
dia-nosticul automat( 15" p* 6SB2 #!3&31&1$#&5( %ditura 4e/nic( BucureKti( 1##!*
=0%24#">* 0entiuc( Qt* G/* A Sisteme eIpert* 2ote de curs( ,acultatea de 6n-inerie
%lectric( specializarea :alculatoare( ,acultatea de 6n-inerie 1ecanic( specializarea
1ecatronic( PniGersitatea dQtefan cel 1ared SuceaGa( 1##4& 1##"*
=0%24$$>* Qt* G/* 0%246P:( Generatoare de sisteme eIpert & %ditura Uipparion(
:lu9&2apoca( 2$$$( 6SB2 #!3&#44"&4"&"( 112 pa-ini*
=5O%P#>* %u-en 5otariu A )im<a9ul TaGa( 1##*
=5PB;"2>* 5usu @( BoK 2*( ;iss @*( 4opo-rafie&Geodezie %D0 BucureKti( 1#"2*
=S@1#>* 1ircea SHr<u( @naliza multidimensional*
/ttpC???*<Mte*roJ<Mte#&$3Jdata?ar4*/tml
=S%;U#4>* ;/os/afian Setra- VO<9ect Oriented Data<assesR( pu<* To/n 7/ileM
1##4( P;*
=S61@#">* Dic8ionar modern de informatic( VSisteme multia-en8iR( PniGersitatea
V0olite/nica BucureKtiR( ???*cs*pu<*roJbdictJsisteme`multia-entiJ sisteme`multia-enti*/tml
=S0@S$2>* 0rof* Stefano Spaccapretra( Bases de Donnees @Gancees & SGBD
deductifs( %cole 0olMtec/ni^ue ,ederale de )ausanne(
/ttpJJl<d*epfl*c/JfJteac/in-JcoursesJpolM3JindeI*/tml
=SS1##">* 0refectura Tude8ului SuceaGa A :arta Gerde a 9ude8ului SuceaGa( Gol* 1&666(
1##"*
=SS2$$1>* 0refectura Tude8ului SuceaGa A Tude8ul SuceaGa* 0ro-ramul de dezGoltare
economic Ki social pe anul 2$$1( 2$$1*
=SS2$$3> Statistic 4eritorial( 6nstitutul 2a8ional de Statistic( %di8ia 2$$3*
=4@:P#">* @lecsandru 0uiu 4acu( 5omul Sancea( Qtefan Uol<an( @urel Burciu(
6nteli-en8a @rtificial* 4eorie Ki aplica8ii .n economie*( %ditura %conomic( BucureKti( 1##"*
=4%U2$2>* prof* dr* in-* U* 2 *4eodorescu A :urs de 5e8ele 2euronale( PniGersitatea
eG/* @sac/iV( 6aKi*
"!
=4U;#5>* ;urt 4/earlin-( ,rom Data 1inin- to Data Base 1ar+etin-( 7/ite 0aper(
#5J$2( Octo<er 1##5( Data 6nteli-ent Group 0ilot Soft?are*
/ttpCJJ???*santafe*eduJb+urtJ?p#5$2*/tml
=P)11#$>* TeffreM D* Pllman( DeductiGe Data<asesC @c/ieGements and ,uture
Directions( Stanford PniGersitM( Stanford( :alifornia( 1##$*
???*cs*ucla*eduJbzanioloJpapersJ
=S@UO"#>* 5omul Sancea( Qtefan Uol<an( Dan :iu<otariu( 5ecunoaKterea
,ormelor @plica8ii( %d* @cademiei 5*S*5* 1#"#*
=S@UO#5>*5*Sancea( Qt* Uol<an( S*Sa9noGz+i( ,* 6ancu( :onsiderations sur le
sMstemes eIperts aGec controle flou* 6nteli-ence @rtificielle( PniGersite de
Bour-o-ne( mars 1##5( pp*1&23 Di9on ,rance*
=D@:S$3>* 1arian Da/aria( :laudia :Hrstea( )iana Sl-ean( 6nteli-en8a artificial Ki
sistemele eIpert .n asistarea deciziilor economice( 6SB2 #!3&5#$&"!$&$( %d*
%conomic( BucureKti( 2$$3*
=D@26#$>* :arlo Daniolo( DeductiGe Data<ases A 4/eorM 1eets 0ractice( 35$$ 7est
Balcones :enter DriGe( @ustin( 4eIas( PS@( 1##$( ???*cs*ucla*eduJbzanioloJpapersJ
=D%1;##>* Dem+e( ,*( ;ul+arni( ;*( 7it+o?s+i( @*( )Mle( B* & 6ntroduction to O)@0
functions( 6SOJ6%: T4:1JS:32 7G3CBGT( @2S6 2:64S U2&##&154( @pr* 1### *
""

S-ar putea să vă placă și