Базы данных и SQL - с нуля до профи - PostgreSQL [javabegin] [Тимур Батыршинов]
Это 3-ий курс из сборника javabegin
В данном курсе вы пройдете основы работы с базами данных, которые должен знать любой начинающий прикладной разработчик.
Все главные принципы создания таблиц, планирования структуры, загрузки тестовых данных и многое другое.
Также внимание уделено оптимизации и анализу для нахождения "узких" мест, из-за чего БД может работать медленно.
Многие новички изначально строят неверную структуру БД, поэтому страдает весь проект.
Основное направление - правильное создание БД и оптимизация многих процессов.
Знания из курса нужны не только новичкам, но и многим профессионалам, которые в свое время перепрыгнули нужные разделы.
За основу берется БД PostgreSQL, хотя полученные знания можно применять для любой современной СУБД.
ЗАЧЕМ: В любом приложении используются данные и вы должны уметь создавать структуру на какой-либо СУБД (PostgreSQL, MySQL и пр.) – работа с таблицами, планирование связей, загрузки тестовых данных и многое другое. Также должны уметь оптимизировать и анализировать “узкие места”, из-за чего БД может работать медленно.
СПОСОБ: С нуля создадите структуру таблиц, связи, триггеры, ключи, SQL запросы и многое другое. Если БД сразу делать правильно – то и проект (код) будет работать верно.
ЕСЛИ ПРОПУСТИТЬ: Не сможете работать с БД и будете способны создавать только простые приложения (например, консольные, без SQL запросов)
Курс состоит из 96 уроков!
Курс будет с высоким качеством видео и текстом в pdf формате.
Это 3-ий курс из сборника javabegin







ЗАЧЕМ: В любом приложении используются данные и вы должны уметь создавать структуру на какой-либо СУБД (PostgreSQL, MySQL и пр.) – работа с таблицами, планирование связей, загрузки тестовых данных и многое другое. Также должны уметь оптимизировать и анализировать “узкие места”, из-за чего БД может работать медленно.
СПОСОБ: С нуля создадите структуру таблиц, связи, триггеры, ключи, SQL запросы и многое другое. Если БД сразу делать правильно – то и проект (код) будет работать верно.
ЕСЛИ ПРОПУСТИТЬ: Не сможете работать с БД и будете способны создавать только простые приложения (например, консольные, без SQL запросов)
Курс состоит из 96 уроков!
Курс будет с высоким качеством видео и текстом в pdf формате.
- План и поддержка
- Прикладной СУБДшник
- Базовые термины
- Термины РСУБД
- PostgreSQL и pgAdmin
- Экспорт и импорт БД
- Серверные и файловые БД
- Техническое задание
- Проектирование таблиц
- Создание таблиц в PostgreSQL
- Простые поля
- Значение NULL и DEFAULT VALUE
- Primary key - первичный ключ
- Код создания таблицы
- Счетчик Autoincrement
- Foreign key - внешний ключ
- Схема для внешних ключей
- Тестовые данные
- Первая нормальная форма
- Вторая нормальная форма
- Третья нормальная форма
- Связи таблиц (визуальная диаграмма)
- Язык запросов SQL
- Подгруппы SQL
- Оператор select
- Оператор insert
- Оператор update
- Оператор delete
- Очистка таблиц truncate и delete
- Условие where
- Сравнение =, in, like
- Сортировка ORDER BY
- Выборка из нескольких таблиц - JOIN
- INNER JOIN
- LEFT JOIN
- RIGHT JOIN
- FULL JOIN
- Представления VIEWS
- JOIN нескольких таблиц
- UTC
- Хранение даты
- Работа с датой
- Агрегатные функции
- Группировка GROUP BY
- Группировка + WHERE
- Группировка + HAVING
- Группировка по нескольким полям
- GROUP BY + JOIN
- Индексы
- Создание индексов
- Fetch и Limit
- Конвертация NULL - COALESCE
- Преобразование CAST
- Чекпоинт
- Командная строка PSQL
- Системные таблицы и метаданные
- Системные SEQUENCE
- Создание SEQUENCE
- Роли пользователя (связь много-ко-многим)
- Запрос на получение ролей пользователя
- Статистика по категориям
- Функции, триггеры
- Создание триггера
- Код триггера при добавлении записи
- Код триггера при обновлении записи
- Код триггера при удалении записи
- Общая статистика задач
- Обновление общей статистики
- Тестовые данные с помощью триггеров
- ACTION для внешних ключей
- Скрипт для тестовых данных
- Транзакции
- Принципы ACID
- Создание транзакций в Query Editor
- Commit и Rollback транзакции
- Планировщик запросов
- Анализ результата EXPLAIN
- Типы сканирований таблиц
- EXPLAIN с WHERE
- Типы условий
- EXPLAIN с ORDER BY
- EXPLAIN ANALYZE
- Визуальное представление EXPLAIN ANALYZE
- EXPLAIN с JOIN
- Разбор шагов JOIN
- Типы соединения таблиц
- Создание множества тестовых данных в цикле
- Сканирование с применением индекса
- Пример оптимизации запроса
- Нахождение проблемных мест
- Активность пользователя (связь один-к-одному)
- Доработка триггера для activity
- Блокировка данных
- Взаимная блокировка (deadlock)
- Просмотр процессов и запросов блокировок
- Что изучать дальше
https://javabegin.ru/courses/osnovy-bazy-dannyh-na-primere-postgresql-2021/