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

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

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

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

раздел «Скалярные выражения» лекции ! 3). Типы значений агрегатных функций определяются следующими правилами. а Результат вычисления функции со(лт — это точное число с точностью и шкалой, которые определяются в реализации. ° Тип результата значений функций млх и мтм совпадает с т. При вычислении функций дом и лчо тип т не должен быть типом символьных строк, ° Если т представляет собой тип точных чисел, то и типом результата функции является тип точных чисел с определяемыми в реализации точностью и шкалой. ° Если т представляет собой тип приблизительных чисел, то и типом результата функции является тип приблизительных чисел с определяемой в реализации точностью.

° Для функций ЕчЕду и ломЕ т является булевским типом.' ° Первая функция принимает значение йие в том и только в том случае, когда вычисление выражения-аргумента дает значение оие для каждой строки из заданного набора строк. и~аце — когда значение выражения-аргумента есть гайе хотя бы для одной строки из заданного набора строк. ° Функция ромк принимает значениегаце в том и только в том случае, когда значение выражения-аргумента есть гайе для каждой строки из заданного набора строк, и ггие — когда значение выра- ' По«кальку, как отмечалось в Лекции ! 1, в Я.Н.

к булевскому значению плпоьп принято относиться точно так же, как и к неопределенному значению, в списке значений для вычисления этих функций не останутся значения и1споа и. 322 Лекция (5 Группировка и условия раздела НАЧ)МО, порождаемые и соединенные таблицы жения-аргумента естыгие хотя бы для одной строки из заданного набора строк. Вычисление функции Сопит (*) производится путем подсчета числа строк в заданном мультимножестве. Все строки считаются различными, даже если они состоят из одного столбца со значением пц11 во всех строках.« если «арифметическая» (Ачп, мйх, м1и, ЯОм, сООмт) агрегатная функция специфицирована с ключевым словом О1ят1нст, то множество значений, на котором она вычисляется, строится из значений указанного выражения, вычисляемого для каждой строки заданной группы строк.

Затем из этого мультимножества удалякпся неопределенные значения, и в ием устраняются значения-дубликаты (т. е. образуется множество). После этого вычисляется указанная функция. Если агрегатная функция специфицирована без ключевого слова Я1ят1мст (или с ключевым словом АЩ, то мультимножество значений формируется из значений выражения, вычисляемого для каждой строки заданной группы строк. Затем из этого мультимножества удаляются неопределенные значения, и производится вычисление агрегатной функции. Результаты запросов и агрегатные функции Об использовании агрегатных функций в разделах МАч1МО и ЯЕЬЕСТ оператора выборки упоминалось в разделе «Общие синтаксические правила построения скалярных выражений» лекции 13. В данном подразделе уместно повторить и уточнить этот материал. Агрегатные функции можно разумным образом использовать в списке выборки (при построении выражений, являющихся элементами выборки) и в логическом выражении раздела НАЧ1МО (вернее„в выражениях, входящих в простые условия).

Рассмотрим разные случаи применения агрегатных функций в списке выборки в зависимости от вида табличного выражения. Если результат табличного выражения л не является сгруппированной таблицей (т. е. в табличном выражении отсутствуют разделы ОЕОЫР Ву и НАЧ1МО), то появление в списке выборки хотя бы одного вызова агрегатной функции от (мульти) множества строк я приводит к тому, что л неявно рассматривается как сгруппированная таблица, состоящая из одной (или нуля, если л пусто) групп с отсутствующими столбцами группи' Обратите внимание нв то, что зто еще один вид рвзлич ения строк в ЯОС и еще одна скрытвя интерпретация неопределенного значения.

сопит(*) рвбответ твк, квк если бы выпалиялось соотношение (ноьь = нпьы — = тауке. тем самым, в ЯОЕ применяются все три возможные интерпретации нпьь. При вычислении логических вырвжений полвгвется (ног' ИПЬ' )— = ихлоил( при опрелелении строк-дубликвтов неявно считается, что (нььь = гюьм = — впе; наконец, при вычислении агрегатной функции сопит(') неявно полвгвется, что (нпьь = нпьь) нуайе. Конечно, в такой «тройственности» нет ничего хорошего, но в контексте языке ЯОЬ прихолится мириться с этим и лругимн негативными поспел«тенями наличия неопрелеленных значений. 323 Основы баз данных Курс рования.

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

Опять результатом запроса является таблица, состоящая не более чем из одной строки, значения столбцов которой получены путем применения агрегатных функций к в. Наконец, рассмотрим случай, когда я представляет собой «настоящую» сгруппированную таблицу, т. е. табличное выражение содержит раздел ОЮПГ ВУ, и, следовательно, определен по крайней мере один столбец группирования (т. е. имеется хотя бы один такой столбец, что для любой группы его значения одинаковы во всех строках группы). В этом случае правила формирования списка выборки полностью соответствуют правилам формирования условия выборки раздела плугнс. Другими словами, в выражениях, являющихся элементами списка выборки, допускается прямое использование имен столбцов группирования, а спецификации остальных столбцов л могут появляться только внутри спецификаций агрегатных функций.

Результатом запроса является таблица, число строк в которой равно числу групп в л. Значения столбцов каждой строки формируются на основе значений столбцов группирования и вызовов агрегатных функций для соответствующей группы. Логические выражения раздела нлухма Приведем примеры использования в логических выражениях раздела плуг некоторых предикатов, обсуждавшихся в предыдущей лекции. Теоретически в этих логических выражениях можно использовать все предикаты, но применение тех предикатов, которые мы проиллюстрируем, является более естественным. Предикаты сравнения Пример 15.1.

Найти номера отделов, в которых работает ровно Зб со- трудников. зга Лекция )б Группировка и услоеия раздела НАЧ)НО, пораждеемые и соединенные таблицы ЯЕЬЕСТ ОЕРТ ИО РВОМ ЕМР ХНЕВЕ ОЕРТ ИО 1Я НОТ НОЬЬ ОВОДОВ ВУ ОЕРТ НО НАт1ИО СООНТ(*) = 30; Конечно, этот запрос можно сформулировать и без использования разделов ОВОЫР ВУ и НАЧ1НО. Например, возможна следутошая формулировка (пример 15.1а): ЯЕЬЕСТ О1ЯТ1ИСТ ОЕРТ ИО РВОМ ЕМР ХНЕВЕ (ЯЕ1 ЕСТ СОПИТ (*) РВОМ ЕМР ЕМР1 ХНЕВЕ ЕМР1.ОЕРТ ИО = ЕМР.РЕРТ МО) = 30; Обратите внимание, что в формулировке 15.1а отдельная проверка условия Оерт НО 1Я нот нцььне требуется. Пример 15.2.

Найти номера всех отделов, в которых средний размер зарплаты служащих превосходит 12000 руб. ЯЕЬЕСТ ОЕРТ ИО РВОМ ЕМР ХНЕВЕ ОЕРТ ИО 1Я НОТ ЖП Ь СВООР ВУ ОЕРТ ИО НАт1НО АттО(ЕМР ЯА1) > 12000.00; Очевидно, что и в этом случае возможна формулировка запроса без использования разделов ОВООР ву и нА(т1ВЯ (пример 15.2а): ЯЕЬЕСТ Э1ЯТ1ИСТ 1)ЕРТ ИО РВОМ ЕМР ХНЕРЕ (ЯЕЬЕСТ АЧО(ЕМР1.ЕМР ЯА1) РВОМ ЕМР ЕМР1 ХНЕВЕ ЕМР1.ОЕРТ ИО = ЕМР.ОЕРТ МО) > 12000.00," Немного задержимся на этих примерах и обсудим, что означает различие в формулировках запросов.

В соответствии с семантикой оператора ЯЕЬЕСТ, при выполнении запросов 15.1а и 15.2а для каждой строки таблицы ЕМР в цикле просмотра внешнего запроса будет выполняться подзапрос, который в случае наших примеров выберет из таблицы емР (емР1) 32б Курс Основы бвз данных все строки со значением столбца ОЯРт МО, равным значению этого столбца в текущей строке внешнего цикла. Другими словами, для каждой строки внешнего цикла образуется группа, для нее проверяется условие выборки, и в списке выборки используется имя столбца этой неявной группировки. Из-за того, что группа образуется и оценивается для каждой строки таблицы емР, мы вынуждены указать в разделе Яеьест спецификаЦию О1ЯТ1МСТ, Формулировки 15.1 и 15.2 обеспечивают более четкие указания для выполнения запроса.

Нужно сразу сгруппировать таблицу емР в соответствии со значениями столбца ОЕРТ ХО, отобрать нужные группы, и для каждой отобранной группы вычислить значения выражений списка выборки. В этом случае семантика выполнения запроса не предписывает выполнения лишних действий. Конечно, в развитой реализации Ь(.)1 компилятор должен суметь понять, что формулировки 15.1а и 15.2а эквивалентны формулировкам 15.1 и 15.2 соответственно, и избежать выполнения лишних действий. Пример 15.3. Найти номера всех отделов, в которых суммарный объем зарплаты служащих меньше суммарного объема зарплаты всех руководителей отделов.

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

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

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

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