Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

5. Заключение: перспективы SQL/3

В заключение курса приведем краткую сводку новых возможностей, ожидаемых в новом стандарте SQL/3, работа над которым все еще продолжается.

В стандарте SQL/92 по сравнению со стандартом SQL/89 язык был расширен главным образом количественно, хотя даже этих количественных расширений оказалось достаточно для того, чтобы стандарт SQL/92 не удалось полностью реализовать до сих пор в большинстве коммерческих СУБД. Поскольку SQL/92 не удовлетворял значительной части претензий, исторически предъявляемых к языку SQL, был сформирован новый комитет, который должен выработать стандарт языка с качественными расширениями. Язык SQL/3 пока не сформирован полностью, многие аспекты продолжают обсуждаться. Поэтому к приводимой здесь сводке возможностей нужно относиться как к сугубо предварительной.

5.1. Типы данных

Набор встроенных типов данных предполагается расширить типами BOOLEAN и ENUMERATED. Хотя по причине поддержки неопределенных значений языку SQL свойственно применение трехзначной логики, тип BOOLEAN содержит только два возможных значения true и false. Для представления значения unknown рекомендуется использовать NULL, что, конечно, не вполне естественно. Перечисляемый тип ENUMERATED обладает свойствами, подобными свойствам перечисляемых типов в языках программирования.

Расширены возможности работы с неопределенными значениями. Появился новый оператор CREATENULLCLASS, позволяющий ввести именованный набор именованных неопределенных значений. При определении домена можно явно указать имя класса неопределенных значений, появление которых допустимо в столбцах, связанных с этим доменом. Смысл каждого неопределенного значения интерпретируется на уровне пользователей.

Предполагается включение в язык возможности использовать определенные пользователями типы данных. Видимо, будут иметься возможности определения абстрактных типов данных с произвольно сложной внутренней структурой на основе таких традиционных агрегирования и структуризации как LIST, ARRAY, SET, MULTISET и TUPLE, а также возможности определения объектных типов с соответствующими методами в стиле объектно-ориентированного подхода.

Появляется возможность использования принципов наследования свойств существующей таблицы (супертаблицы) при определении новой таблицы (подтаблицы). Подтаблица наследует от супертаблицы все определения столбцов и первичного ключа. Другая возможность - создать таблицу, "подобную" существующей в том смысле, что в новой таблице наследуются определения некоторых столбцов существующей таблицы.

5.2. Некоторые другие свойства SQL/3

Одной из проблем реализации языка SQL всегда являлась проблема распознавания "изменяемости" соединений. Как известно, если представление включает соединение общего вида, то теоретически невозможно определить, можно ли однозначно интерпретировать операции обновления такого представления. Однако существует несколько важных классов соединений, которые заведомо являются изменяемыми. В SQL/3 предполагается выделить эти классы с помощью специальных синтаксических конструкций.

Наконец-то появляется возможность определения триггеров как комбинации спецификаций события и действия. Действие определяется как SQL-процедура, в которой могут использоваться как операторы SQL, так и ряд управляющих конструкций. На самом деле, этот механизм очень близок к тому, который реализован в OracleV.7 (и, конечно, в Oracle 8).

Что касается управления транзакциями, то происходит возврат к старой идее SystemR о возможности установки внутри транзакции точек сохранения (savepoints). В операторе ROLLBACK можно указать идентификатор ранее установленной точки сохранения, и тогда будет произведен откат транзакции не к ее началу, а к этой точке сохранения.

Как видно, можно ожидать наличия в SQL/3 многих интересных и полезных возможностей. Однако даже промежуточные проекты стандарта включают почти в два раза больше страниц, чем стандарт SQL/92. Поэтому трудно ожидать быстрой реализации этого стандарта после его принятия (а многие вообще сомневаются, что этот стандарт будет когда-либо реализован).

5.3. Текущее состояние стандарта SQL/3

Последний полный проект стандарта был опубликован и предоставлен в свободный доступ в 1993 г. Этот документ имеет очень большой объем (более 3 Мб плоского текста) и носит очень предварительный характер. Видимо, осознавая практическую невозможность разработки и согласования стандарта такого объема, в том же 1983 г. комитеты ANSI и ISO приняли решение о расщеплении стандарта на несколько независимо разрабатываемых и отдельно согласовываемых частей. К настоящему времени таких частей семь:

  • Часть 1: Неформальное описание назначения и структуры документа;
  • Часть 2: Основные свойства языка, включая базовые постоянно хранимых модулей (PSMPersistentStoredModules), новые типы данных; триггеры, подтаблицы, абстрактные типы данных, объектно-ориентированные возможности;
  • Часть 3: Интерфейс уровня вызовов (CLICallLevelInterface);
  • Часть 4: SQL/PSM, включая спецификации хранимых процедур с обеспечением их вычислительной полноты;
  • Часть 5: Динамический и встроенный SQL (предполагается, что эта часть будет заимствована из SQL/92);
  • Часть 6: Спецификация интерфейса XA, разработанного X/Open (это относится к управлению распределенными транзакциями);
  • Часть 7: Темпоральные расширения языка SQL.

Разработка третьей части стандарта была завершена в 1995 г. SQL/CLI является аккуратной формализацией интерфейса ODBC, разработанного компанией Microsoft (кстати, это первый случай в истории стандартизации языка SQL, когда за основу международного стандарта принимается некоторый корпоративный стандарт). В том же году стандарт был принят ISO и получил официальное наименование ISO/IEC 9075-3:1995 Informationtechnology - Databaselanguages - SQL - Part 3: Call-LevelInterface (SQL/CLI).

В 1996 г. была закончена разработка четвертой части. Стандарт был принят ISO в конце 1996г. и получил официальное название ISO/IEC 9075-4:1996 Informationtechnology - Databaselanguages - SQL - Part 4: PersistentStoredModules (SQL/PSM).

Про время завершения остальных частей стандарта известно только то, что комитеты обещают закончить работу в 1999 г. Регулярно (хотя и не очень часто) обновляемую информацию о текущем состоянии дел в области стандартизации SQL/3 можно получить на Web-узле http://www.jcc.com/sql

В заключение заметим, что хотя стандарт SQL/3 все еще далек от завершения, практически все компании-производители СУБД утверждают по поводу своих новых продуктов, что они поддерживают базовые свойства SQL/3. В частности, это относится к IBMDB2, InformixUniversalServer и Oracle 8. Информацию относительно этих продуктов можно найти в Web-узлах компаний (www.ibm.com, www.informix.com, www.oracle.com). Обзоры статей, связанных с этой темой, публикуются на сервере www.citforum.ru, а также в журнале "СУБД" (электронная версия доступна по адресу www.osp.ru).

Назад | Содержание | Вперед

 

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...