# 12. Операции реляционной алгебры: проекция, выборка, объединение, разность, пересечение
# Унарные
# 1. Проекция - П_{a_1, a_2, a_3, ..., a_n}(R)
def
Проекция (SELECT
) - это операция, которая определяет новое отношение, содержащее вертикальное подмножество исходного отношения, создаваемое посредством извлечения значений указанных атрибутов и исключения из результата строк-дубликатов.
# 2. Выборка - S_{предикат}(R)
def
Выборка (WHERE
) - это операция, которая определяет результирующее отношение, которое содержит только те кортежи из исходного отношения, которые удовлетворяют заданному условию (предикату).
# Бинарные
# 3. Объединение - R u S
def
Объединение (UNION
) - это операция над отношениями R и S, определяющая новое отношение, которое включает все кортежи, содержащиеся только в R, все кортежи, содержащиеся только в S и кортежи, содержащиеся одновременно в R и S с исключением дубликатов.
TIP
Объединение возможно только, если отношения совместимы, и обычно объединение считается опасной операцией
def
Совместимость по объединению - два отношения R и S будут совместимы по объединению, когда они состоят из одинакового количества аттрибутов, и каждая пара соответствующих аттрибутов будет иметь одинаковый домен.
# 4. Разность - R - S
def
Разность - это отношение, состоящее из кортежей, которые есть в отношении R, но отсутствуют в отношении S
TIP
Данная операция требует, чтобы отношения были совместимы по объединению
# 5. Пересечение - R ^ S
def
Пересечение - это отношение, которое содержит кортежи, присутствующие в обоих отношениях одновременно