Главная » Просмотр файлов » Введение в системы БД

Введение в системы БД (542480), страница 166

Файл №542480 Введение в системы БД (Введение в системы БД) 166 страницаВведение в системы БД (542480) страница 1662015-08-16СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 166)

Для примера, рассматриваемого в разделе 17.2, сформулированное выше условие соблюдено (условие выборки очень простое и относится лишь к одному из операндов), благодаря чему стало возможным применить распределительный закон для замены рассматриваемого в примере выражения его более эффективным эквивалентом. Благодаря этому закону операция выборки была выполнена раньше остальных операций. Предварительное выполнение операций выбор- 648 Часть г'. Дополнительные аспекты ки почти всегда себя оправдывает, так как приводит к существенному уменьшению количества кортежей, обрабатываемых следующей операцией, а также, возможно, к уменьшению количества кортежей на выходе этой операции. Ниже приведено несколько примеров более специфических случаев применения распределительного закона„на этот раз для операции проекции.

Во-первых, операция проекции распределяется по операциям объединения и пересечения (но не по операции вычитания). ( А 0И10М В ] ( С ) =- А ( С ) ВЕ10В В ( С ) ( А 1ИТЕЕЯЕС1 В ) ( С ) ж А ( С ) 1ВТЕЕЯЕСТ В ( С ) Здесь А и В должны иметь одинаковые типы. Во-вторых, эта операция также распределяется по операции соединения, т.е. тождество ( А,Т01И В ) ( С ) ж ( А ( АС ) ),Т01й ( В ( ВС ) ) справедливо, но только в том случае, если: ° множество АС является объединением общих атрибутов отношений А и В, плюс те атрибуты из множества С, которые имеются только в отношении А; ° множество ВС является объединением общих атрибутов отношений А и В, плюс те атрибуты из множества С, которые имеются только в отношении В.

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

А О В= — ВО А Например, в обычной арифметике операции умножения и сложения являются коммутативными, а операции деления и вычитания — нет. В реляционной алгебре коммутативными являются операции объединения, пересечения и соединения, а операции вычитания и деления таковыми не являются. Например, если запрос включает соединение двух отношений, А и В, то коммутативность означает, что безразлично, какое из отношений А и В выбрано в качестве "внешнего" или "внутреннего". Следовательно, при вычислении данного объединения системе предоставлено право выбора в качестве "внешнего", например, меньшего из двух отношений (см.

раздел 17.7). Перейдем к ассоциативности. Принято считать, что бинарная операция О является ассоциативной, если для всех А, В и С истинно следующее тождество. АО(ВОС)м(АОВ)ОС Например, в обычной арифметике произведение и сложение — ассоциативные операции, а деление и вычитание — нет. В реляционной алгебре ассоциативными являются операции объединения, пересечения и соединения, а операции вычитания и деления таковыми не являются. Так, например, если в запросе используется соединение трех от- Глава 17. Оптимизация 649 ношений, А, В и С, то из законов коммутативности и ассоциативности следует, что не имеет значения, в каком порядке будет выполняться соединение отношений.

Поэтому в процессе вычисления подобного соединения системе предоставляется право выбора наиболее эффективной последовательности из всех существующих. Идемпотентность Еще одним важным обшим правилом является закон пдечлогленглносгли. Бинарную операцию О называют идемпотентной тогда и только тогда, когда для любого А выполняется следующее тождество. Можно ожидать, что применение закона идемпотентности окажется полезным в процессе преобразования выражений. В реляционной алгебре операции объединения, пересечения и соединения являются идемпотентными, а операции деления и вычитания — нет.

Вычисляемые скалярные выражения Объектом применения законов трансформации являются не только реляционные выражения. Например, выше уже упоминалось, что некоторые законы трансформации применимы и к аряфчел~ическич выражениям. Вот конкретный пример. Вследствие того, что операция умножения "*" распределяется по операции сложения "+", выражение А * В+ А * С можно трансформировать в выражение А*(В+С) Оптимизатор реляционных выражений должен знать о возможности подобных преобразований, так как ему приходится иметь дело с вычисляемыми скалярными выражениями в контексте операций ЕХТЕЕВ и ЯВИНАЕГЕЕ.

Следует отметить, что приведенный выше пример иллюстрирует несколько более общую форму распределительного закона. Выше было дано определение понятия распределяемости по отношению к унарны ч операциям, распределяемым по бинарныч операциям. Однако в данном случае обе операции, "я" и "+", являются бинарлььчи.

Говорят, что бинарная операция б распределяется по бинарной операции О, если для всех А, 8 и С истинно равенство Аб(ВОС)=(АЬВ)О(АЕС] (в приведенном выше арифметическом примере б представляет операцию "*", а О— операцию "+"). Логические выражения Перейдем к обсуждению логические выражений (иначе называемых булевыми выражениями или условиями), результатами вычисления которых могут быть только значения исглика н ложь.

