История развития и стандарты языка SQL

Лекция 5. Основы языка SQL

Краткая аннотация. Лекция посвящена знакомству с языком доступа к данным в реляционных СУБД – SQL. Сначала рассматриваются назначение языка SQL, история появления и развития SQL, стандарты SQL. Далее определяется состав языка SQL, как совокупность языка определения данных (Data Definition Language, DDL), языка манипуляции данными (Data Manipulation Language, DML), языка управления доступом к данным (Data Control Language, DCL), языка управления транзакциями (Transaction Control Language, TCL). Подробно изучить такие элементы языка SQL, как идентификаторы, типы данных, функции.

 

Цель лекции. Познакомить студентов с языком доступа к данным в реляционных СУБД – SQL. Рассмотреть назначение языка SQL, история появления и развития SQL, стандарты SQL. Определяется состав языка SQL, как совокупность языка определения данных (Data Definition Language, DDL), языка манипуляции данными (Data Manipulation Language, DML), языка управления доступом к данным (Data Control Language, DCL), языка управления транзакциями (Transaction Control Language, TCL). Изучить такие элементы языка SQL, как идентификаторы, типы данных, функции.

 

 

В начале 70-х годов XX века в одной из исследовательских лабораторий компании IBM была разработана экспериментальная реляционная СУБД IBM System R, для которой затем был создан специальный язык SEQUEL, позволявший относительно просто управлять данными в этой СУБД. Аббревиатура SEQUEL расшифровывалась как Structured English QUEry Language«структурированный английский язык запросов». Позже по юридическим соображениям язык SEQUEL был переименован в SQL.

Целью разработки было создание простого непроцедурного языка, которым мог воспользоваться любой пользователь, даже не имеющий навыков программирования. Собственно разработкой языка запросов занимались Дональд Чэмбэрлин (Donald D. Chamberlin) и Рэй Бойс (Ray Boyce). Пэт Селинджер (Pat Selinger) занималась разработкой стоимостного оптимизатора (cost-based optimizer), Рэймонд Лори (Raymond Lorie) занимался компилятором запросов.

Таблица 1.1 – Версии стандартов языка SQL

Год Название Иное название Изменения
SQL-86 SQL-87 Первый вариант стандарта, принятый институтом ANSI и одобренный ISO в 1987 году.
SQL-89 FIPS 127-1 Немного доработанный вариант предыдущего стандарта.
SQL-92 SQL2, FIPS 127-2 Значительные изменения (ISO 9075); уровень Entry Level стандарта SQL-92 был принят как стандарт FIPS 127-2.
SQL:1999 SQL3 Добавлена поддержка регулярных выражений, рекурсивных запросов, поддержка триггеров, базовые процедурные расширения, нескалярные типы данных и некоторые объектно-ориентированные возможности.
SQL:2003   Введены расширения для работы с XML-данными, оконные функции, применяемые для работы с OLAP-базами данных, генераторы последовательностей и основанные на них типы данных.
SQL:2006   Функциональность работы с XML-данными значительно расширена. Появилась возможность совместно использовать в запросах SQL и XQuery.
SQL:2008   Улучшены возможности оконных функций, устранены некоторые неоднозначности стандарта SQL:2003

 

К несомненным достоинствам языка SQL следует отнести:

- переносимость;

- наличие стандартов;

- декларативность.

К недостаткам языка SQL стоит отнести:

- неполное соответствие языка реляционной модели;

- сложность;

- отступление от стандартов;

- отсутствие или ограниченность возможности работы с иерархическими структурами данных.