SQL:2011

**SQL:2011**, offisielt **[[ISO/IEC 9075|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 .

## 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 **[[OLAP-kube#Operasjoner|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