Законы алгебраических преобразований. Алгоритм Ульмана оптимизации реляционных выражений

Автор работы: Пользователь скрыл имя, 24 Сентября 2013 в 20:12, реферат

Краткое описание

При выполнении запросов, основанных на реляционных выражениях, часто требуется их перефразировать с целью повышения эффективности выполнения. Главными «преступниками» в языках запросов, основанных на реляционной математике, является декартово произведение, либо композиция, включающая декартово произведение (соединения).
Рассмотрим выражение RхS.

Вложенные файлы: 1 файл

Algoritm_Ulmana.doc

— 58.50 Кб (Скачать файл)

ЗАКОНЫ АЛГЕБРАИЧЕСКИХ ПРЕОБРАЗОВАНИЙ.  
АЛГОРИТМ УЛЬМАНА ОПТИМИЗАЦИИ  
РЕЛЯЦИОННЫХ ВЫРАЖЕНИЙ.

При выполнении запросов, основанных на реляционных выражениях, часто требуется их перефразировать  с целью повышения эффективности  выполнения. Главными «преступниками» в языках запросов, основанных на реляционной математике, является декартово произведение, либо композиция, включающая декартово произведение (соединения).

Рассмотрим выражение R ´ S. При реализации этого запроса в основную память загружается максимальное количество блоков отношения R, оставляя пространство для одного блока S. Осуществляется конкатенация всех блоков R с блоком S. Такая стратегия уменьшает число необходимых загрузок каждого блока S с коэффициентом, равным числу записей R, которые могут поместиться в основной памяти.

Пусть:

  1. Отношения R и S имеют соответственно m и n кортежей.
  2. В одном блоке помещается a и b кортежей.
  3. В основной памяти могут находиться c блоков.

Тогда число доступов составляет

 для чтения R и для S. Общее число доступов:

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

  1. Законы коммутативности для соединения и произведения. Здесь и далее Ei – реляционное выражение, а Fj – условие, налагаемое на реляционное выражение.

  1. Закон ассоциативности для соединений и произведения.

  1. Каскад проекций

 если 

  1. Каскад селекций

  1. Перестановка селекций и проекций

В более общем случае если условие F вовлекает атрибуты В1, …, Вm, которых нет среди А1, …, Аn, то

  1. Перестановка селекции с декартовым произведением

а) Если в формуле F1 используются атрибуты Е1.

б) Если в формуле F1 используются атрибуты Е1, а в формуле F2 – атрибуты Е2.

в) Если в формуле F1 используются атрибуты Е1, а в формуле F2 – атрибуты Е1 и Е2.

  1. Перестановка селекции с объединением

Предполагается, что если имена атрибутов Е1 отличны от имен Е2, то формула F модифицируется в F1 и F2, в которых используются соответствующие имена.

  1. Перестановка селекции с разностью

F модифицируется в F1 и F2 аналогично (7).

  1. Перестановка проекции с декартовым произведением

  1. Перестановка проекции с объединением.

Если имена атрибутов  Е1 и Е2 отличаются, то надо заменить их на А1,…,Аn.

Используя законы алгебраических преобразований, Дж. Ульман предложил  следующий алгоритм оптимизации: исходное реляционное выражение представляется в виде бинарного дерева, узлы которого – двуместные операторы (´, È, –).

Шаг 1. Представить каждую селекцию σF1 ^ … ^ Fn(Е) в виде каскада σF1(…(σFn(E))…) по правилу 4.

Шаг 2. Переместить каждую селекцию в дереве насколько это возможно вниз, используя законы 4-8.

Шаг 3. Переместить каждую проекцию в дереве вниз, насколько это возможно, используя законы 3, 5, 9, 10. При этом закон 3 приводит к исчезновению некоторых проекций, а закон 5 расщепляет проекцию на 2, одна из которых может перемещаться по дереву вниз. Проекция исключается, если она проецирует выражение на все атрибуты.

Шаг 4. Комбинировать каждый каскад проекций или селекций в одиночную проекцию или селекцию с последующей проекцией, используя законы 3-5.

Шаг 5. Разбиваем внутренние узлы полученного  в результате дерева на группы следующим  образом: каждый узел, представляющий двуместный оператор (´, È, –), принадлежит группе, которая образована из предков с операторами селекции или проекции и потомков данного узла с унарными операторами селекции или проекции, завершающимися в листьях. Исключением является случай, когда используется двуместный оператор ´ без последующей селекции, так как в этом случае селекция комбинируется с произведением, образуя Θ-соединение.


Информация о работе Законы алгебраических преобразований. Алгоритм Ульмана оптимизации реляционных выражений