Изменения

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

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

234 байта добавлено, 15:49, 20 декабря 2021
м
Большое деление
{{Определение
|definition=
Пусть даны отношения <tex>A</tex> с заголовком <tex>X \cup Y</tex> и отношение <tex>B</tex> с заголовком <tex>Y \cup Z \,\,\,\, (X \cap Z = \varnothing)</tex>. Тогда '''большим делением''' (англ. ''Great division'') <tex>A</tex> на <tex>B</tex> называется отношение <tex>C</tex> с заголовком <tex>X \cup Z</tex>, такое что для каждого <tex>(x, z ) \in X \cup Z</tex> верно <tex>\pi_x({x\sigma_{Z=z}(C)) = A \div times \pi_Y(\sigma_{Z=z}(B))\subseteq A</tex>. Обозначение: <tex>A ⋇ B</tex>
}}
===Пример===
* <tex>A ⋇ B = \{(x, z) \in \pi_X(A) \times \pi_Z(B) \, | \, \forall y \in \pi_Y(\sigma_{Z=z}(B)): \,\, (x, y) \in A\}</tex> — интерпретация определения на языке кванторов
* Для каждого <tex>z \in Z</tex> верно <tex>\pi_x(\sigma_{Z=z}(C)) = A \div \pi_Y(\sigma_{Z=z}(B))</tex> — интерпретация большого деления как "деление для каждого <tex>z</tex>"
* <tex>A ⋇ B = \pi_X(A) \times \pi_Z(B) \setminus \pi_{XZ}(\pi_X(A) \times B \setminus A \Join B)</tex> — выражение большого деления через простейшие операции реляционной алгебры
9
правок

Навигация