Structured Query Language (SQL) är ett standardiseratprogramspråk för att hämta och modifiera data i enrelationsdatabas.
SQL uttalas bokstav för bokstav eller ibland "s'ikuell" som i engelskans "sequel". Det officiella uttalet frånANSI-standardiseringskommissionen är bokstav för bokstav.
1970 publiceradeIBM:s Dr.Edgar F. Codd en artikel iAssociation for Computing Machinery (ACM) journal[1] Denna artikel kom att bli den accepterade grunden för relationsdatabashanteringssystem(engelska: relational database management systems), allmänt kallat (RDBMS ellerRDMS).
Under 1970 utvecklade ett par forskare vid IBM:s forskningscenter iSan Jose "System R", som i stort sett baserades på Codds modell.Structured English Query Language ("SEQUEL") var formgivet för att manipulera och extrahera data från System R. AkronymenSEQUEL byttes senare ut mot SQL eftersom 'SEQUEL' var ett varumärke som den brittiska flygplanstillverkarenHawker Siddeley ägde. Donald D. Chamberlin och Raymond F. Boyce hade blivit influerade av Codds artikel när de formgav språket SEQUEL.
Trots att utvecklingen av SQL hade blivit påverkad av Codds arbete[2], var deras förhoppningar att intresset för SQL skulle öka med deras artikel.
Den första icke kommersiella relationsdatabasen utvecklades påUC Berkeley 1974, och fick namnetIngres.
Under 1978 testadeIBM systemet ute hos sina kunder, för att försöka påvisa nyttan och styrkan i systemet. Testet fick en sådan genomslagskraft för IBM att de började utveckla en kommersiell produkt som implementerade SQL-standarden som baserades på deras prototyp avSystem R. IBM gick ut 1978 om att de snart skulle släppaSystem/38.[3] I augusti 1979 släpptes den kommersiella varianten av System/38. System/38 följdes avSQL/DS 1981 ochDB2 1983.
Samtidigt som IBM läste Codds artikel, så läste ett annat företag också artikeln och förstod dess betydelse. Företaget hette då Relational Software Inc, men bytte sedan namn tillOracle. Oracle specialskrev sin RDBMS förUS Navy,CIA och andra myndigheter. Sommaren 1979 lanserade Oracle V2 (Version2) förVAX-datorer. V2 var den första kommersiella implementationen av SQL. Elaka tungor brukar säga att Oracle hann lansera sin RDBMS två år före IBM, när sanningen är att lanseringen bara var några veckor före. Intresset för RDBMS och dess styrka att hantera stora datamängder resulterade i att IBM:s och Oracles försäljningar ökade drastiskt under flera år. Strax efter började flera andra programvarubolag tillverka sina egna versioner.
1986 fastslogAmerican National Standards Institute (ANSI) SQL som en standard. 1987 antog ocksåInternationella standardiseringsorganisationen (ISO) SQL som en standard.
Enligt ANSI skall SQL uttalasengelskt uttal: [/ɛs kjuː ɛl/], men många engelskspråkiga databasprogrammerare och tekniker kallar det fortfarande försequel. I Sverige är det vanligast att man uttalar varje bokstav, det vill säga S-Q-L.
| Det här avsnittetinnehåller inaktuella uppgifter och behöver uppdateras.(2023-07) Motivering:Fler revisioner har kommit Hjälp gärna Wikipedia att åtgärda problemet genom attredigera artikeln eller diskutera saken pådiskussionssidan. |
År | Namn | Kallas | Kommentar |
---|
1986 | SQL-87 | SQL-87 | Antogs först avANSI och ratificerades avISO1987. |
1989 | SQL-89 | | Mindre revidering. |
1992 | SQL-92 | SQL2 | Stor revidering. |
1999 | SQL:1999 | SQL3 | Fastslog standard förtriggers,rekursiva frågor, sökningar påreguljära uttryck, icke skalära datatyper och någraobjektorienterade funktioner. För många relationsdatabasutvecklare är det väldigt kontroversiellt med de icke skalära datatyperna och de objektorienterade funktionerna och det har ännu inte blivit fullt infört i de olika databasmotorerna. |
2003 | SQL:2003 | | Introduktion av XML-relaterade funktioner,windowfunktioner, standardiserade sekvenser och kolumner med autogenerade värden (vilket inkluderar identitet-kolumnen). (SeEisenberg et al.:SQL:2003 Has Been Published) |
- Hämta ut värdenanamn ocharbetsplats från tabellenPerson där värdetstad är lika medStockholm, sorterat efter värdetnamn.
SELECTnamn,arbetsplatsFROMPersonWHEREstad='Stockholm'ORDERBYnamn;
- Lägg till en person i tabellenPerson med värdenanamn =Göran,arbetsplats =Riksdagen ochstad =Stockholm.
INSERTINTOPerson(namn,arbetsplats,stad)VALUES('Göran','Riksdagen','Stockholm');
- Sätt värdetnamn tillFredrik Reinfeldt för alla personer i tabellenPerson som haryrke lika medStatsminister.
UPDATEPersonSETnamn='Fredrik Reinfeldt'WHEREyrke='Statsminister';
- Ta bort alla personer som har värdetstad satt tillAtlantis från tabellenPerson.
DELETEFROMPersonWHEREstad='Atlantis';
- ^Codd, E.F. A Relational Model of Data for Large Shared Data Banks. Communications of the ACM, Vol. 13, No. 6, June 1970, ss. 377–387, tillgänglighärArkiverad 12 juni 2007 hämtat från theWayback Machine.
- ^Donald D. Chamberlin and Raymond F. Boyce, 1974. "SEQUEL: A structured English query language", International Conference on Management of Data, Proceedings of the 1974 ACM SIGFIDET (now SIGMOD) workshop on Data description, access and control, Ann Arbor, Michigan, pp. 249–264
- ^https://www.ibm.com/ibm/history/history/year_1978.html