Struktuurpäringukeel

Struktuurpäringukeel (ingl Structured Query Language''', SQL) on andmebaasi päringukeel, mis on loodud relatsioonbaasihaldurite (RDBMS) jaoks. Algselt põhines see relatsioonialgebral. See hõlmab andmete päringuid, uuendamist, 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".Edgar F. Codd: "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.

1970. aastatel 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 1970. aastate 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.

1970. aastate 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 

Kategooria:ISO

Kategooria:Andmebaasid
Kategooria:Programmeerimiskeeled