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

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

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

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

Принципиальное различие между ними следующее. Реляционная алгебра в явном виде предоставляет набор операций (соединение, объединение, проекция и т.д.), которые можно использовать, чтобы сообщить системе, как в базе данных из определенных отношений построить некоторое требуемое отношение, а реляционное исчисление просто представляет систему обозначений для определения требуемого отношения в терминах данных отношений. Например, рассмотрим запрос "Выбрать номера поставщиков и названия городов, в которых находятся поставщики детали с номером 'Р2'".

Алгебраическая версия этого запроса выглядит приблизительно так (мы умышленно не используем формальный синтаксис, приведенный в главе 6). ° Сначала выполнить соединение отношения поставщиков Б и отношения поставок БР по атрибуту Б$. ° Далее выбрать из результата этого соединения кортежи с номером детали 'Р2'. ° И наконец выполнить для результата этой выборки операцию проекции по атрибутам Б$ и С1ТУ. Этот же запрос в терминах реляционного исчисления формулируется приблизительно так.

° Получить атрибуты Б$ и С1ТУ для таких поставщиков, для которых в отношении БР существует запись о поставке с тем же значением атрибута Б$ и со значением атрибута РК равным 'Р2'. В этой формулировке пользователь лишь указывает определенные характеристики требуемого результата, оставляя системе решать, что именно н в какой последовательности соединять, проецировать и т.д., чтобы получить необходимый результат. Итак, можно сказать, что по крайней мере внешне формулировка запроса в терминах реляционного исчисления носит описательный характер, а в терминах реляционной алгебры — предписывающий.

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

Каждому выражению в алгебре соответствует эквивалентное выражение в исчислении, и точно так каждому выражению в исчислении соответствует эквивалентное выражение в алгебре. Это означает, что между ними существует взаимно- однозначное соответствие, а различия связаны лишь с разными стилями выражения: исчисление ближе к естественному языку, а алгебра — к языку программирования. Но, повторим еще раз, эти различия только кажущиеся, а не реальные.

В частности, ни один из подходов нельзя назвать "более непроцедурным" по сравнению с другим. Подробнее вопрос эквивалентности этих двух подходов будет рассматриваться в разделе 7гй настоящей главы. Реляционное исчисление основано на разделе математической логики, который называется исчислением предикатов.

Идея использования исчисления предикатов в качестве основы языка баз данных впервые была высказана в статье Кунса (Кпппз) [7.6]. Понятие реляционного исчисления, т.е. специального применения исчисления предикатов в реляционных базах данных, впервые было предложено Коддом в [6.1], а в [7.1] Кодд представил язык, основанный непосредственно на реляционном исчислении и названный "подъязык данных АЬРНА". Сам язык АЬРНА никогда не был реализован, однако язык ООЕЬ [7.5], [7.10] — [7.12], который действительно был реализован и некоторое время серьезно конкурировал с языком ЯОЬ, очень походил на язык АЬРНА, оказавший заметное влияние на построение языка ОЫЕЬ. Основным средством реляционного исчисления является понятие переменной кортежа (также называемой переменной области значений).

Коротко говоря, переменная кортежа — это переменная, "изменяющаяся на" некотором заданном отношении, т.е. переменная, допустимыми значениями которой являются кортежи заданного отношения. Другими словами, если переменная кортежа Ч изменяется в пределах отношения г, то в любой заданный момент переменная Ч представляет некоторый кортеж с отношения г. Например, запрос "Получить номера поставщиков из числа тех, которые находятся в Лондоне" может быть выражен на языке фЗЕЬ так. ВЛАСЕ ОЕ ЯХ 1Б Я; ВЕТВ1ЕЧЕ ( ЯХ.Я)) ) ))НЕВЕ ЯХ.С1ТУ = "Еопдоп"1 Переменной кортежа здесь является переменная БХ, которая изменяется на отношении, представляющем собой текущее значение переменной-отношения Б (оператор ВВВБŠ— оператор определения этой переменной).

