Реляционная алгебра: соединения, деление

Материал из Викиконспекты
Версия от 14:46, 14 декабря 2021; Masmirnov (обсуждение | вклад) (Структура страницы; полное соединение)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Соединения

Определение:
Соединение (англ. Join) — общее наименование для бинарных операторов на отношениях, позволяющих некоторым образом соединить данные из нескольких отношений в одно.

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

Определение:
Полным, или декартовым соединением (англ. Cross join, Cartesian join) двух отношений [math]R_1[/math] и [math]R_2[/math], у которых нет общих атрибутов, называется отношение, в котором заголовок является объединением заголовков [math]R_1[/math] и [math]R_2[/math], а тело — декартовым произведением тел [math]R_1[/math] и [math]R_2[/math]. Обозначение: [math]R_1 \times R_2[/math]

В случае, если у двух отношений есть хотя бы один общий атрибут в заголовке, их полное соединение не определено.

Пример

Рассмотрим два отношения:

Id1 FirstName
1 Иван
2 Пётр
3 Сидор
Id2 LastName
1 Иванов
3 Петров
4 Сидоров

Их полным соединением будет следующее отношение:

Id1 FirstName Id2 LastName
1 Иван 1 Иванов
1 Иван 3 Петров
1 Иван 4 Сидоров
2 Пётр 1 Иванов
2 Пётр 3 Петров
2 Пётр 4 Сидоров
3 Сидор 1 Иванов
3 Сидор 3 Петров
3 Сидор 4 Сидоров

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

TODO

Внешние соединения

TODO

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

TODO

Условные соединения

TODO

Деление

TODO