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

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

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

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

9.2. ЧАН НОН СОЬОСАТЕО ЧХНИ ( Я ПМЕЯ Р ) ( Я$, Р1 ) М1ИОЯ ( Б 301И Р ) ( Я(), Р() ) ! 9.3. ЧАН ЬОНООН ЯОРРЬХЕН У1ЕИ ( Б ИМЕНЯ СХХХ = 'Ьопг)оп' ) ( А),Ь Вйт С1тХ ) ; 389 Глава 9. Представления 9.4. 9.5. 9.6. 9.7. 9.8. Замечание. Из представления исключен атрибут С1ТТ, так как известно, что он всегда будет иметь значение 'Ьопдоп'. Тем не менее следует заметить, что подобный пропуск атрибута приводит к тому, что любая операция 1НЯЕНТ для данного представления будет завершаться неудачей (только если для атрибута С1ТТ в исходной переменной-отношении поставщиков не установлено принимаемое по умолчанию значение, равное 'Ьопдоп'). Другими словами, подобные представления, вероятно, вовсе не могут поддерживать операцию 1НЯЕНТ. (В качестве альтернативы существует идея определения значения по умолчанию для атрибута С1ТТ, равного значению 'Ьопдоп', но только для кортежей, вставляемых через данное представление.

Идея значений по умолчанию, специфических для представления, требует более глубокого изучения.) Проблема здесь состоит в следующем: "Как определить атрибут 0ТТ в представлении ЯР?". Разумным решением будет такой ответ: для данной пары 8$-Р4 атрибут ЯР.0ТТ нужно определить как сумму всех значений ЯРв.оП, вычисляемую по всем номерам Л4 для выбранной пары БР-Р4. Чйй БР Ч1ЕИ ЯНИИАН1ЕЕ БРЛ РЕН БРЛ ( 84, Р$ йНП ЯНИ ( 0ТТ ) йЯ 0ТТ Чйй вС Ч1ЕИ ( ЯРв ИНЕНЕ Б4 = Б$ ( 'Я1' ) ) ( в$ ) Л01Н ( ЯРв ИНЕНЕ Р$ = Р4 ( 'Р1' ) ) ( Л ) ) 001Н й ( Л4, С1ТХ ) Преобразованные формы читателю предлагается записать самостоятельно.

Тем не менее заметим, что случай д приведет к ошибке, так как вставляемый кортеж не удовлетворяет предикату представления. И снова случай д приведет к ошибке, но теперь причина несколько иная. Во-первых, СУБД будет использовать для атрибута ИЕ10НТ значение по умолчанию (скажем, и), поскольку пользователь не передает системе конкретного значения этого атрибута (и, конечно, не может этого сделать). Во-вторых, значение атрибута ИТ, которое указал пользователь, необязательно будет равным и'454, даже если (что в нашем примере не наблюдается) значение атрибута ИТ превышает 14.

0. Следовательно, вставляемый кортеж опять не удовлетворяет предикату представления. Замечание. Можно привести доводы, что значение атрибута ИЕ16НТ в новом кортеже должно быть установлено правильно, т.е. равняться указанному для атрибута ИТ значению, деленному на 454. Эта возможность также требует дальнейшего изучения. Приведенный список причин взят из [5.7). ° Если вместо базовых переменных-отношений пользователи оперируют представлениями, то очевидно, что эти представления должны выглядеть для пользователей, как базовые переменные-отношения, насколько это возможно.

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

И подобно тому, как пользователю базовых переменных-отношений необходима информация об их потенциальных ключах (в общем случае), так и пользователю представ- 390 Часть 11. Реляционная модель лений необходимы сведения о потенциальных ключах этих представлений (опять же, в общем случае). Явное объявление потенциальных ключей представлений — это очевидный способ сделать данную информацию доступной пользователям. ° СУБД может не включать средств определения потенциальных ключей для собственных нужд (это утверждение истинно лля всех современных СУБД). Таким образом, явное объявление потенциальных ключей — единственно доступный (для администратора базы данных) способ информирования СУБД и пользователей о наличии таких ключей. ° Даже если бы СУБД могли самостоятельно определять потенциальные ключи для собственных нужд, явное объявление по крайней мере позволило бы системе удостовериться, что определенные ею ключи не являются несовместимыми с ключами, которые объявил администратор базы данных.

° Администратор базы данных может располагать дополнительной информацией, которая не заложена в СУБД, и, следовательно, оптимизировать ключи, определенные СУБД автоматически. В [5.7] приведен пример такого случая. В [11.3] предложен другой довод, который, по существу, сводится к тому, что подобная возможность (явное объявление потенциальных ключей) обеспечивает простой и удобный способ описания некоторых важных ограничений целостности, которые в противном случае потребовали бы весьма многословного описания. 9.9. Очевидно, что на эти вопросы невозможно дать окончательных ответов.

