Вступ до баз даних та мови SQL
Опануйте SQL та реляційні бази — від перших SQL-запитів до проєктування масштабованих рішень!
Курс від Гарвардського університету навчить вас моделювати дані та зв’язки, створювати схеми й оптимізувати продуктивність, працюючи у SQLite, PostgreSQL і MySQL.
Опануйте 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 стипендіати Родса.
ЩО ВИ ВИВЧИТЕ
Цей курс підходить для
Студентів молодших курсів
які прагнуть системно опанувати 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)
Формат курсу
•
Відеолекції
•
Практичні завдання
•
Презентації
•
Матеріали для самостійного опрацювання
•
Фінальний проєкт
Автори курсу
Девід Дж. Малан
Професор комп’ютерних наук імені Гордона Маккея в Школі інженерії та прикладних наук Гарвардського університету, член факультету освіти Аспірантури освіти та директор Лабораторії освітніх інновацій у Відділі безперервної освіти Гарвардського університету.
Коло професійних інтересів: штучний інтелект, комп’ютерне навчання, кібербезпека.
Девід Дж. Малан має ступінь бакалавра з комп’ютерних наук (1999), магістра наук за спеціалізацією інформатика (2004) та доктора філософії комп’ютерних наук (2007) Гарвардського університету.
Картер Зенке
Менеджер з навчальних програм у Hello World CS.
Старший викладач комп’ютерних наук у Гарвардському університеті (до 2024).
Навчався в Оксфордському університеті, має ступінь магістра Гарвардського університету та ступінь бакалавра в Університеті Дюка.
ПЕРЕКЛАД КУРСУ
Переклад курсу став можливим за підтримки Посольства США в Україні. Висловлюємо подяку всім, хто займався перекладом текстових та відеоматеріалів.
ЛІЦЕНЗІЯ
Цей курс розповсюджується за відкритою ліцензією Creative Commons. Авторство курсу належить професору Девіду Малану, Картеру Зенке та Гарвардському університету.
Оригінал курсу –
CS50’s Introduction to Databases with SQL — CS50
доступний англійською мовою на платформі Harvard.edu. Курс перекладено українською з дозволу Гарвардського університету.
Маєте питання?
Курс безкоштовний?
У який час будуть проходити заняття?
Чи зможу я отримати сертифікат після завершення цього курсу?
Не знайшли відповідь?
Центр допомоги