РУКОВОДСТВО ПО РЕЛЯЦИОННОЙ СУБД DB2


АМАНИПУЛИРОВАНИЕ РЕЛЯЦИОННЫМИ ДАННЫМИ - часть 3


Пример в языке SQL: .

SELECT                DISTINCT ЦВЕТ, ГОРОД

FROM                   P;

— Соединение

Пусть theta

имеет тот же смысл, что и в случае селекции. Тогда theta-соединением отношения А по атрибуту Х с отношением В по атрибуту Y называется множество всех кортежей t, таких, что t является конкатенацией какого-либо кортежа а, принадлежащего А, и какого-либо кортежа Ь,

принадлежащего В, и предикат «а. Х theta b. Y» принимает значение «истина». При этом атрибуты А.Х и B.Y должны быть определены на одном и том же домене, и оператор theta должен иметь смысл для этого домена.

Пример в языке SQL:

SELECT  S.*, P.*

FROM   S, P

WHERE S. ГОРОД > Р. ГОРОД;

Если оператор theta — равенство, то соединение называется эквисоединением. Из этого определения следует, что результат эквисоединения должен включать два идентичных атрибута. Если один из этих двух атрибутов исключается, что можно осуществить с помощью проекции, результат называется естественным соединением. Под неуточненным термином «соединение» обычно понимается естественное соединение.

— Деление

В ее простейшей форме, и только она здесь рассматривается, операция деления делит отношение степени два (делимое) на отношение степени один (делитель) и продуцирует результирующее отношение степени один (частное). Пусть делимое А имеет атрибуты Х и Y, а делитель В — атрибут Y. Атрибуты A.Y и B.Y должны быть определены на одном и том же домене. Результатом деления А на В является отношение С с единственным атрибутом X, таким, что каждое значение х этого атрибута С.Х появляется как значение А.Х и пара значений (х,у)

входит в А для всех значений у, входящих в В.

Пример в языке SQL:

SELECT    DISTINCT НОМЕР_ПОСТАВЩИКА FROM SP, SP1

WHERE    NOT EXISTS

(SELECT         НОМЕР_ДЕТАЛИ FROM P

WHERE           NOT EXISTS

(SELECT         * FROM SP, SP2

WHERE           SP2. НОМЕР_ПОСТАВЩИКА =

SP1 .НОМЕР_ПОСТАВЩИКА

AND SP2.        НОМЕР_ДЕТАЛИ = Р.НОМЕР_ДЕТАЛИ));

Здесь для простоты предполагается, что: а) отношение SP имеет только два атрибута, а именно НОМЕР_ПОСТАВЩИКА и НОМЕР_ДЕТАЛИ (атрибут КОЛИЧЕСТВО игнорируется) и б) отношение Р имеет только один атрибут — НОМЕР_ДЕТАЛИ (игнорируются атрибуты НАЗВАНИЕ, ЦВЕТ, ВЕС, ГОРОД). Первое из этих двух отношений делится на второе; в результате получается отношение с одним атрибутом НОМЕР_ПОСТАВЩИКА, в котором перечисляются номера поставщиков для тех поставщиков, которые поставляют все детали.




- Начало -  - Назад -  - Вперед -



Книжный магазин