Ниже изложены некоторые соображения. ° Каждому представлению и каждому моментальному снимку в базе данных в ее каталоге будет соответствовать запись в переменной-отношении КЕЬЧАК со значением 'Ч(еи' или 'Япарвйоб' в атрибуте КЧК1НВ соответственно. ° Каждому определенному в базе данных представлению в ее каталоге будет также. соответствовать запись в новой переменной-отношении, которая может так и называться — Ч1ЕИ. Запись должна включать то выражение, которое использовалось при определении данного представления. ° Аналогично каждому определенному в базе данных моментальному снимку в каталоге будет соответствовать запись в еще одной новой переменной-отношении (например, ЯНАРЯНОТЯ).

Эта запись должна включать выражение, которое использовалось при определении данного моментального снимка, а также сведения об установленном для него интервале обновления. ° Еще одна переменная-отношение в каталоге должна содержать сведения о том, какие переменные-отношения использовались в определениях каждого из представлений и моментальных снимков. Обратите внимание, что структура этой переменной-отношения в определенной степени подобна структуре переменной-отношения РАКТ ЯТКНСТНКЕ (см. рис.

4.б в главе 4); как одна деталь (или узел) может включать в себя другую, так и некоторое представление (или моментальный снимок) может быть определено в терминах других представлений (или снимков). Поэтому проблемы, обсуждавшиеся в ответе к упр. 7.7 в главе 7, имеют отношение и к данному случаю. 9.10. Да! Но отметим следующее. Предположим, что переменная-отношение Я с данными о поставщиках заменена выборками ЯА и ЯВ, где переменная-отношение Яй содержит данные о поставщиках из Лондона, а переменная-отношение Я — данные о постав- Глава 9. Представления 391 ЧАН ЯТ ВАЯЕ КЕРАТ10И ( Б( Б(, ЯТАТПБ 1НТЕПЕК РН1ИАНХ КЕХ ( Я( 392 Часть И.

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

Однако было сделано неявное предположение, что для обеспечения большей эффективности в практической реализации может использоваться единственная операция ПРПАТЕ. Данный пример показывает, что преобразование операции ПРРАТЕ для представлений в операцию ПРРйТЕ для исходных базовых переменных-отношений не всегда дает правильный результат. Фактически поиск случаев, когда названное преобразование работает корректно, можно отнести к задачам оптимизации. Вариант а — да; вариант б — да. Операции 1НЯЕНТ и РЕЬЕТЕ всегда будут противоположными, если база данных спроектирована в соответствии с приннипоч ортогонавьного проектирования (раздел 12.6 главы 12) и если СУБД соответствующим образом поддерживает работу с предикатами переменных-отношений. Но если данные условия не выполняются, возможно, что эти операции не будут взаимно противоположными.

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

Прежде всего, отметим, что процесс замены выполняется в несколько этапов. (Эта последовательность операций будет усовершенствована ниже.) /* Определение иовых базовых переменных-отношеиий */ ЧАК ЯМС ВйБЕ КЕЬАТ10М ( Я$ Я(, ЯНАИЕ БНАИЕ, С1ТХ СВАН ) РН1ИАНХ КЕХ ( Я( /' Копирование данных в новые базовые переыенпые-отиошення */ 1НБЕНТ 1МТО ЯНС Я ( ЯМ, ЯНАИЕ, С1ТХ ) 1НЯЕКТ 1МТО ЯТ Б ( Я(, ЯТйТПБ ) 1 /" Уничтожение исходной переменной-отношения *( ВЕОР ЧАЕ Я Теперь можно создать требуемое представление. ЧАЕ Я Ч1ЕИ ЯИС 301И ЯТ Заметим, что каждый из атрибутов 3$ (в переменных-отношениях ЯИС и ЯТ) можно рассматривать как внешние ключи, ссылающиеся друг на друга. Фактически мы имеем строгое отношение "один к одному" между кортежами переменных- отношений ЯИС и ЯТ. Это позволяет перейти на уровень сложности "один к одному", подробно обсуждавшийся в (13.7].

Отметим также, что нужно что-то прелпринять относительно внешнего ключа 31 в переменной-отношении ЯР. Этот внешний ключ ссылается на старую базовую переменную-отношение Я. Хорошо, если бы можно было просто перенаправить внешний ключ на представление Я. Если этого сделать нельзя (а этого нельзя делать в большинстве современных продуктов), то в базе данных лучше создать еще одну проекцию базовой переменной-отношения Я. Соответствующее определение приведено ниже. ЧАИ ЯЯ ВАЯЕ ВЕЬАТ10И ( 3$ 31 ) РН1ИАЕУ КЕУ ( 3$ 1ИЯЕВТ 1ИТО 33 Я ( ЯМ ) 1 (Фактически именно этот проект рекоменлуется использовать в (8.10), однако по совсем другим причинам.) Теперь определение представления Я можно изменить следующим образом.

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

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

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

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