Оператор ВЕТВ1ЕЧЕ означает следующее: "Для каждого возможного значения переменной ЯХ выбирать компонент Б() этого значения тогда н только тогда, когда его компонент С1ТУ имеет значение 'Еопдоп'". В связи с тем, что реляционное исчисление основано на переменных кортежа, его первоначальную версию (для отличия от исчисления доменов, речь о котором пойдет ниже) называют также исчислением кортежей. Исчисление кортежей подробно описано в разделе 7.2. Замечание.

Для удобства примем следующее соглашение: далее в этой книге термины исчисление и реляционное исчисление, приведенные без уточнения "кортежей" или "доменов*', будут означать именно исчисление кортежей (там где это играет какую-то роль). 244 Часть 11. Реляционная модель В статье Лакруа (Еасго(х) и Пиротте (Р(гогге) [7.7] предлагается альтернативная версия исчисления, называемая исчислением доменов, в которой переменные кортежа изменяются иа доменах„т.е. являются переменными, изменяемыми иа доменах, а ие иа отношениях'.

В литературе предлагается множество языков исчисления доменов. Наиболее известный из иих — пожалуй, Опегу-Ву-Ехашр]е, или ОВЕ [7.14] (в действительности ои является смешанным, так как в языке ОВЕ присутствуют и элементы исчисления кортежей). Существует несколько коммерческих реализаций этого языка. В общих чертах исчисление доменов будет описано в разделе 7.6, а язык ОВЕ вкратце рассматривается в комментариях к [7.14]. Замечание. Пытаясь сделать эту главу короче, мы умышленно опускаем подробное описание некоторых вопросов, рассмотренных в главе 6, а именно: траизитивиое замыкание, группироваиие, разгруппирование и реляционные сравнения.

Мы также опускаем рассмотрение соответствующих версий реляционных операторов обновления. Все эти элементы можно перенести "иа почву" реляционного исчисления (в версии кортежей или доменов) вполне очевидным способом. Кратко эти вопросы обсуждаются в [3.3]. 7.2. Исчисление кортежей Как и при описании реляционной алгебры в главе 6, сначала введем для реляциоииого исчисления конкретный синтаксис, взяв за образец (хотя умышленно ие совсем точно) версию исчисления языка Тп1опа1 В, определенного в [3.3], а затем перейдем к обсуждению семантики.

В следующих ниже подразделах обсуждаются синтаксис и семантика. Синтаксис Замечание. Многие из приведенных здесь синтаксических правил ие будут понятны вам до тех пор, пока вы ие изучите семантический материал, следующий далее. Однако мы все же решили собрать все правила вместе для удобства ссылок. Начнем с повторения синтаксиса параметра <реляцлоллое выражение>, приведенного в главе 6. <реляцлоллое вирашелле> ЕЕЬАТ10й ( < сллсок вмрашелий картелей > ) ~ < лмл перемеллой-отлошелля > <реляцлоллал операция> ( <реляцволлое вмрашелве> ) Иными словами, синтаксис параметра <реляцлоллое вмрашелле> остается прежним, однако один из наиболее важных его подпараметров, <реллцлолная олерацлл>, теперь будет иметь совершенно иное определение.

<олределелле переменной кортежа> РАйбЕчлй <лмл переменной кортежа> ЕАЕСЕЯ ОУЕЕ <сллсох реллцлоллшх вврвшеляй> З Донный термин нелогичен: если исчисление доменов называется так по указанной причине, то исчисление кортежей следовало бы назвать исчислением отношений. 245 Глава 7. Реляционное исчисление Параметр <нмя леремеввой кортежа> может использоваться как <выражение кортежа>з, однако лишь в определенном контексте, а именно: ° перед точкой н последукнцим уточнением в параметре <ссылка на атрибут кортежа>; ° сразу после квантора в параметре <логическое выражение с квавтором>; ° как операнд в параметре <логвческое выражение>; ° как параметр <лрототип кортежа> нли как (операнд) подпараметр <выражение> в параметре <лрототил кортежа>.

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

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

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

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