33
8/18/2019 BD-CURS (1) http://slidepdf.com/reader/full/bd-curs-1 1/33 1. Modele de date(def., clasicare, criterii, exemple) Modelul de date= principalul mecanism care asigura partajarea datelor Data model= ansamblu format din: - o colectie nita de concepte necesare pentru descrierea structurii de baza de date (tip date, relatiile, restrictiile) - un set de operatii de baza (modul de efectuare al extragerii si actualizarii datelor din BD) Clasicare: I.sistemele de şiere =un predecessor al sistemelor de gestiune a bazelor de date, = colecţie de programme care realizauecarec!te"un ser#iciu" pentru utilizatorii datelor - ecare program $%i denea %i $%i administra propriile date& - numeroase deza#antaje (abordarea descentralizat' $n stocarea informaţiilor, gradul mare de redundanţ' %i dependenta program-date) - un salt semnicati# faţ' de %ierele administrate manual: - saltul de la abordarea informaţional' la cea informatic' II.sistemele prerelaţionale (sau"istorice, na#igante, traditionale): ierarhic şi reţea, eprezentarea datelor $n modelul ierar*ic %i $n modelul reţea: mulţimi de inregistr'ri(i&e& colecţii de date de diferite tipuri: +nteger, Boolean, ealetc&) eprezentarea relaţiilor dintre ele: legaturi de tip pointer +nregistr'rile care formau baza de date erau organizate: - $n modelul ierar*ic: ca o mulţimede arbori, - $nmodelul reţea: ca o mulţimede grafuri xemple: pentru modelul ierar*ic: +./ (de la +B.) pentru modelul reţea: +D/ ++ (de la 0one12ell), +.345 (de la 0e2lett 6ac7ard)& III.sistemul relational - cel mai important e#eniment din istoria bazelor de date - iunie89;: re#ista<omm3<. - "3 elational .odel of Data for arge /*ared Databan7s> - 5dgar ?ran7 <odd(de la +B. esearc* aborator1): - concepte din algebra relaţional' pentru a rezol#a problemele legate de stocarea #olumelor mari de date - "celebrele" 8@ reguli(condiţii) pe care trebuie s' le $ndeplineasc' un /4BD pentru a declarant relaţional .odelul relational continua s' domine piaţa sistemelor de gestiune a bazelor de date: - fundamentarea matematic' riguroas', - simplitatea, - #olumul mare de date deja stocate dup' acest model

BD-CURS (1)

Embed Size (px)

Citation preview

Page 1: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 1/33

1. Modele de date(def., clasicare, criterii, exemple)

Modelul de date= principalul mecanism care asigura partajarea datelor

Data model= ansamblu format din:

- o colectie nita de concepte necesare pentru descrierea structurii de baza de date(tip date, relatiile, restrictiile)- un set de operatii de baza (modul de efectuare al extragerii si actualizarii datelor

din BD)

Clasicare:

I.sistemele de şiere

=un predecessor al sistemelor de gestiune a bazelor de date,

= colecţie de programme care realizauecarec!te"un ser#iciu" pentru utilizatorii datelor

- ecare program $%i denea %i $%i administra propriile date&- numeroase deza#antaje (abordarea descentralizat' $n stocarea informaţiilor,

gradul mare de redundanţ' %i dependenta program-date)- un salt semnicati# faţ' de %ierele administrate manual:- saltul de la abordarea informaţional' la cea informatic'

II.sistemele prerelaţionale (sau"istorice, na#igante, traditionale): ierarhic şi reţea,

eprezentarea datelor $n modelul ierar*ic %i $n modelul reţea: mulţimi de inregistr'ri(i&e&colecţii de date de diferite tipuri: +nteger, Boolean, ealetc&)

eprezentarea relaţiilor dintre ele: legaturi de tip pointer

+nregistr'rile care formau baza de date erau organizate:

- $n modelul ierar*ic: ca o mulţimede arbori,- $nmodelul reţea: ca o mulţimede grafuri

xemple:

pentru modelul ierar*ic: +./ (de la +B.)

pentru modelul reţea: +D/ ++ (de la 0one12ell), +.345 (de la 0e2lett 6ac7ard)&

III.sistemul relational

- cel mai important e#eniment din istoria bazelor de date- iunie89;: re#ista<omm3<.- "3 elational .odel of Data for arge /*ared Databan7s>- 5dgar ?ran7 <odd(de la +B. esearc* aborator1):- concepte din algebra relaţional' pentru a rezol#a problemele legate de stocarea

#olumelor mari de date- "celebrele" 8@ reguli(condiţii) pe care trebuie s' le $ndeplineasc' un /4BD pentru

a declarant relaţional

.odelul relational continua s' domine piaţa sistemelor de gestiune a bazelor de date:

- fundamentarea matematic' riguroas',- simplitatea,- #olumul mare de date deja stocate dup' acest model

Page 2: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 2/33

- costul enorm al migr'rii spre un model complet diferit&

<!te#a sute de sisteme relationale:

- DB@ (de la +B.),- +ngres ++ (de la <omputer 3ssociates +nternational +nc&),

- Aracle i (de la Aracle <orporation),- .s 3ccess, ?ox6ro (de la .icrosoft),

I!.sistemele postrelaţionale: orientat o"iect şi hi"rid (o"iect#relaţional),

modelul relaţional: impropriu pentru manipularea unor #olume f mari de date, cuformate #ariate:

a) Modelul orientat o"iect:

inglobarea semanticii obiectelor celor mai #ariate

utilizarea aproape exclusi#e a limbajelor6AA pentru dez#oltarea aplicaţiilor soft2are,

includerea $n aproape orice aplicaţie soft2are a unei baze de date ca elementfundamental al acesteia&

Cele mai cunoscute prototipuri de baze de date AA:

- A65CAADB(de la exas +nstruments),- ++/(de la 0e2lett 6ac7ard), iarca #ariant'comercial': 45./AC5EA63(de la

4em/tone/1stems),- F5/3C(de la Fersant Abject ec*nolog1)&

") Modelele hi"ride:

extind modelul relational oferind:

- un set de tipuride date mai bogat- includ %i orientarea obiect

combinarea a#antajelor celor dou' abord'ri: cea relaţional' %i cea orientate obiect

Cel mai cunoscut exemplu:

+nformix Gni#ersal /er#ercare combin' te*nologiile din dou' produse preexistente:

- +nformix(relational)

- +llustra& (AA)&

!.sistemele semantice: multi#dimensional şi lo$ic(deducti%).

&. 'D, 'D, etapele reali*arii unei 'D

Page 3: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 3/33

'a*a de date = un ansamblu structurat de date coerente astfel $nc!t acestea pot prelucrate ecient de mai mulţi utilizatori $ntr-un mod concurrent

  = o colecţie de date persistente, care sunt folosite de c'tre sistemele deaplicaţii ale unei anumite H$ntreprinderi

 5xista dou' clase mari de date:

