Sunteți pe pagina 1din 10

Avantajele utilizarii tehnologiilor client-server în gestiunea bazelor de

date
 Unul dintre principalele avantaje ale unei arhitecturi client-server este reducerea traficului
de rețea la efectuarea cererilor. 
 Al doilea avantaj al arhitecturii client-server este capacitatea de a stoca reguli de afaceri
(de exemplu, reguli de integritate referențială sau constrângeri asupra valorilor datelor) pe
server, ceea ce evită duplicarea codului în diferite aplicații client care utilizează o bază de
date comună
 Vă permite să combinați diferiți clienți. Clienții cu platforme hardware diferite pot folosi
adesea resursele unui singur server

Sa se creeze două loginuri de utilizatori care sa posede SQL


Autentification
CREATE LOGIN MyLogin WITH PASSWORD = '123';
create user <user-name> for login <login-name>

Sa se aloce primului utilizator acces la schema HumanResources din


baza de date AdventureWorks. Utilizatorul dat trebuie sa aiba
posibilitatea sa citeasca și sa editeze datele din tabelele schemei
respective.
GRANT SELECT , UPDATE ON SCHEMA :: <schema> TO <user>;

Utilizatorul al doilea trebuie sa aiba acces numai la citirea datelor din


schema Sales din baza de date Adventure Works in același timp, el
trebuie sa aibă posibilitatea sa gestioneze orice obiect și continutul
acestui obiect din baza de date AdventureWorks
DENY CONTROL, ALTER, CREATE SEQUENCE, DELETE, EXECUTE, INSERT,
REFERENCES, OWNERSHIP, UPDATE, VIEW CHANGE TRACKING, VIEW DEFINITION ON
SCHEMA :: dbo TO <user>;
EXEC sp_addrolemember db_owner, <user>;
DML
DML este abrevierea Limbajului de manipulare a datelor. Acesta este utilizat pentru
recuperarea, stocarea, modificarea, ștergerea, inserarea și actualizarea datelor în baza de date
Exemple: instrucțiuni SELECT, UPDATE, INSERT

DDL
DDL este abrevierea Limbajului de definire a datelor. Este folosit pentru a crea și modifica
structura obiectelor bazei de date din baza de date.
Exemple: instrucțiuni CREATE, ALTER, DROP

DCL
DCL este abrevierea Limbajului de control al datelor. Este folosit pentru a crea roluri, permisiuni
și integritate referențială, precum și pentru a controla accesul la baza de date prin securizarea
acesteia.
Exemple: declarații GRANT, REVOKE

TCL
TCL este abrevierea Limbajului de control tranzacțional. Este folosit pentru a gestiona diferite
tranzacții care apar în cadrul unei baze de date.
Exemple: declarații COMMIT, ROLLBACK

System database
SQL Server conține în principal patru baze de date de sistem (master, model, msdb, tempdb)
Baza de date master
Baza de date master conține informații despre configurația serverului SQL. Fără baza de date
Master, serverul nu poate fi pornit. Aceasta va stoca informațiile despre metadate despre toate
celelalte obiecte (baze de date, procedură stocată, tabele, vizualizări etc.) care sunt create în
SQL Server.
Baza de date model
Baza de date model stabilește un șablon pentru fiecare bază de date care a fost recent creată.
Acesta servește ca șablon pentru serverul SQL pentru a crea o nouă bază de date.

Msdb
Baza de date msdb este utilizată în principal de SQL Server Management Studio, SQL Server
Agent pentru a stoca activități de sistem, cum ar fi joburile de server SQL, poștă, broker de
servicii, planuri de întreținere, istoricul copiilor de siguranță ale utilizatorilor și a sistemului,
informații de replicare, livrare jurnal. o copie de rezervă a acestei baze de date.
TempDB
Tempdb este o locație temporară pentru stocarea tabelelor temporare (Global și Local) și a
procedurii stocate temporar care dețin rezultate intermediare în timpul sortării sau procesării
interogării și a cursorilor.

Sintaxa de baza a instructiunii de creare a schemei.


CREATE SCHEMA schema_name [ AUTHORIZATION owner_name ] [;]

Creati, în baza de date calculatoare trei scheme noi: stoc, pc_laptop și


copiatoare.
Create schema stoc
Create schema pc_laptop
Create schema copiatoare

Transferati tabelul produse din schema dbo In schema stoc, tinand cont
de dependentele definite asupra tabeluluiproduse. In același mod sa se
trateze tabelele pc_uri, laptop_uri care apartin schemei pc_laptop și
imprimante, care apartine schemei imprimante. Se scrie instructiunile
SQL respective.
ALTER SCHEMA stoc TRANSFER dbo.produse
ALTER SCHEMA pc_laptop TRANSFER dbo.pc_uri
ALTER SCHEMA pc_laptop TRANSFER dbo.laptop_uri
ALTER SCHEMA copiatoare TRANSFER dbo. Imprimante

