Базы данных для разработчиков в Астане
ОПИСАНИЕ КУРСА
- Введение в курс Узнаете, как устроен курс, познакомитесь со спикером и проверяющим экспертом.
- Базы данных и 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 (в том числе Tarantool), кластерных, колоночных, облачных, аналитических, Big Data.
- Введение в MongoDB Введение в Redis
- Узнаете, что такое коллекции, как использовать списки, хэшмэпы и упорядоченные хэшмэпы, наборы.
- Познакомитесь с Redis и Lua. Как проектировать БД. Дерево решений для выбора СУБД
- Получите алгоритм, который поможет вам правильно выбрать базу данных для любого проекта.