С каждым днем — а точнее с каждой секундой — объем данных увеличивается. За время, которое вам понадобится, чтобы дочитать это предложение, будет отправлено более 500 000 поисковых запросов Google. За одну минуту на YouTube загружается более 300 часов видеоконтента [1]. Наши возможности хранения данных продолжают разрастаться [2]. И причина тому не только совершенствование смартфонов и рост социальных сетей. Мы сами — обычные люди — генерируем данные, постоянно создавая новые записи, отражающие наши интересы, действия, мысли и чувства. Предприятия и правительственные учреждения признают тот факт, что максимальная эффективность и прибыль не могут быть достигнуты без использования больших объемов данных.
Рис. 1 [3], [4]
Хотя объем генерируемых данных удивляет сам по себе, еще более поразительно, что мы только начинаем их использовать. Анализу подвергается не более полупроцента от всех собираемых данных. Если бы отдельные люди, компании, правительства и другие организации эффективнее использовали собранные данные, то потенциал роста стал бы безграничным [5]. Прибыль и эффективность увеличились бы. Маркетологи смогли бы лучше понимать свою целевую аудиторию. Мошенничество и преступления могли бы быть предотвращены гораздо успешнее. И это только начало! Желание более полно анализировать данные приводит к росту спроса на квалифицированных специалистов по работе с базами данных. И это — вы.
Итак, вы читаете эту книгу, чтобы изучить SQL (Structured Query Language — язык структурированных запросов). Вы уже осознали важную роль данных в мире и хотите максимально эффективно их использовать — мудрое решение! Кто-то из вас изучал SQL в школе или колледже. Возможно, вы работаете в сфере бизнеса или государственного управления и хотите развить навыки, необходимые для продвижения вашей карьеры. Как бы то ни было, практический подход к SQL, изложенный в этой книге, окажется для вас бесценным ресурсом.
SQL (правильно произносится «эс-кью-эль», хотя зачастую говорят «сиквел») — это язык программирования, который используется для работы с базами данных. SQL — главный инструмент оптимизации и обслуживания баз данных, который дает возможность обычным пользователям, даже без опыта программирования, работать с базой данных и превращать большие данные в практически значимую информацию. Уже в течение восемнадцати лет я работаю с SQL и другими системами управления базами данных, но до сих пор помню, каково это — быть новичком. Мне потребовалось время, чтобы разобраться в управлении данными. Когда я впервые познакомился с Microsoft Access, управление данными я рассматривал просто как еще один пункт в области информационных технологий. Тогда еще количество полученных данных было относительно небольшим. Однако в настоящее время каждый сделанный в Google поисковый запрос, каждый опубликованный в Facebook пост и каждый обзор в любой категории товаров на Amazon в конечном итоге хранится где-то на сервере и может быть запрошен. SQL — это основной аналитический инструмент, используемый для расшифровки больших данных, поэтому и возникла огромная потребность в специалистах, знающих язык программирования SQL. Язык данных — это язык, который в той или иной степени считается основой каждой современной технологически ориентированной компании. Изучив материал этой книги, вы научитесь свободно оперировать языком данных.
Почему я написал эту книгу
Я заинтересовался языком программирования SQL в конце девяностых годов. В то время возможности изучения SQL были весьма ограниченными, поскольку феномен больших данных еще не стал таким очевидным. Я прошел суровую школу жизни. Изучал SQL методом проб и ошибок. Даже после получения степени бакалавра компьютерных наук и магистра в области информационных систем управления я не считал, что теоретический подход к обучению — лучший путь к успеху в науке о данных. Я могу подтвердить, что, проработав более восемнадцати лет на различных должностях в разных компаниях — от стартапов до компаний из списка Fortune 500 — и в разных сферах — от юриспруденции до здравоохранения и розничной торговли, — для управления системами данных я использовал язык SQL (и другие языки программирования).
В процессе учебы я понял следующее: нужно больше практики, чтобы стать отличным специалистом в области баз данных. Для вас это не будет так сложно, как для меня. Фактически я хотел, упорядочив все полученные знания, разработать простой и понятный подход к SQL. В книгах по SQL обычно много времени отведено на объяснение истории и теории информатики, лежащих в основе баз данных и языка запросов. В этой книге подробно раскрываются только вопросы, затрагивающие работу реляционных баз данных, а все остальное дано обзорно. Создание подобного ресурса, который может использовать даже новичок в SQL, — достаточно амбициозная задача. Но я преподаю SQL уже много лет: я взаимодействовал со многими студентами, изучающими SQL, и этого достаточно, чтобы понять, что работает, а что нет.