Различие между естественным соединением и простым соединением по общему признаку в алгебре - PullRequest
0 голосов
/ 05 июня 2018

У меня путаница.Предположим, что есть два отношения с общим атрибутом A. Теперь есть (R естественное соединение S) = (R объединение S, где условие соединения A = A)?Естественное объединение возвращает общий столбец A Простое объединение возвращает два столбца с одинаковым именем AA или 1 общий столбец A из-за реляционной алгебры, определенной в теории множеств ??

1 Ответ

0 голосов
/ 06 июня 2018

Вот пример естественного соединения здесь .Как говорит @Renzo, есть много вариантов.И SQL снова другой.Поэтому я буду придерживаться того, что показывает Википедия.

Самое важное: условие соединения применяется к всем атрибутам, общим для двух аргументов.Поэтому вам нужно сказать «два отношения с А, являющиеся их только общим атрибутом».Единственный общий атрибут - DeptName в этом примере из Википедии.В общем случае может быть много общих атрибутов.

Да, объединение означает формирование кортежей в результате путем объединения кортежей из аргумента, которые имеют одинаковые значения в соответствующих общих атрибутах.Таким образом, у вас есть то же значение с тем же именем атрибута.Было бы бессмысленно повторять оба атрибута в результате, потому что вы будете повторять значения.В примере показано, что в результате есть один атрибут DeptName.

Остерегайтесь того, что на разных диалектах реляционной алгебры используются разные символы и обозначения.Таким образом, голая бабочка (⋈) для Natural Join может быть дополнена логическим условием, делая theta-join (θ-join) или equi-join - см. Этот пример.Логическое условие находится между атрибутами с разными именами и может использовать любой оператор сравнения.Поэтому в результате появляются как имена атрибутов, так и их значения.

Теоретические операции над множествами применимы, поскольку каждый кортеж является набором пар имя-значение.Результирующие кортежи - это объединение кортежа из каждого аргумента - при условии, что это допустимый кортеж.То есть, если nv-пары с одинаковыми именами имеют одинаковое значение.

...