Языки пространственных запросов

Операции над множествами


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

  • Объединение. Если R и S есть отношения, то

    возвращает все кортежи, которые встречаются или в R, или в S. Например, мы можем использовать операцию объединения для составления списка стран, которые либо расположены в Северной Америке, либо имеют реки, берущие исток на этом континенте.

    1.R = ?Name(?Cont=СА(Country)).

    2.    S = ?Origin(River).

    3.   

    Результирующее отношение показано в таблице 3.4(а). Заметим, что атрибуты R.Name и S.Origin имеют общую область определения, поскольку атрибут R.Origin связан с Country.Name. Этого достаточно для того, чтобы отношения R и S были совместными по объединению.

  • Разность. R – S возвращает все кортежи в R, которые отсутствуют в S. Оператор разности может использоваться, например, для отыскания всех стран в Северной Америке, на территории которых нет истоков рек (перечисленных в таблице River). Результирующее отношение показано в таблице 3.4(б).

    1.    R = ?Name(?Cont=СА(Country)).

    2.    S = ?Origin(River).

    3.    R – S.

  • Пересечение. Для двух совместных по объединению отношений R и S оператор пересечения
    возвращает все кортежи, встречающиеся как в R, так и в S. Отметим, что эта операция, хотя и весьма удобна, является избыточной: ее можно получить из операции разности:
    = R – (R – S). Чтобы найти все страны, которые расположены в Южной Америке и на территории которых находятся истоки рек, используем операцию пересечения. Результат представлен в таблице 3.4(в).

  • 1.    R = ?Name(?Cont=ЮА(Country)).

    2.    S = ?Origin(River).



    3.    
    .


  • Векторное произведение. Эта операция применяется к любой паре отношений, а не только к отношениям, совместным по объединению. R x S возвращает отношение, схема которого содержит все атрибуты R, за которыми следуют все атрибуты S. Для простоты в таблице 3.3 приведен абстрактный пример этой операции. Обратите внимание на использование «точечной» нотации для различения атрибутов обоих отношений.


Таблица 3.3. Векторное произведение отношений R и S

R R.A R.B
A1 B1
A2 B2
(а) Отношение R
S S.C S.D
C1 D1
C2 D2
(b) Отношение S
R ? S R.A R.B S.C S.D
A1 B1 C1 D1
A1 B1 C2 D2
A2 B2 C1 D1
A2 B2 C2 D2
(c) R ? S

Таблица 3.4. Результаты операций над множествами
НАЗВАНИЕ
Канада
Мексика
Бразилия
Куба
США
(а) Объединение
НАЗВАНИЕ
Канада
Мексика
Куба
(б) Разность
НАЗВАНИЕ
Бразилия
(в) Пересечение


Содержание раздела