Запрос 4

Запрос 3.

Запрос 2.

Запрос 1.

Сообщить название фирмы-поставщика П1

SELECT ПОСТАВЩИК WHERE П# = 'П1' GIVING TEMP1

PROGECT TEMP1 OVER Имя поставщика GIVING RESULT

Первое предложение формирует промежуточную таблицу TEMP1, второе предложение формирует результирующую таблицу RESULT. Результаты выполнения каждого предложения в точности соответствуют результатам выполнения операций, рассмотренным в предыдущем параграфе.

В каком количестве поставляются изделия И2?

SELECT ПОСТАВКИ WHERE И# = 'И2' GIVING TEMP1

PROGECT TEMP1 OVER Кол GIVING RESULT

Сколько изделий И2 поставляет фирма Заря?

SELECT ПОСТАВЩИК WHERE Имя поставщика = 'Заря' GIVING TEMP1

JOIN TEMP1 AND ПОСТАВКИ OVER П# GIVING TEMP2

SELECT TEMP2 WHERE И# = 'И2' GIVING TEMP3

PROGECT TEMP3 OVER Кол GIVING RESULT

Какие поставщики и по какому тарифу поставляют изделия И2?

SELECT ПОСТАВКИ WHERE И# = 'И2' GIVING TEMP1

JOIN TEMP1 AND ПОСТАВЩИК OVER П# GIVING TEMP2

JOIN TEMP2 AND ДОСТАВКА OVER Город GIVING TEMP3

PROGECT TEMP3 OVER Имя поставщика, Тариф GIVING RESULT

Мы рассмотрели лишь 3 оператора языка из 9.

Рассмотренный язык обладает следующей особенностью: это процедурный язык обработки реляционных таблиц. Это означает, что в формуле запроса последовательно перечисляются все операции, которые надо выполнить над отношениями для выработки ответа. Пользователь, работающий с таким языком, должен иметь определенный уровень подготовки. Кроме того, один и тот же результат можно получить, составляя разные варианты запроса (см. п. 9, запрос 4). При этом скорость выполнения запроса и необходимые объемы памяти для хранения промежуточных результатов зависят от того, как именно составлена формула: "лучшим" или "не лучшим" способом. И здесь существенное значение имеет уровень подготовки пользователя, его опыт и навыки.

Замечательным достоинством этого языка является его реляционная полнота. Это означает, что язык позволяет составить любые запросы на манипулирование данными в БД.

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

Тремя наиболее важными реляционными языками БД являются: SQL - Structured Query Language (структурированный язык запросов), QBE - Query By Example (запрос по образцу) и QUEL - Query Language (язык запросов). Наибольшее распространение получили первые два.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: