Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Алгоритм оптимизации выражений РА.Содержание книги
Поиск на нашем сайте
Исходные данные – дерево разбора, представляющее выражения РА. Выходные – тоже дерево, но оптимизированное (программа, для вычисления выражения). Метод: 1. Каждую селекцию представляем в виде каскада по правилу 4): 2. Перемещаем каждую селекцию насколько это возможно вниз по дереву, используя правила 5)-8); 3. Перемещаем каждую проекцию в дереве вниз настолько, насколько это возможно, используя правило 3), которое приводит к исчезновению некоторых проекций, следствие из 5), которое расщепляет на несколько, и правила 9) и 10); 4. Комбинируем каждый каскад селекций и проекций в одиночную селекцию, одиночную проекцию, или селекцию с последующей проекцией, используя правила 3) – 5); 5. Разбиваем внутренние узлы полученного в результате дерева на группы следующим образом. Каждый внутренний узел представляет собой двуместный оператор (\, Исключением является случай, когда двуместный оператор представляет собой декартово произведение без последующей селекции, которая комбинировалась бы с произведением, образуя эквисоединение. 6. Создаем программу из нескольких шагов для вычисления каждой группы в любом порядке, но так, чтобы никакая группа не вычислялась раньше групп – ее потомков. Шаги алгоритмов могут быть: 1. выполнение одиночной селекции или проекции; 2. выполнение декартового произведения, объединения, либо разности множеств, которые, возможно, предшествуют или за которыми следуют селекция или проекция, применяемая к одному или обоим операндам. Пример: Рассмотрим БД «библиотека», состоящую из отношений:
Для того, чтобы знать, у кого находится какая книга, можно использовать отношения
F=(R3.№_читательского_билета=R4.№_читательского_билета) Ù (R1.инвентарный_№=R4.инвентарный_№)=F1ÙF2 X= название; автор; издательство; инв. №; ФИО читателя; город; адрес; № читательского билета; дата. Опишем запрос: перечислить книги, которые были выданы до 01.01.2000. После подстановки S в (1) получаем следующее дерево разбора:
1-й шаг: расщепление селекции 2-й шаг: перемещаем каждую из 3-х селекций как можно ниже в дереве. Селекцию Селекция
Селекция 3-й шаг: можно скомбинировать две проекции в одну по правилу 3):
4-й шаг: по обобщенному правилу 5) делаем замену:
5-й шаг: применим правило 9) с целью замены последней проекции на Последняя проекция взаимодействует с помещенной ниже селекцией по обобщенному правилу 5). В результате получаем каскад:
6-й шаг: последнюю проекцию можно записать в виде (она просеивается через декартово произведение по правилу 9) и частично через селекцию
Так как в проекции упоминаются все атрибуты Программа, выполняющая этот алгоритм, сначала будет выполнять нижнюю группу, затем верхнюю. - - - – группы операторов.
| ´
|
|
|||||||
|
Последнее изменение этой страницы: 2017-01-25; просмотров: 333; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.137 (0.006 с.) |