Курс предназначен для администраторов БД, разработчиков БД и клиентских приложений, а также специалистов в области бизнес-аналитики. Он будет интересен пользователям, желающим понимать работу БД, уметь создавать запросы для поддержания работы систем автоматизации и с пониманием формировать аналитические запросы.
По окончании курса слушатели смогут:
- описать основные концепции архитектуры Microsoft SQL Server 2016;
- определить, чем Transact-SQL похож и чем отличается от других языков запросов;
- понимать типы данных в SQL Server;
- создавать БД для решения бизнес-задач;
- оперировать с данными с помощью Transact-SQL;
- сортировать и фильтровать данные;
- использовать встроенные функции;
- группировать и осуществлять агрегирование данных;
- использовать подзапросы;
- писать запросы разного уровня сложности к отдельным и соединенным таблицам;
- создавать представления (Views);
- писать аналитические запросы разного уровня сложности;
- программировать с помощью T-SQL;
- создавать сохраненные процедуры;
- разрабатывать и использовать пользовательские функции;
- писать и использовать триггеры.
Аудитория
Слушатели получат знания и навыки для проектирования БД для решения производственных задач, написание базовых запросов Transact-SQL для Microsoft SQL Server, построения аналитических запросов, базового программирования на Transact-SQL. Курс предоставляет необходимый минимум знаний для понимания работы 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
- Табличные переменные
- Временные таблицы
- Производные таблицы
- Переменные и базовые операторы в программировании на T-SQL
- Работа с переменными (DECLARE, SET, SELECT, PRINT)
- Select и переменные
- Переменные в запросах
- Условные выражения
- Циклы
- Операторы BREAK и CONTINUE
- Процедуры, пользовательские функции и триггеры
- Пример процедуры
- Параметры в процедурах
- Параметры по умолчанию в процедурах
- Варианты передачи значений
- Выходные параметры и возврат результата
- Пользовательские функции
- Основные ограничения
- Простая функция
- Функции с запросами
- Принципы создания функций
- Сущность переменной
- Параметр по умолчанию
- Статистика реального времени
- План выполнения запроса
- Статистика запроса
- Триггеры
- Принципы работы триггеров
- Настройка и использование триггеров
- Триггеры типа INSTEAD OF
- Обработка триггером нескольких строк
- Оконные функции в запросах аналитики
- Компоненты оконных функций
- Принципы использования OVER
- Использование PARTITION для группировки данных
- Ограничение рядков в оконных функциях
- Группы оконных функций: агрегатные, ранжировки, смещения, аналитические.
- Возможности CUBE и ROLLUP
- Использование операторов наборов строк: UNION, EXCEPT, INTERSECT
- Запросы с UNION и UNION ALL
- Запросы с EXCEPT и INTERSECT
- PIVOT – возможности использования и альтернативы
- Использование сводных таблиц без PIVOT
- Этапы использования PIVOT
- Сводные таблицы из PIVOT
- PIVOT с группировкой
- PIVOT + UNION
- Альтернативные пути получения сводных таблиц
- Дополнительные темы:
- Реализация обработки ошибок
- Транзакции
- Импорт и экспорт данных
- Оптимизация запросов
- Обработка XML