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

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

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

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

3 с 333е2.с2 3ЛЗЬЬ 3ЛЗЬЬ 3БЬЬ ГБЬЬ 330ЬЬ ГБЬЬ 330ЬЬ 330ЬЬ 3БЬЬ 3БЬЬ 3БЬЬ ИБЬЬ 3БЬЬ 3БЬЬ 3Л3 Ь 330ЬЬ ИЬЬЬ 3БЬЬ 3ЛЗЬЬ 3ЛЗЬЬ 3БЬЬ 3БЬЬ ЬБЬЬ 347 330ЬЬ 5 3БЬЬ ГБЬЬ 3ЛЗЬЬ 3БЬ %3ЬЬ 3ПЬЬ 3ЛЗЬЬ 3ЛЛ Ь Основы баа данных Курс Примеры запросов с использованием соединенных таблиц Мы приведем всего пару примеров, чтобы проиллюстрировать формулировки запросов, в разделе РВОМ которых используются ссылки на соединенные таблицы, т. е. выражения соединений. Пример 15.17. Для каждого отдела найти его номер, имя руководителя, число служащих, минимальный, максимальный и средний размеры зарплаты служащих (еще одна формулировка запроса из примера 15.4). ЯЕЬЕСТ РЕРТ.РЕРТ МО, ЕМР1.ЕМР МАМЕ, СОРИТ("), М1М(ЕМР2.ЕМР ЯА) ), МАХ(ЕМР2.ЕМР ЯАЬ), АЧС(ЕМР2.ЕМР ЯА() РВОМ (РЕРТ МАТРВАЬ 1ИМЕВ 001М ЕМР АЯ ЕМР2) 1ИМЕВ .101И ЕМР АЯ ЕМР1 ОИ РЕРТ.РЕРТ МИС = ЕМР).ЕМР МО БВОРР ВУ РЕРТ.РЕРТ ИО, ЕМР1.ЕМР МАМЕ; Пример 15.18.

Найти номера служащих и имена их начальников от- делов для служащих, размер зарплаты которых больше 30000 руб. ЯЕЬЕСТ ЕМР1.ЕМР МО, ЕМР2.ЕМР МАМЕ РВОМ (ЕМР АЯ ЕМР1 МАТОВАЬ 1ИМЕВ 001М РЕРТ) 1МИЕВ 001М ЕМР АЯ ЕМР2 ОМ РЕРТ.РЕРТ ММС = ЕМР2.ЕМР ИО ХНЕВЕ ЕМР1.ЕМР ЯАЬ > 30000.00; Можно обойтись вообще без раздела хнЕВЕ, если пожертвовать «естественностью» первого соединения (пример 15 17а): ЯЕЬЕСТ ЕМР1.ЕМР МО, ЕМР2.ЕМР ИАМЕ РВОМ (ЕМР АЯ ЕМР1 1ММЕВ 001М РЕРТ ОМ ЕМР1.0ЕРТ МО = РЕРТ.РЕРТ ИО АМР ЕМР1.ЕМР ЯАЬ > 30000.00) 1ММЕВ 001М ЕМР АЯ ЕМР2 ОМ РЕРТ.ММО = ЕМР2.ЕМР МОу Возможности соединенных таблиц открывают широкий простор для воображения, но не будем увлекаться и ограничимся приведенными простыми примерами. Лекция ) 5 Группировка н словил разделе НАЧ(НП, порождаемые и соединенные таблицы Порождаемые таблицы с горизонтальной связью (1аееха1 бек1та6 са)э1а) Во всех вариантах построения запросов, обсуждавшихся ранее в этой и предыдущей лекциях, оставалась действующей общая семантика выполнения запроса: на первом шаге вычисляется расширенное декартово произведение таблиц, специфицированных в списке раздела ееом.

