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

Новые возможности Одной из главных новых функций является улучшенная поддержка хронологических баз данныхZemke, Fred. «What’s new in SQL:2011 ». ACM SIGMOD Record 41.1 (2012): 67-73Kulkarni, Krishna and Jan-Eike Michels. «Temporal features in SQL: 2011 ». ACM SIGMOD Record 41.3 (2012): 34-43. Улучшения языка для определения и обработки хронологических данных включают: Определения временных периодов используют два стандартных столбца таблицы в качестве начала и конца именованного временного периода с семантикой замкнутого множества/открытого множества. Это обеспечивает совместимость с существующими моделями данных, кодом приложения и инструментами Определение таблиц периодов времени приложения (иначе называемых таблицами ) с использованием аннотации Обновление и удаление строк времени приложения с автоматическим разделением периода времени Временные первичные ключи, включающие периоды времени приложения с необязательными неперекрывающимися ограничениями через выражение Временные ограничения ссылочной целостности для исторических таблиц приложения Данные из исторических таблиц приложения извлекаютсяя с использованием обычного синтаксиса запросов или с использованием новых временных предикатов для периодов времени, включая , , , , , и (которые являются модифицированными версиями интервальных отношений Аллена) Определение системно-версионных таблиц (иначе называемых таблицами ) с использованием аннотации и модификатора . Системные периоды времени поддерживаются автоматически. Ограничения для системных таблиц с версиями не обязательно должны быть временными и применяются только к текущим строкам. Синтаксис для запросов с временными срезами и последовательностями для системных исторических таблиц с помощью предложений и . Время приложения и системное управление версиями могут использоваться совместно для работы с таблицами.

Реализация в СУБД SAP HANA 2.0 SP03 поддерживает системные версии таблиц с использованием стандартного синтаксиса выбора SAP HANA 2.0 SP04 добавляет (частичную) поддержку версионирования во время выполнения приложения.

IBM DB2 версии 10 заявлена как первая база данных, которая имеет соответствующую реализацию этой функции, названной как «Time Travel Queries»(Запросы, путешествующие во времени), хотя они используют альтернативный синтаксис .

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

Microsoft SQL Server (версия 2016) реализует хронологические таблицы с помощью конструкции .

MariaDB 10.3 реализует таблицы с системными версиями. MariaDB 10.4.3 добавила поддержку для таблиц с версионированием приложений.

PostgreSQL требует установки расширения temporal_tables. Расширение Temporal Tables поддерживает только хронологические таблицы с системным периодом, и не соответствует дизайну SQL:2011.

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

поддерживает запросы начиная с версии 1.0.7.

См. также Медленно меняющееся измерение

Примечания

Ссылки . . . . .

Категория:SQL Категория:Декларативные языки программирования Категория:Информационные языки Категория:Языки программирования, появившиеся в 2011 году