Вступ до баз даних та мови SQL

Безплатно
course image

Опануйте SQL та реляційні бази — від перших SQL-запитів до проєктування масштабованих рішень!

Курс від Гарвардського університету навчить вас моделювати дані та зв’язки, створювати схеми й оптимізувати продуктивність, працюючи у SQLite, PostgreSQL і MySQL.

Записатись на курс
  • Доступний постійно
  • Уперше українською
  • Сертифікат по закінченню
  • Тривалість – 11,5 годин

НАВЧАЙТЕСЬ В НАЙКРАЩИХ УНІВЕРСИТЕТАХ СВІТУ БЕЗПЛАТНО

Упродовж трьох років ми побудуємо унікальну освітню систему — 50 курсів найкращих світових університетів у перекладі українською мовою абсолютно безплатно на нашій платформі.

Проєкт включає курси Гарварда, Массачусетського технологічного інституту, університетів Дюка, Джонса Гопкінса, Іллінойсу та Каліфорнійського університету — і це лише початок. Ми робимо світову освіту доступною кожному.

Проєкт реалізовано Prometheus у партнерстві з Посольством США в Україні та Міністерством освіти і науки України

Про курс

Менеджмент ІТ

Курс «Вступ до баз даних та мови SQL» познайомить вас з основами мови SQL та принципами побудови реляційних баз даних, які лежать в основі сучасних інформаційних систем і процесів зберігання та обробки даних.

Ви почнете з вивчення SQLite для швидкого старту, а далі опануєте PostgreSQL та MySQL для побудови масштабованих і продуктивних рішень. Ви дізнаєтеся, як:

  • Створювати, читати, оновлювати та видаляти дані

  • Моделювати сутності й зв’язки, будувати схеми та ER-діаграми

  • Нормалізувати дані й застосовувати обмеження

  • Об’єднувати таблиці та працювати з множинами

  • Створювати представлення, тимчасові таблиці та CTE

  • Використовувати індекси, оптимізувати запити та працювати з транзакціями

  • Масштабувати бази даних, управляти доступом і захищати БД від SQL-ін’єкцій

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

Усі матеріали курсу та можливість отримати сертифікат доступні в будь-який час після запису на курс.

Партнер курсу

ПРО УНІВЕРСИТЕТ ТА АВТОРІВ

Автори курсу:

Девід Дж. Малан— професор комп’ютерних наук імені Гордона Маккея в Школі інженерії та прикладних наук Гарвардського університету, директор Лабораторії освітніх інновацій у Відділі безперервної освіти Гарвардського університету.

Картер Зенке — менеджер з навчальних програм у Hello World CS, старший викладач комп’ютерних наук у Гарвардському університеті (до 2024).

Гарвардський університет — входить до п’ятірки кращих університетів світу за версією QS World University Rankings (2025). Серед вихованців університету — 8 президентів США, понад 160 Нобелівських лауреатів, 48 лауреатів Пулітцерівської премії, 9 лауреатів премії Тюрінга, 10 лауреатів премії «Оскар», 7 власників медалі Філдса, 252 стипендіати Маршалла, 399 стипендіати Родса.

ЩО ВИ ВИВЧИТЕ

icon

Основи SQL: створення таблиць і написання базових SQL-запитів

icon

Роботу з реляційними моделями: побудову сутностей і зв’язків, первинні та зовнішні ключі

icon

Нормалізацію даних: уникнення дублювання та помилок у схемах

icon

Об’єднання даних: JOINи та множини

icon

Схеми й обмеження

icon

CRUD-операції

icon

Представлення даних та СТЕ: спрощення доступу, агрегація, захист даних

icon

Оптимізацію даних: індекси, транзакції, блокування

icon

Масштабування та безпеку: реплікації, шардинг, контроль доступу, захист від SQL-ін’єкцій

Цей курс підходить для

Студентів молодших курсів

які прагнуть системно опанувати SQL і створити перший проєкт для портфоліо

Програмістів-початківців

які прагнуть працювати з базами даних у реальних застосунках: проєктувати схеми, писати SQL-запити та оптимізувати продуктивність

Аналітиків даних, BI‑фахівців

які прагнуть формувати коректні SQL-вибірки, агрегувати дані, будувати views і CTE для аналітики даних

Підприємців та операційних менеджерів

які прагнуть навести лад у даних, створювати прості внутрішні БД для звітності та швидко отримувати необхідні метрики

QA, тестувальників‑автоматизаторів

які прагнуть перевіряти й готувати тестові дані, писати SQL‑запити для валідації даних, працювати з обмеженнями, тригерами та транзакціями

Фахівців суміжних сфер (маркетинг, фінанси)

які прагнуть говорити «однією мовою» з технічними командами й ефективніше працювати з даними

ПРОГРАМА КУРСУ

Тиждень 0. Запити до баз даних

·

Таблиці та бази даних
Системи керування базами даних (СКБД)
Основи SQL
Робота з SQLite
Оператор SELECT
Обмеження результатів: LIMIT, OFFSET
Умови вибірки: WHERE
Порівняння та логічні оператори (NOT, NULL)
Пошук за шаблоном (Pattern Matching, LIKE)
Складені умови
Умови діапазону
Сортування (ORDER BY)
Агрегатні функції (Aggregate Functions)
Округлення (ROUND)
Вибір унікальних значень (DISTINCT)

Тиждень 1. Побудова зв’язків у базах даних

·

