2016-11-05 1 views
2

natural joins 2 relationsDatabase- Реляционная алгебра естественно соединяет 2 таблицы состоит 2 одинаковых имена столбцов

Я прочитал пример Natural Join с участием 2 отношений, которые имеют 2 идентичное название колонны. Я понимаю тех, у кого одинаковое имя столбца в 2 таблицах, но на самом деле не знаю, для этого случая. Может ли кто-нибудь объяснить мне, как получить этот вывод (а не в команде Sql)?

Спасибо!

+0

Что такое * определение * естественного соединения, на которое вы ссылаетесь? – philipxy

ответ

4

Общий столбец B и D, поэтому строки с обеих сторон сопоставляются, если они имеют одинаковые значения B и D.
Общие (B, D) значения в этом примере являются (1, a) и (2, b).
2 строки из r 'с (1, a) сопоставляются с 2 строками из s', создавая 4 комбинации.
1 строка из r 'с (2, b) сопоставляется с 1 строкой из s', создавая единую комбинацию.
Следовательно, 5 строк в результирующем наборе.

1

Каждый кортеж представляет собой набор со значением для каждого атрибута. Когда два кортежа согласуются со всеми значениями их общих атрибутов, тогда есть кортеж, который является их объединением набора. Например, r {A α B 1 C α D a} U s {B 1 D a E α} = {A α B 1 C α D a E α}. В противном случае нет кортежа, который является их объединением набора. Например, для r {A α B 1 C α D a} и s {B 3 D a E β}.

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

Таким образом, r ⋈ s - набор кортежей, которые представляют собой набор объединений кортежа из r и набор из s. Мы вычисляем его, рассматривая каждую пару кортежей из r кортежа из s, и если есть набор, который является их объединением набора, то он находится в результате.

Во-первых, r {A α B 1 C α D a} и s {B 1 D a E α} согласуются с значениями их общих атрибутов. Таким образом, их объединение множеств {A α B 1 C α D a E α} находится в r ⋈ s.

Далее, r's {A α B 1 C α D a} и s {B 3 D a E β} имеют разные значения для их общих атрибутов. Таким образом, нет кортежа, который является их объединением. Таким образом, пара кортежей не имеет объединения множеств в r ⋈ s.

Продолжить для каждой пары кортежей от r & s.

Смежные вопросы