Базы данных для разработчиков от Skillbox
Вы научитесь
Программа курса
Вас ждёт изучение теоретических основ создания БД, а также погружение в профессию на практике: вы научитесь внедрять различные типы баз данных в проект и управлять ими через код.
Введение в курс
Познакомитесь с платформой, программой курса и форматом проведения теоретических занятий. Изучите правила выполнения домашних заданий. Узнаете больше о спикерах и их бэкграунде.
Базы данных и SQL
Научитесь составлять несложные SELECT-запросы для поиска информации в массиве данных по фильтру WHERE. Разберёте основные отличительные черты SQL и NoSQL БД.
Погружаемся в SELECT
Продолжите изучение SELECT-запросов на более продвинутом уровне: изучите принципы сортировки и установки лимитов для запроса, сможете объединять и модифицировать результаты.
Подзапросы и представления (VIEW)
Узнаете, что такое подзапросы, поймёте, в каких ситуациях они используются. На практических примерах разберёте несколько видов виртуальных таблиц-представлений.
Группировка и ключи
Сгруппируете полученные результаты SQL-запросов с помощью агрегации и использования фильтров, а также познакомитесь с правилами применения модификатора при выполнении всех этапов запроса.
Отношения (реляции/relations)
Научитесь устанавливать связи и виды отношений между несколькими сущностями, а также узнаете, для чего используются внешние и первичные ключи в таблицах.
Соединения (JOIN)
Познакомитесь с соединениями и освоите их применение для установления отношений в таблицах, а также разберёте понятия нормализации и денормализации.
Оконные функции (Window Functions)
Научитесь работать с выделенным набором данных с помощью оконных функций, освоите группировку и вычисления с помощью ORDER BY и PARTITION BY.
Изменение данных (Data Modification/DML)
Сможете модифицировать данные строк в таблицах: освоите вставку, обновление и удаление. Рассмотрите методы сохранения уникальности первичного ключа.
Транзакции и ACID
Познакомитесь с ACID-требованиями к базам данных, узнаете о том, почему транзакция откатывается целиком при наличии одного некорректного запроса к БД благодаря принципу атомарности.
Объявление структуры данных (Data Definition / DDL), триггеры и хранимые процедуры
Рассмотрите на примерах, как можно объявлять и изменять структуру данных в таблицах, а также изучите принципы использования триггеров и хранимых процедур.
Индексы
Подробно разберёте условия применения ключей, узнаете об их разновидностях и влиянии на производительность приложений, а также поймёте логику работы индексов.
Программные средства работы с БД
Узнаете о том, как настроить взаимодействие с БД с помощью программных средств – фреймворков и кода, а также познакомитесь с инструментами контроля транзакций и JDBC.
Производительность и системное устройство БД
Рассмотрите практику применения индексов и разработки схем БД в целях оптимизации запросов и повышения производительности приложения или веб-сервиса.
Особенности движков реляционных СУБД
Узнаете, что такое хэш-таблицы, как разные типы движков реляционных систем управления базами данных оказывают влияние на согласованность информации внутри нескольких таблиц.
Введение в NoSQL и сравнение с SQL
Рассмотрите отличительные особенности NoSQL, в частности Redis и MongoDB. Узнаете, по каким критериям подбирается БД и дополнительные программные решения для проекта.
Введение в MongoDB
Изучите схему документоориентированной БД MongoDB и научитесь писать запросы для группировки, фильтрации и работы с API, индексами и транзакциями.
Введение в Redis
Изучите отличительные черты резидентной базы Redis и скриптового языка Lua, предназначенных для повышения производительности, а также научитесь использовать коллекции, списки и наборы.
Как проектировать БД. Дерево решений для выбора СУБД
Разберёте готовый алгоритм для подбора базы данных, подходящей под задачи вашего проекта и отвечающей критериям производительности и оптимизации приложения.
Итоговый проект
Разработаете собственную базу данных под задачи проекта согласно ТЗ, напишете SQL-запросы для различных типов операций, убедитесь в корректности взаимодействия БД с приложением.