Formele de autentificare In SQL Server


Modul de autentificare Windows necesită utilizatorilor să furnizeze un nume de utilizator și o
parolă valide Windows pentru a accesa serverul bazei de date.

Modul de autentificare mixt permite utilizarea acreditărilor Windows, dar le suplimentează


cu conturile locale de utilizator SQL Server pe care administratorul le creează și le întreține în
cadrul serverului SQL Server.
Modificati interogarile asupra bazei de date ”Demo” astfel ca numele
tabelelor accesate sa fie descrise 'in mod explicit, tinand cont de faptul
ca tabelele au fost mutate în scheme noi.
Select * from Demo.stoc.produse
Creati sinonimele respective pentru a simplifica interogarile construite
In exercitiul precedent și reformulati interogarile, folosind sinonimele
create
CREATE SYNONYM prod FOR Demo.stoc.produse
Select * from prod

Sintaxa de baza a instructiunii de creare a synonimelor


CREATE SYNONYM <name>
FOR <table_name>

Sa se creeze proceduri stocate în baza de date ”Demo”. Parametrii de


intrare trebuie sa corespunda criteriilor din clauzele WHERE ale
exercitiilor respective.
Use Demo
CREATE PROCEDURE <nume>
@id int,
AS
SELECT * FROM Demo.prod
WHERE id = @id
GO

Roluri de utilizatori de server In SQL Server, utilitatea, importanta


db_owner: Membrii au acces complet.
db_accessadmin: Membrii pot gestiona grupurile Windows și datele de conectare SQL Server.
db_datareader: Membrii pot citi toate datele.
db_datawriter: Membrii pot adăuga, șterge sau modifica date în tabele.
db_ddladmin: Membrii pot rula declarații de bibliotecă de legături dinamice (DLL).
db_securityadmin: membrii pot modifica calitatea de membru și pot gestiona permisiunile.
db_bckupoperator: Membrii pot face backup pentru baza de date.
db_denydatareader: Membrii nu pot vizualiza datele din baza de date.
db_denydatawriter: membrii nu pot modifica sau șterge datele din tabele sau vizualizări.

Sa se creeze o procedura stocata care ar elimina toate produsele unui


producator sau unul din tipurile de produse ale acestui producator. in
calitate de parametru de intrare, sa se ia numele producatorului și tipul
produsului
CREATE PROCEDURE <nume>
@nume_producator varchar(25),
@tip_produs varchar(25),
AS
If @tip_produs
Delete from produse
Where tip = @tip_produs and producator = @nume_producator
Else
Delete from produse
Where producator = @nume_producator
Funcții T-SQL
functii de tip caracter (lower,upper,concat,substr,length)
functii de tip numeric (max,min,round)
functii de tip data (month,round,next_day)
functii de conversie (to_char, to_number, to_date)

Sa se creeze un dosar Backup_labl. Sa se execute un backup complet al


bazei de date calculatoare In acest dosar. Fișierul copiei de rezerva sa se
numeasca exercitiull.bak. Sa se scrie instructiunea SQL respectiva
BACKUP DATABASE calculatoare
TO DISK = 'Z:\Backup_labl\ exercitiull.bak’

Sa se scrie instructiunea unui backup diferentiat al bazei de date


calculatoare. Fisierul copiei de rezerva sa se numeasca exercitiul2.bsk.
BACKUP DATABASE calculatoare
TO DISK = 'Z:\Backup_labl\ exercitiull2.bak’
WITCH DIFFERENTIALL

Sa se scrie instructiunea unui backup al jurnalului de tranzactii al bazei


de date calculatoare.
BACKUP LOG calculatoare
TO DISK = 'C:\Backup_labl\ exercitiulllog.bak’

Sa se execute restaurarea consecutiva a tuturor copiilor de rezerva


create. Recuperarea trebuie sa fie realizata lntr-o baza de date noua
calc_ex. Fișierele bazei de date noise afla In dosarul BD _ex. Sa se scrie
instructiunile SQL respective
RESTORE FILELISTONLY FROM DISK='C:\ Backup_labl \ exercitiulllog.bak'

RESTORE DATABASE calc_ex FROM DISK='C:\ Backup_labl \ exercitiulllog.bak'


WITH
MOVE ’calculatoare’ TO 'C:\ BD _ex \ calc_ex.mdf',
MOVE ’calculatoare_log’TO 'C:\ BD _ex \ calc_ex .ldf',
REPLACE

