SQL: быстрое погружение — страница 2 из 24

 Администратор баз данных (DBA). Отвечает за разработку требований к базе данных, ее проектирование, реализацию, использование и сопровождение. Администраторы баз данных играют ключевую роль при приобретении или модификации аппаратных и программных средств, входящих в инфраструктуру баз данных компании. Администраторы баз данных также несут ответственность за контроль доступа к БД. Они устанавливают и ограничивают доступ, управляют паролями и т. д.

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

 Data Scientist. Он должен уметь извлекать необходимую информацию из самых разнообразных источников, видеть логические связи в системе собранной информации и на основе количественного анализа разрабатывать эффективные бизнес-решения. В Amazon, например, такой специалист может разрабатывать систему контекстной рекламы.

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

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

Если вы будете постоянно развивать и демонстрировать свои навыки в SQL, вы всегда сможете рассчитывать на достойную зарплату. В США в 2018 году средняя зарплата специалиста по SQL превышала 80 000 долларов. Прежде чем компания наймет вас на полный рабочий день, вам необходимо освоить теорию и немного практики [6]. Многие компании предлагают оплачиваемые стажировки, благодаря которым вы сможете проверить свои навыки работы с SQL на реальном проекте.

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

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

Как организована книга

При желании всегда можно освоить новый навык. Я обнаружил, что для данного конкретного навыка лучший способ — одновременно изучать теорию и практиковаться. Эта книга позволит вам как можно быстрее научиться писать запросы. Книга состоит из трех основных частей, каждая включает три-четыре главы.

• Часть 1 «Создание среды обучения SQL» — краткое знакомство с терминологией и структурой баз данных, а также возможность попрактиковаться в настройке конкретного программного обеспечения для работы с базами данных, которое мы рассматриваем в этой книге. Даже если вы убеждены, что знаете и понимаете основы SQL, мы все равно настоятельно рекомендуем вам последовательно изучать материал книги, поскольку в этом разделе описаны конкретные инструменты, методы и стратегии SQL.

• Глава 1 «Структура базы данных». В этой главе вы изучите структуру реляционной базы данных, а также типы данных. Также здесь дан краткий обзор некоторых терминов. В конце главы вы сможете выполнить практические задания.

• Глава 2 «Инструменты и стратегии SQL». Здесь вы научитесь использовать бесплатно загружаемое программное обеспечение SQL (SQLite), а также работать с учебной базой данных SQL, чтобы закрепить и проверить усвоенные знания. В конце главы даны практические задания и вопросы для самопроверки.

• Глава 3 «Работа с базой данных в SQLite». Вы научитесь работать с учебной базой данных в браузере SQL, использовать браузер для навигации по общей структуре базы данных, для просмотра данных в отдельных таблицах, познакомитесь с вкладкой Execute SQL (Выполнить SQL-запрос).

• Часть 2 «Операторы SQL». Здесь описаны операторы и команды, предназначенные для написания простых запросов.

• Глава 4 «Работа с запросами». Вы познакомитесь с основным оператором SELECT, узнаете, как получить доступ к сохраненной в таблицах информации с помощью оператора FROM. Также научитесь сортировать эти данные в алфавитном порядке с помощью оператора ORDERBY, а затем использовать оператор LIMIT для ограничения числа записей.

• Глава 5 «Преобразование данных в информацию». Вы узнаете, как использовать оператор WHERE, а также операторы сравнения, логические и арифметические операторы. Также вы познакомитесь с оператором LIKE, научитесь использовать специальные символы и работать с функцией DATE(), операторами AND, OR и оператором CASE.

• Глава 6 «Работа с несколькими таблицами». Здесь рассказано об операторах для соединения двух или нескольких таблиц. Операторы INNERJOIN, LEFTJOIN и RIGHTJOIN позволяют возвращать и сравнивать данные из нескольких таблиц.

• Глава 7 «Функции языка SQL» познакомит вас с функциями языка SQL, включая функции агрегирования, строки и функции даты и времени.

• Часть 3 «Расширенные возможности языка SQL» знакомит с более сложными, но очень полезными методами, используемыми для повышения эффективности запросов. В этой части вы познакомитесь с основами языка управления (манипулирования) данными (DML), который, в отличие от ранее изученных операторов SQL, изменяет информацию в базе данных.

• Глава 8 «Подзапросы» посвящена концепции вложенных запросов или подзапросов. В этой главе показано, как использовать подзапросы с различными операторами SQL, которые вы уже знаете. Кроме того, вы изучите новый оператор DISTINCT.

• Глава 9 «Представления». Здесь рассказывается о виртуальных таблицах, известных как представления. Это запросы, которые сохраняются и могут по мере необходимости выполняться повторно или использоваться в качестве подзапросов в других операторах SQL.

• Глава 10 «DML — язык управления данными». В этой главе вы познакомитесь с основами языка управления данными — DML. Также вы изучите новые операторы INSERT, UPDATE и DELETE.

Часть I. Создание среды обучения SQLГлава 1. Структура базы данных

При обучении новой технической дисциплине начинать стоит с базового словаря. Мы постарались выдержать баланс: изложить основные термины и концепции, избегая жаргона или сложных правил. В этой главе мы познакомим вас с концепцией реляционной базы данных и продемонстрируем типы данных, с которыми вы будете иметь дело в обычной базе данных. Мы также познакомим вас с основным оператором SQL — SELECT.

Основная терминология

Данные — это часть информации [7]. Данные находятся повсюду и содержатся везде, но на практике термин «данные» обычно относится к информации уже записанной или той, которую можно записать. Таблица — один из самых простых инструментов, используемых для записи и визуализации данных. Таблица — это двухмерная сетка, состоящая из строк и столбцов.

Примечание

При работе с базами данных таблица также может называться «базовой относительной переменной», хотя в этой книге мы будем придерживаться термина «таблица». Сводная терминология представлена на рис. 5.

Рис. 2

На рис. 2 представлена таблица, содержащая различные типы данных. К данным могут относиться имена, числа, даты, символы (например, «+» или «-») или любые другие форматы. Данные — это просто информация. Следовательно, при обработке данных нам следует соответствующим образом ограничить их. На рис. 2 показана таблица, в которой хранится основная информация о пациентах. Данные о пациентах заданы в различных форматах — числа, имена и даты, а в поле BloodType (группа крови) представлена строка из двух символов (буква и символ «+» или «-»). Форматы, используемые для визуализации данных, не случайны. Все базы данных содержат метаданные, то есть данные, описывающие структуру и форматирование самих данных, часто называемые «данными о данных». Например, поле DateOfBirth (дата рождения) может содержать метаданные, которые преобразовывают информацию к формату мм/дд/гггг. Метаданные, содержащиеся в поле Height (рост), могут ограничивать длину данных двумя знаками, если рост измеряется в дюймах.

Термин «база данных» можно определить как совокупность данных, упорядоченных для упрощения и скорости поиска и извлечения с помощью компьютера. База данных, как правило, изображается графически в виде цилиндров, расположенных один над другим (рис. 3), что символизирует несколько жестких дисков, используемых при создании центра хранения данных большой емкости.

Как правило, информация внутри базы данных хранится в виде набора таблиц. Каждая таблица содержит определенные наборы данных, которые могут быть взаимосвязаны с другими данными из других таблиц и ссылаться на них.

Пример

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