SQL

ohjelmointikieli

Structured Query Language (SQL) on IBM:n kehittämä standardoitu kyselykieli, jolla relaatiotietokantaan voi tehdä erilaisia hakuja, muutoksia ja lisäyksiä.

SQL-kieltä ehdottivat vuonna 1974 Donald D. Chamberlin ja Raymond F. Boyce IBM:n tutkimuslaboratoriossa, jolloin sitä kutsuttiin nimellä SEQUEL (Structured English Query Language). Kieli oli suunnattu uudelle ryhmälle käyttäjiä, jotka eivät halunneet opetella kyselykieltä ja kieli perustui englanninkielisille malleille.[1] Kiinnostus kielen kehittämiseen tuli Edgar F. Coddin esittämästä relaatiomallista. Nimi muutettiin lyhyempään muotoon vuonna 1977 tavaramerkkisyistä.[2] Kieli on kehitetty System R -tietokantajärjestelmää varten.[3]

SQL-kielestä on useita murteita: esimerkiksi Oraclella on PL/SQL, Microsoftilla Transact-SQL ja ANSI-standardi ANSI SQL.[4] ISO/IEC on julkaissut standardoidun version SQL:stä, jonka uusin versio on ISO/IEC 9075-1:2016.[5] Eri tietokantojen hallintajärjestelmissä on lukuisia eroja SQL-kielen toteutuksissa.[6]

SQL-kieli ei määritä verkkoprotokollaa tai standardia, jolla SQL-komentoja välitetään. ODBC on ohjelmointirajapinta, joka tarjoaa tietokantajärjestelmästä riippumattoman rajapinnan ja vaatii tietokantajärjestelmälle sopivan ODBC-ajurin asiakasohjelmalle. ODBC on osa SQL/CLI-standardia.[3] LDAP on esimerkki tietokannasta, jossa myös verkkoprotokolla on standardoitu.

Tärkeimmät käyttökäskyt ovat SELECT, UPDATE, INSERT ja DELETE. Tärkeimmät tiedon määrittelykäskyt ovat CREATE TABLE, CREATE VIEW, joilla luodaan uusia tietokantaobjekteja (taulu ja näkymä, vastaavasti). ALTER-käskyllä voidaan muuttaa objektia (esim. lisätä tauluun jälkeenpäin uusi sarake).

Esimerkkejä

muokkaa
 SELECT id, tietue FROM taulu WHERE quux = 'xyzzy' ORDER BY id DESC;
 UPDATE taulu SET kentta = 'esimerkki' WHERE id = 42;
 INSERT INTO taulu (kentta,toinenkentta) VALUES ('tietoa', 5);
 DELETE FROM taulu WHERE kentta = 123;

Käytännön toteutuksia

muokkaa

SQL-palvelimia

muokkaa

Suljettu lähdekoodi

Avoin lähdekoodi

Katso myös

muokkaa

Lähteet

muokkaa
  1. Donald D. Chamberlin & Raymond F. Boyce: SEQUEL: A Structured English Query Language (PDF) Arkistoitu Viitattu 10.5.2024. (englanniksi)
  2. Donald D. Chamberlin: Early History of SQL ieeexplore.ieee.org. 21.11.2012. doi:10.1109/MAHC.2012.61 Viitattu 10.5.2024. (englanniksi)
  3. a b History of SQL cs.helsinki.fi. Arkistoitu 18.9.2021. Viitattu 14.9.2019. (englanniksi)
  4. Mike Chapple: The Fundamentals of SQL Lifewire. Viitattu 26.6.2019. (englanniksi)
  5. ISO/IEC 9075-1:2016 ISO. Viitattu 26.6.2019. (englanniksi)
  6. http://troels.arvin.dk/db/rdbms/

Aiheesta muualla

muokkaa
Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.