Sunteți pe pagina 1din 6

Administrarea schemelor

Utilizarea schemelor oferă mai multe avantaje pentru simplificarea procesului de gestiune
a datelor şi permite crearea submultimilor de obiecte care pot fi administrate ca un tot întreg.
Schemele pot fi utilizate pentru limitarea obiectelor vizibile (accesibile) pentru un
utilizator sau un grup de utilizatori, fapt ce permite o partajare mai simplă a accesului la baza de
date. Câțiva
utilizatori pot deține o schema fiind membri ai unui grup de utilizatori din Windows. O schemă
poatefi definită una implicită pentru unu sau mai mulți utilizatori.
Schemele sunt nişte containere de obiecte utilizate pentru definirea spațiilor de nume
(namespaces) ale obiectelor bazei de date. Schemele se află în corpul unei baze de date. O bază
de
date poate avea mai multe scheme.
O schemă poate conține un număr de obiecte limitat de numărul de obiecte ce poate
maximal susține o bază de date gestionată de SQL Server. Ca rezultat, se formează o ierarhie
logică de organizare a datelor:
Baza de Date -> Schema -> Obiectele schemei (tabele, vederi)
O schemă nu poate conține în corpul său alte scheme. O schemă nu poate conține in corp său
obiecte cu nume duplicat.

Crearea schemelor în mediul SQL Server Management Studio