- din BD operationale =I date operaţionale (necesare pt& aplicaţiile operaţionale(care reJect' funcţionalitatea zilnic' a $ntreprinderii)

- din depozitul de date =I informatii de sinteza (necesare pt& susţinerea procesuluidecisional

Datele din baza de date

- persistente: ele pot %terse din BD numai printr-o cerere explicit' adresat' /4BD- integrate: BD consta din unicarea mai multor siere- partajate: BD poate utilizata concurent de mai multi utilizatori

- suporta prelucrari frec#ente, de complexitate redusa3plicaţiile de baze de date:

- in principal: operaţii de memorare %i reg'sire efectuate asupra unor #olume maride date, in scopul obtinerii de informatii din BD

- secundar: operaţii de prelucrare a datelor: introducere, actualizare, stergere&

1. +roiectarea unei 'D:- stabilirea structurii BD, adica a elementelor componente, a caracteristicilor

acestora a restrictiilor pe care trebuie sa le respecte, a relatiilor dintre ele&. Construirea (popularea) unei 'D:- memorarea (introducerea) datelor in BD (dupa proiectarea acesteia). Intero$area unei 'D- extragerea si #izualizarea datelor care indeplinesc o anumita conditie-. ctuali*area unei 'D- modicarea structuriiE informatiilor/. dministrarea unei 'D- efectuarea unor operatii asupra BD:- interogare- actualizare- securitatea datelor stocate- asigurarea accesului la date al utilizatorului in functie de drepturile ecaruia- asigurarea coerentei BD = recuperarea informatiilor atunci cand au loc incidente

000 2 orice colectie de date este o 'D

istem de "a*e de date consta din:

8& BD propriu-zis' ($n care se memoreaz' datele)

@&/4BD (gestionarea %i prelucrarea complex' a datelor)

= un produs soft2are care asigur' interacţiunea cu o BD, permiţ!nd denirea,consultarea %i actualizarea datelor din BD

K& dicţionarul BD (metabaza de date: informaţii despre date, structura acestora,statistici, documentaţie= catalog de sistem = conţine Hdate despre date,

Page 4: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 4/33

= furnizeaz' descrierea tuturor obiectelor unei BD (starea obiectelor, constr!ngeride securitate %i de integritate, informaţii despre utilizatori)

L& mijloace *ard2are (comune sau specializate)

M& reglement'ri administrati#e destinate bunei funcţion'ri a sistemului

N& personalul implicat:

- administratori de date = admin care *otaraste care sunt datele care trebuiestocate, cu regulile lor de intretinere si tratare

- administrator de baze de date = asigura : crearea, implementare, monitorizare,asigura functionarea, responsabil cu implementarea deciziilor administratorului dedate si are atributii de proiectare, coordonare si administrati#e

- proiectanţi (designeri) de baze de date= abordeaza BD la ni#el logic si zic (alegmodul de implementare a modelului conceptual)

- programatori de aplicaţii,- utilizatori nali&

  ?ata de un in#entar (tabel), o 'D are urmatoarea proprietati:

- reprezinta un anumit aspect al lumii reale numit microuni#ers al BD- colectie de date coerenta din punct de #edere logic si cu inteles intrinsec- proiectata, construita, populata cu date, a#and permanent un anumit scop

* Date= elemente, fapte, fenomene, procese cunoscute care pot culese siinregistrate si care au inteles implicit

* +nformatii= ecare dintre elementele noi, in raport cu cunostintele prealabilecuprinse in semnicatia unui simbol sau a unui grup de simboluri

* <unostinte= idee, notiune despre lucru, pregatire, in#atatura, gandire

O A BD ofera un $rad de a"stracti*are a datelor, ascunzand datele de implementare&

. Clasicarea 'D

 ipuri de baze de date :

Page 5: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 5/33

a) Baze de date prerelationale:ierar*iceretea

b) Baze de date relationalec) Baze de date orientate obiectd) Baze de date relationale orientate obiect

e) Baze de date deducti#ef) Baze de date distribuiteg) <alculatoare %i ma%ini baze de date*) .ultibaze de datei) Baze de date cu suport decizional j) Data 2are*ouse&

Criterii de clasicare a sistemelor de bazelor de date:

8&modelul de date

@&numarul de utilizatori

K&numarul de calculatoare pe care sunt stocate BD %i /4BD

L&modul de functionare

M&implementarea sistemului de baze de date&

1. Clasicarea dupa modelul de date: Baze de date prerelationale:

- ierar*ice- retea,

Baze de date relationale, Baze de date orientate obiect, Baze de date relationale orientate obiect&

&. Clasicarea dupa numarul de utili*atori:

# sisteme multiutilizator:* cele mai frec#ente* permit accesul concurent al mai multor utilizatori la aceeasi BD

- sisteme monoutilizator:* destul de rare* permit accesul unui singur utilizator&

  .Clasicarea dupa numarul de statii pe care este stocata 'D:

- centralizate:* datele si /4BD sunt stocate pe o singura statie (calculator)

- distribuite:* datele si /4BD sunt distribuite pe mai multe calculatoare interconectate printr-

o retea de comunicatie&

-.Clasicarea dupa modul de functionare:

- teleprocesarea* ar*itectura tradiţional': 8 calculator cu 8 unitate <6G %i un numar de

terminale, incapabile s' funcţioneze singure- ar*itectura %ier-ser#er* procesarea este distribuit' $n reţea (de obicei 3C)

Page 6: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 6/33

* ar*itectura cuprinde %ierele cerute de aplicaţii %i /4BD-ul* aplicaţiile %i funcţiile /4BD sunt executate pe ecare staţie de lucru, solicit!nd

atunci c!nd este ne#oie %iere de pe ser#erul de %iere- ar*itectura client-ser#er

* exist' un proces client, care necesit' resurse %i un proces ser#er, care ofer'resurse&

  /. Clasicarea dupa modul de implementare a sistemului de "a*e de date:

- se combina ultimele K criterii : numarul de utilizatori, modul de stocare a BD %i/4BD %i modul de functionare a sistemului de baze de date:

+& sisteme client-ser#er centralizate de tip monouser++& sisteme client-ser#er centralizate de tip multiuser+++& sisteme client-ser#er distribuite de tip multiuser&+F& /isteme client-ser#er centralizate de tip monouser

-. 'D (def., arhitectura, o"iecti%e)

istem de $estiune a "a*elor de date ('D 3 Data 'ase Mana$ement 4stem)

= un produs soft2are care asigur' interacţiunea cu o BD, permiţ!nd denirea,consultarea %i actualizarea datelor din BD

tructura unui 'D:

complexa dinamica minimum M clase de module:

Page 7: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 7/33

8& programe de gestiune a bazei de date (64BD): realizeaz' accesul zic la date caurmare a unei comenzi

@& module pentru tratarea DD permit traducerea unor informaţii despre date $nobiecte ce pot apoi exploatate $n manier' procedural' E neprocedural'

