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

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

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

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

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

Другая форма определения набора символов иллюстрируется регулярным выражением 'тп1я ая ягггпд [: шцгт: ) '. В этом случае конструкция в квадратных скобках представляет любой одиночный символ, изображающий десятичную цифру. Другими допустимыми в Б()) идентификаторами наборов символов (геци1аг сьагяег ы) являются Аьрн)( (любой символ алфавита), БРРеР, (любой символ верхнего регистра), 1,0икп (любой символ нижнего регистра) и Аьн()м (любой алфавитно-цифровой символ).

302 Лекция 14 Язык баз данных ЯОЫ предикаты раздела \9Н ЕЛЕ опе атора ЯЕЬЕСТ Определяемый набор символов может задаваться нижней и верхней границей диапазона значений кодов допустимых символов. Например, в регулярном выражении 'Т)т1я гя яггзпд [3-8) ' конструкция в квадратных скобках представляет собой любой одиночный символ, изображающий цифры от 3 до 8 включительно. Заметим, что при задании диапазона можно использовать любые символы, но требуется, чтобы значение кода символа левой границы диапазона было не больше значения кода символа правой границы. Наконец, имеется егце одна возможность определения набора символов.

Соответствующая конструкция позволяет указать, какие символы из общего набора символов ВОЬ не входят в определяемый набор символов. Например, регулярное выражение ' я[ "г)*1пд% генерирует все символьные строки, у которых вторым символом является «Я», за которым (не обязательно непосредственно) следует подстрока «Тпд», но между «Я» и «Тпд» отсутствуют вхождения символа «г».

Как и в предикате 11)ге, символ, определенный в разделе ЕЯСАРЕ, поставленный перед любым специальным символом, отменяет специальную интерпретацию этого символа. В заключение данного пункта вернемся к отложенному в разделе «Скалярные выражения» лекции 13 обсуждению функции Я[]ЕЯТКТМС ... ЯТМТЕАК ... ЕЯСАРЕ. Напомним, что вызов этой функции определяется следующим синтаксисом: Я[]ВЯТК1ИЯ [сдагассег ча1це ехргеяяуоп Я1М1ЬАК с)тагассег ча1це ехргеяяуоп ЕЯСАРЕ сдагасгег ча1це ехргеяяуоп) Предположим, что в разделе ЕЯСАРЕ (который должен присутствовать обязательно) задан символ «х». Тогда символьная строка, задаваемая во втором операнде, должна иметь вид 'гехр1х"гехр2х"гехр3', где гехр1, гехр2 и гехр3 являются регулярными выражениями.

