SQL:2011

SQL:2011, offisielt ISO/IEC 9075:2016 Information technology – Database languages – SQL, er den syvende revisjonen av ISO-standarden for database-spørrespråket SQL. Den ble formelt vedtatt i 2011 desember. Standarden består av 9 deler som beskriver SQL i detalj. SQL:2011 har blitt erstattet av SQL:2016.

Nye funksjoner 
En av de viktigste nye funksjonene er forbedret støtte for temporale databaser. Forbedringer i språket for definisjon og manipulering av temporale data (tidsdata eller tidsmessige data) inkluderer:

 Tidsperiodedefinisjoner bruker to standard tabellkolonner som starter og slutter på en navngitt tidsperiode, med lukket-åpen-semantikk. Dette gir kompatibilitet med eksisterende datamodeller, applikasjonskode og verktøy.
 Definisjon av applikasjons-tidsperiodetabeller (andre steder kalt gyldigtid-tabeller), ved hjelp av -notasjon
 Oppdatering og sletting av applikasjons-tidsrader med automatisk tidsperiodesplitt
 Temporale primærnøkler som inkluderer applikasjonstidsperioder med valgfrie ikke-overlappende betingelser via -klausulen
 Temporal referanseintegritet som betingelser for applikasjonstidstabeller
 Applikasjonstidstabeller spørres ved hjelp av vanlig spørresyntaks eller ved å bruke nye temporale predikater for tidsperioder inkludert , , , , ,  og  (som er modifiserte versjoner av Allens intervallalgebra)
 Definisjon av systemversjonerte tabeller (andre steder kalt transaksjonstid-tabeller), ved hjelp av -notasjon og -modifikatoren. Systemets tidsperioder vedlikeholdes automatisk. Det kreves ikke at betingelser for systemversjonerte tabeller er temporale, og håndheves bare på gjeldende rader.
 Syntaks for oppdeling i tidsskiver (time slicing) og sekvensierte (sequenced) spørringer på systemets tidstabeller via  og -klausuler
 Applikasjonstid og systemversjonering kan brukes sammen for å gi bitemporale tabeller

Støtte i databasehåndteringssystemer 
SAP HANA 2.0 SP03 støtter systemversjonerte tabeller ved å bruke standard select-syntaks  SAP HANA 2.0 SP04 legger til (delvis) støtte for versjonering av applikasjonstid 

IBM DB2 versjon 10 hevder å være den første databasen som har en samsvarende implementering av denne funksjonen i det de kaller "Time Travel Queries", selv om de bruker den alternative syntaksen .

Oracle Oracle 12c støtter temporal funksjonalitet i samsvar med SQL:2011. Versjon 10g og 11g implementerer spørringer på tidsskiver i det de kaller Flashback Queries, ved hjelp av den alternative syntaksen . Begge Oracles implementeringer avhenger av databasens transaksjonslogg, og tillater derfor bare temporale spørringer mot de siste endringene som fortsatt blir beholdt på sikkerhetskopi.

Microsoft SQL Server (versjon 2016) implementerer temporale tabeller med .

MariaDB 10.3 implementerer systemversjonerte tabeller. MariaDB 10.4.3 la til støtte for applikasjonsversjonerte tabeller.

PostgreSQL krever installasjon av temporal_tables extension. Den støtter bare temporal tabeller basert på system-tidsperiode, men følger ikke SQL:2011-designet.

Ebean ORM støtter spørringer med HISTORY AS OF og VERSIONS BETWEEN mot PostgreSQL og MySQL ved bruk av utløsere, historikktabeller og visninger.

CockroachDB har støttet  spørsmål siden minst v1. 0. 7.

Se også 
 Endringstreg dimensjon
 Temporal database

Referanser 

SQL