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

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

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

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

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

Аналогично операция ОРОАТЕ для атрибута Я() в переменной-отношении поставщиков вызовет помешение неопределенных значений (ИОЬЬ) в атрибут внешнего ключа всех кортежей с данными о соответствуюших поставках, и только после этого сведения об указанных поставшиках будут обновлены. Замечание. Спецификация ЯЕТ ИОЬЬ может быть указана только для тех внешних ключей, в которых допускается наличие неопределенных значений (ИОЬЬ). 3. Наконец, следует отметить, что "необходимости" разрешить присутствие неопределенных значений (ИОЬЬ) во внешних ключах вполне можно избежать за счет соответствуюшего проектирования базы данных 118.20]. Еше раз обратимся к примеру с отделами и сотрудниками. Возможна ситуация, когда некоторые сотрудники действительно не относятся ни к одному из отделов.

Но тогда, как уже предполагалось в конце предыдушего раздела, логичнее было бы не включать атрибут номера отдела ОЕРТ() в переменную-отношение ЕМР, а создать отдельную переменную- отношение ЕО с атрибутами ЕИР) и ОЕРТ8, предназначенную для представления того факта, что указанный сотрудник работает в данном отделе. Если некоторый сотрудник не о~носится ни к одному отделу, ситуацию легко можно представить, исключив кортеж для этого сотрудника из переменной-отношения ЕО.

18.5. Внешнее соединение В этом разделе делается некоторое отступление от основной темы главы с целью обсуждения часто используемой операции внешнего соединения 118.3], 1! 8.4], (18.7], 118.14], [18.15]. Внешнее соединение — это расширенная форма обычного или внутреннего соеди- 707 Глава 18. Отсутствующая информация пения. Внешнее соединение отличается от внутреннего тем, что кортежи одного из отношений, не имеющие соответствия среди кортежей другого отношения, появляются в результирующем о~ношении с неопределенными значениями (МОЕТЕ) во всех позициях атрибутов второго отношения, вместо того чтобы быть просто проигнорированными, как в обычном соединении. Этот оператор не является примитивным. Например, для построения внешнего естественного соединения по номеру поставщика переменных-отношений поставщиков и поставок можно использовать приведенное ниже выражение (в демонстрационных целях предположим, что МЖЬ является корректным скалярным выражением).

( Я 001М ЯР ) 0М10М ( ЕХТЕМ0 ( ( Я ( Б)) ) М1МЯЯ БР ( Я)) ) ) Б01М Я ) й00 МОИ ХБ Р(), МОБ1 ХБ 0ТХ ) Результат будет содержать кортежи и лля поставщиков, не выполнивших ни одной поставки. В этих кортежах будут содержаться неопределенные значения (БАБ) в позициях атрибутов Р)) и 0ТУ. Исследуем этот пример более подробно. Взгляните на рис. 18.3. На нем вверху показаны значения данных в исходных переменных-отношениях, ниже — результат нх внутреннего естественного соединения, а еше ниже — результат их внешнего естественного соединения.

Как следует из рисунка, внутреннее соединение, попросту говоря, утрачивает информацию о поставщиках, не выполнивших ни одной поставки (в данном примере это поставщик с номером 'Б5'), в то время как внешнее соединение сохраняет ее. Действительно, имеющееся различие и является причиной использования внешнего соединения. ЯР еннее) соединение: Информация для поставщика с номером '85' "теряется" Внешнее соединение: Информация для поставщика с номером '35' "сохраняется" Рис. !8.3, Внутреннее и внеизнее соединения (пример) Таким образом, внешнее соединение предназначено для решения весьма важной проблемы, заключающейся в потере информации при внутреннем соединении.

Некоторые авторы высказывают мнение, что система должна обеспечивать прямую и явную поддержку внешних соединений, вместо того чтобы требовать от пользователя при построении запроса прибегать к различным ухищрениям для достижения желаемого результата. 708 Часть Р. Дополнительные аспекты В частности, Кодд рассматривает внешнее соединение как неотъемлемую часть реляционной модели [5.2].

