онлайн-курс
5

Основы реляционных баз данных на примере PostgreSQL

31 видеоурок + 23 задания
учебный чат
старт в любое время
Удостоверение ИТМО
logo course
Практико-ориентированный курс, дающий твердую базу в области работы с реляционными базами данных и универсальной системой PostgreSQL
  • Основы проектирования реляционных баз данных, управление / модификация
  • Навыки нормализации структуры данных, обеспечение ссылочной целостности
  • Навыки использования транзакций и оптимизации запросов через индексы
  • Агрегатные функции, соединения, подзапросы и резервное копирование
  • Основы работы с PostgreSQL, установка на Windows, утилиты psql и pgAdmin
Профессия разработчика / программиста по-прежнему не покидает верхних строчек рейтингов самых перспективных и высокооплачиваемых — как в России, так и во всем мире. Рынок технологий непрерывно развивается, и IT-специалисты требуются всегда
saialy
Онлайн-курс ИТМО поможет качественно улучшить профессиональную жизнь:
Студенту IT-специальности
Вы сможете существенно углубить свои знания по реляционным БД всего за 1.5-2 месяца и закрепить их с помощью продуманных заданий из реальной IT-практики. Начнете формировать компетенции, которые помогут стартовать в разработке
Начинающему разработчику
Вы получите оптимальный объем знаний по работе с базами данных, и уже во время обучения начнете применять их на практике с помощью PostgreSQL — одной из самых популярных СУБД, используемых при разработке мобильных и веб-приложений
Junior-программисту
Освоите ключевые концепции реляционных БД и навыки работы в PostgreSQL. Сможете эффективнее заниматься разработкой ПО и аналитикой данных, превращая новые знания в профессиональные скиллы за счет активной практики на курсе
Студенту IT-специальности
Начинающему разработчику
Junior-программисту
Вы сможете существенно углубить свои знания по реляционным БД всего за 1.5-2 месяца и закрепить их с помощью продуманных заданий из реальной IT-практики. Начнете формировать компетенции, которые помогут стартовать в разработке
Вы получите оптимальный объем знаний по работе с базами данных, и уже во время обучения начнете применять их на практике с помощью PostgreSQL — одной из самых популярных СУБД, используемых при разработке мобильных и веб-приложений
Освоите ключевые концепции реляционных БД и навыки работы в PostgreSQL. Сможете эффективнее заниматься разработкой ПО и аналитикой данных, превращая новые знания в профессиональные скиллы за счет активной практики на курсе
author
author
Таринская Татьяна Геннадьевна
Автор курса

Java-разработчик в компании Itigris. Опыт преподавания в школе Бруноям, опыт подготовки школьников к олимпиадам и ЕГЭ по информатике на подготовительных курсах ИТМО и в частном порядке как репетитор. Опыт преподавания Java и алгоритмов для желающих в Объединении ОЛИМП ИТМО. Автор курсов по Java-программированию, преподаватель Университета ИТМО.

Программа онлайн курса
1
Тема 1. Вставка, модификация и удаление данных
    Занятия:
  • Вставка данных (Insert)
  • Returning
  • Вставка множества строк
  • Вставка Null значения
  • Извлечение значения из одной таблицы и размещение его в другой таблице
  • Разбор примера. Если есть ограничение Unique
  • On Conflict Do Nothing/Do Update
  • Обновление данных (Update...Set)
  • Обнобвление всех значений в столбце. Удаление всех данных из таблицы
  • Демонстрация и разбор примеров
  • Задания:
  • Вставка и модификация данных
2
Тема 2. Резервное копирование
  • Резервное копирование и восстановление PostgreSQL
  • Дамп базы данных. Утилита pg_damp. Разбор примера в консоле
  • Скрипт или архив. Пример создания текстового скрипта
  • Демонстрация примера. Резервная копия таблиц
  • Утилита pg_dampall. Восстановление с помощью psql
  • Демонстрация примера. Восстановление БД с помощью pg_restore
  • Демонстрация примера. Создание резервной копии в pgAdmin
  • Демонстрация порядка действий
