Базы данных
Щербинин П.

1
Лекция 1. Введение и начало проектирования
В лекции обсуждается значение и роли баз данных в IT, даются определения БД и СУБД. Остальная часть лекции посвящена типам данных MySQL: NULL, целые числа, числа с плавающей точкой, бинарные, строки, дата и время.

2
Лекция 2. Модификация данных. Выборка данных
Рассказывается о создании таблиц (CREATE TABLE): create_definition, column_definition, reference_defenition, обновление кортежа в родительском отношении. Далее обсуждается процедура изменения таблицы (ALTER TABLE), выборка данных и оператор SELECT, а также фильтрация (формирование групп, агрегаторы).

3
Лекция 3. Выборка данных.
Говорится о добавлении данных и операторе INSERT, о модификации данных и операторе UPDATE, об удалении данных и операторе DELETE. После этого даётся информация о подзапросах: SUBQUERIES, ROW SUBQUERIES, SUBQUERIES in FROM. 

4
Лекция 4. Расширенные возможности работы с базами данных. Триггеры и хранимые процедуры
Первая часть лекции посвящена хранимым процедурам: LOOP, REPEAT, WHILE, HANDLER, курсоры, EXECUTE. Во второй части рассказывается о триггерах: BEFORE, AFTER, INSTEAD OF, о специальных таблицах inserted, updated и deleted. В завершающей части лекции обсуждаются вопросы, связанные с транзакциями.

5
Лекция 5. Определение узких мест
Рассказывается о подсистемах хранения: MyISAM, InnoDB, Memory, о критериях выбора подсистем хранения, приводятся практические примеры. Затем обсуждается тема индексирования (B-tree, хеш-индексы) и EXPLAIN (столбцы id, table, possible_keys, key, key_len).

6
Лекция 6. Профилирование запросов. Сложноструктурированные SQL-запросы
Дается понятие "профилирование запроса". Объясняются основы индексирования, подробно обсуждаются стратегии индексирования для достижения высокой производительности: изоляция столбца, кластерные индексы (преимущества и недостатки), размещение данных в MyISAM и InnoDB, покрывающие индексы.

7
Лекция 7. Оптимизация запросов и индексирование
Рассказывается об оптимизации доступа к данным, о декомпозиции соединения и состоянии запроса. Говорится об оптимизации запросов с помощью JOIN, GROUP BY, DISTINCT и LIMIT со смещением. В конце лекции даётся информация о кэшировании запросов, объединённых таблицах и секционировании.

8
Лекция 8.  Конфигурирование базы данных
Даны основы конфигурирования и общие принципы настройки. Говорится об области видимости, о настройке использования памяти, обсуждается размер блока ключей key_cache_block_size. 

9
Лекция 9. Безопасность данных
Говорится о резервном копировании.  Рассматриваются основы учётных записей: таблицы доступа, привилегии, виды записей. Обсуждаются SQL-injection, список смежных вершин (Adjacency Set), вложенное множество (Nested Set), материализованный путь (Materialized Path) и комбинированный подход.

10
Лекция 10. Нереляционное решение в области баз данных — NoSQL
Говорится об истории развития концепции NoSQL.Рассматриваются виды NoSQL БД, теоретические основы NoSQL; обсуждаются недостатки NoSQL-решений.

...

Ключевые слова: базы данных, типы данных, проектирование БД, этапы проектирования, создание таблиц, CREATE TABLE, ALTER TABLE, оператор SELECT, оператор INSERT, пользовательские переменные, SUBQUERIES, ROW SUBQUERIES, SUBQUERIES in FROM хранимые процедуры, использование триггеров, транзакции, подсистемы хранения, выбор подсистем, хеш-индексы, профилирование запросов, стратегии индексирования, версионировании схемы БД, оптимизация запросов, оптимизатор сортироввки, коррелированные подзапросы, оптимизация запросов, кэшировании запросов, основы конфигурирования, оптимизация файловой сортировки, безопасность данных, резервное копирование, учетная запись, нереляционное решение, концепция NoSQL, NoSQL-решения

Щербинин Павел

Щербинин Павел

INS Ecosystem.

г. Ступино

Ранее работал техническим директором в Mail.Ru Group.