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

ЭКВИ - СОЕДИНЕНИЕ



l Наиболее важным частным случаем θ -соединения является случай, когда есть просто равенство.

l A[X=Y]B

Пусть имеются отношения P, D и PD, хранящие информацию о поставщиках, деталях и поставках соответственно (для удобства введем краткие наименования атрибутов):

Ответ на вопрос, какие детали поставляются поставщиками, дает экви-соединение P[PNUM=PNUM]PD. На самом деле, т.к. в отношениях имеются одинаковые атрибуты, то требуется сначала переименовать атрибуты, а потом выполнить экви-соединение. Запись становится более громоздкой:

Недостатком экви-соединения является то, что если соединение происходит по атрибутам с одинаковыми наименованиями (а так чаще всего и происходит!), то в результатирующем отношении появляется два атрибута с одинаковыми значениями. В нашем примере атрибуты PNUM1 и PNUM2 содержат дублирующие данные. Избавиться от этого недостатка можно, взяв проекцию по всем атрибутам, кроме одного из дублирующих. Именно так действует естественное соединение.

Естественное соединение
A JOIN B

Замечание. В синтаксисе естественного соединения не указываются, по каким атрибутам производится соединение. Естественное соединение производится по всем одинаковым атрибутам.

Замечание. Естественное соединение эквивалентно следующей последовательности реляционных операций:

Переименовать одинаковые атрибуты в отношениях

Выполнить декартово произведение отношений

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

Выполнить проекцию, удалив повторяющиеся атрибуты

Переименовать атрибуты, вернув им первоначальные имена

Замечание. Можно выполнять последовательное естественное соединение нескольких отношений.

P JOIN PD JOIN D

Деление
A DEVID BY A

Замечание. Типичные запросы, реализуемые с помощью операции деления, обычно в своей формулировке имеют слово "все" - "какие поставщики поставляют все детали?".

X DEVIDEBY Y

Пример

Получить имена поставщиков, поставляющих деталь номер 2.

Получить имена поставщиков, поставляющих по крайней мере одну гайку.

l Получить имена поставщиков, поставляющих все детали.

l Получить имена поставщиков, не поставляющих деталь номер 2.





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



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