Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник Информатика.doc
Скачиваний:
123
Добавлен:
28.08.2019
Размер:
4.53 Mб
Скачать

5.6.Реляционный язык sql

Стандарт SQL

SQL (Structured Query Language – «язык структурированных запросов») – универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных.

SQL основывается на исчислении кортежей [160]. Разработка языка началась в 1970г. в лабораториях компании IBM для проверки возможностей реляционной модели.

Краткая хронология стандартов SQL

СУБД System R экспериментальная исследовательская система с языком SEQUEL (позже SQL), созданная IBM:

  • Полный реляционный язык БД.

  • Операторы манипулирования БД.

  • Средства определения и манипулирования схемой БД.

  • Определение ограничений целостности.

  • Определение представлений.

  • Определение индексов.

  • Авторизация доступа к отношениям и их полям.

  • Точки сохранения транзакций и откаты.

SQL в коммерческих реализациях:

1979 – Oracle (Relation Software Inc. – Oracle corp.;

1981-1982 – DB2 (IBM), Ingres – CA-OpenIngres (Relation Technology Inc. – Computer Associates);

1984 – Informix (Informix Sofrware);

1986 – Sybase (Sybase Corp.).

  • Реализован во всех коммерческих реляционных СУБД.

  • Все фирмы провозглашают соответствие стандарту SQL.

  • Реализованные диалекты очень близки.

  • Путь «сверху вниз» уточнение и упрощение SQL System R.

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

Стандартизация SQL:

Все фирмы провозглашают соответствие стандарту SQL.

Реализованные диалекты очень близки.

Деятельность началась одновременно с появлением первых коммерческих реализаций.

В качестве стандарта нельзя было использовать SQL System R(не было технической проработки, слишком сложно реализовать).

Нельзя было принять за стандарт коммерческий диалект (слишком различались).

Международный стандарт 1989 г.:

  • Во многих частях имеет чрезвычайно общий характер и допускает очень широкое толкование

  • Отсутствуют важные разделы (манипулирование схемой БД, динамический SQL, многое определяется в реализации)

  • Наибольшие достижения (стандартизация синтаксиса и семантики операторов выборки и манипулирования данными, фиксация средств ограничений целостности БД:определение первичного и внешнего ключей отношений, проверочные ограничения целостности)

Международный стандарт 1992 г. (SQL2):

  • Расширено манипулирование таблицами (Alter table, Drop table).

  • Манипулирование схемой БД (Users, Tables, Views, Columns, Domains, Table_priveleges, Table_constraints …)

  • Возможность управления доменами (Create domain имя char(25). При определении имен столбцов эти имена определяются через имена доменов).

  • Новые типы данных (Date, Time, Datetime …) и новые функции.

  • Управление транзакциями и сессиями (сессия последовательность транзакций, в пределах которой сохраняются временные отношения).

  • Подключение к БД.

  • Развитие динамического SQL.

Стандарт SQL3

  • Механизм триггеров (стандарт синтаксиса триггеров и процедур).

  • Абстрактные типы данных.

  • Расширение модели транзакций (контрольные точки, многозвенные транзакций).

Стандарты это верный ориентир для разработчиков, так как все поставщики СУБД в своих перспективных разработках обязательно следуют стандарту, и можно быть уверенным, что в конце концов стандарт будет реализован практически во всех перспективных СУБД. Так произошло со стандартом SQL1, так происходит со стандартом SQL2 и так будет происходить со стандартом SQL3 [133].