SQL: 2011 - Википедия - SQL:2011

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

Новые возможности

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

  • Определения периода времени использовать два стандартных столбца таблицы в качестве начала и конца именованного периода времени с семантикой закрыто-открыто. Это обеспечивает совместимость с существующими моделями данных, кодом приложения и инструментами.
  • Значение таблицы периодов времени приложений (в другом месте называется действительное время таблицы), используя ПЕРИОД НА аннотация
  • Обновление и удаление временных строк приложения с автоматическое разделение периода времени
  • Временный первичные ключи включение периодов времени приложения с необязательными неперекрывающимися ограничениями через БЕЗ ПЕРЕХОДОВ пункт
  • Временный ссылочная целостность ограничения для расписания приложений
  • Таблицы времени приложения запрашиваются с использованием обычного синтаксиса запроса или с использованием нового временные предикаты для периодов времени, включая СОДЕРЖИТ, ПЕРЕСЕЧЕНИЕ, РАВНЫЕ, ПРЕДИСЛОВИЕ, УСПЕХОВ, НЕМЕДЛЕННО ПРЕДУСМОТРЕН, и НЕМЕДЛЕННО УСПЕХА (которые являются модифицированными версиями Интервальные отношения Аллена )
  • Значение таблицы с системными версиями (в другом месте называется время транзакции таблицы), используя ПЕРИОД ДЛЯ SYSTEM_TIME аннотация и С ВЕРСИОНИРОВАНИЕМ СИСТЕМЫ модификатор. Системные периоды времени поддерживаются автоматически. Ограничения для таблиц с системным управлением версиями не обязательно должны быть временными и применяются только к текущим строкам.
  • Синтаксис для разрезанный по времени и последовательный запросы к системным таблицам времени через ПО ВРЕМЕНИ СИСТЕМЫ и ВЕРСИИ МЕЖДУ СИСТЕМОЙ ВРЕМЕНИ ... И ... статьи
  • Время приложения и управление версиями системы могут использоваться вместе для обеспечения битемпоральный столы

Поддержка в СУБД

SAP HANA 2.0 SP03 поддерживает таблицы с системным управлением версиями[4] используя стандартный синтаксис выбора ДЛЯ СИСТЕМНОГО_ВРЕМЕНИ НА '<отметка времени1>'[5] SAP HANA 2.0 SP04 добавляет (частичную) поддержку управления версиями во время приложения [6]

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

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

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

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

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

Ebean ORM поддерживает Историю КАК и ВЕРСИИ МЕЖДУ запросами в Postgres и MySql, используя триггеры, таблицы истории и представления.

Смотрите также

Рекомендации

  1. ^ Полли (16 декабря 2011 г.), «Опубликован SQL: 2011», Я, Sybase, заархивировано из оригинал (блог) 11 июля 2012 г.
  2. ^ Земке, Фред. "Что нового в SQL: 2011 ". ACM SIGMOD Record 41.1 (2012): 67-73
  3. ^ Кулкарни, Кришна и Ян-Эйке Михелс. "Временные особенности в SQL: 2011 ". ACM SIGMOD Record 41.3 (2012): 34-43
  4. ^ https://help.sap.com/viewer/4fe29514fd584807ac9f2a04f6754767/2.0.03/en-US/20d329a6751910149d5fdbc4800f92ff.html#loio20d329a6751910149d5fdbc4800_configuration__system__
  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/

внешняя ссылка