K& module pentru tratarea .D (interpretati#, compilati#, generare de programe)permit utilizatorilor inserarea, %tergerea, reactualizarea sau consultarea informaţieidintr-o baz' de date

L& module utilitare asigur' $ntreţinerea, prelucrarea, exploatarea corect' %i u%oar' abazei de date

M& module de control- permit controlul programelor de aplicaţie,- asigurarea condenţialit'ţii %i integrit'ţii datelor,- rezol#area unor probleme de concurenţ',- recuperarea informaţiei $n cazul unor a#arii sau defecţiuni *ard2are sau

soft2are etc&

Modul de lucru al 'D la ni#el conceptual:

8& utilizatorul lanseaz' o cerere de acces@& /4BD accept' cererea %i o analizeaz'K& /4BD inspecteaz' pe r!ndL& /4BD execut' operaţiile necesare $n baza de date stocat', i&e& modulele 64BD

asigur' accesul zic la date:

Cele - ni%eluri de a"stracti*are şi de percepţie a datelor intr#o 'D:

- extern- logic- conceptual- intern ni#elul cel mai de jos a care datele exista efecti#

i%elul extern

- reprezint' #iziunea utilizatorului nal asupra datelor- permite asigurarea unui ni#el de securitate a datelor: un utilizator #a accesa doar

datele descrise $n sc*ema sa extern'

 i%elul lo$ic

- reprezint' #iziunea programatorului de aplicaţie asupra datelor

i%elul conceptual (schema conceptual5 a datelor: articol, 6nre$istrare, *on5)

- este ni#elul central- reprezint' #iziunea programatorilor de sistem asupra datelor- corespunde structurii semantice a datelor f'r' implementarea pe calculator

i%elul intern (schema *ic5 a datelor: "it, octet, adres5)

- permite descrierea datelor unei BD sub forma $n care sunt stocate $n memoriacalculatorului

- sunt denite %ierele care conţin aceste date, articolele din %iere, c'ile de accesla aceste articole etc&

7"ser%atie

- a ni#el conceptual sau intern: sc*emele respecti#e descriu in mod unic o baz' dedate

Page 8: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 8/33

- a ni#el extern: sc*emele reprezint' o descriere a unei p'rţi a bazei de date cecorespunde #iziunii unui program sau unui utilizator

 =I6entru o BD particular' exist': 1 schem5 intern5, 1 schem5 conceptual5, mai

multe scheme externe.

%anta8ele oferite de ar*itectura pe ni#ele a sistemelor de BD:

8& +ndependenţa datelor:- zic':

• modicarea sc*emei zice a datelor nu implica modicarea sc*emeiconceptuale si a sc*emei logice %i nici a programelor de aplicaţie

- logic':

modicarea sc*emei conceptuale a datelor nu implica modicarea sc*emeilogice %i a programelor de aplicaţie

=Ise creaza ec'rui utilizator iluzia c' este singurul beneciar al unor date pe care, $n

realitate, le folose%te $n comun cu alţi utilizatori

  @& +ndependenţa faţ' de strategiile de acces: permite programului s' precizeze

- data pe care dore%te s' o acceseze,- dar nu modul cum acceseaz' aceast' dat' /4BD-ul #a stabili drumul optim de

acces la date&

=I in sistemele de baze de date, funcţiile de declarare %i de prelucrare a datelor suntrealizate cu ajutorul unor limbaje diferite, numite limbaje pentru baze de date:

- DD

- .D- <- <D

rhitectura funcţional' de referinţ'

este axat' pe dicţionarul datelor %i cuprinde dou' p'rţi:

8& prima parte: permite descrierea datelor (compoziţia dicţionarului datelor)

 @& a doua parte: permite prelucrarea datelor (interogarea %i reactualizarea bazei dedate)

- in ecare parte se reg'sesc cele trei ni#eluri: intern, conceptual %i extern (nu suntneap'rat distincte)

'D si arhitectura 3C/+E/63< /4BD dispune de urmatoarele procesoare:

dicţionarul de date:

- prelucreaza comenzile de denire a sc*emei %i comenzile de denire a#izualiz'rilor analizorul:

- analizeaza sintactic si semantic comenzile de denire a sc*emei %i a #izualiz'rilorprecum %i cererile de prelucrare,

- o cerere $n format intern care face referinţ' la o #izualizare este tradus' $n una sau

mai multe cereri care fac referinţ' la obiecte ce exist' $n baza de date(modicarea cererilor) translatorul:- modica cererile,

Page 9: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 9/33

Page 10: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 10/33

- %terge informaţiile nefolosite- acord' autorizaţii pentru sier- primul %ier de date creat: sierul care stoc*eaz' dicţionarul datelor&

B& ;işierele de reluare = $nregistreaz' toate modic'rile care

- au loc asupra datelor bazei (indiferent dac' au fost permanentizate sau nu) %i- nu au fost scrise $nc' $n %ierele de date- sunt specicate $n momentul cre'rii sau modic'rii bazei- sunt utilizate $n manier' circular' (cele care au fost folosite $n $ntregime, pot

ar*i#ate p!n' c!nd sistemul le #a reutiliza)- asigur' protecţia BD $n cazul defecţiunilor- o BD Aracle conţine dou' sau mai multe %iere de reluare&

<& ;işierele de control = %iere binare de dimensiune redus', necesare pentru pornirea%i funcţionarea bazei de date

- orice BD Aracle deţine cel puţin un %ier de control- ecare %ier de control- este asociat unei singure BD- conţine informaţii despre structura zic' a acesteia- este creat odat' cu respecti#a BD (Aracle permite existenţa %ierelor de control

multiplexate

a pornirea unei instanţe Aracle:

sistemul folose%te %ierul de control pentru:

- a identica baza %i- a determina dac' aceasta este $n stare #alid' pentru utilizare- sunt identicate %ierele de reluare necesare execuţiei operaţiilor bazei de date

?i%ierele de control reJect' automat sc*imb'rile (creare, redenumire sau %tergere) careau loc la ni#elul %ierelor de date sau de reluare

+nformaţiile din %ierele de control pot modicate doar de ser#erul Aracle

=.tructura lo$ic5 a 'D 7racle:

a)'locuri de date = unitati logice prin care sistemul administreaz' spaţiul de stocare al%ierelor de date

Blocul = cea mai mic' unitate +EA folosit' de baza de date, = corespunz'toare unui bloczic de octeţi de pe disc, = dimensiunea sa: este denit' $n momentul cre'rii BD, poate modicat' ulterior, este un multiplu al dimensiunii blocurilor zice de la ni#elul /A

Page 11: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 11/33

/tructura blocului de date Aracle:

- un antet (*eader),- un spaţiu liber (free space),- un spaţiu pentru date (data space)&

ntetul conţine

- informaţii generale referitoare la bloc- un catalog al tabelelor (table director1):- un catalog al liniilor (ro2 director1):

paţiul li"er al blocului de date este alocat pentru inserarea de noi linii sau actualizarealiniilor care necesit' spaţiu suplimentar&

3legerea blocului $n care #a inserat' o linie nou' depinde de spaţiul li"er al acestuia %ide #alorile parametrilor 6<?55 %i 6<G/5D&

b) c) xtensia şi se$mentul

 xtensia = unitate logica de alocare a spaţiului BD,

