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



             

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


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

  • Объединение. Если 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(в).



  • Содержание  Назад  Вперед