Обробка баз даних та знань

Вибіркова дисципліна
Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 4.5.
Кількість аудиторних занять: 
Лекційних занять - 15, лабораторних занять 7.
Самостійна робота: 
91 година.
Семестровий контроль: 
Залік.
Викладач: 
Макаров Олексій Вікторович.
Анотація: 

Мета вивчення дисципліни: забезпечити сталий розвиток загальних і спеціальних компетенцій здобувачів; сприяти заглибленню у розуміння фундаментальних теоретичних основ та практичної професійної майстерності з введення, аналізу, оцінки, систематизації, моніторингу, організації, зберігання, розповсюдження та надання в користування інформації та знань з баз даних та знань; надати сучасні навички повної цифровізації професійних стратегій інформаційної справи, Сприяти отриманню практичного досвіду професійного командного прийняття рішень на основі підготовки, обробки, візуалізації даних проектної та виробничої сфер в інформаційних технологіях, організувати ознайомлення здобувачів з сучасними трендами розвитку цифрової розбудови та підтримки командних дистанційних асинхронних інформаційних проектів.
Практичне значення та використання отриманих знань: опанування та справжнє розуміння стратегій та алгоритмів професійної підготовки та опрацювання даних, виборки та наочної візуалізації даних для прийняття рішень в області інформаційних систем та технологій; використання глибоких практичних навичок проектування, впровадження, підтримки та утилізації інформаційних ресурсів з інформаційної діяльності як на локальному периметрі компанії, так і в мережевих сервісах; формування нових та закріплення отриманих раніше навичок цифрового професійного ведення проектів за допомогою сучасного апаратного і програмного інструментарію, а також відповідних хмарних рішень від лідерів напрямку індустріального цифрового сектору; консолідація творчих і професійних можливостей для застосування отриманих на курсі знань і технологій у внутрішніх та зовнішніх проектах університету, кафедральних розробках, хакатонах та професійній діяльності.

Тематика та види навчальних занять

Для денної форми здобуття освіти.

Лекційні заняття
Лекція 1. “Вступ до сучасної інженерії даних та роль Generative AI. Огляд ролі Data Engineer (інженера даних) як спеціаліста, що створює та підтримує інфраструктуру для роботи з даними. Вплив AI та Generative AI на підготовку даних. Концепція цифрового наставника (на прикладі Google Gemini) як інструменту для підвищення продуктивності фахівця”.
Лекція 2. “Реляційні бази даних та основи SQL. Реляційна модель даних, СУБД та їх функції. Поняття ключа (первинний, зовнішній). Нормалізація: 1NF, 2NF, 3NF, як процес покращення структури БД”.
Лекція 3. “Базові SQL-запити та предикати. Оператор SELECT та його розділи (FROM, WHERE, ORDER BY, LIMIT). Предикати (BETWEEN, NULL, IN, LIKE, EXISTS). Використання AI-наставника для генерації та оптимізації простих SQL-запитів”.
Лекція 4. “Агрегатні функції та групування даних. Використання функцій COUNT(), SUM(), AVG(), MIN(), MAX(). Групування даних (GROUP BY) та фільтрація груп (HAVING)”.
Лекція 5. “Операції з'єднання (JOIN) та псевдоніми. Типи з'єднань: INNER JOIN, LEFT/RIGHT OUTER JOIN, їх застосування. Використання псевдонімів (AS) для таблиць та стовпців”.
Лекція 6. “Вкладені запити та корельовані підзапити. Скалярні (одне значення) та спискові (IN) підзапити. Корельовані підзапити. AI як помічник у декомпозиції складних запитів та написанні підзапитів”.
Лекція 7. “Функції обробки даних, дати та часу (MySQL). Функції обробки рядків (CONCAT, REPLACE, TRIM). Функції обробки дати та часу (CURDATE, DATEDIFF, DATE_FORMAT).
Лекція 8. “Проєктування DWH та ETL/ELT. Роль DWH (сховища даних). Процеси ETL/ELT (Extract, Transform, Load) як основа роботи інженерії даних. Моделі DWH (Dimensional Model, Data Vault, 3NF)”.
Лекція 9. “Концепції Data Modeling. Вимоги до проєктування DWH: Dimensional Model (Star Schema) як найбільш поширений підхід. Star Schema (Факт/Вимір) проти Snowflake Schema ”.