= compus' dintr-o mulţime contigu' de blocuri de date (din acela%i %ier de date)

 e$mentul = unitate logica formata din una sau mai multe extensii

+niţial, segmentul are o singur' extensie (initial extent)&

A extensie

- este alocat' atunci c!nd este creat sau extins un segment,

- este dezalocat' (in general) c!nd segmentul este suprimat sau trunc*iat- 5liberarea unei extensii implic' %tergerea datelor existente $n blocurile de datealocate acesteia (ele #or reutilizate pentru extensiile nou create)

 /egmentul = corespunde unui singur obiect zic stocat = folose%te blocuri de date carese g'sesc $n acela%i spaţiu tabel

 ipuri de segmente din BD Aracle :

- segmente de date (data segment),- segmente index (index segment),- segmente temporare (temporar1 segment),- segmente de re#enire (undo segment) etc&

/egmentele de date

- sunt denite atunci c!nd este folosit' comanda de creare a unui tabel sau a uneigrup'ri

- un singur segment de date este folosit pentru stocarea tuturor datelor dintr-untabel nepartiţionat care nu face parte din nicio grupare, dintr-o partiţie a unui tabelpartiţionat sau dintr-o grupare de tabele /egmentele index

- sunt folosite pentru a stoca datele unui index- ecare index nepartiţionat este conţinut $ntr-un singur segment& Pn cazul indec%ilor

partiţionaţi, ec'rei partiţii i se asociaz' c!te un segment index

/egmentele temporare

Page 12: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 12/33

- sunt utilizate de sistem pentru analiza %i execuţia comenzilor /Q care necesit' unspaţiu temporar de stocare

- sistemul aloc' $n mod automat segmente temporare atunci c!nd este necesar %i lesuprim' dup' execuţia comenzii /Q

- segmentele temporare sunt alocate $n majoritatea cazurilor de sortare (atuncic!nd operaţia respecti#' nu se poate face $n memorie sau dac' folosirea indec%ilornu presupune o soluţie mai ecient')&

/egmentele de re#enire

A BD conţine unul sau mai multe segmente de re#enire, folosite pentru:

- anularea acţiunii tranzacţiilor- asigurarea consistenţei la citire,- efectuarea operaţiile de recuperare a bazei de date

/egmentele de re#enire nu pot accesate de c'tre utilizatorii sau administratorii bazei dedate

5le pot scrise %i citite doar de c'tre sistem&

d) /patiul tabel = unitate logica de stocare formata din 8,@,R segmente

- grupeaza logic o mulţime de obiecte:- ecare obiect al BD are specicat un spaţiu tabel $n care trebuie s' e creat- datele care alc'tuiesc obiectul sunt apoi stocate $n %ierele de date alocate

spaţiului tabelrespecti#

- un %ier de date poate alocat unui singur spaţiu tabel- ecarui utilizator i se poate aloca explicit un spaţiu tabel, $n care #or stocate

toate obiectele create de el- alocarea se efectueaza automat- folosirea mai multor spaţii tabel -I Jexibilitate $n utilizarea BD- BD = Sspaţii tabelT

 ipuri de spatiu tabel in BD Aracle:

/paţiul tabel /U/5.,

- primul spaţiu tabel creat i se aloca automat ($n timpul cre'rii BD) primul %ier dedate, conţine: dicţionarul datelor, inclusi# unit'ţile de program stocate, segmentulde re#enire /U/5.

/paţiile tabel non-/U/5.:

- permit administrarea Jexibil' a BD, separ' segmentele de re#enire, segmenteletemporare, segmentele de date %i segmentele index, separ' datele dinamice decele statice, controleaz' spaţiul alocat pentru obiectele utilizatorilor&

elaţia dintre baze de date, spaţii tabel %i %iere de date presupune c':

- ecare baz' de date este $mp'rţit' din punct de #edere logic $n unul sau maimulte spaţii tabel

- unul sau mai multe %iere de date sunt create explicit pentru ecare spaţiu tabel,cu scopul de a stoca zic datele din structurile sale logice

- suma m'rimilor tuturor %ierelor de date asociate unui spaţiu tabel reprezint'capacitatea total' de stocare a spaţiului tabel

Page 13: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 13/33

- suma capacit'ţilor de stocare a spaţiilor tabel ale unei baze de date reprezint'capacitatea total' de stocare a bazei&

e) /c*ema = mulţimea obiectelor bazei de date, aJate $n posesia unui utilizator (ecareutilizator deţine o singur' sc*em')&

- numele sc*emei este acela%i cu numele utilizatorului- nu exist' o corespondenţ' biuni#oc' intre spaţiile tabel %i sc*emele de obiecte- obiectele aceleia%i sc*eme pot $n spaţii tabel diferite- un spaţiu tabel poate conţine obiecte din mai multe sc*eme- pentru a accesa un obiect din propria sc*em', utilizatorul poate folosi doar numele

acestuia- pentru referirea unui obiect din sc*ema altui utilizator, trebuie specicat at!t

numele obiectului, c!t %i sc*ema din care face parte, prin folosirea notaţieisc*ema&obiect

>. Dictionarul datelor (catalo$ul de sistem)

= conţine Hdate despre date (metabaza de date) i&e& informaţii despre baza de date:

- deniţiile tuturor obiectelor din sc*emele bazei- cantitatea de spaţiu alocat pentru obiectele sc*emelor- cantitatea de spaţiu utilizat de acestea la momentul curent

Page 14: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 14/33

- #alorile implicite ale coloanelor- constr!ngerile de integritate- numele utilizatorilor Aracle- pri#ilegiile %i role-urile acordate ec'rui utilizator- informaţii de auditare etc&- este generat automat la crearea BD

- este reactualizat de c'tre ser#erul Aracle dup' ecare comand' DD sau <D- conţinutul s'u reJect' imaginea bazei de date (structura zic' %i logic') la unmoment dat

Din punct de #edere structural este compus:

- tabele de baz' ale dictionarului- #izualiz'ri publice asupra acestora =I #izibil> %i pt sistem %i pt utilizatori&

 abelele de baz'

- stoc*eaz' informaţiile asociate BD,- sunt primele obiecte create

Fizualiz'rile

- decodic' informaţiile stocate $n tabelele de baz' %i- le sintetizeaz' pentru a disponibile utilizatorilor

<oncluzie

- este deţinut de c'tre utilizatorul /U/ %i se aJ' $n spaţiul tabel /U/5.- sistemul poate accesa dicţionarul datelor pentru a obţine informaţii despre:

utilizatori, obiecte, structurile de stocare- orice utilizator poate consulta dicţionarul datelor pentru a aJa informaţii despre

baza de date (documentare sau administrare) utilizatorii f'r' pri#ilegii deadministrare pot accesa doar #izualiz'rile prexate de G/5V sau 3V pentru aobţine lista #izualiz'rilor disponibile se poate interoga #izualizarea D+<+AC3Ucare are sinonimul D+<

- se utilizeaza instrucţiunea /55< din /Q&

?.. rhitectura interna a sistemului 7racle (procese)

3r*itectura proceselor

- procese user

- procese Aracle- procese ser#er- procese bac7ground

Page 15: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 15/33

3r*itectura memoriei&

rhitectura proceselor

Abser#atie

6entru a accesa o instanţ' a unei BD Aracle, se execut':

- o aplicaţie sau un utilitar Aracle (prin intermediul c'rora se lanseaz' comenzi /Qasupra bazei de ex& eco#er1 .anager, Aracle 5ntreprise .anager, Aracle?orms)

- un cod Aracle ser#er (cu ajutorul c'ruia sunt interpretate %i procesate comenzile/Q)

Gn proces = un mecanism al sistemului de exploatare care permite executarea unoroperaţii de calcul sau operaţii +EA

- ?iec'rui proces i se aloc' o zon' pri#at' de memorie

/er#erul Aracle : dou' tipuri generale de procese:

- procese user: execut' aplicaţiile,- procese Aracle (procese ser#er %i bac7ground): asigur' gestiunea informaţiilor

dintr-o baz' de date&

Gn proces user este creat de sistemul Aracle pentru:

- a executa codul unei aplicaţii program sau- ca urmare a lans'rii unui utilitar Aracle- se execut' pe ma%ina client- $ncepe %i se termin' odat' cu aplicaţia utilizatorului resp&

- nu interacţioneaz' $n mod direct cu ser#erul Aracle ci genereaz' mesaje printr-unprogram interfaţ' (G6+ = Gser 6rogram +nterface)&

Gn proces Oracle = execut' instrucţiunile interne ale ser#erului Oracle

este in#ocat de alte procese pentru a $ndeplini anumite operaţii $n fa#oarea acestora

dou' tipuri de procese Oracle:

a) procese ser#er (server process)- interacţioneaz' cu procesele user ,- comunic' $n mod direct cu ser#erul Aracle pentru a transmite cererile acestora

printr-un program de interfata Aracle (A6+ = Aracle 6rogram +nterface),- este lansat c!nd utilizatorul iniţiaz' o sesiune&b) procese de fundal (background process)

- reuneste funcţiile executate pentru ecare proces user- execut' operaţiile +EA asincrone,- monitorizeaz' alte procese Aracle- folosit pentru a $mbun't'ţi performanţele unui sistem multiprocesor, $n

prezenţa mai multor utilizatori,- ser#erul Aracle creeaz' c!te un set de procese bac7ground pentru ecare

instanţ'

Page 16: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 16/33

@. rhitectura interna (rhitectura memoriei)

Wstructural, memoria este compus' din:

- o zona de memorie partajata = zona global' sistem (/43 = /1stem 4lobal 3rea),

- o zona de memorie nepartajata = zona global' program (643 = 6rogram 4lobal3rea)

Page 17: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 17/33

Wtoate structurile de memorie se g'sesc $n memoria central',

Wsunt create %i utilizate pentru a depozita:

- codul programelor executate,- datele necesare $n timpul execuţiei acestora,

- datele folosite $n comun de mai multe procese Aracle,- informaţiile referitoare la sesiunile curente etc&

/43 = /1stem 4lobal 3rea = zona globala sistem = = este un grup de structuri partajatede memorie care conţin date %i informaţii de control relati#e la BD %i la o instanţ'

Wecare instanţ' are propria sa /43 care:

- este alocata atunci c!nd este pornita instanţa- este eliberata $n momentul opririi instantei

Wdatele conţinute $n /43 sunt folosite $n comun de c'tre utilizatorii conectaţi la instanţ',

Winformaţiile conţinute $n /43 sunt repartizate $n diferite zone (database buXer cac*e,redo log buXer, s*ared pool etc&), care sunt alocate la pornirea instanţei

/43 x' = o zona special' a /43 folosit' pentru stocarea informaţiilor despre stareabazei de date %i a instanţei

- informaţiile sunt accesate de c'tre procesele bac7ground,- nu poate conţine date ale utilizatorilor&

643 = 6rogram 4lobal 3rea = zona globala program = = zon' de memorie care conţinedate %i informaţii de control relati#e la un singur proces Aracle

- poate folosit' de un singur proces,- este alocat' la crearea procesului,- este dezalocat' la terminarea acestuia,- este format' - in general din:

* zon' pri#at' /Q (conţine date - de ex&, informaţii de leg'tur' %i structuride memorie necesare rul'rii comenzilor)

* zon' de memorie alocat' sesiunii,* zone de lucru /Q&

1A.B( caracteristici, implementare, securitate, oracle B)

+nfo : istoric

/Q (/tructured Quer1 anguage) este limbajul standard de tratarea sistemelorrelaţionale

Page 18: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 18/33

- 6rima #arianta: mijlocul anilor Y;, /5QG5(pt proiectul /1stem ), 5&?&<ADD, +B.,

- 6reluatain 899 de arr1 5lliot, elational /oft2are (=Aracle)

3cum un standard internaţional(recunoscut 3C/+):

- eoretic: acceptat de toate produsele de baze de date- <omercial: inca domina piata

moti#ul:

- baza teoretica riguroasa:- modelul relational

B lim"a8 relational(neprocedural)

Blim"a8 neprocedural, declarati%

utilizatorii specic' <5 trebuie obţinut,

=I compilatorul limbajului /Q genereaz' automat o procedur' care acceseaz' BD %iexecut' comanda

/Q=limbaj relational (ni#elde abstractizare mai ridicat=Iproducti#itate superioara)

E"a*at pe

- algebra relationala,- calculul relational, in functie de caracteristicile necesare&

K metode pt. implementarea limbajului /Q:

8& apelarea direct' (Direct +n#ocation): const' $n introducerea instrucţiunilor direct dela prompter (interacti#)

@& modularizarea (.odul anguage): se folosesc proceduri apelate de programeleaplicaţie

K& $ncapsularea (5mbedded /Q): instrucţiunile /Q pot combinate cu instrucţiunilelimbajului de programare al programului respecti# (/tandardul /Q include suportpentru limbajele <, <ZZ, <ABA, [a#a, 3da, ., ?ortran, 6ascal, 6E8)

B şi securitateaF inte$ritatea datelor

@ abord'ri ale problemei securit'ţii datelor, acceptate de orice /4BD:

a) controlul discreţionar- accesul la un anumit obiect este la discreţia proprietarului acestuia,b) controlul obligatoriu- ecare obiect are un ni#el de clasicare,- ecare utilizator are un ni#el de permisiune&

7racle B

/Q= asigur' comunicarea cu ser#erul Aracle

=Ireduce timpul necesar cre'rii %i $ntreţinerii aplicaţiilor de baze de date,

7racle B =include extensiiale limbajului/Q standard 3C/+E+/A

+nstrumentele %i aplicaţiile Aracle =furnizeaz' instrucţiuni suplimentare&

Page 19: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 19/33

Gtilitarele permit

- executarea instrucţiunilor limbajului /Q standard asupra unei baze de dateAracle,

- executarea instrucţiunilor sau funcţiilor suplimentare disponibile

11. Clasicarea comen*ilor B

+nstrucţiunile /Q se impart $n mai multe categorii, $n funcţie de tipul acţiunii pe care o

realizeaz':

Page 20: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 20/33

(a) limbajul de denire a datelor(DD)(b) limbajul de prelucrare a datelor(.D)(c) limbajul de control al tranzacţiilor(<)(d) limbajul de control al datelor(<D)(e) comenzi speciale:

i& instrucţiunile pentru controlul sesiunii,

ii& &instructiuni pentru controlul sistemului,iii& instrucţiunile /Q $ncapsulate&a) imbajul de denire a datelor(DD):- specic ec'rui /4BD- funcţiile principale sunt acelea%i- conceptual, DD realizeaz':

* denirea entit'ţilor %i a atributelor acestora prin: nume, form' de memorare,lungime

* precizarea relaţiilor dintre date %i strategiile de acces la ele* stabilirea criteriilor diferenţiate de condenţialitate* stabilirea criteriilor de #alidare automat' a datelor utilizate&

=IDD contine comenzi pt& denirea structurii obiectelor unei sc*eme:

8& crearea, modicarea %i %tergerea obiectelor sc*emei %i a altor structuri ale BD,inclusi# a bazei $ns'%i %i a utilizatorilor acesteia (<535, 35, DA6)

@& redenumirea obiectelor sc*emei (5C3.5)K& %tergerea tuturor datelor din obiectele sc*emei, f'r' a suprima structura acestor

obiecte (GC<35)L& pornirea %i oprirea opţiunilor de audit (3GD+, CA3GD+)M& analiza informaţiilor asupra unui tabel, index sau cluster (3C3U\5, 3//A<+35

/3+/+</, D+/3//A<+35 /3+/+</)N& ad'ugarea unui comentariu $n dicţionarul datelor (<A..5C)& suprimarea deniti#' a obiectelor (6G45) %i re#enirea la o stare anterioar' a

obiectelor (?3/0B3<])&

A comand'DD

- sal#eaz', implicit, tranzacţia curent',- marc*eaz' $nceputul unei noi tranzacţii

Dup' execuţia unei instrucţiuni DD, sistemul Aracle declan%eaz' automat instrucţiuni/Qcare modic' informaţia din dicţionarul datelor&

b) imbajul de prelucrarea datelor(.D):- permite formalizarea operaţiilor care trebuie executate asupra unei baze de date

