Главная » SQL, Базы данных » ОБЩЕЕ НАЗНАЧЕНИЕ АЛГЕБРЫ

0

Подведем итог изложенного выше в данной главе. В ней определена  реляционная алгебра, т.е. коллекция операций на отношениях. В число рассматриваемых операций входят  объединение,  пересечение,  разность,  произведение,  сокращение,  проекция, соединение и деление, а также операция переименования атрибута, RENAME (ПО сути, именно это множество операций,  кроме RENAME, было  первоначально определено Коддом [7.1]). Здесь также представлен синтаксис данных операций и показано применение этого синтаксиса на многих примерах и иллюстрациях.

Но, как было отмечено в этом описании, восемь операций Кодда не составляют минимально возможного множества (и не были даже задуманы как  таковые), поскольку некоторые из них не являются примитивными и могут быть определены в терминах других операций. Например, операции соединения, пересечения и деления могут быть определены в терминах остальных пяти  операций (см. упражнение 7.6), поэтому их можно исключить без потери каких-либо функциональных возможностей. Но ни одна из оставшихся пяти операций не может быть определена в терминах остальных четырех, поэтому данные пять операций могут рассматриваться как составляющие множество примитивных операций или минимальное множество (тем не менее, следует  отметить, что это — не единственное возможное минимальное множество)4. Но на практике эти дополнительные операции (особенно соединение) являются настолько полезными, что нужно сделать все возможное по обеспечению их непосредственной поддержки.

На данном этапе необходимо внести ясность в один важный вопрос. Хотя об этом явно не было сказано, но приведенное выше содержание данной главы со всей очевидностью  наводит  на  мысль,  что  основное  назначение   рассматриваемой  здесь  алгебры состоит

4 Это утверждение требует определенного уточнения. Во-первых, поскольку было показано, что произведение — это частный случай соединения, в указанном множестве примитивов произведение может быть заменено соединением. Во-вторых, фактически необходимо включить операцию RENAME, поскольку  рассматриваемая здесь алгебра (в отличие от описанной в [7.1]) основана на использовании имен атрибутов, а не их порядкового расположения. В-третьих, в [3.3] описана своего рода версия "с сокращенным множеством команд" данной алгебры, называемая "алгеброй А", которая позволяет реализовать все функциональные возможности первоначальной алгебры Кодда (а также операции RENAME и нескольких  других  полезных  операций)  с  использованием всего  лишь  двух  примитивов,  называемых  remove (удаление) и nor ("исключительное ИЛИ").

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

■     Определение области действия операции выборки, т.е. определение данных, кото рые должны быть получены в некоторой операции выборки (как уже было под робно описано).

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

■     Определение ограничений целостности, т.е. определение некоторых ограничений,

которым должна удовлетворять база данных (см. главу 9).

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

■     Определение требований к стабильности, т.е. определение данных, которые долж ны входить в сферу действия некоторой операции управления параллельным вы полнением (см. главу 16).

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

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

( ( SP JOIN S ) WHERE P# = Р# (‘Р2′) ) { SNAME }

имеющее смысл "Определить имена поставщиков, которые поставляют деталь Р2" (см. пример 7.5.1), может быть преобразовано в логически эквивалентное, но, возможно, более эффективное выражение, представленное ниже.

( ( SP WHERE Р# = Р# (‘Р2′) ) JOIN S ) { SNAME }

(Упражнение. В каком смысле второе выражение является лишь "возможно,  более эффективным"? Почему только "возможно"?)

Таким образом, рассматриваемая алгебра служит удобной основой для оптимизации

(дополнительная информация по этой теме приведена в разделе 3.5 главы 3). Поэтому,

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

В завершение данного раздела сделаем одно замечание. Именно благодаря  своему фундаментальному характеру описанная здесь алгебра часто используется как своего рода эталон, позволяющий оценить выразительную мощь некоторого конкретного языка. По сути, язык называется реляционно полным [7.1], если он является, по меньшей мере, таким же мощным, как и эта алгебра, т.е. если его выражения позволяют составить определение любого отношения, которое может быть определено с помощью выражений алгебры (под этим подразумевается оригинальная алгебра, которая описана в предыдущих разделах). Понятие реляционной полноты рассматривается более подробно в следующей главе.

Источник: Дейт К. Дж., Введение в системы баз данных, 8-е издание.: Пер. с англ. — М.: Издательский дом «Вильямс», 2005. — 1328 с.: ил. — Парал. тит. англ.

По теме:

  • Комментарии