SQL-92

SQL-92

SQL-92 — третья версия языка запросов к базам данных SQL. В отличие от стандарта SQL-89, третья версия стала весьма существенным обновлением языка. За исключением некоторых мелких противоречий стандарт SQL-89 практически полностью совместим со стандартом SQL-92.

Содержание

История

Первый международный стандарт языка SQL был принят в 1989 г. (он получил соответствующее обозначение SQL/89), и подавляющее большинство СУБД начала 90-х объявили о поддержке этого стандарта. Однако у этого стандарта выявились недостатки, а именно: очень многие важные свойства языка стандарт устанавливает как определяемые в реализации или зависимые от нее. Это дало большой простор к расхождениям между различными реализациями SQL. Во-вторых, некоторые практически важные аспекты языка вообще не упоминаются в стандарте SQL/89.К ним прежде всего относятся правила встраивания языка SQL в язык программирования Си и так называемый динамический SQL. В результате производители СУБД реализовывали собственные механизмы, причем малосовместимые друг с другом. В результате сложилась ситуация, когда код одной СУБД, соответствующей стандарту SQL/89, оказался непереносим на другую СУБД, также соответствующую стандарту SQL/89[1].

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

Основные отличия от SQL/89

В новом стандарте появилась возможность использования типа данных символьных строк переменной длины (то есть при спецификации столбца указывается предельно допустимый размер хранимой строки в символах, а реально в базе данных хранится ровно столько символов, сколько их ввел пользователь), введены типы данных битовых строк постоянной и переменной длины (как они реально хранятся в базе данных в стандарте не определяется), стандартизованы типы данных для работы с датой и временем: DATE (дата), TIME (время) и INTERVAL (временной интервал)[2].

При создании схемы базы данных (впоследствии можно изменить) можно определить особенности национального набора символов, включая правила упорядочения, при этом могут определяться наборы символов, используемые как в хранимых текстовых строках, так и в идентификаторах[2].

В новом стандарте появилась возможность создавать хранимые и представляемые таблицы и задавать или удалять привилегии доступа при помощи операторов CREATE TABLE, CREATE VIEW, GRANT, REVOKE) в любой момент времени в любой транзакции вне оператора определения схемы. Появились операторы уничтожения таблиц (DROPTABLE и DROP VIEW), которые также можно выполнять внутри любой транзакции (при наличии соответствующих привилегий). Также впервые определен оператор ALTER TABLE, позволяющий динамически изменять характеристики ранее созданной таблицы (в частности добавлять к ней новые столбцы)[2].

Список нововведений

  • SQL Agent
  • Новые типы данных: DATE, TIME, TIMESTAMP, INTERVAL, строковый тип BIT, строковый тип VARCHAR, а также строки NATIONAL CHARACTER.
  • Поддержка дополнительных наборов символов помимо необходимых для представления SQL-запросов.
  • Новые скалярные операции, например, конкатенация строк, математические операции с датой и временем, поддержка условий.
  • Новые операции с наборами, например, UNION JOIN, NATURAL JOIN, поддержка проверки различия в наборах, пересечение наборов.
  • Поддержка изменени определений схем за счет использования ALTER и DROP.
  • Встроенная поддержка языков Си, Ада и MUMPS.
  • Новые возможности пользовательских прав.
  • Новый функционал проверки целостности данных, например, Уровни изолированности транзакций.
  • Новые операции изменения типов данных «на лету» при помощи функции CAST.
  • Динамические курсоры.
  • Обратная и будущая совместимость с прочими стандартами SQL.
  • Call Level Interface

Примечания

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "SQL-92" в других словарях:

  • SQL — ist eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken. SQL ist von ANSI und ISO standardisiert und wird von fast allen gängigen Datenbanksystemen unterstützt. Die Bezeichnung SQL (offizielle… …   Deutsch Wikipedia

  • SQL-92 — SQL (das Kürzel für Structured Query Language; offizielle Aussprache [ɛskjuːˈɛl], häufig auch [ˈsiːkwəl] →SEQUEL), ist eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken. SQL ist von ANSI und ISO… …   Deutsch Wikipedia

  • SQL-99 — SQL (das Kürzel für Structured Query Language; offizielle Aussprache [ɛskjuːˈɛl], häufig auch [ˈsiːkwəl] →SEQUEL), ist eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken. SQL ist von ANSI und ISO… …   Deutsch Wikipedia

  • SQL — Класс языка: Мультипарадигмальный Появился в: 1974 Автор(ы): Дональд Чэмбэрлин Рэймонд Бойс Релиз: SQL:2008 (2008) Типизация данных …   Википедия

  • SQL — Desarrollador(es) IBM ISO/IEC 9075 1:2008 Información general Paradigma Multiparadigma …   Wikipedia Español

  • Sql.ru — SQL.ru …   Википедия

  • SQL —   [Abk. für Structured Query Language, dt. »strukturierte Abfragesprache«, Aussprache wie »siekwell« oder »es ku el«], eine seit den frühen 1970er Jahren von IBM unter dem Namen Sequel entwickelte Abfragesprache zur Bearbeitung der Inhalte… …   Universal-Lexikon

  • SQL-92 — was the third revision of the SQL database query language. Unlike SQL 89, it was a major revision of the standard. For all but a few minor incompatibilities, the SQL 89 standard is forwards compatible with SQL 92.New Features* SQL Agent * New… …   Wikipedia

  • SQL PL — stands for Structured Query Language Procedural Language and was developed by IBM as a set of commands that extend the use of SQL in the DB2 UDB database system. [ [http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.ud… …   Wikipedia

  • SQL/MM — est une norme pour contrôler des données spatiales dans des systèmes de bases de données relationnelles. Portail de l’informatique Ce document provient de « SQL/MM ». Catégorie : Base de données …   Wikipédia en Français


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»