Реляционная алгебра Реляционная алгебра Замечание выборка Учебный сайт

Реляционная алгебра




reshenie-g6-1001-pervaya-misl-prihodyashaya-v-golovu-eto-napisat-programmu-pohozhuyu-na-etu-a-b-b-a-stranica-17.html
reshenie-g6-1001-pervaya-misl-prihodyashaya-v-golovu-eto-napisat-programmu-pohozhuyu-na-etu-a-b-b-a-stranica-9.html
Реляционная алгебра — это теоретический язык операций, позволяющих создавать на основе одного или нескольких отношений другое отношение без изменения самих исходных отношений. Таким образом, оба операнда и результат являются отношениями, поэтому результаты одной операции могут применяться в другой операции. Это позволяет создавать вложенные выражения реляционной алгебры (по аналогии с тем, как создаются вложенные арифметические выражения), но при любой глубине вложенности результатом является отношение. Такое свойство называется замкнутостью. Оно подчеркивает то, что применение любого количества операций реляционной алгебры к отношениям не приводит к созданию иных объектов, кроме отношений, точно так же, как результатами арифметических операций с числами являются только числа.

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

Замечание

По справедливому замечанию Дейта, реляционная алгебра Кодда обладает несколькими недостатками:

Во-первых, восемь перечисленных операций по охвату своих функций, с одной стороны, избыточны, так как минимально необходимый набор составляют пять операций: объединение, вычитание, произведение, проекция и выборка. Три другие операции (пересечение, соединение и деление) можно определить через пять минимально необходимых.Так, например, соединение — это проекция выборки произведения.

Во-вторых, этих восьми операций недостаточно для построения реальной СУБД на принципах реляционной алгебры. Требуются расширения, включающие операции: переименования атрибутов, образования новых вычисляемых атрибутов, вычисления итоговых функций, построения сложных алгебраических выражений, присвоения, сравнения и т. д.

Основные и дополнительные операции реляционной алгебры

Существует несколько вариантов выбора операций, которые включаются в реляционную алгебру. Первоначально Кодд предложил восемь операций, но впоследствии к ним были добавлены и некоторые другие. Пять основных операций реляционной алгебры, а именно выборка (selection), проекция (projection), декартово произведение (cartesian product), объединение (union) и разность множеств (set difference), выполняют большинство действий по извлечению данных, которые могут представлять для нас интерес. На основании пяти основных операций можно также вынести дополнительные операции, такие как операции соединения (join), пересечения (intersection) и деления (division), которые могут быть выражены в терминах пяти основных операций.

Операции выборки и проекции являются унарными, поскольку они работают с одним отношением. Другие операции работают с парами отношений, и поэтому их называют бинарными операциями. В приведенных ниже определениях R и S — это два отношения, определенные на атрибутах и соответственно.

Операция

Обозначение

Область применения

Выборка



Определяет результирующее отношение, которое содержит только те кортежи (строки) из отношения R, которые удовлетворяют заданному условию (предикату)

Проекция



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

Объединение



Определяет новое отношение, которое включает все кортежи, содержащиеся только в R, только в S, одновременно в R и S, причем все дубликаты кортежей исключены. При этом отношения R и S должны быть совместимыми по объединению

Разность



Разность двух отношений R и s состоит из кортежей, которые имеются в отношении R. но отсутствуют в отношении S. Причем отношения R и s должны быть совместимыми по объединению

Пересечение



Определяет отношение, которое содержит кортежи, присутствующие как в отношении R, так и в отношении S. Отношения R и S должны быть совместимыми по объединению

Декартово произведение



Определяет новое отношение, которое является результатом конкатенации (т.е. сцепления) каждого кортежа из отношения R с каждым кортежем из отношения S

Тета-cоединение



Определяет отношение, которое содержит кортежи из декартова произведения отношений R и S, удовлетворяющие предикату F

Соединение по эквивалентности



Определяет отношение, которое содержит кортежи из декартова произведения отношений R и S, удовлетворяющие предикату F (предикат должен предусматривать только сравнение на равенство)

Естественное соединение



Естественным соединением называется соединение по эквивалентности двух отношений R и S, выполненное по всем общим атрибутам х, из результатов которого исключается по одному экземпляру каждого общего атрибута

(Левое) внешнее соединение



Соединение, при котором кортежи отношения R, не имеющие совпадающих значений в общих столбцах отношения S, также включаются в результирующее отношение

Полусоединение



Определяет отношение, содержащее те кортежи отношения R, которые входят в соединение отношений R и S

Деление



Определяет отношение, состоящее из множества кортежей отношения R, которые определены на атрибуте С, соответствующем комбинации всех кортежей отношения S, где C — множество атрибутов, имеющихся в отношении R, но отсутствующих в отношении S



Схематическое представление результатов операций реляционной алгебры





Вопросы:

  1. Что такое реляционная алгебра?

  2. Недостатки.

  3. Основные операции.
проекция

mpedagog.ru