Prog Academy
RU UA
Дані та аналітика

Що таке база даних?

База даних — це організоване сховище інформації, яке дозволяє швидко знаходити, змінювати й надійно зберігати дані за одночасної роботи багатьох користувачів. Керує нею окрема програма — СУБД, наприклад PostgreSQL або MySQL.

У реляційних базах дані лежать у таблицях зі строгою структурою, а звʼязки між ними задаються явно: замовлення посилаються на клієнтів, товари — на категорії. Звертаються до таких баз мовою SQL.

У нереляційних (NoSQL) базах структура гнучкіша: документи, пари «ключ — значення», графи. Їх обирають, коли форма даних заздалегідь невідома або важлива швидкість на величезних обсягах.

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

Де застосовується

База даних стоїть за кожним застосунком, де щось треба памʼятати між візитами: інтернет-магазин зберігає товари й замовлення, банк — рахунки та операції, CRM — угоди й листування. Проєктує структуру бекенд-розробник, а підтримують її адміністратор баз даних і DevOps-інженер.

Вибір типу бази зазвичай продиктований задачею. PostgreSQL і MySQL беруть для основної бізнес-логіки, де важлива цілісність даних. Redis ставлять поруч як швидкий кеш, MongoDB — під документи з непередбачуваною структурою, а векторні бази зʼявилися в AI-проєктах для пошуку за змістом.

Приклад

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

CREATE TABLE customers (
    id    SERIAL PRIMARY KEY,
    name  VARCHAR(120) NOT NULL,
    email VARCHAR(160) UNIQUE NOT NULL
);

CREATE TABLE orders (
    id          SERIAL PRIMARY KEY,
    customer_id INT NOT NULL REFERENCES customers(id),
    total       NUMERIC(10, 2) NOT NULL,
    created_at  TIMESTAMP DEFAULT now()
);
Дві повʼязані таблиці: зовнішній ключ не дозволить створити замовлення на неіснуючого клієнта.

Часті запитання

Чим база даних відрізняється від файлу Excel?

Гарантіями і масштабом. База не дасть двом користувачам зіпсувати один запис, збереже дані при збої живлення, перевірить коректність звʼязків і залишиться швидкою на мільйонах рядків. Таблиця в Excel нічого з цього не обіцяє і розрахована на одну людину.

Що обрати: SQL чи NoSQL?

Якщо дані мають зрозумілу структуру і звʼязки важливі — гроші, замовлення, документи — беруть реляційну базу. NoSQL доречний, коли форма даних заздалегідь невідома, обсяги величезні, а частину суворих гарантій можна обміняти на швидкість. У великих системах їх часто використовують разом.

Що таке індекс і навіщо він потрібен?

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

Що таке СКБД?

Система керування базами даних — програма, яка фізично зберігає дані й обслуговує запити до них: PostgreSQL, MySQL, MS SQL Server, Oracle. У розмові «база даних» і «СКБД» часто змішують, хоча строго база — це самі дані, а СКБД — рушій навколо них.

Повʼязані терміни