Unele
dintre cele mai obi?nuite obiecte schem? sunt definite în urm?toarea
sec?iune.
Indec?ii
sunt structuri op?ionale asociate cu tabelele. Ei au fost crea?i pentru
a m?ri performan?a furniz?rii datelor. Un index Oracle asigur? o cale de
acces c?tre datele din tabele.
La
procesarea unei interog?ri, Oracle poate folosi unii sau to?i indec?ii
disponibili pentru a localiza eficient liniile solicitate. Indec?ii sunt
folositori când aplica?iile cer un tabel doar cu anumite linii sau
linie.
Indec?ii
sunt crea?i pe baza uneia sau mai multor coloane din tabel. Dup? ce a fost
creat, un index este automat men?inut ?i utilizat de c?tre Oracle. Schimb?rile
din tabele (ad?ugarea de linii noi, actualizarea liniilor, ?tergerea liniilor)
sunt automat încorporate în to?i indec?ii relevan?i cu transparen?a
complet? c?tre utilizator.
Clustere
Clusterele
sunt grupuri de unul sau mai multe tabele fizic memorate împreun?
deoarece împart coloane comune ?i sunt adesea folosite împreun?.
Deoarece liniile cu leg?turi între ele sunt memorate împreun?
fizic se îmbun?t??e?te timpul de acces la disc.
Ca
?i indec?ii, clusterele nu afecteaz? design-ul aplica?iilor. Data stocat?
într-un tabel cluster-izat e accesat? de SQL în acela?i mod
ca una dintr-un tabel neclusterizat.
Blocuri
de date, extent-uri ?i segmente
Structurile
logice de memorare, incluzând ?i blocurile de date, extent-urile
?i segmentele permit ca Oracle s? aib? control în am?nunt asupra
spa?iului de pe disc.
Blocuri
de date Oracle
La
cel mai fin nivel de granularitate, datele în Oracle sunt stocate
în blocuri de date. Un bloc de date corespunde unui anumit num?r
de bytes de spa?iu fizic pe disc. Dimensiunea standard a blocului e specificat?
de parametrul de ini?ializare DB_BLOCK_SIZE. În plus, se mai pot
specifica pân? la cinci alte dimensiuni de bloc. O baz? de date folose?te
?i aloc? spa?iu liber în blocuri de date Oracle.
Extent-uri
Urm?torul
nivel al spa?iului bazei de date logice este un extent. Aceasta reprezint?
un num?r specificat de blocuri de date continue, ob?inute la o singur?
alocare, folosite pentru a stoca un anumit tip de informa?ie.
Segmente
Deasupra
extent-urilor, nivelul logic de stocare al bazei de date este segmentul.
Acesta este un set de extent-uri alocate pentru o anumit? structur? logic?.
Urm?torul tabel descrie diferite tipuri de segmente.
|
|
Segment
de date
|
Fiecare
tabel neclusterizat posed? un segment de date. Toate datele tabelului sunt
memorate în extent-urile segmentului de date.
Pentru
un tabel parti?ionat, fiecare parti?ie are un segment de date.
Fiecare
cluster are un segment de date. Datele fiec?rui tabel din cluster sunt
memorate în segmentul de date al cluster-ului.
|
Segment
de index
|
Fiecare
index are un segment de index ce memoreaz? toate datele sale.
Pentru
un index parti?ionat, fiecare parti?ie are un segment de index.
|
Segment
temporar
|
Segmentele
temporare sunt create de Oracle când o declara?ie SQL necesit? un
spa?iu de lucru temporar pentru a-?i îndeplini sarcina. Când
execu?ia sa se încheie, extent-urile din segmentul temporar sunt
returnate sistemului pentru a fi utilizate în viitor.
|
Segmentul
de restaurare
|
Informa?ia
dintr-un segment de restaurare e folosit? în procesul de recuperare
al bazei de date:
-pentru
generarea informa?iei din baza de date consistent? la citire.
-pentru
a derula înapoi tranzac?iile neterminate.
|
Oracle
aloc? dinamic spa?iu atunci când extenturile unui segment devin pline.
Cu alte cuvinte, când extent-urile unui segment sunt pline, Oracle
aloc? alt extent pentru acel segment. Din cauz? c? extent-urile sunt alocate
dup? necesitate, extent-urile unui segment pot sau nu pot fi continue pe
disc.
Tabele
(tablespaces)
O
baz? de date e împ?r?it? în unit??i logice de stocare, numite
tabele (tablespaces), care grupeaz? structurile înrudite logic. De
exemplu, tabelele, în mod uzual, grupeaz? toate obiectele aplica?ie
pentru a simplifica unele opera?ii administrative.
Baze
de date, tablespaces (tabele) ?i fi?iere de date
Rela?ia
dintre baze de date, tablespace-uri ?i fi?iere de date e ilustrat? în
figura 1.1
Fig
1.1 Rela?ii dintre baze de date,tablespace-uri
?i fi?iere de date
Aceast?
figur? arat? urm?toarele:
-fiecare
baz? de date e împ?r?it? logic într-unul sau mai multe tabele
(tablespaces)
-unul
sau mai multe fi?iere de date sunt create explicit pentru fiecare tabel
pentru a stoca fizic datele tuturor structurilor logice dintr-un tabel.
-dimensiunea
tuturor fi?ierelor de date dintr-un tabel este capacitatea total? de memorare
a tabelului (tabelul SYSTEM are 2 Mbi?i capacitate, iar tabelele USER au
câte 4 Mb)
-capacitatea
de stocare a tuturor tabelelor unei baze de date este capacitatea total?
de stocare a bazei de date (6 Mb).