Связь алгебры и исчисления — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Естественное соединение R_1 \bowtie R_2)
Строка 1: Строка 1:
 
== Алгебра через исчисление ==
 
== Алгебра через исчисление ==
 +
Выразим операции реляционной алгебры через операции реляционного исчисления.
 
=== Проекция <tex>\pi_{A_1,\ldots,A_n}(R)</tex> ===
 
=== Проекция <tex>\pi_{A_1,\ldots,A_n}(R)</tex> ===
 
  <font color = blue>select</font> A1<font color = gray>$,\ldots,$</font>An <font color = blue>from</font> R
 
  <font color = blue>select</font> A1<font color = gray>$,\ldots,$</font>An <font color = blue>from</font> R
Строка 21: Строка 22:
 
  R1<font color = grey>.*,</font> R2<font color = grey>.*</font> <font color = blue>from</font> R1<font color = grey>,</font> R2 <font color = blue>where</font>  
 
  R1<font color = grey>.*,</font> R2<font color = grey>.*</font> <font color = blue>from</font> R1<font color = grey>,</font> R2 <font color = blue>where</font>  
 
                 R1<font color = grey>.</font><font color = red>Атрибуты</font> <font color = grey>=</font> R2<font color = grey>.</font><font color = red>Атрибуты</font>
 
                 R1<font color = grey>.</font><font color = red>Атрибуты</font> <font color = grey>=</font> R2<font color = grey>.</font><font color = red>Атрибуты</font>
 +
 +
Набор перечисленных операций составляет базис операций реляционной алгебры. Все операции этого набора можно эмулировать в терминах реляционного исчисления. Из этого следует, что выразительна мощность реляционного исчисления не меньше выразительной мощности реляционной алгебры.

Версия 02:08, 20 декабря 2021

Алгебра через исчисление

Выразим операции реляционной алгебры через операции реляционного исчисления.

Проекция [math]\pi_{A_1,\ldots,A_n}(R)[/math]

select A1$,\ldots,$An from R

Фильтр [math]\sigma_\theta(R)[/math]

from R where $\theta$

Дополнительный столбец [math]\varepsilon_{A=expr}(R)[/math]

select R.*, expr as A from R

Объединение [math]R_1 \cup R_2[/math]

R :: R1, R2

Разность [math]R1 \smallsetminus R2[/math]

R :: R1 where $\lnot\exists$R2 (R1 = R2)

Декартово произведение [math]R_1 \times R_2[/math]

R1.*, R2.* from R1, R2

Естественное соединение [math]R_1 \bowtie R_2[/math]

R1.*, R2.* from R1, R2 where 
                R1.Атрибуты = R2.Атрибуты

Набор перечисленных операций составляет базис операций реляционной алгебры. Все операции этого набора можно эмулировать в терминах реляционного исчисления. Из этого следует, что выразительна мощность реляционного исчисления не меньше выразительной мощности реляционной алгебры.