Курс предназначен для разработчиков БД и клиентских приложений, а также специалистов в области бизнес-аналитики. Он будет интересен пользователям, желающим понимать работу БД или с пониманием формировать отчеты, а также слушателей, планирующих сдать экзамен.
По окончании курса слушатели смогут:
- описать основные концепции архитектуры Microsoft SQL Server 2016;
- определить, чем Transact-SQL похож и чем отличается от других языков запросов;
- понимать типы данных в SQL Server;
- создавать БД для решения бизнес-задач;
- оперировать с данными с помощью Transact-SQL;
- сортировать и фильтровать данные;
- использовать встроенные функции;
- группировать и производить агрегирование данных;
- использовать подзапросы;
- писать запросы разного уровня сложности к отдельным и соединенным таблицам;
- создавать представления (Views);
- писать аналитические запросы разного уровня сложности.
Аудитория
Слушатели получат знания и навыки для проектирования БД для решения производственных задач, написание базовых запросов Transact-SQL для Microsoft SQL Server, построения аналитических запросов. Курс предоставляет необходимый минимум знаний для понимания работы Microsoft SQL Server и оперирования бизнес-данными. Данный курс является базовым для разработчиков баз данных и бизнес-аналитиков.
Для эффективного обучения на курсе, слушатели должны обладать следующими знаниями и навыками:
- базовые знания о реляционных базах данных;
- базовые знания об основной функциональности Windows;
- базовые навыки работы с файловыми хранилищами (Google Drive – для доступа к материалам курса).
- Введение в БД
- История SQL
- Схема работы с БД
- Иерархическая структура базы данных (необходимость знать бизнес-процессы)
- Нормализация БД (1-3 НФ)
- Разнесение таблицы по элементам в БД
- Задание: построить структуру базы по выходным полям
- Принципы работы с MS SQL и MS SQL Server Management Studio
- Версии MS SQL
- Состав MS SQL 2016
- Установка Microsoft SQL Server
- Установка MS SQL Server Management Studio
- MS SQL Server Management Studio (Создание БД, Создание таблиц, Типы данных — общее представление)
- Создание таблиц
- Типы данных SQL (Текстовые, Числовые, Дата время)
- Атрибуты и ограничения столбцов и таблиц на примерах (PRIMARY KEY, IDENTITY, UNIQUE, NULL и NOT NULL, DEFAULT, CHECK, CONSTRAINT (особенности и назначения))
- Внешний ключ
- Особенность удаления записей связанных таблиц
- Настройки ON DELETE и ON UPDATE для связанных таблиц
- ALTER (что можно менять, а что нет)
- Создание бекапа
- Работа с операторами INSERT, UPDATE, DELETE и SELECT
- INSERT – вставка записей в таблицу
- UPDATE – изменение значений полей в записях
- DELETE – удаление записей из таблицы
- SELECT – простые запросы на вывод данных
- SELECT с вычислением по полям
- DISTINCT – получение уникальных значений по полям
- Использование псевдонимов (Aliases) для названий столбцов
- Особенности прописывания псевдонимов из нескольких слов
- Сортировка (ASC/DESC, возможности использования псевдонимов и номеров по порядку)
- TOP и OFFSET…FETCH NEXT - частичный вывод записей из таблицы
- Порядок выполнения SELECT
- Фильтрация записей по значениям полей (Расчеты в операторе WHERE, Логические операторы, свойство IS NULL, Операторы фильтрации: IN, BETWEEN, LIKE)
- Работа с агрегатными функциями и группировкой
- Агрегатные функции (AVG, SUM, MIN, MAX, COUNT, Особенность работы со значениями NULL, использование All и Distinct)
- Операторы GROUP BY и HAVING
- Примеры использования GROUP BY
- Правила прописывания полей в Select-е, невозможность использования псевдонимов
- GROUP BY на несколько полей
- GROUP BY по рассчитанному значению
- Фильтрация групп. HAVING
- Встроенные функции
- Функции для работы со строками (LEN, CHARINDEX, PATINDEX, LEFT, RIGHT, SUBSTRING, CONCAT)
- Функции для работы с числами (ROUND, CEILING, FLOOR, RAND)
- Функции работы с датой (GETDATE(), DAY(), MONTH(), YEAR(), DATENAME, DATEPART, FORMAT, DATEDIFF)
- Использование преобразований даты в группировке
- Функции преобразования типов (CAST, CONVERT)
- Функции ветвления (CASE, IIF)
- Работа с подзапросами
- Некоррелирующие подзапросы
- Колирующие подзапросы
- Подзапросы в основных командах SQL
- Update коррелирующих
- Объединение таблиц
- Суть «грубого» объединение
- Объединение. INNER JOIN
- Суть объединения INNER JOIN
- Понятие "ожерелья" при последовательном объединении таблиц
- Объединение. INNER SELF JOIN
- Объединение. OUTER JOIN (LEFT JOIN, LEFT JOIN vs INNER JOIN, RIGHT JOIN, FULL OUTER JOIN)
- Принципы решения задач на объединение таблиц (INNER JOIN)
- Принципы решения задач на объединение таблиц (LEFT JOIN).
- Когда join не нужен
- Когда join необходим
- Когда можно с left join или без него
- Использование табличных буферов (представления (views), табличные переменные, временные и производные таблицы)
- Создание, изменение и удаление
- Обновляемый View
- Необновляемый View
- Временные таблицы
- Походные таблицы
- Оконные функции, CUBE, ROLLUP и PIVOT в запросах аналитики
- компоненты оконных функций
- Принципы использования OVER
- Использование PARTITION для группировки данных
- Ограничение строк в оконных функциях
- Группы оконных функций: агрегатные, ранжировки, смещения, аналитические.
- Возможности CUBE и ROLLUP
- Использование сводных таблиц без PIVOT
- Этапы использования PIVOT
- Сводные таблицы из PIVOT
- PIVOT с группировкой
- PIVOT + UNION
- Использование операторов наборов строк: UNION, EXCEPT, INTERSECT
- Запросы с UNION и UNION ALL
- Запросы по EXCEPT и INTERSECT