Математические основы баз данных и знаний Модуль 1.
Лекция 4 Базисные средства манипулирования реляционными данными: реляционная алгебра Кодда1. Обзор реляционной алгебры Кодда2. Особенности теоретико-множественных операций реляционной алгебры3. Специальные реляционные операции
1. Обзор реляционной алгебры Кодда Основная идея реляционной алгебры: поскольку отношения являются множествами, средства манипулирования отношениями могут базироваться на традиционных теоретико-множественных операциях, дополненных специальными операциями, специфичными для реляционных баз данных.
1. Обзор реляционной алгебры Кодда Классы операций: А). Теоретико-множественные операцииБ). Специальные реляционные операции объединение ограничениепересечение проекцияразность соединение декартово произведение деление операции присваивания и переименования атрибутов
1. Обзор реляционной алгебры Кодда Общая интерпретация реляционных операцийПри выполнении операции объединения (UNION) двух отношений с одинаковыми заголовками производится отношение, включающее все кортежи, которые входят хотя бы в одно из отношений-операндов. Операция пересечения (INTERSECT) двух отношений с одинаковыми заголовками производит отношение, включающее все кортежи, которые входят в оба отношения-операнда.
1. Обзор реляционной алгебры Кодда Общая интерпретация реляционных операцийОтношение - разность (MINUS) двух отношений с одинаковыми заголовками, включает все кортежи, входящие в отношение-первый операнд, такие, что ни один из них не входит в отношение, которое является вторым операндомПри выполнении декартова произведения (TIMES) двух отношений, пересечение заголовков которых пусто, производится отношение, кортежи которого производятся путем объединения кортежей первого и второго операндов.
1. Обзор реляционной алгебры Кодда Общая интерпретация реляционных операцийРезультатом ограничения (WHERE) отношения по некоторому условию является отношение, включающее кортежи отношения-операнда, удовлетворяющее этому условию. При выполнении проекции (PROJECT) отношения на заданное подмножество множества его атрибутов производится отношение, кортежи которого являются соответствующими подмножествами кортежей отношения-операнда.
1. Обзор реляционной алгебры Кодда Общая интерпретация реляционных операцийПри соединении (JOIN) отношений по некоторому условию образуется отношение, кортежи которого есть объединение кортежей первого и второго отношений и удовлетворяют этому условию. В операции реляционного деления (DIVIDE BY) результирующее отношение состоит из унарных кортежей, включающих значения первого атрибута кортежей первого операнда таких, что множество значений второго атрибута (при фиксированном значении первого атрибута) включает множество значений второго операнда.
1. Обзор реляционной алгебры Кодда Общая интерпретация реляционных операцийОперация переименования (RENAME) производит отношение, тело которого совпадает с телом операнда, но имена атрибутов изменены. Операция присваивания (:=) позволяет сохранить результат вычисления реляционного выражения в существующем отношении БД.
1. Обзор реляционной алгебры Кодда Таблица приоритетов операций традиционной реляционной алгебры
2. Особенности теоретико-множественных операций реляционной алгебры
2. Особенности теоретико-множественных операций реляционной алгебры
2. Особенности теоретико-множественных операций реляционной алгебры Операция расширенного декартова произведенияэлементом результирующего отношения является кортеж, который представляет собой объединение одного кортежа первого отношения и одного кортежа второго отношения
2. Особенности теоретико-множественных операций реляционной алгебры Операция расширенного декартова произведенияПусть имеются два отношения R1{a1, a2, …, an} и R2{b1, b2, …, bm}. Результат R1 TIMES R2 - отношение R{a1, a2, …, an, b1, b2, …, bm}, тело которого - множество кортежей вида {ra1, ra2, …, ran, rb1, rb2, …, rbm} таких, что {ra1, ra2, …, ran} входит в тело R1, а {rb1, rb2, …, rbm} входит в тело R2
2. Особенности теоретико-множественных операций реляционной алгебры Операция расширенного декартова произведения
3. Специальные реляционные операции операция ограниченияA WHERE comp вид1 (a comp-op b), где а и b – имена атрибутов ограничиваемого отношениявид2 (a comp-op const), где a – имя атрибута ограничиваемого отношения, а const – литерально заданная константаОперацией сравнения comp-op могут быть «=», « ≠», «>», « », «<», « ».
3. Специальные реляционные операции операция ограничения A WHERE (comp1 AND comp2) обозначает то же самое, что и (A WHERE comp1) INTERSECT (A WHERE comp2); A WHERE (comp1 OR comp2) обозначает то же самое, что и (A WHERE comp1) UNION (A WHERE comp2); A WHERE NOT comp1 обозначает то же самое, что и A MINUS (A WHERE comp1).
3. Специальные реляционные операции операция ограничения СЛУЖАЩИЕ_В_ПРОЕКТЕ_1 WHERE (СЛУ_ЗАРП > 20000.00 AND (СЛУ_ОТД_НОМ = 310 OR СЛУ_ОТД_НОМ = 315)) (получить данные из отношения СЛУЖАЩИЕ_В_ПРОЕКТЕ_1 о служащих, работающих в отделах 310 и 315 и получающих зарплату, превышающую 20 000.00 грн.)
3. Специальные реляционные операции операция проекции Результатом проекции отношения A на множество атрибутов {a1, a2, ..., an} (PROJECT A {a1, a2, ..., an}) является отношение с заголовком, определяемым множеством атрибутов {a1, a2, ..., an}, и с телом, состоящим из кортежей вида <a1:v1, a2:v2, ..., an:vn> таких, что в отношении A имеется кортеж, атрибут a1 которого имеет значение v1, атрибут a2 имеет значение v2, ..., атрибут an имеет значение vn. «вертикальная» вырезка отношения-операнда
3. Специальные реляционные операции операция проекции Результат операции PROJECT СЛУЖАЩИЕ_В_ПРОЕКТЕ_1 {СЛУ_ОТД_НОМ} (в каких отделах работают служащие, данные о которых содержатся в отношении СЛУЖАЩИЕ_В_ПРОЕКТЕ_1?)
3. Специальные реляционные операции операция соединения Разновидности: Общая операция соединения Θ - соединение (тэта-соединение) Экви-соединение Естественное соединение
3. Специальные реляционные операции операция соединенияJOIN Соединением отношений А и В по условию С называется отношениеС - логическое выражение, в которое могут входить атрибуты отношений А и В и (или) скалярные выражения.Операция соединения есть результат последовательного применения операций декартового произведения и ограничения. Если в отношениях А и В имеются атрибуты с одинаковыми наименованиями, то перед выполнением соединения такие атрибуты необходимо переименовать.
3. Специальные реляционные операции операция соединенияJOIN
3. Специальные реляционные операции операция соединенияJOIN
3. Специальные реляционные операции операция деленияDIVIDE Отношение СЛУЖАЩИЕ Отношение Номера проектов
3. Специальные реляционные операции операция деленияDIVIDE запрос СЛУЖАЩИЕ DIVIDE BY НОМЕРА_ПРОЕКТОВ данные обо всех служащих, участвующих во всех проектах