Изменения

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

Исчисление доменов и его реляционная полнота

2238 байт добавлено, 01:03, 13 декабря 2021
Новая страница: «=Исчисление доменов и его реляционная полнота= ==Исчисление доменов== ===Синтаксис=== <font colo…»
=Исчисление доменов и его реляционная полнота=
==Исчисление доменов==
===Синтаксис===
<font color=red>Переменная</font> :: <font color=red>Тип</font> <font color=green>-- Переменная может принимать значения из какого-то типа. Тип == набор значений
</font>
<font color=green>-- Условие принадлежности отношению</font>
<font color=red>Отношение {</font>
<font color=red>Атрибут1</font> = <font color=red>Значение1</font>,
<font color=red>Атрибут2</font> = <font color=red>Значение2</font>,
...
<font color=red>}</font>

===Условие принадлежности===
Предикат, значение которого истина тогда, когда в отношении есть кортеж с совпадающими значениями атрибутов.

Пример:
S{FirstName = 'Иван', LastName = 'Иванов'}
`
Отношение {
Атрибут1 = Значение1,
Атрибут2 = Значение2,
...
}
`

Как мы будем записывать запросы?

Опишем переменные
`
<переменные> where <логическое выражение>
`

В логические выражения могут входить условие принадлежности, логические связки, кванторы и отрицания.

Реляционная полнота
--------------------
Проекция
A1, ..., An from R where R{A1=A1, ..., An = An}

Фильтр
A1, ..., An from R where R{A1=A1, ..., An = An} ∧ θ

Переименовывание
expr as A from R where R{A1=A1, ..., An = An}

Объединение
A1, ..., An where R1{Ai=Ai} ∨ R2{Ai=Ai}

Разность
A1, ..., An where R1{Ai=Ai} ∧ ¬R2{Ai=Ai}

Декартово произведение
A1, ..., An, B1, ..., Bm where R1{Ai=Ai} ∧ R2{Bj=Bj}

Естественное соединение
A1, ..., An, B1, ..., Bm, C1, ..., Cl where
R1{Ai=Ai, Bj=Bj} ∧ R2{Ck=Ck, Bj=Bj}

-> Исчисление доменов реляционно полно
Анонимный участник

Навигация