Skillbox

Базы данных для разработчиков

  • Начальный уровень
  • Наставник: Нет
  • Сертификат: Есть
  • Формат: Online
  • Рассрочка: Нет
  • Язык: Русский
  • Осталось мест: Неограничено
Записаться

Базы данных для разработчиков

Вы научитесь использовать, проектировать и оптимизировать базы данных и эффективно работать с ними через код. Сможете улучшать производительность приложений и подбирать подходящие базы под требования бизнеса.

Для кого этот курс?
  • Вы освоите язык SQL, научитесь пользоваться различными базами данных и поймёте принципы их работы. Сможете работать над проектами в сферах банковских услуг, разработки бэкенда веб- или мобильных приложений.
Программа обучения
  • Введение в курс

    Узнаете, как устроен курс, познакомитесь со спикером и проверяющим экспертом.

  • Базы данных и SQL

    Узнаете, что такое язык SQL, какие есть SQL и NoSQL базы данных и чем они отличаются. Разберётесь в простых типах данных, научитесь делать SELECT-запросы с фильтром WHERE.

  • Погружаемся в SELECT

    Научитесь использовать простые и агрегирующие функции, разберётесь в сложных типах данных, научитесь сортировать и ограничивать результат запроса, объединять результаты нескольких запросов, использовать модификатор DISTINCT.

  • Подзапросы и представления (VIEW)

    Научитесь использовать подзапросы и понимать их производительность. Разберётесь в видах представлений и научитесь их создавать.

  • Группировка и ключи

    Научитесь группировать результаты запросов, использовать агрегацию и фильтрацию в результатах группировки. Разберётесь в порядке выполнения этапов запроса, особенностях работы группировки с модификатором DISTINCT и строгим режимом SQL.

  • Отношения (реляции/relations)

    Поймёте виды отношений между сущностями: один к одному, один ко многим, многие ко многим. Научитесь использовать первичные и внешние ключи.

  • Соединения (JOIN)

    Разберётесь в различных видах соединений. Научитесь применять соединения для отношений один ко многим и многие ко многим. Поймёте, что такое нормализация и денормализация и их влияние на производительность.

  • Оконные функции (Window Functions)

    Узнаете, что такое оконные функции и как их применять. Поймёте особенности работы оконных функций с группировкой и выражениями ORDER BY и PARTITION BY.

  • Изменение данных (Data Modification/DML)

    Научитесь вставлять записи в таблицы, обновлять и удалять их. Разберётесь в методах разрешения дубликатов первичного ключа.

  • Транзакции и ACID

    Узнаете, что такое транзакции и зачем они нужны. Разберётесь в атомарности, откате и изоляции транзакций, в блокировке записей. Поймёте принципы ACID.

  • Объявление структуры данных (Data Definition / DDL), триггеры и хранимые процедуры

    Научитесь создавать и удалять схемы баз данных, объявлять и изменять структуру таблиц. Разберётесь в использовании триггеров и хранимых процедур и их применимости.

  • Индексы

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

  • Программные средства работы с БД

    Научитесь оптимально работать с БД из кода. Поймёте, как работает соединение с БД, как использовать фреймворки Query Builder, Active Record, Object Relation Mapping, узнаете принципы работы JDBC и программного контроля транзакций.

  • Производительность и системное устройство БД

    Научитесь использовать лучшие практики по проектированию схем БД и использованию индексов. Поймёте, как работает оптимизация запросов и какие есть типичные ошибки, замедляющие запросы. Разберётесь во внутреннем устройстве БД.

  • Особенности движков реляционных СУБД

    Поймёте, чем отличаются различные движки реляционных СУБД.

  • Введение в NoSQL и сравнение с SQL

    Узнаете, в каких проектах применяют SQL и NoSQL, познакомитесь с особенностями Redis и MongoDB. Получите представление о других решениях: in-memory, кластерных, колоночных, облачных, аналитических, bigdata.

  • Введение в MongoDB

    Познакомитесь со схемой и типами данных в MongoDB, научитесь создавать простые запросы, фильтровать результат, работать с API и использовать индексы и транзакции.

  • Введение в Redis

    Узнаете, что такое коллекции, как использовать списки, хэшмэпы и упорядоченные хэшмэпы, наборы. Познакомитесь с Redis и Lua.

  • Как проектировать БД. Дерево решений для выбора СУБД

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

  • Итоговый проект

Преподаватели

  • Иван Савин

    Работал в Яндексе, Amazon, IPONWEB. Преподавал курсы по базам данных в ВШЭ (ФКН и МИЭМ). Опыт работы с базами данных более 10 лет.

  • Артём Кожуховский

    Team Lead в Национальной системе платёжных карт — операторе платёжной системы «Мир». Опыт разработки более 5 лет.