Pentru crearea schemei noi cu ajutorul SQL Server Management Studio, trebuie să fie
executați următorii pași:
1. Se conectează serverul unde se află baza de date necesară.
2. Pe panelul Object Explorer se expandează dosarul Databases (se face un click pe sem ,,+" al
dosarului Databases).
3. Se face un click pe semnul ,,+" , lângă baza de date necesară.
4. În arborele de obiecte apărut, se expandea
5. În dosarul Security, se face un clic-drept pe dosarul Schemas.
6. În meniul de context aparut, se alege optiunea New Schema...
În acest punct pe ecranul calculatorului, va apărea fereastra de dialog (Schema - New
unde se vor defini proprietățile schemei preconizate:
7. Pe pagina General în câmpul Schema name se scrie numele schemei, iar în câmpul
Schema owner se defineşte proprietarul acesteia.
Pentru căutarea conturilor utilizatorilor care pot primi rolul de proprietari ai schemei, se
apasă butonul Search. Va apărea o fereastră de dialog Search Roles and Users şi în această
fereastră se apasă butonul Browse pentru a deschide fereastra următoare Browse for Objectcts.
9. În fereastra Browse for Objectcts, se alege un rol sau un utilizator care va fi
proprietarul schemei, apoi se confirmă obiectul ales prin apăsarea butonului OK.
10. După ce numele schemei și proprietarul acesteia este definit, se apasă butonul OK și
schema va fi creată .
Proprietar al schemei poate deveni orice itilizator, rol sau aplicație care are acces la date.
Un utilizator poate deține mai multe scheme, însă numai o schemă poate fi implicită. Dacă în
calitate de proprietar al schemei este definitun rol sau un grup Windows, atunci schema poate fi
deținută paralel de cîțiva utilizatori.
Crearea schemelor în limbajul Transact SQL
Atunci când se creează o schemă, folosind instrucțiunile Transact SQL, acesta se va găsi
în baza de date curentă. Pentru crrearae schemelor prin cod,sde utilizează instrucțiunea CREATE
SCHEMA.
Sintaxa de bază este:
CREATE SCHEMA clauza_nume_schema [ <element _schema> [... n] ]
<clauza_nume_schena> : :
{ nume _schema
│AUTHORIZATION nume _detinator
│ nume schema AUTHORIZATION nume_detinator ]
<element_schena > : :=
{definitie tabel | definitie vedere | acordare_drept
revocare drept | interzicere drept}
Precum se vede, sintaxa instructiunii de creare a schemei în afară de numele și
proprietarul acesteia, poate include clauze de creare a tabelelor sau vederilor, de definire a
permiselor de acces pentru un utilizator sau un grup de utilizatori.
Următorul exemplu creează o schemă cu numele schema universitatea2 şi propritarul
schemei Ion. Schema mai conține instrucțiunea de creare a tabelului orarul_grupa. Tot aici,
utilizatorului Anna îi este acordată permisiunea de selectare a datelor din această schema iar,
utilizatorului Vasile i se interzice această operațiune.
Atât schema, cât şi tabelul sunt create cadrul unei singure instructiuni.
USE universitatea;
GO
DROP TABLE IF EXISTS orarul grupa;
GO
CREATE SCHEMA schema universitatea2 AUTHORIZATION Ion
CREATE TABLE orarul grupa(Id_Disciplina INT, Cod_Grupa CHAR(6),
Zi CHAR(2), Ora TIME, Auditoriu INT, Bloc CHAR(1))
GRANT SELECT ON SCHEMA:: schema_universitatea2 TO Anna
DENY SELECT ON SCHEMA:: schema_universitatea2 TO Vasile.
GO
Modificarea schemelor
Periodic, poate apărea necesitatea de oferire a schemei unui proprietar nou, de modificare
a permiselor de acces unor sau altor utilizatori.
Pentru modificarea proprietarului schemei cu ajutorul SQL Server Management Studio,
se execută următoarea consecutivitate de operatiuni:
1. Se parcurge calea 1-5 menționată în secțiunea anterioară (Crearea schemelor).
2. Se expandează dosarul Schemas şi se face un click-drept pe schema care trebue
modificată.
3. Din meniul de context apărut se alege Properties.
În rezultat apare fereastra Schema properties cu interfața deja cunoscută. Pentru a modifica
proprietarul schemei, se execută o serie de paşi identici operatiunilor de definite a proprietarului
descrişi anterior.

Pentru setarea mai detaliată a accesului la schemă, se execută următoarea serie de pași:
1. În partea dreaptă a ferestrei Schema properties în lista Select a page, se alege pagina
Permissions
2 Pentru adăugarea accesului explicit unui utilizator sau rol, se apasă butonul Search. În
consecinţă, se va deschide fereastra de dialog Select Users and Roles.
3 Se inserează numele utilizatorului sau al rolului. Numele se separă prin punct și virgulă.
Pot fi introduse și nume incomplete, apoi se face un click pe butonul Check Names pentru
completarea acestora. După aceasta, se apasă OK.
4. În rezultat, utilizatorii apar în tabelul Users or roles. Selectând utilizatorul respectiv în
tabelul Users or roles, pot fi editate permisiunile de acces detaliate în tabelul de mai jos
Permissions for ...
5. După executarea modificărilor, se apasă OK.
Trebuie menționat că schema nu poate fi redenumită. Drept soluție, în acest caz, se creează o
schemă nouă cu un alt nume.

Deplasarea obiectelor în scheme cu ajutorul SQL Management Studio


Deoarece schemele sunt nişte containere de obiecte, există posibilitatea deplasării obiectelor
dintr-o schemă în alta. Deplasarea obiectelor este posibilă numai în cadrul unei baze de date.
Permutarea obiectelor modifică şi permisiunile de acces ale utilizatorilor la acest obiecte. Toate
drepturile de acces anterioare sunt suprimate. Dacă proprietarul obiectului deplasat este un
utilizator sau un rol definite explicit, atunci aceştia şi în continuare vor proprietarii acestui
obiect.
Pentru deplasarea unui obiect într-o schemă nouă cu ajutorul SQL Management Studio,
parcurge următoarea cale:
1. Conectarea la serverul unde se află baza de date necesară.
2. Pe panelul Object Explorer, se expandează dosarul Databases.
3. Se face un click pe semnul ,,+" lângă baza de date respectivă, pentru a afişa arborele de
obiecte.
4. În arborele de obiecte, se selectează obiectul căutat, fie un tabel sau o vedere.
5. Se face un click-drept pe acest obiect şi în meniul de context se alege Design.
6. Pe panelul Properties, în secțiunea Identity se alege meniul derulant Schema, unde se
selectează schema nouă. Daca panelul Properties nu este afișat în câmpul de lucru, el poate fi
chemat, apăsând tasta F4.
7. După modificările necesare, se apasă butonul Save de pe bara de instrumente.
La deplasarea obiectului în altă schemă, trebuie să se țină cont de alte obiecte cu care acesta
se află în dependență. Pentru vizionarea dependențelor obiectului, în Object Explorer se face un
click-drept pe obiectul respectiv și din meniul de context se alege View Dependencies. În
fereastra apărută Object Dependencies, sunt vizualizate toate legăturile obiectului respectiv.

S-ar putea să vă placă și