Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Запрос 4



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

Известное данное (номер изделия П2) находится в таблице ПОСТАВКИ, а искомые данные (имя поставщика и тариф) - в таблицах ПОСТАВЩИК и ДОСТАВКА. Поэтому для выработки ответа на запрос необходимо связать данные из трех таблиц.

Из отношения ПОСТАВКИ с помощью операции сцепления отношения с одноэлементным множеством { И2 } выделим кортежи, содержащие номера поставщиков, поставляющих изделие И2. Затем выполним сцепление полученного отношения с отношением ПОСТАВЩИК по атрибуту П#. Получим отношение, содержащее атрибут с названиями городов, из которых доставляются изделия И2. Операция сцепления полученного отношения с отношением ДОСТАВКА по атрибуту Город сформирует отношение, содержащее атрибуты с искомыми данными. Наконец, выполнив проекцию этого отношения на атрибуты Имя поставщика и Тариф, выделим искомые данные.

Запишем формулу запроса.

1 2 3 4

ПОСТАВКИ * {И2} * ПОСТАВЩИК * ДОСТАВКА [Имя поставщика, Тариф]

Определим результаты выполнения каждой операции (все операции в формуле и получаемые результаты пронумерованы).

1. 2.

П1 И2     П1 И2   Восход Тула
П2 И2   П2 И2   Заря Самара

3. 4.

П1 И2   Восход Тула     Восход  
П2 И2   Заря Самара   Заря  

Можно заметить, что в результате последовательного выполнения нескольких операций сцепления арность отношений растет, т.е. в таблицах увеличивается количество столбцов. Рост объемов промежуточных результатов при выполнении такого запроса на ЭВМ может привести к увеличению времени выполнения каждой следующей операции, и общее время выполнения запроса может оказаться недопустимо большим.

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

1 2 3 4 5

ПОСТАВКИ * { И2 } [ П#] * ПОСТАВЩИК [ Имя поставщика, Город ] *

5 6

*ДОСТАВКА [ Имя поставщика, Тариф ]

Результаты выполнения операций:

1. 2. 3. 4.

П1 И2     П1   П1 Восход Тула   Восход Тула
П2 И2   П2 П2 Заря Самара Заря Самара

5. 6.

Восход Тула     Восход  
Заря Самара   Заря  

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





Дата публикования: 2014-11-18; Прочитано: 291 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...