Scrigroup - Documente si articole

     

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


Vederi partionate

sql



+ Font mai mare | - Font mai mic



Vederi partionate

O vedere partionata este o vedere definita printr-o comanda SELECT care reuneste cu UNION ALL continutul mai multor tabele cu aceeasi structura dar pastrate separat ca o colectie de tabele , fie pe acelasi server fie intr-un grup de servere independente numite si servere federatizate.



Este obligatoriu ca toate serverele dintr-o federatie sa fie de tipul SQL Server 2000.

O structura foarte generala pentru definirea unei vederi partitionate va fi:

SELECT <lista_select_1>

FROM T1

UNION ALL

SELECT <lista_select_2>

FROM T2

UNION ALL

. . . . . . . . . . . . . . . .

SELECT <lista_select_n>

FROM Tn

In lista de coloane a vederii vor fi selectate taote coloanele din tabelele componente

OBS: Coloanele care ocupa aceeasi pozitie vor fi abligatoriu de acelasi tip, nu numai de tipuri compatibile. Acest lucru este normal deoarece nu exista o modalitate de a specifica ce tip dorim sa aiba coloana din vedere.

In fiecare din tabelele Ti trebuie sa existe cel putin o coloana care sa faca parte din cheia primara a fiecarui tabel si sa ocupe aceeasi pozitie in fiecare tabel si peste care sa putem defini in fiecare tabel o restrictie de tipul CHECK, metoda Ci care sa permita verificarea apartenentei val. coloanei la un anumit interval sau la o lista de valori. Conditiile impuse de aceste restrictii trebuie formulta a.i. continutul tabelelor sa fie disjunct.

Coloana care respecta aceste conditii, se numeste coloana de partitionare.

OBS: Tabelele care participa la realizarea unei vederi de partitionare provin de obicei din fragmentarea orizontala a unui tabel pe baza valorilor unei coloane simple sau compuse.

De exemplu daca consideram o BD la nevelul Universitatii putem imparti continutul tblStudent a.i. in fiecare tbl rezultat sa apara numa studentii de la o anumita facultate. In acest caz, coloana Id_Facultate va fi coloana de partitionare si va trebui includa in cheia primara a tuturor tbl. Vederea de partitionare permite refacerea continutului tbl. initial. In diversele tabele reunite, coloana de partitionare poate sa aiba nume diferite. Ea nu poate fi o coloana calculata. Intr-un tbl. va exista o singura restrictie de partitionare def. peste coloana de partitionare avuta in vedere. Pentru ca reuniunea sa fie realizata, este necesat ca in toate tbl. cheia sa fie definita peste acelasi nr. de coloane care ocupa aceaasi pozitie.

Vederile de partitionare sunt utile in special in cazul unor BD distribuite, deaorece pot aferi utilizatorului un tabel virtual ce contine toate datele de care are nevoie, fara sa-l inrereseze unde sunt plasate in realitate ecestea.

OBS: In anumite situatii pot sa apara diferente mai mari intre structura tabelelor componente si structura unei vederi definita peste aceste componente.

Exemplu:

CREATE VIEW vwAdrese_Student2 (Student, Adresa)

AS

SELECT Nume + ''+ Initiala+'' +Prenume, Localitate + '' Strada +''

Numar + ''+ Bloc + ''+ Scara + '' + Etaj + '' + Apartament

FROM dbo. Tbl_Student INER  JOIN

dbo.tblAdresa CN dbo.tblAdresa.Nrleg = dbo.tblStudent.Nrleg

Se observa ca in acest caz vederea are doar 2 coloane desi la generarea ei au fost utilizate 10 coloane. Daca dorim sa ordonam valorile returnate de aceasta vedere intr-o comanda SELECT dupa Nume, Prenume si Initiala vom obtine eroare deoarece comanda SELECT externa nu va vedea decat atr. Student si Adresa.

Tema: Sa se verifice daca putem ordona continutul oferit de vedere print-o clauza ORDER BY in SELECT - ul folosit la definirea vederii.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1386
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