SQL: мова запитів до баз даних
SQL (Structured Query Language) -- стандартна мова для роботи з реляційними базами даних. PostgreSQL, MySQL, SQLite, Microsoft SQL Server -- усі використовують SQL з невеликими діалектними відмінностями. Реляційна модель зберігає дані у таблицях (рядки = записи, стовпці = поля), пов\'язаних через зовнішні ключі (foreign keys). ACID-властивості (Atomicity, Consistency, Isolation, Durability) гарантують надійність транзакцій.
| Команда | Призначення | Категорія |
|---|---|---|
| SELECT | Вибірка даних | DQL |
| INSERT | Додавання записів | DML |
| UPDATE | Оновлення записів | DML |
| DELETE | Видалення записів | DML |
| CREATE TABLE | Створення таблиці | DDL |
| ALTER TABLE | Зміна структури | DDL |
JOIN, WHERE та агрегатні функції
JOIN об\'єднує дані з кількох таблиць: INNER JOIN (лише збіги), LEFT JOIN (всі з лівої + збіги), RIGHT JOIN, FULL OUTER JOIN. WHERE фільтрує рядки до агрегації. HAVING фільтрує після GROUP BY. Агрегатні функції: COUNT, SUM, AVG, MIN, MAX. GROUP BY групує записи за полем для агрегації. ORDER BY сортує результат (ASC, DESC). LIMIT обмежує кількість рядків. Підзапити (subquery) -- SELECT всередині SELECT для складних вибірок.
Типи JOIN
- INNER JOIN -- лише записи зі збігами в обох таблицях
- LEFT JOIN -- всі з лівої + збіги з правої
- RIGHT JOIN -- всі з правої + збіги з лівої
- FULL OUTER JOIN -- всі записи з обох таблиць
Індекси та ключі
- PRIMARY KEY -- унікальний ідентифікатор
- FOREIGN KEY -- зв\'язок між таблицями
- UNIQUE -- забороняє дублікати
- INDEX -- прискорює пошук (B-tree)
Нормалізація, транзакції та ORM
Нормалізація усуває дублювання даних: 1NF (атомарні значення), 2NF (залежність від повного ключа), 3NF (відсутність транзитивних залежностей). Транзакції (BEGIN, COMMIT, ROLLBACK) групують операції: або всі виконуються, або жодна (атомарність). Типи даних: INTEGER, VARCHAR, TEXT, DATE, TIMESTAMP, BOOLEAN, JSONB. ORM (Object-Relational Mapping) -- Prisma, Sequelize, Eloquent -- дозволяють працювати з БД через об\'єкти замість чистого SQL.
За даними DB-Engines (2026), реляційні бази даних займають 72% ринку, а SQL залишається найбільш затребуваною мовою для роботи з даними. PostgreSQL обійшов MySQL як найпопулярніша RDBMS серед розробників (Stack Overflow Survey 2025). Знання SQL потрібне не лише backend-розробникам: аналітики, дата-сайєнтисти, маркетологи та продакт-менеджери використовують SQL щодня. Ключові концепції — JOIN (inner, left, cross), підзапити, індекси, нормалізація та транзакції (ACID).
Типи баз даних за задачами: реляційні (PostgreSQL, MySQL) для структурованих даних з ACID-транзакціями, документні (MongoDB) для гнучких JSON-схем, key-value (Redis) для кешування, графові (Neo4j) для зв'язків між об'єктами, часові ряди (InfluxDB) для IoT та моніторингу. Оптимізація SQL-запитів: EXPLAIN ANALYZE показує план виконання, B-tree індекси прискорюють SELECT, але уповільнюють INSERT/UPDATE. Пул з'єднань (connection pooling) через PgBouncer або ProxySQL запобігає перевантаженню бази при високому навантаженні.
Про тест
Тест «SQL та бази даних» містить 20 питань про SELECT, JOIN, WHERE, GROUP BY, агрегатні функції, нормалізацію, індекси, транзакції, ACID та відмінності PostgreSQL від MySQL.
Також рекомендуємо: аналітика даних, Python, Data Science та PHP.