Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
93
Добавлен:
10.02.2015
Размер:
31.35 Кб
Скачать

Лекция №7-sql

Язык манипулирования данными для реляционной модели

Немного истории (wiki)

В начале 1970-х годов в одной из исследовательских лабораторий компании IBMбыла разработана экспериментальная реляционная СУБДIBMSystemR, для которой затем был создан специальный языкSEQUEL, позволявший относительно просто управлять данными в этой СУБД. АббревиатураSEQUELрасшифровывалась какStructuredEnglishQUEryLanguage— «структурированный английский язык запросов». Позже по юридическим соображениям[1] языкSEQUELбыл переименован вSQL. Когда в 1986 году первый стандарт языкаSQLбыл принятANSI(AmericanNationalStandardsInstitute), официальным произношением стало [,eskju:'el] — эс-кью-эл. Несмотря на это, даже англоязычные специалисты зачастую продолжают читатьSQLкак сиквел (по-русски также часто говорят «эс-ку-эль»).

Целью разработки было создание простого непроцедурного языка, которым мог воспользоваться любой пользователь, даже не имеющий навыков программирования. Собственно разработкой языка запросов занимались Дональд Чэмбэрлин (DonaldD.Chamberlin) и Рэй Бойс (RayBoyce). Пэт Селинджер (PatSelinger) занималась разработкой стоимостного оптимизатора (cost-basedoptimizer), Рэймонд Лори (RaymondLorie) занимался компилятором запросов.

Стоит отметить, что SEQUELбыл не единственным языком подобного назначения. В Калифорнийском Университете Беркли была разработана некоммерческая СУБДIngres(являвшаяся, между прочим, дальним прародителем популярной сейчас некоммерческой СУБДPostgreSQL), которая являлась реляционной СУБД, но использовала свой собственный языкQUEL, который, однако, не выдержал конкуренции по количеству поддерживающих его СУБД с языкомSQL.

Первыми СУБД, поддерживающими новый язык, стали в 1979 году OracleV2 для машинVAXот компанииRelationalSoftwareInc. (впоследствии ставшей компаниейOracle) иSystem/38 отIBM, основанная наSystem/R. Вопреки сложившемуся мнению, первой стала именно СУБДOracleV2[источник не указан 486 дней].

Первый официальный стандарт языка SQLбыл принятANSIв 1986 году иISO(Международной организацией по стандартизации) в 1987 году (так называемыйSQL-86) и несколько уточнён в 1989 году. Дальнейшее развитие языка поставщиками СУБД потребовало принятия в 1992 году нового расширенного стандарта (ANSISQL-92 или простоSQL2). Следующим стандартом сталSQL:1999 (SQL3). В настоящее время действует стандарт, принятый в 2003 году (SQL:2003) с небольшими модификациями, внесёнными позже.

История версий стандарта:

Год

Название

Иное название

Изменения

1986

SQL-86

SQL-87

Первый вариант стандарта, принятый институтом ANSI и одобренный ISO в 1987 году.

1989

SQL-89

FIPS 127-1

Немного доработанный вариант предыдущего стандарта.

1992

SQL-92

SQL2, FIPS 127-2

Значительные изменения (ISO 9075); уровень Entry Levelстандарта SQL-92 был принят как стандарт FIPS 127-2.

1999

SQL:1999

SQL3

Добавлена поддержка регулярных выражений, рекурсивных запросов, поддержка триггеров, базовые процедурные расширения, нескалярные типы данных и некоторые объектно-ориентированные возможности.

2003

SQL:2003

Введены расширения для работы с XML-данными, оконные функции (применяемые для работы с OLAP-базами данных), генераторы последовательностей и основанные на них типы данных.

2006

SQL:2006

Функциональность работы с XML-данными значительно расширена. Появилась возможность совместно использовать в запросах SQL и XQuery.

2008

SQL:2008

Улучшены возможности оконных функций, устранены некоторые неоднозначности стандарта SQL:2003

Соседние файлы в папке Базы данных(1 курс, 2 семестр,2011-2012)