На главную

17 Управление реляционной базой данных

Для управления реляционной базой данных Э.Ф. Кодд ввел реляционные языки обработки данных — реляционную алгебру и реляционное исчисление. Появление реляционных языков дополнительно к реляционной модели, которая сама по себе имела, безусловно, большое значение, явилось серьезным основанием для реляционной революции в области баз данных. Реляционные языки, позволяя манипулировать данными на основе только их логических характеристик, заняли одно из важнейших мест новой модели. Кодд предложил 2 языка манипулирования данными: реляционная алгебра и реляционное исчисление.

Реляционная алгебра — это процедурный язык обработки реляционных таблиц. Это означает, что в реляционной алгебре используется пошаговый подход к созданию реляционных таблиц, со¬держащих ответы на запросы. Большое внимание, проявляемое к реляционной алгебре, обусловлено тем, что она породила многие термины, часто встречаю¬щиеся в коммерческих языках баз данных. Более того, некоторые коммерческие языки баз данных основаны на реляционной алгебре.

Реляционное исчисление - непроце¬дурный язык. В реляционном исчислении запрос создается путем определе-ния таблицы запроса за один шаг.

Большое значение реляционного исчисления обусловлено двумя причинами:

  • оно основано на исчислении предикатов формальной логики, которая является эффективным методом определения истинности высказывания на основе истинности его компонентов. Следовательно, реляционное исчисление имеет столь же твердую логическую основу, что и любой существующий язык программирования;
  • реляционное исчисление лежит в основе некоторых коммерческих реляционных языков.

    Кодд показал логи¬ческую эквивалентность реляционной алгебры и реляционного исчисления. Это означает, что любой за¬прос, который можно сформулировать при помощи реляционного исчисления, также можно сформулировать, пользуясь реляционной алгеброй, и наоборот. Этот факт позволил измерять логическую мощность языка запросов. Если язык имеет как минимум те же возможности, что и реляционная алгебра, то он называется реляционно-полным. Таким образом, реляционная алгебра или реляционное исчисле¬ние являются эталоном при тестировании логических возмож¬ностей ком¬мерческих реляционных языков.

    Реляционная алгебра

    Операторы реляционной алгебры используют одно или два из существующих отношений для создания нового отношения, которое затем может быть использовано в качестве операнда для нового оператора. Реляционная алгебра (или алгебра отношений) представляет собой совокупность операций высокого уровня над отношениями.

    Реляционная алгебра определяет следующие операции: объедине¬ние, пересечение, разность, произведение, выбор,создание проекций, соединение, деление.

    Одной из главнейших операций при работе с БД в реляционной теории является запрос. И выполнение всех перечисленных операций реляционной алгебры всегда направлено именно на реализацию запросов.

    Запрос — операция над отношениями, результатом которой является отношение. Под системой запросов будем понимать формальную систему для выражения запросов. Запрос с использованием реляционной алгебры задает алгоритм преобразования отношений, приводящий к требуемому результату.

    Операции реляционной алгебры делятся на две группы - основные и дополнительные.

    Основные операции реляционной алгебры

    К основным операциям относятся следующие булевы операции: объединение, разность, декартово произведение.

    Объединение Union

    Пусть имеются отношения r и s, тогда отношение t = r ? s называется объединением r и s, если каждый кортеж, принадлежащий t, принадлежит или r, или s, или им обоим.

    Необходимо сформировать ответ на следующий запрос: какие типы деталей входят в состав обоих изделий? Для достижения этой цели необходимо выполнить операцию t=r?s. Результирующее отношение содержит все детали, которые входят в состав обоих изделий.

    Разность

    Пусть имеются два отношения r и s, тогда отношение t=r - s называется разностью r и s, если каждый кортеж, принадлежащий t, принадлежит r, но не принадлежит s. Операция применяется к отношениям одной арности. Следует отметить, что операция разности является

    Декартово произведение

    Под декартовым произведением двух отношений понимается множество упорядоченных пар кортежей. Пусть имеются два отношения r и s, тогда отношение t = r * s арности k = k1 + k2, где k1 — арность r, а k2 — арность s, называется декартовым произведением r и s, если оно состоит из кортежей, первые k1 компонент которых образуют кортежи из r, а остальные k2 — из s. Как видим, выполнение данной операции, в отличии от других уже рассмотренных операций, приводит к тому, что степень результирующего отношения не совпадает со степенью ни одного из операндов, а равна сумме степеней исходных отношений.

    Относительно влияния перестановки операндов на результат операции декартово произведение можно считать симметричной операцией.


    На главную
    Hosted by uCoz