Реляційні бази даних
Типи зв’язків: «один до одного», «один до багатьох», «багато до багатьох»
Діаграми зв’язків між сутностями (ER-діаграми)
Ключі: первинний (Primary Key) і зовнішній (Foreign Key)
Підзапити (Subqueries)
Використання оператора IN
Об’єднання таблиць (Joins): INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, NATURAL JOIN, Outer Joins
Множини в SQL: INTERSECT, UNION, EXCEPT
Групування даних: GROUP BY, HAVING

Тиждень 2. Проєктування баз даних

·

Схеми баз даних (Schemas)
Нормалізація даних (Normalizing)
Типи даних і класи зберігання (Data Types, Storage Classes)
Типові зв’язки типів (Type Affinities)
Обмеження таблиць (Table Constraints): PRIMARY KEY, FOREIGN KEY
Обмеження стовпців (Column Constraints): CHECK, DEFAULT, NOT NULL, UNIQUE
Зміни в таблицях (Altering Tables): DROP TABLE, ALTER TABLE, ADD COLUMN, RENAME COLUMN, DROP COLUMN
Приклад проєктування на практиці (Charlie)

Тиждень 3. Робота з даними

·

Основні операції CRUD: Create, Read, Update, Delete
Додавання даних (INSERT INTO)
Робота з CSV-файлами (.import)
Видалення даних (DELETE FROM)
Обмеження зовнішніх ключів (Foreign Key Constraints)
Оновлення даних (UPDATE)
Тригери (Triggers)
М’яке видалення записів (Soft Deletions)

Тиждень 4. Представлення даних

·

Уявлення (представлення) даних (Views)
Створення уявлень (CREATE VIEW)
Спрощення запитів за допомогою уявлень
Агрегування даних через уявлення
Тимчасові уявлення (Temporary Views)
Створення тимчасових уявлень (CREATE TEMPORARY VIEW)
Загальні табличні вирази (Common Table Expressions)
Розподіл і безпека даних через уявлення
М’яке видалення в уявленнях (Soft Deletions)

Тиждень 5. Оптимізація запитів

·

Індекси (Indexes)
Створення індексів (CREATE INDEX)
Аналіз плану виконання запитів (EXPLAIN QUERY PLAN)
Покривні індекси (Covering Indexes)
Структури даних B-дерев (B-Trees)
Часткові індекси (Partial Indexes)
Очищення бази даних (VACUUM)
Паралельність і одночасний доступ (Concurrency)
Транзакції (Transactions)
Властивості ACID: Atomicity, Consistency, Isolation, Durability
Керування транзакціями: BEGIN TRANSACTION, COMMIT, ROLLBACK
Стан перегонів (Race Conditions)
Блокування (Locks)

Тиждень 6. Масштабування та безпека

·

Масштабованість (Scalability)
Основи MySQL: цілі числа, рядки, дати, час, дійсні числа, неточність з плаваючою комою, фіксована точність, зміна таблиць
Збережені процедури (Stored Procedures)
Основи PostgreSQL
Вертикальне та горизонтальне масштабування
Реплікація (Replication)
Читальні репліки (Read Replicas)
Шардінг (Sharding)
Контроль доступу (Access Controls): GRANT, REVOKE
Захист від SQL-ін’єкцій (SQL Injection Attacks)
Підготовлені запити (Prepared Statements)

Формат курсу

Відеолекції

Доступно і зрозуміло про SQL та реляційні бази даних від викладачів Гарвардського університету. Загальна тривалість лекцій — 11,5 годин.

Практичні завдання

Відпрацьовуйте отримані знання на реальних наборах даних. Завдання допоможуть закріпити синтаксис SQL, роботу з обмеженнями, представленнями, індексами та транзакціями.

Презентації

Вивчайте матеріал легко та ефективно! Переглядайте структуровані конспекти з основними тезами лекцій та прикладами коду, щоб швидко зрозуміти та запам’ятати ключові аспекти курсу.

Матеріали для самостійного опрацювання

Посилання на сайти та технічну документацію, щоб поглибити знання й швидко знаходити потрібні рішення. Додаткові ресурси стануть у нагоді для практики поза межами курсу та створення власних кейсів.

Фінальний проєкт

Створіть власну базу даних і презентуйте результат у вигляді документації й коду. Це готовий проєкт для вашого портфоліо.

Автори курсу

Девід Дж. Малан

mentor image

Професор комп’ютерних наук

Картер Зенке

mentor image

Менеджер з навчальних програм у Hello World CS

ПЕРЕКЛАД КУРСУ

Переклад курсу став можливим за підтримки Посольства США в Україні. Висловлюємо подяку всім, хто займався перекладом текстових та відеоматеріалів.

logo3d

ЛІЦЕНЗІЯ

Цей курс розповсюджується за відкритою ліцензією Creative Commons. Авторство курсу належить професору Девіду Малану, Картеру Зенке та Гарвардському університету.

Оригінал курсу – CS50’s Introduction to Databases with SQL — CS50 доступний англійською мовою на платформі Harvard.edu. Курс перекладено українською з дозволу Гарвардського університету.

Маєте питання?

Курс безкоштовний?
Так, курс безкоштовний завдяки підтримці Посольства США в Україні. Усе, що вам знадобиться, — доступ до мережі інтернет на швидкості, достатній для перегляду відеолекцій.
У який час будуть проходити заняття?
Відеолекції, завдання, форум і можливість отримати сертифікат доступні в будь-який час.
Чи зможу я отримати сертифікат після завершення цього курсу?
Так. Успішно виконайте всі завдання курсу та отримайте сертифікат про його завершення. Указання годин та кредитів ЄКТС на сертифікаті не передбачено.

Не знайшли відповідь?

Центр допомоги