Главная » Просмотр файлов » С.Д. Кузнецов - Основы баз данных

С.Д. Кузнецов - Основы баз данных (1121716), страница 62

Файл №1121716 С.Д. Кузнецов - Основы баз данных (С.Д. Кузнецов - Основы баз данных) 62 страницаС.Д. Кузнецов - Основы баз данных (1121716) страница 622019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

В лекции содержится много примеров запросов с использованием различных видов предикатов. Для полного усвоения материала требуется тщательно проанализировать эти примеры. Логические выражения раздела у1НВВВ Синтаксически логическое выражение раздела Янеке определяется как булевское выражение (Ьоо1еап иа1це ехргевв(оп), правила построения которого обсуждались в предыдущей лекции. Основой логического выражения являются предикаты. Предикат позволяет специфицировать условие, результатом вычисления которого может быть ггие, !и!де или ип!гпотел. В языке В()1.:1999 допустимы следующие предикаты:* ' Мы не обсуждаем в атом курсе предикаты, основанные на использовании выражений ти- па мудьтимножества, которые были введены в стандарте БГ)Р:2003.

287 ргед(саге ! ! ! 1 ! содзраг(воп ргеб(саге Ьегиееп ргеб(саге пи11 ргеб(саге тп ргео(саге 11ке ргеб(васе в(дп1аг ргео(саве ех(вгв ргеоусаге цп(срте ргег11сасе очег1арв ргеЫсаге срзапс111ед соырагдвоп ргес(1саГе гпассЬ ргебусасе г)1вс(пес ргег11сасе Основы баэ данных Курс Далее мы будем последовательно обсуждать разные виды предикатов и приводить примеры запросов с использованием базы ланных ОлуклдикОТЕЕлы-пРОЕкты, определения таблиц которой на языке Я2(.

были приведены в лекции 12. Для удобства повторим злесь структуру таблиц. ЕМР: РЕРТ: РЕО: Столбцы емР мО, Рерт МО и РВО МО являются первичными ключами таблиц емР, Оерт и Рео соответственно. Столбцы Оерт мо и Рео мо таблицы емР являются внешними ключами, ссылающимися на таблицы Оерт и Рео соответственно (Оерт мо указывает на отделы„в которых работают служащие, а РЕО МΠ— на проекты, в которых они участвуют; оба столбца могут принимать неопределенные значения). Столбец эеРТ мМО является внешним ключом таблицы ОЕРТ (ОЕРТ ММО указывает на служащих, которые исполняют обязанности руководителей отделов; у отдела может не быть руководителя, и один служащий не может быть руководителем 288 Лекция 14 Язык баэ данных 80Ы предикаты аэдела ттНЕЯЕ опе тора ЗЕЬЕСТ двух или более отделов).

Столбец ЕЕО ИНС является внешним ключом таблицы рко (рео мыс указывает на служащих, которые являются менеджерами проектов, у проекта всегда есть менеджер, и один служащий не может быть менеджером двух или более проектов). Предикат сравнения Этот предикат предназначен для спецификации сравнения двух строчных значений. Синтаксис предиката следующий: сошраг(яоп ргеб(саге гон уа1пе сопяггцсгог совр ор гон уа1пе сопяггпсгог совр ор ::= = ! <> ("неравно")~ < ~ > ! <= "меньше или равно"~ >= "больше или равно" Строки, являющиеся операндами операции сравнения, должны быть одинаковой степени. Типы данных соответствующих значений строк-операндов должны быть совместимы. Пусть х и У обозначают соответствующие элементы строк-операндов, а ху и уу — их значения.

Тогда: (а) если хъ. и/или ут являются неопределенными значениями, то значение условия Х сошр ор У вЂ” ил/слоыл; (Ь) в противном случаезначением условия хсошр ор Уявляется тгие или уа(яе в соответствии с естественными правилами применения операции сравнения. При этом: ° Числа сравниваются в соответствии с правилами алгебры. ° Сравнение двух символьных строк производится следующим образом: ° если длина строки Х не равна длине строки У, то для выравнивания длин строк более короткая строка расширяется символами набивки (раИ~тлЬо(); если для используемого набора символов порядок сортировки явным образом не специфицирован, то в качестве символа набивки используется пробел; ° далее производится лексикографическое сравнение строк в соответствии с предопределенным или явно определенным порядком сортировки символов.

° Сравнение двух битовых строк х и У основано на сравнении соответствующих бит. Если х, и У, — значения 1-тых бит хи У соответственно и если 1х и 1у обозначает длину в битах х и у соответственно, то: ° хравно утогда итолькотогда, когда 1х= 1уиХ, = У,для всех 1; ° хменьше Утогдаитолькотогда,когда(а) 1х < 1уих, = У,длявсех 1меньшихилиравных1х, или(Ь) Х, = У,для всеху < пи Х, = О, а У, =1 для некоторого и меньшего или равного ш1п (1х, 1у). 299 Курс Основы баз данных ° Сравнение двух значений типа дата-время производится в соответствии с видом интервала, который получается при вычитании второго значения из первого. Пусть х и у — сравниваемые значения, а и — наименее значимое поле даты-времени Х и у.

Результат сравнения х соптр ор 1'определяется как ~Х вЂ” В и совр ор 1ЯТЕ~а~, (О) и. !Два значения типа дата-время сравнимы только в том случае, если они содержат одинаковый набор полей даты-времени.) ° Сравнение двух значений анонимного строкового типа производится следуюшим образом. Пусть ях и яу обозначают строки-операнды, а ях. и ву, — 1-тые элементы ях н яу соответственно. Вот как определяется результат сравнения ях совр ор яу: ° вх = яу естытие тогда и только тогда, когда ях, = яу, есть тгие для всех т; ° ях <> яуестытиетогда итолькотогда, когда ях, <> яу, естытие лля некоторого 1; ° ях < яу есть иие тогда и только тогда, когда ях, = яу, естытие лля всех 1 < о, и ях„< яу, естыпте для некоторого л', ° ях > яуестытие тогда и только тогда, когда ях, = яу, естыпте дпя всех 1 < тт, и ях„> яу„, естыгие для некоторого и; ° ях <= яуестытие тогда н толькотогда, когда ях = яуестытие или ях < яуестытие; ° ях >= яуестыгиетогда итолькотогда, когда ях = яуестыгие или ях > яуестытие; ° ях = яу есть!аЬе тогда и только тогда, когда ях <> яуестыпте; ° ях <> яуестьуаЬе тогда и только тогда, когда ях = яуестыпте; ° ях < яуесть!аЬе тогда и только тогда, когда ях >= яуестыпте; ° ях > яу есть уаЬе тогда и только тогда, когда ях < = яу есть иие; ° ях < = яу есть|аЬе тогда и только тогда, когда ях > яу есть и ие; ° ях >= яуесть|аЬе тогда и только тогда, когда ях < яуестыгие; ° ях сотпр ор яу есть ил!слетел тогда и только тогда, когда ях совр ор яу не естЫтие или уа!зе.

Примеры запросов с использованием предиката сравнения Пример 14.1. Найти номера отделов, в которых работают служашие с фамилией 'ятпус!т'. ЯЕЬЕОТ О1ЯТ1МОТ ЕМР.РЕРТ МО РВОМ ЕМР ХНЕВЕ ЕМР.ЕМР МАМЕ = 'Ятпугтт'; Мы добавили спецификацию ОТЯТТМОТ в раздел ЯЕЬЕОТ, потому что в одном отделе могут работать несколько служаших с фамилией ' Ятпу стт ', а их число нас в данном случае не интересует.

Кстати, если бы нас интересовало 290 Лекция 14 Язык баз данных ЯОЫ предикаты раздела )К)НЕВЕ оператора ЗЕЬЕСТ число служаших с фамилией 'Япйг?з' в каждом отделе, где такие служашне работают, то следовало бы, например, написать такой запрос (пример 14. 1а): ЯЕ1 ЕСТ ЕМР.РЕРТ ИО, СОРИТ?*) РВОМ ЕМР ХНЕВЕ ЕМР.МАМЕ = 'Ямб?~' РЕОМЮР ВУ ЕМР.РЕРТ МО; В этом варианте запроса спецификация РТЯт?мст не требуется, поскольку в запросе содержится раздел ОВОРР ВУ, группировка производится в соответствии со значениями столбца емР. Рерт МО, и строка результата соответствует одной группе. Пример 14.2. Найти номера, имена и номера отделов служащих, родившихся после 15 апреля 1965 г.

ЯЕЬЕСТ ЕМР.ЕМР ИО, ЕМР.ЕМР МАМЕ, ЕМР.РЕРТ ИО РВОМ ЕМР ХНЕВЕ ЕМР.ЕМР ВРАТЕ > РАТЕ '19б5-04-15'; В результате этого запроса дубликатов быть не может, поскольку в список выборки включен столбец, являюшийся первичным ключом таблицы емР. Должно быть ясно, что по этой причине все строки результата будут различными. Пример 14.3. Найти номера, имена и номера отделов служащих, размер заработной платы которых составляет больше одной десятой объема фонда заработной платы их отделов. ЯЕЬЕСТ ЕМР.ЕМР ИО, ЕМР.ЕМР МАМЕ, ЕМР.РЕРТ ИО РВОМ ЕМР ХНЕВЕ ЕМР.ЕМР ЯАЬ > 0.1 * ?ЯЕЬЕСТ РЕРТ ТОТАЬ ЯАЬ РВОМ РЕРТ ХНЕВЕ РЕРТ.РЕРТ ИО = ЕМР.РЕРТ НО); В этом Я~Ь-запросе имеются две интересные особенности, которые мы до сих пор не обсуждали.

Во-первых, второй операнд операции сравнения содержит подзапрос, возврашаюший единственное значение, поскольку логическое выражение раздела ХНЕВЕ этого подзапроса состоит из условия, однозначно определяющего значение первичного ключа таблицы Рерт. Во-вторых, в условии раздела хнеие подзапроса используется ссылка на столбец таблицы ЕМР, указанной в разделе РВОМ «внешнЕгО» Запроса. Подобные подзапросы в терминологии БЬ1ь традиционно называ- 291 Основы баз данных Курс ются корреляционными, и их следует понимать следующим образом'. При выполнении внешнего запроса последовательно, строка за строкой, в некотором порядке, определяемом системой, производится проверка соответствия строк результируюшей таблицы раздела РВОМ условию раздела иневе.

Если это условие включает корреляционные подзапросы, то внутри каждого из этих подзапросов ссылка на столбец внешней таблицы трактуется как ссылка на столбец текущей строки данной таблицы во внешнем цикле. Естественно, условие хневе любого подзапроса может включать более глубоко вложенные подзапросы, на которые распространяется то же правило корреляции с внешними таблицами. Кстати, эквивалентная формулировка на языке ЯН.

примера 14.3 выглядит следующим образом (пример 14.3а): ЯЕЬЕСТ ЕМР.ЕМР ИО, ЕМР.ЕМР МАМЕ, ЕМР.РЕРТ ИО РВОМ ЕМР, РЕРТ ГНЕВЕ ЕМР.РЕРТ ИО = РЕРТ.РЕРТ НО АНР ЕМР.ЕМР ЯАЬ > 0.1 * РЕРТ.ТОТА1 ЯА1; Мы видим, что в терминах реляционной алгебры этот запрос представляетсобойограниченне(поусловиюемр.емр ЯА1, > 0.1 * Рерт.тОтА1, ЯА1,) экеисоединения таблиц емР и Рерт (по условию емР.Рерт ио Рерт.

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

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

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

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