Проходил 14 сентября в 20:00

Открытый вебинар Реляционные СУБД
Использование индексов

Открытый вебинар онлайн

Поговорим о типах индексов (Btree, Bitmap, Hash), обсудим их преимущества и недостатки. В каких случаях какие именно применяются, как они работают при операциях SELECT/INSRT/UPDATE/DELETE, а также когда их применять не стоит.
Преподаватель
Алексей Цыкунов

Запись

О курсе

Реляционные СУБД
30 000 ₽
3 месяца
Начало 28 сентября
Цель курса — научить слушателя эффективно работать с любой реляционной базой данных с помощью языка структурированных запросов SQL. На курсе будут подробно раскрыты следующие темы: 1. Как устроены и работают реляционные СУБД? 2. Как решать вопросы оптимального хранения и выборки данных? 3. Как пользоваться SQL-командами? 4. Как писать корректные оптимальные запросы?
Высокая практическая ориентированность
...
Программа курса
Модуль 1
Сущности и связи
Модуль 2
SQL
Модуль 3
Оптимизация БД
Модуль 4
Проект
Сущности и связи
Реляционная модель данных. Реляционная алгебра
Сущности, связи.
Домены, кортежи, атрибуты, отношения.
Нормальные формы.
Типы данных.
Трехзначная логика.
28 сентября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Строим модель данных.
Транзакции. ACID
Целостность данных.
Транзакции, блокировки.
Многопользовательский доступ. Конкуренция.
Изоляция транзакций.
2 октября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Описываем логику транзакций для своей модели данных.
Компоненты современной СУБД
Знакомимся с компонентами СУБД:
- пользователи;
- таблицы;
- индексы;
- триггеры;
- ограничения (constrains);
- представления;
- хранимые процедуры.
5 октября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Добавляем в модель данных дополнительные индексы и ограничения.
Типы данных
Разбираем типы данных, используемые в СУБД: числа, тексты, даты, массивы, блобы, геоданные.
9 октября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Корректируем типы данных в модели при необходимости.
Проектирование БД
Рассматриваем различные кейсы проектирования БД. Обсуждаем нюансы.
12 октября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Вносим коррективы в модель данных при необходимости.
Проектирование БД: семинар
Анализируем созданные проекты.
Дискутируем, вносим корректировки.
16 октября, 20:00 — 21:30
SQL
Изучаем SQL. Применяем на практике.
DDL: создание и редактирование объектов БД
Создание сущностей.
Выбор первичного ключа.
Внешние ключи.
Команды DDL — CREATE, ALTER, DROP.
19 октября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Создаем базу из проектной модели.
DML: изменение данных
Учимся изменять данные и сохранять изменения.
INSERT, UPDATE, DELETE.
COMMIT, ROLLBACK.
Каскадные изменения.
23 октября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Создаем скрипты очистки и первичного заполнения базы.
DML: выборка данных
Выбираем данные из одной и нескольких таблиц. Изучаем разнообразия JOIN и условия WHERE.
26 октября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Наборы SQL-скриптов для выбора различных данных.
DML: агрегация и сортировка
Учимся группировать и сортировать данные и использовать групповые функции.
30 октября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Создаем отчетную выборку.
DML: вложенные запросы и представления
Учимся использовать вложенные запросы и сохранять их во view. Используем конструкцию WITH.
Операции множеств UNION, EXCEPT, INTERSECT.
Изучаем дополнительные возможности выборки.
2 ноября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Создаем дополнительные представления в БД.
DML: аналитические функции
Изучаем возможности аналитических функций.
FIRST, LAST, LEAD, LAG, RANK и другие.
6 ноября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Отчетная PIVOT-выборка.
Семинар: практический SQL
Разбираем практические примеры.
9 ноября, 20:00 — 21:30
Оптимизация БД
Индексы
Изучаем основные типы индексов: Btree, Hash, Reverse, By Function.
Изучаем команды создания и модификации индексов и перестройки индексов.
Анализируем план запроса.
13 ноября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Добавляем индексы в свою базу.
Хранимые процедуры и триггеры
Встраиваем бизнес-логику в базу.
Пишем триггеры, процедуры и функции.
16 ноября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Добавляем в базу хранимые процедуры и триггеры.
Опции хранения
Что делать, когда растет база.
Что делать, когда не хватает места.
Как распределить данные по файлам, тейблспейсам, партициям.
20 ноября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Спрогнозировать рост данных и спроектировать модель хранения и архивации.
Оптимизация на практике
Оптимизируем сложные запросы.
23 ноября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Оптимизация сложного запроса.
Проблемы миграции
Понять подходы и методы для решения вопросов:
- обновление структуры в продакшене;
- загрузка и выгрузка данных;
- миграция между различными СУБД.
27 ноября, 20:00 — 21:30
Управление СУБД
Обсуждаем дополнительные аспекты работы с СУБД:
- безопасность,
- резервирование,
- репликацию,
- кластеризацию.
Обсуждаем вопросы по курсу.
30 ноября, 20:00 — 21:30
NoSQL базы данных. Использование Redis и Memcache - в качестве кешей
Разбираем преимущества и недостатки NoSQL баз данных по сравнению с реляционными.
Обсуждаем стратегии кеширования RDMBS с использованием Redis и Memcache.
Проект
Каждый создает базу данных под свои нужды.
Формат сдачи:
- ER-диаграмма,
- описание таблиц и полей,
- SQL с развертыванием БД,
- скрипт первичной заливки данных,
- несколько SQL-запросов для тестирования базы.
Вопросы по курсовому проекту.
4 декабря, 20:00 — 21:30

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

Алексей Цыкунов
Системный архитектор, Oracle DBA, разработчик perl/python, опыт в отрасли - 20 лет
В настоящее время работает на аутсорсе. Работал в интернет-провайдерах и телекоме. Имел опыт внедрения и разработки продуктов в госструктурах, таких как минздрав и соцфонд. Был главным разработчиком стартап проекта Ipstudio AMBS (биллинг для VoIP). Участвовал в проектировании и разработке OLTP систем. Проектировал и развертывал серверные системы в датацентрах.

Закончил Кыргызско-Российский Государственный Университет, 2001, Инженер автоматизированных систем.
Собственный технический блог на - dbadmins.ru
Преподаватель курсов:
Реляционные СУБД