Deşi am putea scrie o carte întreagă despre bazele de date relaţionale, şi o alta despre SQL, esenţialul nu este greu de înţeles. O bază de date este un depozit de date. O bază de date relaţională organizeză datele în tabele.
Microsoft SQL Server este o bază a Structured Query Language (SQL), baza de date relaţională client-server. Fiecare din aceşti termeni descrie o parte fundamentala a arhitecturii SQL Server.
Istoria SQL (Structured Query Language) începe în laboratoarele IBM din San Jose, unde limbajul a fost dezvoltat în ultimii ani deceniului 8. Iniţial a fost dezvoltat pentru produsul DB2 al IBM. SQL este diferit de limbajele procedurale si 3GL care au fost create de atunci, SQL fiind un limbaj procedural.
SQL este limbajul standard folosit pentru manipularea si regăsirea datelor din aceste baze de date relaţionale. Prin SQL un programator poate face următoarele lucruri:
. să modifice structura unei baze de date;
. să schimbe valorile de configurare pentru securitatea sistemului;
. să interogheze o bază de date asupra informaţiilor;
. să adauge drepturi utilizatorilor asupra bazelor de date sau tabelelor;
. să actualizeze conţinutul bazei de date.
Ca şi un fişier de date, o bază de date nu prezintă direct informaţia unui utilizator; utilizatorul rulează o aplicaţie care accesează date din baza de date şi le prezintă utilizatorului într-un format inteligibil.
Sistemele baze de date sunt mai puternice decât fişierele de date, datele fiind mai bine organizate. Într-o bază de date bine proiectată nu există elemente de date duplicate pe care utilizatorul sau aplicaţia să le actualizeze. Elementele legate de date sunt grupate împreună într-o singură structură sau înregistrare şi pot fi definite relaţii între aceste structuri sau înregistrări.
Când se lucrează cu fişiere de date o aplicaţie trebuie să fie codată să lucreze cu o structură specifică a fiecărui fişier de date. Spre deosebire de acestea, o bază de date conţine un catalog pe care aplicaţiile îl folosesc pentru a determina cum sunt organizate datele. Aplicaţiile generale cu baze de date pot folosi catalogul să prezinte utilizatorilor date din diferite baze de date în mod dinamic fără existenţa unei legături spre un format de date specific.
O bază de date tipică are două componente: fişierele care conţin baza de date fizică şi softul Database Management System (DBMS) pe care aplicaţiile îl folosesc pentru a accesa date. DBMS este responsabil pentru aplicarea structurii bazei de date cuprinzând:
. Întreţinerea relaţiilor între datele din baza de date;
. Asigurarea ca toate datele sunt stocate corect si ca nu sunt violate regulile care definesc relaţiile dintre date;
. Recuperarea tuturor datelor până la un punct în caz că sistemul cade.
3.6.1. Baze de date relaţionale
Există mai multe moduri pentru a organiza datele într-o bază de date, dar bazele de date relaţionale sunt unele din cele mai eficace. Sistemele baze de date relaţionale sunt o aplicaţie a teoriei serviciului matematic în problema organizării efective a datelor. Într-o bază de date relaţională datele sunt adunate în tabele (denumite relaţii în teoria relaţională).
O tabelă reprezintă o anumită clasă de obiecte care este importantă pentru o organizaţie. Când se organizează datele în tabele se pot găsi mai multe moduri diferite de a defini tabelele. Teoria bazelor de date relaţionale defineşte un proces normalizat prin care se asigură că setarea tabelelor definite de utilizator vor organiza efectiv datele.
O bază de date în Microsoft SQL Server constă într-o colecţie de tabele care stochează un set specific de date structurate. O tabelă conţine o colecţie de linii şi coloane. Fiecare coloană în tabelă este proiectată pentru a stoca un anumit tip de informaţie (de exemplu nume, date, bani, sau numere). Tabelele au câteva tipuri de controale (constrângeri, reguli, triggere, valori implicite şi tipuri de date definite de utilizator) care asigură valabilitatea datelor. Tabelele pot avea indecşi care permit găsirea rapidă a liniilor. Constrângerile DRI (Declarative Referetial integrity) pot fi adăugate tabelelor pentru a asigura ca datele intercorelate în diferite tabele rămân compatibile. O bază de date poate stoca de asemenea proceduri care folosesc limbajul de programare Transact-SQL pentru a executa operaţii cu date în baza de date, astfel stocând view-uri aceasta poate furniza acces personalizat la datele din tabelă.