Përgatiti: Skender Mustafi
Hyrje
SQL (shqiptohet, nga anglishtja, “es-kju-el”) është shkurtesë nga anglishtja Structured Query Language që në shqip përkthehet si Gjuha e Strukturuar e Kërkimit. SQL shfrytëzohet për komunikim me bazën e të dhënave të cilat mund të ruajnë, redaktojnë dhe të grisin të dhënat. SQL gjithashtu definohet edhe si sistem për menaxhimin relativ të bazave të të dhënave. Për herë të parë u paraqit nga Edgar F. Cood në vitin 1970 në punimin e tij shkencor “A Relational Model of Data for Large Shared Data Banks” (shqip: “Modeli Relativ i të Dhënave për Bazat e Mëdha të të Dhënave të Shpërndara”) (Cood, 1970). Sisteme të njohura të llojit SQL janë: Oracle, Sybase, Microsoft SQL Server, Access, Ingres, e të tjera. Ajo që duhet theksuar në këtë pikë është fakti se çdo kompani e cila merret me programimin e sistemeve SQL të bazave përveç të dhënave standarde përcakton dhe të dhënat specifike të cilat zakonisht mund të shfrytëzohen vetëm tek sistemi i tyre.
Komandat
Komandat standarde përmes të cilave kryhen të gjitha operacionet në SQL janë:
- “Select” (përzgjidh) – për të përzgjedhur të dhënat në bazë të gjuhës së paradefinuar relative
- “Insert” (shto) – për të shtuar të dhënat në bazën e të dhënave
- “Update” (fresko) – për të freskuar fushat e tabelës ekzistuese me informacione të reja
- “Delete” (gris) – për të grisur të dhënat ekzistuese në tabelë
- “Create” (krijo) – për të krijuar tabela të reja në bazën e të dhënave
- “Drop” (largo) – për të grisur bazat e të dhënave nga sistemi i bazave të të dhënave
Operatorët
Operatorët janë shenjat përmes të cilave përcaktohen veprimet të cilat definohen për manipulimin me të dhënat në tabelë. Më poshtë janë paraqitur operatorët dhe përshkrimi i tyre dhe nga një shembull i thjeshtë për të sqaruar kuptimin e secilit nga operatorët. Vini re: Operatorët të cilët në vete janë një fjal në anglisht nuk mund të përkthehen, por duhet të shfrytëzohen ashtu siç janë.
Operatori | Përshkrimi | Shembull |
= | e barabartë me | Faqja = 'Fjalaime' |
<> | e pa barabartë me (në shumë raste shkruhet si !=) | Reparti <> 'Marketing' |
> | Më i/e madh se | Dita_e_punësimit > '2012-01-31' |
< | Më i/e vogël se | Fitime < 50000.00 |
>= | Më i/e madh ose e barabart se | punëtorë >= 2 |
<= | Më i/e bogël ose e barabart se | norma <= 0.05 |
BETWEEN | Përbrenda një tërësie të caktuar | Cost BETWEEN 100.00 AND 500.00 |
LIKE | Match a character pattern | First_Name LIKE 'Will%' |
IN | është njëjtë sikur një nga shumë zgjedhjet | Shitje IN (101, 103, 209) |
IS or IS NOT | Krahasimi me null (në mungesë të të dhënave) | Numri_i_telefonit IS NOT NULL |
Operacione
Duke shfrytëzuar operatorët e paraqitur në tabelën më sipër mund të manipulojmë me të dhënat sipas dëshirës. Kështu mund të shkruajmë kode të cilët na mundësojmë që të ndërhymë në bazat e të dhënave për të ndryshuar ato pa pasur nevojë që të veprojmë drejtpërdrejtë tek bazat e të dhënave. Më poshtë po paraqesim disa shembuj të operacioneve në SQL:
Krijimi i tabelave
Krijimi i një tabele të thjeshtë për vizitorët e një restoranti. Emri dhe mbiemri janë çelësa primarë, që do të dhotë se tabela organizohet në vete dhe vepron me tabelat tjera në bazë të këtyre parametrave.
CREATE TABLE Vizitoret
(Emri VARCHAR(20) NOT NULL,
Mbiemri VARCHAR(20) NOT NULL,
Mosha NUMBER(4),
Rruga VARCHAR(20),
Qyteti VARCHAR(20) NOT NULL,
PRIMARY KEY (Emri, Mbiemri))ENGINE=InnoDB;
Leximi i të dhënave
Leximi i disa nga të dhënat e tabelës, mund të bëhet përmes kodit më poshtë. Kuptohet që sasia e të dhënave të cilat duam të i shpalosim nga tabela qëndron në vullnetin/nevojën tonë dhe ne përcaktojmë përmes kodit. Shembull:
leximi i të gjithë vizitorëve, moshës së tyre dhe qytetit nga i cili vijen
select Emri, Mbiemri, Mosha, Qyteti from Vizitoret
where Mosha > 18;
ose leximi i të gjithë vizitorëve nga Tirana
select Emri, Mbiemri, Qyteti from Vizitoret
where Qyteti = "Tirana";
ose leximi i të gjitha të dhënave nga tabela
select * from Vizitoret;
Shtimi i të dhënave
Të dhënat mund lehtë të shtohen tek tabelat ekzistuese tek baza e të dhënave si vijon:
INSERT INTO Vizitoret
(Emri, Mbiemri, Qyteti)
VALUES
('Skender', 'Mustafi', NULL);
Freskimi i të dhënave
Të dhënat mund të freskohen si vijon:
UPDATE Vizitoret
SET Emri = 'Durim'
WHERE Mbiemri = 'M';
Grisja e të dhënave
Të dhënat nga tabela mund të grisen si vijon:
DELETE FROM Vizitoret
WHERE Mbiemri = 'M';
Bashkimi i të dhënave
Me operacionin e bashkimit mund të kombinohen të dhënat e dy e më shumë tabelave të ndryshme.
MERGE INTO Vizitoret referena_e_tabeles ON (kushti sipas të cilit bëhet bashkimi)
WHEN MATCHED THEN
UPDATE SET Emri = "Skender" [, Mbiemri = "Mustafi" ...]
WHEN NOT MATCHED THEN
INSERT (Emri [, Mbiemri ...]) VALUES ("Skender" [, "Mustafi" ...
Referencat
- Edgar F. Codd (1970), “A Relational Model of Data for Large Shared Data Banks”, “Communications of the ACM”, vëllimi 13, numri 6, viti 1970, së fundi lexuar më 11 nëntor 2013 tek http://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf