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

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

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

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

208 Часть 11. Реляционная модель Замечание. К вопросу ассоциативности и коммутативности мы еще вернемся в главе 17. А относительно операции декартова произведения мимоходом заметим, что в теории множеств она не является ни ассоциативной, ни коммутатнвной, но ее расширенная версия, как мы ее здесь определили, и ассоциативна, и коммутативна. Наконец, отметим, что если отношения А и В не имеют общих атрибутов, то операция А 301М В эквивалентна операции А Т1МЕЯ В (5.5), т.е.

в таком случае естественное соединение вырождается в декартово произведение. По этой причине в версии языка Тавот(а! В, описанной в (3.3) оператор Т1НЕЯ не поддерживается. 6.5. Примеры В этом разделе представлено несколько примеров использования выражений реляционной алгебры для формулирования запросов к базе данных. Читателю рекомендуется проверить их выполнение на примере данных, приведенных на рис. 3.8. 6.5.1. Получить имена поставщиков детали с номером 'Р2' ( ( БР 301М Я ) МНЕКЕ Р() = Р() ('Р2') ) ) ( ЯМАМЕ ) Пояснение. Первым выполняется естественное соединение отношений ЯР и Я по номерам поставщиков, и в результирующем отношении каждый кортеж отношения ЯР (концептуально) дополняется соответствующей информацией о поставщике (т.е.

соответствующими значениями атрибутов ЯМАМЕ, ЯТАТОЯ и С1ТХ). Затем из результата соединения просто выбираются такие кортежи, в которых значение атрибута Ре равно 'Р2'. И наконец выполняется проекция полученной выборки по атрибуту ЯМАМЕ. Конечный результат имеет единственный атрибут ЯМАМЕ. 6.5.2. Получить имена поставщиков по крайней мере одной красной детали ( ( ( Р МНЕКЕ СОЬОК = С01.0К ( 'Кег)' ) ) 301М БР ) ( Я)) ) 301М Я ) ( ЯМАМЕ ) И снова в результате получаем единственный атрибут БМАМЕ. Вот другой вариант формулировки этого же запроса. ( ( ( Р МНЕКЕ СОЬОК = СОЬОК ( 'Квб' ) ) ( Р() ) 301М ЯР ) 301М Я ) ( ЯМАМЕ ) Таким образом, в примере подчеркивается одно важное обстоятельство; как правило, существует возможность формулирования одного и того же запроса несколькими способами.

Некоторые следствия существования этой возможности обсуждаются далее, в главе 17. 6.5.3. Получить имена поставщиков всех типов деталей ( ( Б ( Я() ) 01Ч1РЕВХ Р ( Р() ) РЕК ЯР ( Я$, Р() ) ) 301М Я) ( ЯМАМЕ ) И вновь в результате получаем единственный атрибут БМАМЕ. 209 Глава б. Реляцианнан алгебра 6.5.4. Получить номера поставщиков по крайней мере тех типов деталей, которые поставляет поставщик с номером 'Б2' Я ( Я$ ) 01710ЕВХ ( ЯР ИНЕКЕ Я$ = Я$ ( 'Б2' ) ) ( Р$ РЕК ЯР ( Б$, Р$ В результате получаем единственный атрибут Я$.

6.5.5. Получить все пары номеров поставщиков, находящихся в одном городе ( ( ( Я КЕНАИЕ Я$ йЯ Яй ) ( Яй, С1ТХ ) Ю01Н ( Я КЕИАИЕ Б» АЯ ЯВ ) ( ЯВ, СХТХ ) ) ИНЕКЕ Яй < ЯВ ) ( ЯА, ЯВ В результате получаем отношение из двух атрибутов — Яй и ЯВ. Конечно, достаточно было бы переименовать лишь один атрибут в одном из операндов соединения. Мы переименовали оба атрибута для симметрии. Замечание. Предполагается, что для типа Б$ определен оператор "<". Условие Яй<ЯВ необходимо по следуюшим двум причинам. ° Чтобы исключить из результата пары номеров поставшиков вида (х, х) ° Чтобы избежать наличия в результате одновременно двух пар вида (х, Х) и (у, х) Для того чтобы проиллюстрировать использование предложения И1ТН, сформулируем этот же запрос иначе.

Данное предложение позволяет ввести сокрашенные имена для выражений и, следовательно, упростить написание длинных запросов. (В действительности мы уже использовали оператор И1ТН в разделе 5.2 главы 5.) ИХТН [ Б КЕНАИЕ Я$ йЯ Яй ) ( Яй, С1ТХ ) АЯ Т1, ( Я КЕНАМЕ Я$ АЯ ЯВ ) ( ЯВ, СЗТХ ) АЯ Т2, ТХ д01Н Т2 АБ ТЗ ТЗ ИНЕКЕ ЯА < ЯВ АЯ Т4 г Т4 ( БА, БВ ) Благодаря использованию предложения И1ТН громоздкие выражения можно записать в пошаговой форме, не нарушая при этом принципов непроцедурности реляционной алгебры.

Мы продолжим обсуждение этого вопроса в следуюшем примере. 6.5.6. Получить имена поставщиков, которые не поставляют деталь с номером 'Р2' ( ( Я ( Я$ ) М1НВЯ ( ЯР ИНЕКЕ Р$ = Р$ ( 'Р2' ) ) ( Я$ ) ) 001Н Б ) ( ЯНАМЕ ) В результате получаем единственный атрибут ЯНАИЕ. г1о Часть 11. Реляционнал модель Разберем последний пример несколько подробнее, чтобы проиллюстрировать еше один важный момент. Не всегда просто представить себе, как можно выразить определенный запрос в виде одной вложенной формулы (особенно если запрос сложный).

Однако это и необязательно. Вот пошаговый вариант решения нашей проблемы, ИТТИ Я ( Я4 ) АЯ Т1, ЯР ИНЕНЕ Р4 - "Р4 ( 'Р2' ) АЯ Т2, Т2 ( Я4 ) АЯ ТЗ, Т1 МТННЯ ТЗ АЯ Т4, Т4 Ю01Н Я АЯ Т5ф Т5 ( ЯНАМЕ ) АЯ ТЯ Тб Отношение Тб содержит требуемый результат. Пояснение. Предполагается, что имена, которые вводятся с помощью предложения И1ТН, т.е. имена вида Т1, в этом примере локальны по отношению к содержащему их выражению. Затем, если система полдерживает возможность отсрочки вычислений (как, например, это делает система РКТЧ (6.9)), разбиение запроса на последовательность небольших шагов предложенным способом абсолютно не будет связано с какими-либо нежелательными издержками в плане производительности. В действительности весь запрос можно будет выполнить следующим образом.

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

значение Тб). ° Для того чтобы вычислить значение Тб, которое является проекцией отношения Т5 по атрибуту ЯИАМЕ, система должна сначала вычислить значение отношения Т5. Но чтобы вычислить значение отношения Т5, которое является соединением отношений Т4 и Я, система должна прелварительно вычислить значение отношения Т4 и т.д.

Иными словами, система должна эффективно вычислять исходные вложенные выражения точно так, как пользователь, в первую очередь, должен эффективно писать такие вложенные запросы. В следующем разделе мы кратко познакомимся с общими принципами вычисления подобных вложенных выражений (к этой теме мы еще вернемся впоследствии, в главе ! 7), 6.6. Зачем нужна реляционная алгебра Подведем некоторый итог сказанному в этой главе. Здесь было введено понятие релявиовной алгебры, т.е.

набора операторов для обработки отношений. В этот набор входят следующие операторы: операторы выборки, проекции, произведения, объединения, пересечения, вычитания, соединения н деления плюс оператор переименования атрибу- 211 Глава б. Релнционная алгебра тов ЕЕ%ИЕ. (За исключением ЕЕИЛИЕ, эти операторы составляют набор, впервые определенный Коддом в [6.1].) Для этих операций также был представлен конкретный синтаксис, который и использовался в нескольких приведенных выше примерах. Как уже отмечалось, восемь операторов Кодда не представляют минимального набора операторов (они задумывались не с этой целью), так как не все из них примитивны и часть из них можно определить в терминах других операторов.

В действительности три операции из этого набора, а именно — соединение, пересечение и деление, можно определить через остальные пять (упр. 6.2). Пять данных операций (выборка, проекция, произведение, объединение н вычитание)4 можно рассматривать как примитивные в том смысле, что ни одна из них не выражается через другие.

Поэтому минимальный набор (безусловно, необязательно единственно возможный) будет состоять из этих пяти примитивных операций. Однако на практике остальные три операции (в особенности операция соединения) используются настолько часто, что имеет смысл обеспечить их непосредственную поддержку, несмотря на то что они не являются примитивными.

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

Ниже перечислены некоторые из возможных применений подобных выражений. ° Определение области выборки, т.е. тех данных, которые должны быть доставлены в результате выполнения операции выборки (что детально рассматривачось выше). ° Определение области обновления, т.е. данных, которые должны быть вставлены, изменены или удалены в результате выполнения операции обновления (глава 5). ° Определение правил поддержки целостности данных, т.е, некоторых особых требований, которым должна удовлетворять база данных (глава 8). ° Определение производных переменных-отношений, т.е. тех данных, которые должны быть включены в представления или "моментальные снимки" состояния базы данных (глава 9). ° Определение требований устойчивости, т.е, данных, которые должны быть включены в контролируемую область для некоторых операций управления параллельным доступом к информации (глава 15). ° Определение ограничений зашиты, т.е.

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

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

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

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