1

Мне интересно, является ли естественная операция объединения в реляционной алгебре ассоциативной. Я имею в виду, верно ли следующее уравнение?Ассоциативность естественного объединения

(S1 NATURAL JOIN S2) NATURAL JOIN S3 = S1 NATURAL JOIN (S2 NATURAL JOIN S3) 

Это выглядит ассоциативно для меня интуитивно, но я не уверен.

Благодаря

ответ

1

inner join возвращает только те строки, которые соответствуют условию on. Он не имеет специального лечения ни для правого, ни для левого стола. Таким образом, ассоциация inner join.

A natural join - inner join для всех колонок с тем же именем. Поскольку inner join является ассоциативным, то есть natural join.

+0

Спасибо за ответ – yrazlik

+0

Естественное соединение не является внутренним соединением (theta-join). Внутреннее/тета-соединение выводит столбец для каждого столбца на входах; это ограниченное крест-соединение. Естественное объединение выводит по одному столбцу для каждого имени столбца во входном сигнале; поэтому он выводит меньше столбцов при совместном использовании имени столбца. Во всяком случае, в алгебре естественное соединение вводит любую пару отношений, но внутреннее/тета-объединение с только значениями отношения на входе не определено, когда есть общие имена столбцов. В SQL существуют похожие, но разные различия; SQL объединяет значения отношения ввода и (корреляционные) имена. – philipxy