Всім привіт! Сьогодні ми починаємо новий шикарний курс по SQL.
Курс розрахований на людей (ти ж точно не робот?), які взагалі не знають SQL, але дуже хочуть це виправити🧠. Ти почнеш з самих азів, а закінчиш вивченням збережених процедур, вкладених транзакцій, тригерів і автоматизацією створення звітів.
В курсі тебе чекають сотні практичних задач, які допоможуть побудувати міцний місток між теорією і реальним застосуванням SQL. Ну а в самому кінці тебе чекає великий фінальний проект на 100+ таблиць😅.
Наша ціль — дати тобі впевнене володіння SQL для вирішення будь-яких задач з даними. Після курсу SQL стане для тебе інтуїтивно зрозумілим інструментом. Тобі не доведеться довго думати над складанням запитів, проектуванням баз даних чи вирішенням складних аналітичних задач — все буде виходити природньо і швидко.
Підхід до подачі матеріалу
В процесі курсу деякі теми будуть згадуватись коротко, а потім детально розбиратись в окремих лекціях. Наприклад, при знайомстві з реляційною моделлю даних неможливо не згадати про зв’язки між таблицями. Так само, на початкових етапах ми можемо показувати дуже прості схеми баз даних чи приклади, без зайвих деталей, щоб не перевантажувати.
Такий підхід потрібен для поетапного освоєння матеріалу — щоб розкрити одну тему, часто треба дати базове уявлення про інші. Тому не хвилюйся, всі прогалини ми обов’язково заповнимо в процесі навчання.
Структура курсу
Курс організований по рівнях, кожен з яких містить кілька лекцій. В лекціях тебе чекають теорія, практичні задачі і тести для закріплення матеріалу.
На перших рівнях всі задачі можна вирішувати прямо на сайті — ніяких додаткових програм встановлювати не треба. А через кілька рівнів ми крок за кроком встановимо PostgreSQL і професійну IDE та потрібні плагіни. Все поступово і по порядку.
Чому саме PostgreSQL?
PostgreSQL — це передова і дуже популярна база даних, її можливостей нам вистачить для будь-якого проекту. Її використовують банки, стартапи, магазини, ігрові студії. З нею ти зможеш створити хоч Instagram, хоч атомну електростанцію для керування кавомашинами. Ну, а якщо захочеш більшого, то після PostgreSQL дуже легко перейти на більш "важкі" Microsoft SQL Server чи навіть Oracle DB(!).
Ми будемо все робити на прикладі бази даних PostgreSQL 17. І тобі радимо так само!
Це все чекає на тебе в майбутньому, а сьогодні ми почнемо з самого початку...
Так хто ж такі ці бази даних?
Уяви, що ти зберігаєш всі свої важливі дані — паролі, списки покупок, номери колишніх і улюблені рецепти — в одній гігантській Excel-таблиці під назвою "zhyttia.xlsx"📉. З кожним днем ця таблиця росте, гальмує, ламається, і в якийсь момент ти розумієш: пора дорослішати і зберігати дані в більш зручному форматі. Час переходити на бази даних.
База даних — це не просто таблиця. Це як Excel, але Супер-Excel: вона вміє швидко шукати, фільтрувати, оновлювати дані. Не боїться мільйонів рядків, не гальмує і не каже «файл пошкоджено» 💔. Одним словом, це як прокачаний помічник, який не забуде, де ти зберіг номер тієї самої зустрінутої колись у старому доброму доковідному 2019 році.
Навіщо вони мені потрібні?
— спитаєш ти. І чи потрібні взагалі? Бо ж я ними зовсім не користуюсь... А ти впевнений?
Все у твоєму телефоні зберігається в базах даних. Фото, повідомлення, листи і нотатки — ВСЕ зберігається в базах даних. І навіть якщо ти вже давно переїхав у хмару, то рано розслаблятись — тепер твої дані зберігаються в хмарі в тих же базах даних😬. Весь інтернет, всі дані у світі зберігаються в базах даних. І якщо ти айтішник, то можеш на цьому факті добре заробити 💰.
Ні, серйозно, це правда! Ось дивись:
- Інтернет-магазини: коли ти додаєш товар у кошик, підключається база даних, щоб зберегти твій вибір, а потім передати дані на оплату.
- Соціальні мережі: лайки, коментарі, друзі — все це зберігається в базах даних.
- Банківська система: бази даних дозволяють відстежувати баланс, проводити транзакції і забезпечувати миттєвий доступ до інформації.
Все це стає можливим завдяки базам даних, які забезпечують:
- Зберігання: дані не губляться, як ціла шухляда з документами.
- Управління: дані організовані, структуровані і доступні.
- Витягування: можна швидко і легко отримати конкретну інформацію.
Основні елементи бази даних
База даних побудована на кількох базових цеглинках, про які ти зараз дізнаєшся. На цьому етапі ми зробимо просте порівняння — база даних схожа на таблиці в Excel (тільки набагато крутіше!).
Таблиці
Уяви табличку в Excel: є рядки і стовпці, і все акуратно організовано. Приблизно так само працює таблиця в базі даних. Таблиця — це основна структура зберігання даних у базі даних.
Кожна таблиця:
- Має свою назву (наприклад,
studentsабоcourses). - Складається з рядків і стовпців.
Рядки
Рядки — це записи або об'єкти, які ти зберігаєш. Один рядок — це один об'єкт/сутність, наприклад інформація про студента.
Приклад рядка в базі даних про студентів:
id: 1, name: Олекс, age: 20, group: A1
Стовпці
Стовпці — це властивості або атрибути об'єкта. Їх ще можуть називати колонками. Наприклад:
id— унікальний номер студента.name— його ім'я.age— вік.group— назва групи, в якій він навчається.
Такий підхід дозволяє нам розділити дані на частини і точно знати, що і де шукати.
Так виглядає наша таблиця students:
Як це працює на практиці?
Для Excel-таблиць у нас є програма (власне сам Microsoft Excel) і його документи. Так само і з базами даних. Програму баз даних прийнято називати СУБД (Система управління базами даних), а її "документи" — просто базами даних.
СУБД дозволяє:
- Додавати нові рядки в таблиці (наприклад, нового студента).
- Змінювати дані в будь-якому стовпці.
- Шукати інформацію, наприклад: "Знайди всіх студентів з групи A1".
- Видаляти рядки, якщо вони більше не потрібні.
Процес роботи з даними через СУБД
Ти, як користувач або розробник, не працюєш напряму з файлами, де зберігаються дані. Замість цього ти формулюєш свій "запит" – що саме хочеш отримати чи змінити – і передаєш його СУБД. Найчастіше для цього використовується спеціальна мова запитів, і найпоширеніша з них – SQL, яку ми і будемо вивчати. СУБД приймає твій SQL-запит, "розуміє" його, звертається до бази даних, виконує потрібні операції і потім повертає тобі результат.
Дуже проста схема роботи з базою даних:
- Користувач створює запит.
- Запит передається в СУБД.
- СУБД звертається до бази даних.
- База даних повертає інформацію в СУБД.
- СУБД обробляє дані на основі запиту.
- Результат повертається користувачу.
Навіщо потрібні бази даних?
На цьому етапі дехто з вас міг подумати: "Здається, це просто покращена версія Excel, навіщо так ускладнювати?"
Ось кілька причин, чому бази даних потрібні:
- Робота з великими обсягами даних. Уяви, що тобі треба керувати даними мільйонів користувачів. Таблиці Excel навряд чи це витримають.
- Зручний доступ до інформації. Якщо запит звучить як "Знайди всіх студентів старше 20 років з групи A1", бази даних зроблять це за пару мілісекунд. В Excel — удачі.
- Організація і цілісність даних. Бази даних гарантують, що інформація буде залишатись організованою і не суперечливою.
- Багатокористувацький доступ. Ти і твій колега можете працювати з однією і тією ж базою даних без конфліктів. Її структура це дозволяє.
Уяви, що ти створюєш інтернет-магазин. Тобі треба зберігати інформацію про товари (їх назви, ціни, категорії), про своїх покупців (імена, контактні дані) і, звісно, про замовлення (хто, що і коли купив). Якщо спробувати вмістити все це в одну велику таблицю, вона дуже швидко стане громіздкою, дані почнуть повторюватись, і в ній буде складно щось знайти чи оновити без помилок.
Бази даних пропонують більш елегантне рішення: розділити інформацію на логічні блоки (таблиці). Кожна таблиця буде зберігати дані про один конкретний тип об'єктів (наприклад, тільки про товари чи тільки про користувачів). Важливо, що ці таблиці можна зв'язати між собою, щоб відобразити реальні взаємозв'язки, наприклад, який користувач який товар замовив.
Навіщо тобі все це взагалі?
Якщо ти пишеш хоч якийсь бекенд або працюєш з даними — бази даних будуть поруч.
І ось кому це точно стане в нагоді:
- 💻 Веб-розробникам — щоб зберігати користувачів, пости, кошики і взагалі все.
- 📊 Аналітикам — щоб витягувати потрібні цифри і будувати звіти.
- 🛠️ Адмінам — щоб бази не гальмували і не падали.
- 🧠 Програмістам — щоб додатки не просто жили, а були розумними і динамічними.
І так — на співбесідах люблять бази даних. Майже завжди попросять хоча б написати SQL-запит або пояснити, що таке JOIN.
Тож, якщо хочеш рухатись далі — з базами краще подружитись. Це один з тих скілів, який робить тебе по-справжньому впевненим розробником.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