Понимание естественного объединения в реляционной алгебре - PullRequest
0 голосов
/ 04 сентября 2018

Я видел, что естественное соединение - это просто комбинация выбора и декартового произведения, но на разных веб-сайтах оно называется комбинацией проекции и декартового произведения, и оба они совершенно разные, так какое определение должно более точно соответствовать ему?

1 Ответ

0 голосов
/ 05 сентября 2018

Существует много разных версий «реляционной алгебры», которые отличаются даже понятием «отношения». Там нет ни одного ПРОДУКТА или ЕСТЕСТВЕННОГО СОЕДИНЕНИЯ.

Некоторые версии реляционной алгебры имеют заголовки отношений, которые представляют собой списки имен атрибутов. PRODUCT выводит атрибут для каждого элемента списка ввода. Если есть ЕСТЕСТВЕННОЕ СОЕДИНЕНИЕ, то его результат будет таким же, как сначала выполнение ПРОДУКТА, затем ОГРАНИЧЕНИЕ / ВЫБОР на равенство пар атрибутов с одинаковыми именами, а затем ПРОЕКТИРОВАНИЕ одного атрибута каждой пары. Они дают тот же результат, когда нет общих имен атрибутов. PRODUCT работает для любых двух входов, но NATURAL JOIN может быть неопределенным, если вход имеет повторяющиеся имена атрибутов.

Некоторые версии реляционной алгебры имеют заголовки отношений, которые представляют собой наборы имен атрибутов. (Элементы неупорядочены и уникальны.) Результат NATURAL JOIN имеет заголовок, который представляет собой объединение входных заголовков. (У кортежей есть одна копия каждого из имен атрибутов, общих для обоих входов, и одна копия каждого из имен атрибутов, уникальных для одного входа.) Он возвращает все кортежи с тем заголовком, который может быть создан путем объединения кортежа из каждой входной таблицы. Это независимо от того, сколько существует общих имен атрибутов, включая ноль. PRODUCT определяется только тогда, когда входные данные не имеют общих имен атрибутов, но в остальном действует как NATURAL JOIN. Роль ПРОДУКТА заключается в подтверждении того, что вы ожидаете, что нет общих имен атрибутов. Когда все имена столбцов являются общими, это некое пересечение.

Все это независимо от PK, UNIQUE, FKs и других ограничений.

...