3
Тема 3. Хранимые процедуры
  • Определение
  • Отличие хранимых процедур от пользовательских функций
  • Создание и вызов хранимой процедуры
  • Демонстрация и разбор примера
  • Возврат значения через INOUT
  • Анонимные блоки
  • DROP PROCEDURE
4
Тема 4. Функции в PostgreSQL
  • Функции. Для чего нужны функции?
  • Синтаксис создания функции. Рассмотрение некоторых функций
  • На языке SQL
  • Символы $$
  • На процедурном языке. Процедурные расширения языка SQL
  • Вызов функции. Значения по умолчанию для параметров
  • Демонстрация примеров. Без имен для аргументов
  • Использование Returning. Функции с выходными параметрами
  • Без возврата значений. Объявление переменных
  • Демонстрация и разбор примеров
5
Тема 5. Индексы в PostgreSQL
    Занятия:
  • Индексы. Без индексов
  • Инструкция Create Index
  • Типы индексов. Using <тип_индекса>
  • Составные индексы. Оптимизатор запросов не использует индекс. Разбор примера
  • Уникальный индекс
  • Селективность. Частичный индекс
  • Демонстрация и разбор примеров
  • Задания:
  • Работа с индексами
6
Тема 6. Представления в PostgreSQL
    Занятия:
  • Представления. Типы таблиц. Views
  • Для чего нужны? Создание представления
  • Create Or Replace View
  • Создание представления в pgAdmin
  • Изменение и удаление представления
  • Материализованное представление
  • Создание материализованного представления
  • Сравнение с обычным представлением
  • Демонстрация примеров
  • Задания:
  • Работа с представлениями
7
Тема 7. Условные выражения
    Занятия:
  • Выражение Case. Принцип работы оператора Case
  • Пример без Else. Демонстрация примера
  • Пример с Else. Демонстрация примера
  • Группировка и Case. Разбор примера
  • Case внутри агрегаций
  • Задания:
  • Условные выражения
8
Тема 8. Пагинация результатов запроса
    Занятия:
  • Limit Fetch Offset. Limit
  • Offset. Limit с Offset
  • Fetch. Offset...Fetch
  • Разбор примеров
  • Задания:
  • Использование операторов LIMIT, OFFSET и FETCH
9
Тема 9. Подзапросы в PostgreSQL
    Занятия:
  • Для чего подзапросы
  • Подзапросы (subqueries) и особенности
  • Где можно использовать в Select
  • Типы подзапросов. Пример скалярного подзапроса
  • Пример простого подзапроса. Пример коррелированного подзапроса
  • Выражения табличных подзапросов
  • Exists/Not Exists. In/Not In. Any/Some. Al
  • Разбор и демонстрация примеров
  • Задания:
  • Использование подзапросов
10
Тема 10. Объединение, пересечение и разность наборов данных
    Занятия:
  • Объединение, пересечение и разность наборов данных
  • Разбор задачи. Оператор Union. Разбор примера
  • Union All. Разбор примера
  • Необходимые условия для операторов Union и Union All
  • Демонстрация примера. Разные имена полей
  • Оператор Intersect. Оператор Except
  • Демонстрация примера. С применением условий
  • Задания:
  • Объединение, пересечение и разность наборов данных
11
Тема 11. Соединения таблиц
    Занятия:
  • Соединение таблиц. Зачем это нужно?
  • Оператор Join. Синтаксис. Типы соединений PostgreSQL
  • Разбор задачи. Inner Join (Внутреннее соединение)
  • Left Join.Right Join. Full Join. Разбор примеров
  • Cross Join. Когда больше двух таблиц
  • Демонстрация примера
  • Задания:
  • Соединения таблиц
12
Тема 12. Агрегатные функции
    Занятия:
  • Агрегатные функции. Суть процесса агрегации
  • Демонстрация примера. Псевдонимы. Функция Count
  • Разбор примеров. Count (Distinct имя_столбца)
  • Функция Sum. Разбор примера. Max и Min
  • Демонстрация примера. Функция Avg
  • Напоминание. Задачи
  • Задания:
  • Агрегатные функции
