Sunteți pe pagina 1din 10

BAZE DE

DATE
Lecția 5 – Proiectarea și
implementarea  vizualizărilor
(Views) și a procedurilor stocate
(Stored Procedures)
BAZE DE DATE

• Introducere vizualizări (views)
• Crearea și gestionarea de  vizualizări 
• Considerații de performanță pentru vizualizări 
• Introducere proceduri stocate (stored procedures)
• Tipuri de proceduri stocate
• Elementele procedurilor stocate 
• Teme și exerciții
Baze de date

Ce este un view?
• o vizualizare este un tabel virtual bazat pe setul de rezultate al unei instrucțiuni SQL
• o vizualizare conține rânduri și coloane, la fel ca un tabel real; câmpurile dintr-o vizualizare sunt câmpuri dintr-unul sau
mai multe tabele reale din baza de date
• puteți adăuga instrucțiuni și funcții SQL la o vizualizare și puteți prezenta datele ca și cum acestea provin dintr-un singur
tabel

Pentru ce folosim un view:


• vizualizările sunt în general folosite pentru a focaliza, simplifica și personaliza percepția pe care fiecare utilizator o are
asupra bazei de date
• vizualizările pot fi utilizate ca mecanisme de securitate permițând utilizatorilor să acceseze datele prin vizualizare, fără a
acorda utilizatorilor permisiuni de a accesa direct tabelele de bază ale vizualizării
• vizualizările pot fi utilizate pentru a oferi o interfață compatibilă cu versiunea inversă pentru a emula un tabel care exista
înainte, dar a cărui schemă s-a schimbat
• vizualizările pot fi folosite și atunci când copiați date în și din SQL Server pentru a îmbunătăți performanța și pentru a
partiționa datele

                                  
Baze de date

Diferențele dintre view și materialized view 


• vizualizările sunt tabele virtuale logice create de către „select query”, dar rezultatul nu este stocat nicăieri pe disc și de
fiecare dată când trebuie să realizăm o interogare, atunci când avem nevoie de date, suntem actualizați cu cele mai recente
date din tabelele originale
• vizualizările materializate sunt, de asemenea, vizualizări logice a datelor noastre, dar rezultatul interogării va fi stocat în
tabel sau pe disc, de asemenea, definiția interogării va fi stocată în baza de date

                                  

                 
Baze de date

Tipuri de views
Views indexate
• o vizualizare indexată este o vedere care a fost materializată
• vizualizările indexate pot îmbunătății dramatic performanța anumitor tipuri de interogări și funcționează cel mai bine
pentru interogările care adună multe rânduri 
• nu sunt potrivite pentru seturile de date care sunt actualizate frecvent

Views partiționate
• o vizualizare partiționată unește date partiționate orizontal dintr-un set de tabele pe unul sau mai multe servere
• o vizualizare care unește tabelele pe aceeași instanță a SQL Server este o vizualizare locală partiționată

Views de sistem
• vizualizările sistemului expun metadatele catalogului
• vizualizările de sistem sunt utilizate pentru a returna informații despre instanța SQL Server sau despre obiectele definite în
instanță                                                                   

                 
Baze de date

Stored procedures 
• O procedură stocată în SQL Server este un grup de una sau mai multe instrucțiuni Transact-SQL sau o referință la o metodă
CLR (Common Runtime Language) Microsoft .NET Framework

• Procedurile seamănă cu instrucțiunile din alte limbaje de programare deoarece pot:


- accepta parametrii de intrare și returna mai multe valori sub formă de parametri de ieșire a programului apelant
- conțin instrucțiuni de programare care efectuează operații în baza de date, acestea includ apelarea altor proceduri
- returnează o valoare de stare unui program de apelare pentru a indica succesul sau eșecul (și motivul eșecului)

• Beneficiile utilizării procedurilor stocate:


- reducerea traficului de rețea server/client
- securitate mai puternică
- reutilizarea codului
- întreținere/mentenanță mai ușoară
- performanță îmbunătățită
                                  

                 
Baze de date

Tipuri de stored procedures 


• User-defined stored procedures 
- o procedură definită de utilizator poate fi creată într-o bază de date definită de utilizator sau în toate bazele de date de sistem,
cu excepția bazei de date Resource

• Temporary stored procedures


- procedurile temporare sunt o formă de proceduri definite de utilizator
- procedurile temporare sunt ca o procedură permanentă, cu excepția faptului că acestea sunt stocate în tempdb  și există două
tipuri de proceduri temporare: # locale și ## globale 

• System stored procedures


- procedurile de sistem sunt incluse cu SQL Server (exemplu: sp_databases)

• Extended User-Defined stored procedures


- procedurile extinse permit crearea de rutine externe într-un limbaj de programare cum ar fi C
- aceste proceduri sunt DLL-uri pe care o instanță a SQL Server le poate încărca și rula dinamic

                                  
Baze de date

Stored procedures - Parametrii


• Parametrii sunt utilizați pentru a face schimb de date între procedurile stocate și aplicația sau instrumentul care a numit
procedura stocată:
- parametrii de intrare (input parameters) permit apelantului să transmită o valoare de date procedurii stocate
- parametrii de ieșire (output parameters) permit procedurii stocate să transmită o valoare de date sau o variabilă cursor
înapoi apelantului

                                  

                 
Baze de date

Temă 
• Creați două vizualizări (standard și indexată) pe o bază de date la alegere, iar pentru cea indexată creați indecși adecvați
pentru a îmbunătății performanța
• Creați trei proceduri stocate( simplă și cu parametrii) pe o bază de date la alegere

                                  

                 
Baze de date 

Extra reading
Views
https://docs.microsoft.com/en-us/sql/relational-databases/views/views?view=sql-server-ver15
https://www.w3schools.com/sql/sql_view.asp
https://www.geeksforgeeks.org/sql-views/
https://docs.microsoft.com/en-us/sql/relational-databases/views/create-indexed-views?view=sql-server-ver15

Stored procedures
https://docs.microsoft.com/en-us/sql/relational-databases/stored-procedures/stored-procedures-database-engine?view=sql-serv
er-ver15
https://www.w3schools.com/sql/sql_stored_procedures.asp
https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/system-stored-procedures-transact-sql?vie
w=sql-server-ver15
  - aceasta este lista procedurilor de sistem, în caz că este necesar să vedeți informații despre o anumită procedură

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