Презентация "Базы данных. Операции реляционной алгебры"

Подписи к слайдам:
Базы данных
  • Операции реляционной алгебры
Операции реляционной алгебры
  • Язык SQL основан на операциях реляционной алгебры (РА).
  • Операции РА применяются к отношениям и в результате применения операций РА получаются отношения (таблицы).
  • Различают унарные и бинарные операции РА: унарные применяются к одному отношению (таблице), бинарные – к двум.
  • Существует пять основных операций РА:
  • селекция;
  • проекция;
  • декартово произведение;
  • объединение;
  • разность;
  • и три вспомогательных операции РА, которые могут быть выражены через основные:
  • пересечение;
  • соединение;
  • деление.
Унарные операции реляционной алгебры
  • Проекция (project).
  • Это унарная операция (выполняемая над одним отношением), служащая для выбора подмножества атрибутов из отношения R. Она уменьшает арность отношения и может уменьшить мощность отношения за счёт исключения одинаковых кортежей.
  • Отношение R
  • Проекция A,C(R)
  • A
  • B
  • C
  • A
  • C
  •  
  • a
  • b
  • c
  • a
  • c
  •  
  • c
  • a
  • d
  • c
  • d
  •  
  • c
  • b
  • d
  •  
Унарные операции реляционной алгебры
  • Селекция (select).
  • Это унарная операция, результатом которой является подмножество кортежей исходного отношения, соответствующих условиям, которые накладываются на значения определённых атрибутов.
  • Отношение R
  • Селекция C=d(R)
  • A
  • B
  • C
  • A
  • B
  • C
  • a
  • b
  • c
  • c
  • a
  • d
  • c
  • a
  • d
  • c
  • b
  • d
  • c
  • b
  • d
Бинарные операции реляционной алгебры
  • Бинарные операции РА:
  • разносхемные – применяются к любым двум отношениям.
  • односхемные – применяются к односхемным отношениям. Исходные отношения должны иметь одинаковое количество столбцов одинаковых (или сравнимых) типов. Сравнимыми считаются типы, относящиеся к одному и тому же семейству данных (в таблице полужирным шрифтом выделены базовые типы).
  • Семейства типов данных Oracle:
  • Числовые:
  • DEC, DECIMAL,
  • DOUBLE PRECISION,
  • FLOAT, INT, INTEGER,
  • NUMBER,
  • NUMERIC,
  • REAL, SMALLINT
  • Символьные:
  • CHAR, CHARACTER,
  • LONG, LONG RAW
  • RAW,
  • ROWID,
  • STRING,
  • VARCHAR, VARCHAR2
  • Календарные:
  • DATE
Разносхемная основная операция РА
  • Декартово произведение (cartesian product).
  • Это бинарная операция над разносхемными отношениями, соответствующая определению декартова произведения для РМД: в результате получается отношение, схема которого включает все атрибуты исходных отношений. Результирующее отношение содержит все возможные комбинации кортежей исходных отношений.
  • Отношение R
  • Отношение S
  • Декартово произведение RS
  • A
  • B
  • C
  • D
  • E
  • A
  • B
  • C
  • D
  • E
  • 1
  • 4
  • g
  • h
  • a
  • 1
  • 4
  • g
  • h
  • a
  • 2
  • 5
  • a
  • b
  • c
  • 1
  • 4
  • a
  • b
  • c
  • 3
  • 6
  • 2
  • 5
  • g
  • h
  • a
  • 2
  • 5
  • a
  • b
  • c
  • 3
  • 6
  • g
  • h
  • a
  • 3
  • 6
  • a
  • b
  • c
Бинарные односхемные операции РА
  • Объединение (union).
  • Объединением двух односхемных отношений R и S называется отношение T = R U S, которое включает в себя все кортежи исходных отношений без повторов.
  • Отношение R
  •  
  • Отношение S
  •  
  • Объединение R U S
  • A
  • B
  • C
  •  
  • A
  • B
  • C
  •  
  • A
  • B
  • C
  • a
  • b
  • c
  •  
  • g
  • h
  • a
  •  
  • a
  • b
  • c
  • c
  • a
  • d
  •  
  • a
  • b
  • c
  •  
  • c
  • a
  • d
  • c
  • h
  • c
  •  
  • h
  • d
  • d
  •  
  • c
  • h
  • c
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  • g
  • h
  • a
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  • h
  • d
  • d
Бинарные односхемные операции РА
  • Разность (except).
  • Разностью односхемных отношений R и S называется множество кортежей R, не входящих в S.
  • Отношение R
  • Отношение S
  • Разность R–S
  • A
  • B
  • C
  • A
  • B
  • C
  • A
  • B
  • C
  • a
  • b
  • c
  • g
  • h
  • a
  • c
  • a
  • d
  • c
  • a
  • d
  • a
  • b
  • c
  • c
  • h
  • c
  • c
  • h
  • c
  • h
  • d
  • d
Бинарные односхемные операции РА
  • Пересечение (intersect).
  • Пересечение двух односхемных отношений R и S есть подмножество кортежей, принадлежащих обоим отношениям.
  • Это можно выразить через разность:
  • R ∩ S = R – (R – S).
  • Отношение R
  • Отношение S
  • Пересечение R–S
  • A
  • B
  • C
  • A
  • B
  • C
  • A
  • B
  • C
  • a
  • b
  • c
  • g
  • h
  • a
  • a
  • b
  • c
  • c
  • a
  • d
  • a
  • b
  • c
  • c
  • a
  • d
  • c
  • h
  • c
  • c
  • a
  • d
  • d
  • r
  • t
  • g
  • u
  • v
Разносхемные операции РА: соединение
  • Соединение (join).
  • Эта операция определяет подмножество декартова произведения двух разносхемных отношений. Кортеж декартова произведения входит в результирующее отношение, если для атрибутов разных исходных отношений выполняется некоторое условие F. Соединение может быть выражено так:
  • R  S = F (R  S)
  • F
  • Если условием является равенство значений двух атрибутов исходных отношений, такая операция называется эквисоединением. Естественным называется эквисоединение по одинаковым атрибутам исходных отношений.
  • Отношение R
  • Отношение S
  • Соединение RS
  • A
  • B
  • C
  • A
  • D
  • E
  • A
  • B
  • C
  • D
  • E
  • a
  • b
  • c
  • g
  • h
  • a
  • c
  • a
  • d
  • b
  • c
  • c
  • a
  • d
  • c
  • b
  • c
  • c
  • h
  • c
  • b
  • c
  • c
  • h
  • c
  • h
  • d
  • d
  • g
  • b
  • d
  • h
  • a
  • g
  • b
  • d
Операция деления
  • Деление (division).
  • Пусть отношение R содержит атрибуты {r1,r2,...,rk, rk+1,...,rn}, а отношение S – атрибуты {rk+1,...,rn}. Тогда результирующее отношение содержит атрибуты {r1,r2,...,rk}. Кортеж отношения R включается в результирующее отношение, если его декартово произведение с отношением S входит в R.
  • Деление может быть выражено так:
  • R / S = r1,…,rk (R) – r1,…,rk ((r1,…,rk (R)  S) – R).
  • Отношение R
  • Отношение S
  • Частное R/S
  • A
  • B
  • C
  • D
  • C
  • D
  • A
  • B
  • a
  • b
  • c
  • b
  • c
  • b
  • a
  • b
  • a
  • b
  • g
  • h
  • g
  • h
  • c
  • f
  • c
  • f
  • g
  • h
  • c
  • f
  • c
  • b
  • a
  • v
  • c
  • b
  • c
  • v
  • g
  • h