SQL. Сборник рецептов

Интернет-портал MegaWEB

Интернет-портал MegaWEB содержит много ресурсов для веб-мастеров, интернет-разработчиков, веб-дизайнеров и seo-оптимизаторов. Это видеоуроки, книги и справочники в формате ebook: PDF-CHM-DJVU, а также программы и утилиты для того, чтобы сделать сайт или раскрутить сайт в сети Интернет.

Книга «SQL. Сборник рецептов»

Версия для печати и PDA

Книга «SQL. Сборник рецептов» предназначена тем, кто уже знаком с основами языка запросов SQL и хочет повысить свой профессиональный уровень. Она будет полезна и экспертам SQL, поскольку автор предлагает варианты решения задач для разных СУБД: DB2, Oracle, PostgreSQL, MySQL и SQL Server. Если вы постоянно работаете с SQL на одной платформе, то, возможно, найдете в рецептах более эффективное решение на другой. Вы научитесь использовать SQL для решения более широкого спектра задач – от операций внутри баз данных до передачи данных по сети в приложения. Для этого достаточно открыть книгу «SQL. Сборник рецептов» на странице с интересующим вас рецептом.

SQL. Сборник рецептов

Структура книги «SQL. Сборник рецептов»

  1. Извлечение записей: посвящена рассмотрению достаточно простых запросов. В примерах показано, как с помощью предиката WHERE выбирать строки в результирующее множество, присваивать псевдонимы столбцам результирующего множества, использовать вложенный запрос для обращения к столбцам по псевдонимам, применять простую условную логику, ограничивать число возвращаемых в результате запроса строк, возвращать случайные строки и выявлять значения NULL. Большинство примеров очень простые, но некоторые из них появляются в более сложных рецептах. Поэтому, если вы не очень хорошо знакомы с SQL или нашли для себя что-то новое в перечисленных примерах, нелишним будет прочитать эту главу.
  2. Сортировка результатов запроса: представляет рецепты для сортировки результатов запросов. Для этого применяется оператор ORDER BY. Сложность примеров варьируется от простого упорядочивания одного столбца до сортировки по подстрокам и сортировки с использованием условных выражений.
  3. Работа с несколькими таблицами: иллюстрирует рецепты для сочетания данных нескольких таблиц. Всем новичкам в SQL и тем, кто немного недопонимает объединения, настоятельно рекомендую прочитать эту главу, прежде чем переходить к главе 5 и далее. Объединение таблиц – это суть SQL; чтобы добиться успеха в работе с SQL, необходимо понять объединения. В данной главе приведены примеры как внутренних, так и внешних объединений, показаны декартовы произведения, базовые операции над множествами (вычитание, объединение, пересечение) и влияние объединений на агрегатные функции.
  4. Вставка, обновление, удаление: дает рецепты для вставки, обновления и удаления данных. Большинство примеров очень просты и, возможно, даже прозаичны. Тем не менее, умение осуществлять операции типа вставки строк одной таблицы в другую и использовать связанные подзапросы при обновлениях, понимание последствий присутствия значений NULL и знание новых возможностей, например вставки в несколько таблиц и команды MERGE, – все это навыки, которые исключительно полезно иметь в своем профессиональном багаже.
  5. Запросы на получение метаданных: демонстрирует методы получения доступа к метаданным используемой базы данных. Часто весьма полезно знать индексы, ограничения и таблицы схемы. Предложенные здесь простые рецепты позволят получать информацию о схеме. Кроме того, в этой главе показаны примеры динамического (сгенерированного) SQL.
  6. Работа со строками: посвящена рецептам работы со строками. Язык SQL славен не своими возможностями синтаксического разбора строк, но немного смекалки (обычно с привлечением декартовых произведений) в сочетании с широким набором предоставляемых производителями функций позволяет достичь немалых успехов в этом деле. С данной главы начинается самое интересное. Среди наиболее любопытных примеров – подсчет экземпляров символа в строке, создание списков с разделителями из строк таблицы, преобразование списков с разделителями и строк в строки таблицы и разделение числовых и символьных данных строки, состоящей из буквенно-цифровых символов.
  7. Работа с числами: даст вам ответы для решения обычных задач с числами. Здесь вы найдете совершенно обыкновенные примеры и узнаете, как легко оконные функции справляются с задачами, связанными с вычислениями и агрегацией. В этой главе рассматриваются вычисление текущей суммы; нахождение среднего, медианы и моды; вычисление относительных значений и обработка значений NULL при проведении агрегации.
  8. Арифметика дат: посвящена вопросам, возникающим при работе с датами. Очень важно при решении каждодневных задач уметь осуществлять простые операции с датами. Примеры включают определение количества рабочих дней между двумя датами, вычисление разницы между двумя датами в разных единицах времени (днях, месяцах, годах и др.) и подсчет количества определенных дней в месяце.
  9. Работа с датами: продолжает обзор решений вопросов, посвященных работе с датами. В ней представлены рецепты самых распространенных операций над датами, которые приходится осуществлять ежедневно. Примеры включают возвращение всех дней года, поиск високосных годов, поиск первого и последнего дней месяца, создание календаря и дополнение пропущенных дат диапазона дат.
  10. Работа с диапазонами данных: содержит рецепты для поиска значений в диапазонах и создания диапазонов значений. Примеры включают автоматическое формирование последовательности строк, вставку пропущенных числовых значений диапазона, определение начала и конца диапазона значений и выявление последовательности значений.
  11. Расширенный поиск: содержит информацию, которая является очень важной для повседневной работы с базами данных. Эти рецепты ничуть не сложнее остальных, но до сих пор многие разработчики очень неэффективно решают задачи, рассматриваемые данными рецептами. В примеры данной главы вошли поиск значений с использованием «хода конем», разбиение результирующего множества на страницы, пропуск строк таблицы, поиск взаимообратных значений, выбор N-верхних записей и ранжирование результатов.
  12. Составление отчетов и управление хранилищами: данных демонстрирует возможности запросов, обычно используемых при управлении хранилищами данных или для формирования сложных отчетов. Данная глава изначально задумывалась как центральный раздел книги. Примеры включают преобразование строк в столбцы и наоборот (отчеты с перекрестными ссылками), создание групп данных, создание гистограмм, вычисление простых и полных подсумм, агрегацию скользящего окна строк и группировку строк по заданному интервалу времени.
  13. Иерархические запросы: рассматривает методы работы с иерархическими данными. Независимо от модели данных однажды возникает необходимость отформатировать их в виде дерева иерархии или отношений родитель-потомок. В этой главе приведены рецепты решения таких задач. С помощью традиционного SQL создавать структурированные в виде дерева результирующие множества сложно, поэтому в данной главе показано, как работать с чрезвычайно полезными предоставляемыми производителями специальными функциями. Примеры включают представление отношений родитель-потомок, обход иерархии от корневого узла до концевых узлов и накопление иерархии.
  14. Всякая всячина – это коллекция разнообразных рецептов, которые не вписались ни в одну из рассматриваемых тем, но при этом интересны и полезны. Данная глава отличается от остальных, поскольку предлагает решения только для конкретных СУБД. Это единственная глава в книге, где в каждом рецепте обсуждается только одна база данных. Сделано это по двум причинам. Во-первых, глава предполагалась более как забава для энтузиастов. Во-вторых, некоторые рецепты приведены только для того, чтобы показать функции, не имеющие эквивалентов в других СУБД (примеры включают операторы SQL Server PIVOT/UNPIVOT и оператор Oracle MODEL). Однако в некоторых случаях представленное в этой главе решение можно с небольшими изменениями использовать для другой платформы.
  1. Оконные функции, краткий обзор – это краткий курс по оконным функциям с подробным обсуждением группировки в SQL. Для большинства оконные функции являются новинкой, поэтому данное приложение представлено в виде краткого учебного руководства. Кроме того, по собственному опыту я знаю, что использование оператора GROUP BY в запросах приводит в замешательство многих разработчиков. В этой главе дается четкое определение SQL-группе и анализируются различные запросы, подтверждающие действительность этого определения. Продолжается разговор рассмотрением влияния значений NULL на группировку, агрегирование и разбиение на сегменты. В заключение предлагается обсуждение еще более непонятного и при этом исключительно мощного синтаксиса оператора OVER оконных функций (т. е. оператора «кадрирования» или «сегментирования»).
  2. Вспоминаем Розенштейна – дань уважения Дэвиду Розенштейну, которому автор обязан своим успехом в SQL. Книга Розенштейна «The Essence of SQL» (Coriolis Group Books) была первой книгой по SQL, которую прочитал автор вне университетской программы. Именно она научила его «думать на SQL». До сих пор львиную долю своего успеха в SQL автор относит на счет книги Дэвида. Приложение В останавливается на некоторых запросах, представленных в «The Essence of SQL», и предлагает альтернативные решения с использованием оконных функций (которых не существовало на момент написания «The Essence of SQL»).

Формат: PDF
Качество: eBook
Страниц: 672

Поделиться с друзьями