Начальные навыки для успешного прохождения курса:
Уверенный пользователь ПК: Умение устанавливать операционные системы, работать с файловой системой, устанавливать и настраивать программное обеспечение.
Основы компьютерных сетей: Понимание того, что такое IP-адрес, порт, локальная сеть (необходимо для подключения клиентов к серверам БД, настройки репликации и удаленного доступа).
Базовое представление о виртуализации: Понимание того, что такое виртуальная машина и гипервизор (в курсе будет подробные гайды по VirtualBox, но общее понимание ускорит процесс).
Логическое мышление и основы алгоритмизации: Понадобятся при изучении циклов, условных выражений, обработки ошибок и написания хранимых процедур на языках PL/pgSQL, T-SQL и MySQL.
Полученные навыки после прохождения курса:
Знания- Архитектура и принципы работы ведущих реляционных СУБД: PostgreSQL, Microsoft SQL Server, MySQL/MariaDB.
- Язык SQL и его специфические диалекты (стандартный SQL, T-SQL для MS SQL, PL/pgSQL для PostgreSQL).
- Принципы проектирования баз данных: реляционная модель, нормализация, построение ER-диаграмм.
- Механизмы обеспечения целостности данных (транзакции, уровни изоляции, внешние ключи, ограничения).
- Принципы оптимизации производительности (роль индексов, анализ запросов).
- Механизмы обеспечения высокой доступности и отказоустойчивости (физическая и логическая репликация).
- Основы информационной безопасности БД (шифрование данных, разграничение прав доступа, защита от уязвимостей).
Умения и навыки- Развертывание и настройка: Установка и конфигурирование PostgreSQL, MS SQL Server 2022 и MySQL в средах Windows, Linux (Debian, Mint) и macOS.
- Работа с графическими и консольными клиентами: Уверенное использование pgAdmin 4, SQL Server Management Studio (SSMS), MySQL Workbench, MySQL Shell, phpMyAdmin и командных строк.
- Проектирование БД: Создание баз данных, таблиц, представлений, настройка связей, автоинкремента и сложных типов данных (массивы, перечисления).
- Написание сложных запросов: Использование всех видов соединений (JOIN), подзапросов, агрегатных функций, оконных функций (в T-SQL), операторов UNION/EXCEPT/INTERSECT.
- Программирование на стороне БД: Создание и использование хранимых процедур, триггеров, пользовательских функций, курсоров, циклов и блоков обработки ошибок.
- Администрирование: Управление пользователями и ролями, настройка прав доступа, мониторинг состояния сервера.
- Обслуживание и защита: Настройка резервного копирования (Backup) и восстановления (Restore), импорт/экспорт данных, настройка репликации, шифрование данных.
Практический опыт- Создание кроссплатформенной лабораторной среды: Развертывание виртуальных машин в VirtualBox, установка на них Windows 10, Linux Mint, Debian 12 и настройка сетевых взаимодействий между ними.
- Полный цикл разработки БД: От создания ER-модели до создания структуры таблиц, настройки ограничений и заполнения данными в трех разных СУБД.
- Автоматизация: Написание триггеров для автоматического аудита изменений, создание хранимых процедур для сложной бизнес-логики и пакетной обработки данных.
- Настройка кластеров и репликации: Конфигурирование логической репликации в PostgreSQL, настройка репликации в MS SQL Server и MySQL для обеспечения отказоустойчивости.
- Обеспечение безопасности: Разграничение прав доступа (от отключения гостевого доступа до тонкой настройки ролей), настройка шифрования в MySQL, применение лучших практик безопасности (Security Best Practices).
- Траблшутинг и оптимизация: Работа с индексами для ускорения выборки, использование EXPLAIN (или аналогов) для анализа планов запросов, восстановление БД из бэкапов в случае сбоев.