Anomalii de modificare și eliminare a datelor


baza de date trebuie să fie normalizată ,astfel încât să se evite anomaliile la operaţiile de
modificare si eliminare în baza de date; pentru fiecare tabelă trebuie să se definească o cheie
primară care să identifice în mod unic o înregistrare. toate tabelele unei baze de date trebuie să
fie legate prin legături de tip cheie străină: o tabelă care nu are legătură cu celelalte tabele nu
face parte din baza de date respectivă.

Sa se creeze o procedura stocata care ar insera In baza de date un model


nou de imprimanta. in cazul In care datele inserate sunt incorecte sau
incomplete, sa se afișeze un mesaj de avertizare. in calitate de parametri
de intrare apar datele pentru modelul respectiv
CREATE PROCEDURE <nume>
@model varchar(25),
@tip varchar(25),
AS
BEGIN TRY
INSERT INTO imprimanta (mode,tip) VALUES (@model,@tip)
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber
,ERROR_MESSAGE() AS ErrorMessage;
END CATCH
GO

Tipuri de fișiere utilizate de Microsoft SQL Server


MDF (MDF înseamnă Main Database File și conține toate informațiile din baza de date. LDF
înregistrează toate tranzacțiile și modificările aduse bazei de date )
BAK (le utilizați pentru a restaura copiile de rezervă ale bazei de date)
LDF (Fișierul ldf este critic pentru recuperarea în caz de dezastru)

Proprietațile obligatorii pe care trebuie sa posede o coloana


Column name
Data type
Allow nulls

Avantajele utilizarii 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 accesibile pentru un utilizator sau un grup de
utilizatori, fapt ce permite o partajare mai simplă a accesului la baza de date

Proceduri stocate, facilitati de utilizare


Procedurile stocate In Microsoft SQL Server sunt similare procedurilor scrise in alte limbaj e de
programare.Accepta parametri de intrare returneaza multiple valori in forma de parametri.
Contin instruqiuni de programare care executa operatii asupra bazei de date, inclusiv de
chemare a altor proceduri.
 singura procedura stocata poate fi folosita de diverse programe.
 singura modificare actualizeaza automat toate sistemele care utilizeaza aceea
procedura.
 Indata ce procedura stocata este executata pe server, accesarile ulterioare se petrec
mai rapid, deoarece planul ei de executare este pastrat in memorie.

Componentele logice ale sistemului SQL Server


 Tables
 Database
 Database Diagrams
 Indexes
 Views
 Schemas
 Synonyms
 Stored Procedures
 Triggers
 Functii
 Tipuri de date
 Reguli
 Senquence

Modele de recuperare in SQL Server


Modelul de recuperare simpla Nu utilizeaza nici un jurnal al copiilor de rezerva. Recuperarea datelor
este posibila numai din cea rnai recenta copie de rezerva a bazei de date. Nu este posibila recuperarea la
o anumita data ora .
Modelul de recuperare completa Pentru restabilirea datelor necesita executarea periodica a procesului
de salvgardare, folosind jurnalul de tranzactii ~i a backup-ului complet al bazei de date. in functie de
tipul de cadere a sistemului, baza de date poate fi recuperata, fie 'in punctul ultimului backup complet,
fie 'in punctul ultimului backup, folosind jumalul de tranzactii
Modelul de recuperare masiva, folosind jurnalul de tranzactii modelul de recuperare bulk logged
reprezinta un mod special de recuperare, care mm1m1zeaza activitatea jurnalului de tranzaqii 1n
timpului operatiilor bulk. Nu este posibila recuperarea la o anumita data si ora

Structura procedurilor stocate. Parametri de intrare și de ieșire


O procedura stocata poate fi creata, folosind instructiunea CREATE PROCEDURE si modificata de
instructiunea ALTER PROCEDURE ale limbajului Transact-SQL. Procedura stocata este compusa din
nume, parametri si corp care contine instructiuni ale limbajului Transact-SQL. Instructiunea CREATE
PROCEDURE nu poate fi combinata cu alte instructiuni ale limbaju lui Transact-SQL 'intr-un singur grup.
Exista, de asemenea, un mod de determinare, daca parametrul este de intrare a datelor sa u de ie~ire a
datelor. Pentru a-i distinge, la sflirsitul parametrului de iesire, se adauga clauza OUTPUT, sau INOUT

Copiile de rezervă și tipurile lor


Copiile de rezerva ale unei baze de date pot fi utile in scopuri administrative de rutina, cum ar fi copierea
bazei de date de pe un server pe altul, crearea unei oglinzi a bazei de date sau arhivarea,sau
recuperarea.
 FULL
 diferetial
