Struktuurpäringukeel

Struktuurpäringukeel (ingl Structured Query Language''', SQL) on andmebaasi päringukeel, mis on loodud relatsioonbaasihaldurite (RDBMS) jaoks. Algselt põhines ta relatsioonialgebral. See hõlmab andmete päringuid, uuendamisi, struktuuri loomist ja muutmist ning andmete juurdepääsu kontrolli. SQL oli üks esimesi keeli Edgar Frank Coddi relatsioonmudelile tema mõjukast 1970. aasta tööst "A Relational Model of Data for Large Shared Data Banks". Sellest on saanud levinuim relatsioonandmebaasides kasutatav keel. Seda hallatakse standardiga ISO/IEC 9075.

 Ajalugu 
SQL-i töötasid IBM-is 1970. aastate alguses välja Donald Chamberlin ja Raymond Boyce. Versioon kandis nime SEQUEL ja oli loodud andmete muutmiseks ja hankimiseks IBM-i andmebaasisüsteemist System R.

1970ndatel töötas IBM-i San Jose Uurimislabori töörühm välja relatsioonbaasihalduri System R. Donald Chamberlin ja Raymond Boyce lõid keele Structured English Query Language (SEQUEL ehk SEQL), et hallata System R-is salvestatud andmeid. SEQUEL muudeti hiljem SQL-iks'''.

Esimene relatsioonbaasihaldur oli RDMS, mis loodi MIT-is 1970ndate algul. Sellele järgnes omakorda Ingres, mis loodi 1974. aastal California ülikoolis. Ingres kasutas päringukeelt QUEL, mille SQL hiljem turult välja tõrjus.

1970ndate lõpus arendas ettevõte Relational Software (praegune Oracle) Coddi, Chamberlini ja Boyce'i kirjeldatud põhimõtete kui paljutõotava põhjal välja oma SQL-põhise relatsioonbaasihalduri. Ettevõtte eesmärk oli müüa seda USA mereväele, Luure Keskagentuurile ja teistele riigiametitele. 1979. aasta suvel tutvustas Relational Software esimest kaubanduslikku SQL-i kasutavat andmebaasihaldurit Oracle V2, mis oli mõeldud VAX-tüüpi arvutitele.

Pärast SQL-i otstarbekus- ja kasutatavuskatseid hakkas IBM välja töötama kommertsvariante System/38, SQL/DS ja DB2, mis tulid välja vastavalt aastatel 1979, 1981 ja 1983. Need põhinesid esialgsel System R-il.

SQL-i on kritiseeritud märgatava platvormidevahelise ühilduvuse puudumise, puuduvate andmete käsitlemise jaoks ebasobivuse ning liigselt keeruka ja ajuti ebaselge grammatika ja semantika tõttu. Samuti puudub tal formaalsemate keelte nagu relatsioonialgebra rangus.

Vaata ka 
 MySQL
 PostgreSQL
 COBOL
 NoSQL

Viited 

ISO

Andmebaasid
Programmeerimiskeeled