MS SQL Server Developer: курс по разработке баз данных на SQL от Otus
Вы научитесь
Программа курса
Вас ждёт онлайн-курс с акцентом на практику. В процессе обучения вы сможете спроектировать и оптимизировать собственную БД, а также заполните пробелы по теории MS SQL Server.
Использование БД
Рассмотрите виды СУБД и возможности SQL-сервера, настроите среду разработки и развернёте бэкап демо-базы. Научитесь делать выборки, использовать фильтры и функции объединения условий, а также сможете читать планы запросов. Оцените различные запросы и сравните их стоимость, познакомитесь с индексами index scan; index seek; nested Loop; hash match; merge join. Примените подзапросы и сделаете выборки из них, а также создадите временные таблицы и табличные переменные. Научитесь составлять запросы с использованием различных операторов, выводить адреса и делать выборку. Узнаете о том, почему функции ROW_NUMBER, LAG, LEAD, NTILE называют оконными, разберёте их отличительные черты. Изучите алгоритмы работы с Exec и sp_executesql и поймёте, как избежать проблем с безопасностью. Познакомитесь с DML и вариантами его использования, а также научитесь использовать утилиту bcp и операторы вставки, обновления, удаления и объединения. Напишете выборки из XML и JSON полей и освоите работу с запросами SELECT. Получите представление о работе с транзакциями и логом, узнаете, для чего нужны флаги трассировки. Сможете читать запросы, в том числе и длинные, а также научитесь перечислять этапы выполнения запроса без его выполнения.
Рассмотрите виды СУБД и возможности SQL-сервера, настроите среду разработки и развернёте бэкап демо-базы.
Научитесь делать выборки, использовать фильтры и функции объединения условий, а также сможете читать планы запросов.
Оцените различные запросы и сравните их стоимость, познакомитесь с индексами index scan; index seek; nested Loop; hash match; merge join.
Примените подзапросы и сделаете выборки из них, а также создадите временные таблицы и табличные переменные.
Научитесь составлять запросы с использованием различных операторов, выводить адреса и делать выборку.
Узнаете о том, почему функции ROW_NUMBER, LAG, LEAD, NTILE называют оконными, разберёте их отличительные черты.
Изучите алгоритмы работы с Exec и sp_executesql и поймёте, как избежать проблем с безопасностью.
Познакомитесь с DML и вариантами его использования, а также научитесь использовать утилиту bcp и операторы вставки, обновления, удаления и объединения.
Напишете выборки из XML и JSON полей и освоите работу с запросами SELECT.
Получите представление о работе с транзакциями и логом, узнаете, для чего нужны флаги трассировки.
Сможете читать запросы, в том числе и длинные, а также научитесь перечислять этапы выполнения запроса без его выполнения.
Проектирование БД
Научитесь делать схему базы данных и нормализовывать таблицы, а также освоите средства проектирования. Изучите паттерны и сможете создавать БД с учётом требований безопасности и конфиденциальности. Поймёте, как создавать таблицы, индексы и другие объекты БД с помощью своих SQL-запросов. Освоите работу с датами, числами, строками и текстом, а также рассмотрите процесс преобразования данных. Сможете создавать индексы и выявлять необходимость их использования.
Научитесь делать схему базы данных и нормализовывать таблицы, а также освоите средства проектирования.
Изучите паттерны и сможете создавать БД с учётом требований безопасности и конфиденциальности.
Поймёте, как создавать таблицы, индексы и другие объекты БД с помощью своих SQL-запросов.
Освоите работу с датами, числами, строками и текстом, а также рассмотрите процесс преобразования данных.
Сможете создавать индексы и выявлять необходимость их использования.
Логика на серверной стороне
Научитесь проектировать план запроса по процедурам, функциям и запросам, а также создавать триггеры на примере определения покупателя с наибольшей суммой покупок. Изучите алгоритмы обработки ошибок с использованием различных методов, а также выявите необходимость подобных операций. Сможете создавать процедуры с использованием CLR в SQL Server и компилировать сборку dll в Visual Studio. Узнаете о том, зачем нужны очереди и как с ними работать, настроите сервер и напишете скрипты для их создания.
Научитесь проектировать план запроса по процедурам, функциям и запросам, а также создавать триггеры на примере определения покупателя с наибольшей суммой покупок.
Изучите алгоритмы обработки ошибок с использованием различных методов, а также выявите необходимость подобных операций.
Сможете создавать процедуры с использованием CLR в SQL Server и компилировать сборку dll в Visual Studio.
Узнаете о том, зачем нужны очереди и как с ними работать, настроите сервер и напишете скрипты для их создания.
OLTP, OLAP, SSIS, SSRS
Познакомитесь с возможностями программ для разработки отчетов и визуализации, создадите несколько дашбордов. Узнаете, чем отличается OLTP от OLAP, научитесь подбирать корректную OLTP-нагрузку для проектируемой БД. Изучите основные паттерны проектирования, оцените риски возникновения различных проблем и познакомитесь с методами их предотвращения. Освоите кимбал и составление ETL процедуры, а также сможете работать с dacpac файлами и SSIS-средой. Презентуете свой проект и получите развёрнутую обратную связь, обсудите необходимые изменения и доработки.
Познакомитесь с возможностями программ для разработки отчетов и визуализации, создадите несколько дашбордов.
Узнаете, чем отличается OLTP от OLAP, научитесь подбирать корректную OLTP-нагрузку для проектируемой БД.
Изучите основные паттерны проектирования, оцените риски возникновения различных проблем и познакомитесь с методами их предотвращения.
Освоите кимбал и составление ETL процедуры, а также сможете работать с dacpac файлами и SSIS-средой.
Презентуете свой проект и получите развёрнутую обратную связь, обсудите необходимые изменения и доработки.
Оптимизация и администрирование БД
Изучите принципы работы со статистикой, научитесь делать реорганизацию индексов, создавать и удалять их по необходимости. Научитесь интерпретировать данные плана запросов, оптимизировать их на основе статистики, а также узнаете, что такое parameter sniffing. Познакомитесь с примерами использования динамических административных представлений для устранения проблем с производительностью. Выявите узкие места и процессы, перегружающие сервер, и настроите их мониторинг, а также сможете применять механизм extended events. Оптимизируете работу сервера с помощью хинтов, обосновав целесообразность их применения на реальных примерах. Проанализируете план запроса и аргументируете решение по его модификации и оптимизации на основе полученных статистических данных. Выполните секционирование таблицы с переносом данных по партициям с помощью скриптов и sliding window. Рассмотрите политику распределения ролей в SQL Server, а также оцените влияние различных факторов на безопасность системы. Поймёте, как правильно создавать бэкап БД и делать из него восстановление при возникновении сбоев и экстренных ситуаций. Изучите настройки, типы и мониторинг репликаций, познакомитесь с методами, используемыми для поддержки бесперебойной работы. Презентуете итоговый проект: от описания бизнес-идеи до демонстрации процедур и решений оптимизации.
Изучите принципы работы со статистикой, научитесь делать реорганизацию индексов, создавать и удалять их по необходимости.
Научитесь интерпретировать данные плана запросов, оптимизировать их на основе статистики, а также узнаете, что такое parameter sniffing.
Познакомитесь с примерами использования динамических административных представлений для устранения проблем с производительностью.
Выявите узкие места и процессы, перегружающие сервер, и настроите их мониторинг, а также сможете применять механизм extended events.
Оптимизируете работу сервера с помощью хинтов, обосновав целесообразность их применения на реальных примерах.
Проанализируете план запроса и аргументируете решение по его модификации и оптимизации на основе полученных статистических данных.
Выполните секционирование таблицы с переносом данных по партициям с помощью скриптов и sliding window.
Рассмотрите политику распределения ролей в SQL Server, а также оцените влияние различных факторов на безопасность системы.
Поймёте, как правильно создавать бэкап БД и делать из него восстановление при возникновении сбоев и экстренных ситуаций.
Изучите настройки, типы и мониторинг репликаций, познакомитесь с методами, используемыми для поддержки бесперебойной работы.
Презентуете итоговый проект: от описания бизнес-идеи до демонстрации процедур и решений оптимизации.