Предметный указатель D. Соответствие SQL#
Предметный указатель D. Соответствие SQL
Оглавление
Этот раздел пытается описать, насколько Tantor SE-1C соответствует текущему стандарту SQL. Следующая информация не является полным описанием соответствия, но она представляет основные темы с достаточной детализацией, которая является разумной и полезной для пользователей.
Официальное название стандарта SQL — ISO/IEC 9075 “Язык базы данных SQL”. Пересмотренная версия стандарта выпускается время от времени; последнее обновление появилось в 2023 году. Версия 2023 года называется ISO/IEC 9075:2023, или просто SQL:2023. Предыдущие версии были SQL:2016, SQL:2011, SQL:2008, SQL:2006, SQL:2003, SQL:1999 и SQL-92. Каждая версия заменяет предыдущую, поэтому заявления о соответствии более ранним версиям не имеют официального значения. Разработка PostgreSQL направлена на соответствие последней официальной версии стандарта, если такое соответствие не противоречит традиционным функциям или здравому смыслу. Многие функции, требуемые стандартом SQL, поддерживаются, хотя иногда с немного отличающимся синтаксисом или функцией. В дальнейшем можно ожидать дальнейших шагов к соответствию.
SQL-92 определяет три набора функций для соответствия: Entry, Intermediate и Full. Большинство систем управления базами данных, утверждающих соответствие стандарту SQL, соответствуют только уровню Entry, так как весь набор функций уровней Intermediate и Full либо слишком объемный, либо противоречит устаревшим поведениям.
Начиная с SQL:1999, стандарт SQL определяет большой набор отдельных функций, а не неэффективно широкие три уровня, найденные в SQL-92. Большое подмножество этих функций представляет собой функции “Core”, которые должна предоставлять каждая соответствующая реализация SQL. Остальные функции являются чисто дополнительными.
Стандарт разделен на несколько частей, каждая из которых также известна под сокращенным названием:
ISO/IEC 9075-1 Фреймворк (SQL/Framework)
ISO/IEC 9075-2 Foundation (SQL/Foundation)
Интерфейс уровня вызова ISO/IEC 9075-3 (SQL/CLI)
ISO/IEC 9075-4 Постоянные хранимые модули (SQL/PSM)
ISO/IEC 9075-9 Управление внешними данными (SQL/MED)
ISO/IEC 9075-10 Привязки объектного языка (SQL/OLB)
ISO/IEC 9075-11 Информационные и схемы определения (SQL/Схемы)
ISO/IEC 9075-13 процедуры и типы, использующие язык Java (SQL/JRT)
ISO/IEC 9075-14 XML-связанные спецификации (SQL/XML)
ISO/IEC 9075-15 Многомерные массивы (SQL/MDA)
ISO/IEC 9075-16 Запросы к графам свойств (SQL/PGQ)
Обратите внимание, что некоторые номера частей не используются (или больше не используются).
Ядро Tantor SE-1C охватывает части 1, 2, 9, 11 и 14. Часть 3 охватывается драйвером ODBC, а часть 13 охватывается плагином PL/Java, но точное соответствие в настоящее время не проверяется для этих компонентов. В настоящее время нет реализаций частей 4, 10, 15 и 16 для Tantor SE-1C.
PostgreSQL поддерживает большинство основных функций SQL:2023. Из 177 обязательных функций, необходимых для полного соответствия Core, PostgreSQL соответствует как минимум 170. Кроме того, существует длинный список поддерживаемых необязательных функций. Стоит отметить, что на момент написания ни одна текущая версия какой-либо системы управления базами данных не заявляет о полном соответствии Core SQL:2023.
В следующих двух разделах мы предоставляем список тех функций, которые поддерживает Tantor SE-1C, а также список функций, определенных в SQL:2023, которые еще не поддерживаются в Tantor SE-1C. Оба этих списка являются приблизительными: могут быть незначительные детали, которые не соответствуют для функции, указанной как поддерживаемая, и большие части неподдерживаемой функции могут быть фактически реализованы. Основная часть документации всегда содержит самую точную информацию о том, что работает и что не работает.
Примечание
Коды функций, содержащие дефис, являются подфункциями. Поэтому, если определенная подфункция не поддерживается, основная функция будет отмечена как неподдерживаемая, даже если некоторые другие подфункции поддерживаются.