SQL
SQL (Structured Query Language) është një gjuhë kompjuterike e projektuar për menaxhimin e të dhënave në sistemet e menaxhimit të bazës së të dhënave relative (Relational data base management system), dhe fillimisht e bazuar mbi algjebrën relative. Disa RDBMS që përdorin SQL janë Oracle, Sybase, Microsoft SQL Server, Access, Ingres, etc. SQL përmban disa bashkësi komandash qe mund te klasifikohen si nen-gjuhe programimi (sublanguage) :
- Data Query Language (DQL) është bashkësia e komandave që përdoret për të kërkuar dhe afishuar të dhëna në një DB si psh komanda "Select".
- Data Definition Language (DDL) është bashkësia e komandave që përdoret për të përcaktuar skemën e objekteve të të dhënave dhe relatat midis tyre. Këto komanda krijojnë, modifikojnë dhe fshijnë objekte të bazës së të dhënave si DB, tabela, kollona, indekse etc. Shembuj te komandave DDL janë "Create Object", "Drop Object", "Alter Object".
- Data Manipulation Languange (DML) eshte bashkesia e komandave që mundëson manipulimin e të dhënave që ruhen brenda objekteve te databazës si krijimin, azhornimin, fshirjen e te dhenave. Shembuj të ketyre komandave janë Insert, Update, Delete.
- Data Control Language (DCL ) është bashkësia e komandave që përdoret për të autorizuar aksesin ne objekte, funksione dhe te dhena ne nje RDBMS. Shembuj te ketyre komandave jane GRANT, REVOKE etc.
Historia
SQL u zhvilluar ne IBM nga Donald D. Chamberlin dhe Raymond F. Boyce në fillim të viteve 1970. Ky version, i quajtur fillimisht SEQUEL, është projektuar për të manipuluar dhe ripërtrij të dhënat e ruajtura në produkt origjinal të të dhënave relacionale të IBM, (System R). Gjatë viti 1970, një grup në IBM San Jose Research Laboratory zhvilloj Sistemin R të menaxhimit të sistemit të bazës së të dhënave relacionale. Donald D.Chamberlin dhe Raymond F.Boyce fillimisht e quajtën Structured English Query Language (SEQUEL ose SEQL). Emri SEQUEL u ndryshua më vonë në SQL sepse "SEQUEL" ishte një markë e avio-kompanisë Hawker Siddeley e themeluar në Britanin e Madhe.
Queries
Operacioni më i zakonshëm në SQL është query, i cili është paraqitet me komandën SELECT. SELECT rinxjerr të dhëna prej një ose më shumë tabela ose shprehje. Standard deklaratat SELECT nuk kanë efekte të vazhdueshme mbi bazën e të dhënave. Queries lejojnë përdoruesit për të përshkruar të dhënat e dëshiruara, duke ja lënë sistemit të menaxhimit të bazës së të dhënave (DBMS) përgjegjësinë për planifikimin. Një pyetje përfshin një listë të kolonave që përfshihen në rezultatin përfundimtar menjëherë pas fjalës SELECT. Një yll ("*") mund të përdoret gjithashtu që të specifikojë nëse query duhet të paraqesë të gjitha kollonat e tabelave. SELECT është deklarata më e ndërlikuar në SQL, me fjalë kyçe opsionale dhe dispozitat përfshirëse.
Sintaksa SQL, Elementet e gjuhës
Gjuha SQL përbëhet nga disa elemente që përfshijnë:
- Klauzolat (Clauses) që janë pjesët përbërëse të Shprehjeve dhe të Queries
- Shprehjet (Expressions) që mund të prodhojnë vlera skalare ose tabela
- Kushtet (Predicates) që përcaktojnë konditat në bazë të të cilave do limitohet efekti i queries ose statement
- Pyetësorët (Queries) që marin të dhënat nga DB bazuar mbi disa kritere
- Deklaruesit (Statements) që kanë efekt permanent në sktrukturë dhe në të dhënat e DB, mund të kontrollojnë transaksionet, koneksionet, rrjedhën e programeve, të drejtat etj.
Elementet e gjuhës SQL, pjesë përbërëse të një statement jane ilustruar në fig.
Gjuhë të tjera të ngjashme
Bazuar ne Gjuhën standart SQL janë krijua gjuhë te tjera për manaxhim bazash të dhënash te tipeve te ndryshme si ne tabele:
Krijuesi | Emri | Emri i plotë |
---|---|---|
ANSI/ISO Standard | SQL/PSM | SQL/Persistent Stored Modules |
Firebird | PSQL | Procedural SQL |
IBM DB2 | SQL PL | SQL Procedural Language (implements SQL/PSM) |
IBM Informix | SPL | Stored Procedural Language |
IBM Netezza | NZPLSQL | (based on Postgres PL/pgSQL) |
Invantive | PSQL | Invantive Procedural SQL (implements SQL/PSM and PL/SQL) |
Microsoft / Sybase | T-SQL | Transact-SQL |
Mimer SQL | SQL/PSM | SQL/Persistent Stored Module (implements SQL/PSM) |
MySQL | SQL/PSM | SQL/Persistent Stored Module (implements SQL/PSM) |
MonetDB | SQL/PSM | SQL/Persistent Stored Module (implements SQL/PSM) |
NuoDB | SSP | Starkey Stored Procedures |
Oracle | PL/SQL | Procedural Language/SQL (based on Ada) |
PostgreSQL | PL/pgSQL | Procedural Language/PostgreSQL Structured Query Language (implements SQL/PSM) |
SAP R/3 | ABAP | Advanced Business Application Programming |
SAP HANA | SQLScript | SQLScript |
Sybase | Watcom-SQL | SQL Anywhere Watcom-SQL Dialect |
Teradata | SPL | Stored Procedural Language |
Shih edhe
Lidhje të jashtme
- 1995 SQL Reunion: People, Projects, and Politics, by Paul McJones (ed.): transcript of a reunion meeting devoted to the personal history of relational databases and SQL.
- American National Standards Institute. X3H2 Records, 1978-1995 Charles Babbage Institute Collection documents the H2 committee’s development of the NDL and SQL standards.
- Oral history interview with Donald D. Chamberlin Charles Babbage Institute In this oral history Chamberlin recounts his early life, his education at Harvey Mudd College and Stanford University, and his work on relational database technology. Chamberlin was a member of the System R research team and, with Raymond F. Boyce, developed the SQL database language. Chamberlin also briefly discusses his more recent research on XML query languages.
- Comparison of Different SQL Implementations This comparison of various SQL implementations is intended to serve as a guide to those interested in porting SQL code between various RDBMS products, and includes comparisons between SQL:2008, PostgreSQL, DB2, MS SQL Server, MySQL, Oracle, and Informix.