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

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

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

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

Таким образом, правила обновления, ус- 360 Часпгь 11. Реляг(ионная лгодель тановленные, например, для представления, ко~орое определено с помощью операции объединения Ч = В ПК1ОК В, должны давать тот же результат, что и в случае, когда рассматриваемая операция обновления применяется непосредственно к базовой переменной-отношению В. Иначе говоря, хотя тема данного раздела и звучит как "обновление представлений", на самом деле в общем случае здесь рассматривается обновление переменных-отношений.

Мы рассмотрим теорию обновления, применимую ко всем переменным-отношениям, а не только к представлениям. 3. Применяемые правила должны сохранять симметричность во всех случаях, когда она применима. Например, правило удаления ОЕЬЕТЕ для представления, определенного как пересечение Ч = А 1КТЕКЯЕСТ В, не должно допускать произвольного удаления кортежа из переменной-отношения А или В даже тогда, котла такое одностороннее удаление кортежа наверняка вызовет удаление этого кортежа из рассматриваемого представления. В подобном случае кортеж должен удаляться из обеих переменных-отношений А и В. (Другими словами, не должно быть никакой неоднозначности. Всегда должен существовать единственный способ реализации данного обновления, который срабатывает во всех случаях.

В частности, не должно быть никаких логических различий между представлениями, определенными как А 1КТЕКЯЕСТ В и В 1КТЕКЯЕСТ А.) 4. В правилах обновления должны учитываться любые применимые триггерные процедуры, включая, в частности, определенные ссылочные действия, подобные "каскадному" удалению (устанавливаемому с помощью опции САЯСАОЕ). 5. Для упрощения синтаксиса желательно рассматривать операцию ОРПАТЕ как сокрашенную запись последовательности операций удаления и вставки (ОЕЬЕТЕ1КЯЕКТ); именно так мы и будем ее рассматривать. Это сокращение вполне приемлемо при соблюдении следующих условий.

° Не осуществляется никаких проверок предикатов переменных-отношений в ходе выполнения любого требуемого обновления. Имеется в виду, что расширенная запись операции ПРОАТЕ выглядит как ОЕЬЕТŠ— 1КЯЕКТ-проверка, а не как ОЕЬЕТЕ- проверка-1ЕЯЕКТ вЂ” проверка. Суть заключается в том, что операция ПЕЬЕТЕ временно нарушает истинность предиката переменной-отношения, в то время как полная операция ОРОАТЕ ее не нарушает. Например, предположим, что переменная-отношение К содержит ровно 1О кортежей, и рассмотрим действие операции ОРОАТЕ ее некоторого кортежа Ь при условии, что предикат этой переменной- отношения К устанавливает, что в ней не может содержаться менее 1О кортежей. ° Триггерные процедуры также никогда не должны вызываться в середине выполнения любой операции обновления.

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

Все обновления данных в представлениях должны быть реализованы как обновления того же типа в исходных переменных-отношениях. Иначе говоря, операции вставки (1КЯЕКТ) отображаются в операции вставки, операции удаления (ОЕЬЕТЕ) отобража- Глава 9. Представления 361 ются в операции удаления (как было сказано выше, операции обновления (ВРВаТЕ) можно игнорировать). Предположим противное, т.е. что существует некоторый тип представлений (скажем, представлений, определяемых на основе операции объелинения), для которых операции 1МЯЕКТ отображаются в операции ВЕЬЕТЕ в исходных переменных-отношениях.

Но тогда операции 1МЯЕКТ для базовых неречвнныхагннагивний также должны в каких-то случаях отображаться в операции РЕЬЕТЕ! Этот вывод непосредственно следует из утверждения (как мы уже убедились в ходе рассуждений в п. 2), что любую базовую переменную-отношение В можно представить в виде семантически идентичного представления Ч = В ВМ10М В. Аналогичное рассуждение можно применить и для представлений остальных типов (представлений на основе операций выборки, проекции, пересечения и т.д.). Однако утверждение, что в базовых переменных-отношениях операции вставки данных могут в действительности представляться операциями удаления, — очевидный абсурд. Таким образом, утверждение, что операции 1МБЕКТ и ВЕЬЕТЕ в представлениях отображаются в соответствующие операции 1МБЕКТ и ВЕЬЕТЕ в базовых переменных-отношениях, является истинным.

7. В общем случае правила обновления при их применении к заданному представлению Ч определяют операции, которые должны быть применены к переменным- отношениям, на которых определено данное представление Ч. Эти правила должны правильно срабатывать даже в том случае, когда те переменные-отношения, на основе которых определено данное прелставление, в свою очередь, также являются представлениями. Другим словами, правила должны допускать возможность рекурсивного иричвнения.

Конечно, если попытка обновить исходную переменную- отношение по каким-то причинам завершится неудачно, то и исходная операция обновления не будет выполнена. Другими словами, обновления в представлениях выполняются по принципу "все или ничего*', точно так, как и в случае базовых переменных-отношений.

8. Правила не должны основываться на предположении, что база данных хорошо спроектирована, т.е. полностью нормализована (подробности приводятся в главах 11 и 12). Тем не менее выполнение установленных правил может привести к несколько неожиданным результатам, если база данных спроектирована неудачно. Это еше раз свидетельствует в пользу необходимости создания добротных проектов базы данных. В следующем разделе будет приведен подобный пример с несколько неожиданными результатами. 9.

Не должно существовать никаких веских причин, чтобы в любом заданном представлении одни операции обновления разрешались, а другие — нет (например, разрешена операция ВЕЬЕТЕ, но запрещена операция 1МЯЕКТ). 10. Операции 1МЯЕКТ и ВЕЬЕТЕ должны быть, насколько это возможно, обратными по отношению одна к другой. Необходимо сделать одно важное напоминание. Как было показано в главе 5, реляционные операции, в частности реляционные обновления, всегда выполняются на уровне множеств, а множество, состоящее из одного кортежа, просто является одним из частных случаев. Более того, иногда нвобхадичо выполнить обновление сразу многих кортежей (например, если операцию обновления нельзя воспроизвести с помощью серии обновле- 362 Часть 11.

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

Замечание. В первых трех случаях, а частности, подразумевается, что речь идет о представлении, определяющее выражение которого имеет соответственно одну из следующих трех форм: А 0К10К В, А 1КТЕЕВЕСТ В и А М1КРВ В, где А и В, в свою очередь, являются некоторыми реляционными выражениями (т.е. необязательно представляют базовые переменные-отношения). Переменные-отношения А и В должны иметь один и тот же реляционный тип. Соответствующие предикаты данных переменных-отношений — это РА и РВ.

Операция объединения . Приведем правило вставки для представления вида А ВК10К В. ° Правило 1МБЕ)П'. Вновь добавляемый кортеж должен удовлетворять либо предикату РА, либо предикату РВ, либо обоим предикатам одновременно. Если новый кортеж удовлетворяет предикату РА, то этот кортеж должен быть вставлен в переменную-отношение А (заметим, что операция вставки может иметь побочный эффект, в результате которого новый кортеж будет вставлен и в переменную- отношение Вл). Если новый кортеж удовлетворяет предикату РВ, то он вставляется и а переменную-отношение В, но лишь в том случае, если он еще не вставлен в эту переменную-отношение в результате побочного эффекта от вставки кортежа в переменную-отношение А.

Зачечание. Конкретное определение выполняемой процедуры, использованное при формулировке правила (вставить сначала в переменную-отношение А, а затем — в переменную-отношение В), следует воспринимать только как педагогический прием. Не нужно полагать, что СУБД должна будет выполнять операцию вставки именно в той последовательности, которая указана в определении правила.

На самом деле это замечание следует из принципа симметрии (принцип 3 из предыдущего подраздела), поскольку при вставке кортежа ни одна из переменных-отношений А или В не имеет преимуществ перед другой. Аналогичные соображения относятся ко всем правилам, рассматриваемым в этом разделе. Пояснение. Новый кортеж должен удовлетворять по крайней мере одному из предикатов РА или РВ, так как в противном случае данный кортеж не будет включен в объединение А ВК10К В, поскольку он не будет удовлетворять предикату производной перемен- Е В нескольких обсуждаемых ниже правилах и причерах отмечается возможность возникновения побочных эффектов.

Конечно, всем известно, что побочные эффекты обычно нежелательны. Однако проблема заключаеп~ся в том, что некоторых побочны эффектов нельзя избежать, если переченные-отношения А и В являются пересекиющичися подмножествами кортежей одной и той же базовой пере.ченной-отношения.

Подобная ситуация часто встречается в представлениях, определенны с помощью операций объединения, пересечения или вычитания. В этолз конкретном случае упочянут«е побочные эффекты как раз желательны, а не наоборот. 363 Глава 9. Представления ной-отношения для объединения А НН10Н В, а именно — (РА) ОК (РВ) . (Кроме того, мы предполагаем, хотя такое предположение и не строго обязательно, что новый кортеж не должен в данный момент присутствовать ни в переменной-отношении А, ни в переменной-отношении В, так как в противном случае это означало бы попытку вставить уже существующий кортеж.) Если предположить, что перечисленные условия удовлетворяются, то новый кортеж будет вставлен в переменную-отношение А или переменную- отношение В в зависимости от того, к какой из них этот кортеж логически принадлежит (возможно, к обеим).

Примеры. Пусть представление НЧ определено следующим образом. ЧАН НЧ Ч1ЕН ( Я ННЕНЕ ЯТАТУЯ > 25 ) НН10Н ( Я ННЕНЕ С1ТТ = 'Рагзв' ) На рис. 9.2 приведены возможные значения в этом представлении для нашего примера базы данных. Рис. 9.2. Представление УЧ(прциер значений) ° Пусть кортеж, который необходимо вставить в представление НЧ, имеет вид ('Яб', 'Бп10Ь', 50, 'Ноже')з. Этот кортеж удовлетворяет предикату Б ЯНЕКЕ ЯТАТУЯ > 25, но не удовлетворяет предикату Б ННЕНЕ С1ТУ = 'Раг1в'. Следовательно, новый кортеж вставляется в переменную-отношение, удовлетворяющую предикату Б ИНЕНЕ БТАТНБ > 25.

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

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

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

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