Система запросов «Реляционная алгебра» Системы запросов Запрос – операция над одним или несколькими отношениями, результатом которой является отношение Система запросов – формальная система для выражения запросов; образует базисную структуру языков запросов Язык запросов – специализированный язык программирования, используемый в СУБД для формулировки команд Типы систем запросов Процедурная система запросов – система, выражение которой задает набор операций над отношениями и порядок их выполнения с точностью до определенных законов ассоциативности (реляционная алгебра) Логическая система запросов – система, выражение которой описывает результат, который необходимо получить (реляционное исчисление) Система запросов «Реляционная алгебра» Первоначальный набор из 8 операций был предложен Э. Коддом в 1970-е годы и включал как операции, которые до сих пор используются (проекция,соединение, деление отношений и т.д.). Замкнутость реляционной алгебры Реляционная алгебра представляет собой набор таких операций над отношениями, что результат каждой из операций также является отношением. Это свойство алгебры называется замкнутостью. Операции над одним отношением называются унарными, над двумя отношениями — бинарными, над тремя — тернарными (таковые практически неизвестны). Поскольку реляционная алгебра является замкнутой, в качестве операндов в реляционные операции можно подставлять другие выражения реляционной алгебры (подходящие по типу). В реляционных выражениях можно использовать вложенные выражения сколь угодно сложной структуры. Система запросов «Реляционная алгебра» Система запросов «Реляционная алгебра» Реляционные операторы 1. Бинарные операторы Необходимое условие – соответствие схем отношений r(R), s(R) R = {A, B} Бинарные операторы: примеры Реляционные операторы Реляционные операторы a Булевы операции: примеры dom(A) = {a, c, e, m}; dom(B) = {b, d, f} Булевы операции: примеры adom(A, r) = {a, c}; adom(B, r) = {b, d} Реляционные операторы 2. Унарные операторы (Выполняются применительно к одному отношению) A1 ... An Реляционные операторы A1 ... X ... An Реляционные операторы A1 ... Ai,…, Ai+k ... An A1 ... Bj,…, Bj+k ... An Унарные операторы: примеры Унарные операторы: примеры dom(B) = dom(C) Реляционные операторы 3. Бинарные операторы (Выполняются применительно к двум отношениям) Бинарные операторы: примеры Бинарные операторы: примеры Реляционные операторы Бинарные операторы: примеры Θ-сравнимость атрибутов A, B – атрибуты, θ ∈ Θ А θ-сравним с B ↔ знаку сравнения θ сопоставлено некоторое отношение Х dom(A) dom(B) Реляционные операторы Бинарные операторы: примеры Реляционные операторы Заключение • Система запросов «Реляционная алгебра» • Реляционные операторы Обещанная ссылка http://idstu.irk.ru/ru/content/bd