sub forma unor comenzi

- o comand' are urm'toarea structur':* operaţia (desc*idereE$nc*idere, calcul aritmeticElogic, editare, extragere,

ad'ugare, %tergere, c'utare, reactualizare etc&),* criterii de selecţie,* mod de acces (sec#enţial, indexat etc&),* format de editare

- @ tipuri de .D:* procedurale (specic' modul $n care se obţine rezultatul unei comenzi .D)* neprocedurale(descriu doar datele ce #or obţinute %i nu modalitatea de

obţinere a acestora)&

.D contine comenzi pt& interogarea si prelucrarea datelor din obiectele unei sc*eme:

8& interogarea datelor din unul sau mai multe tabele(/55<)@& ad'ugarea de $nregistr'ri $n tabele sau #izualiz'ri(+C/5)

Page 21: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 21/33

K& actualizarea #alorilor unor coloane din $nregistr'rile existente $n tabele sau#izualiz'ri(G6D35)

L& ad'ugarea sau actualizarea condiţionat' a $nregistr'rilor $n tabele sau#izualiz'ri(.545)

M& %tergerea de $nregistr'ri din tabele sau #izualiz'ri(D555)N& obţinerea planului de execuţiea instrucţiunilor /Q (563+C 63C)

& blocarea unui tabel sau a unei #izualiz'ri, limit!nd temporar accesul celorlalţiutilizatori(A<] 3B5)&

c) imbajul de control al tranzactiilor(<):- contine comenzi pt& gestionarea modic'rilor eXectuate de c'tre comenzile .D