Предположим, что А и  — это атрибуты двух различных отношений, тогда условие (которое может быть частью запроса) А>ВАЕВВ>3 650 Часть )г дополнительные аспекты абсолютно эквивалентно выражению А > В АВ0 В > 3 АБО А > 3 и потому может быть преобразовано в это выражение. Данная эквивалентность базируется на том основании, что операция ">" является транзнтивной.

Заметьте, что подобное преобразование весьма полезно, так как позволяет системе выполнить дополнительную операцию выборки (по А) до выполнения "больше чем"-соединения, заданно~о условием А > В. Повторим сказанное выше. Предварительное выполнение операций выборки чаще всего оправдывает себя, следовательно, будет полезной и способность системы логически выводить предварительные операции выборки (что и было реализовано в данном примере). Заиечание. Этот прием реализован в различных коммерческих продуктах, включая СУБД ОВ2 (в которой его называют транзитивным замыканием предикатов), а также СУБД!ЖОКЕЯ.

Вот еще один пример. Вследствие того, что операция ОВ распределяется по операции АБО, логическое выражение А>ВОЕ ( С =ОАЮЕ<Е ) можно преобразовать в выражение ( А > В Ой С = 0 ) АЮ ( А > В ОВ Е < Е ) Этот пример демонстрирует другой общий закон: "Любое условие может быть преобразовано в эквивалентное условие, называемое конъюнктивной нормальной формой (КНФ)". Выражение в КНФ в общем случае имеет следующий вид. С1 АЮ С2 АБО ... АВО Сл Здесь С1, С2, ..., Сл — это логические выражения (называемые конъюнктамн), в которых не используется логическая операция АВО. Преимущество КНФ состоит в том, что выражение в КНФ истинно только в том случае, если истинны все его конъюнкты.

И наоборот, выражение в КНФ лалсио, если ложь является результатом вычисления хотя бы одного конъюнкта. Так как логическая операция АЮ коммугативна (выражение А АБО В эквивалентно выражению ВАЮ А), оптимизатор может вычислять отдельные конъюнкты в любом порядке, в частности по возрастанию их сложности (начиная с самых простых). Как только будет найден конъюнкт, результатом вычисления которого является ложь, процесс вычисления выражения в КНФ можно будет прекратить. Более того, в системах с параллельной обработкой возможно параллельное вычисление каждого из конъюнктов [175ВЯ17.61).

Опять же, как только будет найден первый конъюнкт, результатом вычисления которого является значение лолсь, процесс вычисления выражения в КНФ можно будет прекратить. Из сказанного выше следует, что оптимизатор должен знать, как общие свойства, такие как распределенность, применяются не только к реляционным операциям, но н к операторам сравнения, например ">", к логическим операторам, например АБО и ОВ, к арифметическим операторам, например "4-", и т.п.

Семантические преобразования Рассмотрим следующее выражение. (ВРВО1ЕВ) (Р1) Глава 17. Оптимизация 651 Данное соединение относится к соединениям типа внеигний ключ — соответствующий потенииальный ключ. В нем внешнему ключу в переменной-отношении БР ставится в соответствие потенциальный ключ в переменной-отношении Б. Следовательно, каждый кортеж в переменной-отношении БР связан с определенным кортежем в переменной-отношении Б. Таким образом, из каждого кортежа в переменной-отношении БР в общий результат поступает только значение атрибута Р$. Другими словами, соелинение можно вообще не выполнять! Рассматриваемое выражение можно заменить следующим выражением. БР 1 Р$ Тем не менее будьте внимательны — подобное преобразование применимо только в силу семантики (смысла) конкретной ситуации. В общем случае каждый операнд в операции соединения вносит в соединение кортежи, которые не имеют дополняющих их кортежей в других операндах и, следовательно, не попадающих в общий конечный результат.

Поэтому чаще всего преобразования подобного типа будут некорректны. Однако в рассматриваемом конкретном случае каждый кортеж в переменной-отношении БР обязательно имеет соответствующий ему кортеж в переменной-отношении Б согласно установленному ограничению целостности (фактически это ограничение ссылочной целостности), которое гласит, что каждая поставка деталей должна быть связана с определенным поставщиком. Следовательно, учитывая это замечание, можно утверждать, что в данном случае рассматриваемое преобразование вполне корректно. Преобразование, которое является корректным только в силу конкретного установленного ограничения целостности, называют семантическим преобразованием [17.27], а оптимизацию, достигаемую в результате подобных преобразований, — семантической оптимизацией.

Характеристики

Тип файла
DJVU-файл
Размер
10,05 Mb
Тип материала
Предмет
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6447
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее