Магия сохраняет силу


Простые bcf-украшения - часть 2


Условие X > Y независимо, если атрибут Y является связанным, в противном случае это условие зависимо. Алгоритм украшения и следующий за ним GMT из [MFPR90] работают в предположении, что проталкиваются только независимые условия, и что из заданных условий не выводятся какие-либо новые. В [MFPR90] также говорится, что при использовании двухфазного алгоритма невозможно вылавливать и проталкивать зависимые и более общие типы условий на основе паттерна bcf-украшения. Для проталкивания таких условий требуются более сильные паттерны.

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

Определим паттерн простого bcf-украшения аналогично bcf-паттерну из [MFPR90] (обсуждавшегося в разд. 4.1) за исключением того, что украшение c на атрибуте теперь представляет любой тип условия на этом атрибуте, а не только независимое условие.

Теперь мы объясним, каким образом возможность генерации магических множеств при украшении табличного выражения для t обеспечивает поддержку паттерном простого bcf-украшения всех трех упомянутых выше функций украшений, при том, что украшение c представляет произвольное условие.

В следующей лемме мы используем определение опорных (grounding) таблиц из [MFPR90]. При заданном условии p на порождаемой таблице t набор таблиц раздела FROM табличного выражения для t, содержащих все атрибуты, на которые имеются ссылки из p, называется опорным набором. Например, в операторе P2 примера 4.1 s является опорной таблицей для ограничения X > 10.

Лемма 4.1 Пусть p1 и p2 – два ограничения на одних и тех же атрибутах порождаемой таблицы t.


Начало  Назад  Вперед



Книжный магазин