Это остается верным и для случаев порождаемых и соединенных таблиц — вычисление выражения запросов или выражения соединений соответственно производится как подшаг вычисления раздела рюм. Однако в Я~( имеется один специальный случай спецификации ссылки на таблицу (хаЫе хе(ехепое), который, вообще говоря, изменяет семантику раздела рвом.

В этом подразделе мы кратко рассмотрим этот специальный случай. Как показывают синтаксические правила, приведенные в лекции 13, один из возможных способов спецификации ссылки на таблицу состоит в следующем: Ха)э1е хе1ехепсе ::= ЬАТЕЕ!гБ (сргеху ехрхеяя(оп) [ [ АБ ] соххе1ас(оп пап1е [ ( с1ех(згес1 оо1пдет 11я ) ] Таблица, ссылка на которую специфицируется таким образом, называется порождаемой таблицей с горизонтальной связью' (1ахеха1 с]ех1чес] ха)з1е; для краткости будем называть такие таблицы (зз-таблицами). Отличие (.()-таблицы от обычной порождаемой таблицы состоит в том, что в выражении запросов [.()-таблицы разрешается использовать ссылки на столбцы таблиц, специфицированных ранее в разделе реом (т. е. таких таблиц„ссылки на которые содержатся в списке раздела реом слева от ссылки на данную [.()-таблицу)."* Покажем на примере, каким образом наличие в списке раздела реон ссылки на (.0-таблицу меняет семантику этого раздела.

' Конечно, предхвгеемый русский ьвриент термина !агата! слишком громоздок. По всей видимости, если этот механизм войдет в практику пользователей 5О), нужно будет использовать качестве термине что-то вроде ламеральаай иараэсдаенай мабаацы. Не здесь для нас главным является не предложение хорошей новой терминологии, е обеспечение понимания материала. " тем самым, ссылка нв ЕР-табдицу не может быть первой в списке раздела ЕКОМ. Кстати, мо1кет возникнуть естественный вопрос: почему резрешекпся ссылки только нв таблицы, находящиеся в списке раздела гкон только слева 1.Р-таблицы? Стандарт отвечает не этот вопрос весьма просто и бесхитростно. Если разрешить использоветь ссылки, находящиеся и слева, и справа от спецификации ссылки не ЕР-твблицу, то это может привести к зацикливанию при выполнении раздела гиен. Поэтому нужно было выбирать одно из нвправлений, и было выбрано непрявленне слева направо.

349 Основы баз данных Курс Предположим, что раздел РВОМ имеет вНД РВОМ т1, ТЯ, причем таблица т2 является ) О-таблицей. Обозначим соответствуюгцее выражение запросов через О2. Тогда таблица т, являющаяся результатом раздела РВОМ, будет вычисляться следующим образом, Последовательно, строка за строкой просматривается таблица т1. Пусть в1 является очередной строкой т1. Тогда в О2 все ссылки на столбцы вида т1. с3с, где сй — имя некоторого столбца т1, заменяются значением в1. сА, и вычисляется полученное таким образом выражение запросов.

Обозначим результирующую таблицу этого выражения через ТЯ,н Обозначим через Т1 хи таблицу, являющуюся результатом расширенного декартова произвеления в1 СВОЯЯ айти т2,н Таблица Т получается путем объединения с сохранением лубликатов таблиц т12хн полученных для всех строк в1 таблицы т1.

Видимо, наиболее важным (хотя и не елинственным) частным случаем применения ПЭ-таблицы является тот случай, когда в результате выполнения разлела РВОМ формируется соединение таблиц. многие из формулировок запросов, приволившихся в этой лекции в качестве примеров, можно переформулировать с использованием данного механизма. Привелем лишь олин простой пример. Пример 15.19. Найти номера служащих, не являющихся руководителями отделов и получающих заплату, размер которой равен размеру зарплаты какого-либо руководителя отдела (еще олна формулировка запроса из примера 14.10 из лекции ) 4).

ЯЕЬЕСТ ЕМР.ЕМР ИО РВОМ РЕРТ, ЬАТЕРАЬ (ЯЕЬЕСТ ЕМР1 ЯАЬ РВОМ ЕМР ЕМР1 ГНЕВЕ ЕМР1.ЕМР НО = ОЕРТ.ОЕРТ МИО), ЬАТЕВА1 ~ЯЕЬЕСТ ЕМР ИО РВОМ ЕМР ХНЕВЕ ЕМР ЯАЬ = ЕМР1 ЯАЬ АБО ЕМР.ЕМР ИО <> РЕРТ.БЕРТ МИО); Я не могу привести ни одного примера запроса, который было бы невозможно сформулировать без использования порождаемых таблиц с горизонтальной связью.

Возникает впечатление (возможно, ошибочное), что эта конструкция была введена в язык по двум причинам — (а) из соображений общности и (Ь) по причине простоты реализации (в том смысле, что для реализации (.О-таблиц не требуется изобретать какие-то новые технические приемы). ЗЯО Лекция 15 Группировка и условия раздела НАЧ1йп, порождаемые и соединенные таблицы Заключение Думаю, что теперь читатели в состоянии в полной мере оценить мощность, разнообразие и избыточность средств языка З0Е, предназначенных для формулировки запросов на выборку данных.

Конечно, язык БЯ) (по крайней мере, ту часть ЯЯЕ, которая обсуждается в этом курсе) нельзя считать языком программирования, но написание сложных запросов сродни программированию. И нельзя сказать, что Я)1 каким-либо образом дисциплинирует это «программирование». По всей видимости, в общем случае никто не может сказать, какая из формулировок одного и того же запроса является более правильной, это дело вкуса. Зачастую десять студентов, одновременно формулирующих на Я;Н. один и тот же запрос к одной и той же базе данных, выдают десять разных правильных решений. Один человек предпочитает формулировки запросов в классическом стиле, другой использует выражения запросов в разделе гвом, третий пытается сосредоточить все условия выборки в разделе НАЧтнй. Люди с алгебраическими наклонностями предпочитают использовать выражения соединений.

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

Отсюда практический совет: не злоупотребляйте сложностью формулировки запроса. Полагайтесь на интуицию (и имеющиеся представления об особенностях используемой системы) и формулируйте запрос как можно проще. И еше один практический совет. При формулировке запроса никогда не пользуйтесь имеющимися у вас данными о текущем состоянии базы данных, полагайтесь только на метаданные схемы базы данных. В противном случае вы сможете сформулировать запрос, выдающий в данный момент правильный результат, но этот запрос не будет эквивалентен никакому запросу выдающему правильный ответ при любом состоянии базы данных. 351 Основы баз данных Лекция 16. Язык баз данных 80ь: средства формулировки аналитических и рекурсивных запросов В этой лекции мы завершаем обсуждение средств выборки данных языка 8«2Ь коротким описанием сравнительно недавяо появившихся в языке Я~Ь средств формулировки аналитических п рекурсивных запросов.

Ключевыеслова:аналитические запросы к базе данных, оперативная аналитическая обработка баз данных, оьлг, раздел сесне ву еоьеп, агрегатная функция ОЕОцЕГНО, раздел ОЕОиГ Ву СцВЕ, рекурсивные запросы, обход дерева в ширину, обход дерева в глубину, цикл в ориентированном графе, прямая рекурсия, линейная рекурсия, монотонная прогрессия, взаимная рекурсия, отрицание, начальный источник рекурсии, стратификация, семантика фиксированной точки, рекурсивные запросы с разделом игтн, конструкция еедесн, раздел СХЕСЕЕ, рекурсивное представление.

Введение Две темы, которым посвящается эта лекция, касаются сравнительно новых возможностей оператора Яеьест языка К0Ь, впервые появившихся в стандарте Я2Ь:1999 и открываюших возможность использования языка в приложениях, для которых ранее он не был приспособлен. Речь идет о возможностях аналитических и рекурсивных запросов. Эти темы логически не связаны, их объединяет лишь то, что соответствующие средства очень громоздки и не всегда легко понимаются. В данной краткой лекции мы не стремимся привести полное описание возможностей, специфицированных в стандарте Я.1Ь.

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

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

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

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

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