%i grupeaz' aceste comenzi $n unit'ţi logice, numite tranzacţii:- sal#area modic'rilor unei tranzacţii(<A..+)- anularea modic'rilor dintr-o tranzacţie e $n $ntregime, e $ncep!nd de la un

punct intermediar(AB3<])- denirea unui punct intermediar p!n' la care tranzacţia poate

anulat'(/3F56A+C)- stabilirea de propriet'ţi ale tranzacţiei(/5 3C/3<+AC A)&

d) imbajul de control al datelor(<D):- contine comenzi pt& gestionarea accesului la date (asigurarea condenţialit'ţii %i

integrit'ţii datelor, sal#area informaţiei $n cazul unor defecţiuni, obţinerea unorperformanţe, rezol#area unor probleme de concurenţ'):

- acordarea de pri#ilegii %i role-uri(43C)- re#ocarea pri#ilegiilor %i role-urilor acordate(5FA]5)

<omenzi speciale:

8& +nstrucţiunile pentru controlul sesiunii@& +nstrucţiunilepentru controlul sistemuluiK& +nstrucţiunile /Q $ncapsulate&L& +nstrucţiunile pentru controlul sesiunii

i&+nstrucţiunile pentru controlul sesiunii

-  permit gestionarea propriet'ţilor sesiunii unui utilizator

- 35 /5//+AC:permite modicarea sesiunii curente, astfel $nc!t aceasta s' $ndeplineasc' funcţiuni specializate,

- /5 A5: determin' acti#area sau dezacti#area role-urilor pentru sesiunea

curent'

ii&+nstrucţiunile pentru controlul sistemului

- 35 /U/5. permite controlul sistemului, modicand, $n mod dinamic,propriet'ţile instanţei ser#erului Aracle(sc*imbarea anumitor set'ri: num'rulminim de ser#ere partajate,restricţionarea sau suprimarea unei sesiuni, golireazonei s*ared pool din /43, suspenderea tuturor operaţiilor +EA etc&)

iii&+nstrucţiunile /Q $ncapsulate

= sunt reprezentate de comenzi DD, .D %i <care pot incorporate $n programme

scrise $n limbaje procedurale, urm!nd s' e utilizate prin intermediul precompilatoarelorAracle

Page 22: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 22/33

Page 23: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 23/33

Page 24: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 24/33

Page 25: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 25/33

- determinarea planului de execuţie optimal instrucţiunii,- $nc'rcarea instrucţiunii $ntr-o zon' /Q partajat',- direcţionarea instrucţiunilor distribuite c'tre nodurile distante care conţin

informaţia referit'&,- identicarea acelor erori care pot depistate $naintea execuţiei instrucţiunii&

(K)egarea #ariabilelor (#ariables binding)

= procesul prin care se obtin #alorile #ariabilelor la care face referinţ' instrucţiunea %icare trebuie cunoscute $n #ederea execuţiei acesteia

