Программирование >>  Преобразование значений null 

[ 1 ] 2 3 4 ... 219


Преобразование значений NULL

SQL - язык мира баз данных. Приложения для работы с реляционными базами данных занимаются размещением и извлечением данных из базы, что в конечном счете является вопросом знания SQL. Большинство разработчиков используют SQL лишь формально и даже не подозревают о той мощи, которая имеется в их распоряжении. Цель данной книги - изменить существующее положение дел, открыв глаза пользователей на реальные возможности SQL.

Книга, которую вы держите в руках, является сборником рецептов. Это собрание обычных задач для SQL и их решений, которые, надеюсь, пригодятся в каждодневной работе с базами данных. Рецепты рассортированы по главам соответственно темам. Столкнувшись с новой задачей, выберите наиболее подходящую, по вашему мнению, главу, просмотрите названия рецептов, и, будем надеяться, вы найдете решение или по крайней мере дельный совет.

На страницах данной книги размещено свыше 150 рецептов. И это только малая часть того, что можно сделать с помощью SQL. Число различных решений, предлагаемых SQL для задач, с которыми мы сталкиваемся ежедневно, может затмить лишь число возникающих проблем. Вы не найдете здесь ответы на все вопросы. Все задачи просто невозможно охватить. Однако в книге рассмотрены многие часто встречающиеся задачи и их решения. А используемые в приводимых решениях техники вы научитесь распространять и на другие, новые проблемы, которые я не могу себе даже представить.

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

Почему я написал эту книгу

Запросы, запросы, запросы. С самого начала этого проекта моей целью было написать не столько Сборник рецептов SQL , сколько Сборник рецептов составления запросов . Я поставил перед собой задачу создать




книгу, в которой будут собраны запросы от относительно простых до довольно сложных, в надежде на то, что читатель поймет основные принципы и приемы, лежащие в их основе, и будет использовать их для решения собственных практических задач. Я представляю на рассмотрение читателей множество методов программирования на SQL, которые почерпнул из личного опыта. Вы можете изучать их, использовать и в конечном счете совершенствовать. Таким образом, все будут в выигрыше. Кажется так просто извлечь данные из базы данных, но в мире информационных технологий (ИТ) исключительно важно, чтобы такие операции проводились с максимально возможной эффективностью. Мы должны делиться приемами эффективного извлечения данных - это поможет повысить общий профессиональный уровень.

Отвлечемся на мгновение и вспомним о выдающемся вкладе в математику Георга Кантора, который первым обнаружил мощь множеств элементов (при работе с множеством, а не его составляющими). Сначала многие коллеги Кантора не приняли его работу, хотя со временем теория множеств была не только признана, но и стала фундаментальной основой математики! Однако самое главное, что место, занимаемое сегодня теорией множеств, является заслугой работы не столько самого Кантора, сколько других математиков, таких как Эрнст Цер-мело, Готтлоб Фреге, Абрахам Френкель, Торалф Сколем, Курт Гёдель и Джон ван Ньюман, которые разделили и развили его идеи. Такая коллективная работа помогла не только лучше понять теорию множеств, она способствовала ее совершенствованию.

Цель данной книги

В конечном счете цель данной книги - ознакомить читателя с тем, как с помощью SQL решать задачи, которые не входят в его обычную предметную область. SQL ушел далеко вперед за последние десять лет. Со многими задачами, обычно решаемыми с привлечением процедурных языков, например C или Java, теперь можно справиться непосредственно в SQL, но многие разработчики просто не знают об этом. Данная книга прольет свет на такую возможность.

Теперь, прежде чем мои слова будут неправильно истолкованы, позвольте заметить: я твердо убежден, что не надо ремонтировать то, что не сломано . Скажем, имеется конкретная задача, при этом SQL используется только для извлечения данных, тогда как сложная бизнес-логика реализуется на каком-то другом языке программирования. Если код работает и обеспечивает приемлемую производительность, замечательно. Я ни в коем случае не предлагаю все ломать и переписывать с использованием SQL. Я только призываю избавиться от предрассудков и осознать, что тот SQL, на котором вы программировали в 1995 году, сильно отличается от SQL, используемого в 2005. Современный SQL обладает гораздо большими возможностями.



Для кого эта книга

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

Новичок в SQL

Возможно, вы приобрели учебник по SQL или проходите обязательный курс по базам данных в университете и хотите дополнить свои вновь обретенные теоретические знания некоторыми сложными примерами из реальной жизни. А может, вы увидели запрос, который волшебным образом превращает строки в столбцы или проводит синтаксический разбор сериализованной строки. Рецепты данной книги объяснят, как создавать эти на первый взгляд неосуществимые запросы.

Разработчик не на SQL

Вы программируете на другом языке и в своей практике столкнулись с необходимостью работать с чужим сложным кодом на SQL. В рецептах данной книги, в частности в последних главах, проводятся разбор сложных запросов и их тщательный анализ, что поможет понять сложный код.

Рядовой специалист SQL

Для SQL-разработчиков средней руки эта книга - горшочек с золотом на конце радуги (ну, может быть, слишком сильно сказано; простите автору его экспрессивность). В частности, если вы пишете код на SQL уже довольно долго и не научились работать с оконными функциями, вы - наш читатель. Например, дни временных таблиц для хранения промежуточных результатов канули в лету; оконные функции могут обеспечить необходимый ответ за один запрос! Позвольте еще раз отметить, что я не намерен навязывать свои идеи опытным специалистам-практикам. Лучше рассматривайте данную книгу как средство совершенствования своих навыков, если вы не до конца понимаете некоторые нововведения языка SQL.

Эксперт SQL

Несомненно, вам знакомы эти рецепты, и, вероятно, у вас есть собственные варианты решения этих задач. Что тогда может дать эта книга вам? Возможно, вы всю жизнь работаете с SQL на одной платформе, скажем SQL Server, и теперь хотите выучить Oracle. А может, вы использовали только MySQL и хотите знать, как выглядели бы те же решения для PostgreSQL. Данная книга охватывает различные сис-



[ 1 ] 2 3 4 ... 219

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика