Skip to content Skip to footer

Для тих, хто вже працює в сфері ІТ, та хоче проапгрейдити свої знання по 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 - це навчальна система. Старт курсу в будь-який день.
12000 за курс
  • Доступ до навчальної системи та бази даних
  • 9 уроків по 2 години
  • Домашка після кожного уроку
  • Проєкт в кінці курсу
  • Сертифікат
  • Телеграмм комюніті з ментором та куратором

Формат навчання - Zoom

Zoom - це система відеоконференцій. Старт курсу 2-3 рази на рік.
19000 за курс
  • Доступ до навчальної системи та бази даних
  • 9 уроків по 2 години
  • Домашка після кожного уроку
  • Проєкт в кінці курсу
  • Сертифікат
  • Телеграмм комюніті з ментором та куратором
  • 2 прямих ефіри питання відповідь
  • Знижка 50% на будь-який курс кращому студенту
  • Підготовка до співбесіди по Hard скілам
  • Підготовка до співбесіди Soft скілам

Відгуки по курсу "Advanced SQL"

Учился SQL в IT Skills. Прошёл подряд сразу два курса: SQL основы и SQL Advanced. Я рад, что попал именно в эту школу, т.к. изложение материала выполнялось интересно и доступно для понимания. Меня с нуля погрузили во все ресурсы IT сферы (JIRA, BitBucket, Confluence и т.д.). После курсов я вышел на компанию, которая за мои знания предложила мне 500$ в месяц. Планирую, для общего развития пройти ещё один курс по Word Press.

 

Николай Комзолов

Николай Комзолов

QA Engineer

Костя, неймовірно велике дякую за курс по SQL advanced. Викладка інфи просто Вау! Інформація подається чітко, розгорнуто, з великою кількістю робочих прикладів. Технічна підтримка та зворотній зв’язок практично у будь-який час. Якість навчального продукту відчув на собі, усім задоволений. Костя, ще раз спасибі!

 

Александр Швабський

Александр Швабський

Back-end Developer

Привет, пишу сказать спасибо за шикарную подачу информации, для меня открылся новый мир. Спасибо за ответы на вопросы. Информация очень доступная и легко усваивается. Спасибо, что веришь в людей и даёшь им инструмент для новых возможностей в жизни.

 

Юлия Анохина

Юлия Анохина

SQL Developer

Ви можете зʼясувати всі питання, чи одразу оплатити курс через систему WayForPay

 

Напиши нам і ми з тобою зв'яжемося.

    Як краще відповісти вам?

    Після отримання форми ми зв’яжемося з вами :) ви також можете написати нам в месенджерах