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

Материал из Викиконспекты
Версия от 01:03, 13 декабря 2021; 5.18.186.8 (обсуждение) (Новая страница: «=Исчисление доменов и его реляционная полнота= ==Исчисление доменов== ===Синтаксис=== <font colo…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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

Исчисление доменов

Синтаксис

Переменная :: Тип -- Переменная может принимать значения из какого-то типа. Тип == набор значений

 -- Условие принадлежности отношению
Отношение {
  Атрибут1 = Значение1,
  Атрибут2 = Значение2,
  ...
}

Условие принадлежности

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

Пример:

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}
   

-> Исчисление доменов реляционно полно