SQL: быстрое погружение
Уолтер Шилдс
2022
Переводчик А. Павлов
СПб.: Питер, 2022.
ISBN 978-5-4461-1835-9
Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
Хочу выразить особую благодарность моей семье: Жюльену, Максу, Эльке и Норме. Я не смог бы написать ни строчки без их терпения и поддержки.
Введение
С каждым днем — а точнее с каждой секундой — объем данных увеличивается. За время, которое вам понадобится, чтобы дочитать это предложение, будет отправлено более 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, и этого достаточно, чтобы понять, что работает, а что нет.
Умение работать с SQL обязательно привлечет к вам людей. Если вы освоите навык работы с SQL, ваше мнение будут ценить и станут обращаться к вам за советом. Это может быть руководитель, которому нужны целевые данные о последней маркетинговой кампании, или коллега-программист, который обратится к вам за помощью в составлении запроса. Бизнес по обучению языку программирования SQL и бизнес по визуализации данных — это главное дело моей жизни. История его развития началась в кофейне в Трибеке, штат Нью-Йорк, куда я пришел со своим ноутбуком и подготовленными учебными материалами по SQL. Я не знал, появится ли кто-нибудь. Я, возможно, недооценил потребность людей в изучении SQL, так как пришло очень много людей. И их поток не кончался. Наконец я понял, что у меня есть свое дело.
С годами я обнаружил, что мне действительно нравится преподавать. Я вырос среди людей, ценящих образование, и теперь убедился, что передача знаний развивает уверенность и способствует позитивному личностному росту. До сих пор радуюсь, когда вижу, как у студентов светятся глаза, исчезают тревога и страх! Я никогда не устаю наслаждаться такими моментами. Я улучшаю и совершенствую программу обучения, работая со множеством студентов разного уровня подготовки и набором навыков. Думаю, было бы классно провести несколько курсов в Тринидаде и Гренаде, откуда я родом. Здорово поделиться знаниями и опытом, приобретенными в Соединенных Штатах, а также разработать франшизу на Карибах! Можно одновременно мечтать и двигаться навстречу своей цели!
Поддержка для новичка
Чтобы добиться успеха в изучении SQL, вам необходимо запастись терпением. Я верю в каждого своего ученика. Мой успех как преподавателя — это достижения моих учеников. Новичкам в SQL наука управления базами данных покажется сложной. Примите это, учитесь прилежно, и вы обязательно добьетесь успеха! Вот несколько важных фактов, о которых следует помнить, если вы еще недостаточно знакомы с SQL.
• Не бойтесь ошибаться. Существует множество способов изучать SQL без возможности «испортить» существующую базу данных, что беспокоит некоторых новичков. Вместе с этой книгой вам будет доступна учебная база данных. Мне бы хотелось, чтобы вы в полной мере использовали ее и тщательно изучили, не боясь пробовать и ошибаться.
• Относитесь к этой книге как к учебному пособию. Выделяйте, подчеркивайте, пишите на полях. SQL необходимо изучать в теории и на практике. Специально для этой книги я разработал упражнения на основе реальных практических задач. Упражнения дополняют друг друга, что позволит вам закрепить знания, изученные в предыдущей главе. Если вы считаете, что новая концепция сложна, имеет смысл вернуться назад и снова проработать упражнения.
• Приятного вам обучения! Никогда не упускайте из виду тот факт, что информационные технологии — самая динамично развивающаяся сфера. Изучая языки программирования, вы развиваете востребованный навык, который позволит радикально изменить мир. Если после всего сказанного вы немного взволнованны — это нормально!
Охват и цель книги
Для читателей, которые уже владеют базовыми или более профессиональными навыками работы с SQL, это краткое руководство станет весьма удобным справочником, к которому всегда можно обратиться при составлении запросов. А для новичков это краткое руководство будет отличным учебным пособием.
Обратите внимание, что в первую очередь я рассказываю о базовых инструментах SQL, необходимых для понимания и получения полезной информации из баз данных. Стандартные методы запросов, описанные в этой книге, можно выполнять, не боясь при этом изменить базу данных. В одной из глав мы кратко рассмотрим добавление, изменение и удаление записей из базы данных (DML — язык управления данными). Однако для извлечения информации из базы данных изучать DML не обязательно, но полезно знать, как выполняется процесс. Эта глава может оказаться полезной тем, кто рассматривает возможность карьерного роста в сфере администрирования баз данных.
SQL и ваша карьера
SQL — один из наиболее востребованных языков программирования. Он применяется для работы в области администрирования баз данных и во множестве других технических областей, включая разработку и тестирование программного обеспечения, бизнес-анализ и прочее. Рассмотрим профессии, где требуется знание SQL.