Курс призначений для адміністраторів БД, розробників БД та клієнтських додатків, а також фахівців в області бізнес-аналітики. Він буде цікавий для користувачів, які бажають розуміти роботу БД, вміти створювати запити для підтримки роботи систем автоматизації та з розумінням формувати аналітичні запити.
Після закінчення курсу слухачі зможуть:
- описати основні концепції архітектури 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