13
Тема 13. Сортировка данных
    Занятия:
  • Сортировка данных. Оператор Order By
  • Демонстрация примера. Порядок сортировки
  • Порядок сортировки по умолчанию. Сортировка по нескольким столбцам. Демонстрация примера
  • Упорядочивание данных по псевдониму столбца
  • Сложное выражение. При наличии Null значений
  • Демонстрация примера. Закрепление информации
  • Задания:
  • Сортировка данных
14
Тема 14. Группировка данных
    Занятия:
  • Для чего нужна группировка данных
  • Демонстрация примера. Порядок действий, как это сделать
  • Оператор Group By. Разбор нескольких примеров
  • Важный аспект использования Group By
  • Группировка без агрегатных выражений
  • Группировка по нескольким столбцам. Разбор примеров
  • Having. Пример. Разница между Where и Having
  • Демонстрация примеров
  • Задания:
  • Группировка данных
15
Тема 15. Фильтрация данных
    Занятия:
  • Фильтрация данных. Создание таблицы для примеров
  • Разбор примера. Оператор Where. Синтаксис
  • Операторы сравнения
  • Выражения в условии
  • Фильтрация по диапазону значений (Between)
  • Выборка пустых записей (Is Null)
  • Расширенная фильтрация (And, Or). Оператор In
  • Оператор Not
  • Оператор Like
  • Демонстрация и разбор примеров
  • Задания:
  • Фильтрация данных
16
Тема 16. Выборка данных
    Занятия:
  • Выборка данных. Таблицы в БД. Оператор Select
  • Разбор примера. Выбор всей таблицы. Имя столбца с пробелами
  • Демонстрация примера. Distinct. Демонстрация примера
  • Псевдонимы столбцов. Разбор примера
  • Задания:
  • Выборка данных
17
Тема 17. Что такое реляционная база данных?
  • Введение в реляционные базы данных. Что такое базы данных?
  • Понятие реляционной базы данных
  • СУБД (программное средство управления базами данных)
  • СУБД (программное средство управления базами данных)
  • Общая схема работы с базами данных
  • Нереляционная база данных. Таблица в РБД. Связи
  • Основы РБД
18
Тема 18. Ограничения таблиц
    Занятия:
  • Ограничения (Constraints). Разбор примера
  • Синтаксис. Имя ограничения
  • Можно определить больше одного ограничения
  • Разбор наиболее распространенных ограничений. Разбор примера
  • Primary Key. Foreigh Key. Разбор примеров
  • On Delete Cascade. Разбор примера
  • Unique. Check. Not Null. Default
  • Удаление ограничений
  • Задания:
  • Ограничения таблиц
19
Тема 19. Создание, изменение, удаление баз данных и таблиц
    Занятия:
  • DDL (Data Definition Language, язык определения данных)
  • Создание базы данных в pgAdmin. Создание таблицы
  • Демонстрация примеров. Create table if not exist. Демонстрация
  • Изменение таблиц (Alter Table). Добавление и удаления столбца
  • Переименование столбца или таблицы. Удаление таблицы
  • Drop table if exists. Удаление базы данных. Демонстрация
  • Задания:
  • Использование Query Tool
20
Тема 20. Типы данных PostgreSQL
    Занятия:
  • Типы данных. Числовые типы. Разбор примера
  • Строковые типы. Разбор примера. Дата и время
  • Логический тип. Бинарный тип. Создание типа
  • Задания:
  • Типы данных PostgreSQL
21
Тема 21. Работа с pgAdmin
    Занятия:
  • Графический клиент pgAdmin. Установка клиента
  • Мастер-пароль. Подключение к базе PostgreSQL
  • Список баз данных. Демонстрация алгоритма действий. Query Tool
  • Нахождение таблицы. Схемы в базе данных
  • Импорт образца базы данных
  • Задания:
  • Работа с pgAdmin
22