Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
03_Пособие.doc
Скачиваний:
21
Добавлен:
01.05.2025
Размер:
2 Мб
Скачать
☆

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

4.4.1Основные понятия

В реляционных СУБД для выполнения операций над отношениями используются две группы языков, имеющие в качестве своей математической основы теоретические языки запросов, предложенные Э. Коддом:

  • реляционная алгебра;

  • реляционное исчисление.

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

Реляционная алгебра, предложенная Коддом, включает в себя следующие основные операции:

  • объединение;

  • разность (вычитание);

  • пересечение;

  • декартово (прямое) произведение;

  • выборка (селекция, ограничение);

  • проекция;

  • деление;

  • соединение.

По справедливому замечанию Дейта, реляционная алгебра Кодда обладает несколькими недостатками. Во-первых, восемь перечисленных операций по охвату своих функций, с одной стороны, избыточны, так как минимально необходимый набор составляют пять операций: объединение, вычитание, произведение, проекция и выборка. Три других операции (пересечение, соединение и деление) можно определить через пять минимально необходимых. Так, например, соединение – это проекция выборки произведения.

Во-вторых, этих восьми операций недостаточно для построения реальной СУБД на принципах реляционной алгебры. Требуются расширения, включающие операции: переименования атрибутов, образования новых вычисляемых атрибутов, вычисления итоговых функций, построения сложных алгебраических выражений, присвоения, сравнения и т.д.

Операции реляционной алгебры Кодда можно разделить на две группы: базовые теоретико-множественные и специальные реляционные. Первая группа операций включает в себя классические операции теории множеств: объединение, разность, пересечение и произведение. Вторая группа представляет собой развитие обычных теоретико-множественных операций в направлении к реальным задачам манипулирования данными. В ее состав входят следующие операции: проекция, селекция, деление и соединение.

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

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