(L) _6aralelizarea`

= o etap' opţional', care se poate efectua $naintea execuţiei eXecti#e a unei instrucţiuni

- /istemul Aracle poate paraleliza comenzile .D %i unele operaţii DD (crearea

indec%ilor, crearea unui tabel cu ajutorul unei subcereri, operaţii asupra partiţiiloretc&)- 6aralelizarea determin' execuţia instrucţiunii /Q de c'tre mai multe procese

ser#er, ceea ce reduce timpul necesar operaţiei

(M) 5xecutia comenzii

W5xecuţia unei instrucţiuni UPDATE sau DELETE determin' blocarea liniilor afectate deaceasta&

- /copul unei astfel de operaţii este asigurarea integrit'ţii datelor- iniile sunt deblocate la permanentizarea sau anularea tranzacţiei

corespunz'toare comenzii respecti#e

W5xecuţia unei instrucţiuni SELECT %i !SE"T nu determin' bloc'ri

(N) +nc*iderea cursorului

6rocesarea oric'rei instrucţiuni S#L se nalizeaz' prin $nc*iderea cursorului asociat, adic'eliberarea zonei de memorie utilizate $n scopul prelucr'rii&

+rocesarea unei intero$ari SQL

Wparcurgerea etapelor necesare executiei unei comenzi,

Wparcurgerea unor etape suplimentare:

descrierea rezultatelor interogarii %i denirea modului de prezentare a rezultatelor:

- se indica tipul, dimensiunea numele datelor,- dac' este necesar, sistemul efectueaz' con#ersii implicite ale #alorilor returnate

recuperarea liniilor unei interogari:

- presupune selectarea %i, e#entual, ordonarea acestora&

Page 26: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 26/33

1. 7"iectele "a*ei de date(def., re$uli de denumire)

A BD Aracle = S sc*eme T

A sc*em' = SobiecteT

7"iect o structura lo$ica de dateG

?iecare utilizator a unei BD poate a#ea o singura sc*ema

Aracle recunoaste @ tipuri de obiecte:

a)obiecte care sunt asociate unei sc*eme particulare

b)obiecte care nu aparţin nici unei sc*eme&

(a) +n cadrul unei sc*eme se pot deni obiecte de tip:

- tabel (table),

- #izualizare (#ie2),- #izualizare materializat' (materialized #ie2),- sec#enţ' (seuence),- index (index),- sinonim (s1non1m),- grupare (cluster),- procedur' (procedure)- funcţie (function) stocat',- declan%ator (trigger),- pac*et stocat (pac7age),- leg'tur' a bazei de date (database lin7),- dimensiune (dimension) etc&

(b) Abiecte care nu aparţin nici unei sc*eme:

- sunt create %i prelucrate cu instructiuni /Q,- sunt stocate $n BD dar CG intr-o sc*ema,- sunt de tip:

* utilizator (user),* context (context),* director (director1),* %ier de parametri (parameter le 6?+5),* prol (prole),* rol (role),* segment rollbac7 (rollbac7 segment) %i

* spaţiu tabel (tablespace)&

e$uli de denumire a o"iectelor 'D

 +ntr-o sc*ema trebuie denumite:

toate obiectele,

anumite parti componente ale anumitor obiecte:

- coloanele tabelelor sau #izualiz'rilor,- partiţiile %i subpartiţiile tabelelor %i indec%ilor,- constr!ngerile de integritate asupra tabelelor

Page 27: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 27/33

(1)

- Cumele obiectelor sunt unice la ni#elul unei BD- Pntr-o instrucţiune /Q, numele unui obiect poate reprezentat printr-un

identicator $ncadrat sau $ntre g*ilimele- +denticatorii nu pot cu#inte rezer#ate ale ser#erului Aracle

(&)

- +denticatorii trebuie s' $nceap' cu o liter' %i s' aib' maximum K; decaractere

()

- +denticatorii pot conţine caractere alfanumerice %i simbolurile HV>, H>,H>

- 5i trebuie s' $nceap' cu un caracter alfabetic

(-)

- ?iecare sc*em' din BD are propriul s'u spaţiu de nume (namespace)pentru obiectele pe care le conţine

- Dou' obiecte din acela%i spaţiu de nume al ser#erului Aracle nu pot a#eaacela%i identicator

- un tabel %i o #izualizare din cadrul aceleia%i sc*eme CG pot a#ea acela%inume, $ns' un tabel poate a#ea acela%i nume cu un index&

OO Abser#atie

+denticatorii obiectelor sunt case-sensiti#e doar $n cazul $n care sunt $ncadraţi $ntreg*ilimele altfel, ei sunt con#ertiţi automat $n majuscule&

1-. 9ipuri de date si literali B(def., clasicare, exemple, modele de format )

Page 28: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 28/33

9ipurile de date predenite din sistemul 7racle:

a) c*aracter (<03, F3<03@, CF3<03@, C<03, iar pentru siruri AC4, AC43^ /+ 3^)

b) numeric (CG.B5, B+C3UV?A3, B+C3UVDAGB5)c) dat' calendaristic' %i timp (D35, +.5/3.6, +C5F3)

d) AB (large objects) (<AB, C<AB,BAB, B?+5 )e) adrese unice ale liniilor din tabele (A^+D, GA^+D )

 9ipuri de date I, D'& şi BFD acceptate 6n sistemul 7racle

/istemul Aracle recunoa%te numele tipurilor de date specice 3C/+ sau +B., lecon#erteste conform unor con#entii prestabilite si le utilizeaza pentru crearea tabelelor %iclusterelor&

 9ipurile de date denite de utili*ator

Gtilizatorul poate deni noi tipuri de date pe baza:

- oricaruia dintre tipurile de date predenite- altor tipuri de date denite de utilizator- se obtin urmatoarele tipuri de date obiect care modeleaza structura %i

comportamentul datelor in aplicatii:

3&tipurile obiect,

B&tipurile referinţ' (5?),

<&#ectorii (#ar1ing arra1 sau #arra1),

D&tablourile imbricate (nested table)&

(3)ipurile de date obiect

- bstractiz'ri ale entit'ţilor din lumea real', necesare $n programele de aplicaţie,- un tip obiect = o sc*em' obiect cu trei tipuri de componente: nume, atribute,

metode

Cumele = identic' $n mod unic tipul obiect $n cadrul unei sc*eme

3tributele = modeleaz' structura entit'ţii din lumea real'&

= au ca tip de date un tip predenit sau un alt tip

.etodele = implementeaz' operaţiile pe care aplicaţia le poate efectua asupra entit'ţiidin lumea real'

= sunt implementate prin intermediul funcţiilor %i procedurilor scrise $n 6E/Q %i stocate $n baza de date, sau $ntr-un limbaj general (<, [a#a etc&) %i stocate extern&

(B) ipurile de date referinta

conţin adrese logice ale liniilor obiect

Gtilitate:

tipul de date 5? %i colecţiile de obiecte 5? modeleaz' relaţiile dintre entit'ţi (m-8 sau8-m) =I dispare necesitatea denirii c*eilor externe relaţionale&

Page 29: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 29/33

 OOO ipul de date 5? =E=#aloarea CG: Daca o #aloare 5? indic' un obiect inexistent=I ea este considerat' suspendat' (dangling)

(<) ipul de date #ector (#ar1ing arra1 sau #arra1)

 = modeleaza o mulţime ordonat' de elemente a#!nd acela%i tip

ecare element are un index, care reprezint' num'rul corespunz'tor poziţieielementului $n #ector

nr elemente dintr-un #ector = dimensiunea #ectorului

Declararea unui #ector = denirea unui tip de date care poate utilizat ulterior ca tip dedate pt: o coloana dintr-un tabel relaţional, un atribut dintr-un tip obiect, o #ariabila, unparametru E o #aloare returnata de o funcţie $n 6E/Q =I nu i se aloca spatiu, trebuieprecizata dimensiunea sa maxima (pt ca in Aracle, #ectorii au dimensiune #ariabil')&

(D) ipul de date tablou imbricat (nested table)

 = modeleaz' o mulţime neordonat' de elemente al caror tip de date poate : un tippredenit, un tip denit de utilizator

= poate #'zut ca:

un tabel relaţional cu o singur' coloan' sau

un tabel relaţional multicoloan' (cu c!te o coloan' corespunz'toare ec'rui atribut altipului obiect, dac' tabloul imbricat este un tip obiect)&

+nterfeţe pentru denirea de tipuri de date:

= interfeţe bazate pe /Q care permit denirea unor noi tipuri de date, atunci c!nd celepredenite sau cele standard 3C/+ nu sunt suciente

comportamentul acestor tipuri poate implementat $n <E<ZZ, [a#a sau 6E/Q

iterali

iterali : c*ar, number, date (calendar), marci de timp, etc&

Def&:iteral= o #aloare constanta pe toata durata de #iata a BD&

a) De tip <03

- se scrie intre - lungime maxima L;;; octeti- daca trebuie sa utilizam apostrof in nume: il punem de doua ori (ex&: AYYCeilY)b) Cumerici- in notatie clasica: precedati de Z sau - maxim Kh caractere- in notatia stiintica: cu mantisa si exponent- se pot scrie si cu #irgule mobila :urmati de l>sau ? si d> sau D>c) Date calendaristice- format din campuri- formatul implicit specicat prin parametru de initializare C/VD35V?A.3- si in notatie 3C/+ cu#ant c*eie D35 (1111-mm-dd)d) .arci de timp

- formate din campuri, dar cu precizie mai mare- an, luna, zi, ora, minut, secunda, fractiune de secunda

Page 30: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 30/33

Page 31: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 31/33

1/. +seudocoloane, operatori si functii B

Def&: 6seudocoloana= se comporta ca o coloana, dar nu este stocata efecti# in tabel

- se pot face interogari asupra lor, dar #alorile sale sunt gestionate doar de catresistemul Aracle

- simularea functiilor fara argumente, dar returneaza #alori diferite pentru liniidiferite din multimea rezultat

- nu se pot insera, actualiza sau sterge #alorile de catre utilizator

A^+D= returneaza adresa unei linii ( metoda cea mai rapida )

A^CG.= returneaza numarul de ordine al liniilor rezultate in urma executiei unei cereripoate utilizata pentru a limita numarul de linii returnate

7+97I B

Def&:= prelucreaza date indi#iduale ( =operanzi= argumente)

sunt reprezentati prin: caractere speciale, cu#inte c*eie

<3/+?+<35- (8) unari - actioneaza asupra unui singur operand

  (@) binari @ operanzi

- =, =, =I, I, , I- B5^55C- +C (#erica daca o #aloare coincide cu un element dintr o lista de #alori)- +]5 ( daca coincide cu un sablon denit de utilizator )- +/ CG- 5+// (interog*eaza existenta multimii rezultatelor a unei subinterogari )

Def&: expresie /Q= combinatie intre una sau mai multe #alori, operatori sau functii /Q

6ot aparea in :

- lista /55< a unei instructiuni /55<- clauze ̂ 055 si 03F+C4- clauze <ACC5< BU, /3 +̂0, AD5 BU- clauza F3G5/ a lui +C/5- clauza /5 a lui G6D35

Def&: conditie /Q= combina una sau mai multe expresii sau operatori logici, returnand G5, ?3/5, CG

6ot aparea in:

- clauzele ̂ 055, /3 ^+0, <ACC5< BU, 03F+C4 ale instrucţiunii /55<- clauza ̂ 055 a instrucţiunilor G6D35 %i D555&

6recedenta operatorilor (ordine descrescatoare a prioritatii): unari aritmetici (Z,-),inmultire, impartire, operatori binari (Z, -) , concatenare (), conditiile /Q

6recedenta pe multimi: GC+AC, +C5/5<, .+CG/- actioneaza asupra seturilor de liniireturnate de cereri

6recedenta in conditii: operatori /Q, operatorii de comparatie (=,=,O=,etc), operatoriide comparatie (+/ CA CG, B5^55C, 5<), operatori logici (CA, 3CD, A)

Page 32: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 32/33

Denitie /ablon = (pattern)

= expresie regulat' = expresie care descrie o mulţime (potential innita) de %iruri decaractere

= o descriere concis' a unei mulţimi, f'r' a necesar' listarea tuturor elementelor

acesteia

?uncţii /Q

8&?unctii numerice

@&?unctii de tip caracter care returneaza #alori de tip caracter

K&?unctii de tip caracter care returneaza #alori numerice

L&?unctii de tip C/ (Catural language /upport)

M&?unctii de tip data calendaristica

N&?unctii generale de comparatie

&?unctii de con#ersie intre tipurile de date /Q

h&?unctii .

9&?unctii pentru prelucrarea #alorilor Cull

8;&?unctii speciale&

6roprietati:

- sunt predenite- daca trebuie, efectueaza con#ersii

<ategoriile de funcţiile /Q :

a)funcţii single ro2

b)funcţii agregat

c)funcţii analitice

d)funcţii referitoare la obiecte

e)funcţii pe modele

f)funcţii denite de utilizator&

Abser#atii

a)?uncţiile single ro2:

- returneaz' o singur' linie rezultat pentru ecare linie a tabelului sau #izualiz'riiinterogate

- pot ap'rea $n: listele /55<, clauza ̂ 055, clauza /3 ^+0, clauza <ACC5<

BU, clauza 03F+C4- pot clasicate $n diferite clase, in conformitate cu tipul argumentelor asuprac'rora opereaz' %i al rezultatelor furnizate

Page 33: BD-CURS (1)

8/18/2019 BD-CURS (1)

http://slidepdf.com/reader/full/bd-curs-1 33/33

b,c) ?uncţiile agregat %i analitice:

- necesare pt scrierea interog'rilor

d) ?uncţiile referitoare la obiecte:

- funcţii care opereaz' asupra #alorilor de tip AB:

- functii care opereaz' asupra colecţiilor: (tablouri imbricate %i #ectori):

e)?uncţii pe modele:

- functii care opereaz' asupra modelelor construite cu ajutorul pac*etuluiDB./VD33V.+C+C4 sau cu Aracle Data .ining [a#a 36+:

f)?uncţiile denite de utilizator:

- pot create cu ajutorul limbajului 6E/Q- sunt stocate $n baza de date&