Изменения

Перейти к: навигация, поиск

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

2432 байта добавлено, 14:46, 14 декабря 2021
Структура страницы; полное соединение
=Соединения=

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

{{Определение
|definition=
'''Полным''', или '''декартовым соединением''' (англ. ''Cross join'', ''Cartesian join'') двух отношений <tex>R_1</tex> и <tex>R_2</tex>, у которых нет общих атрибутов, называется отношение, в котором заголовок является объединением заголовков <tex>R_1</tex> и <tex>R_2</tex>, а тело — декартовым произведением тел <tex>R_1</tex> и <tex>R_2</tex>. Обозначение: <tex>R_1 \times R_2</tex>
}}
В случае, если у двух отношений есть хотя бы один общий атрибут в заголовке, их полное соединение не определено.

===Пример===

Рассмотрим два отношения:
{| class="wikitable" style="background-color:#FFF; text-align:center; padding:1000px"
!'''Id1'''
!'''FirstName'''
|-
|1
|Иван
|-
|2
|Пётр
|-
|3
|Сидор
|}
{| class="wikitable" style="background-color:#FFF; text-align:center; padding:1000px"
!'''Id2'''
!'''LastName'''
|-
|1
|Иванов
|-
|3
|Петров
|-
|4
|Сидоров
|}
Их полным соединением будет следующее отношение:
{| class="wikitable" style="background-color:#FFF; text-align:center; padding:1000px"
!'''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'''
9
правок

Навигация