Documente Academic
Documente Profesional
Documente Cultură
Sistemul de gestiune a bazelor de date, Microsoft SQL Server, ajuns la versiunea a 8 a (SQL Server 2000), este un sistem
din clasa Enterprise, oferind din punct de vedere tehnologic caracteristici şi performanţe care permit dezvoltarea unor
aplicaţii la scară mare, extensibile şi performante.
Dezvoltarea aplicaţiilor de baze de date necesită limbaje de programare cât mai flexibile care să permită utilizatorului
implementarea unui set cât mai mare de funcţii şi de algoritmi de programare. În acest sens, limbajul SQL este un mediu
performant prin intermediul căruia pot fi manipulate obiectele si înregistrarile din baza de date. Totuşi SQL prezintă un
oarecare dezavantaj care constă în esenţa neprocedurală a acestuia. SQL nu include instrucţiuni condiţionale (IF) sau
instrucţiuni prin intermediul cărora pot fi repetate anumite secţiuni de cod (While).
SQL Server reprezintă un fragment dintr-un miez al unei familii de produse integrate care include dezvoltarea de unelte de
management al sistemelor, componente distribuite de sistem şi dezvoltarea deschisă de interfeţe.
SQL (Structured Query Language - limbaj de interogare structurat) este utilizat în comunicarea cu baza de date. Potrivit
ANSI (American National Standards Institute) SQL este limbajul standard pentru sistemele de management al bazelor de
date relaţionale. Propoziţiile SQL sunt utilizate pentru a efectua actualizări ale datelor sau retrageri de date dintr-o bază de
date. Câteva dintre sistemele de management al bazelor de date relaţionale pe care SQL le utilizează sunt: Oracle, Sybase,
Microsoft SQL Server, Access, Ingres, etc. Deşi, aproape toate sistemele de baze de date folosesc SQL, unele dintre ele au
proprile extensii adiţionale care se folosesc de obicei doar in sistemul lor. Cu toate acestea, comenzile SQL standard ca:
\"Select\", \"Insert\", \"Update\", \"Delete\", \"Create\" şi \"Drop\" sunt suficiente pentru a lucra cu baza de date.
Un sistem de bază de date relaţionale conţine unul sau mai multe obiecte (componente logice) numite tabele, care
stochează datele sau informaţile bazei de date. Tabelele sunt identificate unic prin numele lor şi conţin linii şi coloane.
Coloanele conţin numele coloanelor, tipul de date şi oricare alte atribute pentru coloane. Liniile conţin înregistrările sau
datele pentru coloane.
Implementarea fizică a fişierelor este transparentă. În mod normal, doar administratorul bazei de date lucrează cu
implementarea fizică.
Caracteristici:
♦ SQL Server 2000 reduce munca administrativă în multe domenii prin achiziţionarea şi eliberarea dinamică a resurselor.
Serverul achiziţionează dinamic resursele cum ar fi: memoria şi spaţiul de pe disc ori de câte ori este nevoie, şi eliberează
resursele când nu mai sunt necesare. Deşi marile sisteme OLTP cu performanţe critice sunt încă monitorizate de
administratori competenţi, SQL Server 2000 poate fi utilizat şi la implementarea bazelor de date desktop sau workgroup mici
care nu necesită atenţie permanentă din partea administratorului.
♦ SQL Server 2000 oferă un set de unelte grafice care permit administratorilor sa efectueze sarcini administrative simplu şi
eficient.
♦ SQL Server 2000 oferă un set de servicii care permit administratorilor să programeze execuţia automată a sarcinilor
repetitive.
♦ Administratorii SQL Server 2000 pot programa serverul astfel încât acesta să trateze condiţiile de excepţie, sau ce puţin să
trimită e-mail sau pagini administratorului de serviciu.
♦ SQL Server 2000 publică aceeaşi interfaţă API (Application Programming Interfaces) utilizată de SQL Server. Aceste
interfeţe suportă toate sarcinile administrative ale SQL Server.
3.1.2.2. Suport pentru dezvoltarea data tier ului
Pentru nivelul de date, avem nevoie de metode de interogare şi modificare a datelor într un regim tranzacţional care să
ofere protecţie la erori şi verificarea permanentă a integrităţii datelor.
În general, accesul la datele dintr o bază de date se face prin limbajul de manipulare a datelor (LMD). În cadrul SQL Server
se foloseşte limbajul SQL.
Nivelul de acces la date va accesa baza de date printr o interfaţă oferită de un set de proceduri stocate. Accesul prin
proceduri stocate şi nu prin cod SQL generat de nivelul de acces la date oferă siguranţă şi control asupra structurii de date.
Având în vedere că sarcina de a scrie procedurile stocate revine administratorului bazei de date, controlul asupra operaţiilor
permise, a modului de realizare a lor şi îndeplinirea condiţiilor de integritate se păstrează în mediul dezvoltatorilor bazei de
date, adică cei ce construiesc, modifică şi întreţin acea structură. Deşi distribuţia e o paradigmă modernă şi la modă, în
acest caz, luarea deciziei de a menţine controlul centralizat asupra mijloacelor de acces la baza de date oferă o siguranţă
sporită a bazei de date în sine şi a datelor conţinute de ea.
Baza de date suport a sistemului informatic universitar este o baza de date integrată, cu o structură puternic normalizată şi
care trebuie să permită acces permanent şi rapid tutror departamentelor şi structurilor universitare. Datele conţinute trebuie
bine structurate pentru a modela întregul proces şi flux de informaţii şi date ale universitaţii şi trebuie bine protejate, având
o valoare incontestabilă. Din aceste motive, accesul la baza de date se va face numai prin intermediul procedurilor stocate,
proiectate, scrise şi verificate de către administratorul bazei de date. Pentru a realiza acestea, sistemul Microsoft SQL Server
oferă posibilitatea de a crea şi rula proceduri stocate, bucăţi de cod SQL, care pot conţine interogări sau operaţii de
modificare şi ştergere, ele fiind parametrizabile şi putând întoarce rezultate programului apelant. O caracteristică foarte
importantă a sistemului este oferirea unui mediu tranzacţional sigur, acesta fiind indispensabil pentru îndeplinirea cu succes
a unor operaţii complexe asupra datelor.
3.1.2.3. Setul de comenzi SQL
Operaţia fundamentală în SQL este maparea reprezentată din punct de vedere sintactic printr-o construcţie SELECT-FROM-
WHERE. Această construcţie corespunde unei succesiuni de operatori algebrici de forma selecţie-proiecţie-cuplare, foarte
frecventă în algebra relaţională.
Clauza SELECT realizează operaţie de proiecţie şi este urmată de lista atributelor care se reţin în relaţia rezultat. Proiecţia
SQL diferă de operatorul de proiecţie din algebra relaţională prin faptul că nu elimină tuplele duplicat. Eliminarea tuplelor
duplicat se face de către utilizator, atunci când se doreşte, prin folosirea operatorului DISTINCT.
Operaţia de cuplare poate fi realizată prin clauza FROM, atunci când este urmată de o listă formată din cel puţin două nume
de relaţie, împreună cu condiţia de cuplare formulată în cazul predicatului din clauza WHERE.
3.1.2.3.1. Selecţia
Selecţia este realizată prin clauza WHERE, care, de obicei, este urmată de un predicat referitor la atributele relaţiilor folosite
în clauza FROM. Expresia care urmează această clauză poate conţine comparaţii de atribute şi/sau expresii aritmetice,
operatori logici (AND,OR,NOT), operatori pe mulţimi (UNION,INTERSECT,MINUS) şi operatori de apartenenţă la mulţimi cu
negările acestora (X IN S, X NOT IN S,S CONTAINS X, S DOES NOT CONTAIN X, unde S este o relaţie, iar X este o tuplă sau
o relaţie caz în care este vorba de incluziune între mulţimi). Expresia care urmează clauzei WHERE poate să conţină operanzi
care sunt relaţii rezultate din alte construcţii SELECT asigurându-se astfel posibilitatea imbricării acestora în interogări
complexe.
Sintaxa completă a instrucţiunii SELECT:
SELECT [DISTINCT] nume_atribut1.
FROM nume_relaţie[variabila_de_tuplă].
[WHERE condiţie_de_căutare]
[GROUP BY expresie_de_grupare]
[HAVING conditie_de_selecţie_grup]
[ORDER BY expresie_de_ordonare[ASC|DESC]]
În SQL Server se poate folosi operatorul UNION pentru a reuni rezultatele mai multor fraze SELECT într-o singură relaţie
rezultat.
Sintaxa:
{}
UNION[ALL]
UNION[ALL]
[.n]]