Лекція 10. “Вступ до dbt: Трансформації як код, dbt як інструмент трансформації даних. Використання AI-наставника (на прикладі dbt Copilot) для генерації базових SQL-моделей та YAML-конфігурацій”.
Лекція 11. “DBT: Моделі та Materializations. Типи моделей (View, Table, Incremental, Ephemeral, Materialized Views). Вибір оптимальної Materialization ”.
Лекція 12. “Якість даних та тестування (Data Quality). Типи тестів (Singular, Generic, Unit). Вбудовані тести (unique, not_null, relationships). Застосування AI-наставника для пропозиції тестового покриття та генерації Unit-тестів”.
Лекція 13. “Управління змінами: Snapshots та SCD, метаполя Snapshot, стратегії моніторингу змін (timestamp, check)”.
Лекція 14. “Масштабування, Git та Data Governance. Системи контролю версій (Git) та CI/CD пайплайни. dbt Mesh для крос-проєктної співпраці. Концепції Data Contracts. Використання AI для автоматичного документування”.
Лекція 15. “Семантичний шар (Semantic Layer) та майбутні тренди. Проблема "метричного спагеті". Компоненти Semantic Layer (Entities, Dimensions, Measures). Роль Generative AI у Data Governance та підготовка якісних датасетів для ML/GenAI ”.

Практичні заняття
Практичне заняття №1. “Налаштування середовища (MySQL) та занурення до основ SQL. Використання AI-наставника для навігації в терміналі та генерації команд DDL/DML”.
Мета заняття: опанувати впевниними навичками підключення до СУБД, створення БД та введення/видалення/зміни даних (CREATE TABLE, INSERT INTO, UPDATE, DELETE).
Практичне заняття №2. “Відпрацюання простих та агрегатних SQL-запитів. Оптимізація запитів за допомогою AI-наставника”.
Мета заняття: опанувати навичками побудови запитів з фільтрацією, сортуванням та групуванням.
Практичне заняття №3. “Виконання складних SQL: JOIN, підзапити та функції. Внутрішні та зовнішні з'єднання. Створення вкладених та корельованих запитів. Використання AI-наставника для розробки складних JOIN-структур та пошуку помилок у логіці запитів”.
Мета заняття: опанувати навичками інтеграції даних із декількох таблиць та використання підзапитів.
Практичне заняття №4.“Конфігурація dbt-проєкту та робота з Sources/Seeds. Автоматизація генерації YAML-файлів та документації за допомогою AI-наставника”.
Мета заняття: налаштувати dbt-проєкт, створити Sources та Seeds. Опанувати референсами ref() та source().
Практичне заняття №5.“Використання Python-моделей для складних перетворень. Використання AI-наставника для перетворення складних SQL-конструкцій у Python-логіку та допомоги у написанні ETL-скриптів”. 
Мета заняття: опанувати методологією модульних трансформацій (ETL/ELT) та застосуванням Python для трансформації даних.
Практичне заняття №6.“Тестування, якість даних та Snapshots. Використання AI-наставника для генерації та перевірки Unit-тестів на SQL-логіку”.
Мета заняття: опанувати навичками тестування даних (unique, not_null) та відстеження історії змін (Snapshots).
Практичне заняття №7.“ Впровадження Semantic Layer та Data Governance. Консультації з AI-наставником щодо Data Governance та стратегій масштабування”.
Мета заняття: опанувати технологію Semantic Models та використанням ключових метрик (KPI).

Для заочної форми здобуття освіти

Лекційні заняття
Лекція 1. “Вступ до сучасної інженерії даних та роль Generative AI. Огляд ролі Data Engineer (інженера даних) як спеціаліста, що створює та підтримує інфраструктуру для роботи з даними. Вплив AI та Generative AI на підготовку даних. Концепція цифрового наставника (на прикладі Google Gemini) як інструменту для підвищення продуктивності фахівця”.
Лекція 2. “Реляційні бази даних та основи SQL. Реляційна модель даних, СУБД та їх функції. Поняття ключа (первинний, зовнішній). Нормалізація: 1NF, 2NF, 3NF, як процес покращення структури БД”.

Практичні заняття
Практичне заняття №1. “Налаштування середовища (MySQL) та занурення до основ SQL. Використання AI-наставника для навігації в терміналі та генерації команд DDL/DML”.
Мета заняття: опанувати впевниними навичками підключення до СУБД, створення БД та введення/видалення/зміни даних (CREATE TABLE, INSERT INTO, UPDATE, DELETE).

