Введение в стандарты языка баз данных SQL


Язык баз данных SQL/


Стандарт SQL/92 был принят в 1992 г. Он был разработан на основе предыдущего стандарта SQL/89 и предназначен для замены этого стандарта (как мы упоминали во введении курса, пока это не произошло в полном объеме). По сравнению со стандартом SQL/89, в стандарте SQL/92 специфицирован ряд новых возможностей. Тем не менее, в основном обеспечивается совместимость стандарта SQL/89 со стандартом SQL/92. Известные к моменту приема стандарта SQL/92 его несовместимости со стандартом SQL/89 специфицированы в приложении E (мы их обсудим отдельно в четвертой части курса).

В стандарте SQL/92 содержатся существенные расширения и уточнения возможностей стандарта SQL/89, а также введен ряд новых возможностей. Расширения и уточнения состоят в следующем:

  • более точное определение средств прямого (интерактивного) вызова операторов SQL;
  • улучшенные возможности диагностики, включающие поддержку нового параметра статуса (SQLSTATE), области диагностики и поддерживающих операторов.

Существенными новыми свойствами являются:

  1. поддержка дополнительных типов данных: DATE, TIME, TIMESTAMP, INTERVAL, битовая строка, символьные и битовые строки переменного размера, строки символов национального алфавита;
  2. поддержка наборов символов, не требуемых для самого языка SQL, и соответствующих средств сортировки;
  3. поддержка дополнительных скалярных операций, таких как операции конкатенации строк и выделения подстрок, операции с датами и временем, а также условные выражения;
  4. повышенная общность и ортогональность использования скалярных и табличных выражений запросов;
  5. расширенный набор операций над множествами (в частности, соединение объединением, естественное соединение, вычитание и пересечение множеств);
  6. возможность определения доменов в схеме;
  7. поддержка средств манипулирования схемой (к наиболее существенным относятся операторы DROP и ALTER);
  8. возможность связывания (в синтаксисе языка модулей и встроенного SQL) с языками Ада, Си и MUMPS;
  9. дополнительные возможности определения привилегий доступа;
  10. дополнительные возможности определения ссылочной целостности, включая ссылочные действия, разрешение использовать подзапросы в проверочных ограничениях, отдельно определяемые утверждения целостности, управление отложенным режимом проверки ограничений на уровне пользователя;
  11. определение информационной схемы базы данных;
  12. поддержка динамического выполнения операторов SQL;
  13. поддержка некоторых возможностей, требуемых для удаленного доступа к базам данных (особенно существенны операторы подключения к базе данных и средства задания квалифицированных имен схем);
  14. поддержка временных таблиц;
  15. поддержка уровней согласованности транзакций;
  16. поддержка преобразований типов данных (выражения CAST);
  17. поддержка прокручиваемых (scrolled) курсоров;
  18. требование наличия в реализации средства отслеживания соответствия стандарту используемых конструкций (flaggingcapability) для поддержки мобильности прикладных программ.




- Начало -  - Назад -  - Вперед -