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. Të gjitha dialektet e SQL-së përmbajnë disa bashkësi komandash qe mund te klasifikohen si nën-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
RedaktoSQL 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ërtërirë 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 zhvilloi 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 kompanisë ajrore Hawker Siddeley e themeluar në Britaninë e Madhe.
Queries
RedaktoVeprimi 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ë tabelave ose shprehjeve. 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
RedaktoGjuha 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
RedaktoBazuar ne Gjuhën standart SQL janë krijuar gjuhë te tjera për manaxhim bazash të dhënash te tipeve te ndryshme si shembujt ne tabele:
DB | Lloji SQL | Emri i plotë |
---|---|---|
SQL Server | T-SQL | Transact-SQL |
Oracle | PL/SQL | Procedural Language/SQL (based on Ada) |
IBM DB2 | SQL PL | SQL Procedural Language (implements SQL/PSM) |
PostgreSQL | PL/pgSQL | Procedural Language/PostgreSQL Structured Query Language (implements SQL/PSM) |
IBM Informix | SQL SPL | Informix Dialect of SQL and Stored Procedural Language |
IBM Netezza | NZPLSQL | (based on Postgres PL/pgSQL) |
MySQL | SQL/PSM | SQL/Persistent Stored Module (implements SQL/PSM) |
SAP HANA | SQLScript | SQLScript |
Shih edhe
RedaktoLidhje të jashtme
Redakto- 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.