Функция пытается разделить символьную строку первого операнда на три раздела, первый из которых определяется путем сопоставления начала строки со строками, генерируемыми гехр1, второй — путем сопоставления оставшейся части строки первого операнда с гехр2 и третий — путем сопоставления конца этой строки с гехр3. Возвращаемым значением функции является средняя часть символьной строки первого операнда. Вот пример вызова функции: ЯУЕЯТК1ИЯ ( 'Тдуя Тв ясг1пд22' Я1М1ЕАК 'Т)т1я 1я1'[:АЕРНА:)+1"[еп101Т:]+' ЕЯСАРЕ 303 Основы бая данных К с Результатом будет строка 'ясгупс)'. Примеры запросов с использованном прадиката в1в1 1ат Пример 14.14. Найти номера и названия отделов, название которых начинается со слов 'нагс(нате' или ' Бо1снаге', а за ними (не обязательно непосредственно) следует последовательность десятичных цифр, предваряемых символом подчеркивания.

БЕЗВЕСТ РЕРТ МАМЕ, РЕРТ ИО РВОМ РЕРТ ИНЕВЕ РЕРТ МАМЕ Б1М1ЫВ ТО ' (МАВР(БОРТ)НАВЕЗ( (:0161Т:! +' ЕЯСАРЕ '('; Пример 14.15. Найти номера и названия проектов, название которых не начинается с последовательности цифр. ЯЕ1.ЕСТ РЕРТ МАМЕ, РЕРТ ИО РВОМ РЕРТ ННЕВЕ РЕРТ МАМЕ Я1М11 АВ ТО '["1-9)+Ъ'; Предикат ех1всв Преликат ех1я с я определяется следующим синтаксическим правилом: ехуягя ргес(усаяе :с= ЕХ1ЯТЯ (с(песу ехргеяяуоп) Значением условия ех1ятБ (с)песу ехргеяязоп) является (где в том и только в том случае, когда мощность таблицы-результата выражения запросов больше нуля, иначе значением условия является~а)зе. Примеры запросов с использованном предиката вхх в с в Пример 14.16.

Найти номера отделов, среди служащих которых имеются менеджеры проектов. БЕЗВЕСТ РЕРТ.РЕРТ НО РВОМ РЕРТ ННЕВЕ ЕХ1БТБ (БЕ1 ЕСТ ЕМР. ЕМР ИО РВОМ ЕМР ННЕВЕ ЕМР.РЕРТ МО = РЕРТ.РЕРТ МО АИР ЕХ1БТЯ (БЕ! ЕСТ РВО.РВО МИО РВОМ РВО ННЕВЕ РВО.РВО МИО = ЕМР.ЕМР НО)); 304 Лекция 14 Язык баэ данных БОЬ: и едикаты раздела)к(НЕВЕ опе ато ЯЕЬЕСТ Эту формулировку можно упростить, избавившись от самого вложенного запроса (прпмер 14.1ба): ЯЕЬЕСТ РЕРТ.РЕРТ ИО РВОМ РЕРТ ХНЕВЕ ЕХТЯТБ (БЕ(,ЕСТ ЕМР.ЕМР НО РВОМ ЕМР, РКО ХНЕВК ЕМР.РЕРТ НО = РЕРТ.РЕРТ ИО РНР РВО.РВО МИС = ЕМР.КМР ИО); Далее заметим, что по смыслу предиката ехтЯтБ список выборки во вложенном подзапросе является несущественным, и формулировку запроса можно изменить, например, следуюшим образом (прпмер 14.16Ь): БЕЬЕСТ РКРТ.РЕРТ НО РВОМ РЕРТ ХНЕВЕ ЕХТБТБ (БЕЬЕСТ * РВОМ ЕМР, РЕРТ ХНЕКЕ ЕМР.РКРТ ИО = РЕРТ.РЕРТ ИО АЫР РВО.РКО ММС = ЕМР.КМР НО); Запросы с предикатом ехтЯтЯ можно также перефОрмулировать в виде запросов с предикатом сравнения (прпмер 14.1бс): БЕЬЕСТ РКРТ.РЕРТ НО РКСМ РЕРТ ХНЕКЕ (ЯЕЬЕСТ СОРНТ(*) РВОМ ЕМР, РЕРТ ХНЕКЕ ЕМР.РЕРТ НО = РЕРТ.РКРТ НО йМР РКО.РВО МИС = ЕМР.ЕМР ИО ) >= 1; Пример 14.17.

Найти номера отделов, размер заработной платы сотрудников которых не превышает размер заработной платы руководителя отдела. БЕЬЕСТ РКРТ.РЕРТ МО РВОМ РЕРТ ХНЕВЕ НОТ ЕХ1БТБ (ЯЕЬЕСТ * РВОМ ЕМР ЕМР1, ЕМР ЕМР2 305 Основы Оаз данных к рс ХНЕВЕ ЕМР1. ЕМР ИО = ОЕРТ.ОЕРТ МНО АМ0 ЕМР2.0ЕРТ МО = 0ЕРТ.ОЕРТ МО АН0 ЕМР2.ЕМР ЯАЬ > ЕМР1.ЕМР ЯАЬ); Предикат пп1<рье Этот предикат позволяет сформулировать условие отсутствия дубликатов в результате запроса: ип1опе ргес11саге ::= ОХТОНК (с)негу ехргевя1оп) Результатом вычисления условия ОМТОНК (с)негу ехргеве1оп) является Ьие в том и только в том случае, когда в таблице-результате выражения запросов отсутствуют какие-либо две строки, одна из которых является дубликатом другой.

В противном случае значение условия есть|а!и. Примеры запросов с использованием прадиката ип1ди е Пример 14.18. Найти номера отделов, служащих которых можно различить по имени и дате рождения. ЯЕЬКСТ 0ЕРТ МО РВОМ 0ЕРТ ХНЕВЕ ОН1ООЕ (ЯЕЬЕСТ ЕМР МАМЕ, ЕМР ВОАТЕ РВОМ ЕМР ХНЕВЕ ЕМР.ОЕРТ ИО = ОЕРТ.ОЕРТ ИО); Возможна альтернативная, но более сложная формулировка этого запроса с использованием предиката нот ех1ЯтЯ (пример 14.18а): ЯЕЬЕСТ ОЕРТ ЫО РВОМ 0ЕРТ ХНЕВЕ МОТ ЕЯ1ЯТЯ (ЯЕЬЕСТ * РВОМ ЕМР, ЕМР ЕМР1 ХНЕВЕ ЕМР1.ЕМР ИО <> ЕМР.ЕМР ИО АН0 ЕМР.ОЕРТ НО = ОЕРТ.ОЕРТ НО АНО ЕМР1.0ЕРТ ИО = ОЕРТ.ОЕРТ ИО АМО КМР1.ЕМР МАМЕ = ЕМР.ЕМР МАМЕ АН0(КМР1.ЕМР ВОАТЕ = ЕМР.ЕМР ВОАТЕ ОВ (ЕМР.ЕМР ЕОАТК 1Я МЛЬ АН0 ЕМР1.ЕМР ВОАТЕ 1Я НОЬ1))); Лекция та Язык баз данных 80цк предикаты раздела ч)НЕВЕ оператора ЯЕСЕОТ Если же ограничиться требованием уникальности имен служащих, то возможна следующая формулировка (пример 14.18Ь): ЯЕРЕСТ РЕРТ ИО РВОМ РЕРТ ХНЕЕЕ (ЯЕ(.ЕСТ СОПЯТ (ЕМР МАМЕ) РВОМ ЕМР ХНЕЕЕ ЕМР.РЕРТ ХО = РЕРТ.РЕРТ ХО) (ЯЕРЕСТ СОРМТ (Р1ЯТ1ХСТ ЕМР МАМЕ) РВОМ ЕМР ХНЕЕЕ ЕМР.РЕРТ ИО = РЕРТ.РЕРТ ИО); Предикат очес1арв Этот предикат служит лля проверки перекрытия во времени двух событий.

Условие определяется следующим синтаксисом: очег1арз ргес)1сасе ::= гох ча1це сопзсгцсоог ОЧЕКРАРЯ гох ча1це сопзсгиссог Степень каждой из строк-операндов должна быть равна 2. Тип данных первого столбца каждого из операндов должен быть типом даты-времени, и типы данных первых столбцов должны быть совместимы. Тип данных второго столбца каждого из операндов должен быть типом даты- времени или интервала. При зтом: я если это тип интервала, тоточностьтипадолжнабытьтакой, чтобы интервал можно было прибавить к значению типа дата-время первого столбца; ° если зто тип дата-время, то он должен быть совместим с типом данных дата-время первого столбца.

