Реляційна алгебра

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Реляці́йна алгебра — відгалуження логіки першого порядку, множина відношень замкнених операторами. Оператори застосовуються до відношень, в результаті застосування отримується нове відношення.

В математиці, алгебра відношень є алгебраїчною структурою щодо математичної логіки та теорії множин.

Примітивні операції[ред.ред. код]

Подібно до інших алгебр, деякі оператори є примітивними, а інші, будучи визначені через примітивні, є похідними від них. В реляційній алгебрі Кодда визначено такі шість примітивних операторів: вибірка, проекція, декартів добуток, об'єднання та різниця і перейменування (насправді, Кодд відмовився від включення оператора перейменування, однак, розробники ISBL навели приклади необхідності його включення). Шість операторів є фундаментальними в тому сенсі, що жоден із них не можна відкинути без втрати потужності. Багато інших операторів було визначено комбінацією цих шести. Серед найважливіших можна назвати: перетин множин, ділення та природне об'єднання. Насправді, ISBL дала підстави для заміни декартового добутку природнім об'єднанням, окремим випадком якого є декартів добуток.

Операції з множинами[ред.ред. код]

Вибірка (σ)[ред.ред. код]

Узагальнена вибірка це унарний оператор, що записується як \sigma_\varphi(R), де \varphi є формулою числення висловлень, що складається із атомів, дозволених у звичайній вибірці та логічних операторів \and (кон'юнкції), \or (диз'юнкції) та \lnot (заперечення). Така вибірка вибирає всі кортежі із R для яких \varphi істина.

Проекція (π)[ред.ред. код]

Проекція — це унарна операція, що записується як \pi_{a_1, ...,a_n}( R ), де a_1, \dots, a_n є множиною назв атрибутів. Результат проекції визначається як множина, що отримується із всіх кортежів із R, що обмежуються \{a_1, \dots, a_n\}.

Перейменування (ρ)[ред.ред. код]

Перейменування є унарним оператором, що записується як \rho_{a / b}(R). Результат застосування оператора ідентичний R за винятком того, що поле b в усіх кортежах перейменовується на поле a. Цей оператор застосовується для простого перейменування атрибута відношення, або самого відношення.

Див. також[ред.ред. код]