Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

SQL: 2011 или ISO / IEC 9075: 2011 (под общим названием "Информационные технологии - языки баз данных - SQL") является седьмой пересмотр ISO (1987) и ANSI (1986) стандарт для SQL базы данных языка запросов . Он был официально принят в декабре 2011 года. [1] Стандарт состоит из 9 частей, которые подробно описаны в SQL . Следующая версия - SQL: 2016 .

Новые возможности [ править ]

Одна из основных новых функций - улучшенная поддержка временных баз данных . [2] [3] Усовершенствования языка для определения и обработки временных данных включают:

  • Определения периода времени используют два стандартных столбца таблицы в качестве начала и конца именованного периода времени с семантикой закрыто-открыто. Это обеспечивает совместимость с существующими моделями данных, кодом приложения и инструментами.
  • Определение таблиц периодов времени приложения (в другом месте называемых действительными таблицами времени ) с использованием PERIOD FORаннотации
  • Обновление и удаление временных строк приложения с автоматическим разделением временных периодов
  • Временные первичные ключи, включающие периоды времени приложения с дополнительными неперекрывающимися ограничениями через WITHOUT OVERLAPSпредложение
  • Ограничения временной ссылочной целостности для расписаний приложений
  • Таблицы времени приложения запрашивается с помощью регулярного синтаксиса запросов или с использованием новых временными предикатами для периодов времени , в том числе CONTAINS, OVERLAPS, EQUALS, PRECEDES, SUCCEEDS, IMMEDIATELY PRECEDES, и IMMEDIATELY SUCCEEDS(которые являются модифицированными версиями интервальных отношений Аллена )
  • Определение таблиц с системным управлением версиями (в другом месте называемых таблицами времени транзакций ) с использованием PERIOD FOR SYSTEM_TIMEаннотации и WITH SYSTEM VERSIONINGмодификатора. Системные периоды времени поддерживаются автоматически. Ограничения для таблиц с системным управлением версиями не обязательно должны быть временными и применяются только к текущим строкам.
  • Синтаксис для времени нарезанных и секвенсированных запросов к таблицам времени системы через AS OF SYSTEM TIMEи VERSIONS BETWEEN SYSTEM TIME ... AND ...статьи
  • Время приложения и управление версиями системы могут использоваться вместе для создания битемпоральных таблиц.

Поддержка в СУБД [ править ]

SAP HANA 2.0 SP03 поддерживает таблицы с системным управлением версиями [4] с использованием стандартного синтаксиса выбора FOR SYSTEM_TIME AS OF '<timestamp1>'[5] SAP HANA 2.0 SP04 добавляет (частичную) поддержку управления версиями во время приложения [6]

IBM DB2 версии 10 утверждает, что является первой базой данных, которая имеет соответствующую реализацию этой функции в том, что они называют «запросами путешествия во времени» [7] [8], хотя они используют альтернативный синтаксис FOR SYSTEM_TIME AS OF.

Oracle Oracle 12c поддерживает временную функциональность в соответствии с SQL: 2011. [9] Версии 10g и 11g реализуют запросы с временным разделением в так называемых Flashback Queries , используя альтернативный синтаксис AS OF TIMESTAMP. [10] Примечательно, что обе реализации Oracle зависят от журнала транзакций базы данных и поэтому разрешают только временные запросы к недавним изменениям, которые все еще сохраняются для резервного копирования.

Microsoft SQL Server (версия 2016) реализует темпоральные таблицы с помощью SYSTEM_VERSIONING. [11]

MariaDB 10.3 реализует таблицы с системным управлением версиями. [12]

PostgreSQL требует установки расширения temporal_tables . Temporal Tables Extension поддерживает только темпоральные таблицы с системным периодом.

Ebean ORM поддерживает запросы History AS OF и VERSIONS BETWEEN в Postgres и MySql с использованием триггеров, таблиц истории и представлений .

См. Также [ править ]

  • SQL
  • Викибук SQL
  • Медленно меняющееся измерение
  • Временная база данных

Ссылки [ править ]

  1. ^ Paulley (16 декабря 2011), "SQL: 2011 опубликована", IA , Sybase, архивируются с оригинала (блог) на 11 июля 2012
  2. ^ Земке, Фред. « Что нового в SQL: 2011 ». Запись ACM SIGMOD 41.1 (2012): 67-73
  3. ^ Кулкарня, Кришна и Ян-Айке Михельс. « Временные особенности в SQL: 2011 ». Запись ACM SIGMOD 41.3 (2012): 34-43
  4. ^ https://help.sap.com/viewer/4fe29514fd584807ac9f2a04f6754767/2.0.03/en-US/20d329a6751910149d5fdbc4800f92ff.html#loio20d329a6751910149d5fdbc4800fsioning_configurationff
  5. ^ https://help.sap.com/viewer/4fe29514fd584807ac9f2a04f6754767/2.0.03/en-US/20fcf24075191014a89e9dc7b8408b26.html
  6. ^ https://help.sap.com/viewer/4fe29514fd584807ac9f2a04f6754767/2.0.04/en-US/20fcf24075191014a89e9dc7b8408b26.html
  7. ^ http://www.ibm.com/developerworks/data/library/techarticle/dm-1204whatsnewdb210/index.html
  8. ^ http://www.ibm.com/developerworks/data/library/techarticle/dm-1204db2temporaldata/
  9. ^ http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/12c/r1/ilm/temporal/temporal.html
  10. ^ http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_10002.htm
  11. ^ https://msdn.microsoft.com/en-us/library/dn935015.aspx
  12. ^ https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-103/

Внешние ссылки [ править ]

  • "SQL: 2011", Каталог (интернет-магазин) , ISO.
  • Часть 1: Framework (SQL / Framework) (черновик; PDF) , JTC1SC32, 2011-08-06.
  • Часть 14: Спецификации, связанные с XML (SQL / XML) (черновик; PDF) , JTC1SC32, 2011-08-06.
  • Список других проектов заключительного комитета в свободном доступе (поиск) , Google.
  • Технический документ Oracle 11g Total Recall (PDF) , Oracle, 01.09.2009.