Upload
ciulpan-andrei
View
225
Download
0
Embed Size (px)
Citation preview
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
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
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,
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 :
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)
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:
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
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,
8/18/2019 BD-CURS (1)
http://slidepdf.com/reader/full/bd-curs-1 9/33
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
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
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
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
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
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ţ'
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)
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
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&
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':
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)
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
8/18/2019 BD-CURS (1)
http://slidepdf.com/reader/full/bd-curs-1 22/33
8/18/2019 BD-CURS (1)
http://slidepdf.com/reader/full/bd-curs-1 23/33
8/18/2019 BD-CURS (1)
http://slidepdf.com/reader/full/bd-curs-1 24/33
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&
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
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 )
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&
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
8/18/2019 BD-CURS (1)
http://slidepdf.com/reader/full/bd-curs-1 30/33
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)
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
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&