Для тих, хто вже працює в сфері ІТ, та хоче проапгрейдити свої знання по SQL.
Кому підійде курс:
- Аналітикам даних / BI
- Інженерам даних / ETL
- Backend розробникам
- DBA
Програма курсу
1. Аналіз плану виконання SQL запитів:
– Cost, Cardinality, Stop partitions, Start partitions
– Full Scan, Index Unique Scan, Index Range Scan
– Merge Join, Nested Loops, Hash Join
2. Hints (Підказки):
– /*+ ORDERED */
– /* + INDEX (TABLE_NAME INDEX_NAME) */
– /*+ LEADING(TABLE_NAME1 TABLE_NAM2) */
– /*+ FULL(TABLE_NAME)*/
– /*+ PARALLEL(4)*/
Опрацювання плану виконання допомагає зрозуміти, як саме база даних обробляє запити, які шляхи доступу до даних обирає та чому. Це відкриває можливості оптимізувати складні запити, скоротити час виконання й за потреби «підказати» оптимізатору, який шлях кращий, використовуючи Hints.
1. Типи індексів:
– B-Tree
– Composite
– Unique
– Bitmap
– Index full-text search
Індекси – це інструмент, що дозволяє значно прискорити пошук і фільтрацію даних. Розуміння різних типів індексів (B-Tree, Bitmap, повнотекстові…) дає змогу обирати оптимальний варіант для кожного сценарію вибірки даних та допомагає уникати непотрібні повні скануваня таблиць (full scan table).
1. Partition (Партішини):
– RANGE PARTITIONING
– LIST PARTITIONING
– HASH PARTITIONING
2. Subpartition (Суб-партішини):
– SUBPARTITION BY HASH
– SUBPARTITION BY LIST
Розбиття великих таблиць на окремі логічні частини (партішини) спрощує роботу з даними та пришвидшує запити. Партішини та субпартішини дозволяють обмежувати обробку лише потрібними розділами, знижуючи навантаження на систему та підвищуючи ефективність.
1. Нормалізація баз даних:
– Перша нормальна форма (1NF)
– Друга нормальна форма (2NF)
– Третя нормальна форма (3NF)
2. Денормалізація баз даних:
– Порушення нормалізації для продуктивності
– Спрощення доступу до агрегованих даних
3. Обмеження цілісності даних:
– UNIQUE
– NOT NULL
– PRIMARY KEY
– FOREIGN KEY
– CHECK
– DEFAULT
Грамотна архітектура баз даних запобігає дублюванню інформації та підтримує її узгодженість. Обмеження на рівні БД автоматично перевіряють правильність введених даних, захищаючи систему від помилок і порушення логіки.
1. CTE таблиці:
– MATERIALIZE
– INLINE
– multi CTE
2. Функція PIVOT:
– Аналіз даних за допомогою PIVOT
– Нормалізація даних за допомогою PIVOT
3. Функція UNPIVOT:
– Аналіз даних за допомогою UNPIVOT
CTE таблиці роблять складні запити зрозумілими й зручними для супроводу, а PIVOT та UNPIVOT допомагають швидко змінювати форму подання даних. Це особливо корисно для побудови звітів і виконання аналітичних завдань без додаткової обробки у зовнішніх інструментах.
1. Агрегатні функції у вікні:
– avg() over()
– count() over()
– sum() over()
– min() over()/max() over()
2. Функції ранжування (Ranking Functions):
– row_number()
– rank()/dense_rank()
3. Функції розподілу (Distribution Functions):
– percent_rank()
– cume_dist()
Віконні функції дозволяють виконувати підрахунки підсумків, середніх, мінімальних чи максимальних значень по групах, зберігаючи деталізацію по кожному рядку. Вони допомагають писати компактний і елегантний SQL-код, який часто виявляється продуктивнішим за традиційні підзапити чи складні об’єднання.
1. Аналітичні функції (Analytic Functions):
– lead()
– lag()
– listagg()
– first_value()
– last_value()
2. Функції умовної агрегації (dense_rank):
– min keep (dense_rank first/last order by…)
– max keep (dense_rank first/last order by…)
– sum keep (dense_rank first/last order by…)
– avg keep (dense_rank first/last order by…)
– count keep (dense_rank first/last order by…)
Аналітичні функції на кшталт lead, lag чи listagg дозволяють аналізувати зміни у часі, об’єднувати значення в один рядок або знаходити перші та останні значення в групі. У поєднанні з умовною агрегацією це створює потужний арсенал для роботи з аналітичними завданнями.
1. Ієрархічні (рекурсивні) запити:
– START WITH
– CONNECT BY PRIOR
– LEVEL
– SYS_CONNECT_BY_PATH
– CONNECT_BY_ROOT
– Рекурсивні CTE
Коли дані мають деревоподібну структуру, як от каталог товарів чи у виді ієрархії в якійсь організації, ієрархічні запити дозволяють легко будувати зв’язки між рівнями. Це спрощує пошук, агрегацію та навігацію по таких структурах.
1. Регулярні вирази (Regular Expression):
– REGEXP_LIKE
– REGEXP_SUBSTR
– REGEXP_REPLACE
– REGEXP_INSTR
– REGEXP_COUNT
Ці знання треба для парсинг даних та перевірки формату даних (email, телефон, коди…). Також регулярні вирази використовують для складного пошуку даних, це там, де звичайний LIKE вже не справляється.
Розробка бази даних – від створення структури таблиць, наповнення даних до виконання складних аналітичних запитів, з основних тем курсу:
План виконання запитів, індекси, партиціювання, обмеження цілісності даних, CTE, віконні функції, ієрархічні запити, регулярні вирази.
Кількість занять: 9
Дата найближчої групи: –
Графік занять: 2 рази на тиждень
Вівторок та четвер: 19.00 ~ 21:30
Викладач: Костя Надєждін
Спеціальні пропозиції
💼 Корпоративні знижки:- 2 людини: знижка 10%
- 3 людини: знижка 15%
- 4 і більше людей: знижка 20%
- 50% знижка на всі курси
- Скористайтесь безвідсотковою оплатою частинами від Монобанку та ПриватБанку.
- Також є можливість розбити платіж на рівні частини через перерахування коштів на ФОП рахунок.
Формат навчання - LMS
LMS - це навчальна система. Старт курсу в будь-який день.-
Доступ до навчальної системи та бази даних
-
9 уроків по 2 години
-
Домашка після кожного уроку
-
Проєкт в кінці курсу
-
Сертифікат
-
Телеграмм комюніті з ментором та куратором
Формат навчання - Zoom
Zoom - це система відеоконференцій. Старт курсу 2-3 рази на рік.-
Доступ до навчальної системи та бази даних
-
9 уроків по 2 години
-
Домашка після кожного уроку
-
Проєкт в кінці курсу
-
Сертифікат
-
Телеграмм комюніті з ментором та куратором
-
2 прямих ефіри питання відповідь
-
Знижка 50% на будь-який курс кращому студенту
-
Підготовка до співбесіди по Hard скілам
-
Підготовка до співбесіди Soft скілам
Відгуки по курсу "Advanced SQL"
Учился SQL в IT Skills. Прошёл подряд сразу два курса: SQL основы и SQL Advanced. Я рад, что попал именно в эту школу, т.к. изложение материала выполнялось интересно и доступно для понимания. Меня с нуля погрузили во все ресурсы IT сферы (JIRA, BitBucket, Confluence и т.д.). После курсов я вышел на компанию, которая за мои знания предложила мне 500$ в месяц. Планирую, для общего развития пройти ещё один курс по Word Press.
Николай Комзолов
Костя, неймовірно велике дякую за курс по SQL advanced. Викладка інфи просто Вау! Інформація подається чітко, розгорнуто, з великою кількістю робочих прикладів. Технічна підтримка та зворотній зв’язок практично у будь-який час. Якість навчального продукту відчув на собі, усім задоволений. Костя, ще раз спасибі!
Александр Швабський
Ви можете зʼясувати всі питання, чи одразу оплатити курс через систему WayForPay