Пусть Р1 и Р2 — значения первого столбца первого и второго операндов соответственно. Если второй столбец первого операнда имеет тип лата- время, то пусть е1 обозначает его значение. Если второй столбец первого ОПЕраНда ИМЕЕТ тИП 1ХТЕЕУАР, тс ПуСтЬ 11 — ЕГО ЗНаЧЕНИЕ, а Е1 = РТ а 11. Если Р1 является неопределенным значением или если Е1 < Р1, то пусть 81 = Е1ит1 = Р1. В противном случае, пусть 81 = Р1и Т1 = 81.Аналогично определяются Я2 и Т2 применительно ко второму операнду Результат условия совпадает с результатом вычисления следующего булевского выражения: (Я1 > Я2 АХР ХОТ (Я1 >= Т2 АМР Т1 >= Т2) ) ОЕ (Я2 > Я1 АИР ХОТ (82 >= Т1 АХР Т2 >= Т1)) 307 Основы баз данных Курс ОВ (Б1 = Б2 АМР (Т1 <> Т2 ОВ Т1 = Т2)) Примеры запросов с использованием предиката от ет1арв Пример 14.19.

Найти номера проектов, которые выполнялись в пе- риод с 15 января 2000 г. по 3! декабря 2002 г. ЯЕЬЕСТ РВО МО РВОМ РВО )(НЕВЕ (РВО ЯОАТК, РВО ООВАТ) О)ГКВЬАРЯ (ОАТЕ '2000-01-15', ОАТЕ '2002-12-31'); Пример 14.20. Найти названия проектов, которые будут выполнять- ся в течение следующего года. ЯЕЬЕСТ РВО Т1ТЬЕ РВОМ РВО ЫНЕВЕ (РВО ЯРАТЕ, РВО ООВАТ) 07ЕВЬАРЯ (СОВВЕИТ ВАТЕ, 1ИТЕВЧАЬ '1' УЕАВ); Предикат сравнения с квантором Этот предикат позволяет специфицировать квантифицированное сравнение строчного значения и определяется следующим синтаксическим правилом: спапс1йкес) совраг1аоп ргег)1сасе ::= гон та1пе сопасгцссог совр ор ( АЬЬ ) ЯОМЕ ) АИУ ) снегу ехргеаакоп Степень первого операнда должна быть такой же, как и степень таблицы-результата выражения запросов.

Типы данных значений строки- операнда должны быть совместимы с типами данных соответствующих столбцов выражения запроса. Сравнение строк производится по тем же правилам, что и для предиката сравнения. Обозначим через х строку-первый операнд, а через я — результат вычисления выражения запроса. Пусть а обозначает произвольную строку таблицы Я. Тогда: ° условие х совр ср Аьь яимеетзначениеггиевтом итольковтомслучае, когда я пусто, или значение условия х совр ор а равно ггие для каждой строки а, входящей в я.

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

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

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

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