Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по БД / Язык БД SQL.ppt
Скачиваний:
40
Добавлен:
10.06.2015
Размер:
593.41 Кб
Скачать

§ 7. Обзор основных операторов структурированного языка запросов к БД SQL

1.Общие сведения о языках запросов к реляционным БД

2.Структура языка SQL и его типы данных. Понятие представления

3.Основные операторы языка SQL

1. Общие сведения о языках

запросов к реляционным БД

Запрос представляет собой специальным образом описанное требование, определяющее состав производимых на БД операций по выборке, удалению или модификации хранимых данных.

Для подготовки запросов чаще всего используются два основных языка описания запросов: QBE и SQL.

2

Главное отличие между этими языками

заключается в способе формирования запросов: язык QBE предполагает ручное формирование

запроса, в то время как использование языка SQL означает программирование запроса.

Теоретической основой языка QBE является

реляционное исчисление с переменными- доменами. Этот язык позволяет формировать

сложные запросы к БД путем заполнения предлагаемой СУБД запросной формы. Такой способ формирования запросов обеспечивает высокую наглядность и не требует указания алгоритма выполнения операции. Достаточно описать образец ожидаемого результата (откуда и название языка – запрос по образцу).

Для того чтобы узнать имена доступных отношений БД, в языке QBE предусмотрен запрос на выборку имен отношений. Имена атрибутов исходного отношения могут вводиться в шаблон вручную или автоматически. Во втором случае

используется запрос на выборку имен атрибутов. В современных СУБД, например, в ACCESS (диалоговые окна) и VISUAL FOX PRO, многие

действия по подготовке запросов с помощью языка QBE выполняются визуально с помощью мыши («протаскиванием» мышью имени атрибута одного отношения к атрибуту другого).

Первый вариант языка QBE был предложен в 1975-1977 г. М. М. Злуффом.

4

Краткая история стандартизации языка SQL

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

коммерческих реализаций. В 1982 г. комитету по БД Американского национального института стандар-

тов (ANSI) было поручено разработать спецификацию стандартного языка реляционных БД.

5

Первый документ из числа проектов стандарта датирован октябрем 1985 г. и является уже не первым проектом

стандарта ANSI. Стандарт был принят ANSI в 1986 г., а в 1987 г. одобрен

Международной организацией по стандартизации (ISO). Этот стандарт языка SQL принято называть SQL/86.

К 1989 г. стандарт SQL/86 был несколько расширен, был подготовлен и принят

следующий стандарт, получивший название ANSI/ISO SQL/89.

6

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

аспекты, необходимые для реализации приложений: манипулирование схемой БД, динамический SQL, управление транзакциями и сессиями (сессия - это последовательность

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

В1995 г. стандарт был дополнен

спецификацией интерфейса уровня вызова (Call-Level Interface – SQL/CLI). SQL/CLI

представляет собой набор спецификаций интерфейсов процедур, вызовы которых позволяют выполнять динамически зада- ваемые операторы SQL. Интерфейсы проце-

дур определены для всех основных языков программирования: C, Ada, Pascal и др. Стандарт SQL/CLI послужил основой для создания повсеместно распространенных сегодня интерфейсов ODBC (Open Database

Connectivity) и JDBC (Java Database Connec- tivity). По сути дела SQL/CLI представляет

собой альтернативу динамическому SQL.

В 1996 г. к стандарту SQL/92 был

добавлен еще один компонент SQL/PSM (Persistent Stored Modules).

Основная цель этой спецификации состоит в том, чтобы стандартизиро-

вать способы определения и исполь- зования хранимых процедур, то есть

программ, включающих операторы SQL, которые сохраняются в БД, могут вызываться приложениями и выполняются внутри СУБД.

9

Незадолго до завершения работ по определению стандарта SQL2

была начата разработка стандар- та SQL3, которую частично уда-

лось завершить только в 1999 г., и

по этой причине стандарт получил название SQL:1999 (самые

первые проекты SQL3 занимали около 1500 страниц). В 1999 г.

были приняты пять первых частей

стандарта SQL:1999.

10