Консультації . 
Консультації за питаннями курсу та активностях здобувачів на курсі  здійснюються впродовж семестру згідно встановленого розкладу, та додатково у рамках встановленої на курсі методології командного спілкування та проектної комунікації у цифровому інструментарії по запитах команди та індивідуальним запитам здобувачів. Інструментарієм підтримки консультацій є практично всі цифрові інструменти за курсом, онлайн консультації за запитом, форуми та Q&A сесії, а також очне спілкування на кафедрі та у лабораторії iXTF Labs.

Форми контрольних заходів та оцінювання результатів навчання

Для денної форми здобуття освіти.

Поточний контроль полягає у виконанні: 
1) Лабораторних робіт, бездоганне виконання яких сумарно оцінюється у 35 балів. Кожна з практичних робіт поділяється на 3 етапи, кожний з яких оцінюється окремо: 
 – опрацювання завдання до роботи, підготовка теоретичної та інструментальної бази, створення інформаційного ресурсу та відповідь на контрольні запитання – 1 бал;
– виконання експериментально-дослідної та аналітико-інфографічної частин практичної роботи – 2 бали;
– активна презентація роботи та її захист – 2 бали.
2) двох модульних контрольних робіт. Перша модульна контрольна робота складається з теоретичної (3 запитання) і практичної частин (1 задача) та виконуються у письмовій формі. Відповідь на кожне теоретичне питання оцінюється максимум 5 балами. Правильне розв’язання задачі оцінюється в 10 балів. Бездоганне виконання двох модульних контрольних робіт становить 50 балів. 
3) Виконання розрахунково-графічної роботи. Бездоганне виконання та захист роботи у встановлений строк оцінюється в максимальні 15 балів.

Підсумковий контроль – накопичувальний залік. Максимальна оцінка, яку може отримати здобувач – 100 балів. Мінімальна оцінка, яка дозволяє отримати «зараховано» – 60 балів. 

Для заочної форми здобуття освіти

Поточний контроль полягає у виконанні: 
1) Лабораторної роботи, бездоганне виконання якої сумарно оцінюється у 25 балів. Робота поділяється на 3 етапи, кожний з яких оцінюється окремо: 
 – опрацювання завдання до роботи, підготовка теоретичної та інструментальної бази, створення інформаційного ресурсу та відповідь на контрольні запитання – 5 балів;
– виконання експериментально-дослідної та аналітико-інфографічної частин практичної роботи – 5 балів;
– активна презентація роботи та її захист – 15 балів.
2) Виконання контрольної роботи за курсом. Контрольна робота складається з теоретичної (3 запитання) і практичної частин (1 задача) та виконуються у письмовій формі. Відповідь на кожне теоретичне питання оцінюється максимум 10 балами. Правильне розв’язання практичного завдання оцінюється в 30 балів. Бездоганне виконання модульної контрольної роботи становить 60 балів. 
3) Виконання розрахунково-графічної роботи. Бездоганне виконання та захист роботи у встановлений строк оцінюється в максимальні 15 балів.

Підсумковим контролем за курсом є накопичувальний залік. Максимальна оцінка, яку може отримати здобувач – 100 балів. Мінімальна оцінка, яка дозволяє отримати «зараховано» – 60 балів. 
 

Компетентності: 

К1. Здатність здійснювати відбір, аналіз, оцінку, систематизацію, моніторинг, організацію, зберігання, розповсюдження та надання в користування інформації та знань у будь-яких форматах.
К2. Здатність використовувати методи систематизації, пошуку, збереження, класифікації інформації для різних типів контенту та носіїв.
К3. Здатність використовувати сучасні прикладні комп’ютерні технології, програмне забезпечення, мережеві та мобільні технології для вирішення професійних завдань.

Передумови вивчення дисципліни: 

Навички використання інформаційних і комунікативних технологій.
Здатність до пошуку, опрацювання та аналізу інформації з різних джерел.

Результати навчання: 

РН1. Оцінювати можливості застосування новітніх інформаційно-комп’ютерних та комунікаційних технологій для вдосконалення практик виробництва інформаційних продуктів і послуг.
РН2. Використовувати знання технічних характеристик, конструкційних особливостей, призначення і правил експлуатації комп’ютерної техніки та офісного обладнання для вирішення технічних завдань спеціальності.
РН3. Демонструвати обізнаність в сучасних інформаційних технологіях при виконанні завдань професійного характеру.

2024 рік