Operatori în limbajul Transact SQL
Operatori aritmetici (/%*+-)
Operatori de caractere (concatinarea)
Operatori de comparare (<> < > = == <= >= != !> !<)
Operatori la nivel de bifi (& ~ | ^)
Operatori logici (ALL BETWEN EXISTS IN LIKE NOT SOME ANY AND OR)

Tipuri de indecși acceptati de MS SQL Server


 Clustered
 Nonclustered
 Unique
 Indexed views
 Spatial
 Filtered
 Full-text
 Primary XMD Secondary XML
 Columnstore Indexes

Metodele de creare și gestionare a procedurilor stocate


O metoda presupune crearea si gestionarea procedurii stocate direct In Transact-SQL Query Editor.
O alta metoda necesita chemarea sablonului de procedura stocata din arborele de obiecte.

Regulile și constrangerile de realizare a backupurilor


 Nu pot fi create copii ale datelor deconectate (offline)
Nu pot fi executate operatiile :
 Operatiile de gestionare a fisierelor, cum ar fi instructiunile ALTER DATABASE cu optiunile ADD
FILE sau REMOVE FILE.
 Operatiile de comprimare a bazei de date sau de comprimare a unui fisier. Aici se includ
operatiile de autocomprimare.
 Operatiile de creare sau stergere a unui fisier din baza de date In timp ce operatia de backup
este In curs.
 Operatia de creare sau de stergere esueaza.

Tipurile de date utilizate de sistemul SQL Server


USER-DEFINED DATA TYPES (cea mai lnalta)
16. INT
2. SQL VARIANT
17. SMALLINT
3. XML
18. TINYINT
4 DATETIMEOFFSET
19. BIT
5. DATETIME2
20. NT EXT
6. DATETIME
21. TEXT
7. SMALLDATETIME
22. IMAGE
8 DATE
23. TIMESTAMP
9 TIME
24. UNIQUEIDENTIFIER
10. FLOAT
25. NVARCHAR
11. REAL
26. NC HAR
12. DECIMAL
27. VAR CHAR
13. MONEY
28. CHAR
14. SMALLMONEY
29. VARBINARY
15. BIGINT 30.
BINARY (cea mai joasa)

Constrângeri de integritate utilizate de SQL Server pentru mentinerea


consistentei bazei de date
NOT NULL,
UNIQUE,
PRIMARY KEY,
FOREIGN KEY
CHECK

Avantajele utilizarii sinonimelor


 Principalulavantaj al utilizarii lor este pentru micsorarea timpul necesar din partea utilizatorilor pentru
a-si crea cererile SQL. In felul acesta tabelele, vederile, secventele, procedurile sau alte obiecte au un
nume alternativ pentru access.

Tipuri de compuneri
(INNER) JOIN: Returnează înregistrările care au valori potrivite în ambele tabele
LEFT (OUTER) JOIN: Returnează toate înregistrările din tabelul din stânga și înregistrările potrivite din
tabelul din dreapta
RIGHT (OUTER) JOIN: Returnează toate înregistrările din tabelul din dreapta și înregistrările potrivite din
tabelul din stânga
FULL (OUTER) JOIN: Returnează toate înregistrările atunci când există o potrivire în tabelul din stânga
sau din dreapta

Restaurarea copiilor de rezervă


Recuperarea bazei de date presupune ca Intregul set de date fiind restaurat (setul roll forward) este
consistent cu baza de date. in cazul In care setul de roll forward-uri nu a fost rulat Inainte pentru ca sa
fie destul de consistent
RESTORE DATABASE calculatoare FROM device02 WITH NORECOVERY , REPLACE;
RESTORE LOG calculatoare FROM DISK= ' D: \ db_Backup \ de v i ce02 ca l culatoare . bak' WITH
RECOVERY

Subinterogări correlate;
 pasii de executie ai unei subinterogari corelate:
 cererea externa determina un rand candidat;
 cererea interna este executata utilizand valoarea randului candidat;
 valorile rezultate din cererea internii sunt utilizate pentru calificarea sau descalificarea randului
candidat; pasii precedenti se repetii panii cand nu mai existii randuri candidat

Constrangerile posibile asupra deplasării obiectelor dintr-o schema în


alta și asupra ștergerii schemelor.
 Permutarea obiectelor modifica si permisiunile de acces ale utilizatorilor la aceste obiecte. Toate
drepturile de acces anterioare sunt suprimate. Daca proprietarul obiectului deplasat este un
utilizator sau un rol definite explicit, atunci acestia si in continuare vor fi proprietarii acestui
obiect
 Inainte de a sterge o schema, este important sa fie deplasate sau sterse obiectele incluse.
Tentativa de a sterge o schema care contine obiecte se va termina cu esec.

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