Kyselykieli

tietokannan tai tietojärjestelmän sisältämien tietojen noutamiseen tarkoitettu täsmäkieli

Kyselykieli on tietokannan tai tietojärjestelmän sisältämien tietojen noutamiseen tarkoitettu täsmäkieli. Kyselykielet eivät yleensä ole Turing-täydellisiä.

Keskeinen käsite kyselykielissä on tarve toimia osittaisella tiedolla, joka on tallennetun tiedon osajoukko.[1] Edgar F. Coddin esiteltyä relaatiomallin monet havaitsivat että todellisissa sovelluksissa kaikki arvot eivät välttämättä ole olemassa (null-arvot).[1]

Varhaisissa hierarkisen ja verkkomallin tietokannoissa kysely perustui pitkälti proseduraaliseen navigaatioon.[2][3]

Tunnettuja esimerkkejä kyselykielistä ovat SQL ja XQuery, mutta useat SaaS-sovellukset ovat toteuttaneet omansa.[4] Verkossa toimiviin sovelluksiin suunnattuja ovat esimerkiksi SPARQL.[5] NoSQL-järjestelmiin on kehitetty omia SQL:stä poikkeavia kyselykieliä kuten Apache Cassandran CQL (Cassandra Query Language).[6]

Big data -ympäristöön on kehitetty korkean tason kyselykieliä MapReduce-tekniikan päälle.[7]

Lähteet muokkaa

  1. a b Leonid Libkin: A Semantics-based Approach to Design of Query Languages for Partial Information (PDF) homepages.inf.ed.ac.uk. Viitattu 28.2.2020. (englanniksi)
  2. Matthew Revell: Introduction to NoSQL query exoscale.com. 20.6.2016. Viitattu 28.2.2020. (englanniksi)
  3. Charles W. Bachman: The programmer as navigator dl.acm.org. 1973. doi:10.1145/355611.362534. (englanniksi)
  4. Erik Bernhardsson: I don't want to learn your garbage query language erikbern.com. 30.8.2018. Viitattu 28.2.2020. (englanniksi)
  5. SPARQL Query Language for RDF w3.org. Viitattu 28.2.2020. (englanniksi)
  6. The Cassandra Query Language (CQL) cassandra.apache.org. Viitattu 28.2.2020. (englanniksi) 
  7. Evaluation of high‑level query languages based on MapReduce in Big Data journalofbigdata.springeropen.com. 2018. doi:10.1186/s40537-018-0146-3. Viitattu 28.2.2020. (englanniksi)