Baze de date SQL
SQL (de la numele englez Structured Query Language - limbaj de
interogare structurat - care se pronunță [es kiu el]) este un limbaj de programare
specific pentru manipularea datelor în sistemele de manipulare a bazelor de date
relaționale (RDBMS), iar la origine este un limbaj bazat pe algebra relațională.
Acesta are ca scop inserarea datelor, interogații, actualizare și ștergere,
modificarea și crearea schemelor, precum și controlul accesului la date. A
devenit un standard în domeniu (standardizat ANSI-ISO), fiind cel mai popular
limbaj utilizat pentru crearea, modificarea, regăsirea și manipularea datelor de
către SGBD-urile (Sistemele de Gestiune a Bazelor de Date) relaționale. Pe
lângă versiunile standardizate ale limbajului, există o mulțime de dialecte și
variante, unele proprietare, fiind specifice anumitor SGBD-uri și de asemenea
conținând extensii pentru a suporta SBD-urile (Sistemele de Baze de Date)
obiectuale (obiectual-relaționale).
SQL permite atât accesul la conținutul bazelor de date, cât și la structura
acestora.
SQL a fost inițial dezvoltat la compania IBM de către Donald D.
Chamberlin și Raymond F. Boyce în anul 1974. Inițial numele era SEQUEL (tot
de la Structured Query Language) și avea ca scop manipularea și regăsirea
datelor stocate în bazele de date relaționale IBM. [1]
La sfârșitul anilor '70, compania Relational Software, Inc. (în
prezent Oracle Corporation) a văzut potențialul acestor concepte descrise de
Codd, Chamberlin și Boyce, și a dezvoltat propriul SQL RDBMS cu aplicații
la U.S. Navy, Central Intelligence Agency și U.S. government. În iunie 1979,
Relational Software a introdus prima implementare comercială disponibilă de
SQL, Oracle. După testarea SQL, au apărut implementări ale acestui limbaj și
din partea firmei IBM: SQL/DS și DB2.
Limbajul SQL este divizat în următoarele elemente:
Clauze, care sunt componente ale instrucțiunilor și interogărilor. [3]
Expresii, al căror efect este producerea de valori scalare sau tabele.
Predicates, pot specifica condiții care sunt evaluate de SQL
conform logicii ternare sau logicii booleene, în scopul limitării
efectelor instrucțiunilor, sau pentru a influența cursul programului.
Interogările, au ca scop regăsirea datelor după criterii specifice.
Instrucțiunile, pot avea un efect persistent asupra datelor sau structurii
datelor, sau pot controla tranzacțiile, conexiunile sau cursul
programului. În general, instrucțiunile SQL se termină cu caracterul
punct-virgulă (";"), deși acest lucru nu este obligatoriu în toate
platformele SQL. Spațiile albe suplimentare sunt ignorate, dar ele pot
fi folosite pentru lizibilitatea codului SQL.
Oricărei coloane (sau câmp) dintr-un tabel SQL îi este asignat un tip de
dată, la fel ca în toate celelalte limbaje de programare. Tipurile de date sunt
următoarele:
CHARACTER (sau CHAR) - șir de caractere
INTEGER (sau SMALLINT) - număr întreg
FLOAT, REAL sau DOUBLE PRECISION - număr real
NUMERIC(precision, scale) sau DECIMAL(precision, scale) - număr
zecimal , unde “precision” înseamnă numărul de cifre din partea întreagă,
“scale” înseamnă numărul de zecimale.
DATE - data zilei.
TIME - ora.
Trasaturi caracteristice SQL
SQL este prezentat in limba engleza. Foloseste cuvintele select, insert,delete
ca parti ale setului de comenzi.
SQL este un limbaj neprocedural :specifica ce informatii doresti,nu cum sa le
[Link] alte cuvinte SQL nu iti cere sa specifici metoda de acces la
[Link] cererile SQL folosesc optimizarea cererilor- o parte a RDBMS-
pentru a determina rapid remedierea datelor specifi- [Link] trasaturi
usureaza obtinerea rezultatelor dorite.
Procesarea SQL asupra inregistrarilor nu se poate face decit asupra unei
singure inregistrari la un moment [Link] mai comuna forma a unui set de
inregistrari este un tabel.
SQL poate fi folosit de un sir de utilizatori incluzand DBA, programatori de
aplicatii ,personal de management si multe alte tipuri de utilizatori.
SQL pune la dispozitie comenzi pentru o varietate de tascuri incluzand:
o date interogate
o inserarea,extragerea si stergerea rindurilor intr-un tabel.
o crearea,modificarea si stergerea obiectelor de tip baza de date
o controlul accesului la baza de date si la obiectele de tip baza de date.
o garantarea consistentei bazei de date
La inceput sistemele de management a bazei de date a utilizat un limbaj separat
pentru fiecare categorie in [Link] le-a unificat pe toate acestea intr-un singur
limbaj.