SQL
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 | muokkaa wikitekstiä] 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 | muokkaa wikitekstiä]SQL-palvelimia
[muokkaa | muokkaa wikitekstiä]- Oracle
- Microsoft SQL Server
- Sybase ASE
- IBM DB2
Muita
[muokkaa | muokkaa wikitekstiä]Katso myös
[muokkaa | muokkaa wikitekstiä]Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ Donald D. Chamberlin & Raymond F. Boyce: SEQUEL: A Structured English Query Language (PDF) Arkistoitu . Viitattu 10.5.2024. (englanniksi)
- ↑ Donald D. Chamberlin: Early History of SQL ieeexplore.ieee.org. 21.11.2012. doi:10.1109/MAHC.2012.61. Viitattu 10.5.2024. (englanniksi)
- ↑ a b History of SQL cs.helsinki.fi. Viitattu 14.9.2019. (englanniksi)
- ↑ Mike Chapple: The Fundamentals of SQL Lifewire. Viitattu 26.6.2019. (englanniksi)
- ↑ ISO/IEC 9075-1:2016 ISO. Viitattu 26.6.2019. (englanniksi)
- ↑ http://troels.arvin.dk/db/rdbms/
Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]Kuvia tai muita tiedostoja aiheesta SQL Wikimedia Commonsissa