Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Grupari

sql



+ Font mai mare | - Font mai mic



Grupari

Cluster-ul este o regrupare fizica a doua sau mai multe tabele, relativ la una sau mai multe coloane, cu scopul maririi performantelor. Coloanele comune definesc cheia cluster-ului.



Un cluster este un obiect al bazei care necesita:

un nume unic la nivelul schemei,

specificare a coloanelor care compun cheia cluster-ului,

specificare a spatiului de stocare (optional),

un index (relativ la cheia cluster-ului).

Un cluster trebuie sa aiba cel putin un index. Acest index trebuie creat inaintea oricarei comenzi LMD care va actiona asupra tabelelor cluster-ului. Un index al cluster-ului se deosebeste de un index al tabelului (de exemplu, absenta indexului afecteaza utilizatorul - datele cluster-ului nu sunt accesibile).

Coloanele comune definite pentru cluster, reprezinta cheia cluster-ului si criteriul de regrupare.

Liniile diferitelor tabele sunt regrupate in interiorul aceluiasi bloc urmarind cheia cluster-ului. Daca liniile asociate unei aceiasi valori a cheii cluster-ului necesita un spatiu de mai multe blocuri, atunci blocurile sunt inlantuite.

Crearea unui cluster presupune:

crearea structurii cluster-ului;

crearea indexului cluster-ului;

crearea tabelelor care vor compune cluster-ul.

Crearea unui cluster se realizeaza prin comanda:

CREATE CLUSTER nume_cluster

(nume_coloana tip_data [,nume_coloana tip_data] .) [SIZE n]

Exista doua modalitati pentru introducerea unui tabel intr-un cluster.

O prima varianta presupune ca cluster-ul este creat pentru un tabel care deja exista. De fapt, nu se poate asocia un cluster unui tabel care exista!

A doua varianta presupune ca introducerea tabelului in cluster se face in momentul crearii structurii tabelului (comanda CREATE TABLE).

Exercitiu

Sa se obtina un cluster referitor la lista cartilor din fiecare domeniu.

Varianta 1

CREATE CLUSTER cdoml(cdom CHAR(1));

CREATE INDEX indcom ON CLUSTER cdoml;

CREATE TABEL domino

CLUSTER cdoml(coded)

AS SELECT * FROM domeniu;

DROP TABEL domeniu;

RENAME domino TO domeniu;

ALTER TABLE  carte

MODIFY  coded NOT NULL;

CREATE TABEL carticica

CLUSTER cdoml(coded)

AS SELECT * FROM carte;

DROP TABLE carte;

RENAME carticica TO carte;

Varianta 2

CREATE CLUSTER cdoml(cdom CHAR(1));

CREATE INDEX indcom ON CLUSTER cdoml;

-- crearea spatiului

CREATE TABLE domeniu

(coded CHAR(1) NOT NULL,

intdom CHAR() )

CLUSTER cdoml(coded);

CREATE TABLE carte

(codel CHAR(5) NOT NULL,

.

coded CHAR(1) NOT NULL)

CLUSTER cdoml(coded);

Pentru a scoate un tabel dintr-un cluster sunt parcurse urmatoarele etape: se creeaza un nou tabel, in afara cluster-ului, prin duplicarea celui vechi; se distruge tabelul din cluster; se suprima cluster-ul.

CREATE TABLE alfa

AS SELECT * FROM domeniu;

DROP TABLE domeniu;

RENAME alfa TO domeniu;

CREATE TABLE beta

AS SELECT * FROM carte;

DROP TABLE carte;

RENAME beta TO carte;

DROP CLUSTER cdoml;

Un alt tip de cluster oferit de Oracle este cluster-ul hash. In acest caz, pentru a accesa o inregistrare, cluster-ul hash nu foloseste un index, ci o functie numerica, numita functia hash. Functia are ca parametru cheia cluster-ului si returneaza o anumita valoare (valoare hash). Aceasta valoare corespunde blocului de date din cluster pe care Oracle il va citi sau scrie pe baza comenzii executate.

De exemplu, apelurile telefonice efectuate de un client intr-o luna vor fi facturate impreuna. Apelurile pot fi depozitate intr-un cluster hash a carui cheie este formata din coloanele ce contin numarul telefonului, anul si luna in care a avut loc convorbirea.

Suprimarea unui cluster din baza de date se face prin comanda:

DROP CLUSTER nume_cluster

In urma stergerii unui cluster, tabelele pe care acesta le contine nu mai sunt grupate. Secventa urmatoare suprima: cluster-ul, toate tabelele definite relativ la acest cluster si constrangerile lor de integritate.

DROP CLUSTER nume_cluster

INCLUDING TABLES

CASCADE CONSTRAINTS;

Modificarea unui cluster permite redefinirea conditiilor, modificarea parametriilor de stocare si a caracteristicelor de stare (ALTER CLUSTER).



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 747
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved