Sunteți pe pagina 1din 13

SQL a fost initial dezvoltat de IBM de catre Donald D.

Chamberlin si Raymond F. Boyce in annul 1974, initial,


numele era SEQUEL, avea ca scop manipularea si
regasirea datelor stocate in bazele de date relationale
IBM.
La sfarsitul anilor 70, Relational Software, in prezent
Oracle Corporation a vazut potentialul acestor concept
descries de Codd, Chamberlin si Boyce, si a dezvoltat
propriul SQL RDBMS cu aplicatii la U.S. Navy, Central
Intelligence Agency si U.S. government. In iunie 1979,
Relational Software, Inc. a introdus prima implementare
comerciala disponibila de SQL, Oracle. Dupa testarea
SQL, au aparut implementari ale acestui limbaj si din
partea firmei IBM: SQL/DS si DB2.
SELECT CompanyName, Country FROM
Customers WHERE Country <> USA
Company Country
Island Trading US
Galeria del gastronomo Spain
Laughing Bacchus Wine Cellars Canada
Paris specialites France
Simons bistro Denmark
Wolski Zajazd Poland
SQL este un limbaj standard pentru accesarea
si manipularea bazelor de date
SQL- Structured Query Language
SQL este un standard ANSI (American National
Standards Institute)
SQL poate executa interogari la baza de date;
SQL poate extrage date din baza de date;
SQL poate insera inregistrari in baza de date;
SQL poate actualiza inregistrari in baza de date;
SQL poate sterge inregistrari din baza de date;
SQL poate crea noi baze de date;
SQL poate crea noi tabele in baza de date;
SQL poate crea procedure stocate, functii, triggere;
SQL poate crea vizualizari in baza de date
SQL poate stabili permisiuni asupra entitatilor din baza de date
Cu toate ca SQL este un standard ANSI, exista mai multe
versiuni ale limbajului SQL;
Totusi, cel putin comenzile principale (SELECT, UPDATE,
INSERT, DELETE) sunt premise intr-un mod aproape unitary
de toate implementarile, pentru compatibilitate.
Avem nevoie de un system de gestiune a bazelor de
date
Microsoft SQL Server
MySQL
Oracle
IBM DB2
Microsoft Access
Limbajul SQL este divizat in urmatoarele elemente:
Clauze care sunt component ale instructiunilor si interogarilor;
Expresii al caror effect este producerea de valori scalare sau tabele;
Predicatele pot specifica conditii care sunt evaluate de SQL
conform logicii ternare sau logicii booleene, in scopul limitarii
efectelor instructiunilor, sau pentru a influenta cursul programului;
Interogarile au ca scop regasirea datelor dupa criteria specifice;
Instructiunile pot avea un effect persistent asupra datelor sau
structurii datelor, sau pot controla tranzactiile, conexiunile sau cursul
programului.
Oricarei coloane dintr-un tabel SQL ii este asignat un tip de
data, la fel ca in toate celelalte limbaje de programare.
Tipurile de date sunt urmatoarele:
CHARACTER (sau CHAR) - sir de caractere;
INTEGER (sau SMALLINT) - numar intreg;
FLOAT, REAL sau DOUBLE PRECISION - numar real;
NUMERIC(precision, scale) sau DECIMAL(precision, scale) -
numar zecimal , unde precision inseamna numarul de cifre
din partea intreaga, scale inseamna numarul de zecimale;
DATE - data zilei;
TIME - ora.

O baza de date contine cel putin o tabela identificata
prin nume
Tabelele contin inregistrari cu date



3 inregistrari, 5 campuri (coloane)
P_Id LastName FirsName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavager
Majoritatea operatiilor effectuate asupra bazelor de
date se fac cu comenzi/instructiuni SQL
SELECT*FROM Persons
SQL nu tine cont de diferenta dintre litere mari si mici
Unele SGBD-uri necesita caracterul ; dupa instructiuni.
Astfel se separa instructiunile SQL pentru ca sa se poata
executa mai multe instructiuni una dupa alta intr-un
singur batch.
DML Data Manipulation Language comenzile pentru
extragere si actualizare
SELECT extrage date din baza de date
UPDATE actualizeaza date in baza de date
DELETE sterge inregistrari din baza de date
INSERT INTO insereaza date noi in baza de date
DDL Data Definition Language comenzi pentru
creare/modificare baza de date, tabele, indecsi,
stabilire legaturi intre tabele, constrangeri.
CREATE DATABASE
ALTER DATABASE
CREATE TABLE
ALTER TABLE
DROP TABLE
CREATE INDEX
DROP INDEX