Тем не менее в этой книге мы не будем высказываться за явную поддержку внешних соединений по приведенным ниже причинам. ° Прежде всего, конечно, операция внешнего соединения использует неопределенные значения (НЯТЬ), а автор настоящей книги всегда выступает против этого по целому ряду описанных ранее причин. ° Кроме того, обратите внимание, что существует несколько разновидностей операции внешнего соединения — левое, правое и полное внешнее О-соединение, а также левое, правое и полное внешнее естественное соединение.

(Левое соединение сохраняет в результирующем отношении информацию из левого операнда, правое — из правого операнда, а полное — с обеих сторон.) На рис. 18.3 показан пример левого соединения, точнее, левого внешнего естественного соединения. Более того, обратите внимание, что не существует достаточно простого способа порождения внешнего естес~венного соединения из внешнего Я-соединения [18.7]. В результате не ясно, какой именно оператор внешнего соединения должна явно поддерживать система.

° Далее, вопрос о внешнем соединении ни в коем случае нельзя считать столь же тривиачьным, как тот простой пример, который приведен на рис. 18.3. На практике, как показано в [18.7], операции внешнего соединения присущ ряд "неприятных свойств", которые в своей совокупности не позволяю~ эффективно реачизовать ее поддержку в существующих языках, в частности в языке Я(3) . Предпринятые в некоторых коммерческих СУБД попытки решить эту проблему оказались неудачными, т.е. в них так и не удалось справиться с "неприятными свойствами" (см.

[18.7], где данный вопрос описан подробнее). ° И наконец, уже было высказано мнение о том, что атрибуты, значениями которых могут былин отношения, представляют собой альтернативный подход, позволяющий радикально устранить все эти проблемы (глава 19). Такой подход исключает необходимость использования неопределенных значений (Нцьь) и операций внешнего соединения и в действительности, по мнению автора, является более элегантным решением.

Например, для показанных на рис. 18.3 данных приведенное ниже выражение позволяет получить результат, представленный на рис. 18.4. 81ТН ( Я ЕЕНАНЕ Я() АЯ Х ) АЯ У ех7880 х А00 ( яР инеее я() = х ) Ая Рб Рис. (В.4. Сохранение информации а поставщике с номером 'Я5' (балее эффективный способ) 709 Глава 18. Отсутствующая информация В частности, пустое множество деталей, поставляемых поставщиком с номером '85', на рис. 18.4 представлено именно в виде пустого множества, а не в виде каких-то неопределенных значений (ИИЬЬ), как это было в случае, показанном на рис. 18.3. Представление пустого множества в виде пустого множества, похоже, является удачной идеей. Действительно, при должной поддержке атрибутов, значениями которых могут быть отношения, операция внешнего соединения может оказаться совершенно излишней.

При более внимательном изучении этого вопроса можно заметить, что имеет место проблема интерпретации неопределенных значений (ИИЬЬ), которые появляются в результирующем отношении операции внешнего соединения. Например, что представляют собой неопределенные значения, показанные на рис.!8.3? Несомненно, они не означают "значение неизвестно" или "значение неприменимо".

На самом деле единственная логически обоснованная интерпретация их смысла следующая: "Значение является пустым множеством". Более подробно эта проблема обсуждается в [18.7]. В заключение раздела заметим, что существует возможность определить "внешние" версии других операторов реляционной алгебры, в частности операторов объединения, пересечения и вычитания [13.6]. И вновь Кодл рассматривает по крайней мере один из таких операторов, а именно — внешнее объединение, как неотъемлемую часть его реляционной модели [5.2].

Подобные версии операторов позволяют выполнять объединение двух отношений и другие операции, даже если данные отношения несовместимы по типу. Основной принцип работы таких операторов состоит в расширении каждого из операндов за счет добавления атрибутов, свойственных другому операнду, с помещением неопределенных значений (ИУЬЬ) в каждый такой атрибут каждого кортежа (после чего операнды становятся совместимыми по типу). Затем выполняется обычное объединение, пересечение или вычитаниев.

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

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

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

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

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